軟體規模的估算方法

2021-05-24 02:51:51 字數 2316 閱讀 6717

軟體專案的規模估算歷來是比較複雜的事,因為軟體本身的複雜性、歷史經驗的缺乏、估算工具缺乏以及一些人為錯誤,導致軟體專案的規模估算往往和實際情況相差甚遠。 因此,估算錯誤已被列入軟體專案失敗的四大原因之一。

軟體工程師經常會被問到,編乙個什麼什麼樣的軟體需要多長時間、多少錢。面對這個問題,有不少人很犯難,因為,第一使用者的需求太不具體,第二,自己缺乏乙個科學的估計方法。這裡向大家介紹幾種軟體專案規模的估計方法。

概念介紹

先介紹乙個衡量軟體專案規模最常用的概念--loc(line of code),loc指所有的可執行的源**行數,包括可交付的工作控制語言(jcl:job control language)語句、資料定義、資料型別宣告、等價宣告、輸入/輸出格式宣告等。一**行(1loc)的價值和人月均**行數可以體現乙個軟體生產組織的生產能力。組織可以根據對歷史專案的審計來核算組織的單行**價值。

例如,某軟體公司統計發現該公司每一萬行c語言源**形成的原始檔(.c和.h檔案)約為250k。某專案的原始檔大小為3.75m,則可估計該專案 源**大約為15萬行,該專案累計投入工作量為240人月,每人月費用為10000元(包括人均工資、福利、辦公費用公灘等),則該專案中1loc的價值 為:

(240×10000)/150000=16元/loc

改專案的人月均**行數為:

150000/240=625loc/人月

方法一、delphi 法

delphi法是最流行的專家評估技術,在沒有歷史資料的情況下,這種方式適用於評定過去與將來,新技術與特定程式之間的差別,但專家"專"的程度及 對專案的理解程度是工作中的難點,儘管delphi技術可以減輕這種偏差,專家評估技術在評定乙個新軟體實際成本時通常用得不多,但是,這種方式對決定其 它模型的輸入時特別有用。delphi法鼓勵參加者就問題相互討論。這個技術,要求有多種軟體相關經驗人的參與,互相說服對方。

delphi法的步驟是:

1、協調人向各專家提供專案規格和估計**;

2、協調人召集小組會各專家討論與規模相關的因素;

3、各專家匿名填寫迭代**;

4、協調人整理出乙個估計總結,以迭代表的形式返回專家;

5、協調人召集小組會,討論較大的估計差異;

6、專家複查估計總結並在迭代表上提交另乙個匿名估計;

7、重複4-6, 直到達到乙個最低和最高估計的一致。

方法二、 模擬法

模擬法適合評估一些與歷史專案在應用領域、環境和複雜度的相似的專案,通過新專案與歷史專案的比較得到規模估計。模擬法估計結果的精確度取決於歷史項 目資料的完整性和準確度,因此,用好模擬法的前提條件之一是組織建立起較好的專案後評價與分析機制,對歷史專案的資料分析是可信賴的。

其基本步驟是:

1、整理出專案功能列表和實現每個功能的**行;

2、標識出每個功能列表與歷史專案的相同點和不同點,特別要注意歷史專案做得不夠的地方;

3、通過步驟1和2得出各個功能的估計值;

4、產生規模估計。

軟體專案中用模擬法,往往還要解決可重用**的估算問題。估計可重用**量的最好辦法就是由程式設計師或系統分析員詳細地考查已存在的**,估算出新專案可重用的**中需重新設計的**百分比、需重新編碼或修改的**百分比以及需重新測試的**百分比。根據這三個百分比,可用下面的計算公式計算等價新**行:

等價**行 = [(重新設計% +重新編碼% +重新測試%)/3]× 已有**行

比如:有10,000行**,假定30%需要重新設計,50%需要重新編碼,70%需要重新測試,那麼其等價的**行可以計算為:

[ (30% + 50% + 70%)/3 ]× 10,000 = 5,000 等價**行。

意即:重用這10000**相當於編寫5000**行的工作量。

方法三、功能點估計法

功能點測量是在需求分析階段基於系統功能的一種規模估計方法。通過研究初始應用需求來確定各種輸入、輸出、計算和資料庫需求的數量和特性。通常的步驟是:

1、計算輸入,輸出,查詢,主控檔案,和介面需求的數目。

2、將這些資料進行加權乘。下表為乙個典型的權值表。

功能型別權值

輸入4輸出5

查詢4主控檔案10

介面10

3、估計者根據對複雜度的判斷,總數可以用+25%、0、或-25%調整。

據發現,對乙個軟體產品的開發,功能點對專案早期的規模估計很有幫助。然而,在了解產品越多後,功能點可以轉換為軟體規模測量更常用的loc。

方法四、pert估計法

pert對各個專案活動的完成時間按三種不同情況估計:乙個產品的期望規模,乙個最低可能估計,乙個最高可能估計。用這三個估計用來得到乙個產品期望規模和標準偏差的pert 統計估計。pert 估計可得到**行的期望值e, 和標準偏差sd。

軟體研發成本估算過程之估算軟體規模概述

通常情況下,規模估算是軟體成本估算過程的起點。估算規模是後續計算軟體專案的工作量 成本和進度的主要輸入,是專案範圍管理的關鍵,因此,在條件允許的情況下,應進行規模估算。在規模估算過程中,需要注意以下情況 a 在規模估算開始前,應根據可行性研究報告或類似文件明確專案需求及系統邊界。專案需求除包含最基本...

規模估算的敏捷方法 策劃撲克法

策劃撲克是估算軟體規模的一種敏捷方法。該方法的規模計量單位是故事點 story points 故事點只是乙個計量單位的名稱而已,你也可以給他命名為其他名字。故事點其實不僅僅是對規模的度量,也包括了對需求複雜度等其他因素的度量。故事點並非業界統一的乙個度量單位,不象度量長度的單位 公尺,大家都知道1公...

規模估算的敏捷方法 策劃撲克法

策劃撲克是估算軟體規模的一種敏捷方法。該方法的規模計量單位是故事點 story points 故事點只是乙個計量單位的名稱而已,你也可以給他命名為其他名字。故事點其實不僅僅是對規模的度量,也包括了對需求複雜度等其他因素的度量。故事點並非業界統一的乙個度量單位,不象度量長度的單位 公尺,大家都知道1公...