工作兩估算是最普遍使用的技術。經過功能分解之后,可以估計出每一個項目任務的分解都需要花費若干人年,總計之后就知道軟件項目總體工作量。下面就是一個示意性工作量估算表。
表格 1 某軟件系統(tǒng)工作量估算表(單位:人日)
任務 |
需求分析 |
設計 |
編碼 |
測試 |
小計 |
用戶定義 |
2 |
5 |
1 |
0.5 |
8.5 |
系統(tǒng)定義 |
2 |
5 |
1 |
0.5 |
8.5 |
廣告預定 |
4 |
10 |
2 |
0.5 |
16.5 |
劃版 |
5 |
20 |
10 |
0.5 |
35.5 |
制作和組版 |
3 |
5 |
3 |
1 |
12 |
總計 |
16 |
45 |
17 |
3 |
81 |
軟件開發(fā)成本的估算
軟件開發(fā)成本主要是指軟件開發(fā)過程所花費的工作量及其相應的代價。它不同于其他物理產品的成本,它主要包括人的勞動的消耗,人的勞動的消耗所需的代價就是軟件產品的開發(fā)成本。
開發(fā)成本的估算方法有很多種,象簡單的代碼行技術,任務分解技術,自動估計成本技術,專家判定技術,還有參數方程法,標準值法,以及COCOMO模型法。其中COCOMO (Constructive Cost Model)模型法是一種精確、易于使用的成本估算方法,該模型按其詳細程度分為三級:基本COCOMO模型、中間COCOMO模型和詳細COCOMO模型
軟件項目進度安排 軟件項目的進度安排主要是考慮軟件交付用戶使用的這一段開發(fā)時間的安排。進度安排的準確程度可能比成本估計的準確程度更重要。軟件產品可以靠重新定價或者靠大量的銷售來彌補成本的增加,但進度安排的落空會導致市場機會的喪失或者用戶不滿意,而且也會導致成本的增加。因此在考慮進度安排時要把人員的工作量與花費的時間聯(lián)系起來,合理分配工作量,利用進度安排的有效分析方法嚴密監(jiān)視軟件開發(fā)的進展情況,以使得軟件開發(fā)的進度不致被拖延。
在進行進度安排時要考慮的一個主要問題是任務的并行性問題。當參加項目的人數不止一人是軟件開發(fā)工作就會出現并行情況。因為并行任務是同時發(fā)生的所以進度計劃表必須決定任務之間的從屬關系,確定各個任務的先后次序和銜接,確定各個任務完成的持續(xù)時間。另外還應注意關鍵路徑的任務,這樣可以確定在進度安排中應保證的重點。常用的進度安排方法有兩種,即甘特圖(Gantt Chart)法和工程網絡法。
3.軟件項目的組織
參加軟件開發(fā)的人員如何組織起來,使他們發(fā)揮最大的工作效率,對成功地完成軟件項目極為重要。
組織結構
開發(fā)組織采用什么形式由軟件項目的特點決定,同時也與參加人員的素質有關。通常有三種組織結構模式:
1. 按課題組劃分的模式:把開發(fā)人員按課題組成小組,小組成員自始至終承擔課題的各項任務。該模式適用于規(guī)模不大的項目,并且要求小組成員在各方面有技術專長。
2. 按職能劃分的模式:把開發(fā)項目的軟件人員按任務的工作階段劃分為若干工作小組。要開發(fā)的軟件在每個專業(yè)小組完成階段加工后沿工序流水線向下傳遞。這種流水作業(yè)的方式使用于多項目并行的情況。
3. 矩陣形模型:這種模式是以上兩種模式的復合。一方面按工作性質成立一些專門小組,另一方面每一個項目都有它的經理人員負責。每一個軟件開發(fā)人員屬于某一個專門小組,有參加某一個項目的工作。該模式的優(yōu)點有一方面參加專門組的成員可以在組內交流在各個項目中取得的經驗,這更有利于發(fā)揮專業(yè)人員的作用;另一方面,各個項目有專門的人員負責,有利于軟件項目的完成。這種模式比較適合于規(guī)模比較大的項目。
組織結構的最后一層是程序設計小組的組織形式。通常認為程序設計工作是按獨立的方式進行的,程序人員獨立地完成任務。但這并不意味著相互之間沒有聯(lián)系。一般在人數比較少時組員之間的聯(lián)系比較簡單,但隨著人數的增加,相互之間的聯(lián)系變得負責起來。小組內部人員的組織形式對對生產率有著十分重要的影響。
常見的小組組織形式有三種,這三種形式可以靈活使用。
1. 主程序員制小組:相當于組長負責制,小組的核心由一位主程序員,另外配備兩到三位技術員、一位后援工程師組成。這種組織結構突出主程序員的領導,強調主程序員與其他技術人員的聯(lián)系。
2. 民主制小組:在民主制小組中,遇到問題可以在組員之間平等地交換換意見,工作組目標的制定以及決定的作出都由全體人員參加。這種組織形式強調發(fā)揮每個成員的積極性,并要求每個成員發(fā)揮主動精神和協(xié)作精神。
3. 層次式小組:在層次式小組中,組內人員分位三級:組長(項目負責人)一人負責全組工作,他直接領導兩到三名高級程序員,每位高級程序員通過基層小組,管理若干位程序員。這種結構比較適合于項目本身就是層次結構的課題。
人員配備
合理地配備人員是成功地完成軟件項目的切實保證。所謂合理地配備人員應包括按不同階段適時運用人員,恰當掌握用人標準。一般來說,軟件項目不同階段不同層次技術人員的參與情況是不一樣的。下圖是典型的軟件開發(fā)人員參與情況曲線。
在人力配備問題上,由于配置不當,很容易造成人力資源的浪費,并延誤工期。特別是采用恒定人員配備方案時在項目的開始和最后都會出現人力過剩,而在中期又會出現人力不足的情況。
相關推薦:推薦:2010年計算機軟件水平考試必備完美攻略北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |