1.0LOC(Lines of Code)估算代碼行
本次項目是做的網上圖書訂閱系統,如果用C#寫的話,如下圖2.0WSB圖所示,分爲用戶,圖書信息等等方面,用戶下邊還可以細分,所以估計每一個小板塊都是200行代碼,大概可以細分爲50個小板塊。
所以:
假定代碼總長度1萬行代碼;
開發人員成本參數:150/天;
每個功能的代碼長度估算值:(200【樂觀值】+4*300【可能值】+500【悲觀值】)/6=316;
估算的生產率爲:每天的工作量爲3000行代碼;
估算的工作量爲:10000/3000≈4天;
估算的成本爲:150*4=600元;
估算行成本:600/10000=0.06元
2.0自下而上估算
網上圖書訂閱系統成本估算表如下:
階段 |
人力(人) |
時間(天) |
成本(元) |
總計(元) |
項目範圍規劃 確定項目範圍 |
2 |
1 |
500 |
1200 |
定義預備資源 |
1 |
1 |
300 |
|
獲得核心資源 |
1 |
1 |
400 |
|
分析/軟件需求 行爲需求 |
1 |
1 |
200 |
|
用戶界面設計 |
1 |
2 |
600 |
1100 |
數據需求分析 |
1 |
1 |
200 |
|
編寫需求規格說明書 |
1 |
1 |
200 |
|
制定交付期限 |
1 |
0.5 |
100 |
|
設計 用戶界面設計 |
2 |
2 |
800 |
1800 |
數據庫設計 |
1 |
2 |
400 |
|
功能詳細設計 |
1 |
2 |
400 |
|
審閱和修改功能規範 |
1 |
1 |
200 |
|
開發 用戶信息部分 |
|
|
|
|
用戶註冊功能 |
1 |
0.5 |
100 |
1600 |
商家註冊功能 |
1 |
0.5 |
100 |
|
協會註冊功能 |
1 |
0.5 |
100 |
|
登陸 |
1 |
0.5 |
100 |
|
查詢用戶訂閱信息 |
1 |
1 |
200 |
|
|
|
|
|
|
讀者信息管理功能 |
1 |
2 |
500 |
|
商家信息管理 |
1 |
1 |
300 |
|
讀者權限,統計 |
1 |
1 |
200 |
|
圖書信息部分 |
|
|||
編輯圖書狀態 |
1 |
1 |
200 |
3000 |
在線圖書(電子書) |
2 |
1 |
400 |
|
紙質圖書出售 |
2 |
1 |
400 |
|
查詢圖書信息 |
3 |
2 |
1200 |
|
採購信息 |
1 |
1 |
200 |
|
採購計劃 |
1 |
1 |
200 |
|
借書登記 |
1 |
1 |
200 |
|
還書登記 |
1 |
1 |
200 |
|
在線交易部分 |
|
|||
會員等級設定 |
1 |
1 |
200 |
1300 |
折扣劃分 |
1 |
2 |
400 |
|
詢價功能 |
2 |
2 |
600 |
|
統計銷售數量 |
1 |
0.5 |
100 |
|
合計: |
10000元 |
3.0類比估算
一個帶估算的項目P0,與已經完成的項目P1、P2有一定的相似,與它們的相似點如表6-1所示。
P0:網上圖書訂閱系統 P1:網上圖書銷售系統 P2:網上圖書訂購系統
表6-1 項目P0與項目P1、P2的相似點比較
項目 |
項目類型 |
編程語言 |
團隊規模 |
項目規模 |
工作量 |
P0 |
實時系統 |
C# |
2 |
60 |
160 |
P1 |
實時系統 |
Java |
5 |
100 |
400 |
P2 |
實時系統 |
C# |
3 |
50 |
300 |
項目間的相似度計算過程如表6-2所示。
表6-2 項目間的相似度計算過程
P0對比P1 |
P0對比P2 |
δ(P01,P11)= δ(實時系統,實時系統)=0 δ(P02,P12)= δ(c#,java)=1 δ(P03,P13)= δ(2,5)=[(2-5)/(2-5)]2=1 δ(P04,P14)= δ(60,100) =[(60-100)/(100-50)]2=0.64 |
δ(P01,P21)= δ(實時系統,實時系統)=0 δ(P02,P22)= δ(c#,c#)=0 δ(P03,P23)= δ(2,3)=[(2-3)/(2-5)]2≈0.1 δ(P04,P24)= δ(60,50) =[(60-50)/(100-50)] 2=0.04 |
distance(P0,P1)=(1.64/4)0.5≈0.64 |
distance(P0,P2)= (0.14/4)0.5≈0.19 |
Size(P0)/Size(P1)=Effort(P0)/ Effort(P1),得到P0工作量估算值爲400*2/5=160