摘要:軟件過程是軟件質(zhì)量的決定因素之一。從CMMI概念體系出發(fā),結(jié)合CMMI過程改進(jìn)特征分析,對過程改進(jìn)的內(nèi)容和步驟進(jìn)行了梳理與歸納。結(jié)合信息系統(tǒng)項(xiàng)目實(shí)例,具體描述了過程域?qū)嵤┑膬?nèi)容和步驟,研究了CMMI在需求工程中的應(yīng)用。
關(guān)鍵詞:CMMI;過程改進(jìn);需求工程
DOIDOI:10.11907/rjdk.161539
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2016)009012203
基金項(xiàng)目基金項(xiàng)目:
作者簡介作者簡介:李娜(1978-),女,安徽壽縣人,碩士,江蘇省行政學(xué)院信息管理處工程師,研究方向?yàn)樾畔⒓夹g(shù)。
0引言
隨著信息化建設(shè)的推進(jìn),軟件項(xiàng)目越來越多,規(guī)模越來越大,僅依靠人力投入和技術(shù)創(chuàng)新已無法從根本上解決軟件質(zhì)量面臨的問題,開發(fā)過程管理水平的提高對保證軟件質(zhì)量起到重要作用。軟件過程改進(jìn)是軟件質(zhì)量管理的重要組成部分,國內(nèi)外專家學(xué)者對軟件質(zhì)量管理和過程改進(jìn)進(jìn)行了深入的研究,取得了大量的學(xué)術(shù)成果,其中受到IT行業(yè)廣泛重視的CMMI模型能夠有效控制開發(fā)進(jìn)度和成本、規(guī)范開發(fā)過程、促進(jìn)開發(fā)過程管理水平的提高。本文結(jié)合某單位智慧校園管理信息系統(tǒng)開發(fā)項(xiàng)目中人事管理子系統(tǒng)(以下簡稱“人事系統(tǒng)”)實(shí)例,研究了CMMI在需求工程中的應(yīng)用。
1CMMI模型分析
1.1軟件開發(fā)過程改進(jìn)
軟件是計(jì)算機(jī)運(yùn)行時(shí)所需的各種程序、數(shù)據(jù)、文檔的集合,軟件產(chǎn)品是智力密集型產(chǎn)品,軟件質(zhì)量包括軟件產(chǎn)品的質(zhì)量和開發(fā)過程的質(zhì)量,由相互作用的人、技術(shù)、過程三方面因素共同決定。產(chǎn)品質(zhì)量受過程質(zhì)量的影響,軟件質(zhì)量很大程度取決于項(xiàng)目的開發(fā)過程。軟件過程是軟件生命周期的相關(guān)過程,是將客戶需求轉(zhuǎn)化為可執(zhí)行軟件的軟件工程活動,成熟的軟件過程是可定義、可測量、可預(yù)測、開發(fā)過程可視、開發(fā)結(jié)果可控的。軟件過程改進(jìn)是指提高軟件過程能力的實(shí)踐,現(xiàn)有的軟件過程改進(jìn)方法有PDCA循環(huán)、ISO9000系列標(biāo)準(zhǔn)、Cleanroom、CMMI(能力成熟度模型集成)理論等,這幾種方法各有特色和優(yōu)勢,其中具有“循序漸進(jìn)、持續(xù)改進(jìn)”這一核心思想的CMMI過程改進(jìn)和評估體系已經(jīng)引起IT行業(yè)的充分重視,其成熟度等級是衡量軟件企業(yè)開發(fā)能力和質(zhì)量保證能力的重要標(biāo)準(zhǔn)。
1.2CMMI概念體系
CMU-SEI于20世紀(jì)80年代最先提出CMM(能力成熟度模型)理論,這一研究成果得到軟件行業(yè)的廣泛應(yīng)用,成為軟件過程改進(jìn)的工業(yè)標(biāo)準(zhǔn)。CMMI在CMM的基礎(chǔ)上發(fā)展而來,集成了多個(gè)學(xué)科和各種過程改進(jìn)工作,提煉了多學(xué)科之間的公共過程域。在軟件開發(fā)生命周期各階段,不同的成熟度等級有與之相對應(yīng)的諸多過程域,開發(fā)項(xiàng)目按照過程域的目標(biāo)和實(shí)踐要求實(shí)施過程改進(jìn),軟件企業(yè)也因此規(guī)范開發(fā)過程、提高管理水平、增強(qiáng)競爭優(yōu)勢。
過程域(PA)是CMMI模型的最基本概念,是最佳實(shí)踐的集合。要達(dá)到某個(gè)PA要求,就要實(shí)現(xiàn)該P(yáng)A包含的所有目標(biāo)(Goal)要求,要滿足某個(gè)Goal的要求,就要實(shí)現(xiàn)該Goal包含的所有實(shí)踐(Practice)要求,PA、Goal、Practice三者的層次關(guān)系如圖1所示。
CMMI有階段式和連續(xù)式兩種表達(dá)法,兩者所包含的過程域、目標(biāo)、實(shí)踐基本一致,但在描述對象、改進(jìn)方式、等級劃分、PA分類方式等方面存在區(qū)別。就改進(jìn)方式而言,選擇階段式表達(dá)法,如要進(jìn)行某一等級的改進(jìn),就要滿足這個(gè)等級及其以下所有等級的所有PA要求;選擇連續(xù)式表達(dá)法,可選擇需要改進(jìn)的PA進(jìn)行針對性改進(jìn),分別得到各PA的能力等級。就等級劃分和PA分類方式而言,階段式表達(dá)法分為5個(gè)成熟度等級,而PA分布在CMMI2~CMMI5這4個(gè)等級中;連續(xù)式表達(dá)法中PA按過程管理、項(xiàng)目管理、工程、支持4大模塊分類,每個(gè)PA實(shí)施不同能力等級的改進(jìn)。6個(gè)能力等級分為未執(zhí)行級、已執(zhí)行級、已管理級、已定量級、定量管理級、優(yōu)化級。這兩種表達(dá)法各有鮮明的優(yōu)缺點(diǎn),應(yīng)結(jié)合項(xiàng)目實(shí)際情況和改進(jìn)目標(biāo),在兩種表達(dá)法中選擇。例如:如希望通過項(xiàng)目改進(jìn)提高軟件產(chǎn)品和開發(fā)過程的整體質(zhì)量,建立更為完備的過程體系文件,通過對相關(guān)過程域?qū)嵤┤娓倪M(jìn)得到相應(yīng)的成熟度等級,應(yīng)選擇階段式表達(dá)法;如項(xiàng)目開發(fā)的大多數(shù)過程處于良好程度,只希望提高某個(gè)或多個(gè)過程域能力,在過程域選擇方面提高靈活性,而又需要避免改進(jìn)工作量大、成本高的問題,應(yīng)選擇連續(xù)式表達(dá)法。
1.3CMMI過程改進(jìn)特征
軟件過程改進(jìn)是制度化管理思想在軟件開發(fā)項(xiàng)目中的運(yùn)用,用一系列規(guī)則支持工作方式的制定和組織文化的建立,通過對改進(jìn)方法的嚴(yán)格執(zhí)行推動軟件工程的工業(yè)化發(fā)展,例如CMMI過程域的目標(biāo)和實(shí)踐歸納了每個(gè)PA要達(dá)到的要求,這是過程改進(jìn)制度化體現(xiàn)。CMMI實(shí)施要選擇和遵循一定的實(shí)施流程,SEI開發(fā)的IDEAL模型定義了初始化、診斷、簡歷、行動和推進(jìn)5個(gè)階段,CMMI吸收了IDEAL循環(huán)改進(jìn)概念,是過程改進(jìn)流程化特征的體現(xiàn)。過程改進(jìn)是一個(gè)反復(fù)循環(huán)的過程,實(shí)施改進(jìn)后的CMMI過程域?qū)⒔?jīng)過再次評估,以期達(dá)到最優(yōu)的實(shí)踐方法,這體現(xiàn)了過程改進(jìn)的持續(xù)性特征。實(shí)施過程注重文檔規(guī)范和完備,過程改進(jìn)的文檔化有利于改進(jìn)過程中的數(shù)據(jù)分析,更容易獲得清晰的改進(jìn)流程和改進(jìn)效果。
2CMMI在人事系統(tǒng)需求工程中的應(yīng)用
2.1人事系統(tǒng)過程改進(jìn)目標(biāo)
人事系統(tǒng)能否有效地輔助管理和決策,取決因素之一是系統(tǒng)本身是否符合本單位業(yè)務(wù)流程和工作規(guī)范。一般來說,人事管理涉及的業(yè)務(wù)范圍相對有限,管理系統(tǒng)所需業(yè)務(wù)模塊也相對統(tǒng)一,需要實(shí)現(xiàn)基本的功能包括基礎(chǔ)數(shù)據(jù)存儲、規(guī)范工作流程、信息互動、支持決策管理等,人事系統(tǒng)的產(chǎn)品質(zhì)量主要表現(xiàn)在代碼文檔規(guī)范、系統(tǒng)功能完善、系統(tǒng)運(yùn)行穩(wěn)定等方面。人事系統(tǒng)過程改進(jìn)需要實(shí)現(xiàn)的目標(biāo)包括:對過程體系文件提高開發(fā)過程的可視程度,對過程域的執(zhí)行提高開發(fā)過程的規(guī)范程度,對過程域?qū)嵤┝鞒淘O(shè)定提高開發(fā)過程的生產(chǎn)效率。
基于CMMI模型,應(yīng)在過程改進(jìn)之初,結(jié)合信息系統(tǒng)規(guī)模大小、技術(shù)難度、開發(fā)周期制定《過程改進(jìn)計(jì)劃》,改進(jìn)計(jì)劃規(guī)定了項(xiàng)目實(shí)施過程改進(jìn)的順序,即改進(jìn)階段涉及的所有PA的實(shí)施順序。根據(jù)人事系統(tǒng)過程改進(jìn)計(jì)劃,需求開發(fā)(RD)和需求管理(RM)是優(yōu)先級較高的兩個(gè)PA,也是該系統(tǒng)改進(jìn)階段首先實(shí)施的改進(jìn)過程。
2.2人事系統(tǒng)需求工程過程改進(jìn)
2.2.1過程域分析
RD和RM這兩個(gè)PA均屬于工程類過程域,CMMI定義的特定目標(biāo)和特定實(shí)踐如表1所示。
2.2.2過程域?qū)嵤?/p>
根據(jù)CMMI需求工程兩個(gè)PA定義的目標(biāo)和實(shí)踐,人事系統(tǒng)《過程改進(jìn)計(jì)劃》規(guī)定了改進(jìn)過程的工作產(chǎn)出(見表2)和過程域?qū)嵤┝鞒蹋ㄒ妶D2),改進(jìn)工作應(yīng)做到以過程體系文件作為實(shí)施改進(jìn)依據(jù),嚴(yán)格執(zhí)行實(shí)施流程,遵循“循序漸進(jìn)”思想,按照優(yōu)先級順序選擇過程域,遵循“持續(xù)改進(jìn)”思想分步驟不斷執(zhí)行。
該子系統(tǒng)的需求信息獲取對象不僅是人事處,還應(yīng)兼顧其它部門以及需要以人事信息進(jìn)行管理決策的高層管理人員,全體人員都應(yīng)是需求調(diào)研的對象,他們對系統(tǒng)功能的期望都應(yīng)寫入《用戶需求說明書》?!队脩粜枨笳f明書》采用自然語言和業(yè)務(wù)術(shù)語來描述用戶需求,需系統(tǒng)化、架構(gòu)化,采用機(jī)器語言和圖形符號對需求進(jìn)行刻畫,經(jīng)過定義最終生成《需求規(guī)格說明書》,形成系統(tǒng)設(shè)計(jì)的依據(jù)。需求經(jīng)開發(fā)人員評審來明確其是否清晰、是否可實(shí)現(xiàn),項(xiàng)目成員和主要業(yè)務(wù)部門對需求達(dá)成共識后,后續(xù)的開發(fā)將依據(jù)《需求規(guī)格說明書》進(jìn)行。
需求管理的重要內(nèi)容是需求變更控制。用戶對需求的修改在所難免,需求的修改可能導(dǎo)致穩(wěn)定的系統(tǒng)出現(xiàn)異常,通過引入需求變更控制,使需求文檔成為雙方一致的承諾和共同遵守的開發(fā)依據(jù),避免因需求變化帶來的進(jìn)度拖延、資源浪費(fèi)、系統(tǒng)功能失敗等。需求跟蹤的主要任務(wù)是對《需求規(guī)格說明書》進(jìn)行雙向跟蹤,一方面檢查需求是否在開發(fā)過程中找到相應(yīng)成果,另一方面檢查開發(fā)過程中的工作產(chǎn)出,包括設(shè)計(jì)文檔、代碼、測試用例等,《需求跟蹤矩陣》用來對需求跟蹤進(jìn)行記錄。
2.2.3過程域檢查
利用人事系統(tǒng)《過程改進(jìn)計(jì)劃》制定過程域檢查表,對過程域的實(shí)施狀況進(jìn)行跟蹤和評估,如表3所示。過程域檢查表的檢查項(xiàng)是對過程域目標(biāo)具體要求的提煉和落實(shí),記錄和跟進(jìn)控制項(xiàng)目進(jìn)度、規(guī)范開發(fā)過程、優(yōu)化改進(jìn)實(shí)踐,是CMMI過程改進(jìn)持續(xù)性的具體實(shí)現(xiàn)。
2.3改進(jìn)成效
系統(tǒng)需求分為功能需求和非功能需求,需求開發(fā)應(yīng)做到盡量挖掘更多的需求,并通過完善需求開發(fā)使軟件開發(fā)起點(diǎn)更明確、維護(hù)成本更低。軟件需求變更管理至關(guān)重要,要避免因變更處理不充分導(dǎo)致的部門間不協(xié)調(diào)現(xiàn)象。通過對人事系統(tǒng)需求工程的兩個(gè)PA實(shí)施改進(jìn),用戶需求可定義、可跟蹤,提高了項(xiàng)目需求調(diào)研的規(guī)范性,項(xiàng)目進(jìn)度和成本得到了有效控制,滿足了信息系統(tǒng)質(zhì)量目標(biāo)。
3結(jié)語
人事系統(tǒng)項(xiàng)目團(tuán)隊(duì)在過程改進(jìn)中,應(yīng)選擇符合實(shí)際需要的CMMI表達(dá)法、遵循既定的實(shí)施步驟和過程體系文件,實(shí)現(xiàn)開發(fā)過程可視化、流程化和制度化,以全面提高項(xiàng)目質(zhì)量。
參考文獻(xiàn)參考文獻(xiàn):
[1]黎連業(yè),張曉冬,呂小剛.軟件能力成熟度模型與模型集成基礎(chǔ)[M].北京:機(jī)械工業(yè)出版社,2011.
[2]韓萬江,姜立新.軟件項(xiàng)目管理案例教程[M].北京:機(jī)械工業(yè)出版社,2012.
[3]李華北,劉小茵,鄭丹丹,等.過程改進(jìn)基本原理及CMMI實(shí)施[M].北京:中國標(biāo)準(zhǔn)出版社,2009.
[4]馬慧,楊一平.質(zhì)量評價(jià)與軟件質(zhì)量工程知識體系的研究[M].北京:人民郵電出版社,2009.
[5]楊一平.幾種軟件過程改進(jìn)方法的比較[J].計(jì)算機(jī)工程與應(yīng)用,2002(15):219221.
[6]白嵐,蒲元遠(yuǎn).軟件過程改進(jìn)方法研究與實(shí)施[J].計(jì)算機(jī)與數(shù)字工程,2012(12):124128.
[7]劉斌.基于CMM的中小軟件企業(yè)過程改進(jìn)實(shí)施方案研究[J].自動化儀表,2010(8):2831.
[8]何丹.探索基于CMMI的過程改進(jìn)之道[J].信息技術(shù)與標(biāo)準(zhǔn)化,2006(8):1719.
[9]彭純軍.我國中小軟件企業(yè)基于CMM/CMMI的軟件過程管理研究[D].廣州:暨南大學(xué),2005.
[10]張秀娟.基于CMMI的軟件過程改進(jìn)實(shí)施模型研究[D].濟(jì)南:山東大學(xué),2006.
[11]李娜.基于CMMI的軟件過程改進(jìn)研究[J].計(jì)算機(jī)與現(xiàn)代化,2012(2):155159.
責(zé)任編輯(責(zé)任編輯:杜能鋼)