實驗四 軟件項目估算技術
一、實驗課時:4學時
二、實驗目的
軟件項目成本管理的前提是對軟件項目成本進行估算,成本估算的第一步是估算出軟件的規模,然後轉換成成本。本章主要講了各種規模估算技術和成本估算技術,那麼本次實驗課主要是熟悉軟件項目各種估算技術,掌握常用的規模估算技術:代碼行估算技術、功能點估算技術;成本估算技術:算法模型之COCOMO模型。
三、實驗環境
- 硬件:微型計算機
- 軟件:Windows xp操作系統; Microsoft office2003/2007
四、實驗內容
通過練習掌握代碼行估算技術、功能點估算技術、COCOMO估算技術。
五、實驗步驟
1、通過課本和上課使用的PPT,回顧本章內容,重點是需掌握的幾個估算技術
2、按照功能點估算的步驟估算“圖書管理系統”的規模:
假設你是系統分析師或項目經理,要開發一個 “圖書管理系統”,該系統使用C++語言實現(即一個功能點需53行c++代碼),現使用功能點估算技術估算該系統各部分的規模,並算出總規模,即代碼行數,需寫出計算過程,功能點複雜度見附表2、3、4、5、6,功能點複雜度權重值見附表1。
(1)假設14個技術複雜度因子均爲“重要”,即權重值均爲3;
(2)該系統需求如下:
- 該系統結構圖如下:
|
基本信息維護 |
銷售管理 |
查詢打印 |
圖書銷售 |
圖書基本信息維護 |
供應商信息維護 |
圖書入庫 |
入庫信息查詢 |
銷售信息查詢 |
打印熱銷圖書信息 |
添加圖書信息 |
修改圖書信息 |
刪除圖書信息 |
添加供應商信息 |
刪除供應商信息 |
修改供應商信息 |
圖書定價 |
- 圖書基本信息維護界面如圖:
錄入圖書基本信息(如上圖),將新的圖書信息添加到圖書基本信息文件中,同時新書信息顯示在窗體下方列表中。
- 供應商基本信息維護如圖:
錄入供應商基本信息,將新的供應商信息添加到供應商基本信息文件中,同時新的供應商信息顯示在窗體下方列表中。
- 圖書入庫管理如圖:
添加圖書基本信息後,在入庫管理界面的“條形碼”列輸入要新進圖書的條形碼,系統自動顯示圖書的“書籍名稱”、“單價”,填入 “數量”、“折扣”信息後,系統自動計算“金額”、“總計”、“應付金額”,然後填入“供應商”、“操作員”、“倉庫名稱”、 “實付金額”,點擊【增加】,即可完成入庫操作,並將該次入庫信息記錄在入庫信息文件中。
- 圖書定價管理如圖:
圖書入庫後,要對新進圖書進行定價,方可銷售,在定價管理中,首先輸入“圖書查詢”條件,點擊【查詢】,則需要定價的圖書信息會顯示在列表中,雙擊選中該圖書,輸入“售價”,點擊【增加】,完成定價操作,並將圖書的新價格記錄入定價文件中。
- 圖書銷售管理如圖:
銷售圖書信息模塊,在“銷售信息”組框中,輸入要銷售的圖書的“條形碼”,系統自動將該圖書的“書籍名稱”、“作者”和“價格”信息顯示出來(價格是從定價文件中獲取的該圖書的最新定價),然後填入“數量”和“折扣”,再按Insert鍵,將該信息添加到銷售列表中,系統會自動計算“總計”和“應付金額”,最後輸入“顧客姓名”、“櫃檯名稱”、“操作員”、“時間”和“實付金額”,點擊【增加】,即可完成銷售操作,同時將本次銷售信息記錄入銷售信息文件中。
- 入庫查詢如圖:
在該模塊輸入“查詢條件”、“日期”信息,點擊【查詢】後,將符合條件的信息顯示在列表中。
- 銷售查詢如圖:
在該模塊輸入“查詢條件”、“日期”信息,點擊【查詢】後,將符合條件的信息顯示在列表中。
- 導出熱銷圖書信息
爲了讓銷售商瞭解熱銷圖書信息,在圖書銷售查詢中,可以執行【打印】操作,根據已經銷售的圖書數量由高到低進行排列,以報表的形式打印出來,報表格式如上圖。
3、使用詳細COCOMO模型估算3題中“圖書管理系統”各部分的工作量,並計算總工作量,要求寫出計算過程:
(1)假設該項目所有代碼均重新編寫,且採用的開發模式爲嵌入式,即該項目組對該領域項目的研發經驗比較少,且該項目比較複雜。
(2)假設成本驅動因素分析如下:
- 在模塊級別的四個成本驅動因素中,每個階段 CPLX都爲高、PCAP都爲高、VEXP都爲一般、LEXP都爲低;
- 在子系統級的成本驅動因素中,每個階段的每個驅動因素都爲一般。
六、思考
各種估算技術的優缺點?
七、附件
表1:輸入:
表2:輸出:
表3:查詢
表4:內部文件
表5:外部文件
表工作量分佈百分數(嵌入式) (單位%)
開發模式 |
工作量階段分佈 |
小型 2KLOC |
次中型 8KLOC |
中型 32KLOC |
大型 128KLOC |
巨型 512KLOC |
嵌入式 |
RPD |
18 |
18 |
18 |
18 |
18 |
DD |
28 |
27 |
26 |
25 |
24 |
|
CUT |
32 |
30 |
28 |
26 |
24 |
|
IT |
22 |
25 |
28 |
31 |
34 |
輸入 |
引用文件類型個數 |
數據元素類型個數 |
複雜程度 |
未調整功能點數 |
|
添加圖書信息 |
書籍名稱,出版社,助記碼,價格,條形碼,作者,種類,備註,共8個 |
3個 |
複雜 |
8 |
|
刪除圖書信息 |
書籍名稱,出版社,助記碼,價格,條形碼,作者,種類,備註,共8個 |
5個 |
簡單 |
3 |
|
修改圖書信息 |
書籍名稱,出版社,助記碼,價格,條形碼,作者,種類,備註,共8個 |
6個 |
複雜 |
2 |
|
添加供應商信息 |
供應商名稱,詳細地址,法人,網址,負責人,郵箱,聯繫電話,共7個 |
6個 |
簡單 |
3 |
|
刪除供應商信息 |
供應商名稱,詳細地址,法人,網址,負責人,郵箱,聯繫電話,共7個 |
5個 |
簡單 |
4 |
|
修改供應商信息 |
供應商名稱,詳細地址,法人,網址,負責人,郵箱,聯繫電話,共7個 |
2個 |
簡單 |
6 |
|
小計: |
26 |
||||
輸出 |
引用文件類型個數 |
數據元素類型個數 |
複雜程度 |
未調整功能點數 |
|
打印熱銷圖書信息 |
圖書名,條形碼,作者,出版社,定價,共5個 |
5個 |
簡單 |
3 |
|
圖書入庫 |
倉庫名,條形碼,書籍名,單價,數量,折扣,金額,共7個 |
2個 |
簡單 |
5 |
|
圖書定價 |
條形碼,書籍名,助記碼,作者,出版社,價格,共6個 |
2個 |
簡單 |
5 |
|
小計: |
13 |
||||
查詢 |
引用文件類型個數 |
數據元素類型個數 |
複雜程度 |
未調整功能點數 |
|
入庫信息查詢 |
入庫單號,書籍名,條形碼,作者,出版社,定價,數量,共7個 |
12個 |
一般 |
4 |
|
銷售信息查詢 |
書籍名,條形碼,作者,出版社,定價,數量,共6個 |
10個 |
一般 |
3 |
|
內部文件 |
記錄元素類型 |
數據元素類型個數 |
複雜程度 |
未調整功能點數 |
|
圖書基本信息 |
書籍名稱,出版社,助記碼,價格,條形碼,作者,種類,備註,共8個 |
2個 |
一般 |
3 |
|
供應商基本信息 |
供應商名稱,詳細地址,法人,網址,負責人,郵箱,聯繫電話,共7個 |
5個 |
一般 |
5 |
|
小計: |
8 |
||||
合計: |
47 |
||||
假設該項目的14個技術複雜度因子均爲“有一定影響”,即權重值均爲2,則該項目功能點數爲:FP=47 x (0.65+0.01x14 x2)=41.85。如果知道該項目使用何種語言,可以將功能點數轉換爲代碼行數。