5軟件質(zhì)量模型
5.1軟件質(zhì)量概念
1,軟件質(zhì)量的重要性: 導(dǎo)致項目進度延誤勘高、預(yù)算超支或項目失敗、項目終止坟桅。軟件質(zhì)量高降低項目開發(fā)成本华望,包括維護成本、修復(fù)成本等
2桦卒,軟件質(zhì)量的定義:
? ??·ISO/IEC9126:?反映軟件產(chǎn)品滿足規(guī)定需求和潛在需求能力的特征和特性的總和
? ??·MJ.Fisher: ?所有描述計算機優(yōu)秀程度的特性的組合
? ??·ANSI/IEEE Std 1061-1992:與軟件產(chǎn)品滿足需求所規(guī)定的和隱含的能力有關(guān)的特征或特性的全體
3立美,軟件質(zhì)量的特性: ?用戶--如何使用軟件、軟件性能和使用軟件的效果
?????開發(fā)者--中間產(chǎn)品的質(zhì)量以及最終產(chǎn)品
?????管理者--總的質(zhì)量方灾,而不是某一特性
4建蹄,ISO/IEC9126規(guī)定碌更,軟件質(zhì)量可用6個特性來評價:
? ??? 功能性:軟件所實現(xiàn)的功能達到它的設(shè)計規(guī)范和滿足用戶需求的程度
? ??? 可靠性:在滿足一定條件的應(yīng)用環(huán)境中,軟件能夠正常維持其工作的能力
?????可用性:對于一個軟件洞慎,用戶在學習痛单、操作和理解過程中所做努力的程度
? ??? 效率:在規(guī)定條件下,用軟件實現(xiàn)某種功能所需的計算機資源(包括時間)的有效程度
????? 維護性:當環(huán)境改變或軟件運行發(fā)生故障時劲腿,為使其恢復(fù)正常運行所做努力的程度
? ??? 可移植性:為使一個軟件從現(xiàn)有運行平臺向另一個運行平臺過度所做努力的程度
5.2軟件質(zhì)量分層模型
1旭绒,??McCall模型(FCM):軟件質(zhì)量要素(factor),衡量標準(criteria)和量度標準(metrics)焦人。在FCM三層模型中挥吵,軟件質(zhì)量概念是基于11個特性之上,這11個特性分別面向產(chǎn)品操作(product operation)花椭、產(chǎn)品修正(product revision)和產(chǎn)品轉(zhuǎn)移(product transition)
2忽匈,Boehm模型:
? 軟件質(zhì)量模型第一層:功能性、可靠性矿辽、可用性丹允、效率、可維護性和可移植性
? 第二層給出了23個質(zhì)量特性: 可訪問性袋倔、可說明性雕蔽、準確性、可擴充性宾娜、通信性批狐、完備性、簡潔性碳默、一致性贾陷、設(shè)備獨立性、效率嘱根、人類工程髓废、可讀性、可維護性该抒、可修改性慌洪、可移植性、可靠性凑保、健壯性冈爹、自包含性、自描述性欧引、結(jié)構(gòu)性频伤、可測試性、可理解性和可用性
? 第三層是軟件質(zhì)量度量芝此,通過對軟件開發(fā)各個階段進行問卷調(diào)查憋肖,實現(xiàn)對軟件開發(fā)過程的質(zhì)量控制
3因痛,?ISO/IEC 9126質(zhì)量模型:該模型將軟件質(zhì)量定義為六大特性:功能性、可靠性岸更、可用性鸵膏、效率、可維護性和可移植性怎炊,每個特性又分為一系列子特性谭企。
4,GB/T 16260-2006質(zhì)量模型:該模型在上述模型的基礎(chǔ)上對軟件質(zhì)量從6個質(zhì)量特性和27個質(zhì)量子特性進行概念性描述评肆。
5.3軟件質(zhì)量度量與評價
軟件質(zhì)量定量評價公式:通過國內(nèi)外多年研究债查,在軟件質(zhì)量的定量評價方面取得了一定成果。國外著名軟件質(zhì)量度量和評價產(chǎn)品中都給出了相關(guān)的計算公式糟港,如Panorama++攀操,Logiscope院仿,McCabe IQ等
?????可維護性:0.5*可測試性+0.5*可理解性
?????可測試性:0.5*結(jié)構(gòu)性+0.5*McCabe復(fù)雜度
?????可理解性:0.25*結(jié)構(gòu)性+0.25*McCabe復(fù)雜度+0.25*簡潔性+0.25*自描述性
?????結(jié)構(gòu)性:0.2*編碼語句的最大嵌套層次+0.2*修改全局數(shù)據(jù)+0.2*使用Goto語句+0.2*數(shù)據(jù)習慣用法+0.2*無條件循環(huán)語句所占比例
????? 簡潔性:0.4*實體的習慣用法+0.4*局部調(diào)用+0.2*被調(diào)用
????? 自描述性:0.2*B_comment + 0.3*全部注釋行所占的比例 + 0.5*注釋實體所占比例
????? 可移植性:0.5 * 獨立性 + 0.5 * 完整性
????? 獨立性:0.5 * 異常比例 +0.5 * 用戶定義類型
????? 完整性:(if語句 + case語句 + 初始化對象)/ 3
????? 可靠性:0.33*完整性+0.33*模塊性+0.34*可測試性
????? 模塊性:0.5 * 編碼行數(shù) + 0.5 * 結(jié)構(gòu)性