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