版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、2024/3/17,1,第十二講 軟件項目質(zhì)量管理,,2024/3/17,2,主要內(nèi)容,軟件質(zhì)量的重要性軟件質(zhì)量的描述質(zhì)量度量ISO9126軟件質(zhì)量度量方法軟件質(zhì)量改進,2024/3/17,3,軟件質(zhì)量的重要性,盡管所有的商品或服務(wù)都存在質(zhì)量問題,但是軟件的特殊性,特別是其復(fù)雜性和不可見性,使其更為重要軟件危險性的增加:企業(yè)越來越依賴軟件軟件的無形性:很難知道項目中的特定任務(wù)是否完全滿足軟件開發(fā)過程中錯誤積累,2024/
2、3/17,4,軟件質(zhì)量,對軟件系統(tǒng)可以從三方面描述:描述系統(tǒng)如何工作的功能描述功能如何提供的質(zhì)量描述花費在系統(tǒng)上的資源描述問題:學(xué)院工資系統(tǒng)準(zhǔn)備選用商品化軟件。請定義選擇原則?,2024/3/17,5,軟件質(zhì)量///,答案:對用戶需求進行調(diào)查,以明確不同用戶的不同需求集合將需求分成若干組,并定義質(zhì)量和其它屬性,如質(zhì)量,可用性,效率,靈活性等某些需求具有絕對特性。例如,應(yīng)用程序必須能夠記錄職員的最大條數(shù)。這種需求必須滿足。
3、某些需求具有相對特性。某些相對需求比其它需求更重要市場上調(diào)查一系列待選的軟件。度量軟件質(zhì)量的方法需要確定某些軟件的某些方面有不足,但是其它方面可能給以補償,因而定義某些方法來完策劃能夠選擇。,2024/3/17,6,軟件質(zhì)量,軟件質(zhì)量可以包括:運行質(zhì)量正確性可靠性集成性可用性修改質(zhì)量可維護性可測試性靈活性轉(zhuǎn)換質(zhì)量可移植性可重用性互操作性,問題:請指出質(zhì)量特性中哪些是無關(guān)的,互補的和沖突的?,無關(guān)的:如可用
4、性和可重用性互補的:如靈活性與可維護性沖突的:由于考慮了某一類型的平臺可能效率高,但是移植性差,2024/3/17,7,軟件質(zhì)量,質(zhì)量要素需要轉(zhuǎn)化成開發(fā)者可以意識到的內(nèi)部準(zhǔn)則。,問題:同一準(zhǔn)則出現(xiàn)在不同的質(zhì)量要素中說明了什么?,說明這些質(zhì)量要素是互補的。,2024/3/17,8,質(zhì)量度量,對于每一準(zhǔn)則,必須定義一個和多個度量標(biāo)準(zhǔn)來完成評估工作任何相對度量需要將度量的單元與環(huán)境中發(fā)生的最大可能性相聯(lián)系,例如程序中最大的錯誤數(shù)就需要和
5、程序的大小相聯(lián)系。在某些時候,我們可以直接度量質(zhì)量,在另外一些時候,我們度量的是質(zhì)量的表現(xiàn)。軟件的使用者關(guān)注的是質(zhì)量因素,而開發(fā)者需要關(guān)注的是質(zhì)量準(zhǔn)則。,2024/3/17,9,質(zhì)量度量,為了度量,需要對每一質(zhì)量規(guī)定:度量的單元測試的范圍最差的可接受的值計劃達到的值當(dāng)前可達到的最佳的值目前的值問題:針對字處理系統(tǒng),舉出一個質(zhì)量度量的例子。,2024/3/17,10,質(zhì)量度量,質(zhì)量:易學(xué)習(xí)性定義:新手學(xué)會使用軟件生成一
6、份標(biāo)準(zhǔn)文檔的時間度量的單元:小時測試:首先對新手進行調(diào)查以確定他們的字處理軟件的使用經(jīng)驗,然后給他們一臺機器,一套軟件,訓(xùn)練手冊和安裝文檔。然后測試他們學(xué)會生成一份文檔的時間最差:4小時計劃:2小時最好:1小時目前:4小時,2024/3/17,11,質(zhì)量度量,為了產(chǎn)生一份質(zhì)量描述文檔,經(jīng)常需要將質(zhì)量準(zhǔn)則進一步細(xì)分。例如可用性下面的易理解性,可以分成:菜單結(jié)構(gòu)的易理解性,特別是某項執(zhí)行功能的命令要容易找到,其它方面還包括錯誤消
7、息的提供,幫助信息的提供等,2024/3/17,12,ISO9126,目前,不少人提出了不同的軟件質(zhì)量特性表示方法。但是缺少一個公共的標(biāo)準(zhǔn)。例如可維護性能夠指錯誤可以迅速確定并被修改,也可以指軟件能夠很容易地被修改。制定于1991年的ISO9126標(biāo)準(zhǔn)就是處理軟件質(zhì)量問題的。這份13頁的標(biāo)準(zhǔn)為制定進一步的標(biāo)準(zhǔn)奠定了基礎(chǔ)。,2024/3/17,13,ISO9126,ISO9126規(guī)定軟件質(zhì)量可以從6個特性來評價:Functionali
8、ty:與一組功能及其指定的性質(zhì)有關(guān)的一組屬性Reliability:在規(guī)定的時間和條件下,軟件維持其性能水平的能力有關(guān)的一組屬性Usability:與一組規(guī)定或潛在用戶為使用軟件所需作的努力和對這樣的使用所作的評價有關(guān)的一組屬性Efficiency:在規(guī)定的條件下,軟件性能水平與所用的資源量之間關(guān)系相關(guān)的一組屬性Maintainability:與進行指定的修改所需的努力有關(guān)的一組屬性Portability:與軟件可從某一環(huán)境轉(zhuǎn)
9、移到另一環(huán)境的能力有關(guān)的一組屬性,2024/3/17,14,ISO9126,ISO9126對每一特性規(guī)定了子特性功能特性:Compliance(依從性)指的是軟件符合應(yīng)用標(biāo)準(zhǔn)或法律的程度。Interoperability(互操作性)指的是軟件與其它系統(tǒng)交互的能力,2024/3/17,15,ISO9126,可靠性Maturity(成熟性)指的是由于軟件產(chǎn)品的問題而出現(xiàn)故障的頻率可用性,2024/3/17,16,ISO
10、9126,效率和可維護性Stability(穩(wěn)定性)不是指軟件從不變化,而是指軟件由于預(yù)想不到的原因而要修改的風(fēng)險很低??梢浦残訡onformance(遵循性):與Compliance(依從性)不一樣,它與可移植性有關(guān)。例如使用標(biāo)準(zhǔn)的編程語言就是一種遵循性。,2024/3/17,17,ISO9126,ISO9126也提供了使用這些質(zhì)量特性的指南。對于不同的產(chǎn)品,各種質(zhì)量特性的重要程度是各不相同的。一旦軟件產(chǎn)品的需求建立起
11、來后,就要進行下列步驟:質(zhì)量度量標(biāo)準(zhǔn)的選擇:ISO9126沒有給出具體的方法排序水平定義:度量的結(jié)果需要映射成等級以確定需求滿足的程度。,2024/3/17,18,ISO9126,評價準(zhǔn)則定義對每一個特性進行評價后,需要對整個產(chǎn)品有一個綜合的質(zhì)量評價ISO9126沒有給出具體的方法。推薦方法:首先根據(jù)產(chǎn)品的特定確定必須的特性,如果產(chǎn)品在這些特性方面沒有滿足,則不能采用,對于那些不是最為關(guān)鍵的特性可以采用下表的方法進行綜合計算:
12、,2024/3/17,19,軟件質(zhì)量度量方法,本節(jié)所講的是某些質(zhì)量特性的建議的度量方法,對于具體的產(chǎn)品,質(zhì)量特性的度量各有不同??煽啃訟vailability(可用性):在一段時間內(nèi)系統(tǒng)可用的時間比例Mean time between failures(MTBF):兩次失效間隔的平均時間Failure on demand: 在需要用該系統(tǒng)的時間,系統(tǒng)不可工作的概率,或者一項事務(wù)失敗的概率Support activity:錯誤報
13、告的次數(shù)某一系統(tǒng)安裝后,一般在星期一到星期五中8:00到6:00使用,四星期后,系統(tǒng)因為硬盤問題有一整天不可用。在接下來的另外兩天由于頭天晚上的批處理運行的問題每次直到早晨10點才能使用,請計算Availability和MTBF。,2024/3/17,20,軟件質(zhì)量度量方法,可維護性該特性與靈活性緊密關(guān)聯(lián)。靈活性是系統(tǒng)修改的容易程度??删S護性可以用靈活性加上可診斷性來度量。診斷性可以用診斷一個錯誤的平均時間來度量??蓴U展性將新的
14、特征加到現(xiàn)有系統(tǒng)中的效率占從頭開始開發(fā)一個新系統(tǒng)的效率的比。某公司開發(fā)一個包含5000SLOC的系統(tǒng)花費了400個人日。對系統(tǒng)添加一個新功能增加了100SLOC花費20個人日,問擴展性為多少?40%,2024/3/17,21,產(chǎn)品和過程質(zhì)量管理,上述度量都是在產(chǎn)品出來后進行的,這種事后度量也許太晚了。在過程的各個階段可能都會引入錯誤,這種錯誤將傳遞到后續(xù)的階段。因而需要在過程進行中盡心仔細(xì)的檢查。Entry Requiremen
15、ts: 在活動開始前,需要準(zhǔn)備好的條件。如在開始前,要準(zhǔn)備好測試數(shù)據(jù)和期待結(jié)果。Implementation Requirements:過程如何進行。如在測試中,當(dāng)發(fā)現(xiàn)一個錯誤并加以改進后,所有的測試必須重新進行。Exit Requirements:在一個活動結(jié)束前必須滿足的條件。例如測試階段結(jié)束的條件是所有的錯誤都被更正并且不能夠再發(fā)現(xiàn)任何錯誤。問題:在什么情況下,前面一個活動的結(jié)束條件不是后面一個活動的進入條件。,2024/3
16、/17,22,產(chǎn)品和過程質(zhì)量管理,答案:在某些場合,某一活動可以在它前面一個活動完全結(jié)束前開始。在這種情況下,后面活動的進入條件可以與前面一個活動的退出條件不一致。例如,某些軟件模塊的界面還沒有最后調(diào)整好前,就可以先在硬件平臺上來測試性能。問題:請為學(xué)院工資系統(tǒng)的代碼編寫活動確定進入條件和退出條件?,2024/3/17,23,提高軟件質(zhì)量的途徑,Increasing visibility(增加可見性):例如“egoless progr
17、amming”編程員相互瀏覽對方代碼。Procedure Structure(過程結(jié)構(gòu))Checking Intermediate Stages(檢查中間環(huán)節(jié)):將錯誤消滅在萌芽狀態(tài),2024/3/17,24,提高軟件質(zhì)量的途徑,Inspection(檢查):通過將完成的工作交付給多個合作者檢查,然后召開會議進行討論如何修改。該方法可以:很容易地發(fā)現(xiàn)表面錯誤激勵編程人員編寫出結(jié)構(gòu)更好,更清晰地代碼,因為他知道否則別的人將會批評
18、他提高團隊精神,2024/3/17,25,提高軟件質(zhì)量的途徑,IBM建立了一套更為正式和結(jié)構(gòu)化的檢查過程,稱為Fangan檢查對所有主要的交付物都進行檢查所有的錯誤都需加以注意,而不僅是邏輯的和功能的錯誤檢查可以由在所有層次的人員(除了最上層的人員外)進行檢查檢查采用預(yù)定義的步驟進行檢查會議不超過兩小時檢查由一個經(jīng)過訓(xùn)練的“moderator”來領(lǐng)導(dǎo)其它參與者也有定義的角色,例如一個人員擔(dān)任記錄員,另一擔(dān)任閱讀者等采用
19、Checklist來幫助檢查過程的實施檢查材料時采用100行一小時的速度采用統(tǒng)計方法來對檢查過程的有效性進行監(jiān)控,2024/3/17,26,結(jié)構(gòu)化編程和凈室軟件開發(fā),在二十世紀(jì)60年代,軟件變得越來越復(fù)雜而人記憶細(xì)節(jié)的能力是有限的。因此,不可能去對軟件的所有部分進行完全測試。測試所能做的是證明錯誤的出現(xiàn),而不是沒有錯誤。Dijkstra建議保證軟件代碼正確性的唯一方法是對代碼重新審視。復(fù)雜系統(tǒng)可以分成子部件,為了使這種分解工作正常
20、,每個部件必須自包含,同時只有一個進入點和一個退出點。該觀點進一步發(fā)展為IBM的凈室軟件開發(fā),該方法將軟件開發(fā)分為三個小組:分析小組開發(fā)小組校驗小組系統(tǒng)采用增量式方式開發(fā),每個團隊的產(chǎn)出都必須滿足用戶的需要。開發(fā)小組不進行編譯而代之以用數(shù)學(xué)方法來證明。校驗小組不斷的測試直到滿足特定的統(tǒng)計水平。,2024/3/17,27,形式化方法,數(shù)學(xué)方法采用的是對每一個過程定義前提條件和后置條件。前提條件定義了在處理前允許的狀態(tài),后置條件
21、定義了處理后的狀態(tài)。由于數(shù)學(xué)方法是精確的,因此可以保證其正確性。,2024/3/17,28,軟件質(zhì)量循環(huán),盡管測試方法和Fagan檢查能夠幫助發(fā)現(xiàn)問題,但是相同類型的錯誤還是一犯再犯。通過發(fā)現(xiàn)錯誤的來源,應(yīng)該可以減少相同的錯誤。因而,開發(fā)人員可以在質(zhì)量循環(huán)中參與錯誤來源的查找,該過程稱為軟件質(zhì)量循環(huán)(Software quality circles, SWQC).質(zhì)量循環(huán)由四個到十個自愿者構(gòu)成,每個星期采用一定時間如一小時尋找、分
22、析和處理他們工作中的問題。,2024/3/17,29,軟件質(zhì)量循環(huán),識別一系列問題選擇一個問題加以處理將問題分析清楚分析原因并加以評價分析解決方案并加以評價決定采用某一解決方案開發(fā)一個實施計劃將計劃交給管理部門實施計劃監(jiān)控計劃考慮解決方案更廣泛的應(yīng)用重新選擇問題問題:軟件質(zhì)量循環(huán)與一般的檢查過程有何區(qū)別一個是面向所有過程,一個是面向某一產(chǎn)品,2024/3/17,30,GQM方法,過程改善可以采用定量測量技術(shù)來實
23、現(xiàn)。GQM(Goal/Question/Metric)方法:首先需要定義一個目標(biāo),該目標(biāo)可能是評估是否一個新的編程語言能夠提高開發(fā)者的效率。為了完成目標(biāo),可以提出許多問題,例如對于上述目標(biāo),問題可以為:目前開發(fā)者編程的速度有多快?開發(fā)者利用新的編程語言有多快?目前的軟件質(zhì)量如何?利用新語言軟件質(zhì)量如何?對每一個問題,可以定義度量方法,例如來度量開發(fā)速度可以根據(jù)開發(fā)每一功能點花費的時間來進行。,2024/3/17,31,小
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第十二講 驗證管理
- 第十二講 指針
- 第十二講 java與圖形
- 第十二講 摩擦力
- 第十二講 等量代換.doc
- 第十二講 盈虧問題.doc
- 第十二講愛情和婚姻
- 管理學(xué)第十二講領(lǐng)導(dǎo)和溝通
- 第十二講恒等變形乘法公式
- 第十二講從最后結(jié)果想起
- 第十二講反比例函數(shù)
- 第十二講海洋技術(shù)的發(fā)展
- 第十二講 身體的修養(yǎng)(五)
- 第十二講中考復(fù)習(xí)講義9.7
- 第十二講相對論的世界
- 第十二講構(gòu)建文化的圣殿
- 12第十二講--伽瑪射線暴
- 第十二講形容詞和副詞
- 第十二講常見有機物及其應(yīng)用
- [學(xué)習(xí)]投資學(xué)第十二講期貨合約
評論
0/150
提交評論