軟件項目的規模估算歷來是比較復雜的事,因為軟件本身的復雜性、歷史經驗的缺乏、估算工具缺乏以及一些人為錯誤,導致軟件項目的規模估算往往和實際情況相差甚遠。 因此,估算錯誤已被列入軟件項目失敗的四大原因之一。
軟件工程師經常會被問到,編一個什么什么樣的軟件需要多長時間、多少錢。面對這個問題,有不少人很犯難,因為,第一用戶的需求太不具體,第二,自己缺乏一個科學的估計方法。這里向大家介紹幾種軟件項目規模的估計方法。
概念介紹
先介紹一個衡量軟件項目規模最常用的概念--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, 直到達到一個最低和最高估計的一致。
文章來源于領測軟件測試網 http://www.kjueaiud.com/