楊京煜 盧燕
軟件質(zhì)量度量是20世紀(jì)60年代針對軟件危機(jī)的出現(xiàn)而產(chǎn)生的軟件定量評價技術(shù)。早期的軟件質(zhì)量度量以測試和產(chǎn)品質(zhì)量度量為主。隨著過程管理思想方法的引入,學(xué)者們認(rèn)識到,軟件的生產(chǎn)過程決定了最終的產(chǎn)品質(zhì)量。因此,過程質(zhì)量度量逐漸成為軟件質(zhì)量度量的重點(diǎn),國內(nèi)外學(xué)者也對軟件的過程質(zhì)量提出了很多度量模型。
軟件質(zhì)量評價是根據(jù)軟件質(zhì)量度量結(jié)果和相應(yīng)的評價標(biāo)準(zhǔn),對軟件質(zhì)量進(jìn)行合理的評價,以反映軟件質(zhì)量的當(dāng)前狀態(tài),為精準(zhǔn)的進(jìn)行軟件質(zhì)量管理提供依據(jù)。軟件過程質(zhì)量的評價方法也是當(dāng)下軟件質(zhì)量管理領(lǐng)域研究的熱點(diǎn)。
雖然國內(nèi)外學(xué)者對軟件過程質(zhì)量的度量模型和軟件質(zhì)量評價進(jìn)行了大量的研究,但是基本上都側(cè)重理論,且對度量和評價的研究是分別進(jìn)行的,度量和評價的一體化研究則未見有文獻(xiàn)記載。對于國內(nèi)軟件企業(yè)來說,亟需一整套切合自身開發(fā)特點(diǎn)的過程質(zhì)量度量和評價方法。
民航軟件的安全性和可靠性永遠(yuǎn)是第一位的。因此,民航軟件采用穩(wěn)態(tài)的研發(fā)過程,分為需求、設(shè)計、編碼、測試和投產(chǎn)5個階段,每一階段的產(chǎn)出物開發(fā)完成并通過評審后,才能進(jìn)入下一階段,以保證開發(fā)過程的穩(wěn)定可控。本文在國內(nèi)外學(xué)者對軟件過程質(zhì)量度量模型和質(zhì)量評價的研究基礎(chǔ)上,首次為民航軟件的穩(wěn)態(tài)研發(fā)過程構(gòu)建質(zhì)量度量模型和指標(biāo)體系,采集各個過程階段產(chǎn)出物的屬性進(jìn)行指標(biāo)計算,然后創(chuàng)造性的采用過程階段打分法對軟件的過程質(zhì)量進(jìn)行評價。
軟件過程質(zhì)量度量的關(guān)鍵與難點(diǎn),在于度量模型的構(gòu)建。Pfleeger和McGowan提出了SADT(Structureed analysi and design technique)方法描述軟件過程,以便發(fā)現(xiàn)軟件開發(fā)過程中的問題。Basili提出了GQM(Goal-Question-Metric)范例度量模型,將度量與項目和過程的總體目標(biāo)聯(lián)系在一起。Lott和Rombach將采集測量數(shù)據(jù)的活動集成到軟件過程模型中,對度量目標(biāo)進(jìn)行了有目的的細(xì)化。Brochers等人強(qiáng)調(diào)把面向目標(biāo)的度量引入一個軟件機(jī)構(gòu)時過程建模所起的重要作用,描述了一個在軟件過程建模的基礎(chǔ)上創(chuàng)建GQM計劃的方法和步驟,將對過程的度量滲透到軟件過程中。宿為民提出了一個支持過程度量的軟件過程建模方法GQM-D(Goal Question Metric-Data),其基本思想是在GQM模型的度量層下增加一個數(shù)據(jù)項分層,將關(guān)于過程度量的一些特定活動完全融入到過程模型中,使之成為軟件過程活動的一種。李樹明認(rèn)為以過程為中心的軟件開發(fā)與質(zhì)量管理是現(xiàn)代軟件產(chǎn)業(yè)的時代特征,并提出了一個基于CMM過程管理控制的軟件質(zhì)量管理模型及平臺,以幫助軟件組織達(dá)到較高的成熟度水平。李健分析了軟件過程的度量和不同過程成熟度層次對度量的需求,研究系統(tǒng)化的問題驅(qū)動的度量過程ISPM(Issue-driven Software Process Mea-surement)。張春花將根本原因分析法與CMM相結(jié)合,提出一種提升軟件組織過程能力和過程性能、促進(jìn)軟件產(chǎn)品質(zhì)量提高的新方法。
盡管上述過程質(zhì)量度量模型的側(cè)重點(diǎn)不盡相同,但是都沒有設(shè)計具體的質(zhì)量度量指標(biāo),因而無法在軟件企業(yè)中得到實際應(yīng)用。
軟件質(zhì)量定量評價也是國內(nèi)軟件工程領(lǐng)域研究的熱點(diǎn)。目前,軟件質(zhì)量評價有三個標(biāo)準(zhǔn):ISO/IEC 9126系列標(biāo)準(zhǔn),ISO/IEC 14598系列標(biāo)準(zhǔn)和ISO/IEC 12207系列標(biāo)準(zhǔn)。學(xué)者們圍繞這3個標(biāo)準(zhǔn),研究出很多軟件質(zhì)量評價方法。王勝芝提出了綜合評價法,并給出了質(zhì)量綜合模糊評價模型,對模型中定量化方法作了較詳細(xì)的討論。寧正元提出了Fuzzy綜合評價法,介紹了軟件質(zhì)量的模糊綜合評價模型以及用Fuzzy法來進(jìn)行加權(quán)系數(shù)的確定。李克文提出了基于模糊三角數(shù)模糊神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評價方法,來處理軟件開發(fā)過程中用戶需求同軟件特性之間的非線性關(guān)系。李良寶提出了多級模糊綜合評價法,給出了多級模糊綜合評價模型,并結(jié)合工程實例給出了使用評價模型進(jìn)行軟件評價的步驟。郭飛提出了提出了基于專家知識的自適應(yīng)神經(jīng)推理ANFIS(adaptive neural-fuzzy inference system)軟件質(zhì)量評價模型,實現(xiàn)了軟件質(zhì)量評價過程中推理規(guī)則適應(yīng)度。王李進(jìn)提出了基于人工神經(jīng)網(wǎng)絡(luò)的軟件質(zhì)量評價,來提高軟件質(zhì)量評價的準(zhǔn)確性。
上述評價方法都側(cè)重于采用不同的算法來計算軟件產(chǎn)品質(zhì)量的評價向量值,以得到軟件產(chǎn)品質(zhì)量的評價等級。但是目前還沒有學(xué)者提出對軟件的過程質(zhì)量進(jìn)行評價的方法。
對民航軟件穩(wěn)態(tài)研發(fā)過程中每一個階段的過程質(zhì)量和產(chǎn)出物質(zhì)量進(jìn)行質(zhì)量度量與評價,可以減少研發(fā)過程中的偏差,確保最終產(chǎn)出安全可靠的高質(zhì)量產(chǎn)品。
(一) 過程質(zhì)量度量模型及指標(biāo)體系
本文借鑒層次分析法中逐層分解的思想,自頂向下建立構(gòu)建過程質(zhì)量度量模型,并形成一套涵蓋各個過程階段過程質(zhì)量和結(jié)果質(zhì)量的指標(biāo)體系。
該質(zhì)量度量模型分為三層:第一層是過程階段,第二層是指標(biāo)分類,第三層是過程質(zhì)量的質(zhì)量特性。其中,第一層是在民航軟件穩(wěn)態(tài)研發(fā)過程中定義的5個過程階段;第二層的過程指標(biāo)和結(jié)果指標(biāo)分別用來衡量各個過程階段過程質(zhì)量和結(jié)果質(zhì)量;第三層是28個具體的質(zhì)量度量指標(biāo)。
(二)過程階段產(chǎn)出物
民航軟件穩(wěn)態(tài)研發(fā)過程中使用的過程控制工具如TRMS、TOMS、Jira等必須非常齊全,且每個階段的產(chǎn)出物都必須在組織級的配置管理工具如Conflunce、Git等存放,所以可以實時采集各過程階段的產(chǎn)出物。
(三)質(zhì)量度量指標(biāo)計算
以各過程階段的產(chǎn)出物作為度量實體,以這些實體的屬性值作為度量數(shù)據(jù),計算過程質(zhì)量指標(biāo)值并給出質(zhì)量評價。過程指標(biāo)只看對應(yīng)的產(chǎn)出物有沒有,不需要計算。結(jié)果指標(biāo)值則需要經(jīng)過計算生成。
(四)過程質(zhì)量評價
本文采用過程階段打分法對民航軟件穩(wěn)態(tài)研發(fā)的過程質(zhì)量做量化評價。根據(jù)各個過程階段的質(zhì)量指標(biāo)值,參照相應(yīng)的評價標(biāo)準(zhǔn)、評定等級和得分公式對過程階段進(jìn)行打分,采用線性加權(quán)法計算軟件的過程質(zhì)量得分,并對軟件的過程質(zhì)量進(jìn)行評價定級。
1.過程指標(biāo)評價標(biāo)準(zhǔn)
過程指標(biāo)衡量各階段質(zhì)量活動是否規(guī)范執(zhí)行。
2.過程指標(biāo)得分計算
3. 結(jié)果指標(biāo)評價標(biāo)準(zhǔn)
結(jié)果指標(biāo)衡量各階段產(chǎn)出物的質(zhì)量,評價標(biāo)準(zhǔn)為指標(biāo)值。
結(jié)果指標(biāo)的評定等級對應(yīng)的評價得分具體見表1。
6.過程質(zhì)量評價
過程質(zhì)量評價標(biāo)準(zhǔn),為軟件過程質(zhì)量總分所在的區(qū)間。
通過計算軟件質(zhì)量得分以及對軟件質(zhì)量進(jìn)行評價定級,能夠直觀展示民航軟件穩(wěn)態(tài)研發(fā)過程的質(zhì)量情況。
以中國民航信息網(wǎng)絡(luò)股份有限公司研發(fā)中心航班狀態(tài)查詢軟件2022年的過程質(zhì)量為例,根據(jù)質(zhì)量度量模型和指標(biāo)體系,獲取該軟件2022年研發(fā)過程各階段的產(chǎn)出物,計算質(zhì)量指標(biāo)值和過程質(zhì)量得分,并進(jìn)行質(zhì)量評價。
運(yùn)用公式(1)對該軟件各個過程階段的過程指標(biāo)打分。
運(yùn)用公式(2)對該軟件各個過程階段的結(jié)果指標(biāo)打分,結(jié)果見表2。
運(yùn)用公式(3)得出該軟件的質(zhì)量總得分,為91.85分,根據(jù)軟件質(zhì)量評價標(biāo)準(zhǔn),該軟件的總體質(zhì)量評定等級為優(yōu)良。但是從表2可以看出,該軟件編碼和測試階段的過程質(zhì)量還有進(jìn)一步提升的空間。
本文首次提出民航軟件穩(wěn)態(tài)研發(fā)過程的過程質(zhì)量度量模型和指標(biāo)體系,計算出質(zhì)量指標(biāo)值后,采用過程階段打分法進(jìn)行過程質(zhì)量評價。實證結(jié)果表明,本文的質(zhì)量度量和評價方法能直觀反映出軟件的過程質(zhì)量,以便精確的控制、管理和改進(jìn)質(zhì)量。出于“持續(xù)改進(jìn)”的質(zhì)量管理原則,后續(xù)將根據(jù)民航內(nèi)外部環(huán)境的變化進(jìn)一步完善過程質(zhì)量度量模型和指標(biāo)體系。