軟件項目計劃(Software Project Planning)是一個軟件項目進入系統(tǒng)實施的啟動階段,主要進行的工作包括:確定詳細的項目實施范圍、定義遞交的工作成果、評估實施過程中主要的風險、制定項目實施的時間計劃、成本和預(yù)算計劃、人力資源計劃等。
在軟件項目管理過程中一個關(guān)鍵的活動是制定項目計劃,它是軟件開發(fā)工作的第一步。 項目計劃的目標是為項目負責人提供一個框架,使之能合理地估算軟件項目開發(fā)所需的資源 、經(jīng)費和開發(fā)進度,并控制軟件項目開發(fā)過程按此計劃進行。 在做計劃時,必須需要的人力、項目持續(xù)時間及成本作出估算。這種估算大多是參考 以前的花費作出的。軟件項目計劃包括二個任務(wù):研究和估算。即通過研究確定該軟件 項目的主要功能、性能和系統(tǒng)界面。
一、軟件項目計劃內(nèi)容
軟件項目計劃內(nèi)容如下:
1.范圍。對該軟件項目的綜合描述,定義起所要做的工作以及性能限制,它包括:
(1)項目目標。
(2)主要功能。
(3)性能限制。
(4)系統(tǒng)接口。
(5)特殊要求。
(6)開發(fā)概述。
2.資源。
(1)人員資源。
(2)硬件資源。
(3)軟件資源。
(4)其他。
3.進度安排。
進度安排的好壞往往會影響整個項目的按期完成,因此這一環(huán)節(jié)是十分重要的。制定軟件進度與其他工程沒有很大的區(qū)別 ,其方法主要有:
(1)工程網(wǎng)絡(luò)圖。
(2)Gantt圖。
(3)任務(wù)資源表。
(4)成本估算。
(5)培訓計劃。
二、制定軟件工程規(guī)范
對軟件工程管理來說,軟件工程規(guī)范的制定和實施是不可少的,它與軟件項目計劃一樣重要 。軟件工程規(guī)范可選用現(xiàn)成的各種規(guī)范,也可自己制定。目前軟件工程規(guī)范可分為三級:
(1)標準與國際標準。
(2)行業(yè)標準與工業(yè)部門標準。
(3)企業(yè)級標準與開發(fā)小組級標準。
三、軟件開發(fā)成本估算
為了使開發(fā)項目能在規(guī)定的時間內(nèi)完成,而且不超過預(yù)算,成本預(yù)算和管理控制是關(guān)鍵。
1.成本估算方法
(1)自頂向下估算方法。
估算人員參照以前完成的項目所耗費的總成本,來推算將要開發(fā)的軟件的總成本,然后把它們按階段、步驟和工作單元進行 分配,這種方法稱為自頂向下估算方法。
它的優(yōu)點是對系統(tǒng)級工作的重視,所以估算中不會遺漏系統(tǒng)級的諸如集成、用戶手冊和配置管理之類的事務(wù)的成本估算,且估算工作量小、 速度快。它的缺點是往往不清楚低級別上的技術(shù)性困難問題,而往往這些困難將會使成本上升。
(2)自底向上估算方法。
自底向上估算方法是將待開發(fā)的軟件細分,分別估算每一個子任務(wù)所需要的開發(fā)工作量,然后將它們加起來 ,得到軟件的總開發(fā)量。這種方法的優(yōu)點是對每個部分的估算工作交給負責該部分工作的人來做,所以估算 較為準確。其缺點是其估算往往缺少與軟件開發(fā)有關(guān)的系統(tǒng)工作級工作量,所以估算往往偏低。
(3)差別估算方法。
差別估算是將開發(fā)項目與一個或多個已完成的類似項目進行比較,找到與某個相類似項目的若干 不同之處,并估算每個不同之處對成本的影響,導出開發(fā)項目的總成本。該方法的優(yōu)點是可以提高估算的準確度, 缺點是不容易明確“差別”的界限。
除上三種還有:
(1)專家估算法。
(2)類推估算法。
(3)算式估算法。
2.成本估算模型
(1)COCOMO估算模型。
機構(gòu)性成本模型COCOMO(Constructive Cost Mode)是精確、易于使用的成本估算方法之一。
該模型分為:基本COCOMO模型,是一個靜態(tài)單變量模型,它是對整個軟件系統(tǒng)進行估算;中級COCOMO模型,是一個靜態(tài)多變量模型;詳細COCOMO模型,將軟件系統(tǒng)模型分為系統(tǒng)、子系統(tǒng)和模塊三個層次。
、倩綜OCOMO模型估算公式:
E=ab(KLOC)exp(bb)
D=cb(E)exp(db)
式中E為開發(fā)所需的人力(人/月)。D為所需的開發(fā)時間(月)。KLOC為估計提交的代碼行。ab、bb、cb和db是指不同軟件開發(fā)方式的值。
②中級COCOMO模型。
其估算公式為:E=ai(KLOC)exp(bi)×乘法因子,ai,bi
(2)Putnam成本估算經(jīng)驗?zāi)P汀?br /> Putnam估算模型是一種動態(tài)多變模型,它是假設(shè)在軟件開發(fā)的整個生存期中工作量的分布。如下圖: