當(dāng)前位置:珠海歐美克儀器有限公司>>技術(shù)文章>>歐美克干法激光粒度分析儀軟件質(zhì)量體系,實(shí)現(xiàn)全周期智能管理
歐美克干法激光粒度分析儀軟件質(zhì)量體系,實(shí)現(xiàn)全周期智能管理
干法激光粒度分析儀的軟件質(zhì)量體系,旨在確保儀器軟件在設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、部署及維護(hù)等全生命周期內(nèi)的質(zhì)量。這一體系通常遵循ISO 9001等國(guó)際標(biāo)準(zhǔn),并結(jié)合行業(yè)特定要求,如ISO 13320(激光粒度分析儀的國(guó)際標(biāo)準(zhǔn))進(jìn)行實(shí)施。
軟件質(zhì)量體系的關(guān)鍵要素
需求管理:明確軟件的功能性需求和非功能性需求,確保需求完整、準(zhǔn)確且可追溯。需求管理包括需求收集、分析、文檔化及驗(yàn)證等過(guò)程。
設(shè)計(jì)管理:基于需求進(jìn)行軟件架構(gòu)設(shè)計(jì),確保設(shè)計(jì)滿(mǎn)足需求并具有良好的可擴(kuò)展性、可維護(hù)性和可測(cè)試性。設(shè)計(jì)管理包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)及評(píng)審等環(huán)節(jié)。
編碼與測(cè)試:遵循編碼規(guī)范進(jìn)行軟件編碼,并通過(guò)單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試及驗(yàn)收測(cè)試等階段,確保軟件質(zhì)量。測(cè)試過(guò)程中應(yīng)關(guān)注測(cè)試覆蓋率、缺陷跟蹤及回歸測(cè)試等方面。
配置管理:對(duì)軟件版本、文檔及環(huán)境等進(jìn)行有效管理,確保軟件的可追溯性和一致性。配置管理包括版本控制、變更管理及發(fā)布管理等環(huán)節(jié)。
維護(hù)與支持:提供軟件升級(jí)、補(bǔ)丁及技術(shù)支持等服務(wù),確保軟件在使用過(guò)程中的穩(wěn)定性和可靠性。同時(shí),收集用戶(hù)反饋以持續(xù)改進(jìn)軟件質(zhì)量。
干法激光粒度分析儀的軟件質(zhì)量體系,旨在確保儀器軟件在設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、部署及維護(hù)等全生命周期內(nèi)的質(zhì)量。這一體系通常遵循ISO 9001等國(guó)際標(biāo)準(zhǔn),并結(jié)合行業(yè)特定要求,如ISO 13320(激光粒度分析儀的國(guó)際標(biāo)準(zhǔn))進(jìn)行實(shí)施。
軟件質(zhì)量體系的關(guān)鍵要素
需求管理:明確軟件的功能性需求和非功能性需求,確保需求完整、準(zhǔn)確且可追溯。需求管理包括需求收集、分析、文檔化及驗(yàn)證等過(guò)程。
設(shè)計(jì)管理:基于需求進(jìn)行軟件架構(gòu)設(shè)計(jì),確保設(shè)計(jì)滿(mǎn)足需求并具有良好的可擴(kuò)展性、可維護(hù)性和可測(cè)試性。設(shè)計(jì)管理包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)及評(píng)審等環(huán)節(jié)。
編碼與測(cè)試:遵循編碼規(guī)范進(jìn)行軟件編碼,并通過(guò)單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試及驗(yàn)收測(cè)試等階段,確保軟件質(zhì)量。測(cè)試過(guò)程中應(yīng)關(guān)注測(cè)試覆蓋率、缺陷跟蹤及回歸測(cè)試等方面。
配置管理:對(duì)軟件版本、文檔及環(huán)境等進(jìn)行有效管理,確保軟件的可追溯性和一致性。配置管理包括版本控制、變更管理及發(fā)布管理等環(huán)節(jié)。
維護(hù)與支持:提供軟件升級(jí)、補(bǔ)丁及技術(shù)支持等服務(wù),確保軟件在使用過(guò)程中的穩(wěn)定性和可靠性。同時(shí),收集用戶(hù)反饋以持續(xù)改進(jìn)軟件質(zhì)量。
隨著珠海歐美克儀器有限公司的業(yè)務(wù)規(guī)模不斷擴(kuò)大,新產(chǎn)品新技術(shù)新應(yīng)用帶來(lái)的軟件新功能的需求不斷提高,軟件升級(jí)的開(kāi)發(fā)和測(cè)試工作量也在不斷增加。例如,過(guò)去幾年,我們每年完成的功能數(shù)量已從100多個(gè)增加到500多個(gè)。這幾年來(lái),軟件迭代了幾千次代碼更改并發(fā)布了數(shù)十個(gè)軟件版本,申請(qǐng)了十幾個(gè)軟件產(chǎn)品登記證書(shū),成為公司評(píng)定高新技術(shù)企業(yè)的重要業(yè)務(wù)之一。
顯然,傳統(tǒng)的瀑布式以及粗放式的軟件開(kāi)發(fā)管理流程已經(jīng)不適用于公司業(yè)務(wù)的發(fā)展。粗放式開(kāi)發(fā)管理流程的弊端主要在于沒(méi)有代碼版本管理,無(wú)法跟蹤歷史記錄,以及相較于敏捷開(kāi)發(fā)模式,瀑布式模式無(wú)法迅速應(yīng)對(duì)需求變更。
轉(zhuǎn)向Scrum和DevOps
OMEC
為了提高開(kāi)發(fā)效率和代碼質(zhì)量,從十年前開(kāi)始,歐美克儀器就轉(zhuǎn)向更現(xiàn)代的Scrum和DevOps開(kāi)發(fā)模式。
Scrum 是符合敏捷開(kāi)發(fā)原則的一種典型且在全球使用最為廣泛的框架,被應(yīng)用于管理復(fù)雜產(chǎn)品的開(kāi)發(fā)上。
敏捷思維以用戶(hù)的需求進(jìn)化為核心,通過(guò)設(shè)定短期的、可實(shí)現(xiàn)的目標(biāo),采用快速迭代、循序漸進(jìn)的方式,
具有極大的靈活性,更快交付價(jià)值,主張擁抱變化。
Scrum 框架使團(tuán)隊(duì)能適應(yīng)不斷變化的外部環(huán)境和用戶(hù)要求,并在流程和較短的發(fā)布周期中快速調(diào)整優(yōu)先級(jí),
以便團(tuán)隊(duì)不斷學(xué)習(xí)和持續(xù)改進(jìn)。
DevOps則是一種開(kāi)發(fā)理念,它強(qiáng)調(diào)開(kāi)發(fā)(Development)和運(yùn)維(Operations)的緊密協(xié)作。
DevOps采用一種跨功能的方式工作,將之前分離的角色(比如開(kāi)發(fā)、質(zhì)量保證和IT運(yùn)維)集成到單一的團(tuán)隊(duì)中,使得軟件的構(gòu)建、測(cè)試、發(fā)布和更新能夠更加快速且穩(wěn)定。這種理念促進(jìn)了持續(xù)交付和持續(xù)集成(CI/CD),使我們能夠更快地對(duì)市場(chǎng)變化和客戶(hù)需求做出反應(yīng)。
使用 Azure DevOps保證代碼質(zhì)量
OMEC
為了更好地實(shí)施Scrum和DevOps,歐美克儀器選擇了Azure DevOps作為開(kāi)發(fā)平臺(tái)。Azure DevOps是微軟出品的一款云服務(wù)產(chǎn)品,它為開(kāi)發(fā)團(tuán)隊(duì)提供了一整套的開(kāi)發(fā)工具,包括項(xiàng)目管理、代碼托管、持續(xù)集成/持續(xù)部署(CI/CD)、測(cè)試和發(fā)布等功能,能夠滿(mǎn)足我們?cè)谲浖_(kāi)發(fā)過(guò)程中的各種需求,并且它的云服務(wù)特性使得團(tuán)隊(duì)成員可以在任何地方進(jìn)行協(xié)作。
需求管理
珠海歐美克儀器有限公司已經(jīng)深耕粒度測(cè)量領(lǐng)域三十余年,得益于我們強(qiáng)大的銷(xiāo)售、應(yīng)用、售后團(tuán)隊(duì)以及遍布全國(guó)各地各行各業(yè)的客戶(hù),我們能夠及時(shí)收集到各種反饋和意見(jiàn)。
同時(shí),作為母公司馬爾文帕納科的子公司,我們也能接收到來(lái)自全球的行業(yè)先進(jìn)理念。因此,我們需要處理的需求量大而復(fù)雜。在這種情況下,Azure Boards的需求整理功能就顯得尤為重要。
Azure Boards提供了可視化的工作項(xiàng)跟蹤系統(tǒng),幫助我們以敏捷的方式管理項(xiàng)目。我們可以使用它來(lái)跟蹤用戶(hù)需求、任務(wù)、缺陷和問(wèn)題,以及為每個(gè)工作項(xiàng)設(shè)置優(yōu)先級(jí)和迭代路徑。通過(guò)這種方式,我們可以確保每一個(gè)反饋和需求都能被妥善處理,每一個(gè)工作項(xiàng)都能在預(yù)期的時(shí)間內(nèi)完成。這不僅提高了我們的工作效率,也確保了我們能夠充分考慮和滿(mǎn)足客戶(hù)的需求。
代碼管理
我們選擇了Azure Repos作為我們的代碼倉(cāng)庫(kù),提供無(wú)限的私有Git倉(cāng)庫(kù),以支持協(xié)作并保證代碼的安全。我們采用GitFlow流程進(jìn)行開(kāi)發(fā),通過(guò)設(shè)定不同的分支,使得我們可以同時(shí)處理多個(gè)任務(wù),同時(shí)每個(gè)分支都可以獨(dú)立地進(jìn)行測(cè)試和審查。每一行代碼修改都需要經(jīng)過(guò)團(tuán)隊(duì)成員的審核,并且必須通過(guò)嚴(yán)格的自動(dòng)化單元測(cè)試才能被合并到主分支,以保證代碼的質(zhì)量。
我們重視代碼的歷史記錄和管理,每一次代碼修改都有詳細(xì)的歷史記錄,包括提交者、提交時(shí)間、修改內(nèi)容等。并且,每一行代碼都可以與Azure Boards中的工作項(xiàng)關(guān)聯(lián),讓我們可以輕松地跟蹤每一行代碼對(duì)應(yīng)的客戶(hù)需求,確保我們的開(kāi)發(fā)工作始終緊密?chē)@客戶(hù)需求進(jìn)行。
自動(dòng)化構(gòu)建和交付
我們使用Azure Pipelines實(shí)現(xiàn)持續(xù)集成和持續(xù)部署。每次代碼提交后,系統(tǒng)會(huì)自動(dòng)進(jìn)行構(gòu)建,包括智能化的代碼質(zhì)量檢查和編譯生成安裝包。只有達(dá)到質(zhì)量要求的代碼才能進(jìn)行構(gòu)建,并通過(guò)單元測(cè)試覆蓋率等圖表,我們可以直觀地看到代碼質(zhì)量變更。
每個(gè)生成的構(gòu)建安裝包都會(huì)盡快發(fā)送到每個(gè)團(tuán)隊(duì)成員手中,以便進(jìn)行更進(jìn)一步的測(cè)試。這樣可以確保我們的產(chǎn)品始終保持高質(zhì)量,同時(shí)也能快速發(fā)現(xiàn)并修復(fù)問(wèn)題。
測(cè)試
在我們的軟件開(kāi)發(fā)過(guò)程中,我們堅(jiān)持執(zhí)行敏捷軟件測(cè)試。一旦需求確定,我們就立即開(kāi)始編寫(xiě)相應(yīng)的測(cè)試用例。這些測(cè)試用例在開(kāi)始開(kāi)發(fā)前就會(huì)進(jìn)行評(píng)審,這種方式旨在減少開(kāi)發(fā)過(guò)程中的返工,提高開(kāi)發(fā)效率。
在軟件發(fā)布前,我們會(huì)執(zhí)行全面的測(cè)試計(jì)劃,所有的測(cè)試結(jié)果都會(huì)被詳細(xì)記錄并編寫(xiě)成測(cè)試報(bào)告。這份報(bào)告會(huì)包含所有的測(cè)試細(xì)節(jié),包括測(cè)試覆蓋率、測(cè)試結(jié)果、未解決的問(wèn)題等。只有當(dāng)這份測(cè)試報(bào)告通過(guò)評(píng)審,證明我們的軟件達(dá)到了預(yù)定的質(zhì)量標(biāo)準(zhǔn),我們的軟件才會(huì)得以發(fā)布。這樣的測(cè)試流程確保了我們交付給客戶(hù)的每一個(gè)軟件產(chǎn)品都是高質(zhì)量的。
總結(jié)
OMEC
歐美克儀器使用Azure DevOps平臺(tái)實(shí)現(xiàn)了代碼和流程管理,每一行代碼的修改都能找到其對(duì)應(yīng)的歷史記錄、管理需求、自動(dòng)化測(cè)試、測(cè)試用例、測(cè)試記錄,以及關(guān)聯(lián)的軟件版本。
憑借Azure DevOps的自動(dòng)化通知機(jī)制,以上所有內(nèi)容變更在研發(fā)團(tuán)隊(duì)中高速流轉(zhuǎn),確保我們的團(tuán)隊(duì)能夠保持高效運(yùn)行。所有團(tuán)隊(duì)成員都對(duì)軟件的質(zhì)量承擔(dān)共同責(zé)任,確保我們提供的軟件始終保持最高的質(zhì)量。
我們的研發(fā)團(tuán)隊(duì)并不滿(mǎn)足于現(xiàn)狀,我們始終在不斷地對(duì)我們的流程進(jìn)行改進(jìn),以實(shí)現(xiàn)精益求精的目標(biāo),從而能夠?yàn)槲覀兊目蛻?hù)提供軟件產(chǎn)品。