軟件工程第5章軟件策劃



單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,第5章 軟件策劃,本章導(dǎo)讀,軟件項(xiàng)目管理始于軟件,立項(xiàng),,終于軟件,交付,,中間進(jìn)程是軟件計(jì)劃的制訂、執(zhí)行、跟蹤、修改軟件策劃,既是為軟件開(kāi)發(fā)者和管理者制定合理的,計(jì)劃,,又是為軟件項(xiàng)目跟蹤和監(jiān)控提供,考核依據(jù),軟件,估計(jì),既是軟件策劃的,核心,,又是軟件策劃的重點(diǎn)與,難點(diǎn),本章首先論述軟件策劃方法,重點(diǎn)介紹,軟件項(xiàng)目工作量和開(kāi)發(fā)費(fèi)用的估計(jì)方法,,然后介紹軟件策劃文檔5.1 軟件策劃概論,軟件策劃和軟件項(xiàng)目策劃是一個(gè)意思,既是為軟件開(kāi)發(fā)者和管理者制定合理的,工作計(jì)劃,,又是為軟件項(xiàng)目跟蹤和監(jiān)控提供,考核依據(jù),軟件策劃,或者說(shuō)軟件計(jì)劃,英文單詞都是指Planning但是,策劃包含有出謀劃策和做計(jì)劃兩個(gè)意思,計(jì)劃只是策劃的一個(gè)主要結(jié)果軟件策劃屬于軟件管理和軟件決策的范疇,是項(xiàng)目經(jīng)理以上人員的職責(zé)范圍,是軟件企業(yè)管理的重大事件之一軟件策劃的輸入/輸出,合同,/,立項(xiàng)建議書(shū),2),用戶(hù)需求報(bào)告,策劃過(guò)程,1)軟件開(kāi)發(fā)計(jì)劃書(shū),2)質(zhì)量保證計(jì)劃,3)配置管理計(jì)劃,4)里程碑及評(píng)審計(jì)劃,軟件策劃的目的,軟件策劃的目的,是為軟件開(kāi)發(fā)和軟件管理制定,合理的,工作計(jì)劃。
由于項(xiàng)目的管理者,是按照計(jì)劃確定的內(nèi)容和進(jìn)度對(duì)項(xiàng)目進(jìn)行管理的,所以計(jì)劃的合理性將直接關(guān)系到項(xiàng)目管理的成敗軟件策劃的理論基礎(chǔ),軟件策劃的基礎(chǔ),是,軟件生命周期模型,的選取軟件組織和項(xiàng)目經(jīng)理,要根據(jù)項(xiàng)目的特點(diǎn),在瀑布模型、增量模型、迭代模型、原型模型中選取一種,并經(jīng)過(guò)適當(dāng)?shù)牟眉艉螅腥腠?xiàng)目計(jì)劃,作為軟件項(xiàng)目策劃的理論依據(jù)之一軟件策劃的步驟,步驟,步驟名稱(chēng),步驟內(nèi)容,1,估計(jì)軟件工作產(chǎn)品的規(guī)模及所需的資源,軟件工作產(chǎn)品,包括需求規(guī)格說(shuō)明書(shū),概要設(shè)計(jì)說(shuō)明書(shū),詳細(xì)設(shè)計(jì)說(shuō)明書(shū),源代碼,測(cè)試計(jì)劃和測(cè)試報(bào)告,質(zhì)量保證計(jì)劃,軟件配置管理計(jì)劃,里程碑及評(píng)審點(diǎn)計(jì)劃,2,制定時(shí)間表,包括開(kāi)發(fā)進(jìn)度時(shí)間表和管理進(jìn)度時(shí)間表:軟件開(kāi)發(fā)計(jì)劃、質(zhì)量保證計(jì)劃、軟件配置管理計(jì)劃、測(cè)試計(jì)劃、評(píng)審計(jì)劃,3,鑒別和評(píng)估風(fēng)險(xiǎn),政策風(fēng)險(xiǎn),資源風(fēng)險(xiǎn),市場(chǎng)突變風(fēng)險(xiǎn),技術(shù)風(fēng)險(xiǎn)和技能風(fēng)險(xiǎn)等,4,與相關(guān)組或人協(xié)商策劃中的有關(guān)約定,策劃的結(jié)果要實(shí)事求是,要得到各有關(guān)方面的同意和認(rèn)可,軟件策劃的目標(biāo),(1)對(duì)項(xiàng)目策劃和跟蹤用的三個(gè)軟件估計(jì)已建立文檔這三個(gè)估計(jì)是:,工作產(chǎn)品規(guī)模估計(jì),工作量及成本估計(jì),計(jì)算機(jī)資源估計(jì);,(2)軟件項(xiàng)目活動(dòng)和約定,是有計(jì)劃的并巳建立文檔。
這里的活動(dòng),包括開(kāi)發(fā)活動(dòng)和管理活動(dòng)這里的約定,是指對(duì)項(xiàng)目的各種標(biāo)準(zhǔn)、規(guī)范、規(guī)程的約束;,注:,標(biāo)準(zhǔn)是對(duì),產(chǎn)品,的約束規(guī)范是對(duì),行,的約束規(guī)程是對(duì),操作,的約束,軟件策劃的目標(biāo),(3)受影響的組和個(gè)人,同意他們對(duì)軟件項(xiàng)目的約定受影響的組和個(gè)人有:,軟件工程組(項(xiàng)目組),軟件估計(jì)組,系統(tǒng)測(cè)試組,質(zhì)量保證組,配置管理組,合同管理組,文檔支持組,軟件策劃的時(shí)機(jī),對(duì)軟件項(xiàng)目進(jìn)行策劃的時(shí)機(jī),中國(guó)人習(xí)慣的作法與國(guó)際通用的作法不大一致美國(guó)人,要先做需求分析,后做軟件策劃,因?yàn)樾枨蟛磺宄?,?xiàng)目的功能點(diǎn)個(gè)數(shù)、性能點(diǎn)個(gè)數(shù)、接口個(gè)數(shù)、界面?zhèn)€數(shù)、實(shí)體個(gè)數(shù)、文檔頁(yè)數(shù)都心中無(wú)數(shù),策劃人員是無(wú)法估計(jì)工作量、進(jìn)度、經(jīng)費(fèi)和其他資源的,完成項(xiàng)目策劃是不現(xiàn)實(shí)的與美國(guó)人相反,,中國(guó)人,習(xí)慣在用戶(hù)需求報(bào)告之前策劃,不習(xí)慣在用戶(hù)需求報(bào)告之后策劃不管怎么樣,調(diào)查研究是十月懷胎,軟件策劃是一朝分娩,心中無(wú)數(shù)是不能作軟件策劃的因此,我們要逐漸與向國(guó)際接軌5.2 軟件策劃方法,直到目前為止,軟件策劃的方法仍然是采用經(jīng)驗(yàn)數(shù)據(jù)加結(jié)構(gòu)化方法,這些方法有三個(gè)要點(diǎn):,(1)粒度由粗到細(xì)的分解:自頂向下、逐步細(xì)化、逐項(xiàng)逐條逐日安排計(jì)劃2)粒度由細(xì)到粗的綜合:自底向上、逐步歸納、逐日逐周逐月安排計(jì)劃。
3)同類(lèi)項(xiàng)目經(jīng)驗(yàn)數(shù)據(jù)類(lèi)比法、同行專(zhuān)家協(xié)商策劃法軟件策劃是以用戶(hù)確認(rèn)的,需求為基礎(chǔ),,以軟件組織內(nèi)部的,軟件標(biāo)準(zhǔn)為依據(jù),,把組織內(nèi)部類(lèi)似項(xiàng)目的成功經(jīng)驗(yàn)作為策劃時(shí)的參考策劃階段主要進(jìn)行的活動(dòng),1.,定義軟件過(guò)程,就是根據(jù)選定的生命周期模型,規(guī)定每一開(kāi)發(fā)階段的工作步驟及文檔標(biāo)準(zhǔn)2.,進(jìn)行軟件估計(jì),就是指對(duì)軟件項(xiàng)目進(jìn)行量化估計(jì),并記錄估計(jì)結(jié)果的過(guò)程3.,進(jìn)行風(fēng)險(xiǎn)分析,就是對(duì)政策風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、技能風(fēng)險(xiǎn)、資源風(fēng)險(xiǎn)等進(jìn)行逐個(gè)分析與分解4.,進(jìn)行項(xiàng)目跟蹤與監(jiān)督,就是對(duì)策劃階段輸出的軟件開(kāi)發(fā)計(jì)劃,進(jìn)行動(dòng)態(tài)跟蹤與實(shí)時(shí)監(jiān)督,一旦發(fā)現(xiàn)偏差,必須立即糾正5.,完成軟件開(kāi)發(fā)計(jì)劃書(shū),6.使參與軟件開(kāi)發(fā)計(jì)劃制定的組或個(gè)人,意見(jiàn)統(tǒng)一,1定義軟件過(guò)程,開(kāi)發(fā)計(jì)劃是對(duì)項(xiàng)目定義軟件過(guò)程的規(guī)模、工作量、成本、進(jìn)度、質(zhì)量、人員配置和其他資源的具體描述由于軟件項(xiàng)目能共享過(guò)程數(shù)據(jù),所以在制定計(jì)劃時(shí),能吸取軟件組織中積累的經(jīng)驗(yàn)教訓(xùn)為此,要建立較完善的“軟件測(cè)量數(shù)據(jù)庫(kù)”和“文檔庫(kù)”,這一工作稱(chēng)作,過(guò)程財(cái)富積累,,一般在CMMI2級(jí)就要開(kāi)始考慮,在CMMI3級(jí)就必須做到2,進(jìn)行,軟件估計(jì),項(xiàng)目組要對(duì)項(xiàng)目的規(guī)模、工作量、成本、進(jìn)度、關(guān)鍵計(jì)算機(jī)資源等方面進(jìn)行量化估計(jì),然后,使用估計(jì)數(shù)據(jù)進(jìn)行軟件策劃,。
在以后的項(xiàng)目執(zhí)行過(guò)程中,若發(fā)現(xiàn)估計(jì)數(shù)據(jù)嚴(yán)重,偏離,實(shí)際數(shù)據(jù),則要重新進(jìn)行軟件估計(jì)這些收集的實(shí)際項(xiàng)目數(shù)據(jù)與估計(jì)數(shù)據(jù),要及時(shí)地,錄入,到“軟件測(cè)量數(shù)據(jù)庫(kù)”之中,日積月累,就建立了強(qiáng)大的軟件過(guò)程數(shù)據(jù)庫(kù),為日后的軟件策劃和CMM升級(jí)準(zhǔn)備了雄厚的財(cái)富軟件估計(jì)的內(nèi)容和方法包括如下三個(gè)方面:,(1)對(duì)軟件工作產(chǎn)品的規(guī)模進(jìn)行量化估計(jì),軟件工作產(chǎn)品規(guī)模和工作量的估計(jì)方法,序號(hào),規(guī)模估計(jì)方法,工作量估計(jì)方法,工作量估計(jì)方法說(shuō)明,1,功能點(diǎn)個(gè)數(shù),N,個(gè)功能點(diǎn)/人月,一個(gè)人的月工作量,能完成的功能點(diǎn)個(gè)數(shù),2,性能點(diǎn)個(gè)數(shù),N,個(gè)性能點(diǎn)/人月,一個(gè)人的月工作量,能完成的性能點(diǎn)個(gè)數(shù),3,代碼行數(shù),N,行代碼/人月,一個(gè)人的月工作量,能完成的代碼行數(shù),4,實(shí)體個(gè)數(shù),N,個(gè)實(shí)體/人月,一個(gè)人的月工作量,能完成的實(shí)體個(gè)數(shù),5,需求個(gè)數(shù)(Use Case個(gè)數(shù)),N,個(gè)需求數(shù)/人月,一個(gè)人的月工作量,能完成的Use case個(gè)數(shù),6,文檔頁(yè)數(shù),N,頁(yè)文檔/人月,一個(gè)人的月工作量,能完成的文檔頁(yè)數(shù),對(duì)代碼行的估計(jì)方法,LOC,指所有的可執(zhí)行的源代碼行數(shù)1 LOC,的價(jià)值和人月代碼行數(shù),體現(xiàn)軟件組織的生產(chǎn)力可以根據(jù)歷史項(xiàng)目的審計(jì),來(lái)核算組織的單行代碼價(jià)值。
例如,統(tǒng)計(jì)發(fā)現(xiàn)某公司每一萬(wàn)行 C 語(yǔ)言源代碼形成的源文件為 250 K某項(xiàng)目的源文件大小為 3.75 M,則可估計(jì)該項(xiàng)目源代碼大約為 15 萬(wàn)行,該項(xiàng)目累計(jì)投入工作量為 240 人月,每人月費(fèi)用為 10000 元(包括人均工資,福利,辦公費(fèi)用公灘等),1 LOC 的價(jià)值為:,(24010000)/150000 16 元/1 LOC,項(xiàng)目的,人月均代碼行數(shù),為:,150000/240=625 LOC/人月目前,IT企業(yè)軟件項(xiàng)目規(guī)模估計(jì)方法有以下,四種:,方法1:希臘古都法,(,Delphi法),在沒(méi)有歷史數(shù)據(jù)的情況下,,希臘古都法是流行的專(zhuān)家評(píng)估法它要求有多種軟件相關(guān)經(jīng)驗(yàn)的人參與,互相說(shuō)服對(duì)方其步驟是:,1、協(xié)調(diào)人向各專(zhuān)家提供項(xiàng)目需求規(guī)格和估計(jì)表格;,2、協(xié)調(diào)人召集小組會(huì),專(zhuān)家討論與規(guī)模相關(guān)的因素;,3、專(zhuān)家匿名填寫(xiě)迭代估計(jì)表格;,4、協(xié)調(diào)人整理出一個(gè)估計(jì),以迭代表形式返回專(zhuān)家;,5、協(xié)調(diào)人召集小組會(huì),討論較大的估計(jì)差異;,6、專(zhuān)家復(fù)查估計(jì),在迭代表上提交另一個(gè)匿名估計(jì);,7、重復(fù) 4-6,直到最低估計(jì)和最高估計(jì)一致為止方法2:類(lèi)比法,在有歷史數(shù)據(jù)的情況下,,類(lèi)比法適合評(píng)估一些與歷史項(xiàng)目在應(yīng)用領(lǐng)域、環(huán)境、復(fù)雜度方面相似的估計(jì)項(xiàng)目,通過(guò)估計(jì)項(xiàng)目與歷史項(xiàng)目的比較,得到規(guī)模估計(jì)。
其步驟是:,1、整理出歷史項(xiàng)目功能點(diǎn)列表和實(shí)現(xiàn)每個(gè)功能點(diǎn)的代碼行;,2、標(biāo)識(shí)出估計(jì)項(xiàng)目的功能點(diǎn)列表與歷史項(xiàng)目功能點(diǎn)列表的差異;,3、按照歷史項(xiàng)目每個(gè)功能點(diǎn)的代碼行,確定估計(jì)項(xiàng)目每個(gè)功能點(diǎn)的代碼行;,4、通過(guò)步驟1和3 的循環(huán),得出所有功能點(diǎn)的估計(jì);,5、產(chǎn)生總的規(guī)模估計(jì)方法2:類(lèi)比法(續(xù)),注:,用類(lèi)比法中,往往,還要,解決可重用代碼的估算問(wèn)題估算出新項(xiàng)目可重用的代碼中,需重新設(shè)計(jì)的百分比、需重新編碼的百分比、需重新測(cè)試的百分比根據(jù)這三個(gè)百分比,可用下面的公式計(jì)算等價(jià)新代碼行:,等價(jià)新代碼行=(重新設(shè)計(jì)%+重新編碼%+重新測(cè)試%)/3已有的舊代碼行,比如有10000行舊代碼,假定30%要重新設(shè)計(jì),50%要重新編碼,70%要重新測(cè)試,那么其等價(jià)的新代碼行為:,(30%+50%+70%)/310000=5000(新代碼行),意即:重用這 10000 代碼相當(dāng)于新編寫(xiě) 5000 代碼行的工作量方法3:功能點(diǎn)估計(jì)法,功能點(diǎn)(實(shí)體數(shù)、構(gòu)件數(shù)、屏幕數(shù)、報(bào)表數(shù)、文檔數(shù))估計(jì)方法通過(guò)研究需求來(lái)確定各種輸入、輸出、計(jì)算和數(shù)據(jù)庫(kù)需求的數(shù)量和特性通常的步驟是:,1、計(jì)算輸入、輸出、查詢(xún)、主控文件和接口需求的數(shù)目;,2、將這些數(shù)據(jù)進(jìn)行加權(quán)乘,得到總的功能點(diǎn)數(shù);,3、估計(jì)每個(gè)功能點(diǎn)的規(guī)模,得出總的規(guī)模估計(jì);,4、估計(jì)者根據(jù)對(duì)復(fù)雜度的判斷,總數(shù)可以用+25%、0、或-25%調(diào)整。
注:,對(duì)一個(gè)軟件產(chǎn)品的開(kāi)發(fā),功能點(diǎn)對(duì)項(xiàng)目早期的規(guī)模估計(jì)很有幫助然而,在了解產(chǎn)品越多后,功能點(diǎn)可以轉(zhuǎn)換為軟件規(guī)模測(cè)量更常用的 LOC代碼行法和功能點(diǎn)法的比較,LOC代碼行法和FP功能點(diǎn)法,它們之間的區(qū)別和關(guān)系如下:,FP功能點(diǎn)估算法常用在項(xiàng)目開(kāi)始或項(xiàng)目需求基本明確時(shí)使用,這時(shí)進(jìn)行估算其結(jié)果的準(zhǔn)確性比較高,假如這個(gè)時(shí)候使用LOC代碼行估算法,則誤差會(huì)比較大使用FP功能點(diǎn)估算法無(wú)需懂得軟件使用何種開(kāi)發(fā)技術(shù)LOC代碼行估算法與軟件開(kāi)發(fā)技術(shù)密切相關(guān)FP功能點(diǎn)法是從用戶(hù)為角度進(jìn)行估算,LOC代碼行估算法則是從開(kāi)發(fā)者角度進(jìn)行估算的通過(guò)一些行業(yè)標(biāo)準(zhǔn)或企業(yè)自身度量的分析,F(xiàn)P功能點(diǎn)估算法是可以轉(zhuǎn)換為L(zhǎng)OC代碼行的方法4:無(wú)禮估計(jì)法,無(wú)禮估計(jì)法對(duì)各個(gè)項(xiàng)目活動(dòng)的完成工作量(規(guī)模),按三種不同情況估計(jì):,一個(gè)期望規(guī)模估計(jì),一個(gè)最低可能估計(jì),一個(gè)最高可能估計(jì),用這三個(gè)估計(jì)用來(lái)得到一個(gè)產(chǎn)品期望規(guī)模和標(biāo)準(zhǔn)偏差,稱(chēng)為無(wú)禮統(tǒng)計(jì)估計(jì)法無(wú)禮的估計(jì)法可得到代碼行的期望值E和標(biāo)準(zhǔn)偏差SD2)對(duì)軟件工作產(chǎn)品成本的費(fèi)用進(jìn)行量化估計(jì),軟件工作產(chǎn)品成本估計(jì)的方法,序 號(hào),估 計(jì) 方 法,估計(jì)單位,方 法 說(shuō) 明,1,直接的勞務(wù)費(fèi),人民幣元,開(kāi)發(fā)人員的工資和福利,2,管理費(fèi),人民幣元,技術(shù)管理和行政管理人員的工資和福利,3,差旅費(fèi),人民幣元,售前、售中、售后的人員差旅費(fèi),4,計(jì)算機(jī)使用費(fèi),人民幣元,網(wǎng)絡(luò)設(shè)備的折舊費(fèi)和房租水電費(fèi),5,其他招待費(fèi)和公關(guān)費(fèi),人民幣元,控制在總費(fèi)用的15%以?xún)?nèi),(3)對(duì)關(guān)鍵計(jì)算機(jī)資源進(jìn)行量化估計(jì),關(guān)鍵計(jì)算機(jī)資源估計(jì)的方法,序號(hào),估 計(jì) 方 法,方 法 說(shuō) 明,1,軟件工作產(chǎn)品的規(guī)模,對(duì)存儲(chǔ)能力(磁盤(pán)容量和內(nèi)存大?。┑囊?2,運(yùn)行處理的負(fù)載,對(duì)處理器速度的要求,3,通信量,對(duì)網(wǎng)絡(luò)通道和帶寬的要求,3.風(fēng)險(xiǎn)分析,所謂風(fēng)險(xiǎn)分析,是指對(duì)項(xiàng)目及團(tuán)隊(duì)的政策風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、技能風(fēng)險(xiǎn)、資源風(fēng)險(xiǎn)等因素,進(jìn)行逐個(gè)分析與,分解,,制定用于,跟蹤,和監(jiān)控風(fēng)險(xiǎn)的風(fēng)險(xiǎn)管理計(jì)劃。
風(fēng)險(xiǎn)分析活動(dòng),是通過(guò)對(duì)項(xiàng)目的各個(gè)方面可能存在的,風(fēng)險(xiǎn)進(jìn)行識(shí)別和分析,,逐步,降低與化解風(fēng)險(xiǎn),,確定避免或減輕風(fēng)險(xiǎn)的策略及措施,以達(dá)到回避風(fēng)險(xiǎn),保證項(xiàng)目順利進(jìn)行的目的五種風(fēng)險(xiǎn)風(fēng)險(xiǎn)分析,序號(hào),風(fēng)險(xiǎn)名稱(chēng),風(fēng)險(xiǎn)內(nèi)容,1,政策風(fēng)險(xiǎn),IT企業(yè)外部和內(nèi)部?jī)蓚€(gè)方面的政策及政策的變化,將會(huì)給項(xiàng)目帶來(lái)什么風(fēng)險(xiǎn),2,技術(shù)風(fēng)險(xiǎn),新技術(shù)的成熟程度及難度系數(shù),將會(huì)給項(xiàng)目帶來(lái)什么風(fēng)險(xiǎn),3,技能風(fēng)險(xiǎn),項(xiàng)目組成員學(xué)習(xí)、領(lǐng)會(huì)、掌握、運(yùn)用新技術(shù)的能力,將會(huì)給項(xiàng)目帶來(lái)什么風(fēng)險(xiǎn),4,資源風(fēng)險(xiǎn),保證項(xiàng)目正常進(jìn)行所需的各種資源的供應(yīng)程度,將會(huì)給項(xiàng)目帶來(lái)什么風(fēng)險(xiǎn),5,其他風(fēng)險(xiǎn),目前意想不到的風(fēng)險(xiǎn),即不可預(yù)測(cè)的風(fēng)險(xiǎn),如天災(zāi)人禍,4軟件項(xiàng)目跟蹤與監(jiān)督,所謂軟件項(xiàng)目跟蹤與監(jiān)督,就是,對(duì)軟件開(kāi)發(fā)計(jì)劃進(jìn)行動(dòng)態(tài)跟蹤。
