第二章 背景知識與相關研究
2.3 專案進度衡量
本研究中的預估方法為演算法分類中的Use Case Point,在專案進度的衡 量上也以演算法衡量方法為主,本章節將介紹演算法類型的生產力衡量 方法,在Roger S. Pressman所著Software Engineering一書中[8],指出演算 法常用的生產力衡量有三種,分別為行數導向生產力衡量、功能導向生
產力衡量及機能導向生產力衡量,以下將針對三種方法詳細介紹:
1. 行數導向生產力衡量
軟體專案開發所產出的程式行數,最常用來做行數衡量的是交付的 原始碼,而原始碼衡量(LOC-Lines of Code)是直接衡量的方法,
與使用的程式語言相依附,簡單且最被廣泛使用,而LOC衡量方式,
便是以專案產出的原始碼數除以專案的全部人月,此人月包括分析 與設計、程式撰寫、測試及系統文書的所有人月。
2. 功能導向生產力衡量
11
指軟體專案開發所需的程式功能,生產力是以某一限定時間的功能 數產出來表示,常用的衡量方式包括功能點與物件點(Object-points),
在此介紹三種功能點衡量的方法:
(1)功能點衡量(function point)
功能點衡量是間接衡量的方法,它的優點是避開選用不同程式 語言撰寫造成的原始碼誤差,功能點考量的因素包括:
程式的輸出與輸入
系統與使用者的互動
外部的交換介面
系統所使用的檔案數
由上述構面,資料項數(Data Element)對照檔案數或記錄數
(Record Format)之關係,求得各別的功能點,再彙總算出未 調整功能點。以未調整功能點,再考慮應用系統的複雜度做進 一步調整,考慮項目如是否為分配式處理作業、模組重複使用 程度及專案績效等,計算出調整後的功能點。
(2)Full Function Point 衡量
Full Function Point是一種不牽涉到程式語言技術,也不牽涉
12
到專案開發程序的衡量法,其中包含了COSMIC-FFP方法,
在此我們便以COSMIC-FFP為例,COSMIC-FFP是由Common Software Measurement International Consortium協會所推廣的
軟體功能衡量法,其計算方式便先依應用程式、作業系統及 驅動程式界定使用者的需求,然後去衡量軟體的基本功能點,
接著計算基本功能點的點數,基本功能點的類型共有四種,
分別是Entry、Exit、Read 及Write,每一個功能點類型可得 到一個功能單位,最小可衡量的是2個功能單位,因為構成系
統起碼有一個輸入(Entry Read)與一個輸出(Exit or Write)。
3. 機能導向生產力衡量(Feature-point Measures)
在1986,Software Productivity Research(SPR)因工程軟體與一些嵌 入式軟體,相對一般商業軟體較為複雜,乃創立機能導向衡量。其 估算是以演算法則的步驟(Algorithm steps)來分類,例如波音公司 的3D FunctionPoint。機能導向衡量相對功能點衡量言,公信力較不 足,這與機能導向衡量尚缺專責學術組織去推動有關。
由於在演算法類型中多以數學算式來衡量軟體專案,因此各方法便是以 數據或資料的方式對專案進行衡量,使得專案管理者必須分析這些資料 才能查覺出專案異常的情況,然而利用人力分析資料便可能無法察覺隱
13
藏在專案中的異常因素,為了使專案監控更有效率及找出異常因素,在 本研究中,提出使用管制圖對專案進行監控,將專案中產生的數據製作 成管制圖,透過管制圖工具的輔助,由管制圖工具分析數據及資料,協 助專案管理者找出專案中異常的因素。