1. 背景
相對于傳統行業的項目而言,在軟件項目中經常會發生工期拖延、費用超支、質量低下、用戶不滿意等負面情形[1],其原因可能包括客戶要求不合理、過程管理不規范、質量意識淡漠等多種因素,但不能否認的是軟件本身的特點是問題產生的根源。
相對于其他行業而言,例如土建、制造等傳統行業,軟件更為抽象和不易衡量,同時軟件還具有容易變更的特點。再加上軟件不容易量化的特點使得軟件項目的計劃與跟蹤粒度過粗、不能及時發現項目中存在的問題,從而導致軟件項目的管理往往流于形式化,不能起到應有的作用。
軟件項目管理主要從四個方面關注項目的進展狀況[2],它們依次是項目的范圍、時間、成本和質量,如圖一所示。其中項目范圍作為主要的變量,對其他三個指標產生明顯的影響。而軟件項目范圍的不確定性則會直接導致項目工期、項目成本和項目質量的不確定性。
圖一:項目管理三角形軟件項目范圍的不確定性通常表現為如下兩個方面:
1. 項目前期需求不明確。前期需求不明確導致項目范圍不確定,而基于范圍基礎之上的工期、成本與質量目標顯然也帶有很大的不確定性。正是因為需求不明確,許多項目傾向于采用固定價合同計價模式。當后期發生追加需求時,甲方可以避免追加合同金額的情形(甲方申請由追加需求產生的額外費用是比較困難的,因為他往往缺乏有效的方法說服自己的上司追加費用與額外需求之間明確的對應關系)?上攵,固定價合同模式對項目的乙方會產生什么樣的影響。乙方只好做些力所能及的被動適應性工作,例如無可奈何的加班、質量方面的下降、工期方面的順延等等。
2. 需求變更時無法做出可信的量化影響分析。 因為需求規模的單位比較模糊,例如一個需求、需求模塊等籠統提法,導致變更的需求規模描述不容易被接受。尤其是對于客戶而言,基于變更的需求所推導出的對應的工期變更、成本變更和質量變更也缺乏說服力。所以當需求變更后,項目計劃的修改往往是不夠準確的。
在軟件項目的需求管理中引入功能點分析方法可以有針對性地解決上述的問題[3]。在軟件項目中引入功能點分析方法有助于:
約束需求的詳細程度
對需求變更的影響程度綜合分析
區分需求變更及其對應的種類
2. 功能點方法概述
一個軟件的大小可以通過交付給用戶的功能點數來度量,就如一間房子的大小通過提供給用戶的建筑面積或使用面積來度量一樣。根據ISO的標準表述,功能點分析方法的目的是量化表述用戶功能性需求的軟件規模(A size of the software derived by quantifying the Functional User Requirement)
文章來源于領測軟件測試網 http://www.kjueaiud.com/