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