軟件項目管理課程-清華課件_第1頁
軟件項目管理課程-清華課件_第2頁
軟件項目管理課程-清華課件_第3頁
軟件項目管理課程-清華課件_第4頁
軟件項目管理課程-清華課件_第5頁
已閱讀5頁,還剩446頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件項目管理課程-清華,教材:軟件項目管理 覃征 等 編著,軟件項目管理課程-清華,第 1 章 導(dǎo) 論,軟件項目管理課程-清華,1.1軟件工程一、軟件工程定義,軟件:是與一個系統(tǒng),特別是一個計算機系統(tǒng)有關(guān)的程序、過程和有關(guān)文檔的完整集合。 工程:是科學(xué)和數(shù)學(xué)的應(yīng)用,通過這一應(yīng)用,使得自然界的物質(zhì)和能源的特性通過各種結(jié)構(gòu)、機器、產(chǎn)品、系統(tǒng)和過程成為對人類有用的東西。,軟件項目管理課程-清華,軟件工程的定義有多種說法:,Fritz BauerNAV69在NATO會議上給出的定義: 軟件工程是建立和使用一套合理的工程原則,從而經(jīng)濟地獲得可靠的和能在實際機器上高效運行的軟件。,軟件項目管理課程-清華,

2、IEEEIEEE93給出了一個更加綜合的定義: () 將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護的過程,即將工程化應(yīng)用于軟件中。 () ()中所述方法的研究。,軟件項目管理課程-清華,本書給出的定義: 軟件工程是一類求解軟件的工程。它應(yīng)用計算機科學(xué)、數(shù)學(xué)以及管理科學(xué)等原理,借鑒傳統(tǒng)工程的原則、方法,創(chuàng)建軟件以達到提高軟件質(zhì)量、降低成本、按時按量交付的目的。,軟件項目管理課程-清華,計算機科學(xué)、數(shù)學(xué)用于構(gòu)造模型和算法。 工程科學(xué)用于制定規(guī)范、設(shè)計模式、評估成本及確定權(quán)衡。 管理科學(xué)用于計劃、資源、質(zhì)量、成本等管理。,軟件項目管理課程-清華,二軟件工程框架,軟件工程目標 軟件工程

3、活動 軟件工程原則,軟件項目管理課程-清華,軟件工程框架,軟件項目管理課程-清華,軟件工程目標,正確性軟件產(chǎn)品達到預(yù)期功能的程 度。 可用性軟件基本結(jié)構(gòu)、實現(xiàn)、文檔為用戶可用的程度。 合算性具有經(jīng)濟效益,即開發(fā)、運行的開銷滿足用戶要求的程度。,軟件項目管理課程-清華,軟件工程活動-生產(chǎn)軟件步驟,問題定義明確要解決的問題 可行性分析即定義的問題是否有解決的辦法 需求分析為解決問題,目標系統(tǒng)必須具備哪些功能 設(shè)計總體設(shè)計,詳細設(shè)計 實現(xiàn)編寫程序代碼 確認測試 支持軟件維護,軟件項目管理課程-清華,軟件工程原則,選取適宜的開發(fā)模型 采用合適的設(shè)計方法 提供高質(zhì)量的工程支持 重視開發(fā)過程的管理,軟件項

4、目管理課程-清華,三軟件工程模型,所有軟件工程的活動都必須進行管理。 軟件項目管理貫穿于軟件工程的演化過程。 軟件工程的演化過程:,軟件項目管理課程-清華,三軟件工程模型,軟件工程模型: 組織軟件工程活動的方法,稱為軟件工程模型。 軟件工程模型是用一定的流程將各個活動連接起來,并可用規(guī)范的方式操作全過程,如同工廠的生產(chǎn)線。 常見模型有線性、快速原型、螺旋、漸增式等模型。,軟件項目管理課程-清華,常見的軟件工程模型,線性模型(也稱,瀑布模型,順序模型),軟件項目管理課程-清華,常用的軟件工程模型,螺旋模型可看成是連接的線性模型,軟件項目管理課程-清華,常用的軟件工程模型,漸增式模型(增量模型),

5、軟件項目管理課程-清華,常用的軟件工程模型,漸增式模型首先構(gòu)建系統(tǒng)的基本輪詢回路:,軟件項目管理課程-清華,1.2項目管理一項目與項目管理,項目的概念及特點 項目:是指在一定約束條件下具有特定目標的一項一次性任務(wù) 共同特點: 一次性,又稱為單件性 目標的明確性:成果性目標(功能性要求),約束性目標 作為管理對象的整體性,軟件項目管理課程-清華,2、項目的生命周期,軟件項目管理課程-清華,項目的生命周期 項目啟動階段進行可行性分析,若接受項目進行需求確認,項目立項 項目計劃階段建立解決問題方案,向客戶提交各種計劃書 項目實施階段執(zhí)行解決方案,實現(xiàn)項目的目標 工作結(jié)束階段正式驗收項目,軟件項目管理

6、課程-清華,另一書中對項目周期階段的劃分,生命周期階段 工程階段 初始階段 細化階段 生產(chǎn)階段 構(gòu)造階段 移交階段,軟件項目管理課程-清華,各階段特點,工程階段: 使計劃、需求和構(gòu)架同時進化,并解決開發(fā)風(fēng)險,這個階段以一個可執(zhí)行構(gòu)架基線結(jié)束,即工程階段進行設(shè)計和綜合活動。 生產(chǎn)階段: 進行構(gòu)造、測試和實施活動。,軟件項目管理課程-清華,各階段特點,借助提高功能的演示使系統(tǒng)能力得以進化。 各種活動同時進化,每個階段都包括一次或多次迭代,一次迭代表示一個活動序列,這些活動有明確的中間事件(里程碑)。,軟件項目管理課程-清華,各階段特點,主里程碑: 使用正式版本的評價標準和發(fā)布說明書,一個階段結(jié)束產(chǎn)

7、生一個主里程碑。 次里程碑: 使用非正式版本,一次迭代結(jié)束產(chǎn)生一個次里程碑。,軟件項目管理課程-清華,各階段特點,為實現(xiàn)整個項目的某個特定狀態(tài),每個階段都要進行足夠次數(shù)迭代。 各階段的工作產(chǎn)品(制品,文檔等),同時進化產(chǎn)生,但每個階段都有一個主要焦點: 初始階段需求 (生命周期目標里程碑) 細化階段設(shè)計 (生命周期構(gòu)架里程碑) 構(gòu)造階段實現(xiàn) (初始的可操作能力里程碑) 移交階段實施 (產(chǎn)品發(fā)布里程碑) (這里的模型是漸增式(增量式),軟件項目管理課程-清華,項目管理,項目管理定義 PMI(Project Management Institute)定義:在項目活動中運用一系列的知識、技能、工具和

8、技術(shù),以滿足或超過相關(guān)利益者對項目的要求。 項目管理又可定義為:在一個確定的時間范圍內(nèi),為了完成一個既定的目標,通過特殊形式的臨時性組織運行機制,經(jīng)有效的計劃、組織、領(lǐng)導(dǎo)和控制,充分利用既定有限資源的一種系統(tǒng)管理方法。,軟件項目管理課程-清華,項目管理特點 綜合性 創(chuàng)造性 時間性,軟件項目管理課程-清華,項目管理的要素,范圍 、 時間 、成本、 質(zhì)量、 組織 、客戶滿意度,軟件項目管理課程-清華,二項目管理知識體系,集成管理 范圍管理 時間管理 成本管理 質(zhì)量管理 人力資源管理 溝通管理 采購管理 風(fēng)險管理,軟件項目管理課程-清華,三項目管理學(xué)科的發(fā)展,項目管理學(xué)科發(fā)展的特點 全球化發(fā)展、多元

9、化發(fā)展、專業(yè)化發(fā)展 項目管理學(xué)科在雙向探索中前進 各學(xué)科領(lǐng)域的理論、方法應(yīng)用于項目管理,項目管理的理論、方法應(yīng)用于各學(xué)科領(lǐng)域 項目學(xué)發(fā)展的趨勢 微觀項目管理,即單一項目的管理 PMBOK是當(dāng)前項目管理學(xué)科發(fā)展的重要內(nèi)容 項目學(xué)是知識創(chuàng)新與市場相結(jié)合的綜合化發(fā)展 項目學(xué)是科學(xué)、技術(shù)和藝術(shù)的綜合,軟件項目管理課程-清華,軟件項目管理一軟件項目產(chǎn)品的特點,抽象性 缺陷檢測的困難性 高度的復(fù)雜性 缺乏統(tǒng)一規(guī)則,軟件項目管理課程-清華,二軟件項目失控的原因,軟件失控項目(p15-16) 是指軟件項目在進行時遇到困難,導(dǎo)致大大超出可控制范圍的項目。 軟件項目失控的原因 七方面原因:需求不明確、計劃不充分和

10、過于樂觀的估計、采用新技術(shù)、管理方法缺乏或不恰當(dāng)、性能問題、團隊組織不當(dāng)、人際因素,軟件項目管理課程-清華,三軟件項目管理的內(nèi)容,軟件項目管理的定義(p19) 軟件項目管理的過程(p19) 軟件項目管理的內(nèi)容(p19-20),軟件項目管理課程-清華,軟件項目管理的定義,PMI對項目管理定義:在項目活動中運用一系列的知識、技能、工具和技術(shù),以滿足或超過相關(guān)利益者對項目的要求。 軟件項目管理的定義:在軟件項目活動中運用一系列的知識、技能、工具和技術(shù),以滿足軟件需求方的整體要求。,軟件項目管理課程-清華,軟件項目管理的過程,啟動軟件項目 制定項目計劃 跟蹤及控制項目計劃 評審項目計劃 編寫管理文檔,

11、軟件項目管理課程-清華,軟件項目管理的內(nèi)容,軟件項目需求管理 軟件項目估算與進度管理 軟件項目配置管理 軟件項目風(fēng)險管理 軟件項目質(zhì)量管理 軟件項目資源管理,軟件項目管理課程-清華,第章軟件項目需求管理,軟件項目管理課程-清華,軟件需求一. 軟件需求概念1. 定義,簡單地說,軟件需求就是確定系統(tǒng)需要做什么 嚴格意義上,軟件需求是系統(tǒng)或軟件必須達到的目標與能力,軟件項目管理課程-清華,定義軟件需求的五項內(nèi)容,系統(tǒng)的輸入 系統(tǒng)的輸出 系統(tǒng)的功能 系統(tǒng)的屬性 系統(tǒng)環(huán)境的屬性,軟件項目管理課程-清華,2.軟件需求在軟件項目的作用,軟件需求與其他軟件過程的關(guān)系,軟件項目管理課程-清華,軟件需求類別1.軟

12、件需求的抽象層次,軟件需求分成四個抽象層次 原始問題描述 用戶需求 系統(tǒng)需求 軟件設(shè)計描述,軟件項目管理課程-清華,軟件需求的抽象層次,軟件項目管理課程-清華,原始問題描述是對要解決問題的敘述 用戶需求是用自然語言和圖表給出的關(guān)于系統(tǒng)需要提供的服務(wù)及系統(tǒng)的操作約束 系統(tǒng)需求用詳細的術(shù)語給出系統(tǒng)要提供的服務(wù)及受到的約束,因而系統(tǒng)需求文檔也稱為功能描述 軟件設(shè)計描述是在系統(tǒng)需求的基礎(chǔ)上加入更詳細的內(nèi)容構(gòu)成的,它作為軟件詳細設(shè)計和實現(xiàn)的基礎(chǔ),是對軟件設(shè)計活動的概要描述,軟件項目管理課程-清華,原始問題描述和用戶需求的抽象層次比較高能幫助我們在較高的抽象層次上進行交流,便于用戶和軟件開發(fā)人員之間的理解

13、和溝通 系統(tǒng)需求和軟件設(shè)計描述則是具體的,可以根據(jù)它們來進行編碼實現(xiàn) 通常情況下,經(jīng)常提到的是用戶需求和系統(tǒng)需求,軟件項目管理課程-清華,2. 用戶需求,用戶需求從用戶的角度描述系統(tǒng)的需求,以便沒有專業(yè)技術(shù)背景的用戶能看懂它只描述系統(tǒng)的外部行為,盡量避免涉及系統(tǒng)內(nèi)部的設(shè)計特性,因而用戶需求就不可能使用任何實現(xiàn)模型來描述,而只能通過自然語言,圖表,圖形等來敘述,軟件項目管理課程-清華,使用自然語言可能出現(xiàn)如下問題,描述困難 需求混亂 因此寫需求文檔應(yīng)遵守一些簡單原則: 標準的格式 使用一致的語言 使用特殊文本 盡量避免專業(yè)術(shù)語,軟件項目管理課程-清華,3. 系統(tǒng)需求,系統(tǒng)需求是比用戶需求更為詳細

14、和專業(yè)的需求描述,是系統(tǒng)實現(xiàn)的依據(jù)一個完整且一致的系統(tǒng)需求描述,是軟件設(shè)計的起點 系統(tǒng)需求描述通常采用結(jié)構(gòu)化語言和過程設(shè)計語言PDL.,軟件項目管理課程-清華,系統(tǒng)需求的描述語言,軟件項目管理課程-清華,4系統(tǒng)需求的分類,分為三類 : 功能需求 非功能需求 領(lǐng)域需求,軟件項目管理課程-清華,(1) 功能需求 功能需求描述系統(tǒng)所應(yīng)提供的功能和服務(wù),包括系統(tǒng)應(yīng)該提供的服務(wù),對輸入如何響應(yīng)及特定條件下系統(tǒng)行為的描述 系統(tǒng)的功能需求應(yīng)該具備全面性和一致性要做到全面和一致幾乎是不可能的原因有二,其一是系統(tǒng)本身固有的復(fù)雜性;其二是用戶和開發(fā)人員站在不同的立場上,導(dǎo)致他們對需求的理解有偏頗,甚至出現(xiàn)矛盾 為

15、保證軟件項目的成功,無論在哪個階段,只要發(fā)現(xiàn)問題,都必須修正需求文檔,軟件項目管理課程-清華,(2) 非功能需求 非功能需求是指那些不直接與系統(tǒng)的具體功能相關(guān)的一類需求,但它們與系統(tǒng)的總體特性相關(guān),如可靠性,響應(yīng)時間,存儲空間等 非功能需求定義了對系統(tǒng)提供的服務(wù)或功能的約束,包括時間約束,空間約束,開發(fā)過程約束及應(yīng)遵循的標準等,軟件項目管理課程-清華,按照非功能需求的起源,可將其分為三大類:產(chǎn)品需求,機構(gòu)需求,外部需求; 產(chǎn)品需求對產(chǎn)品的行為進行描述;機構(gòu)需求描述用戶與開發(fā)人員所在機構(gòu)的政策和規(guī)定;外部需求范圍比較廣,包括系統(tǒng)的所有外部因素和開發(fā)過程,軟件項目管理課程-清華,表2.2 非功能需

16、求的類別,軟件項目管理課程-清華,(3) 領(lǐng)域需求 領(lǐng)域需求的來源不是系統(tǒng)的用戶,而是系統(tǒng)應(yīng)用的領(lǐng)域,反應(yīng)了該領(lǐng)域的特點 領(lǐng)域需求可能是功能需求,也可能是非功能需,其確定需要領(lǐng)域知識,軟件項目管理課程-清華,三軟件需求文檔,軟件需求文檔是對軟件系統(tǒng)要求的陳述 包括: 用戶需求 系統(tǒng)需求,軟件項目管理課程-清華,三軟件需求文檔1. 需求文檔的編制與作用,編寫需求文檔時,以下幾點是應(yīng)該注意的: 語句和段落盡量簡短 表達時采用主動語態(tài) 語句要完整,且語法,標點等正確無誤 使用的術(shù)語要與詞匯表中的定義保持一致 陳述時要采用一致的樣式 避免模糊的,主觀的術(shù)語,如性能優(yōu)越 避免使用比較性的詞匯,盡量給出定

17、量的說明, 含糊的語句表達將引起需求的不可驗證,軟件項目管理課程-清華,需求文檔的作用,使用對象 需求文檔的作用 軟件項目客戶 了解軟件項目能夠提供的軟件產(chǎn)品,檢查 軟件需求是否滿足需要 項目管理人員 根據(jù)需求文檔制定項目的開發(fā)計劃和軟件過程,初步預(yù)測資源的使用 軟件開發(fā)人員 理解要開發(fā)的產(chǎn)品及具體要開發(fā)的內(nèi)容 軟件測試人員 驗證軟件系統(tǒng)是否滿足了預(yù)期的要求 軟件維護人員 使用需求文檔幫助理解軟件系統(tǒng)內(nèi)在的邏輯關(guān)系 軟件發(fā)布人員 在需求文檔的基礎(chǔ)上編寫用戶文檔,如用戶手冊 軟件培訓(xùn)人員 在需求文檔的基礎(chǔ)上編寫培訓(xùn)材料,軟件項目管理課程-清華,軟件需求規(guī)格說明,(1)基本含義 規(guī)格就是一個預(yù)期的

18、或已存在的計算機系統(tǒng)的表示,它可以作為開發(fā)者和用戶之間協(xié)議的基礎(chǔ)來產(chǎn)生預(yù)期的系統(tǒng) 軟件需求規(guī)格SRS也稱為功能規(guī)格說明,需求協(xié)議或系統(tǒng)規(guī)格說明,精確地闡述一個軟件系統(tǒng)必須提供的功能和性能以及它所要考慮的限制條件,是對外部行為和系統(tǒng)環(huán)境(軟件,硬件,通信端口和人)接口的簡潔完整的描述性文檔,軟件項目管理課程-清華,軟件項目管理者用SRS來對項目進行計劃和管理。 除設(shè)計和實現(xiàn)上的限制外,SRS一般不包括設(shè)計、構(gòu)建、測試或工程管理的細節(jié)。 SRS的基本內(nèi)容包括功能需求和非功能需求。 功能需求定義系統(tǒng)需要“做什么”,描述系統(tǒng)輸入輸出的映射及其關(guān)聯(lián)信息,完整地刻畫系統(tǒng)功能,是整個軟件需求的核心。 非功能

19、需求定義系統(tǒng)的屬性,描述和功能無關(guān)的目標系統(tǒng)特性,包括系統(tǒng)的性能、有效性、可靠性、安全性、易維護性及可見性等。,軟件項目管理課程-清華,(2) IEEE標準830-1998 見: P27P28,軟件項目管理課程-清華,(3) SRS 大綱 見: P28-P29,軟件項目管理課程-清華,四. 軟件需求度量,一個好的需求集應(yīng)該滿足用戶解決問題需要的功能和服務(wù),而且盡量避免軟件設(shè)計與軟件實現(xiàn)的細節(jié). 軟件需求質(zhì)量度量的九個元素,即正確,無歧義,完備,一致,分級,可驗證,可修改,可跟蹤及可理解,軟件項目管理課程-清華,22 需求工程,軟件項目管理課程-清華,一 、 產(chǎn)生與發(fā)展 1、 產(chǎn)生 人們逐漸認識

20、到需求分析活動不再僅限于軟件開發(fā)的最初階段,而是貫穿于軟件項目開發(fā)的整個生命周期。 需求工程是一個包括創(chuàng)建和維護需求文檔所必需的所有活動的過程,是將用戶非形式化的軟件需求轉(zhuǎn)變?yōu)樾问交男枨笠?guī)格說明的過程。 需求規(guī)格說明又是軟件設(shè)計、實現(xiàn)、測試直至維護的主要基礎(chǔ)。,軟件項目管理課程-清華,2. 發(fā)展 需求工程的發(fā)展趨勢是對象化、形式化和自動化,并將向著縱深發(fā)展和綜合發(fā)展。 ()對象化 需求工程的對象化主要是指需求模型及其構(gòu)造方法的對象化,面向?qū)ο笮枨竽P图靶枨蠖x語言是其研究的關(guān)鍵。,軟件項目管理課程-清華,( )形式化 需求規(guī)格描述方法有三種: 形式化方法、非形式化方法和半形式化方法。 形式化

21、方法是具有嚴格數(shù)學(xué)基礎(chǔ)的描述系統(tǒng)特征的方法,具有準確、無二義性的特點,有助于驗證有效性和完整性。 非形式化方法使用未作任何限制的自然語言,易于理解和使用,但它固有二義性,且難以保證正確性、可維護性,難以用計算機系統(tǒng)提供自動化的支持。 半形式化方法介于上述兩者之間,在宏觀上對語言和語義有較精確的描述,而在某些局部方面則允許使用非形式化的自然語言。,軟件項目管理課程-清華,(3) 自動化 在自動化的層次方面,已從實現(xiàn)級、設(shè)計級發(fā)展到功能級,并逐漸滲透到需求級。,軟件項目管理課程-清華,二. 研究內(nèi)容,、需求工程的目標 需求工程有兩個主要任務(wù): 其一是通過對問題及其環(huán)境的理解、分析和綜合,建立分析模

22、型; 其二是在完全弄清用戶對軟件系統(tǒng)的確切要求的基礎(chǔ)上,用SRS把用戶的需求表達出來。,軟件項目管理課程-清華,()建立需求分析模型 分析模型是描述軟件需求的一組模型。 需求分析模型包含問題及其環(huán)境所涉及的信息流、處理功能、用戶界面、行為模型及設(shè)計約束等,是形成需求說明、進行軟件設(shè)計及實現(xiàn)的基礎(chǔ)。 ()編寫SRS SRS的編寫要以需求分析模型為基礎(chǔ)、按照軟件組織定義的SRS大綱、采用某種需求描述語言來進行。,軟件項目管理課程-清華,、需求工程的層次分解,需求工程可分為需求開發(fā)和需求管理,前者測重于需求的生成,而后者測重于需求變更的控制。,軟件項目管理課程-清華,需求開發(fā)和需求管理是有界限的:,

23、軟件項目管理課程-清華, 需求管理,軟件項目管理課程-清華,一. 需求管理的必要性,、需求供求雙方固有的矛盾 需求過程中,需求的供求雙方經(jīng)常會遇到雙方不能達成共識或雙方達成共識的內(nèi)容其實有相當(dāng)大的出入等情況。 、需求具有易變性和難以表述性 軟件項目中的問題都是在需求分析階段埋下的禍根。 軟件需求還很難以表述。 正是因為需求的易變性和難以表述性,所以需求需要有科學(xué)的分析方法和管理方法。,軟件項目管理課程-清華,、需求錯誤出現(xiàn)的高頻性和修復(fù)的高昂成本需求錯誤是軟件項目開發(fā)中最常見的。,表2.4 軟件缺陷總結(jié) 缺陷來源 潛在缺陷 剩余缺陷 排除效率(%)需求 0.2 0.046 77 設(shè)計 0.25

24、 0.0375 85 編碼 0.35 0.0175 95 建檔 0.12 0.024 80 修復(fù) 0.08 0.024 70 合計 1 0.149 85.1,軟件項目管理課程-清華,一個在需求階段出現(xiàn)的錯誤,在維護階段修復(fù)它的成本約是需求階段修復(fù)成本的倍。 對于軟件缺陷,修復(fù)的發(fā)現(xiàn)和修復(fù)的越早,則成本越低。 做好需求管理、減少需求錯誤的出現(xiàn)對降低軟件項目的成本是至關(guān)重要的。,軟件項目管理課程-清華,軟件缺陷修復(fù)的成本,軟件項目管理課程-清華,二. 目標和原則,、目標(p35-36) 需求管理的目的是在客戶和處理客戶需求的軟件項目組之間建立對客戶需求的共同理解。具體來說,需求管理的目標有二個:

25、(1)使軟件需求受控,并建立供軟件工程和管理使用的需求基線。 (2)使軟件計劃、產(chǎn)品和活動與軟件需求保持一致。,軟件項目管理課程-清華,、原則 為進行有效的需求管理,通常要遵循如下五條原則: ()需求一定要分類管理 ()需求必須分優(yōu)先級 ()需求必須文檔化 ()需求一旦變化,就必須對需求變更的影響進行評估 ()需求管理必須與需求工程的其他活動緊密整合,軟件項目管理課程-清華,三. 需求管理活動,需求管理規(guī)劃內(nèi)容包括: 需求識別 變更管理過程 需求跟蹤 自動化工具,軟件項目管理課程-清華,需求管理是一個對系統(tǒng)需求變更了解和控制的過程。需求管理的過程是與其他需求工程過程相互關(guān)聯(lián)的。初始需求導(dǎo)出的同

26、時就啟動了需求管理規(guī)劃,一旦形成了需求文檔的草稿版本,需求管理活動就開始了。,軟件項目管理課程-清華,需求管理活動的具體內(nèi)容如表所示,軟件項目管理課程-清華,2.3.4 需求變更管理,1、需求變更的原因 軟件項目的需求總是在變化著,一般原因有二: (1)在項目的早期所有的問題不可能被完全定義,軟件需求是不完全的,注定了需求需要變更。 (2)隨著軟件項目的進行,軟件開發(fā)人員對問題的理解會發(fā)生變化,這些變化也要反饋到需求中去。,軟件項目管理課程-清華,大型軟件系統(tǒng)還可能存在如下導(dǎo)致需求變更的原因: (1)不同類型的用戶的需求可能是沖突的或是矛盾的,最后的系統(tǒng)需求是它們之間的一個妥協(xié).這種妥協(xié)的程度

27、在項目進行過程中有可能發(fā)生改變,從而導(dǎo)致系統(tǒng)需求的改變。 (2)系統(tǒng)購買者或系統(tǒng)最終用戶很少是同一人,有的系統(tǒng)客戶對系統(tǒng)提出的一些需求可能和最終用戶需求不一致。,軟件項目管理課程-清華,2、變更管理過程 變更管理過程分為變更描述、變更分析和變更實現(xiàn)三個階段。,軟件項目管理課程-清華,(1)變更描述 變更描述階段要對需求問題或變更提議進行分析以檢查它的有效性,進而產(chǎn)生一個更明確的需求變更提議。 (2)變更分析 變更分析階段對被提議的變更產(chǎn)生的影響進行評估。一旦分析完成,就有了對此變更是否執(zhí)行的決策意見。,軟件項目管理課程-清華,(3)變更實現(xiàn) 實現(xiàn)變更時,需求文檔及系統(tǒng)設(shè)計和實現(xiàn)都要做修改。一個

28、容易出現(xiàn)的錯誤,一定要注意:先對系統(tǒng)做變更然后再回頭修改需求文檔的想法,這幾乎不可避免地導(dǎo)致需求描述和系統(tǒng)實現(xiàn)不同步。需求文檔應(yīng)該有一個很好的形式,使得變更不會帶來大量文字的修改。對于程序文檔的可變性則通過最小化外部引用和盡量使之模塊化來實現(xiàn)。,軟件項目管理課程-清華,3、變更影響分析 進行需求變更影響分析,應(yīng)評估每項選擇的需求變更,以確定它對項目計劃安排和其他需求的影響,同時明確與變更相關(guān)的任務(wù)并評估完成這些任務(wù)需要的工作量。變更影響分析有助于做出信息量充分的變更決策,確定對變更是修改還是拋棄,或者創(chuàng)建新系統(tǒng)以及評估每個任務(wù)的工作量.,軟件項目管理課程-清華,如果一個處于關(guān)鍵路徑的任務(wù)因變更

29、而延期,則項目肯定趕不上預(yù)定進度,但如果能避免變更影響關(guān)鍵任務(wù),則變更不會影響項目的進度表 影響分析報告的模板,用來報告進行需求變更的影響分析,變更控制委員會僅需要影響分析的總結(jié).,軟件項目管理課程-清華,需求變更影響分析模板,軟件項目管理課程-清華,4、變更控制流程需求變更控制的流程如圖所示,軟件項目管理課程-清華,2.3.5需求文檔版本,如果沒有很好的需求文檔版本管理,就容易造成資源浪費. 需求文檔版本控制是需求管理的一個必要方面.,軟件項目管理課程-清華,做好需求文檔版本控制,必須保證如下幾點: 統(tǒng)一確定需求文檔的每一個版本,保證每個成員都能得到當(dāng)前的需求版本; 清楚地將變更寫成文檔,并

30、及時通知項目開發(fā)所涉及的人員; 為盡量減少困惑、沖突、誤傳,應(yīng)只允許指定的人來更新需求文檔。,軟件項目管理課程-清華,版本控制的最簡單方法是在每一個公布的需求文檔的版本應(yīng)該包括一個修正版本的歷史情況,即已作變更的內(nèi)容、變更日期、變更人的姓名以及變更的原因,并根據(jù)標準約定手工標記軟件需求規(guī)格說明的每一次修改。,軟件項目管理課程-清華,2.3.6需求狀態(tài),1、需求的屬性 需求還有一些相關(guān)的屬性,這些屬性的定義及更新是需求管理的重要內(nèi)容.需求的屬性為需求提供了背景資料和上下文關(guān)系。,軟件項目管理課程-清華,需求要考慮的屬性如下,(1)需求的創(chuàng)建時間 (2)需求的版本 (3)需求的創(chuàng)建者 (4)需求的

31、批準者 (5)需求的狀態(tài) (6)需求的原因或根據(jù) (7)需求涉及的子系統(tǒng) (8)需求涉及的產(chǎn)品版本 (9)需求的驗證方法或測試標準 (10)需求的優(yōu)先級 (11)需求的穩(wěn)定性,軟件項目管理課程-清華,需求的優(yōu)先級,即從實現(xiàn)需求所涉及的代價、收益、成本、風(fēng)險四個方面考察需求的優(yōu)先級 需求的穩(wěn)定性,表示將來需求可能變更的程度,穩(wěn)定性越差,意味著需求越容易發(fā)生變更,因而應(yīng)給予較多的關(guān)注。,軟件項目管理課程-清華,2、需求狀態(tài) 需求狀態(tài)是需求的一項重要屬性,跟蹤需求的狀態(tài)是需求管理的一個重要方面。 何謂需求狀態(tài)? 狀態(tài)是一種事物或?qū)嶓w在某一個時間點或某一階段的情況的反映。需求狀態(tài)是指某時間點需求的一種

32、情況反映。,軟件項目管理課程-清華,客戶的需求可分為四種情況: 客戶可以明確且清楚地提出的需求. 客戶知道需要做些什么,但卻不能確定的需求. 需求可以由客戶得出,但需求的業(yè)務(wù)不明確,還需要等待外部信息. 客戶本身也說不清楚的需求.,軟件項目管理課程-清華,需要與客戶溝通或確認的需求有兩種情況: 其一是確認雙方達成共識 其二是還需要再進一步的溝通 可把需求狀態(tài)分為如下8種 已建議 已批準 已拒絕 已設(shè)計 已實現(xiàn) 已驗證 已交付 已刪除,軟件項目管理課程-清華,2.3.7需求跟蹤,1、需求跟蹤的必要性 進行需求跟蹤的目的是建立和維護從用戶需求開始到測試之間的一致性與完整性,確保所有的實現(xiàn)都以用戶需

33、求為基礎(chǔ),而實現(xiàn)的需求也全部覆蓋了預(yù)期的需求,同時確保所有的輸出與用戶需求的符合性. 跟蹤能力信息使得變更影響分析十分便利,有利于確認和評估實現(xiàn)某個建議的需求變更所必須的工作.,軟件項目管理課程-清華,2、可追溯性信息 進行需求跟蹤,就要對需求和需求之間以及需求和系統(tǒng)設(shè)計之間的許多關(guān)系進行追溯。當(dāng)需求變更發(fā)生的時候,必須追蹤這些變題對其他需求和系統(tǒng)設(shè)計的影響??勺匪菪允切枨竺枋龅囊粋€總體特性,反映了反映相關(guān)需求的能力。,軟件項目管理課程-清華,需要維護的可追溯性信息有三類: (1) 源可追溯性信息,指連接需求到提出需求 的項目相關(guān)人員和產(chǎn)生需求的原因. (2) 需求可追溯性信息,指連接需求文檔

34、中彼此依賴的需求. (3) 設(shè)計可追溯性信息,指連接需求到其實現(xiàn)的設(shè)計模塊.,軟件項目管理課程-清華,3、需求跟蹤的實現(xiàn) 需求跟蹤有兩種方式,正向跟蹤和逆向跟蹤: (1) 正向跟蹤以用戶需求為切入點,檢查用戶需求說明書或需求規(guī)格說明中的每個需求是否都能在后繼工作產(chǎn)品中找到對應(yīng)點。 (2) 逆向跟蹤檢查設(shè)計文檔、代碼、測試用例等工作產(chǎn)品是否都能在需求規(guī)格說明中找到出處。,軟件項目管理課程-清華,需求跟蹤的雙向模式可以通過需求鏈來表示,軟件項目管理課程-清華,過程元素之間的關(guān)系有如下三種 一對一,如一個代碼模塊應(yīng)用一個設(shè)計元素。 一對多,如多個測試實例驗證一個功能需求。 多對多,如一個測試實例導(dǎo)致

35、多個功能性需求,而其中一些功能性需求又擁有多個使用實例。,軟件項目管理課程-清華,需求跟蹤矩陣,軟件項目管理課程-清華,4、需求跟蹤的作用,在需求驗證中的作用 有助于需求變更影響分析 便于需求的維護 便于測試時找出問題所在 便于項目跟蹤 減小項目的風(fēng)險 簡化了系統(tǒng)的再設(shè)計 易于軟件重用,軟件項目管理課程-清華,2.4 需求管理質(zhì)量保證,軟件項目管理課程-清華,2.4.1 需求驗證,1.需求驗證過程 審查需求文檔 依據(jù)需求編寫測試用例 編寫用戶手冊 確定合格的標準,軟件項目管理課程-清華,2.驗證的內(nèi)容 在需求驗證過程中,要對需求文檔中定義的需求執(zhí)行多種類型的檢查: 有效性檢查 一致性檢查 完備

36、性檢查 現(xiàn)實性檢查 可檢驗性檢查 可跟蹤性檢查 可調(diào)節(jié)性檢查 可讀性檢查,軟件項目管理課程-清華,2.4.2 需求評審,1.方式 評審有兩類方式:一類是正式技術(shù)評審, 另一類是非正式技術(shù)評審。 2.注意事項 嚴格控制每一次評審的文檔規(guī)模及持續(xù)時間 評審工作要分段進行 對討論的問題進行控制 避免無謂的爭吵,軟件項目管理課程-清華,第3章 軟件項目估算與進度管理,主要內(nèi)容: 3.1 軟件項目估算 3.2 軟件規(guī)模 3.3 軟件項目成本估算 3.4 軟件項目進度管理,軟件項目管理課程-清華,3.1 軟件項目估算,1. 項目估算的意義: 包括工作量估算和成本估算兩個方面。 估算是指通過預(yù)測構(gòu)造軟件項目

37、所需要的工作量的過程,初步的估算用于確定軟件項目的可行性,詳細的估算用于指導(dǎo)項目計劃的制定。 進度計劃是從時間的角度對項目進行規(guī)劃,而成本估算則是從費用的角度對項目進行規(guī)劃。,軟件項目管理課程-清華,2.項目估算的問題:,1.項目人員對軟件開發(fā)盲目樂觀,對費用估計過低; 2.系統(tǒng)分析員對軟硬件權(quán)衡不準確,造成軟件成本增幅過大; 3.項目經(jīng)理對各個階段的工作進度沒有可靠的依據(jù),難以控制開發(fā)過程。,軟件項目管理課程-清華,3.估算的時機,軟件項目估算不是一勞永逸的活動,而是隨項目的進行而進行的一個逐步求精的過程。 對任何一種估算方法來說,估算的時機和精度都是一種矛盾。 選擇合適的時間點進行估算是估

38、算中必須考慮的一個問題。,軟件項目管理課程-清華,軟件產(chǎn)品生命周期及需要進行估算的五個時間點:E1,E2,E3,E4,E5,軟件項目管理課程-清華,估算的時機,客戶需求:E1 客戶需求階段列出客戶需要的基本軟件功能。時間點E1的估算可以為軟件組織提供初步信息,否則需要重新考慮項目的可行性。 產(chǎn)品定義:E2 產(chǎn)品定義階段完成對項目的規(guī)格說明,進一步細化系統(tǒng)功能。 系統(tǒng)設(shè)計:E3 系統(tǒng)設(shè)計階段給出產(chǎn)品的完整軟件體系結(jié)構(gòu)和各個子系統(tǒng)及模塊的說明;,軟件項目管理課程-清華,系統(tǒng)實現(xiàn):E4 設(shè)計通過審查之后,系統(tǒng)的實現(xiàn)工作就開始了。該階段結(jié)束時,前面各項活動中消耗的資源(時間及人力等)和軟件工作量均可獲

39、得,從而可對原有的估算進行調(diào)整,后期需要的工作則按此估算進行計劃。 系統(tǒng)運行:E5 當(dāng)所有的工作都已完成并得到了驗證后,系統(tǒng)就可以投入運行了。估算工作實際上是對估算過程的評價,即用實際的消耗與各個階段估算值進行比較,為下一項目積累寶貴的經(jīng)驗。,軟件項目管理課程-清華,3.2 軟件規(guī)模,1.工作分解結(jié)構(gòu) 傳統(tǒng)的WBS結(jié)構(gòu),軟件項目管理課程-清華,軟件規(guī)模的估計步驟:,1.在技術(shù)允許的條件下,應(yīng)從最詳細的WBS開始; 2.精確定義度量的標準; 3.估計底層每一模塊的規(guī)模,匯總以得到總體估計; 4.適當(dāng)考慮偶然因素的影響。,軟件項目管理課程-清華,常用的軟件規(guī)模度量標準: 代碼行 DOC: 功能點

40、FP:,軟件項目管理課程-清華,代碼行: 代碼行LOC是常用的源代碼程序長度的度量標準。 代碼行可分為:無注釋的代碼行(NCLOC)和注釋的源代碼行(CLOC) 實際工作中,也常常使用KLOC(千代碼行)來表示程序長度。 一代碼行(1LOC)價值和人月均代碼行數(shù)可以體現(xiàn)一個軟件生產(chǎn)組織的生產(chǎn)能力。,軟件項目管理課程-清華,功能點: 功能點度量是在需求分析階段基于系統(tǒng)功能的一種規(guī)模估計方法,常應(yīng)用需求來確定各種輸入、輸出、查詢、外部文件和內(nèi)部文件的數(shù)目,從而確定功能點數(shù)量。,軟件項目管理課程-清華,計算功能點數(shù)的步驟: (1)計算所需要的輸入、輸出、查詢、外部文件、內(nèi)部文件的數(shù)量。,軟件項目管理

41、課程-清華,計算功能點數(shù)的步驟:,(2)有了以上五個功能項的數(shù)量后,再由估計人員對項目的復(fù)雜性作出判斷,大致分成簡單、一般、復(fù)雜三種情況。然后根據(jù)下表求出功能項的加權(quán)和。,軟件項目管理課程-清華,功能點FP是由未調(diào)整的功能點數(shù)UFC與技術(shù)復(fù)雜度因子(TCF)相成得到。,軟件項目管理課程-清華,從上表計算出: TCF=0.65+0.01*(SUM(Aj) TCF的取值范圍為0.651.35, 分別對應(yīng)著組成部分Aj都取值0和5, 得到功能點FP的計算公式: FP=UFC*TCF,軟件項目管理課程-清華,功能點度量在以下情況下特別有用: (1)估計新的軟件開發(fā)項目; (2)應(yīng)用軟件包括很多輸入輸出

42、或文件活動; (3)擁有經(jīng)驗豐富的功能點估計專家; (4)擁有充分的數(shù)據(jù)資料,可以相當(dāng)準確地將功能點轉(zhuǎn)化為LOC。,軟件項目管理課程-清華,3.3 軟件項目成本估算,軟件項目管理課程-清華,3.3.1 成本估算方法,軟件項目管理課程-清華,一.算法模型,軟件項目管理課程-清華,二.專家判定,對于由多個專家得到的多個估算值合成一個最終的估算值??刹捎玫姆椒ㄓ校?(1)求中值或平均值 (2)召開小組會議,軟件項目管理課程-清華,(3)Delphi技術(shù) (4)Wideband Delphi 技術(shù),軟件項目管理課程-清華,三.類比,軟件項目管理課程-清華,四.自頂向下,推算出項目的總體成本或工作量,然

43、后按比例分配到各個組成部分中去。 其缺點是難以識別較低級別上的技術(shù)性困難。,軟件項目管理課程-清華,五.自底向上,自底向上估算是把待開發(fā)的軟件逐步細化,直到能明確工作量,由負責(zé)該部分的人給出工作量的估算值,然后把所有部分相加,就得到了軟件開發(fā)的總工作量。 易于忽略許多與軟件開發(fā)有關(guān)的系統(tǒng)級成本。,軟件項目管理課程-清華,六 計劃指南,軟件項目管理課程-清華,默認工作量和進度在各階段的分布,軟件項目管理課程-清華,七.成本和進度估計過程,自項向下的方法計劃序列 軟件項目經(jīng)理(和其他人)開發(fā)出項目所需的規(guī)模、過程、環(huán)境、人員和質(zhì)量的全局描述。 使用軟件成本估計模型,在宏觀級別上估計整體工作量和制定

44、進度。 軟件項目經(jīng)理使用如表1中的指南,將估計的工作量分配到第一級工作分解結(jié)構(gòu)中。軟件項目經(jīng)理又使用表2中的指南,將進度分成主里程碑日期、并將工作量分配給各級人員。 此刻,子項目經(jīng)理負責(zé)將每一個工作分解結(jié)構(gòu)元素劃分到更低的級別,而使其滿足頂層分配、人員結(jié)構(gòu)和主里程碑日期的限制。,軟件項目管理課程-清華,由底向上的方法計劃序列 最低級別的工作分解結(jié)構(gòu)元素被細化成細節(jié)任務(wù),相關(guān)的工作分解結(jié)構(gòu)元素的管理人員根據(jù)這些任務(wù)估計預(yù)算和進度。 在較高級別預(yù)算和里程碑中結(jié)合并集成了估計。 與自頂向下的預(yù)算和進度里程碑進行比較。評估總的區(qū)別并進行校正,以取得自頂向下和自底向上估計的協(xié)調(diào)。,軟件項目管理課程-清華

45、,3.4 軟件項目進度管理,軟件項目管理課程-清華,3.4.1制定項目計劃一. 制定項目計劃的原則,項目計劃在項目開始的時候制定,并隨著項目的進展不斷發(fā)展。 考慮的重點要放在需要更多知識的地方及如何去獲取這些知識。,軟件項目管理課程-清華,二. 軟件項目計劃的要素,軟件項目計劃的要素包括目標、合理的概念設(shè)計、工作分解結(jié)構(gòu)、規(guī)模估計、工作量估計和項目進度安排。,軟件項目管理課程-清華,三.軟件項目計劃的邏輯要點,需求分析: 項目計劃的第一步就是把模糊的需求準確化。 項目的概念設(shè)計:一般要定義工作分解結(jié)構(gòu)。 資源配置和進度安排,軟件項目管理課程-清華,需求足夠清晰時,應(yīng)進行詳細設(shè)計,制定實現(xiàn)策略并

46、納入計劃之中。 充分理解項目各部分后,確定實施細節(jié)并在下次計劃更新時形成文檔。 在整個項目周期中,項目計劃為各種資源的配置提供框架。,軟件項目管理課程-清華,四.軟件項目計劃周期,軟件項目管理課程-清華,五.項目計劃的內(nèi)容,項目的目標 工作分解結(jié)構(gòu)WBS 資源配置 進度安排,軟件項目管理課程-清華,一.必要性,制定項目計劃時,項目的交付最好采用按階段交付的形式。 軟件組織最好的做法是在早期只對基本功能進行約定,其余問題的約定則推遲。 軟件功能按照其重要程度的順序進行交付,最重要的功能最先交付。,軟件項目管理課程-清華,二.分階段交付的過程,軟件項目管理課程-清華,三. 如何分階段,定義每一個階

47、段的主題,然后就主題和用戶進行商榷,再根據(jù)主題把軟件特征分配到各階段。,軟件項目管理課程-清華,3.4.3 進度安排,軟件項目管理課程-清華,一.進度安排的整體過程,軟件項目管理課程-清華,項目整體進度安排的過程如下: (1) 根據(jù)項目總體進度目標,編制人員計劃 (2) 將各階段所需要的資源和可以取得的資源進行比較,確定各階段的初步進度,然后確定整個項目的初步進度。,軟件項目管理課程-清華,(3) 對初步進度計劃進行評審,確保該計劃滿足要求,否則就要重復(fù)上面的步驟。一般都需要多次調(diào)整。,軟件項目管理課程-清華,二.進度中的并行性,軟件項目管理課程-清華,軟件開發(fā)過程中設(shè)置了若干里程碑。 當(dāng)一個

48、軟件任務(wù)成功地通過了評審并產(chǎn)生了相應(yīng)文檔之后,就完成了一個里程碑。 軟件項目的并行性提出了一系列進度要求。,軟件項目管理課程-清華,三.進度安排的方法,采用圖示方法。常用的有甘特圖和網(wǎng)絡(luò)圖,軟件項目管理課程-清華,(1) 甘特圖 甘特圖(Gantt Chart),又稱橫道圖,是各種任務(wù)活動與日歷表的對照圖。,軟件項目管理課程-清華,軟件項目管理課程-清華,每一個任務(wù)的完成不以能否繼續(xù)下一階段的任務(wù)為標準,其標準是是否交付相應(yīng)的文檔和通過評審。,軟件項目管理課程-清華,(2)網(wǎng)絡(luò)圖 用網(wǎng)絡(luò)分析的方法編制的進度計劃成為網(wǎng)絡(luò)圖。,軟件項目管理課程-清華,軟件項目管理課程-清華,軟件項目管理課程-清華

49、,第4章 軟件項目配置管理,4.1 配置管理概念,軟件項目管理課程-清華,4.1.1 基本概念軟件項目配置管理就是作為變更控制機制而引入到軟件項目中的,相關(guān)概念 (1)軟件 配置管理中的軟件是指由邏輯和功能特性構(gòu)建的信息。 (2)配置 配置由部件表和部件分解圖組成。部件分解圖定義了基線中包含的所有要素以及如何將它們安裝在一起。,軟件項目管理課程-清華,(3)標識 識別產(chǎn)品的結(jié)構(gòu)、產(chǎn)品的構(gòu)件及其類型,為其分配惟一的標識符,并以某種形式提供對它們的存取。 (4)軟件配置項 軟件配置項SCI是為了配置管理的目的而作為一個單位來看待的軟件要素的集合。,軟件項目管理課程-清華,軟件部件表1,軟件項目管理

50、課程-清華,軟件部件表2,軟件項目管理課程-清華,軟件部件分解圖,軟件項目管理課程-清華,軟件配置項,軟件項目管理課程-清華,軟件項目管理課程-清華,(5)版本 版本是一個基線或一個軟件配置項的特例。 (6)基線 基線是開發(fā)過程的里程碑,以一個或多個軟件配置項的交付為標準;基線由通過正式評審的軟件配置項組成,是進一步開發(fā)的基礎(chǔ);基線只有通過正式的變更控制過程才能改變。,軟件項目管理課程-清華,(7)控制 通過建立產(chǎn)品基線,控制軟件產(chǎn)品的發(fā)布和整個軟件生命周期中對軟件產(chǎn)品的修改。 (8)狀態(tài)統(tǒng)計 記錄并報告構(gòu)件和修改請求的狀態(tài),并收集關(guān)于產(chǎn)品構(gòu)件的重要統(tǒng)計信息。,軟件項目管理課程-清華,(9)審

51、核 確認產(chǎn)品的完整性并維護構(gòu)件間的一致性,即確保是一個嚴格定義的構(gòu)件集合。 (10)生產(chǎn) 對產(chǎn)品的生產(chǎn)進行優(yōu)化管理。 (11)過程管理 確保軟件組織的規(guī)程、方針和軟件周期得以正確貫徹執(zhí)行。,軟件項目管理課程-清華,(12)小組協(xié)作 控制開發(fā)統(tǒng)一產(chǎn)品的多個開發(fā)人員之間的協(xié)作。 (13)配置控制委員會 配置控制委員會CCB負責(zé)評審和批準對基線的變更,通常由項目選出的代表組成。,軟件項目管理課程-清華,4.1.2 軟件配置管理,1.定義 軟件配置管理是軟件項目運作的一個支撐平臺。這種支撐是貫穿項目的整個生命周期的。,軟件項目管理課程-清華,SCM作為支撐平臺,軟件項目管理課程-清華,配置管理CM是在

52、系統(tǒng)生命周期中對系統(tǒng)中的配置項進行標識和定義的過程。該過程是通過控制配置項的發(fā)布及后續(xù)變更、記錄并報告配置項的狀態(tài)及變更請求、確保配置項的完整性和正確性來實現(xiàn)的。,軟件項目管理課程-清華,軟件配置管理SCM是應(yīng)用于由軟件組成的系統(tǒng)的配置管理,通過一套工程規(guī)范,在整個軟件生命周期中跟蹤、記錄軟件,保證全部變更都記錄在案,并保證軟件的當(dāng)前狀態(tài)是已知的和可重復(fù)的。,軟件項目管理課程-清華,2.軟件配置管理過程 根據(jù)IEEE定義,軟件配置管理過程分為四步。 (1)計劃配置管理 確定SCM組織和責(zé)任,明確CM的過程、工具、技術(shù)及方法論,知道何時及如何進行。,軟件項目管理課程-清華,(2)開發(fā)CM方案 定

53、義了一個配置標識方案CIS對軟件產(chǎn)品進行跟蹤,包括建立各個階段的CM基線、進行配置標識。CIS貫穿于整個軟件生存周期中。 (3)配置控制 建立軟件配置控制委員會,對基線的變更只有得到CCB的同意才能進行;對變更進行跟蹤,確保任何時候軟件配置都是已知的;在軟件生存周期的整個過程中都要清楚基線狀態(tài)的變更歷史,以便于下一步的狀態(tài)審計。,軟件項目管理課程-清華,(4)狀態(tài)審計 對狀態(tài)進行報告,明確到目前為止改變的次數(shù)及最新版本等。,軟件項目管理課程-清華,軟件配置管理過程,軟件項目管理課程-清華,4.2 配置管理組織和職責(zé)4.2.1 CMM二級體系,軟件能力成熟度模型SCMM分為5個級別:初始級、可重

54、復(fù)級、已定義級、已管理級和優(yōu)化級。每個成熟度級別都包含若干個關(guān)鍵過程域KPA。,軟件項目管理課程-清華,可重復(fù)級(二級)CMM包含6個:軟件配置管理、軟件質(zhì)量保證、軟件子合同管理、軟件項目跟蹤和監(jiān)督、軟件項目策劃及需求管理。軟件配置管理作為二級CMM的一個KPA,是保證軟件項目生成的產(chǎn)品在軟件生存周期中完整性的重要手段。,軟件項目管理課程-清華,實施CMM二級體系的組織結(jié)構(gòu)圖,軟件項目管理課程-清華,從組織結(jié)構(gòu)圖中可以看出,SCM在整個體系中的位置及其與其他部分的關(guān)系。圖中各組成部分的說明見P96。,軟件項目管理課程-清華,4.2.2 SCM的職責(zé),軟件配置管理的基本職責(zé)有配置經(jīng)理、模塊主管、

55、變更控制委員會。 1、配置經(jīng)理 配置經(jīng)理的基本職責(zé)是對代碼開發(fā)和測試進行支持和保護,是變更管理的控制中心。,軟件項目管理課程-清華,配置經(jīng)理具有如下職能: 制定SCM規(guī)程,形成文檔并分發(fā)給有關(guān)人員 建立系統(tǒng)基線,包括備份規(guī)定 確保對基線的變更都經(jīng)過授權(quán)人員的批準 確保對基線的所有變更都進行充分細致的記錄,以便可以重新生成或回退 確保所有基線變更都經(jīng)過回歸測試 規(guī)定解決異常問題的關(guān)注焦點,軟件項目管理課程-清華,2、模塊主管 每一個模塊配備一個主管的開發(fā)人員作為模塊主管,其主要職責(zé)是: 把握模塊的設(shè)計 為參與模塊及其接口工作的人員提供建議 控制模塊的所有更改 評審模塊的變更和定期進行回歸測試,確

56、保模塊的完整性,軟件項目管理課程-清華,3、變更控制委員會CCB 軟件變更控制委員會SCCB是大中型軟件項目中協(xié)調(diào)變更的集中控制機制,是對每個變更進行評審,做出相關(guān)決策的實體。 SCCB是一個常設(shè)組織,項目經(jīng)理指定SCCB的主席,SCM經(jīng)理一般擔(dān)任SCCB的秘書,SCCB成員般由各個功能組的技術(shù)或管理代表組成,包括從事開發(fā)、文檔編寫、測試、維護、發(fā)布等方面的人員。,軟件項目管理課程-清華,4.2.3 SCM文件體系與過程活動,1、SCM文件體系 文件體系是實施SCM的依據(jù),它將標準的SCM要求映射為項目實施SCM所需的方針、程序和作業(yè)規(guī)范等文件,軟件項目管理課程-清華,文件體系的構(gòu)架,軟件項目

57、管理課程-清華,(1)方針 在金字塔頂層的方針文件中,描述了SCM的目標、方法、途徑和方針的責(zé)任人。本文件一般由SCM經(jīng)理編制、項目經(jīng)理審核、規(guī)劃經(jīng)理批準。 (2)過程定義 過程定義是圖中第二層次的文件,支撐了頂層方針,是整個文件體系的核心,它將SCM所有共同特性的關(guān)鍵實踐予以文件化和制度化。過程定義文件一般包括:范圍、目的、引用標準、術(shù)語和定義、過程活動描述等幾個方面,可以按照下面的八項指標描述過程活動。,軟件項目管理課程-清華,目的: SCM過程活動的目的。 角色及職責(zé): 完成一個過程活動的個人或小組的職責(zé)。 入口準則: 觸發(fā)一個過程活動的必要的條件。 控制: 約束或調(diào)節(jié)一個過程活動。 輸

58、入: 一個過程活動執(zhí)行的數(shù)據(jù)。 過程活動: 采取行動把輸入轉(zhuǎn)變成預(yù)定的輸出。 輸出: 一個過程活動產(chǎn)生或?qū)С龅臄?shù)據(jù)。 出口準則: 結(jié)束一個過程活動的必要條件。,軟件項目管理課程-清華,一般由SCM經(jīng)理組織人員編制過程定義文件,然后由項目經(jīng)理審核、規(guī)劃經(jīng)理批準。,軟件項目管理課程-清華,(3)規(guī)程或模板 規(guī)程或模板是第三層次的文件,支撐了上兩個層次的文件,為具體執(zhí)行活動提供作業(yè)規(guī)范或模板。 規(guī)程或模板一般包含記錄格式的表單,記錄是開展SCM活動的有效工具。 規(guī)程或模板文件一般由從事這項具體工作的工作人員編制,由SCM經(jīng)理審核,由項目經(jīng)理批準。 編制SCM文件體系,需要將開展過程活動的各種SCM要

59、素包含進去,包含組織結(jié)構(gòu)、資源、工具等。,軟件項目管理課程-清華,2、SCM過程活動 SCM過程包括管理SCM和執(zhí)行SCM兩項活動。 SCM過程活動如圖所示:,軟件項目管理課程-清華,軟件項目管理課程-清華,4.3 配置管理功能,軟件配置管理是涉及組織和管理各種軟件產(chǎn)品及文檔、控制其變化的一系列活動,貫穿整個軟件生命周期。軟件配置管理有四個主要功能:配置標識、配置控制、配置狀態(tài)報告及配置審核。,軟件項目管理課程-清華,4.3.1 配置標識,配置標識惟一的標識軟件配置項 1、要注意的問題 配置標識功能論述了與基線中包含的軟件配置項的標識以及基線本身的標識有關(guān)的問題。“標識”用來確定如何識別產(chǎn)品的

溫馨提示

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

評論

0/150

提交評論