軟件工程第5章軟件策劃

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