• 沒有找到結果。

軟體成本估算模型

由Ian Sommerville 的軟體工程[33]一書中提到,專案估算時,是需要評估軟體工程 師生產力的,這將有助於決定專案成本或時程,或是用來評估流程或技術的改善是否有

效。而評估軟體工程師生產力的度量標準,通常是以”與大小有關”(程式碼行數)、”與功

能有關”(功能點數與物件點數)的兩種度量方式。

2.3.1 選擇軟體成本估算模型

軟體工程中,用於估算軟體成本的模型有許多種,依據Magne Jørgensen and Martin Shepperd 在 2007 年所發表的文獻[21]中可以發現,截至 2004 年,軟體成本估算方法大 致被分為Regression, Expert judgment, Work breakdown, Function point, Theory…等 12 種 不同的估算方法。

其中使用Regression方法的COCOMO II[20][25](COnstructive COst MOdel 2000)模型占 了49%,以及使用Function Point的FPA[24](Function Point Analysis)模型也占了 22%,此兩

種模型占了全部估算方法的70%以上,被廣泛使用。本研究選擇以此兩種模型進行分析,

選擇一種適合本研究的軟體成本估算模型。

首先,如同該文獻的歸類,COCOMO II 模型是一個以經驗為主的模型,這個模型是 從許多軟體專案收集資料,經過資料的分析後再找出最適用的公式。另外,在Lionel C.

Briand and Isabella Wieczorek 所發表文獻中 COCOMO II 被歸類為參數型,這是因為

15

COCOMO II 模型提供了非常多的參數,這其中包含了專案特型、開發硬體條件、開發人 員經驗與素質等等…,每一個參數都有相對應的數值範圍。藉由統計程式碼行數(Lines Of source Code, LOC)代入適用的公式與正確的參數,COCOMO II 被廣泛應用於估算軟體開發 成本。使用此估算方式,估算者如何選擇參數數值,將會影響往後估算的結果。

再來,FPA 的估算方式,是以使用者的角度,計算專案程式的功能點數,來估算程

式的規模大小,進而估算軟體開發的成本,此方法並不參酌開發人員經驗、開發硬體環

境、開發工具的熟練度,專案的困難度等等…可能影響估算結果的控制變因。使用此估

算方式,功能點數的計算也會根據估算者的判斷和系統的種類而有所不同[33]。

其餘像是Expert judgment 的估算方式需要請到多位有經驗的專家來進行分析、估算,

本研究無法請到這樣的專家,故此方法亦不是用於本研究。

考慮本研究的許多不確定變因。因此本研究選擇的是COCOMO II 模型,利用參數的 方式調控各種變因,進而希望能達到準確估算開發時間成本的目的。

2.3.2 介紹 COCOMO II 模型

COCOMO 模型於 1981 年提出[25],歷史悠久,中間經過改良,直到 2000 年推出最 新的COCOMO II.2000[20]版本。我們所採用的是 COCOMO II 的初期設計模型,可用在使 用者確認需求後,初步粗略估算軟體開發成本。COCOMO II 用於初期設計模型的估算公 數系數B 則由五個因素(Scale Factor)影響,包含過去經驗、開發彈性、風險程序的使用、

團隊向心力、軟體成熟度等。如公式(3),M 則是依本研究特性而調整的乘數因子,可依

照產品可靠與複雜度(RCPX)、再利用需求(RUSE)、平台困難度(PDIF)、開發人員能力(PERS)、

16

開發人員經驗(PERX)、時程(SCED)、支援設備(FCIL)等…,7 個專案與程序的特性調整參數。

由於COCOMO II 模型是支援瀑布模型及螺旋狀模型進行軟體開發[20],而瀑布模型 與螺旋狀模型的開發方式,其實包含了有以下部分。

 Requirement specification

 Design

 Implementation

 Integrate & Testing

 Maintenance

從COCOMO II 的文獻[20]告訴我們,測試及整合階段比重應該在軟體大小成長時增 加,相對的,實作階段比重則應該在軟體增大時減少。同時該文獻及其他資料[19][22]

也顯示,近代軟體開發於各階段所占的比重如表2。

Phase Percentage

Plans & Requirements (LCCR-PRR) 7%

Product design (PRR-PDR) Detail design (PDR-CDR) Code and unit test (CDR-UTC) Integration & Test (UTC-SWAR)

17%

27%-23%

37%-29%

19%-31%

Transition (SWAR-SAR) 12%

表2、Waterfall Phase Distribution Percentages[20]

稍後章節,此公式將依照本研究的特性調整各參數,估算軟體開發所需之成本。

17

三、介面程式開發方法介紹與比較

本章節將介紹本研究所使用的兩種介面開發方法的流程,並加以比較。

3.1 介面程式開發方法 1 – Hard code

相關文件