淺談軟件開發過程的質量度量技術
摘要:本文討論軟件開發過程中度量對質量管理的重要性。如果沒有度量,沒有對軟件過程的可見度,就無法控制軟件質量。
關鍵詞:軟件開發質量度量
軟件工程的唯一目標是生產出高質量的軟件“。軟件質量保證”(Software Quality Assurance,簡稱SQA)是一種應用于整個軟件過程的保護性活動。目的是驗證在軟件開發過程中是否遵循了合適的過程和標準。SQA應用軟件質量度量技術使其在軟件生命周期各階段均得以保證。
軟件度量是測度。測度用于整個軟件過程:輔助估算、質量控制、生產率評估、及項目控制,目的是改進它。軟件工程管理和其它工程管理相比有其特殊性。首先,軟件是知識產品,進度和質量都難以度量,生產效率也難以保證。其次,軟件系統復雜程度也是超乎想象的。正因為軟件如此復雜和難以度量,為生產出高質量的軟件這個目的,軟件工程質量度量顯得更加重要。
1、軟件需求是進行“質量”度量的基礎軟件質量度量考慮兩種不同的質量:設計質量和符合質量。設計質量包括系統的需求、規約和設計。符合質量則主要關注實現問題,如果實現了設計、得到的系統滿足需求和性能目標,則符合質量較高,缺乏需求符合性則質量不高;指定的質量標準定義了一組軟件開發的準則,缺乏開發標準就缺少質量“;隱含需求”沒有滿足,軟件質量也值得懷疑。
為了保證軟件產品滿足需求,質量控制應用于整個開發周期的一系列審查、復審和測試。質量控制的任務就是策劃可行的質量管理活動,然后正確地執行和控制這些活動以保證絕大多數的缺陷可以在開發過程中被發現。質量控制在創建工作產品的過程中還包括一個反饋循環。度量和反饋相結合,使得監測產品不滿足規約時可調整開發過程。質量控制將視為整個制造過程的一部分。
2、軟件度量的三個步驟
軟件度量有數據收集、度量計算及度量評估三個必須執行的步驟。要度量軟件質量,可通過創建一個包含過程及產品測量的數據庫,讓軟件工程師及管理者能夠更好地了解他們所做的工作及所開發的產品各個時段的質量狀態。
軟件工程是一種層次化技術,包括過程、方法和工具,它對技術或實體的分析、設計、建造、驗證和管理。其基礎是過程層,軟件過程是建造高質量軟件需要完成的任務框架,它定義了軟件開發中采用的方法,而方法層是技術上如何實現,工具層對過程和方法提供自動化和半自動化工具的支持。軟件工程探索軟件開發過程的研究現狀,以有組織的質量保證為基礎。質量管理刺激了不斷的過程改進,正是這種改進導致了更加成熟的軟件工程方法的不斷出現。
3、軟件工程用技術度量評估質量軟件工程的最高目標就是產生高質量的系統、應用軟件或產品。為了達到這個目標,軟件工程師必須掌握在成熟的軟件過程背景下對有效的方法及現代化的工具(如CASE)之應用。由于硬件成本持續降低,可支持運行CASE工具的工作站和網絡已經成為軟件工程使用的工作平臺,CASE工具可完成一些特定的軟件開發過程。這些工具提供給軟件設計者以圖形方式描述軟件設計的能力,這樣就易于維護、易于交叉檢查、易于理解。除此之外,優秀的軟件工程師及優秀的軟件工程管理者必須不時評估是否能夠達到高質量的目標。
4、有用的軟件質量的測量指標
為了保證軟件質量,人們用直接的或間接的測量方法測度質量因素,書中提出四種常用測量指標:正確性:正確性是軟件完成所需的功能的程度。正確性的最常用的測量是每千行(KLOC)的缺陷數,在這里,缺陷定義為驗證出來的與需求不符的地方。
可維護性:指遇到錯誤時程序能被修改的容易程度;環境發生變化時程序能夠適應的容易程度,用戶希望改變需求時程序被增強的容易程度。可維護性無法直接測量,采用間接測量。如面向時間的度量用平均修改時間(mean-time-to-change,MTTC),即分析改變的需求、設計合格的修改方案、并將修改的結果發布給用戶所花的時間。
完整性:現在軟件完整性日益重要。它測量系統在安全方面的抗攻擊能力。這些攻擊可能發生在軟件的三個主要成分上:程序、數據及文檔。為了測量完整性必須加入兩個附加的屬性:威脅和安全性。一個系統的完整性可以定義為:完整性=Σ[l—威脅×(1—安全性)]可用性:即“用戶友好性”。根據四個特性量化“用戶友好性”:(1)學會系統所需的體力的和/或智力的投入;(2)使用系統達到中等效率所需的時間;(3)當系統由某個具有中等效率的人使用時,測量到的生產率的凈增長率(與被該系統替代的老系統相比);以及(4)用戶對系統的態度的主觀評估(可以通過調查表獲得)。
上述的四個因素僅僅是被建議作為軟件質量測量顯的眾多因素中的一個樣板,軟件質量因素還有:健壯性、效率、可用性、風險、可理解性、可維修性、靈活性(適應性)、可測試性、可移植性(、有一種定量度量的方法是:用原來程序設計和調試的成本除移植時需用的費用)?稍儆眯、可運行性等等。
5、結語
差異控制是軟件工程質量控制的核心。要生產出高質量的軟件,就要注意差異控制,注意項目需求分析。在需求分析階段要注意:(1)質量指標對不同人群、不同目的、不同時段要求可能不同,具體質量控制指標需供需雙方共同約定;(2)質量指標與度量標準、目的相關,一般的情況是高指標具有高技術難度、需要高投入、較長開發期;(3)軟件開發不同于其他產品的制造,軟件的整個過程都是設計過程(沒有制造過程);(4)軟件開發不需要使用大量的物質資源,而主要是人力資源。
充分認識軟件工程的目標,為確保目標實現切實采用的軟件度量技術,控制所有過程的質量,滿足顧客和組織內部雙方的需要和利益,定期評價質量體系,生產出高質量軟件。
【淺談軟件開發過程的質量度量技術】相關文章:
淺談建筑工程質量及基礎安全施工技術12-11
淺談如何提高護理質量?03-24
淺談臨床醫學檢驗技術質量管理問題及對策收03-01
淺談高性能砼施工技術及質量控制措施論文11-28
淺談如何提高體育教學的質量01-17
淺談數控實習教學質量的提高12-04
淺談電工電子技術教學12-04
- 相關推薦