第11章-軟件項目管理_第1頁
第11章-軟件項目管理_第2頁
第11章-軟件項目管理_第3頁
第11章-軟件項目管理_第4頁
第11章-軟件項目管理_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第11章-軟件項目管理第一頁,共43頁。

項目管理是廣泛應用于各種工程、金融等技術管理過程,管理的好壞決定了工程的成敗。軟件及IT行業(yè),尤其是軟件產(chǎn)品的特殊性,軟件項目管理對于保證軟件產(chǎn)品的質(zhì)量具有極為重要的作用,是決定一個產(chǎn)品或企業(yè)能否成功的最重要的指標。

11.1軟件項目管理概述不可見性不確定性人員流動性第二頁,共43頁。11.1軟件項目管理概述

隨著軟件的規(guī)模和復雜度的不斷增大,開發(fā)人員的增加以及開發(fā)時間的增長,這些都增加了軟件項目管理的難度。例如:Windows2000的開發(fā)是微軟公司歷史上最艱巨的任務,僅核心部門的的成員就有2500人,測試用的代碼就有1000萬行,測試中所用到的腳本程序就有6500種…。象規(guī)模如此之大的軟件系統(tǒng),如果沒有科學的、規(guī)范的、有效的管理,是不可能成功的。因此軟件項目管理成為軟件工程的重要研究內(nèi)容之一。第三頁,共43頁。11.1.1軟件項目管理的任務過程(process)人員(people)工具(tools)產(chǎn)品(Product)項目(Project)參與自動化結(jié)果技術集成一、軟件項目管理的“4P”第四頁,共43頁。二、軟件項目管理過程

軟件項目管理,是對整個軟件生存期的所有活動進行管理。主要過程包括:1.項目啟動

確定系統(tǒng)范圍、組建項目團隊、建立項目環(huán)境。2.項目規(guī)劃

確定項目活動、項目成本估算、制定進度計劃3.項目實施

監(jiān)控項目執(zhí)行、管理項目風險、控制項目變更4.項目收尾

項目驗收、軟件安裝培訓、項目總結(jié)11.1.1軟件項目管理的任務第五頁,共43頁。11.1.1軟件項目管理的任務三、軟件項目管理與過程管理的關系過程定義過程改進項目規(guī)劃項目監(jiān)控項目實施軟件項目管理軟件過程管理軟件項目管理用于保證項目目標的成功實現(xiàn),過程管理用于輔助項目管理,將最佳的項目實踐用于軟件開發(fā)過程。第六頁,共43頁。11.1.2項目管理的主要活動軟件項目的規(guī)劃人員的組織管理軟件風險管理軟件配置管理包括:可行性分析

軟件成本估算

軟件計劃第七頁,共43頁。11.1.2項目管理的主要活動包括:

人員配備原則

人員配備模式

軟件團隊建設

軟件項目溝通活動軟件項目的規(guī)劃人員的組織管理軟件風險管理軟件配置管理第八頁,共43頁。11.1.2項目管理的主要活動包括:風險識別風險分析風險規(guī)劃風險監(jiān)控軟件項目的規(guī)劃人員的組織管理軟件風險管理軟件配置管理第九頁,共43頁。11.1.2項目管理的主要活動是為了有效地控制和管理軟件開發(fā)過程中的變化,進行標識、組織和控制修改的技術。

配置管理活動:

配置項的標識

版本管理

系統(tǒng)構(gòu)建

變更控制軟件項目的規(guī)劃人員的組織管理軟件風險管理軟件配置管理第十頁,共43頁。11.2成本估算技術

成本估算是可行性分析的重要依據(jù),也是軟件管理的重要內(nèi)容,直接影響到軟件開發(fā)的風險。軟件開發(fā)成本主要是指軟件開發(fā)過程中所花費的工作量及相應的代價,即主要是人的勞動的消耗。以軟件計劃、需求分析、設計、編碼到測試的軟件開發(fā)全過程所花費的代價為依據(jù)。一個大型、復雜項目,由于其項目的度,成本估算并不是一件簡單的事,必須建立相應的估算模型,按照一定的方法、技術來進行估算。第十一頁,共43頁。一、影響成本估算的因素

1.軟件人員的業(yè)務水平

2.軟件產(chǎn)品的規(guī)模及復雜度規(guī)模:按YOURDON分類法分為超小型,小型,中型,大型,超大型,極大型。復雜度:應用程序,實用程序,系統(tǒng)程序

低高3.開發(fā)所需時間對確定規(guī)模、復雜度的軟件存在一個”最佳開發(fā)時間”。4.軟件開發(fā)技術水平指開發(fā)方法、工具、語言等,技術水平高,效率高。5.軟件可靠性要求

可靠性要求愈高,成本愈高。11.2成本估算技術第十二頁,共43頁。11.2成本估算技術二.軟件成本的估算量

源代碼行(LOC)機器指令行/非機器語言的執(zhí)行步

開發(fā)工作量

人-月(PM)人-年(PY)人-日(PD)

軟件生產(chǎn)率

LOG/PM¥/LOC¥/PM

軟件開發(fā)時間第十三頁,共43頁。其中:ai

估計的最小行數(shù)

bi

估計的最大行數(shù)

mi

最可能的行數(shù)11.2.1專家估算模型即源代碼行估算模型(Deiphi技術)由Rand公司提出的Deiphi技術,是由n位專家進行成本估算。每位專家根據(jù)系統(tǒng)規(guī)格說明書,反復討論給出ai、bi及mi的值,并按照下式反復估算源代碼的期望值Li,期望中值L。ai+4mi+bi61nLi=L=將估算的源代碼行數(shù),乘以根據(jù)經(jīng)驗推算的每行源代碼所需成本,即為該軟件的成本。第十四頁,共43頁。11.2.2IBM估算模型

1977年由Waiston和Felix總結(jié)了IBM聯(lián)合系統(tǒng)分部(FSD)負責的60個項目的數(shù)據(jù),利用最小二乘法擬合,得到如下估算公式:工作量:E=5.2*L(PM)項目持續(xù)時間:D=4.1*L(月)人員需要量:S=0.54*E(人)文檔數(shù):DOC=49*L(頁)其中:L_源代碼行,以千行計。IBM估算模型是一種靜態(tài)單變量模型,它利用已估算的結(jié)果,如源代碼行,來估算各種資源的需求量.但IBM估算模型不是一種通用模型,因此應用中應根據(jù)具體實際情況調(diào)整模型中的參數(shù).第十五頁,共43頁。11.2.3Putnam估算模型LCk

td334K=L=CkKtd

Putnam估算模型是一種動態(tài)多變量模型,是根據(jù)一些大型項目中工作量的分布情況推導出來的。其中:L—源代碼行,K—所需人力(PY)

td—開發(fā)時間,CK—技術水平常數(shù)其值與開發(fā)環(huán)境有關。(差:2500-2000,正常:10000-8000,好:12500-11000)第十六頁,共43頁。LCk

td334K=L=CkKtd大型項目的工作量分布情況運行與維護系統(tǒng)開發(fā)功能設計規(guī)格說明系統(tǒng)定義安裝測試與確認設計與編碼系統(tǒng)定義功能設計規(guī)格說明時間11.2.3Putnam估算模型第十七頁,共43頁。

COCOMO模型(ConstructiveCostModel)由TRW公司開發(fā),是由Boehm提出的結(jié)構(gòu)型成本估算模型,其特點是精確、易用。是一種層次模型,按照其祥細程度分為三級:即基本的COCOMO模型、中間的COCOMO模型和詳細的COCOMO模型。

該模型主要對工作量MM(單位:PM)和進度TDEP(單位:月)進行估算。模型中考慮到估算量與開發(fā)環(huán)境有關,將開發(fā)項目分為三類:9.5.5COCOMO模型11.2.4COCOMO模型第十八頁,共43頁。11.2.4COCOMO模型

組織型(Organic)

規(guī)模<5萬,較簡單,開發(fā)人員對產(chǎn)品目標理解充分,經(jīng)驗豐富,對軟件開發(fā)環(huán)境熟悉。大多數(shù)應用軟件及老的操作系統(tǒng)、編譯系統(tǒng)屬此類。嵌入型(Embadded)

軟件、硬件關系緊密,操作有限制條件,對接口、數(shù)據(jù)結(jié)構(gòu),算法要求較高。如大型復雜的事務處理系統(tǒng),大型、超大型的操作系統(tǒng),軍事指揮系統(tǒng),航天控制系統(tǒng)等半獨立型(Semidetached)

對項目要求界于上述兩者之間,規(guī)模復雜度中等。如新操作系統(tǒng),大型數(shù)據(jù)庫,生產(chǎn)控制等軟件屬此類。9.5.5COCOMO模型第十九頁,共43頁。MM=①基本的COCOMO模型(靜態(tài)單變量模型)其中:MM

工作量(PM),KLOC

估計的源代碼行Cl

—模型系數(shù),

—模型指數(shù).Cl、取決于開發(fā)項目的模式為組織型、半獨立型或嵌入型。

下表是根據(jù)63個項目的數(shù)據(jù)統(tǒng)計結(jié)果,按照基本的COCOMO模型估算的工作量和進度??傮w類型工作量進度組織型MM=10.4(KLOG)1.05TDEV=10.5(MM)0.38半獨立型MM=3.0(KLOG)1.12TDEV=10.5(MM)0.35嵌入型MM=3.6(KLOG)1.20TDEV=10.5(MM)0.32第二十頁,共43頁。

其中:fi—

成本因素包括:生產(chǎn)因素(可靠性,數(shù)據(jù)庫規(guī)模,軟件復雜度)計算機因素(時間約束,存儲約束,環(huán)境變更率,計算機換向時間)人員因素(系統(tǒng)分析員能力、經(jīng)驗,程序員能力,開發(fā)人員環(huán)境知識,程序時間語言知識)項目工程因素(設計技術,軟件工具,進度限制約束)③詳細的COCOMO模型

按照開發(fā)階段給出更加詳細的成本因素fi。MM=②中間的COCOMO模型

進一步考慮了15種影響軟件工作量的因素,更加合理的估算軟件工作量和進度。第二十一頁,共43頁。11.2.5成本估算方法1、自頂向下的估算方法

據(jù)以前完成的同類項目的總成本推算,再將其分配到各開發(fā)任務中。特點:簡便、估算工作量小、誤差大。2、自底向上的估算法

估算每一子任務的開發(fā)工作量,將它們累加起來。特點:精確度高、但缺少子任務(模塊)間的聯(lián)系。3、差別估計法

與已完成的項目進行類比,對不同部分另行估算。特點:估算較精確、但區(qū)分類比較困難。對于大型軟件項目的估算處理,處理手段主要是分解和類比。一般有以下方式:注意:通常使用綜合方法對實際項目進行估算。第二十二頁,共43頁。11.2.6成本/效益分析

成本/效益分析首先估算成本和運行費用(系統(tǒng)的操作費用和維護費用),系統(tǒng)的經(jīng)濟效益則等于因使用新系統(tǒng)而增加的收入,加上使用新系統(tǒng)可以節(jié)省的運行費用。

1.貨幣的時間價值

通常以利率形式表示。假設,年利率為i,P元錢在n年后的價值F為:

2.投資回收期

投資回收期即工程累計經(jīng)濟效益等于最初投資所需要的時間。

nF=P(1+i)第二十三頁,共43頁。4.投資回收率

用于衡量投資效益的大小,并且可以用它和年利率比較,設現(xiàn)在的投資額為P:P=F1/(1+j)+F2/(1+j)2+…+Fn/(1+j)n其中:Fi是第i年年底的效益(i=1,2,3,…n);

n是系統(tǒng)的使用壽命;j是投資回收率。參考書:軟件工程經(jīng)濟學[美]巴里.W.貝姆.趙越等譯中國鐵道出版社3.純收入

在整個生存周期內(nèi)新系統(tǒng)的累計經(jīng)濟效益與投資之差稱為純收入。第二十四頁,共43頁。11.3軟件開發(fā)進度計劃

軟件開發(fā)進度計劃安排是一件困難的任務,盡可能并行地安排任務,還要考慮各個子任務之間的相互聯(lián)系,又要預見潛在的問題,提供意外事件的處理意見。

描述計劃進度的主要工具:一般的表格工具、甘特圖、PERT技術與CPM方法。1、一般的表格工具例如:進度表

▲▲▲軟件測試

▲▲▲

編碼

▲▲詳細設計

▲▲總體設計▲▲▲需求分析123456789101112任務月份010203040506070一月二月三月四月五月六月需求分析

總體設計詳細設計編碼、測試進度表第二十五頁,共43頁。2.甘特圖(GanttChart)

用水平線段表示任務的工作階段;線段的起點和終點分別表示任務的開始和完成時間,線段的長度表示完成任務所需的時間。下圖給出了具有五個任務的甘特圖。甘特圖周

1234567891011

任務ABCDE當前進度○△○△○△○△○△優(yōu)點:標明了各任務的計劃進度和當前進度。能夠動態(tài)反映軟件開發(fā)的進展情況。缺點:不能夠反映多個任務之間的復雜邏輯關系。完成計劃完成○文檔編寫△評審圖例第二十六頁,共43頁。3.時標網(wǎng)狀圖(timescalarnetwork)

也稱為改進的Gantt圖,增加了各子任務之間的邏輯依賴關系。如圖所示;表示A、B、C、D、E5個任務之間在進度上的依賴關系。例如E2的開始取決于A3的完成。虛箭頭表示虛任務。120378456周任務5

101520A1A2A3B1B2E1E2CD1D2D3時標網(wǎng)狀圖第二十七頁,共43頁。4.PERT技術和CPM方法

PERT(Programevaluation&reviewtechnique)計劃評審技術或CPM(Criticalpathmethod)關鍵路徑法,都是采用網(wǎng)絡圖來描述項目的進度安排。如圖描述了開發(fā)模塊A、B、C的任務網(wǎng)絡圖。各邊上所標注的數(shù)字為該任務所持續(xù)的時間,數(shù)字結(jié)點為任務的起點和終點。023456718起點A編碼A調(diào)試B編碼A測試C理解B測試C修改C調(diào)試C測試6687887968BC組裝測試5B調(diào)試任務網(wǎng)絡圖假設紅線為關鍵路徑,即完成所有任務的主要路徑。第二十八頁,共43頁。11.4人員配備與組織三、評價人員的條件

1、固掌握計算機軟件的基本知識和技能;

2、善于分析和綜合問題,具有嚴密的邏輯思維能力;

3、工作踏實、細致、不靠運氣,遵循標準和規(guī)范,具有嚴格的科學作風;

4、工作中耐心、有毅力、有責任心;

5、善于聽取意見,善于團結(jié)協(xié)作,有良好的人際關系;

6、具有良好的書面和口頭表達能力。

合理的配備人員是成功的完成軟件項目的切實保證。一、項目各階段所需人員

按Putnam_Norden曲線分配。

Putnam_Norden曲線高低計劃需求分析初步設計詳細設計編碼單元測試整體測試功能測試管理人員高級技術人員初級技術人員

二、配備人員遵守的原則

重質(zhì)量;重培訓;階梯提升:第二十九頁,共43頁。四、軟件開發(fā)小組與軟件生產(chǎn)率

隨著軟件項目規(guī)模的增大,需要組成開發(fā)小組共同承擔軟件開發(fā)項目中的某一任務,于是人與人之間必須通過交流來解決各自承擔任務之間的接口問題,即通信問題。通信需要的時間和代價,會降低軟件的生產(chǎn)率。開發(fā)小組的組織有以下原則:

1.軟件開發(fā)小組的規(guī)模不宜太大,人數(shù)不能太多,一般3-5人左右為宜。

2.切忌在開發(fā)過程中增加人員,這將因增加人員之間的聯(lián)系而降低效率。第三十頁,共43頁。四、軟件開發(fā)小組與軟件生產(chǎn)率例:設一開發(fā)小組有4個軟件工程師,開發(fā)效率為5000行/年,共有6條通信路徑,每條路徑降低生產(chǎn)率250行/年,則小組生產(chǎn)率為:

5000×4-250×6=18500(行/年)

如為了加快進度,新增加2人(圖8.10),每人效率為840行/年,通信路徑增加到15條,此時的小組生產(chǎn)率為:20000+840×2-250×15=17930(行/年)即新增加人,并未提高生產(chǎn)率。第三十一頁,共43頁。軟件組織結(jié)構(gòu)主程序員秘書程序員程序員后備程序員程序員主程序員式組織結(jié)構(gòu)項目管理組長組長組長程序員程序員程序員程序員程序員程序員………

大型項目的技術管理式組織結(jié)構(gòu)第三十二頁,共43頁。11.5軟件項目風險管理風險(risk)是一種潛在的危險。軟件項目由于其自身的特點而存在風險,甚至是災難性的風險。項目風險管理主要包括:風險標識、風險估算、風險評價、風險監(jiān)控和管理。風險標識風險估算風險評價風險監(jiān)控第三十三頁,共43頁。1.風險標識

識別潛在的風險,分別對以下三類風險進行提取、分析:?

項目風險(projeet)。與項目有關的預算、進度、人力、資源、用戶需求、項目規(guī)模、復雜性等方面的問題。

?技術風險(technical)。影響開發(fā)質(zhì)量和交付時間的設計、實現(xiàn)、驗證、維護、接口等方面的問題。

?商業(yè)風險(business)。包括與產(chǎn)品的商業(yè)運作有關的市場風險、預算風險、決策風險、銷售風險等。第三十四頁,共43頁。Keil.M.等人總結(jié)的識別風險的提問單:⑴最終用戶對該項目和待構(gòu)造的系統(tǒng)支持嗎?⑵.需求已經(jīng)被軟件項目組和用戶完全理解嗎?⑶軟件開發(fā)機構(gòu)的高層管理者和用戶方的管理者已正式承諾支持該項目嗎?⑷用戶已充分參加到需求定義中了嗎?⑸最終用戶的期望實現(xiàn)了嗎?⑹項目的需求穩(wěn)定嗎?⑺項目的工作范圍穩(wěn)定嗎?⑻軟件項目組擁有合適的技能嗎?⑼項目組對所需開發(fā)技術有經(jīng)驗嗎?⑽項目組人員數(shù)量能夠完成此項目嗎?⑾所有用戶對該項目的重要性和系統(tǒng)需求有共識嗎?第三十五頁,共43頁。2.風險估算也稱為風險評估,一般是從兩方面進行估算:⑴從影響風險的因素考慮風險發(fā)生的可能性。⑵風險發(fā)生所帶來的損失的嚴重程度。為了反映風險產(chǎn)生的可能程度和風險產(chǎn)生后果的嚴重程度,建立風險度量的指標體系,如一種簡單的風險評估技術是建立風險評估表。第三十六頁,共43頁。性能支持成本進度災難性的1無法滿足需求而導致任務的失敗錯誤導致成本增加,資金短缺超出預算2性能嚴重下降,達不到技術要求無法響應或無法支持的軟件資金嚴重短缺,很可能超出預算無法按期交付完成嚴重的1無法滿足需求而導致系統(tǒng)性能下降,任務能否完成受到質(zhì)疑錯誤導致運行延遲和成本增加2技術性能有所降低在軟件修改中,有所延后資金不足,可能超支交付日期可能遲后輕微的1不能滿足需求而導致次要任務性能下降對成本和進度都有影響2技術性能稍有降低能響應軟件支持有較充足的資金來源計劃進度可完成可忽略的1無法滿足需求而導致使用不方便或操作不易錯誤對成本和進度影響不大2技術性能不會降低易于軟件支持可能低于預算交付日期可能提前類別成分風險評估表第三十七頁,共43頁。3.風險評價定義項目的風險參考水準,進一步驗證風險評估結(jié)果的準確性,并按照風險發(fā)生概率高低和后果嚴重的程度進行排序。成本、性能和進度是三個典型的參考量。風險參考水準成本超支進度延遲參考點(成本值、時間值)將造成項目終止進行風險評價,通常由下列三元組形式描述:(ri,li,xi)i=1,2,3,….l其中:ri,為風險,li,為風險發(fā)生的概率,xi為風險發(fā)生后的影響。i為風險的種類。第三十八頁,共43頁。4.風險監(jiān)控和管理⑴避免風險(avoidance)是一種主動避免風險的活動。是在風險發(fā)生前分析引起風險的原因,采取措施,避免風險發(fā)生。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論