基于CMMI的軟件開(kāi)發(fā)模型應用研究論文
CMMI是幫助軟件企業(yè)提高開(kāi)發(fā)效率、降低開(kāi)發(fā)成本,通過(guò)過(guò)程控制以不斷改進(jìn)提高軟件開(kāi)發(fā)質(zhì)量的國際通行標準。通過(guò)對CMMI開(kāi)發(fā)模型的研究,闡述了基于A(yíng)UTOSAR軟件架構的軟件開(kāi)發(fā)模型,詳細論述了基于CMMI的軟件質(zhì)量保證過(guò)程。
引言
在中國軟件行業(yè)發(fā)展的近30年中,集成能力成熟度模型CMMI(Capability Maturity Model Integration)已經(jīng)在國內的軟件企業(yè)廣泛實(shí)施并探索出有效的實(shí)施方法,越來(lái)越多軟件企業(yè)通過(guò)實(shí)施CMMI來(lái)規范企業(yè)管理體系,提升軟件產(chǎn)品質(zhì)量。
隨著(zhù)中國汽車(chē)電子的飛速發(fā)展,汽車(chē)與軟件的聯(lián)系越來(lái)越緊密,已成為汽車(chē)創(chuàng )新發(fā)展不可缺少的因素之一。為了在有限資源范圍內最大限度地提高主機廠(chǎng)自主開(kāi)發(fā)的軟件質(zhì)量,必須引入CMMI管理體系指導軟件開(kāi)發(fā)。
1.CMMI概述及應用現狀
CMMI起源于美國政府和軍工軟件企業(yè)的一些成功經(jīng)驗及實(shí)踐。2002年1月,由美國、卡內基-梅隆大學(xué)與美國國防工業(yè)協(xié)會(huì )共同開(kāi)發(fā)研制并發(fā)布的CMMI 1.1版本,標志著(zhù)CMMI模型的正式啟用。其研究目的主要是提高軟件行業(yè)開(kāi)發(fā)能力,幫助企業(yè)建立適合企業(yè)自身發(fā)展的軟件開(kāi)發(fā)質(zhì)量保證體系,從而保證軟件產(chǎn)品能及時(shí)、高效地輸出到客戶(hù)。另外,通過(guò)不斷積累和發(fā)展使軟件開(kāi)發(fā)向著(zhù)流水線(xiàn)方向發(fā)展、幫助企業(yè)節省開(kāi)發(fā)成本也是CMMI的重要目的。CMMI按企業(yè)軟件的成熟度共分為5級22個(gè)過(guò)程域,分別為初始級、可重復級、已定義級、量化管理級、優(yōu)化管理級。
自1999年起,中國軟件企業(yè)開(kāi)始接受并逐步推廣CMMI體系,通過(guò)學(xué)習和不斷探索,已經(jīng)在軟件開(kāi)發(fā)標準化方面取得了一定進(jìn)展。據SEI統計,通過(guò)評估的軟件公司對項目的估計與控制能力提升了40%~50%,生產(chǎn)率提高了10%~20%,軟件產(chǎn)品出錯率下降超過(guò)1/3[1]。截至2011年底,包括IBM中國、寶信軟件、東軟集團等在內的28家企業(yè)通過(guò)了CMMI5級認證。如今,已有越來(lái)越多軟件企業(yè)通過(guò)了CMMI認證,主要涉及計算機、手機軟件等相關(guān)行業(yè)。隨著(zhù)汽車(chē)電子的快速發(fā)展,其規模和復雜度也日益提高,汽車(chē)嵌入式軟件與其它行業(yè)軟件相比有著(zhù)更高的質(zhì)量要求,其對響應速度及安全性的要求更高。
2.CMMI軟件開(kāi)發(fā)模型
CMMI開(kāi)發(fā)模型(CMMI For Development)是在產(chǎn)品與服務(wù)開(kāi)發(fā)活動(dòng)中處理問(wèn)題的最佳實(shí)驗[2],此模型涵蓋了工程學(xué)科共有的開(kāi)發(fā)與維護活動(dòng),涉及產(chǎn)品開(kāi)發(fā)的過(guò)程均可利用此模型來(lái)進(jìn)行過(guò)程改進(jìn),包括銀行、計算機軟硬件、航空航天、國防等在內的各個(gè)領(lǐng)域。CMMI開(kāi)發(fā)模型包含16個(gè)核心過(guò)程域及5個(gè)開(kāi)發(fā)活動(dòng)特有的過(guò)程域,這5個(gè)關(guān)于開(kāi)發(fā)活動(dòng)特有的實(shí)踐包括:需求開(kāi)發(fā)、技術(shù)解決方案、產(chǎn)品集成、驗證和確認。
CMMI指出,CMMI的本質(zhì)是軟件管理工程的一部分[3]。就目前CMMI發(fā)展總體情況而言,SPI(Software Process Improvement)是軟件管理工程的核心問(wèn)題。對軟件過(guò)程進(jìn)行改進(jìn),可高效、高質(zhì)量和低成本地開(kāi)發(fā)軟件,能夠通過(guò)過(guò)程監控管理達到提高開(kāi)發(fā)質(zhì)量、減少產(chǎn)品缺陷、減少退貨、提高用戶(hù)滿(mǎn)意度等目的,對于提高軟件產(chǎn)品質(zhì)量與生產(chǎn)率、縮短上市時(shí)間也能夠起到重要的指導作用。
3.CMMI軟件過(guò)程改進(jìn)實(shí)施
汽車(chē)軟件因其特殊的應用領(lǐng)域,不同于一般軟件產(chǎn)品,其對產(chǎn)品的安全性和可靠性有著(zhù)嚴格要求。因此汽車(chē)軟件不僅需要一般的軟件工程方法、軟件質(zhì)量管理手段來(lái)提高軟件可靠性,為了滿(mǎn)足針對性,首先要結合自身特點(diǎn),如組織結構、工作范圍、公司狀況來(lái)明確當前需要改進(jìn)的地方。選擇合適的方法,從人力、物力上保證,對CMMI模型進(jìn)行合理裁剪,避免周期過(guò)長(cháng)、程度不夠深入以及無(wú)法實(shí)施等問(wèn)題。
3.1支撐V模型開(kāi)發(fā)的完善工具鏈
通常的產(chǎn)品開(kāi)發(fā)模式是,開(kāi)發(fā)工作從客戶(hù)的需求定義開(kāi)始,經(jīng)過(guò)系統設計、軟硬件架構設計到單元開(kāi)發(fā)完成為止,將工程參數層層分解,需求逐步細化,最終形成軟件代碼。在該過(guò)程中首要的因素是各級理解必須正確,然后是追溯開(kāi)發(fā)過(guò)程沒(méi)有產(chǎn)生遺漏。當前業(yè)內流行的開(kāi)發(fā)方式是V模型,不但滿(mǎn)足了一般的開(kāi)發(fā)需求,還將測試和驗證過(guò)程加入開(kāi)發(fā)迭代。
V模型的價(jià)值在于其非常明確地描述了測試階段與開(kāi)發(fā)過(guò)程期間的對應關(guān)系,工程開(kāi)發(fā)人員往往期望有一款工具既能夠支持V模型的工程開(kāi)發(fā)需求,也能夠實(shí)現測試和驗證自動(dòng)化。然而在業(yè)界,這樣的.工具往往屬于大型企業(yè)的秘密,不會(huì )出售,一般軟件也往往只解決流程問(wèn)題,而無(wú)法解決技術(shù)整合問(wèn)題。因此,泛亞汽車(chē)技術(shù)中心摸索開(kāi)發(fā)了一系列自主工具,既能在流程上符合V模型開(kāi)發(fā)方式,又能整合各層次的技術(shù)資源和分類(lèi)工具,徹底實(shí)現了一個(gè)完整的工具開(kāi)發(fā)鏈路,具有很高的產(chǎn)業(yè)價(jià)值。
3.2基于A(yíng)UTOSAR架構的分工和交付物管理協(xié)作模式
隨著(zhù)團隊的擴大以及更細的人員分工,制定一套標準的開(kāi)發(fā)流程能夠顯著(zhù)降低開(kāi)發(fā)成本,縮短開(kāi)發(fā)周期。從制定各個(gè)里程碑開(kāi)發(fā)節點(diǎn)出發(fā),到軟件需求理解、軟件架構設計、軟件編碼及建模,再到軟件集成測試,每個(gè)開(kāi)發(fā)活動(dòng)都有明確的輸入需求、交付物以及對應人員。創(chuàng )建符合CMMI的軟件開(kāi)發(fā)流程關(guān)鍵,還在于在項目開(kāi)發(fā)大節點(diǎn)有相應的質(zhì)量閥評審,若評審不通過(guò),則需要對交付物采取補救措施。
AUTOSAR(Automotive Open System Architecture,汽車(chē)開(kāi)放系統架構)由全球汽車(chē)制造商、部件供應商及其它電子、半導體和軟件系統公司聯(lián)合建立,是目前汽車(chē)廠(chǎng)商統一、開(kāi)放的軟件架構,但國內應用此架構開(kāi)發(fā)的汽車(chē)廠(chǎng)商還不多,都還處于初級階段。企業(yè)應基于A(yíng)UTOSAR架構原理,根據專(zhuān)業(yè)工作細化結果,結合團隊自身特點(diǎn),制定相應措施以達到提高開(kāi)發(fā)效率、縮短開(kāi)發(fā)周期的效果;另一方面,還應強化軟件架構設計及軟件集成的執行,從軟件架構流程確保整個(gè)項目開(kāi)發(fā)的統一設計,再逐步細化到各個(gè)子模塊的實(shí)現中,同時(shí)確保所有交付物都通過(guò)專(zhuān)家評審,力保在軟件設計之初就發(fā)現問(wèn)題,從而有效降低開(kāi)發(fā)成本;此外,通過(guò)軟件持續集成、統一發(fā)布,控制開(kāi)發(fā)節奏,驅動(dòng)開(kāi)發(fā)進(jìn)展,逐步完善軟件成熟度。圖1為基于A(yíng)UTOSAR軟件架構的軟件開(kāi)發(fā)流程。
3.3軟件質(zhì)量目標定義
軟件開(kāi)發(fā)的質(zhì)量管理主要細分為質(zhì)量保證及質(zhì)量控制兩類(lèi)活動(dòng)。其中,質(zhì)量保證是針對開(kāi)發(fā)過(guò)程開(kāi)展的活動(dòng),質(zhì)量目標包括評審度量指標、評審投入比例、過(guò)程失控度目標等。質(zhì)量控制主要是針對測試及驗證活動(dòng),定義的主要度量指標包括項目測試收束目標、測試逃逸率以及逃逸的千行代碼缺陷率。最常用的3個(gè)質(zhì)量目標定義如表1所示。
3.4軟件度量制度建立
項目的健康化發(fā)展離不開(kāi)對缺陷數據的統計,通過(guò)統計可知道項目的薄弱點(diǎn),也能對項目進(jìn)行橫向比對。Mantis系統是軟件行業(yè)最常使用的bug跟蹤系統,在原有的統計功能上可通過(guò)定制化統計功能將上述3個(gè)指標(未修復不符合項平均Open時(shí)間、未解決不符合項數及過(guò)程失控度)通過(guò)二次開(kāi)發(fā)納入Mantis統計中,從而能夠實(shí)時(shí)監控軟件bug的狀態(tài);另外,通過(guò)Mantis系統能夠對問(wèn)題的各個(gè)緯度進(jìn)行統計,包括問(wèn)題的狀態(tài)、項目、嚴重性、報告階段、處理員等,通過(guò)這些數據能夠清晰了解項目目前的缺陷狀態(tài),若出現超標和即將超標的情況,QA(Quality Assurance)人員將及時(shí)對項目報警,分析原因并采取相應措施,使項目處于一個(gè)健康狀態(tài)。圖2為應用Mantis軟件對bug進(jìn)行處理的流程。
4.結語(yǔ)
目前,我國汽車(chē)軟件的開(kāi)發(fā)和管理能力與世界水平還存在一定差距,要開(kāi)發(fā)高可靠性與穩定性的軟件產(chǎn)品必須建立良好的軟件工程文化和管理制度。本文基于CMMI開(kāi)發(fā)模型,建立了軟件開(kāi)發(fā)流程及管理制度,有效提高了開(kāi)發(fā)效率,縮短了開(kāi)發(fā)周期。此外,軟件質(zhì)量保證體系的建立,可通過(guò)自查、評審、測試等活動(dòng)在軟件開(kāi)發(fā)前期發(fā)現軟件缺陷,從而大大降低因后期更改而帶來(lái)的巨大維護成本,有效地提升了軟件開(kāi)發(fā)質(zhì)量,加快軟件管理的規范化進(jìn)程。
【基于CMMI的軟件開(kāi)發(fā)模型應用研究論文】相關(guān)文章:
基于模型的軟件測試技術(shù)探析論文05-03
基于水文模型及水動(dòng)力模型的山洪臨界雨量研究論文10-29
基于心理模型的語(yǔ)用推理假說(shuō)論文08-19
淺析基于BIP 的AADL 行為模型驗證方法的論文05-28
探討軟件開(kāi)發(fā)過(guò)程模型的發(fā)展論文05-31