軟件工程導論(第五版)課件-第13章_第1頁
軟件工程導論(第五版)課件-第13章_第2頁
軟件工程導論(第五版)課件-第13章_第3頁
軟件工程導論(第五版)課件-第13章_第4頁
軟件工程導論(第五版)課件-第13章_第5頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、第13章 軟件項目管理一、復習要求1. 了解軟件過程的概念、軟件過程框架和軟件過程模型。2. 了解軟件項目管理的過程。3. 掌握LOC估算和FP估算的方法,分解技術和工作量估算方法。4. 了解軟件成本估算的概念,掌握COCOMO成本估算方法。5. 了解軟件進度安排方法及圖形工具。6. 了解軟件質量管理的概念7了解軟件配置管理的概念二、內容提要1. 軟件過程圖 軟件工程層次軟件過程的概念質量關注點方法工具過程軟件工程是一種層次化的技術,如圖9.1所示。軟件工程的過程層是將結合在一起的凝聚力量,使得計算機軟件能夠及時、合理地被開發出來。軟件過程定義了一組關鍵過程域(KPAs),它們構成軟件項目管理

2、的基礎,并規定了技術方法的采用、工程產品(模型、文檔、數據、報告、表格等)的產生、里程碑的建立、質量的管理以及適當的變更控制。任務集合軟件過程是軟件生存期中的一系列相關軟件工程活動的集合。每一個軟件過程又是由一組工作任務、項目里程碑、軟件工程產品和交付物以及質量保證(SQA)點等組成。2、軟件項目管理過程軟件項目管理包括進度管理、成本管理、質量管理、人員管理、資源管理、標準化管理。管理的對象是進度、系統規模及工作量估算、經費、組織機構和人員、風險、質量、作業和環境配置等。軟件項目管理所涉及的范圍覆蓋了整個軟件生存期。為使軟件項目開發獲得成功,一個關鍵問題是必須對軟件開發項目的工作范圍、可能遇到

3、的風險、需要的資源(人、硬軟件)、要實現的任務、經歷的里程碑、花費工作量(成本),以及進度的安排等等做到心中有數。而軟件項目管理可以提供這些信息。通常,這種管理在技術工作開始之前就應開始,而在軟件從概念到實現的過程中繼續進行,并且只有當軟件開發工作最后結束時才終止。(1) 啟動一個軟件項目在制定軟件項目計劃之前,必須先明確項目的目標和范圍、考慮候選的解決方案、標明技術和管理上的要求。有了這些信息,才能確定合理、精確的成本估算,實際可行的任務分解以及可管理的進度安排。項目的目標標明了軟件項目的目的但不涉及如何去達到這些目的。范圍標明了軟件要實現的基本功能,并盡量以定量的方式界定這些功能。候選的解

4、決方案雖然涉及方案細節不多,但有了方案,管理人員和技術人員就能夠據此選擇一種“好的”方法,給出諸如交付期限、預算、個人能力、技術界面及其它許多因素所構成的限制。(2) 制定項目計劃制定計劃的任務包括:§ 估算所需要的人力(通常以人月為單位)、項目持續時間(以年份或月份為單位)、成本(以元為單位)。§ 作出進度安排,分配資源,建立項目組織及任用人員(包括人員的地位、作用、職責、規章制度等),根據規模和工作量估算分配任務。§ 進行風險分析,包括風險識別、風險估計、風險優化、風險駕馭策略、風險解決和風險監督。這些步驟貫穿在軟件工程過程中。§ 制定質量管理指標:

5、如何識別定義好的任務?管理人員對結束時間如何掌握,并如何識別和監控關鍵路徑以確保結束?對進展如何度量?以及如何建立分隔任務的里程碑。§ 編制預算和成本。§ 準備環境和基礎設施等。(3) 計劃的追蹤和控制一旦建立了進度安排,就可以開始著手追蹤和控制活動。由項目管理人員負責在過程執行時監督過程的實施,提供過程進展的內部報告,并按合同規定向需方提供外部報告。對于在進度安排中標明的每一個任務,如果任務實際完成日期滯后于進度安排,則管理人員可以使用一種自動的項目進度安排工具來確定在項目的中間里程碑上進度誤期所造成的影響。可對資源重新定向,對任務重新安排,或者(做為最壞的結果)可以修改

6、交付日期以調整已經暴露的問題。用這種方式可以較好地控制軟件的開發。(4) 評審和評價計劃的完成程度項目管理人員應對計劃完成程度進行評審,對項目進行評價。并對計劃和項目進行檢查, 使之在變更或完成后保持完整性和一致性。(5) 編寫管理文檔項目管理人員根據合同確定軟件開發過程是否完成。如果完成,應從完整性方面檢查項目完成的結果和記錄,并把這些結果和記錄編寫成文檔并存檔。 3、面向功能的度量面向功能的軟件度量是對軟件和軟件開發過程的間接度量。面向功能度量的關注點在于程序的“功能性”和“實用性”,而不是對LOC計數。一種典型的生產率度量法叫做功能點度量,該方法利用軟件信息域中的一些計數度量和軟件復雜性

7、估計的經驗關系式而導出功能點FPs(Function Points)。功能點通過填寫表格來計算。首先確定五個信息域的特征,并在表格中相應位置給出計數。信息域的值以如下方式定義:§ 用戶輸入數:各個用戶輸入是面向不同應用的輸入數據,對它們都要進行計數。輸入數據應有別于查詢數據,它們應分別計數。§ 用戶輸出數:各個用戶輸出是為用戶提供的面向應用的輸出信息,它們均應計數。這里的輸出是指報告,屏幕信息,錯誤信息等,在報告中的各數據項不應再分別計數。§ 用戶查詢數:查詢是一種聯機輸入,它導致軟件以聯機輸出的方式生成某種即時的響應。每一個不同的查詢都要計數。§ 文件

8、數:每一個邏輯主文件都應計數。這里的邏輯主文件,是指邏輯上的一組數據,它們可以是一個大的數據庫的一部分,也可以是一個單獨的文件§ 外部接口數:對所有被用來將信息傳送到另一個系統中的機器可讀寫的接口(即磁帶或磁盤上的數據文件)均應計數。計數 表 功能點度量的計算信息域參數加 權 因 數 簡單 中間 復雜用戶輸入數´346=用戶輸出數´457=用戶查詢數´346=文 件 數´71015=外部接口數´5710=加權計數總 計 數 一旦收集到上述數據,就可以計算出與每一個計數相關的復雜性值。使用功能點方法的機構要自行擬定一些準則以確定一個特定

9、項是簡單的、平均的還是復雜的。 4、COCOMO模型(COnstructive COst MOdel)這是由TRW公司開發。Boehm提出的結構型成本估算模型。是一種精確、易于使用的成本估算方法。在該模型中使用的基本量有以下幾個:DSI(源指令條數)定義為代碼或卡片形式的源程序行數。若一行有兩個語句,則算做一條指令。它包括作業控制語句和格式語句,但不包括注釋語句。KDSI1000DSI。MM(度量單位為人月)表示開發工作量。TDEV(度量單位為月)表示開發進度。它由工作量決定。5、 進度安排的方法軟件項目的進度安排與任何一個多任務工作的進度安排基本差不多,因此,只要稍加修改,就可以把用于一般開

10、發項目的進度安排的技術和工具應用于軟件項目。軟件項目的進度計劃和工作的實際進展情況,需要采用圖示的方法描述,特別是表現各項任務之間進度的相互依賴關系。以下介紹幾種有效的圖示方法。在這幾種圖示方法中,有幾個信息必須明確標明:· 各個任務的計劃開始時間,完成時間;· 各個任務完成的標志(即文檔編寫和評審);· 各個任務與參與工作的人數,各個任務與工作量之間的銜接情況;· 完成各個任務所需的物理資源和數據資源。 甘特圖 PERT技術和CPM方法PERT技術叫做計劃評審技術,CPM方法叫做關鍵路徑法,它們都是安排開發進度,制定軟件開發計劃的最常用的方法。它們都采

11、用網絡圖來描述一個項目的任務網絡,也就是從一個項目的開始到結束,把應當完成的任務用圖或表的形式表示出來。通常用兩張表來定義網絡圖。一張表給出與一特定軟件項目有關的所有任務(也稱為任務分解結構),另一張表給出應當按照什么樣的次序來完成這些任務(也稱為限制表)。PERT技術和CPM方法都為項目計劃人員提供了一些定量的工具,以:§ 確定關鍵路徑,即決定項目開發時間的任務鏈。§ 應用統計模型,對每一個單獨的任務確定最可能的開發持續時間的估算值。§ 計算邊界時間,以便為具體的任務定義時間窗口。邊界時間的計算對于軟件項目的計劃調度是非常有用的。圖 開發模塊A、B、C的任務網絡

12、圖例如,某一開發項目在進入編碼階段之后,考慮安排三個模塊A、B、C的開發工作。其中,模塊A是公用模塊,模塊B與C的測試有賴于模塊A調試的完成。模塊C是利用現成已有的模塊,但對它要在理解之后做部分修改。最后直到A、B和C做組裝測試為止。這些工作步驟按上圖來安排。在此圖中,各邊表示要完成的任務,邊上均標注任務的名字,如“A編碼”表示模塊A的編碼工作。邊上的數字表示完成該任務的持續時間。 圖中有數字編號的結點是任務的起點和終點,在圖中,0號結點是整個任務網絡的起點,8號結點是終點。圖中足夠明確地表明了各項任務的計劃時間,以及各項任務之間的依賴關系。三、例題分析一、 選擇題1. 軟件項目管理的對象是(

13、B)。A) 軟件開發人員B) 軟件工程項目C) 軟件開發過程 D) 軟件開發速度2. 以下對軟件項目管理的任務和目標最準確的描述是(D)。A) 明確軟件開發項目的工作范圍、可能遇到的風險、需要的資源B) 明確軟件開發中要實現的任務和需要經歷的里程碑C) 明確所需的工作量以及進度安排D) 以上所有答案3. 在軟件管理資源要求中,最為重要的、起決定性的資源是以下哪種資源(C)。A) 硬件資源 B) 軟件資源C) 人力資源 D) 軟件復用性及軟件部件庫4. 開發一個軟件工程的第一步是(A)。A) 可行性研究 B) 組織開發人員 C) 購買開發工具 D) 開發任務指定5. 自底向上的估計法的特點是(B

14、)。A) 簡單、工作量小、誤差大 B) 精度高,但缺少子任務(模塊)間的聯系C) 估算較精確,但區分類比較困難D) 復雜、不可行,一般不采用此種方法6. 對一個軟件工程來說,占總工作量的百分比最大的工作是(D)。A) 需求分析 B) 軟件設計 C) 編碼工作 D) 測試和調試工作7. CMM表示(A)。A) 軟件過程成熟度模型 B) 軟件過程工業化控制C) 國際軟件質量認證 D) 軟件統一性標準二、判斷題1. 軟件項目管理是對軟件項目的開發管理,是對整個軟件生存期的所有活動進行管理。()2. 軟件項目管理的主要任務有:軟件可行性分析與成本估算、軟件生產率及質量管理、軟件售后管理。(×) 3. CMM是指導軟件開發的一種面向對象的新技術。(×)4. CMM將軟件過程的成熟度分為以下五個級別:初始級、可重復級、已定義級、 已管理級和優化級。()        三、問答題1. 簡述一個成熟的軟件機構應具有的特點。答:建立了機構級的軟件開發和維護過程。軟件人員對其有較好的理解

溫馨提示

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

評論

0/150

提交評論