軟件項目管理(第十至十三章).ppt_第1頁
軟件項目管理(第十至十三章).ppt_第2頁
軟件項目管理(第十至十三章).ppt_第3頁
軟件項目管理(第十至十三章).ppt_第4頁
軟件項目管理(第十至十三章).ppt_第5頁
已閱讀5頁,還剩72頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第四篇 軟件項目管理,計劃(第十章) 組織(第十一章) 控制(第十二章) 國際標準(第十三章),第十章 計劃,如何度量軟件規(guī)模? 如何估算工作量? 如何估算進度計劃?,所謂管理就是通過計劃、組織和控制等一系列的活動,合理地配置和使用各種資源,以達到既定目標的過程 項目管理優(yōu)先于任何技術活動之前開始,并貫穿于軟件的整個生命周期之中。 第一項計劃活動是“估算”,它是所有其它項目計劃活動的基礎,而項目計劃為軟件工程指出了通往成功的道路。 估算包括“工作量估算”和“完成期限估算”,10.1 度量軟件規(guī)模,軟件度量域的分類,軟件生產(chǎn)率度量的焦點集中在軟件工程過程的輸出; 軟件質量度量則指明了軟件適應明確

2、和不明確的用戶要求到什么程度; 技術度量的焦點則集中在軟件的某些特性(如邏輯復雜性、模塊化程度)上而不是軟件開發(fā)的全過程。,另一種分類方法,面向規(guī)模的的度量用于收集與直接度量有關的軟件工程輸出的信息和質量信息。 面向功能的度量提供直接度量的尺度。 面向人的度量則收集有關人們開發(fā)計算機軟件所用方式的信息和人們理解有關工具和方法的效率的信息。,面向規(guī)模的度量,面向規(guī)模的度量是對軟件和軟件開發(fā)過程的直接度量。 可以建立一個面向規(guī)模的數(shù)據(jù)表格來記錄項目的某些信息。 該表格列出了在過去幾年完成的每一個軟件開發(fā)項目和關于這些項目的相應面向規(guī)模的數(shù)據(jù)。,面向規(guī)模的數(shù)據(jù)表格,項目aaa-01 規(guī)模為 114.

3、1 KLOC(千代碼行) 工作量用了 24個人月 成本為168,000元 文檔頁數(shù)為365 在交付用戶使用后第一年內發(fā)現(xiàn)了29個錯誤, 有3個人參加了項目aaa-01的軟件開發(fā)工作。,需要注意的是,在表格中記載的工作量和成本是整個軟件工程的活動(分析、設計、編碼和測試),而不僅僅是編碼活動。 對于每一個項目,可以根據(jù)表格中列出的基本數(shù)據(jù)計算簡單的面向規(guī)模的生產(chǎn)率和質量的度量。,根據(jù)數(shù)據(jù)表格可以對所有的項目計算出平均值: 生產(chǎn)率 KLOCPM(人月) 質量 錯誤數(shù)KLOC 成本 元LOC 文檔 文檔頁數(shù)KLOC,代碼行技術比較簡單的定量估算軟件規(guī)模的方法。 根據(jù)以往類似項目的歷史數(shù)據(jù),多名有經(jīng)驗

4、的工程師分別估計程序的最小規(guī)模(a)、可能規(guī)模(m)、最大規(guī)模(b),分別計算平均值。記作a*、m*、b*。 用下式計算程序規(guī)模的估計值L。 L (a*4m*b*)6,10.1.1 代碼行技術,代碼行是所有軟件開發(fā)項目都有的“產(chǎn)品”,容易計算 許多現(xiàn)有的軟件估算模型使用LOC或KLOC作為關鍵的輸入數(shù)據(jù) 已有大量基于代碼行的文獻和數(shù)據(jù)存在,代碼行技術的優(yōu)點:,源程序僅是軟件配置的一個成分,用它的規(guī)模代表整個軟件的規(guī)模不合理 用不同的語言實現(xiàn)同一個軟件產(chǎn)品所需要的代碼行數(shù)并不相同 這種方法不適用于非過程語言,代碼行技術的缺點:,10.1.2 功能點技術,功能點技術利用軟件信息域中的一些計數(shù)和軟件

5、復雜性估計的經(jīng)驗關系式而導出功能點FP。,(1)輸入項數(shù)(Inp) (2)輸出項數(shù)(Out) (3)查詢數(shù)(Inq) (4)主文件數(shù)(Maf) (5)外部接口數(shù)(Inf),信息域的特性包括:,(1)計算未調整的功能點數(shù),首先把產(chǎn)品信息域的每個特性都分類成簡單級、平均級或復雜級。根據(jù)其等級,為每個特性都分配一個功能點數(shù),例如一個平均級的輸入項分配4個功能點,一個簡單級輸入項是三個功能點,一個復雜級的輸入項分配6個功能點。如下計算未調整的功能點數(shù): UFP=a1Inpa2outa3Inqa4Mafa5Inf,其中,ai是信息域特性系數(shù),面向功能的數(shù)據(jù)表格,(2)計算功能點FP,將14種技術因素對軟

6、件規(guī)模的影響程度根據(jù)軟件特點,為每個因素分配一個從0到5的值。 計算功能點,使用如下的關系式: FP UFPTCF UFP( 0.65 + 0.01SUM ( Fi ) ),Fi(i1.14)是復雜性校正值,它們應通過逐一回答如下提問來確定。 Fi的取值0.5: 0 沒有影響 1 偶然的 2 適中的 3 普通的 4 重要的 5 極重要的 SUM(Fi)是求和函數(shù)。,復雜性校正值 Fi,1. 系統(tǒng)是否需要可靠的備份和恢復? 2. 是否需要數(shù)據(jù)通信? 3. 是否有分布處理的功能? 4. 是否性能成為關鍵? 5. 系統(tǒng)是否運行在既存的高度實用化的操作環(huán)境中? 6. 系統(tǒng)是否需要聯(lián)機數(shù)據(jù)項?,7. 聯(lián)

7、機數(shù)據(jù)項是否需要建立多重窗口顯示和操作,以處理輸入處理。 8. 主文件是否聯(lián)機更新? 9. 輸入、輸出、文件、查詢是否復雜? 10. 內部處理過程是否復雜? 11. 程序代碼是否可復用? 12. 設計中是否包括了轉移和安裝? 13. 系統(tǒng)是否設計成可以重復安裝在不同機構中 14. 系統(tǒng)是否設計成易修改和易使用?,10.2 工作量估算,10.2.1 靜態(tài)單變量模型,形式如下: E=A+B(ev)C 其中,A、B、C是經(jīng)驗導出的常數(shù),E是以人月為單位的工作量,ev是估算變量(LOC或FP)。,1、面向LOC的估算模型: (1)WalstonFelix模型: E=5.2(KLOC)0.91 (2)B

8、aileyBasili模型 E=5.50.73(KLOC)1.16 (3)Boehm簡單模型 E=3.2(KLOC)1.05 (4)Doty模型(在KLOC9的情況下) E=5.288(KLOC)1.047,2、面向FP的估算模型: (1)Albrecht&Gaffney模型: E=-13.39+0.0545FP (2)Kemerer模型 E=60.627.72810-8FP3 (3)Maston、Barnett和Mellichamp模型 E=585.7+5.12FP,10.2.2 動態(tài)多變量模型,形式如下: E=LOCB0.333/P3(1/t)4 其中,E是以人月或人年為單位的工作量 t是

9、以月或年為單位的項目持續(xù)時間 B是“特殊技術因子”,它隨著對集成、測試、質量保證、文檔及管理技術的需求的增長而緩慢增加。 P是“生產(chǎn)率參數(shù)”,它反映了下述因素對工作量的影響:總體的過程成熟度及管理水平;使用良好的軟件工程實踐的程度;軟件環(huán)境狀態(tài);軟件項目組的技術及經(jīng)驗;應用系統(tǒng)的復雜程度,軟件方程式有兩個獨立變量: 對軟件規(guī)模的估算值(用LOC表示); 以月或年為單位的項目持續(xù)時間 開發(fā)同一個軟件的時候,如果把項目持續(xù)時間延長一些,則可降低完成項目所需要的工作量,COCOMO模型 (COnstructive COst MOdel),結構型成本估算模型是一種精確、易于使用的成本估算方法。在該模型

10、中使用的基本量有以下幾個: DSI(源指令條數(shù))定義為代碼的源程序行數(shù)。若一行有兩個語句,則算做一條指令。它包括作業(yè)控制語句和格式語句,但不包括注釋語句。KDSI1000DSI。,COCOMO模型的分類COCOMO模型按其詳細程度分成三級: 基本COCOMO模型 中間COCOMO模型 詳細COCOMO模型 基本COCOMO模型是一個靜態(tài)單變量模型,它用源代碼行數(shù)(LOC)為自變量的(經(jīng)驗)函數(shù)來計算軟件開發(fā)工作量。,中間COCOMO模型則在用LOC為自變量的函數(shù)計算軟件開發(fā)工作量(此時稱為名義工作量)的基礎上,再用涉及產(chǎn)品、硬件、人員、項目等方面屬性的影響因素來調整工作量的估算。 高級COCO

11、MO模型包括中級CO COMO模型的所有特性,但用上述各種影響因素調整工作量估算時,還要考慮對軟件工程過程中每一步驟(分析、設計等)的影響。,中級COCOMO模型,進一步考慮15種影響軟件工作量的因素,通過定下乘法因子,修正COCOMO工作量公式和進度公式,可以更合理地估算軟件(各階段)的工作量和進度。 中間COCOMO模型把軟件開發(fā)工作量表示成代碼行數(shù)的非線性函數(shù):,MM=C1KLOCa MM(度量單位為人月)表示開發(fā)工作量。 C1是模型系數(shù) KLOC是估計的代碼行數(shù)(以千行為單位) a是模型指數(shù) fi(i=1到15)成本因素,15種影響軟件工作量的因素 fi,產(chǎn)品因素:軟件可靠性、數(shù)據(jù)庫規(guī)

12、模、產(chǎn)品復雜性 硬件因素:執(zhí)行時間限制、存儲限制、虛擬機易變性、環(huán)境周轉時間 人的因素:分析員能力、應用領域實際經(jīng)驗、程序員能力、虛擬機使用經(jīng)驗、程序語言使用經(jīng)驗 項目因素:現(xiàn)代程序設計技術、軟件工具的使用、開發(fā)進度限制,軟件開發(fā)項目的分類軟件開發(fā)項目的總體類型: 組織型 嵌入型 半獨立型,中級COCOMO模型系數(shù)與模型指數(shù),例1. 一個32KDSI的聲音輸入系統(tǒng)是一個輸入原型,或是一個可行性表演模型。所需可靠性非常低。把此模型看做半獨立型軟件。則有 MM 3.0(32)1.12 146又查表知 f10.75,其它 fi1.00,則最終有MM 1460.75 109.5,例14. 一個規(guī)模為1

13、0KDSI的商用微機遠程通信的嵌入型軟件,使用中間COCOMO模型進行成本估算。 MM 44.38 44.381.17 51.5(MM),詳細COCOMO模型,詳細COCOMO模型的名義工作量公式和進度公式與中間COCOMO模型相同。 工作量因素分級表分層、分階段給出。針對每一個影響因素,按模塊層、子系統(tǒng)層、系統(tǒng)層,有三張工作量因素分級表,供不同層次的估算使用。每一張表中工作量因素又按開發(fā)各個不同階段給出。,例如,關于軟件可靠性(RELY)要求的工作量因素分級表(子系統(tǒng)層),如表所示。 使用這些表格,可以比中間COCO MO模型更方便、更準確地估算軟件開發(fā)工作量。,10.3 進度計劃,項目管理

14、者的目標是定義所有項目任務,識別出關鍵任務,跟蹤關鍵任務的進展情況,以保證能夠及時發(fā)現(xiàn)拖延進度的情況。 為此管理者必須制定一個足夠詳細的進度表,以便監(jiān)督項目進度并控制整個項目。,項目管理者的目標是定義所有項目任務,識別出關鍵任務,跟蹤關鍵任務的進展情況,以保證能夠及時發(fā)現(xiàn)拖延進度的情況。 為此管理者必須制定一個足夠詳細的進度表,以便監(jiān)督項目進度并控制整個項目。,常用的制定進度計劃的工具主要有Gantt圖和工程網(wǎng)絡兩種。 Gantt圖歷史悠久、直觀簡明、容易學習、容易繪制等優(yōu)點。但是,它不能顯式地表示各項任務彼此間的依賴關系,也不能顯式地表示關鍵路徑和關鍵任務,進度計劃中的關鍵部分不明確。因此,

15、在管理大型軟件項目時,僅用Gantt圖是不夠的,不僅難于做出既節(jié)省資源又保證進度的計劃,而且還容易發(fā)生差錯。,工程網(wǎng)絡不僅能描繪任務分解的情況及每項作業(yè)的開始時間和結束時間,而且還能顯式地表示各個作業(yè)彼此間的依賴關系。 從工程網(wǎng)絡圖中容易識別出關鍵路徑和關鍵任務。因此,工程網(wǎng)絡是制定進度計劃的強有力的工具。 通常聯(lián)合使用Gantt圖和工程網(wǎng)絡這兩種工具來制定和管理進度計劃,使它們互相補充取長補短。,第十一章 組 織,民主制程序員組 主程序員組 現(xiàn)代程序員組 軟件項目組,11.1 民主制程序員組,主要優(yōu)點:對發(fā)現(xiàn)錯誤抱著積極的態(tài)度,這種積極的態(tài)度有助于更快速地發(fā)現(xiàn)錯誤,從而得到高質量的代碼。 另

16、一個優(yōu)點是:小組成員享有充分民主,小組有高度凝聚力,組內學術空氣濃厚,有利于攻克難關。 因此,當所要開發(fā)的產(chǎn)品的技術難度較高時,采用民主制程序員組是適宜的,如果組內多數(shù)成員水平不高,或是缺乏經(jīng)驗的新手,那么這種非正式的組織方式也有嚴重缺點:由于沒有明確的權威指導開發(fā)工程的進行,組員間將缺乏必要的協(xié)調,最終可能導致工程失敗,11.2 主程序員組,關鍵特性: 專業(yè)化。該組每名成員僅完成那些他們受過專業(yè)訓練的工作 層次性。主程序員對工程全面負責。,核心人員分工如下: 主程序員:既是成功的管理人員又是經(jīng)驗豐富能力強的高級程序員。 后備程序員:也是技術熟練而且富于經(jīng)驗,他協(xié)助主程序員的工作,在必要時接替

17、主程序員的工作。 編程秘書:負責完成與項目有關的全部事務性工作。,11.3 現(xiàn)代程序員組,主程序員由兩個人來擔任:一個是技術負責人,負責技術活動;一個是行政負責人,負責所有非技術的管理決策。 技術組長只對技術負責,行政組長全權負責非技術事務。,將民主制程序員和主程序員組的優(yōu)點結合起來的另一種方法,是在合適的地方采用分散做決定的方法。這樣有利于形成暢通的通信渠道,以便充分發(fā)揮每個程序員的積極性和主動性。,11.4 軟件項目組,三種組織方式: 民主分權制 控制分權制 控制集權式,四種組織范型: 封閉式范型 隨機式范型 開放式范型 同步式范型,第十二章 控 制,風險管理 質量保證 配置管理,控制是十

18、分重要的管理活動,就是掌握被控制的對象,不讓它任意活動或超出規(guī)定范圍活動,盡量使一切活動都按照預定的計劃進行,向預期的目標前進。,每當新建一個程序時,總是存在某些不確定性。 用戶要求是否能確切地被理解? 在項目最后結束之前要求實現(xiàn)的功能能否建立? 是否存在目前仍未發(fā)現(xiàn)的技術難題? 在項目出現(xiàn)嚴重誤期時是否 會發(fā)生一些變更?等等。,12.1 風險管理,風險分析對于軟件項目管理是決定性的,然而現(xiàn)在還有許多項目不考慮風險就著手進行。 所謂風險分析實際上就是一系列風險管理步驟,其中包括風險識別、風險估計、風險優(yōu)化、風險管理策略、風險解決和風險監(jiān)督。這些步驟貫穿在軟件工程過程中。,對付風險應當采取主動的

19、策略,在工作開始之前就應該啟動風險管理活動: 標識出潛在的風險 評估它們出現(xiàn)的概率和影響 按重要性排序,風險管理的主要目標是預防風險,但是并非所有風險都能預防,因此還需要制定一個計劃來管理風險。,風險有兩個特點: 不確定性:可能發(fā)生也可能不發(fā)生 損失:如果風險變成現(xiàn)實就有可能造成損失,12.1.1 軟件風險分類,風險的分類: 按影響范圍分類: 項目風險,技術風險,商業(yè)風險 按可預測性分類: 已知風險,可預測的風險,不可預測的風險,采用建立風險條目檢查表的方法,可集中精力識別下列已知的和可預測的風險: 產(chǎn)品規(guī)模,商業(yè)影響,客戶特性,過程定義,開發(fā)環(huán)境,所用技術,人員數(shù)目與經(jīng)驗,12.1.2 風險

20、識別,1.評估風險后果 性能風險,成本風險,支持風險,進度風險 2.建立風險表,12.1.3 風險預測,1. 風險緩解 2.風險監(jiān)控 3.風險管理和意外事件計劃,12.1.4 處理風險的策略,軟件質量 軟件質量是軟件符合明確地敘述的功能和性能要求、文檔中明確描述的開發(fā)標準、以及所有專業(yè)開發(fā)的軟件都應具有的隱含特征的程度。 影響軟件質量的主要因素是從管理角度對軟件質量的度量:,12.2 質量保證,影響軟件質量的主要因素是從管理角度對軟件質量的度量,它們分別反映用戶在使用軟件產(chǎn)品時的三種不同的傾向或觀點: 產(chǎn)品運行 產(chǎn)品修改 產(chǎn)品轉移,軟件質量保證措施: 復審 走查 審查 程序正確性證明,軟件配置

21、 軟件質量是軟件符合明確地敘述的功能和性能要求、文檔中明確描述的開發(fā)標準、以及所有專業(yè)開發(fā)的軟件都應具有的隱含特征的程度。 影響軟件質量的主要因素是從管理角度對軟件質量的度量:,12.2 配置管理,軟件配置管理,在軟件建立時變更是不可避免的,因為在進行變更前沒有仔細分析,或沒有進行變更控制,變更加劇了項目中軟件人員之間的混亂。 協(xié)調軟件開發(fā)使得混亂減到最小的技術叫做配置管理。 配置管理是一組標識、組織和控制修改的活動,目的是使錯誤達到最小并最有效地提高生產(chǎn)率。,軟件配置管理的概念,軟件配置管理,簡稱SCM,是一種“保護傘”活動,它應用于整個軟件工程過程。 SCM活動的目標是為了 (1) 標識變

22、更; (2) 控制變更; (3) 確保變更正確地實現(xiàn); (4) 向其他有關的人報告變更。,在軟件工程過程中產(chǎn)生的所有信息項(文檔、報告、程序、表格、數(shù)據(jù))構成了軟件配置。 軟件配置是軟件的具體形態(tài)在某一時刻的瞬時影像。 隨著軟件工程過程的進展,軟件配置項(SCI)數(shù)目快速增加。系統(tǒng)規(guī)格說明可繁衍出軟件項目實施計劃和軟件需求規(guī)格說明。它們又依次繁衍出建立信息層次的其它文檔。,基線 (Baseline),基線是軟件生存期中各開發(fā)階段末尾的特定點,又稱里程碑。 由正式的技術評審而得到的SCI協(xié)議和軟件配置的正式文本才能成為基線。 基線的作用是把各階段工作的劃分更加明確化,以便于檢驗和肯定階段成果。,軟件開發(fā)各階段的基線,軟件配置管理過程,軟件配置管理(SCM)的任務是: 標識軟件配置中的對象 版本控制 變化控制 配置審計 狀態(tài)報告,第十三章 國際標準,在IEEE標準1058.1中給出了軟件項目管理計劃的框架,它實質上是一

溫馨提示

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

評論

0/150

提交評論