310 likes | 552 Views
Chap 2 軟體品質管理的基本觀念. 什麼是品質良好的軟體 ?. 品質的好壞是左右商品生命的的關鍵。 擁有良好品質的軟體應具有什麼特性: Bug 極少。 (bug free! possible?) 功能滿足使用者需求,符合既定規格水準。 …. 軟體品質定義. 軟體產品整體的功能和特性,滿足既定需求的能力 (Schulmeer & McManus, 1996) 。 軟體品質分為兩種類型 (Deutach & Willis, 1988) 「流程品質」 (process quality) 「產品品質」 (product quality). 軟體品質.
E N D
什麼是品質良好的軟體? • 品質的好壞是左右商品生命的的關鍵。 • 擁有良好品質的軟體應具有什麼特性: • Bug極少。(bug free! possible?) • 功能滿足使用者需求,符合既定規格水準。 • …
軟體品質定義 • 軟體產品整體的功能和特性,滿足既定需求的能力 (Schulmeer & McManus, 1996) 。 • 軟體品質分為兩種類型 (Deutach & Willis, 1988) • 「流程品質」(process quality) • 「產品品質」(product quality)
軟體品質 軟體流程品質 軟體產品品質 • 技術 • 工具 • 人員 • 組織 • 設備 • 文件 • 設計 • 程式碼 • 測試 .... .... 軟體品質概念
軟體品質概念 • 軟體流程品質 • 指軟體產品發展過程的品質,與一些重要資源的綜合運用有關,例如:技術、工具、人員、組織、設備。 • 軟體產品品質 • 指軟體產品擁有的特性,例如:文件的完整性、正確性、可讀性;設計的可追蹤性;程式碼的可靠性;測試的涵蓋性等。
整體性 可靠性 存活性 功能構面 開發階段 使用性 效率 正確性 績效構面 安全性 交換性 維護性 軟體品質 可擴充性 彈性 改變構面 可攜性 維護階段 再用性 可驗證性 管理構面 可管理性 軟體品質模式品質因素
多餘的品質 • 注意:除真正的品質需求外,避免提供多餘且過剩的品質,否則會造成時程、資源之浪費及溝通障礙,且無助於產品附加價值之提升。
軟體品質經常發現的問題 • 在軟體開發過程中,在軟體品質方面經常發現下列幾個問題: • 使用者對於軟體品質滿意程度不高。 • 未建立一套系統化的開發制度與流程。 • 軟體文件欠缺或不完整,軟體維護管理相當不易。 • 軟體業者不重視軟體標準。 • 軟體品質管理人員未徹底執行確認與驗證工作。
如何建立優良品質的軟體? • 設計與程式碼檢驗與測試。 • 使用現代軟體工程的方法。 • 使用物件導向開發技術與工具。 • 流程改善。 • 軟體標準化。 • 軟體品質保證。 • 使用軟體品質評估工具。 • 獨立確認與驗證(IV&V)。 • 稽核作業。 • 軟體度量。 • 版本管理。 • …
軟體品質管理 • 軟體品質管理主要是運用品管的觀念與技術,對於軟體專案進行過程的軟體品質作一系列完整的規劃、執行與控制的活動。 • 其主要目的是提升軟體品質水準與設計生產力,將軟體的缺點與軟體專案失敗的風險減少至最低程度
品質管理觀念的變化 • 過去 • 品質是工人的責任。 • 品質瑕疵最好不讓顧客知道。 • 品質改善著重在實際改良作業。 • 品質改善增加專案成本。 • 品質活動在專案執行中發生。 • 現在 • 品質是所有人的責任。 • 品質瑕疵應被強調,並立刻解決。 • 記錄品管過程,以做日後改進依循。 • 品質改進可減少成本,增加商機。 • 品質活動應及早規劃。
軟體品質管理的主要範疇 • 基本上,軟體品質管理的主要範疇包括 • 流程品質管理 • 產品品質管理 • 軟體設計人員管理 • 軟體技術管理
管理與技術 軟體設計 • 人員專業能力 人員管理 流程品質 管理 • 資產與工具 • 客戶滿意 • 軟體元件庫 軟體技術 產品品質 • 軟體生命週期 • 品質機能 • 展開 管理 管理 • 文件管理 • 流程模式 • 連續流程改進(例:導入CMMI) 軟體品質管理的主要範疇
軟體設計人員管理 • 軟體設計人員是軟體品質管理最重要的一項關鍵要素。 • 人員的晉用、訓練、工作生涯規劃與發展、激勵、獎金等,均是軟體設計人員管理的重點。 • 資訊人員在早期系統開發階段的參與,對資訊系統的瞭解程度亦愈加深入。 • 軟體工程專家認為人力才是提升軟體設計生產力最重要的關鍵所在。
軟體設計人員管理 • 專家提出下列幾項建議: • 引進高素質的軟體設計人力。 (2) 對於軟體設計工作者不斷進行訓練與教育工作。 (3) 激勵軟體開發人員以提升其績效水準。 (4) 發展績效評估制度以達到個人工作目標與企業組織目標相互結合。 (5) 改進與提升工作環境的品質與作業能力。 (6) 重視人員彼此間有效的團隊合作能力,以生產高品質的軟體為目標。
產品品質管理 • 產品品質管理的重點在於設計與控制品質於某一特定水準。 • 專案管理者必須設定軟體品質的標準,隨時追蹤軟體的品質水準。 • 將發展完成的軟體進行有系統的分類與管理也是產品品質管理的重點之一。 • 利用標準化、模組化與簡單化的方法加強軟體品質控制,可以降低軟體開發的成本與提升軟體品質。
流程品質管理 • 重點在於確認與驗證軟體發展工作的品質與每一階段的軟體品質水準, • 利用軟體標準的建立、開發流程標準化與品質改進活動等方法,將軟體品質予以控制在某一水準上。 • 因涉及範圍相當廣,需同時採取管理與工程兩方面的措施。
軟體技術管理 • 主要包括 • 技術文件管理 • 技術安全制度的導入與應用 • 可再用性軟體元件庫的建立 • 引進新技術方式 • 技術創新 • …
軟體品質管理主要的工作 • 制訂品管的目標與策略 • 建立軟體設計人員的品質意識 • 認證與驗證 • 品質改進活動 • 軟體品質保證 • 建立品質的標準與品質管理程序 • 軟體發展作業流程制度化與標準化。 • 不斷偵測進度與品質 • 缺點數分析 • 軟體品質的評估與度量 • 軟體工具的應用。 • …
主管的重視與支持 • 主管人員對於品質管理的重視與支持,為另一項是否能夠成功的關鍵因素: • 認證制度的推行 • 標準制度的建立 • 獨立確認與驗證 • 定期實施稽核 • 品質保證與評估 均有助於品質管理工作的進行。
結論 • 本章介紹何謂軟體品質,與軟體品質管理的基本觀念。 • 軟體品質管理是一個持續性的改善程序。 • 軟體品質管理涉及範圍相當廣,需要主管人員對於品質管理的重視與支持,否則不易成功。