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