Presentation is loading. Please wait.

Presentation is loading. Please wait.

第八章 軟體品質與軟體度量.

Similar presentations


Presentation on theme: "第八章 軟體品質與軟體度量."— Presentation transcript:

1 第八章 軟體品質與軟體度量

2 大綱 軟體品質 品質管理 軟體度量 品質保證與品質控制比較 軟體品質保證與測試 結論

3 軟體品質 品質的重要性與特性 何為軟體品質? 品質模型

4 品質的重要性與特性1 重要性 品質對於現今社會經濟發展是有很重要的作用。 品質是一種社會進步與生產力發展的指標。
以品質去求生存與發展,是現今各家企業公司最重要的理念。 所以我們應該要高度重視品質問題,並且不斷的盡力提高與發展。

5 品質的重要性與特性2 產品品質 效能 可靠性 壽命 根據產品主要使用目的所提出的各項功能要求。
根據規定的時間與條件下,能夠完成規定之功能的能力。 壽命 指得是產品本身所能正常使用的期限。

6 品質的重要性與特性3 經濟性 安全性 外觀性 指的是產品在壽命周其中的總費用,包括生產與使用成本。
指的是產品在流通後與使用過程期間,保證安全的程度。 外觀性 指的是產品本身的外觀、美學、造型、款式、色彩與包裝…等等。

7 品質的重要性與特性4 品質特性 ISO9126 定義軟體品質特性(Software Quality Characteristics)是軟體產品的一組屬性,用來對軟體的能力進行描述和評估。 品質特性包含: 品質特性參數 品質特性包括效能、可維護性、可靠性、健壯性和使用者有好性。

8 品質的重要性與特性5 真正品質特性與代用品質特性 品質特性質
真正品質特性是使用者所要求的使用品質特性。要明確的去區別真正品質特性與代用品質的區別,去研究品質標準和使用品質要求之間的符合程度,並且去做必要性的修改與調整。 品質特性質 品質特性值通常表現為各種數值的指標。根據品質的指標性質不同,可以在區分為兩類: 計數值:指品質特性值只能取某組特定數值,而不能取這 些數值之間的數值。 計量值:品質特性值可以任取範圍內的可能數值。

9 何為軟體品質?1 品質是客戶要求、期望的有關產品或服務的一組特性,落實到軟體上,這些特性就是軟體本身的功能、安全性和效能…等,而這些特性決定了一個軟體產品讓顧客的的滿意度,並且這些特性是可以度量的。 品質最後一道的檢驗者就是顧客本身,所以簡單說品質就是顧客滿意度。

10 何為軟體品質?2 保證軟體品質就是要滿足軟體本身所聲明的功能與效能。 從以下兩個定義可以理解:
軟體本身需求是品質度量的基礎,與需求不符合的話就是品質不高。 制定一套標準的指導軟體發展定義。並且要按照所定義的標準去實施,否則可能會導致品質不高。

11 何為軟體品質?3 ANSE/IEE 規定了六個軟體品質特性要素: 正確性 可靠性 易使用性 效率 可攜性 可維護性

12 品質模型1 Boehm’s Quality Model: 高階層 現狀實用性:使用時是否易操作、可靠並且有效 率。 􀁺
維護性:修改、測試和理解是否容易。􀁺 可攜性:是否可以隨著環境改變,功能還可以使用。

13 品質模型2 中階層 可攜性:可以應用在其他電腦環境,而非單 只可被某種電腦環境使用的特性。 􀁺
可靠性:程式碼可被預期能使人滿意地執行預期的目標功能。 􀁺 效率:能夠直接達到功能目的且不浪費資源。

14 品質模型3 人性工程:有人性化的特性。 可測性:程式碼有助於建立驗證準則並可支援其性能之評估。 可了解性:可以清楚瞭解程式碼用意。 􀁺
可變性:有彈性,需要改變時有助於改變。

15 品質模型4 圖:Boehm 模型

16 品質模型5 McCall Model: McCall Model進一步將軟體特性以階層式架構成三種型 態:因子(factors)、準則(criteria)及衡量指標(metrics) 。 以下是十一種因子: 正確性:程式滿足其規格及達到顧客要求的程度。 可靠性:程式能精確地執行其預期功能的程度。

17 品質模型6 效率:程式執行其功能時所需的計算資源與程式碼的量。 完整性:對於軟體或資料被非授權者使用的情況可被控制的程度。
可用性:學習、操作、輸入與輸出所需的工作量。 維護性:發現錯誤和修復的所需的工作量。

18 品質模型7 彈性:修改操作程式所需的工作量。 可測性:測試程式以確定其執行功能所需的工作量。
可攜性:將程式轉移至其它軟硬體環境時所需的工作量。 可重用性:指程式可在其它應用程式中重複使用的程度。 合作性:系統間互相配合所需的工作量。

19 品質模型8 圖:Mc Call Model(1)

20 品質模型9 圖:Mc Call Model(2)

21 品質管理 品質管理的定義 品質管理的任務 全面品質管理的定義 全面品質管理的特點 全面品質管理的工作模式

22 品質管理的定義 品質管理是確定值品的方針、目標與職責。
品質體系中通過將實施的全部管理職能的所有活動。如:品質策劃、品質控制、品質保證和品質改善。 品質管理是各階級管理者的職責,但為最高管理者去領導。 『企業管應以管理為綱』

23 品質管理的任務 基本任務是正確的制訂和貫徹執行品質目標和政策。 不斷提高產品與服務品質去滿足顧客和使用者的需求。
時間表被縮短、壓縮預算、人員變化、使用者需求改變…等,都是會導致軟體品質變差的原因。

24 全面品質管理的定義 一個組織以品質為中心,以組織內外部全員參與為基礎,目的在於通過讓顧客滿意和本組織所有成員及社會受益而達到長期成功的管理途徑。

25 全面品質管理的特點1 有四個特點: 全面品質管理 全程過程品質管理 除了對於產品品質進行管理以外,也需要去針對工作品質和服務品質進行管理。
產品品質會有一個產生、形成和完成的過程。 把整個產品品質形成的各各環節全面管理起來,形成一個綜合性的品質管理體制。

26 全面品質管理的特點2 全員參加品質管理 全面品質管理採用的方法是多樣性
要求企業內外部所有的全體人員要來參加,並且在於自己所處的工作當中,去執行品質管理的工作。 全面品質管理採用的方法是多樣性 因為考慮到影響產品品質的因素越來越多,人本身、心理、外在因素跟企業內部因素,所以單一管理的方法是不夠,需要綜合更多方面的方法才會更有實效。

27 全面品質管理的工作模式1 全面品質管理採用一套科學性並合理性的程式模式去運作。 PDCA法 P Plan D Do A Act C
Check 圖:PDCA 循環法

28 全面品質管理的工作模式2 Step1:計畫(Plan)階段,就是要適應使用者的要求,以達到為經濟成效的目標。
Step2:執行(Do)階段,按照制定的計畫去執行。 Step3:檢查(Check)階段,對照計畫,檢查執行的情況和效果,以提早發現問題。 Step4:處理(Act)階段,根據最後檢查的結果,去採取措施,並修正。

29 軟體度量 軟體度量的概念 軟體度量的類別 品質度量的內容 品質度量的範圍 品質度量作用與目的 軟體度量的活動階段

30 軟體度量的概念1 度量是指根據一定的規則,去將數字和符號賦予給系統、組成元件…等實體的特定屬性。使我們可以能夠清楚地理解實體與其屬性的量化表示。 為了分析、理解,可以運用指標 (Indicator)來表示度量活動的結果。 度量是對軟體產品進行範圍廣泛的測度,並且給系統、組成原件和過程的某個給定屬性的度的定量測量。

31 軟體度量的概念2 軟體過程 資料收集 測量 軟體專案 度量計算 度量 產品品質 指標 度量評估 圖:測量、度量和指標的關係圖

32 軟體度量的類別 主要有三類別: 軟體過程度量 軟體專案度量 產品品質度量 用於過程的最佳化和改進。 用於專案控制和生產率評估。
用於產品評估和決策。

33 品質度量的內容1 一般常用的品質度量有四種: 軟體規模度量 軟體複雜度度量 千行程式碼行數(KLOC)。
幫助我們預測完成產品所需要的程式碼和合理的工作量,監控研發進度的正常進行。 軟體複雜度度量 有結構複雜度指標。 預測軟體產品各部分的複雜性,合理分配資源與人力,以獲得為高的效率比。

34 品質度量的內容2 軟體缺陷度量 等效問題密度=等效問題/KLOC。
可以幫助我們確定產品缺陷變化的狀態,並且可以知道缺陷活動所需的工作量,和分析產品缺陷分布狀況,預測產品發佈後缺陷的影響情況。

35 品質度量的內容3 軟體可靠性度量 平均失效前時間(MTTF)指軟體在失效前正常工作的平均統計時間。
平均失效恢復時間(MTTR)指軟體失效後恢復正常工作所需的平均統計時間。 平均失效間隔時間(MTBF)指軟體在相繼兩次失效之間正常工作的平均統計時間。 MTBF=MTTF+MTTR 可靠性=MTTF/MTBF*100%

36 品質度量的範圍 從需求分析到設計、執行、測試和軟體維護。 從開發者、專案管理者、測試者和使用者。 從程式碼實現到各種評審檢視。

37 品質度量作用與目的1 作用 用資料指標表明驗收標準 分配資源進行量化均衡 監控專家進度和預見風險 預計和控制產品的進度、成本和品質

38 品質度量作用與目的2 目的 (1)理解 (2)預測 (3)評估 (4)改進 通過分析去獲得過程、產品、資源和環境資源。
由己知的要素去推斷其他要素,以便合理分配資源。 (3)評估 分析活動與計畫的符合程度,以便於控制後來執行。 (4)改進 根據量化資訊,幫忙找出問題點,或是可以提高產品品質的和過程效率的方法。

39 軟體度量的活動階段1 目標驅動的軟體度量活動階段主要包括五個 識別目標 定義度量過程
根據管理者的不同要求去分析出度量的工作目標,並由管理者審核確認。 定義度量過程 收集要素:定義收集活動和分析活動所需要的資料要素。 收集過程:定義資料收活動的形式、角色及資料的儲存。 分析/回饋:定義資料的分析方法和分析報告的回饋形式。

40 軟體度量的活動階段2 收集資料 資料分析與回饋 過程改進 應用IT支援工具進行資料收集工作。
度量小組根據收集結果,完成規定格式圖表,向管理者和資料提供者進行回饋。 過程改進 根據度量的分析報告,管理者基於度量資料作出決策。

41 品質保證與品質控制比較 品質保證與品質控制的差異 品質保證的活動 品質控制的活動

42 品質保證與品質控制的差異1 圖:QA跟QC的運作

43 品質保證與品質控制的差異2 品質保證(QA, Quality Assurance) 品質控制(QC, Quality Control)
目標是預防缺陷和錯誤的發生。 品質控制(QC, Quality Control) 目標是找出缺陷和錯誤,並解決問題。 這兩種方式在運作上的方向是有所不同的,但兩者皆屬於品質管理的一環。

44 品質保證的活動 制定計畫 需求審查 設計審查 程式碼審查 測試案例審查 制定出可執行的方案。 對於每個需求進行審查。
對於每個設計步驟進行審查。 程式碼審查 對於每個程式碼進行審查。 測試案例審查 對於使用的測試案例進行審查。

45 品質控制的活動1 測試(Testing) 追蹤(Tracking) 在品質管理中是最實際的行動,但是也是最花人力與時間的。
在指定的狀況下對系統或其中某部分所作的活動去紀錄,並且還要進行審核。 追蹤(Tracking) 追蹤的專案有問題追蹤、需求變更追蹤,以及程式變更追蹤這三大項。 可以瞭解現階段的測試狀態。

46 品質控制的活動2 監督(Monitoring) 每個測試人員都必須負起個人監督的責任。
在追蹤到問題後,必須要監督這個軟體缺陷直到軟體本身被修改完畢。 並且還要確定修改後不會引起其他問題。

47 軟體品質保證與測試 軟體品質保證SQA 測試 SQA與測試工作的差異 SQA小組的活動

48 軟體品質保證 軟體品質保證(Software Quality Assurance, SQA) 主要活動:
主要是針對品質提升及品質確保這兩項而制定的計畫。 主要活動: 協調度量工作 協調風險管理工作 執行評審 協調文件檢查會議 促進/協助流程改進 監察測試工作

49 測試 測試(Testing) 測試流程中的五個子流程: 針對所要採取的測試活動作出有系統的規劃。 檢查專案計畫 建立測試計畫
建立測試設計、測試用例、測試軟體和測試過程 執行正式的測試 更新測試文件

50 SQA與測試工作的差異 軟體測試是一種有效提高軟體品質的手段,但是測試畢竟是一種事後的、檢驗的,而如何讓軟體在生產過程中保證軟體過程的品質和效率,是比單純的測試工作還更具有重要的意義。

51 SQA小組的活動1 為專案準備SQA計畫 參與開發該項目的軟體過程描述 評審軟體工作各項活動
SE小組要為進行的工作選擇一個過程。 評審軟體工作各項活動 驗證其與已定義的軟體過程的符合程度。

52 SQA小組的活動2 審計指定的軟體工作產品 確保軟體工作和軟體產品中的偏差已被紀錄 紀錄任何不符合的部分
審計指定的軟工產品,並且對已定義的軟體過程去進行驗證。 確保軟體工作和軟體產品中的偏差已被紀錄 確認軟體工作和軟體產品的偏差是否被紀錄在案。 紀錄任何不符合的部分 紀錄任何不符合的部分,並呈報給上級管理部門。

53 結論 軟體品質管理既有特殊性,也有品質管理的普遍性。此章節主要是介紹品質管理的各種知識,以幫助軟體品質管理人員可以瞭解傳統的品質管理知識,以加強理論基礎,對於未來更有良好的觀念去作好有關軟體品質管理的工作。


Download ppt "第八章 軟體品質與軟體度量."

Similar presentations


Ads by Google