劉皓潔 焦永強
摘要:軟件測量與分析為組織監(jiān)控和評估軟件開發(fā)項目提供有效支撐,它作用于軟件研制的全生命周期,能夠幫助組織提高對軟件過程和產(chǎn)品的深入了解,使組織更好地進行決策,并實現(xiàn)組織目標。本文以軟件測量與分析方法研究為目的,從GJB5000A的模型結(jié)構(gòu)出發(fā),介紹了軟件測量與分析過程的目的與要求,對基于GJB5000A的軟件測量與分析方法進行了研究,形成了測量分析模型,并對模型進行剖析。
Abstract: Software measurement and analysis provides effective support for the organization to monitor and evaluate software development projects. It acts on the whole life cycle of software development, helps the organization to improve the in-depth understanding of software process and products, makes the organization make better decisions, and realizes the organization goals. For the purpose of research on software measurement and analysis method, this paper introduces the purpose and requirements of software measurement and analysis process from the model structure of GJB5000A, studies the software measurement and analysis method based on GJB5000A, forms and analyzes the measurement analysis model.
關鍵詞:GJB5000A模型;能力成熟度等級;測量與分析模型
Key words: GJB5000A model;capability maturity level;measurement and analysis model
中圖分類號:TP311.5 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1006-4311(2020)15-0237-02
0 ?引言
隨著武器裝備信息化和數(shù)字化程度越來越高,軟件在高新武器系統(tǒng)中的核心地位和靈魂作用越來越大,越來越多的軍用軟件研制單位希望通過推進實施GJB5000A軍用軟件能力成熟度模型來提高軟件研制能力,提升軟件產(chǎn)品質(zhì)量。但是,在推進實施GJB5000A的過程中,研制單位普遍存在對標準理解不足、體系定義與實際脫節(jié)的問題,特別在軟件測量與分析方面遇到了實施的瓶頸。由于研制單位從未有過相關工作的經(jīng)驗,如何確定測量目標、選擇測量項;如何收集和分析測量數(shù)據(jù);如何運用測量與分析為軟件進展實施監(jiān)控、為管理決策提供有效地量化指標等都成為推進工作的難題。很多單位盲目的為了測量而測量,不但消耗了很大的人力物力,而且也沒有真正建立起測量的能力。因此,建立起一套有效的測量分析方法,幫助研制單位樹立軟件測量的系統(tǒng)觀念,指導研制單位建立軟件測量能力,推進GJB5000A在單位內(nèi)的實施,從而快速提高軟件研制水平是本文研究的主要目的。
1 ?GJB5000A概述
GJB5000A-2008《軍用軟件研制能力成熟度模型》是中國人民解放軍總裝備部提出并批準發(fā)布的,它是在GJB5000-2003《軍用軟件能力成熟度模型》基礎上修訂的。標準中融合了優(yōu)秀企業(yè)軟件研制和維護活動中最佳的實踐,定義了軍用軟件研制能力成熟度模型。模型既適用于對組織的軟件研制能力進行評價,同時也為組織自身過程評估與改進提供方法依據(jù)。GJB5000A共有22個過程域,根據(jù)過程域的相關性劃分為4個類別,分別為過程管理類、項目管理類、工程類、支持類,將過程域按成熟度等級和所屬類別劃分,測量與分析過程域是GJB5000A模型中22過程域中的一個。測量與分析的目的是支持管理信息的需要,開發(fā)和保持組織測量能力。通過數(shù)據(jù)采集和偏差分析,客觀了解組織各部門的過程和產(chǎn)品的實施現(xiàn)狀,為組織提供產(chǎn)品和服務各個環(huán)節(jié)的監(jiān)控指標,為組織管理決策提供定量信息;識別組織的薄弱環(huán)節(jié),為組織過程改進和產(chǎn)品改進提供定量信息。
2 ?軟件測量與分析方法研究
軟件測量活動,一般分為組織級測量活動和項目級測量活動兩個層次,組織級測量活動由組織測量分析小組負責,項目級測量活動由項目測量分析員負責。根據(jù)GJB5000A標準中測量與分析過程域的要求,結(jié)合軟件研制項目生存周期中測量與分析工作的開展流程,以及軟件測量活動不同層面的執(zhí)行特點建立了基于GJB5000A的測量與分析模型。模型分為組織級和項目級兩個層次,包括策劃測量項、采集存儲測量數(shù)據(jù)、分析測量數(shù)據(jù)、交流測量結(jié)果、評價和改進五個部分,如圖1。
2.1 策劃測量項
策劃測量項分為兩個層次的策劃,一是組織層面的策劃。即由組織測量分析小組根據(jù)以往項目的實施結(jié)果、用戶和組織管理層對軟件實施的信息需要等,進行總結(jié)提煉出組織層的測量目標,然后分解出細化的測量項(基本測量項、導出測量項),并對每一個測量項定義屬性,包括名稱、目標、單位、計算公式等,最終組織層面的策劃結(jié)果會形成一份詳盡的測量與分析規(guī)格說明。二是項目層面的策劃。即項目啟動后,項目組根據(jù)項目的目標和信息需要確定項目測量目標(可以來源于組織提供的測量與分析規(guī)格說明中),并將測量目標所對應的測量項規(guī)格說明納入項目的測量分析計劃中,作為項目實施測量與分析工作的依據(jù)。
2.1.1 確定測量目標
根據(jù)組織或項目管理的信息需要,確定測量目標并將測量目標以文檔形式記錄下來。測量目標的來源可以是管理、技術、項目、產(chǎn)品評價或過程實現(xiàn)等需要,測量目標是測量與分析活動開展的依據(jù)。
2.1.2 構(gòu)造測量項
構(gòu)造測量項是根據(jù)確定的測量目標進一步細化出滿足目標要求的測量項。測量項按測量數(shù)據(jù)獲得方式分為“基本測量項”和“導出測量項”,基本測量項的數(shù)據(jù)可以直接測量獲得,導出測量項一般通過公式計算獲得。這里需要了解的是測量目標與測量項并不是一對一的關系,有時同一個測量目標可以細化出多個測量項,以便從不同的方面幫助測量目標的達成。在構(gòu)造測量項時應明確基本測量項的單位、導出測量項的計算方法,對于已經(jīng)構(gòu)造的測量項根據(jù)該測量項對目標達成的重要程度的不同,可以確定出優(yōu)先順序以及裁剪的原則,當滿足裁剪原則時可以對測量項進行適當?shù)牟眉簟?/p>
2.1.3 制定測量項的采集和分析規(guī)程
為了確保采集到正確的數(shù)據(jù)、保證數(shù)據(jù)在未來某個時間也能夠可用,需要為每個測量項制定明確的采集方法和數(shù)據(jù)存儲方法。主要的描述項應該包括數(shù)據(jù)來源、采集數(shù)據(jù)的時機、采集人、存儲位置和是否有工具支持。同時在策劃測量項時指明測量項的監(jiān)控閾值和分析匯報規(guī)程,其中監(jiān)控閾值是測量數(shù)據(jù)發(fā)生異常程度的警戒線,幫助組織將有限的資源、精力投入在必要的事件上;分析匯報規(guī)程明確數(shù)據(jù)發(fā)生異常時的幾種情況以及分析和匯報的原則,幫助確保項目實施中能按文檔化的測量目標進行有效的分析和報告,也是對是否采集了必要數(shù)據(jù)的一種檢驗。
2.2 采集存儲測量數(shù)據(jù)
數(shù)據(jù)采集工作要依據(jù)計劃執(zhí)行,與軟件開發(fā)的過程活動相結(jié)合,遵循簡便、客觀、準確的原則。數(shù)據(jù)采集時,首先采集基本測量項,采集時應盡可能靠近數(shù)據(jù)源即數(shù)據(jù)生成的最初位置,進行數(shù)據(jù)采集并檢查和糾正遺漏、越界數(shù)據(jù),以及由于人為判斷而造成的分類不一致數(shù)據(jù)。得到基本測量項后,根據(jù)計算公式得出導出測量項。數(shù)據(jù)存儲所使用的方法和渠道可以是多種多樣的,最簡單的方法是利用表格形式進行填寫,但這種方法存在統(tǒng)計、管理和保存問題等。管理工具的使用往往會解決上述問題,并使數(shù)據(jù)的采集和統(tǒng)計更加規(guī)范和簡單。
2.3 分析測量數(shù)據(jù)
信息需要僅僅通過收集當前的實際數(shù)據(jù)幾乎無法準確判斷,通常用實際數(shù)據(jù)與期望值進行比較,期望數(shù)據(jù)可能是用計劃值、歷史平均值、導出的界限或閾值來表達的。測量數(shù)據(jù)分析時可以利用各種分析工具,緊密圍繞測量目標進行數(shù)據(jù)分析,以直觀的形式呈現(xiàn)軟件過程的各種性能,為項目的監(jiān)控提供量化指標。測量中常用的繪圖技術有餅圖、條形圖、直方圖、線性圖,幫助從測量數(shù)據(jù)中提取相關信息。測量項定義時,根據(jù)監(jiān)控需要可以設置監(jiān)控閾值和制定分析規(guī)程,幫助判斷實際數(shù)據(jù)和期望數(shù)據(jù)間的差距是否過大,以及如何依據(jù)測量目標進行異常分析,最終按照測量與分析結(jié)果的匯報要求在計劃匯報時機到達時形成測量與分析報告。
2.4 交流測量結(jié)果
項目實施過程中在項目周例會、階段會以及里程碑評審會上向利益相關方通報測量與分析過程的結(jié)果,利益相關方重點關注測量數(shù)據(jù)中實際數(shù)據(jù)超出決策準則要求的測量項以及當前的分析結(jié)果,依據(jù)測量目標討論確定糾正措施,并將糾正措施落實在分析報告或會議紀要中。項目的利益相關方一般包括項目組成員、質(zhì)量保證人員、研發(fā)部門領導、用戶/用戶代表。
2.5 評價與改進
測量與分析評價是針對測量數(shù)據(jù)質(zhì)量、測量項構(gòu)建合理性及測量與分析活動流程的分析。一般分為項目層的評價和組織層的評價。項目層的評價在項目結(jié)項時,對項目的所有測量數(shù)據(jù)、新構(gòu)建的測量目標和測量項進行收集和評價,評價通過的納入組織測量庫管理。評價時需要關注數(shù)據(jù)的有效性、完整性,新構(gòu)建的測量目標和測量項是否使用組織其他類型的項目,同時也要關注測量與分析的執(zhí)行過程。組織層面的評價,可以在管理層定期的過程評審時完成。隨著組織能力成熟度的逐漸增強、組織戰(zhàn)略計劃的調(diào)整以及用戶要求的提高,組織的測量需要也隨之發(fā)生變化。根據(jù)評價結(jié)果制定改進方案,在評價方案時要充分考慮改進方案的可行性,以及實施的成本和效益的平衡,然后選擇一個最優(yōu)的解決方案。測量與分析過程的改進,是一個持續(xù)的過程,改進后的效果通過再次實施測量進行評價,這樣就形成了測量與分析過程持續(xù)改進的循環(huán)。
3 ?結(jié)語
基于GJB5000A的軟件測量能夠為組織深入洞察軟件過程和產(chǎn)品與目標的差距,使組織更好地進行決策,實現(xiàn)組織目標。測量與分析模型將測量分解為策劃測量項、采集存儲測量數(shù)據(jù)、分析測量數(shù)據(jù)、交流測量結(jié)果和評價與改進幾個看似獨立實質(zhì)相互關聯(lián)的步驟,同時明確了組織級和項目級不同層次測量的分工,使抽象的測量與分析概念更為系統(tǒng)和直觀。為初步接觸GJB5000A的人員深入學習、掌握測量與分析的標準要求提供了有效途徑。
參考文獻:
[1]閆于華,王黎明,宋太亮,等.GJB5000A-2008軍用軟件研制能力成熟度模型,中國人民解放軍總裝備部,2008.
[2]裘婉卿,葉楓.基于CMMI的軟件缺陷度量[J].計算機系統(tǒng)應用,2010,19(3).
[3]侯紅,郝克剛.CMMI的軟件測量[J].計算機科學,2006(11):293-296.
[4]肖麗娟.基于CMM框架的過程改進方法的研究與實現(xiàn)[D]. 電子科技大學.
[5]卡內(nèi)基梅隆大學軟件工程學院.能力成熟度模型集成 CMMI-DEV V1.2.
[6]瓦茨.S,漢弗萊.軟件過程管理[M].北京:清華大學出版社,2003.
作者簡介:劉皓潔(1978-),女,黑龍江哈爾濱人,工程師,碩士,研究方向為軟件質(zhì)量管理。