韓 坤,吳 緯,陳守華,帥 勇
(1.裝甲兵工程學(xué)院,北京 100072;2.北京特種車輛研究所,北京 100072)
基于GQM的裝備軟件可靠性參數(shù)選取方法
韓 坤1,吳 緯2,陳守華1,帥 勇1
(1.裝甲兵工程學(xué)院,北京 100072;2.北京特種車輛研究所,北京 100072)
針對裝備軟件無可靠性定量要求以及開發(fā)過程缺少監(jiān)管的問題,提出基于GQM(Goal-Question-Metric)的裝備軟件可靠性參數(shù)選取方法。首先構(gòu)建了軟件可靠性通用參數(shù)集和裝備軟件可靠性特有參數(shù)集,然后按照GQM方法的框架,從不同角度出發(fā),制定裝備軟件可靠性度量目標(biāo),列出為實現(xiàn)目標(biāo)需要回答的一系列問題,進而以回答問題的方式,確定不同情況下適用的軟件可靠性參數(shù),最終建立裝備軟件可靠性參數(shù)體系。
計算機軟件,可靠性參數(shù)選取,GQM,裝備軟件
隨著裝備信息化程度的提高,裝備軟件的數(shù)量和規(guī)模急劇增加,而且軟件常起著非常關(guān)鍵的作用。同時,軟件故障已經(jīng)成為導(dǎo)致裝備故障的主要原因[1]。但目前軍方尚無保證裝備軟件可靠性的有效措施。裝備軟件可靠性存在的突出問題包括:
(1)無軟件可靠性定量要求。在裝備論證過程中,機械、電子產(chǎn)品都有明確的可靠性定量要求,軟件可靠性尚無定量要求,這就無法保證裝備軟件的可靠性。
(2)缺少對軟件開發(fā)過程的監(jiān)管。產(chǎn)品是過程的產(chǎn)物,沒有好的軟件開發(fā)過程就無法保證高的軟件產(chǎn)品可靠性。
軟件可靠性參數(shù)是確定軟件可靠性定量要求和對軟件開發(fā)過程進行監(jiān)管的基礎(chǔ)。本文首先構(gòu)建裝備軟件可靠性參數(shù)集,然后基于GQM方法,從不同的目標(biāo)出發(fā),選取裝備軟件可靠性參數(shù),從而構(gòu)建裝備軟件可靠性參數(shù)體系。
在軟件可靠性參數(shù)體系研究方面,IEEE Std 982.1-1988[2]系統(tǒng)定義了軟件可靠性參數(shù),包含39項參數(shù),給出了各參數(shù)的定義、計算方法和適用情景。IEEE Std 982.1-2005在IEEE Std 982.1-1988[3]的基礎(chǔ)上,刪減了部分不常用或不便于度量的參數(shù),并新增了網(wǎng)絡(luò)可靠性、可用性等參數(shù);文獻[4]對軟件可靠性參數(shù)進行了分類,將軟件可靠性參數(shù)分為產(chǎn)品成熟度評估參數(shù)和過程成熟度評估參數(shù)。文獻[5]結(jié)合船用嵌入式軟件,從船舶總體和設(shè)備兩個層次構(gòu)建船舶嵌入式軟件可靠性參數(shù)體系。文獻[6]制定了航空裝備軟件可靠性參數(shù)集,指出各參數(shù)的適用條件(使用參數(shù)、合同參數(shù))和適用范圍(機載軟件、指揮自動化系統(tǒng)軟件等)。文獻[7]提出適用于航天軟件的可靠性參數(shù)集,并分析了各參數(shù)的用途、適用階段、計算方法、數(shù)據(jù)元素及獲得方法。文獻[8-9]結(jié)合裝備特點,提出針對武器裝備軟件的可靠性參數(shù),如平均嚴(yán)重失效前時間。
在軟件可靠性參數(shù)選取方面,NUREG/CR-6848[10]提出軟件可靠性參數(shù)的選取原則,基于這些原則,對軟件可靠性參數(shù)進行排序,得出適用于軟件生命周期各階段的軟件可靠性參數(shù)。文獻[11]提出基于專家觀點對軟件可靠性參數(shù)進行打分,打分的準(zhǔn)則包括可信性、可重復(fù)性、相關(guān)性和成本效益。文獻[12]提出基于AHP的軟件可靠性參數(shù)選取方法。文獻[13]提出基于軟件生命周期的可靠性參數(shù)選取方法,并建立參數(shù)選取原則,包括適用性、易用性和完整性。文獻[8-9]針對通用軟件可靠性參數(shù)和結(jié)合裝備特點的軟件可靠性參數(shù),分別提出參數(shù)的選取原則,如對特別關(guān)注軟件失效發(fā)生頻率的系統(tǒng)(如操作系統(tǒng)),推薦選用失效率或失效強度。以上針對軟件可靠性參數(shù)選取開展的研究,多是結(jié)合專家觀點或是簡單提出一些選取原則,造成過分依賴專家主觀經(jīng)驗,選取原則在具體問題上也只能起到指導(dǎo)性作用,無法直接產(chǎn)生參數(shù)選取結(jié)果。針對這些問題,本文提出基于GQM的裝備軟件可靠性選取方法。
由于裝備軟件的特殊性,度量裝備軟件可靠性的參數(shù)除包括軟件可靠性通用參數(shù),還有部分針對裝備軟件提出的可靠性參數(shù)。
2.1 軟件可靠性通用參數(shù)集
以IEEE Std 982.1-1988[2]、IEEE Std 982.2-1988[14]、IEEE Std 982.1-2005[3]、IEEE Std 1633-2008[15]、GJB 5236-2004[16]為基礎(chǔ),構(gòu)建通用軟件可靠性參數(shù)集,如表示1所示。
由于文章篇幅限制,各參數(shù)的具體定義、計算方法、數(shù)據(jù)需求和適用場景等參見文獻[2-3,14-16]。
表1 軟件可靠性通用參數(shù)集
2.2 裝備軟件可靠性特有參數(shù)集
由于裝備軟件特殊的應(yīng)用環(huán)境,以及軟件失效可能造成的嚴(yán)重后果,在軟件可靠性通用參數(shù)的基礎(chǔ)上,還需要結(jié)合裝備軟件特點,構(gòu)建更有針對性的裝備軟件可靠性特有參數(shù)。
(1)成功率。成功率是指在規(guī)定的條件下,軟件完成規(guī)定功能的概率。某些一次性使用的系統(tǒng)或設(shè)備,如彈射救生系統(tǒng)、導(dǎo)彈系統(tǒng)中的軟件,即可選用成功率[8]。
(2)任務(wù)成功概率。任務(wù)成功概率是指在規(guī)定的條件下和規(guī)定的任務(wù)剖面內(nèi),軟件能完成規(guī)定任務(wù)的概率。某些情況下,人們關(guān)心無失效地完成任務(wù)的概率,如軍事飛行任務(wù)等,即可選用任務(wù)成功概率[8]。
(3)由平均失效前時間派生的參數(shù)。對于不同的裝備可派生出不同的軟件可靠性參數(shù),例如,飛機系統(tǒng)可用平均失效前飛行小時,火炮系統(tǒng)可用平均失效前發(fā)數(shù)[9]。
(4)平均嚴(yán)重失效前時間。平均嚴(yán)重失效前時間是指僅考慮嚴(yán)重失效的平均失效前時間。所謂嚴(yán)重失效是指使系統(tǒng)不能完成規(guī)定任務(wù)或可能導(dǎo)致人、物發(fā)生重大損失的軟件失效或失效組合[9]。
3.1GQM方法
GQM方法是由maryland大學(xué)的Victor R.Basili教授和他的同事提出的,最初用于改進軟件產(chǎn)品和開發(fā)過程,是一種自上而下的、以面向目標(biāo)的方式構(gòu)建和選擇度量的方法[18]。目標(biāo)的定義是基于特定的目的(理解、改進、控制)、面向特定的對象(過程、產(chǎn)品)、為特定的問題或質(zhì)量特性(可靠性、安全性、性能)、從特定的角度(用戶、開發(fā)者)、擁有特定的環(huán)境特征(相關(guān)人員、資源、組織)。例如,一個目標(biāo)可以描述為:在組織Y內(nèi)(=環(huán)境特征)從用戶的角度(=角度)提高(=目的)產(chǎn)品(=對象)的可靠性(=問題或質(zhì)量特性)。
為實現(xiàn)每個目標(biāo),往往會引出多個問題。目標(biāo)處于抽象和概念層次,問題是對目標(biāo)的提煉,具有更強的可操作性。通過回答這些問題應(yīng)能確定目標(biāo)得到實現(xiàn)。每個問題以度量的方式得到回答。每個問題會定義多個度量,同一個度量可能會用于回答多個問題,如圖1所示。
圖1GQM模型
GQM方法提供一個軟件度量構(gòu)建和選取框架,包含如下3步[19]:
(1)通過調(diào)研相關(guān)人員和查閱可得的產(chǎn)品或過程描述,列出針對產(chǎn)品或過程的主要目標(biāo);
(2)基于每個目標(biāo)中提出一些問題,在判斷目標(biāo)是否達(dá)到時必須回答這些問題;
(3)確定為了充分地回答這些問題,必須進行哪些測量。
GQM方法提供了自上而下的度量構(gòu)建和選取方法,以及自下而上的數(shù)據(jù)采集和解釋方法,具有很強的靈活性和可操作性。
3.2 基于GQM的裝備軟件可靠性參數(shù)選取
軍方(用戶)和軟件開發(fā)人員是裝備軟件的主要參與者,他們對軟件可靠性的關(guān)注重點有所不同,如軍方更關(guān)注軟件使用過程中的失效頻度,而開發(fā)人員可能更關(guān)注軟件中的殘留缺陷數(shù)量。從質(zhì)量和風(fēng)險控制角度出發(fā),需要度量軟件產(chǎn)品和開發(fā)過程中與可靠性相關(guān)的質(zhì)量特性。另外,裝備軟件生命周期各階段劃分比較清晰,應(yīng)明確各階段需重點關(guān)注的可靠性問題。從不同角度出發(fā)制定的軟件可靠性度量目標(biāo)如表2所示,表中同時列出了為實現(xiàn)度量目標(biāo)需要回答的問題。
為了回答表2中提出的問題,需要從軟件可靠性通用參數(shù)集和裝備軟件可靠性特有參數(shù)集中選取適用的參數(shù)。下頁表3中列出為了回答各問題,選用的軟件可靠性參數(shù)。
表2 軟件可靠性度量目標(biāo)以及引出的問題
基于度量目標(biāo)選取適用的軟件可靠性參數(shù)是保證和提高裝備軟件可靠性的基礎(chǔ)。不恰當(dāng)?shù)目煽啃詤?shù)不僅使度量工作難以開展,而且還可能給出錯誤的可靠性度量結(jié)果。本文首先分別構(gòu)建了軟件可靠性通用參數(shù)集和裝備軟件可靠性特有參數(shù)集,然后按照GQM方法的框架,選取出適用于不同度量目標(biāo)的軟件可靠性參數(shù),進而建立裝備軟件可靠性參數(shù)體系。
[1]謝春燕,李為民.武器裝備軟件的可靠性分析綜述[J].現(xiàn)代防御技術(shù),2004,32(3):39-43.
表3 為回答問題選用的軟件可靠性參數(shù)
[2]IEEE Std 982.1-1988.IEEE Standard Dictionary of Measures to Produce Reliable Software[S].New York:The Institute of Electrical and Electronics Engineers,1988.
[3]IEEE Std 982.1-2005.IEEE Standard Dictionary of Measures of the Software Aspects of Dependability[S].New York:The Institute of Electrical and Electronics Engineers,2005.
[4]LI X B.Software Reliability Measurement:A Survey[D]. Quebec:Concordia University,2002.
[5]蔣炎坤,愈強,許健.船用嵌入式軟件可靠性及其參數(shù)研究[J].電子產(chǎn)品可靠性與環(huán)境試驗,2005,23(2):40-45.
[6]辛文逵,趙彬.航空裝備軟件可靠性參數(shù)研究[J].裝備指揮技術(shù)學(xué)院學(xué)報,2006,17(4):105-108.
[7]石柱,鄭重.軟件可靠性度量實例研究[J].系統(tǒng)工程與電子技術(shù),2011,33(1):233-236.
[8]周衛(wèi)東.組合導(dǎo)航系統(tǒng)應(yīng)用軟件可靠性研究[D].哈爾濱:哈爾濱工程大學(xué),2006.
[9]陸民燕.軟件可靠性工程[M].北京:國防工業(yè)出版社,2011.
[10]U.S.Nuclear Regulatory Commission Office of Nuclear Regulatory Research.Preliminary Validation of A Methodology for Assessing Software Quality,NUREG/CR-6848[R]. Springfield:U.S.Department of Commerce National Information Service,2010.
[11]LI M,Carol S S.A Ranking of Software Engineering Measures Based on Expert Opinion[J].IEEE Trans.on Software Engineering,2003,29(9):811-823.
[12]Li H F,Lu M Y,Li Q Y.Software Reliability Metrics selecting MethodBasedonAnalyticHierarchyProcess[C]//Proc.ofthe SixthInternationalConferenceonQualitySoftware,2006.
[13]孟令中,陸民燕,張超群.基于軟件生命周期的軟件可靠性度量選取與應(yīng)用[C]//第六屆中國測試學(xué)術(shù)會議,2010:468-473.
[14]IEEE Std 982.2-1988.IEEE Guide for the Use of IEEE Standard Dictionary of Measures to Produce Reliable Software[S].New York:The Institute of Electrical and Electronics Engineers,1988.
[15]IEEE Std 1633-2008.IEEE Recommended Practice on Software Reliability[S].New York:The Institute of Electrical and Electronics Engineers,2008.
[16]GJB 5236-2004.軍用軟件質(zhì)量度量[S].北京:總裝備部軍標(biāo)出版發(fā)行部,2004.
[17]張文閣.信息化裝備軟件故障定位模型構(gòu)建[J].四川兵工學(xué)報,2013,34(8):100-102.
[18]Huang J L,Behrouz H F.Intelligent Software Measurement System for Automating the Goal-question-metrics Process[C]//Proc.of the 18th IEEE International Conference on Tools with Artificial Intelligence,2006.
[19]Norman E F,Shari L P.Software Metrics:A Rigorous and Practical Approach(second editon)[M].PWS Publishing Company,2004.
Selection of Equipment Software Reliability Metrics Based on GQM
HAN Kun1,WU Wei2,CHEN Shou-hua1,SHUAI Yong1
(1.Academy of Armored Forces Engineering,Beijing 100072,China;2.Institute of Special Vehicle,Beijing 100072,China)
Aiming at the problem of no equipment software reliability quantitative requirement and lacking of supervision to development process,a method for selecting of equipment software reliability metrics based on GQM(Goal-Question-Metric)is proposed.Firstly,universal metrics of software reliability and specific metrics of equipment software reliability are set up separately.Secondly,following the framework of GQM,goals of equipment software reliability measurement are established from different point of view,and a series of questions are listed according to the goals.Software reliability metrics suitable for specific situation are selected in way of answering question,and system of equipment software reliability metrics is established finally.
computer software,selection of reliability metrics,GQM,equipment software
TP311
A
1002-0640(2015)04-0107-04
2014-02-05
2014-03-07
韓 坤(1985- ),男,河南夏邑人,博士研究生。研究方向為軟件可靠性度量和建模。