1.概述
軟件開發(fā)周期估算是IT人員經(jīng)常提到的一個概念,那么究竟什么是軟件開發(fā)周期估算呢?我們可以把它定義如下:根據(jù)軟件的開發(fā)內(nèi)容、開發(fā)工具、開發(fā)人員等因素對需求調(diào)研、程序設(shè)計、編碼、測試等整個開發(fā)過程所花費的時間做的預(yù)測。在這個定義中,“預(yù)測”兩個字非常關(guān)鍵,它突出體現(xiàn)了估算的含義,同時也隱含表明了結(jié)果的不確定性。有效的軟件開發(fā)周期估算在軟件開發(fā)中是非常困難的工序之一,之所以說困難,是因為軟件開發(fā)所涉及的因素不僅多而且異常復(fù)雜,即便是及其類似的軟件項目也不能完全照搬,在估算的把握上有一定難度。估算也是軟件開發(fā)中很重要的一個環(huán)節(jié),如果低估項目周期會造成人力低估、成本預(yù)算低估、日程過短,最終人力資源耗盡,成本超出預(yù)算,為完成項目不得不趕工,影響項目質(zhì)量,甚至導(dǎo)致項目失敗。項目周期估計過長表面看來影響不大,但是實際上也會帶來成本估計過高,人力資源利用不充分效率低下的后果。無論哪種情況對于項目經(jīng)理控制整個項目都會帶來很大影響,周期估算如同蓋樓房中打地基,是后續(xù)工作的基礎(chǔ),它完成質(zhì)量的好壞所帶來的影響會貫穿整個項目,由此可見開發(fā)周期正確估算的重要性。
2.國內(nèi)外軟件估算比較
國內(nèi)軟件開發(fā)的管理目前正逐步向規(guī)范化發(fā)展,但是在開發(fā)周期的估算上絕大部分還是處于手工作坊的狀態(tài)。所謂的手工作坊指兩個方面,一方面是管理人員意識上沒有認(rèn)識到估算的重要性,認(rèn)為估算就是一個大概的估計,很多還受限于商業(yè)行為,比如為了簽訂合同而不惜減少開發(fā)工作量卻未經(jīng)任何評審;另一方面也沒有專門的工具來輔助估算,或者說沒有專門對它進行研究。一個軟件開發(fā)周期究竟要多長基本上是依靠經(jīng)驗來判斷,不同經(jīng)驗的人估算出的周期相差很大,而更糟糕的是這種開發(fā)周期的判斷由于完全憑借經(jīng)驗使得不同意見的人之間很難溝通,因為誰都沒有確切的量化標(biāo)準(zhǔn)來支持自己的判斷,最終的結(jié)果往往是以“專家”的估算為準(zhǔn)。這就有些類似于中式烹調(diào),放多少作料沒有依據(jù),一般都是“少許”,這個“少許”靠的就是經(jīng)驗,高級廚師和新手根據(jù)這個量炒出的菜味道可能差得很遠(yuǎn);實際上國內(nèi)的軟件開發(fā)需要的正是定量估算,這樣做不僅規(guī)范而且精確,十分有助于軟件事業(yè)的健康發(fā)展以及與國際接軌。
國外發(fā)達國家在軟件估算上比國內(nèi)要成熟的多,不僅有很多先進方法比如代碼行估算法、功能點估算法、人力估算法,而且形成了專業(yè)化的估算工具來輔助這項工作,比如微軟公司開發(fā)的項目管理工具軟件Project,加拿大Software Productivity Center Inc.公司開發(fā)的Estimate,都是比較成熟的估算輔助工具。Project采用了自下而上的估算法,Estimate更是屬于專業(yè)化工具,包含常用的各種估算方法、校正方法,使用了Putnam Methodology、Cocomo II和 Monte Carlo Simulation幾種成熟算法,估算結(jié)果除了項目花費時間、人力,還包括十幾種分析報告以及模擬發(fā)散圖、計劃編制選項圖、人力圖、預(yù)計缺陷圖、缺陷方差圖等等,從各種不同角度輔助管理人員進行分析。
采用輔助工具對軟件開發(fā)周期進行估算具有明顯的優(yōu)勢,這些輔助工具是在大量不同類型項目數(shù)據(jù)研究的基礎(chǔ)上總結(jié)開發(fā)出來的,采用的算法、估算的方法已經(jīng)很成熟,估算結(jié)果的準(zhǔn)確性有保障,由于這種估算是可以量化的,并非依據(jù)個人經(jīng)驗直接得出一個結(jié)果,在結(jié)果的評審上有據(jù)可依。長期依靠工具輔助估算可以將大量項目的數(shù)據(jù)和估算結(jié)果積累形成歷史經(jīng)驗庫,知識成果得以保存,便于以后利用。
3. 軟件估算中的因素探討
軟件開發(fā)是一項非常復(fù)雜的工程,不僅包含需求分析、設(shè)計、編碼、測試、實施、維護等完整的過程,還涉及到開發(fā)工具、開發(fā)人員、項目管理、風(fēng)險等眾多因素,不同因素對估算產(chǎn)生的影響不盡相同,在進行軟件估算時(包括利用工具輔助估算)必須考慮到這些方面,否則最終結(jié)果就會和實際結(jié)果有很大的偏差,影響項目控制,以下對其中幾個常見的因素做一些探討。
3.1估算與軟件規(guī)模
軟件規(guī)模通常指的是軟件的大小,這可以通過不同的方式來描述,比如程序代碼行的長度、功能函數(shù)的數(shù)量、數(shù)據(jù)庫中表的數(shù)量、數(shù)據(jù)庫的大小等等。一般而言軟件規(guī)模越大,所花費的開發(fā)周期就越長,但這并不是一個簡單的線形函數(shù)關(guān)系,下表詳細(xì)列舉了實際開發(fā)中的一些數(shù)據(jù),開發(fā)平臺為Lotus Domino/Notes.
表一
單個模塊的開發(fā)周期
序號 模塊 開發(fā)周期(中級程序員) 代碼行長度 數(shù)據(jù)庫大?。o數(shù)據(jù))
1. 辦事指南 0.25人月 300 1170K
2. 名片簿 0.25人月 300 1039K
3. 合同管理 0.25人月 460 2110K
4. 物控管理 0.5人月 850 2560K
5. 組織機構(gòu) 0.5人月 900 1318K
6. 流程管理 0.8人月 1000 2304K
7. 公告板 0.5人月 1400 2560K
8. 人事管理 1人月 1800 3840K
9. 公文管理 1.8人月 2500 2304K
10. 事務(wù)審批 1.5人月 3750 2110K
11. 考勤管理 1.8人月 4800 3840K
12. 資源管理 1.8人月 5800 3840K
13. 會議管理 2.5人月 11000 4608K
表二
軟件項目的開發(fā)周期
軟件項目 開發(fā)周期 包含的模塊 備注
某政府客戶 3個人月 10個 定制開發(fā)量較小
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學(xué)員考試保駕護航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評論 查看完整評論 | |