SlideShare a Scribd company logo
第九章 軟體品質管理
本章大綱 軟體品質定義 軟體品質管理基本觀念 整合性軟體品質管理模式 軟體品質保證 軟體品質規劃 軟體品質控制 軟體品質改進活動與能力成熟度模式 軟體品質管理標準
導論 軟體品質管理是運用品管的觀念與技術,對於軟體專案進行過程的軟體品質做一系列完整的規劃、執行與控制活動。 主要目的是提升軟體品質水準與設��生產力,將軟體的缺點與軟體專案失敗的風險減少至最低程度。 軟體品質管理與專案管理工作密不可分且缺一不可,唯有產出高品質的軟體才能使專案推行順利與成功。
軟體品質的定義 軟體品質定義為: 「軟體產品整體的功能和特性,滿足既定需求的能力」。 Deutach 與 Willis(1988) 將軟體品質分為兩種類型即「程序品質」與「產品品質」(圖  9.1 )。
圖 9.1  軟體品質的概念
圖 9.2  軟體品質的因素
軟體品質管理基本概念 軟體品質管理的主要工作內容包括﹕ 制訂軟體品質目標與策略。 建立軟體設計人員的品質意識。 軟體品質的規劃、品質管理活動的執行、稽核與追蹤與管制。 軟體品質的改良。 基本上,軟體品質管理的主要範疇包括「軟體設計人員管理」、「程序品質管理」、「軟體技術管理」、「產品品質管理」等。
圖 9.3  軟體品質管理的主要範疇
圖 9.4   影響軟體品質的重要因素
整合性軟體品質管理模式 整合性軟體品質管理模式 品質規劃子系統 針對軟體品質的需求,規劃與設計符合品質水準的軟體品質計畫。 品質執行子系統 針對軟體品質的設計規格,進行軟體的開發與建置。 品質控制子系統 針對軟體品質的需求,隨時偵測軟體的品質以確保軟體品質水準之達成。
圖 9.14  整合性軟體品質管理模式
軟體品質規劃 軟體品質規劃目的在於推動既定的品質政策與策略,研擬一系列的執行方案,提供軟體設計人員與品管人員進行軟體品質管理與控制的依據。 進行軟體品質規劃工作 首先要對品質目標有相當明確的瞭解 其次要確實掌握客戶的需求與組織內部的軟體設計水準等相關資訊,預測可能發生品質缺點的可能因素 提出品質管理的作業程序,以維持適當的軟體品質水準。
圖 9.6   決定軟體品質需求作業程序
表 9.3   品質需求相關矩陣
表 9.4   軟體模組與品質矩陣
表 9.5  軟體品質規劃書主要內容
軟體品質保證 Donald(1985) 將「軟體品質保證」定義: 「軟體品質保證是用以確保軟體產品符合客戶需求的一項制度與程序,它涵蓋規劃、衡量與偵測 軟體發展過程的所有活動。」 Baker 與 Fisher(1992)  將軟體品質保證定義為:「它是一種執  行軟體品質評估與衡量的活動。」
軟體品質保證 軟體品質保證的主要目的 協助程序標準的建立。 確保預定產品品質目標之達成。 評估是否與預定標準與流程一致。 確實掌握品質狀況採取修正的行動。
圖 9.5  軟體品質保證作業流程
圖 9.7   獨立認證作業流程
軟體品質控制 有關軟體品質控制的一些作法 審查 所謂「審查」是透過會議的方式找出軟體潛在的錯誤,以確保軟體的品質。
軟體品質的控制 瀏覽 針對需求規格文件、設計文件、程式碼、測試計畫進行內部非正式地快速審查程序內部 通常需要一位召集人與一位記錄者參與,由客戶代理人、維護人員與標準的執行人員分別提出問題 主要目的是偵測出一些可能早期發現潛在的錯誤問題,並及早採取修正的作法。 此種作法的缺點為可能發生不同的意見結果,不能減少再犯的機會。
軟體品質控制 檢驗 它是由有經驗的專家來檢驗 。 一般的審查通常是表面性居多,檢驗則比較深入技術的問題或專注於較複雜的問題。 檢驗須依特定的步驟進行,實施過程分別為:規劃、簡報、會議前的準備、進行、重作與跟催。 檢驗過程中,原作者應在場並參與檢驗,可節省檢驗者的時間及快速進入問題的核心。
軟體品質控制 稽核 為確保軟體能夠符合合約既定的規格與標準,定期實施稽核工作,以提早發現軟體的缺失並發現發生問題的原因。 在實施稽核工作的過程中 首先由主持人向接受稽核的單位宣布稽核工作項目、時間表以及參與稽核的工作人員 其次稽核人員依據計畫定期實施稽核作業,記錄稽核的結果,送給品保單位做進一步的分析。
軟體品質改進活動 品質改進 主要目的是針對現有軟體的功能作改進。 主要的做法包括作業標準化、品質度量、品質偵測、文件化、品質改進活動等。 一般品質改進的作業流程之實施步驟 定義品質改進的目標與政策。 制訂品質改進的整體計畫。 擬定品質改進的專案計畫。 正式實施品質改進活動。 品質改進成果的診斷與評估。 檢討與改進品質改進計畫。
圖 9.8  軟體品質改進活動作業流程
能力成熟度模式 能力成熟度模式 (CMM) 將組織的軟體開發能力水準分為五個「成熟度階段」(圖 9.9 ) 。 除了第一層以外,每一成熟度階層皆由一些「關鍵流程範圍」所組成。每一個關鍵流程範圍又由五個「共同特性」所組成,這些共同特性描述達成該關鍵流程範圍目標所必須具��的「關鍵項目」 。
圖 9.9 CMM 的關鍵流程領域與 軟體成熟度階段的關係
表 9.8 CMM 的關鍵流程之類型
能力成熟度整合模式 在 1997 年, SEI 將個別的模式整合成為一個完整的「能力成熟度整合模式」 (CMMI)  。 CMMI 是由「軟體能力成熟度模式」、「系統工程能力模式」、 「整合產品開發能力成熟度模式」與「供應商供應等模式演化而來的一個整合性模式 CMMI 比 CMM 主要是增加系統工程、風險管理與量測流程三個部分。
圖 9.10 CMMI 模式的元件圖
軟體品質管理標準 (1/3) ISO 9000 系列標準提供有關軟體開發方面的標準    ISO 9000-3 。 ISO 9000-3 係針對軟體發展的過程、軟體供給與維護,規定一個最低軟體品質的標準,適合於軟體產業的應用。
圖 9.12  軟體品質標準 ISO 9000-3 大綱
表 9.12 ISO 9000-3 條文
軟體品質管理標準 (2/3) 軟體品質標準之注意事項 命名規定:制訂統一規則,包括同義字、長度、前頭語、字尾語與會員的使用。 文件標準:軟體文件的標準格式與資料內容。 內部單位協定:標準介面、資料互傳方法、錯誤訊息。 外部訊息格式:規定外部訊息的格式與內容。 外部訊息協定:兩個功能之間介面標準化。 資料表示方法:文字、數值標準,例如 ASCII 、 EBCDIC 等。
軟體品質管理標準 (3/3) 設計表示方法:設計文件內容、表示方法,包括 語法、語意與圖形等。 總體資料使用:建立與強迫使用限制定義與共享資料使用。 錯誤處理:錯誤狀況一致性,包括錯誤類型、錯誤溝通、錯誤處理。 外部系統詞彙:對經常使用的系統詞彙統一建立標準檔案。 程式碼撰寫:撰寫程式類別、格式、單位與資料結構、允許程式變數、註解等。
結論 軟體品質管理是專案管理一項重要工作。涉及的層面舉凡技術、人員、制度與標準等均對於軟體品質有相當大的影響力。 為達到客戶需求的品質水準,品質策略的制訂、制度的建立與標準的推行,為實施軟體品質管理必要的過程。 良好制度的建立,有賴於專案人員之間彼此良好的溝通,確實的執行,而團隊默契的建立則是邁向一流軟體品質的最佳保證。
作業 課本  P364 Q1, Q3~Q12
下週個案討論 第 9 章 個案 討論問題 Q2 Q3 Q4

More Related Content

QM-034-軟體品質管理