026軟體品質度量2017 cocomoii 34中華電信 - …jykuo/train/026_2017_cocomoii...cocomo...

34
軟體品質課程 國立臺北科技大學資訊工程系郭忠義 COCOMO 郭忠義 [email protected] 臺北科技大學資訊工程系

Upload: others

Post on 24-Jun-2020

14 views

Category:

Documents


3 download

TRANSCRIPT

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    COCOMO

    郭忠義

    [email protected]

    臺北科技大學資訊工程系

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    軟體開發工作量,為軟體規模與調整因子的函數

    建立於歷史資料與以統計和迴歸的分析方法

    • 工作量=常數 × 軟體規模之成本函數 × 調整因子 衡量軟體規模大小的量度單位

    • 原始程式碼行數• 功能點數。

    調整因子

    • 各種影響軟體開發人力成本因素,包括產品、專案、人員、硬體平台等屬性。

    參數式軟體專案成本預估模式

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    常見兩個參數式預估模式

    1978年Putnam提出以Payleigh 模型為基礎的軟體生命週期模式(Payleigh’s Software Life-cycle Model, SLIM) 。

    1981年Bohem提出COCOMO (Constructive Cost Model)的成本預估模式。「軟體工程經濟學」

    • 1995年修正為COCOMO II,為目前軟體專案成本預估方法最廣為應用之一。

    開發成本估算單位

    E(Effort):軟體專案整體之工作量。 S(Source Code):軟體大小,以千行程式碼(KLOC)為單位。 TDEV(Software development time):軟體專案開發時程,以

    月為單位。

    參數式軟體專案成本預估模式

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    依軟體開發工作量預估的精確程度,提出三種漸進式模式

    基礎模式(Basic Model):只考慮軟體規模。 中級模式(Intermediate Model):考慮軟體規模及15個工作量

    調整因子。

    詳細模式(Detailed Model):生命週期開發階段之各成本比率不同。

    依軟體專案複雜度及困難度將軟體分為三種型態

    有機型(Organic Mode):小型、簡單、低複雜度、低風險的專案。

    半分離式(Semi-Detached Mode):中等規模及複雜度專案。 嵌入式(Embedded Mode):高複雜度、限制條件嚴格專案

    COCOMO預估模式

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    開發模式專案屬性

    大小 創新 限制期間/條件 開發環境

    有機型 小 少 寬鬆的 穩定的

    半分離式 中 中 適中 普通

    嵌入式 大 多 嚴格的複雜硬體/客製化

    介面

    COCOMO Model 之類別 依專案特性複雜程度分類

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    軟體專案開發初期,依專案型態估算開發需人力及時程。

    工作量/人力 Effort = a Sb,E = a (KDSI)b

    • S: Size, KLOC, KDSI - Thousands (K) of Deliverable Source Instructions (KDSI).

    開發時程 TDEV = 2.5 (Effort)C

    • TDEV(Time to Development),人月 如基本模式、有機型,公式

    • E=2.4(KDSI)1.05 ,TDEV = 2.5 (Effort)0.38

    基本模式

    模式

    類型

    基本模式 中級模式 詳細模式 開發時程參數

    a b a b a b c有機型 2.4 1.05 3.2 1.05 3.2 1.05 0.38半分離式 3.0 1.12 3.0 1.12 3.0 1.12 0.35嵌入式 3.6 1.20 2.8 1.20 2.8 1.20 0.32

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    中級模式

    調整軟體開發工作量估計值

    基本模式未考慮開發環境及開發人員相關成本影響因素

    反映不同開發環境及開發人員對軟體成本影響。

    應用15軟體工作量調整因子 (Effort Adjustment Factor, EFA)• E = a Sb EAF• EAF = gi(xi)

    如中級模式、半分離型

    • 工作量 E=3.0(KDSI)1.12

    • 開發時程 TDEV = 2.5 (Effort)0.35

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    成本因子 很低 低 中等 高 很高 超高

    產品屬性

    軟體可靠度的需求 0.75 0.88 1.00 1.15 1.40 -資料庫大小 - 0.94 1.00 1.08 1.16 -產品複雜度 0.70 0.85 1.00 1.15 1.30 1.65

    執行時間的限制 - - 1.00 1.11 1.30 1.66 主記憶體的限制 - - 1.00 1.06 1.21 1.56系統軟體(OS、DBMS 等)的更換 - 0.87 1.00 1.15 1.30 -

    電腦停機時間 - 0.87 1.00 1.07 1.15 -

    分析師的能力 1.46 1.19 1.00 0.86 0.71 -工作經驗 1.29 1.13 1.00 0.91 0.82 -程式設計師的能力 1.42 1.17 1.00 0.86 0.70 -相關系統軟體的經驗 1.21 1.10 1.00 0.90 - -程式語言的經驗 1.14 1.07 1.00 0.95 - -

    使用新的規劃方法 1.24 1.10 1.00 0.91 0.82 -使用軟體工具 1.24 1.10 1.00 0.91 0.83 -開發時程的需求 1.23 1.08 1.00 1.04 1.10 -

    中級模式工作量調整因子 EAF

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    詳細模式

    軟體專案開發生命週期,經歷不同工作階段活動

    應依不同階段不同工作量估算得到整體工作量的估計值。

    專案開發分四階段,每階段各有工作量影響因素權重值

    需求及初步設計

    細部設計

    程式設計與單元測試

    整合測試

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    成本因子 很低 低 中等 高 很高 超高

    產品屬性

    軟體可靠度的需求(RELY) 0.80 0.90 1.00 1.10 1.30 -資料庫大小(DATA) - 0.95 1.00 1.10 1.20 -產品複雜度(CPLX) 0.70 0.85 1.00 1.15 1.30 1.65

    執行時間的限制(TIME) - - 1.00 1.10 1.30 1.65 主記憶體的限制(STOR) - - 1.00 1.05 1.20 1.55系統軟體(OS、DBMS 等)的更換(TURN) - 0.98 1.00 1.00 1.02 -

    電腦停機時間(VIRT) - 0.95 1.00 1.10 1.20 -

    分析師的能力(ACAP) 1.80 1.35 1.00 0.75 0.55 -工作經驗(AEXP) 1.40 1.20 1.00 0.87 0.75 -程式設計師的能力(PCAP) 1.00 1.00 1.00 1.00 1.00 -相關系統軟體的經驗(VEXP) 1.10 1.05 1.00 0.90 - -程式語言的經驗(LEXP) 1.02 1.00 1.00 1.00 - -

    使用新的規劃方法(MODP) 1.05 1.00 1.00 1.00 1.00 -使用軟體工具(TOOL) 1.02 1.00 1.00 0.98 0.95 -開發時程的需求(SCED) 1.10 1.00 1.00 1.10 1.15 -

    詳細模式需求與初步設計階段EAF

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    成本因子 很低 低 中等 高 很高 超高

    產品屬性

    軟體可靠度的需求(RELY) 0.80 0.90 1.00 1.10 1.30 -資料庫大小(DATA) - 0.95 1.00 1.05 1.10 -產品複雜度(CPLX) 0.70 0.85 1.00 1.15 1.30 1.65

    執行時間的限制(TIME) - - 1.00 1.10 1.25 1.55 主記憶體的限制(STOR) - - 1.00 1.05 1.15 1.45系統軟體(OS、DBMS 等)的更換(TURN) - 0.95 1.00 1.00 1.05 -

    電腦停機時間(VIRT) - 0.90 1.00 1.12 1.25 -

    分析師的能力(ACAP) 1.35 1.15 1.00 0.90 0.75 -工作經驗(AEXP) 1.30 1.15 1.00 0.90 0.80 -程式設計師的能力(PCAP) 1.50 1.20 1.00 0.83 0.65 -相關系統軟體的經驗(VEXP) 1.10 1.05 1.00 0.90 - -程式語言的經驗(LEXP) 1.10 1.05 1.00 0.98 - -

    使用新的規劃方法(MODP) 1.10 1.05 1.00 0.95 0.90 -使用軟體工具(TOOL) 1.05 1.02 1.00 0.95 0.90 -開發時程的需求(SCED) 1.25 1.15 1.00 1.10 1.15 -

    詳細模式細部設計階段EAF

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    成本因子 很低 低 中等 高 很高 超高

    產品屬性

    軟體可靠度的需求(RELY) 0.80 0.90 1.00 1.10 1.30 -資料庫大小(DATA) - 0.95 1.00 1.05 1.10 -產品複雜度(CPLX) 0.70 0.85 1.00 1.15 1.30 1.65

    執行時間的限制(TIME) - - 1.00 1.10 1.25 1.55 主記憶體的限制(STOR) - - 1.00 1.05 1.15 1.45系統軟體(OS、DBMS 等)的更換(TURN) - 0.70 1.00 1.10 1.20 -

    電腦停機時間(VIRT) - 0.85 1.00 1.15 1.30 -

    分析師的能力(ACAP) 1.35 1.15 1.00 0.90 0.75 -工作經驗(AEXP) 1.25 1.10 1.00 0.92 0.85 -程式設計師的能力(PCAP) 1.50 1.20 1.00 0.83 0.65 -相關系統軟體的經驗(VEXP) 1.30 1.15 1.00 0.90 - -程式語言的經驗(LEXP) 1.20 1.10 1.00 0.92 - -

    使用新的規劃方法(MODP) 1.25 1.10 1.00 0.90 0.80 -使用軟體工具(TOOL) 1.35 1.15 1.00 0.90 0.80 -開發時程的需求(SCED) 1.25 1.15 1.00 1.00 1.05 -

    詳細模式程式撰寫及單元測試階段EAF

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    成本因子 很低 低 中等 高 很高 超高

    產品屬性

    軟體可靠度的需求(RELY) 0.60 0.80 1.00 1.30 1.70 -資料庫大小(DATA) - 0.90 1.00 1.15 1.30 -產品複雜度(CPLX) 0.70 0.85 1.00 1.15 1.30 1.65

    執行時間的限制(TIME) - - 1.00 1.15 1.40 1.95 主記憶體的限制(STOR) - - 1.00 1.10 1.35 1.85系統軟體(OS、DBMS 等)的更換(TURN) - 0.90 1.00 1.15 1.30 -

    電腦停機時間(VIRT) - 0.80 1.00 1.20 1.40 -

    分析師的能力(ACAP) 1.50 1.20 1.00 0.85 0.70 -工作經驗(AEXP) 1.25 1.10 1.00 0.92 0.85 -程式設計師的能力(PCAP) 1.50 1.20 1.00 0.83 0.65 -相關系統軟體的經驗(VEXP) 1.30 1.15 1.00 0.90 - -程式語言的經驗(LEXP) 1.20 1.10 1.00 0.92 - -

    使用新的規劃方法(MODP) 1.50 1.20 1.00 0.83 0.65 -使用軟體工具(TOOL) 1.45 1.20 1.00 0.85 0.70 -開發時程的需求(SCED) 1.25 1.10 1.00 1.00 1.05 -

    詳細模式整合測試階段子EAF

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    規模指數

    軟體規模小型

    2KDSI適中型8KDSI

    中型32KDSI

    大型128KDSI

    超大型512KDSI

    0.91|

    1.05

    計畫與需求分析 10 11 12 13 -產品設計 19 19 19 19 -程式撰寫 63 59 55 51 -整合測試 18 22 26 30 -

    1.06|

    1.12

    計畫與需求分析 16 18 20 22 24產品設計 24 25 26 27 28程式撰寫 56 52 48 44 60整合測試 20 23 26 29 32

    1.13|

    1.22

    計畫與需求分析 24 28 32 36 40產品設計 30 32 34 36 38程式撰寫 48 44 40 36 32整合測試 22 24 26 28 30

    瀑布開發模式各階段時程比率

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    規模指數

    軟體規模小型

    2KDSI適中型8KDSI

    中型32KDSI

    大型128KDSI

    超大型512KDSI

    0.91|

    1.05

    計畫與需求分析 6 6 6 6 -產品設計 16 16 16 16 -程式撰寫 68 65 62 59 -整合測試 16 19 22 25 -

    1.06|

    1.12

    計畫與需求分析 7 7 7 7 7產品設計 17 17 17 17 17程式撰寫 64 61 58 55 52整合測試 19 22 25 28 31

    1.13|

    1.22

    計畫與需求分析 8 8 8 8 8產品設計 18 18 18 18 18程式撰寫 60 57 54 51 48整合測試 22 25 28 31 34

    瀑布開發模式各階段工作量比率

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    軟體規模小型

    2KDSI適中型8KDSI

    中型32KDSI

    大型128KDSI

    超大型512KDSI

    計畫與需求分析 12.5(2-30)產品設計 37.5(33-42)程式撰寫

    62.5(58-87)整合測試

    軟體規模小型

    2KDSI適中型8KDSI

    中型32KDSI

    大型128KDSI

    超大型512KDSI

    計畫與需求分析 6(2-18)產品設計 24(20-28)程式撰寫

    76(72-80)整合測試

    階段所需時程比率

    階段所需工作量比率

    RUP開發模式

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    COCOMO II 預估模式 以影響調整指數E,取代COCOMO三種軟體專案複雜度 以3階段模式取代COCOMO基本、中級、及詳細模式

    早期雛形階段(Early prototyping level)• 應用組合模式 (Applications composition model)• 以應用點、object-point 估計軟體大小規模• 將軟體大小規模轉換為人-月單位成本• 適用於物件組成軟體,如多媒體應用

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    COCOMO II 預估模式 以3階段模式取代COCOMO基本、中級、及詳細模式

    早期設計階段(Early design level)• 早期設計模式 (Early design model)• 提供早期開發架構設計或以漸增(Incremental)開發策略,可行性方案選擇,成本預估方式。

    • 以功能點估計軟體大小規模• 將功能點轉換為原始碼行數(S, KSLOC),C= 3.0 SE

    • 七個調整因子修正 後期結構階段(Post-architecture level)

    • 後期結構模式 (Post architecture model)• 七個調整因子變為十七個

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    COCOMO II 預估模式 以3階段模式取代COCOMO基本、中級、及詳細模式

    早期雛形階段(Early prototyping level)• 應用組合模式 (Applications composition model)

    早期設計階段(Early design level)• 早期設計模式 (Early design model)• 提供早期開發架構設計或以漸增(Incremental)開發策略,可行性方案選擇,成本預估方式。

    後期結構階段(Post-architecture level)• 後期結構模式 (Post architecture model)

    以影響調整指數E,取代COCOMO三種軟體專案複雜度

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    COCOMO II 開發生命週期階段應用

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    應用組合模式

    支援雛型化專案與重複使用的專案。

    以應用點(application points) 與簡單公式預估工作量。 Srvr :伺服端中,與畫面或報告連結的資料表個數 Clnt :用戶端中,與畫面或報告連結的資料表個數。

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    應用點預估,將Screen. Report. 3GL Component 權重加總。Object Type Complexity Weight

    Simple Medium Difficult

    Screen 1 2 3

    Report 2 5 8

    3GL Component 10

    應用點預估工作量

    開發人員經驗與能力 很低 低 普通 高 很高

    整合電腦輔助軟體環境(ICASE) 成熟度與能力 很低

    低 普通 高 很高

    產能(NAP/month) 4 7 13 25 50

    NAP = AP * (100 - %reuse) /100 PM = (AP * (100 - %reuse) /100 ) / PROD,PM = NAP / PRODPM : 專案工作量,多少人/月(person-months)的工作量,NAP :應用點數(new application points),PROD :產能

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    應用點預估工作量範例

    專案早期雛形階段,預計開發軟體內容,用10個畫面的中型複雜度、8個中型複雜度報告書、6個3GL模組,計算AP 2 * 10 + 5 * 8 + 10 * 6 = 120 (AP)

    預期25%的重複使用率,計算新應用點大小 NAP= (AP) * (100 - %reuse)/100 =(120AP)*(0.75)=90 NAP

    專案在成熟度與能力等級為high,專案團隊對應用ICASE經驗及能力評比為low,產能層級(PROD)為nominal(13NAP/PM),

    預估專案工作量

    PM = NAP / PROD = 90 (NAP) /13 (NAP/PM) ≒ 7 PM

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    所需資訊及精確度,與實際開發專案執行時可用資訊一致

    PM = 2.94 SizeE EMi,i=1~7 E = 0.91 + 0.01 SFj ,j=1~5

    Multiplier : 常數 SF, Process Scale Factors,流程規模因子 EM,Environment Multipliers,環境影響因子乘數,或稱工

    作量影響因子,分產品、平台、人員、專案四種屬性。

    Schedule=(Multiplier)[Effort](Scale Factors)

    早期設計模式

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    流程規模因子(SFi) 說明 註解

    前例可循(PREC) 當專案類似先前已被開發的專案為高

    可利用過去與目標專案相似之歷史專案中的相關經驗

    開發彈性(FLEX) 符合所需依需求內容及外部介面規格

    衡量無法掌控的開發風險部分

    架構風險(RESL) 徹底的結合設計架構以消除風險發生的可能性

    明確定義可掌控的管理部分,縮減專案不經濟規模並減少失序及重複作業狀況

    團隊內聚力(TEAM)

    說明專案關鍵參與者的同步化對造成專案雜亂無章之影響

    考量團隊成員間對專案的認知差異性影響工作量的狀態

    開發流程成熟度(EPML)

    根據SEI的CMM評估結果 根據SEI組織的CMM評估結果

    早期設計模式

    流程規模因子(SFi) 很低 低 普通 高 很高 非常高前例可循 6.20 4.96 3.72 2.48 1.24 0.00開發彈性 5.07 4.05 3.04 2.03 1.01 0.00架構風險 7.07 5.65 4.24 2.83 1.41 0.00

    團隊內聚力 5.48 4.38 3.29 2.19 1.10 0.00開發流程成熟度 7.80 6.24 4.68 3.12 1.56 0.00

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    SIZEE ESIZE 1.23 1.21 1.20 1.19 1.18 1.16 1.15 1.14 1.12 1.11 1.10 1.08 1.07 1.06 1.05 1.04 1.02 1.01 1.00 0.99 0.97 0.96 0.95 0.93 0.92 0.9110 16.83 16.24 15.83 15.32 14.97 14.55 14.03 13.69 13.25 12.94 12.58 12.14 11.83 11.46 11.19 10.88 10.49 10.23 9.90 9.67 9.40 9.07 8.84 8.56 8.36 8.1320 39.38 37.59 36.37 34.85 33.80 32.57 31.08 30.09 28.84 27.98 26.96 25.73 24.90 23.87 23.16 22.31 21.29 20.61 19.75 19.16 18.46 17.61 17.04 16.34 15.85 15.2730 64.75 61.40 59.15 56.36 54.44 52.19 49.49 47.69 45.46 43.92 42.11 39.93 38.47 36.67 35.43 33.97 32.21 31.04 29.57 28.57 27.39 25.97 25.02 23.85 23.04 22.0940 92.14 86.99 83.53 79.27 76.34 72.92 68.85 66.13 62.78 60.49 57.78 54.55 52.38 49.73 47.91 45.77 43.21 41.50 39.39 37.93 36.23 34.21 32.85 31.18 30.04 28.7050 121.14 113.97 109.17 103.27 99.23 94.53 88.93 85.22 80.65 77.52 73.85 69.48 66.55 62.98 60.54 57.67 54.26 51.99 49.19 47.26 45.02 42.36 40.57 38.40 36.91 35.1660 151.48 142.11 135.85 128.18 122.94 116.85 109.62 104.84 98.96 94.95 90.25 84.66 80.93 76.39 73.30 69.67 65.36 62.51 58.98 56.56 53.76 50.44 48.22 45.51 43.67 41.5170 183.00 171.27 163.45 153.88 147.35 139.79 130.83 124.91 117.64 112.70 106.92 100.06 95.49 89.94 86.16 81.74 76.50 73.04 68.76 65.85 62.47 58.46 55.79 52.55 50.34 47.7680 215.56 201.32 191.84 180.27 172.39 163.27 152.48 145.37 136.66 130.75 123.83 115.65 110.21 103.60 99.12 93.88 87.67 83.58 78.54 75.11 71.14 66.44 63.31 59.52 56.94 53.9390 249.05 232.17 220.96 207.28 197.98 187.24 174.54 166.19 155.97 149.04 140.96 131.40 125.05 117.37 112.15 106.07 98.87 94.14 88.32 84.35 79.78 74.37 70.78 66.42 63.47 60.03

    100 283.40 263.75 250.73 234.86 224.08 211.64 196.97 187.33 175.55 167.57 158.27 147.30 140.02 131.22 125.26 118.30 110.10 104.71 98.08 93.58 88.39 82.26 78.20 73.28 69.95 66.07

    流程規模因子權重與規模大小

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    工作量影響因子 非常低 很低 低 普通 高 很高 非常高影響生產力範圍

    產品可靠度與複雜度 0.49 0.60 0.83 1.00 1.33 1.91 2.72 5.55

    可重用性 N/A N/A 0.95 1.00 1.07 1.15 1.24 1.31

    平臺困難度 N/A N/A 0.87 1.00 1.29 1.87 2.61 3.00

    人員能力 2.12 1.62 1.26 1.00 0.83 0.63 0.50 4.24

    人員經驗 1.59 1.33 1.12 1.00 0.87 0.74 0.62 2.56

    軟體工具與設備 1.43 1.30 1.10 1.00 0.87 0.73 0.62 2.31

    發展時程 N/A 1.43 1.14 1.00 1.00 1.00 N/A 1.43

    工作量影響因子與權重

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    PM E(普通):1.10

    SIZE SIZEE 2.36 2.40 1.21 1.00 1.15 1.35 1.695 5.87 40.78 41.50 20.96 17.27 19.91 23.36 29.21

    10 12.59 87.42 88.95 44.93 37.01 42.69 50.08 62.62

    15 19.67 136.56 138.95 70.19 57.82 66.68 78.23 97.82

    20 26.99 187.39 190.67 96.31 79.34 91.50 107.35 134.23

    25 34.49 239.52 243.71 123.11 101.41 116.96 137.21 171.58

    30 42.15 292.72 297.84 150.45 123.93 142.93 167.68 209.68

    35 49.94 346.81 352.87 178.25 146.83 169.34 198.67 248.43

    40 57.85 401.68 408.71 206.45 170.06 196.13 230.10 287.74

    45 65.85 457.24 465.24 235.01 193.59 223.27 261.93 327.54

    50 73.94 513.43 522.41 263.89 217.38 250.70 294.12 367.79

    55 82.11 570.18 580.15 293.06 241.41 278.41 326.63 408.44

    60 90.36 627.45 638.43 322.49 265.65 306.38 359.43 449.47

    65 98.67 685.20 697.19 352.18 290.10 334.58 392.52 490.84

    70 107.06 743.40 756.40 382.09 314.74 362.99 425.85 532.52

    75 115.50 802.01 816.04 412.21 339.56 391.61 459.43 574.51

    80 123.99 861.02 876.08 442.54 364.54 420.42 493.23 616.78

    85 132.54 920.39 936.49 473.06 389.68 449.42 527.25 659.31

    90 141.15 980.12 997.27 503.76 414.97 478.58 561.46 702.10

    95 149.79 1040.18 1058.38 534.63 440.40 507.91 595.87 745.12

    100 158.49 1100.56 1119.81 565.66 465.96 537.39 630.45 788.37

    EM i 非常低 ~ 非常高

    規模影響因子E =1.10各工作量影響因子權重PM

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    專案訂定系統範疇後,應訂出生命週期架構(life-cycle architecture),提供更精確的成本影響因子(cost driver),能更精確預估成本。

    PM = 2.94 SizeE EMi,i=1~17 E = 0.91 + 0.01 SFj ,j=1~5

    計算軟體大小

    後期結構模式

    REVLSize 1 New KSLOC+Equivalent KSLOC100

    ATEquivalent KSLOC Adapted KSLOC 1+ AAM100

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    合適的調整修飾值(AAM) 透過測試與評估各類模組而產生的文件(Assessment and

    Assimilation, AA)層級、對軟體的了解程度與程式設計師之間彼此的不熟悉度計算。

    專案修正調整因子(AAF)• 由設計修改百分比(DM)、原始程式碼修改百分比(CM)及修改後軟體整合所需人力百分比(IM)所得

    • AAF = (0.4 DM) + (0.3 CM) + (0.3 IM)

    AA+AAF+(1+[0.02 SU UNFM]), for AAF 50100AAM =

    AA+AAF+(SUUNFM), for AAF > 50 100

    後期結構模式

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    工作量影響因子 很低 低 普通 高 很高非常高

    影響生產力範圍

    產品屬性

    軟體需求之可靠度 0.82 0.92 1.00 1.10 1.26 n/a 1.54資料庫之規模 n/a 0.90 1.00 1.14 1.28 n/a 1.42產品之複雜度 0.73 0.87 1.00 1.17 1.34 1.74 2.38

    可重用性 n/a 0.95 1.00 1.07 1.15 1.24 1.31開發流程文件需求之適合度 0.81 0.91 1.00 1.11 1.23 n/a 1.52

    平臺屬性

    執行時間之限制 n/a n/a 1.00 1.11 1.29 1.63 1.63主記憶體容量限制 n/a n/a 1.00 1.05 1.17 1.46 1.46平臺架構變動性 n/a 0.87 1.00 1.15 1.30 n/a 1.49

    人員屬性

    分析師能力 1.42 1.19 1.00 0.85 0.71 n/a 2.00程式設計師能力 1.34 1.15 1.00 0.88 0.76 n/a 1.76

    人員流動性 1.29 1.12 1.00 0.90 0.81 n/a 1.59類似開發經驗 1.22 1.10 1.00 0.88 0.81 n/a 1.51開發環境熟悉度 1.19 1.09 1.00 0.91 0.85 n/a 1.40

    程式語言與工具經驗 1.20 1.09 1.00 0.91 0.84 n/a 1.43

    專案屬性

    軟體工具之使用 1.17 1.09 1.00 0.90 0.78 n/a 1.50多點發展 1.22 1.09 1.00 0.93 0.86 0.80 1.53發展時程 1.43 1.14 1.00 1.00 1.00 n/a 1.43

    後期結構模式工作量影響因子

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    預估軟體專案開發時程(Time to development, TDEV)(月) TDEV = 3.67 (PM)F

    F = 0.28 + 0.2 (E – 0.91) PMNS = A SizeE EMi F,i=1~n

    TDEVNS = C (PMNS) F

    E = B + 0.01 SFj ,j=1~5 F = D + 0.02 SFj ,j=1~5

    軟體專案開發時程

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    Early Design Model Post architecture Model

    開發 專案架構確定前粗估專案成本與期間 當專案的整體架構已被開發

    可用資訊 不足 提供較佳相關重要資訊支援成本預估

    成本因子 7個EM 17個EM

    決策應用 探究軟體系統架構可行性方案與概要 軟體產品的實際開發與維護

    早期設計模式與後期結構模式

    早期設計模式EM 對應 Post-Architecture的EM

    產品可靠度與複雜度 軟體需求可靠度、資料庫規模、產品複雜度、開發流程文件需求之適合度

    可重用性 可重用性

    平臺困難度 執行時間之限制,主記憶體容量限制,平臺架構變動性

    人員能力 分析師能力,程式設計師能力,人員流動性

    人員經驗 類似開發經驗,開發環境熟悉度,程式語言與工具經驗

    軟體工具與設備 軟體工具之使用,多點發展

    發展時程 發展時程

  • 軟體品質課程

    國立臺北科技大學資訊工程系郭忠義

    COCOMO COCOMO IIKDSI KSLOC

    瀑布開發模式 依循開發生命週期的三階段模式

    點預估 範圍預估

    3種開發模式 5個規模因子

    15 個成本影響因子 7 個/ 17個成本影響因子

    63 筆資料 161筆資料

    再造工程 軟體重複使用與需求經常變動時

    COCOMO & COCOMO II 之差異