表5-14 3種軟件質量模型之比較
度量標準/目標 | 麥 考 爾 | 勃 姆 | ISO 9126 |
正確性(Correctness) | X | X | 可維護性 |
可靠性(Reliability) | X | X | X |
完整性(Integrity) | X | X | |
可用性(Usability) | X | X | X |
效率性(Efficiency) | X | X | X |
可維護性(Maintainability) | X | X | X |
可測試性(Testability) | X | 可維護性 | |
互操作性(Interoperability) | X | ||
適應性(Flexibility) | X | X | |
可重用性(Reusability) | X | X | |
可移植性(Portability) | X | X | X |
明確性(Clarity) | X | ||
可變更性(Modifiability) | X | 可維護性 | |
文檔化(Documentation) | X | ||
恢復力(Resilience) | X | ||
易懂性(Understandability) | X | ||
有效性(Validity) | X | 可維護性 | |
功能性(Functionality) | X | ||
普遍性(Generality) | X | ||
經濟性(Economy) | X |
軟件質量度量方法
軟件質量度量方法比較多,例如:(1)Halstead復雜性度量法,基本思路是根據程序中可執行代碼行的操作符和操作數的數量來計算程序的復雜性。操作符和操作數的量越大,程序結構就越復雜。(2)McCabe復雜性度量法,其基本思想是程序的復雜性很大程度上取決于程序控制流的復雜性,單一的順序程序結構最簡單,循環和選擇所構成的環路越多,程序就越復雜。
過程度量
軟件過程性能
過程度量是對軟件開發過程的各個方面進行度量,目的在于預測過程的未來性能,減少過程結果的偏差,對軟件過程的行為進行目標管理,為過程控制、過程評價持續改善提供定量性基礎。過程度量與軟件開發流程密切相關,具有戰略性意義。軟件過程質量的好壞會直接影響軟件產品質量的好壞,度量并評估過程、提高過程成熟度可以改進產品質量。相反,度量并評估軟件產品質量會為提高軟件過程質量提供必要的反饋和依據。過程度量與軟件過程的成熟度密切相關,其度量模型如圖5-9所示:

圖5-9 軟件過程性能的度量模型
軟件過程管理中的過程度量
弗羅哈克(William A.Florac)、帕克(Robert E.Park)和卡爾頓(Anita D.Carleton)在《實用軟件度量:過程管理和改善之度量》(Practical Software Measurement:Measuring for Process Management and Improvement)中描述了過程管理和項目管理的關系。認為軟件項目團隊生產產品基于三大要素:產品需求、項目計劃和已定義軟件過程。度量數據在項目管理中將被用來:(1)識別和描述需求,(2)準備能夠實現目標的計劃,(3)執行計劃,(4)跟蹤基于項目計劃目標的工作執行狀態和進展。而過程管理也能使用相同的數據和相關度量來控制和改善軟件過程本身。這就意味著,軟件組織能使用建構和維持度量活動的共同框架來為過程管理和項目管理兩大管理功能提供數據。
軟件過程管理包括定義過程、計劃度量、執行軟件過程、應用度量、控制過程和改善過程,其中計劃度量和應用度量是軟件過程管理中的重要步驟,也是軟件過程度量的核心內容。計劃度量建立在對已定義軟件過程的理解之上,產品、過程、資源的相關事項和屬性已經被識別,收集和使用度量以進行過程性能跟蹤的規定都被集成到軟件過程之中。應用度量通過過程度量將執行軟件過程所獲得的數據,以及通過產品度量將產品相關數據用來控制和改善軟件過程。
軟件過程度量的內容
軟件過程度量主要包括三大方面的內容,一是成熟度度量(maturity metrics),主要包括組織度量、資源度量、培訓度量、文檔標準化度量、數據管理與分析度量、過程質量度量等等;二是管理度量(management metrics),主要包括項目管理度量(如里程碑管理度量、風險度量、作業流程度量、控制度量、管理數據庫度量等)、質量管理度量(如質量審查度量、質量測試度量、質量保證度量等)、配置管理度量(如式樣變更控制度量、版本管理控制度量等);三是生命周期度量(life cycle metrics),主要包括問題定義度量、需求分析度量、設計度量、制造度量、維護度量等。
軟件過程度量流程
軟件過程的度量,需要按照已經明確定義的度量流程加以實施,這樣能使軟件過程度量作業具有可控制性和可跟蹤性,從而提高度量的有效性。軟件過程度量的一般流程主要包括:確認過程問題;收集過程數據;分析過程數據;解釋過程數據;匯報過程分析;提出過程建議;實施過程行動;實施監督和控制。這一度量過程的流程質量能保證軟件過程度量獲得有關軟件過程的數據和問題,并進而對軟件過程實施改善。
文章來源于領測軟件測試網 http://www.kjueaiud.com/