中航工業蘇州長風航空電子有限公司 曾 睿
?
基于風險管理的軟件質量控制方法
中航工業蘇州長風航空電子有限公司 曾 睿
【摘要】《質量管理體系 要求》(ISO 9001:2015)引言中引入了基于風險的方法的概念,據此以美國Carnegie Mellon大學軟件工程研究所(SEI)構建的持續風險管理框架模型(CRM)為例,介紹了基于風險管理的軟件質量控制方法。該模型將軟件質量風險管理過程劃分為風險識別、分析、計劃、控制、跟蹤5個步驟,強調風險管理的方式是連續循環的,其核心是風險管理的溝通與交流,要求在軟件研發及其產品生命期的所有階段都要通過不斷溝通和交流來關注風險管理。
【關鍵詞】軟件;質量控制;風險管理
軟件質量控制是確定軟件研發結果與質量標準和用戶需求的符合程度,防止軟件產品出現缺陷的過程與活動。它不僅包括軟件產品的質量控制,也包括軟件研發過程的質量控制,貫穿于軟件研發的全過程,其主要手段為驗證與確認。驗證是從軟件研發角度來評判是否正確地構造了產品(是否符合標準),而確認則是從軟件用戶的角度來評判是否構造了正確的產品(是否符合需求);其主要方法通常有事前控制和事后控制兩大類。前者通過CMM、ISO等標準化和過程管理來預防和控制軟件質量缺陷,后者通過技術評審、調試和測試來發現和彌補軟件質量缺陷。盡管兩者各有其作用,且不能相互替代,但事前控制對于保證軟件質量更為重要。
隨著軟件功能越來越強大、系統越來越復雜,影響軟件質量的因素越來越多,軟件質量的不確定性也在增加。為此,在事前控制中可借助于風險管理法,對軟件研發過程中的各種影響因素及其不確定性進行分析和管控,以進一步提高軟件質量、降低研發和使用費用。
2.1風險與風險管理
相對于ISO 9001:2008《質量管理體系 要求》,新版《質量管理體系 要求》(ISO 9001:2015)引言中引入了基于風險的方法的概念[1]?!顿|量管理體系 基礎和術語》(ISO 9000:2015)給出了有關風險的定義,即:風險是針對預期結果的不確定性的影響[2]。實際上,之前的ISO 9001標準已應用了基于風險的方法這一原理,而新版標準將基于風險的方法表述得更加明確,并將其融入了質量管理體系的建立、實施、維護和持續改進的要求中。
軟件質量風險系指期望達到的軟件質量目標與實際結果的差距,即目標與結果符合程度的不確定性,可用風險值來表征,其數學表達式為[3]:
R=P×C (1)
式中:R-軟件質量風險值;P-風險發生的概率;C-風險帶來的后果。
軟件質量風險管理系指識別、分析、評估和控制軟件質量風險的活動。它不是孤立的,而是一個系統化和持續化的過程。
風險是一種客觀存在。人們只能在一定范圍內改變風險形成和發展的條件,降低風險發生的概率,減輕風險帶來的不利影響,但難以徹底消除風險。因此,風險管理就顯得尤為重要。
2.2風險管理步驟
軟件質量風險管理是軟件質量管理領域的研究熱點之一。目前,比較成熟的風險管理方法是美國Carnegie Mellon大學軟件工程研究所(SEI)構建的軟件質量風險管理體系。該體系由風險評估和風險管控兩部分構成。前者包括風險識別與分析,據此評估風險發生的概率(P);后者包括風險跟蹤與應對,據此管控風險帶來的后果(C),從而降低軟件質量的風險值(R)。為此,該體系將軟件質量風險管理劃分為風險識別、分析、計劃、控制、跟蹤5個步驟。風險管理的方式是連續循環的,其核心是風險管理的溝通與交流,要求在軟件研發及其產品生命期的所有階段都要通過不斷溝通和交流來關注風險管理,即所謂持續風險管理框架模型(Continuous Risk Management,CRM)[4],見圖1。

圖1 持續風險管理框架模型
步驟1:識別。風險識別定義了發現風險的活動和方法,其目的在于通過識別,發現軟件研發過程中存在哪些風險因素和困難,從而揭示風險和風險來源。這是軟件質量風險管理的基礎,可依靠問卷等方式完成。
步驟2:分析。風險分析定義了評估風險的活動和方法,其目的在于逐項分析軟件研發過程中各風險因素可能影響的程度和范圍、發生概率,并據此對各風險因素進行分級或分類,確定最嚴重的風險問題。
步驟3:計劃。風險計劃定義了應對風險的活動和方法,其目的在于將按優先順序排列的風險列表轉變為風險應對計劃所需的任務,包括(但不限于)為嚴重風險確定風險設想情形、相應的應對途徑和行動方案。
步驟4:跟蹤。風險跟蹤定義了監視風險的活動和方法,其目的在于收集精準、及時和相關的風險變化信息,并將其以更為有效和便于理解的方式提交給軟件研發負責人,以便確定啟動執行風險應對計劃的時機。
步驟5:控制。風險控制定義了降低風險的活動和方法,其目的在于根據風險應對計劃和跟蹤結果進行及時有效的決策,采取有針對性的行動,并報告風險應對結果,從而控制軟件研發過程的風險,并使其盡可能降低。
基于風險管理的方法并不是新概念。新版《質量管理體系 要求》(ISO 9001:2015)對此加以言明并貫穿于質量管理全過程,包括如實施預防措施以消除潛在不合格、分析發生的不合格并采取與不合格的影響相適應的措施防止其再發生。在軟件質量管理方面,已經采用了基于風險管理的方法。該方法是持續運用的,需要具備更多的知識和準備?;陲L險管理的方法增加了實現軟件質量目標的可能性,減少了不良結果的可能性,并促使軟件研發人員養成預防的習慣。
參考文獻
[1]ISO 9001:2015 Quality management systems-Requirements[S].2015.
[2]ISO 9000:2015 Quality management systems-Fundamentals and vocabulary[S].2015.
[3]Boebh B.W.Software risk management[M].Piscataway:IEEE Computer Society Press,1989.
[4]潘春光等.軟件項目風險管理理論與方法研究綜述[J].控制與決策,2007,22(5):481-493.
作者簡介:
曾睿(1986—),四川內江人,工學碩士,現任軟件工程師,主要從事軟件質量管理工作。
Software quality control method based on risk management
ZENG Rui
(AVIC Suzhou Changfeng Avionics Co.,Ltd.Suzhou Jiangsu,215000)
ABSTRACT:A concept based on risk approach is introduced in the introduction of ISO 9001:2015 Quality management systems-Requirements. As an example,according to Continuous Risk Management(CRM)framework model constructed by the Software Engineering Institute(SEI)at Carnegie Mellon University in the United States,a software quality control method based on risk management is introduced in this paper.The process of software quality risk management in the model is divided into 5 steps:risk identification,analysis,planning,control and tracking.It is emphasized that risk management is a continuous cycle of process,its key is communication between the steps and it is required to pay attention to risk management in all phases of life cycle for the software development and product.
KEYWORDS:software;quality control;risk management