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

下載本文檔

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

文檔簡介

1、西安交通大學 劉海巖1l軟件項目管理的概念l軟件度量l軟件項目計劃l項目進度安排與跟蹤l軟件質(zhì)量管理l軟件配置管理西安交通大學 劉海巖2 項目:以一套獨特而相互聯(lián)系的任務(wù)為前提,有效的利用資源,為實現(xiàn)一個特定目標所作的工作。 項目的成功受以下幾個因素的制約: 技術(shù)范圍、成本、進度、用戶滿意度、人員等。 項目管理的職責:確保項目目標的實現(xiàn),即在預(yù)算內(nèi)按時完成質(zhì)量合格的產(chǎn)品。 軟件項目管理:是對傳統(tǒng)項目管理進行軟件工程化的一種擴展與拓延,是它在軟件工程的任何技術(shù)活動之前開始,并持續(xù)貫穿于整個軟件定義、開發(fā)和支持階段的庇護性活動,是決定一個產(chǎn)品或項目能否成功最重要的指標之一。 西安交通大學 劉海巖3

2、 4個P( People、Product、Process、Project)對軟件項目管理有實質(zhì)性的影響: 人員人員必須被組織成有效的開發(fā)團隊。 產(chǎn)品產(chǎn)品需求被劃分成較小的組成部分,便于分配給軟件開發(fā)小組。 開發(fā)過程過程應(yīng)根據(jù)人員和產(chǎn)品選擇合適的開發(fā)模型。 項目項目必須被組織成便于控制和管理的方式,使有計劃的進行。西安交通大學 劉海巖4 人員人員: 人員是一個成功軟件項目中最重要的因素。 可分為5類: 高級管理者:負責定義業(yè)務(wù)問題,影響著項目。 技術(shù)管理者:組織、激勵和控制開發(fā)人員。 開發(fā)人員:負責開發(fā)一個產(chǎn)品或應(yīng)用所需的技術(shù)。 客戶(customer):負責說明待開發(fā)的軟件需求。 最終用戶(u

3、ser):直接使用發(fā)布的軟件。 西安交通大學 劉海巖5 每一個軟件項目都有上述的人員參與。必須被組織成有效的小組,最大限度的發(fā)輝每個人的技術(shù)和能力,激勵他們進行高質(zhì)量的工作,并協(xié)調(diào)他們實現(xiàn)有效的通信。Constantine提出4個“組織范型”: (1) 封閉式范型:傳統(tǒng)的控制層次,垂直通信,難以創(chuàng)新。 (2) 隨機式范型:小組管理較松散,依賴于成員 個人的主動性。不適合“有次序地完成”。 (3) 開放式范型:具有封閉式范型的控制性,又包含隨機式范型的創(chuàng)新性。適合于解決復雜問題??赡懿幌衿渌愋托〗M那么有效率。 (4) 同步式范型:依賴于問題的自然劃分,小組成員各自解決問題的獨立部分。主動通信差

4、。 建立一個有凝聚力的小組,要有團隊精神。西安交通大學 劉海巖6 產(chǎn)品產(chǎn)品: 進行項目計劃之前,應(yīng)該首先定義產(chǎn)品的目的和范圍,考慮可選的解決方案,標識技術(shù)和管理的約束。無這些信息,就不可能進行合理的、準確的成本估算、有效的風險評估、適當?shù)捻椖咳蝿?wù)劃分、可管理的項目進度安排。 “目的”指從用戶的角度標識出該產(chǎn)品的總體目標而不考慮這些目標如何實現(xiàn)。 “范圍”指標識出與產(chǎn)品相關(guān)的主要數(shù)據(jù)、功能和行為。 確定了目的和范圍,就可以根據(jù)產(chǎn)品交付的期限、預(yù)算的限制、可用的人員、技術(shù)接口及各種其他因素,選擇最好的解決方案途徑。 西安交通大學 劉海巖7 過程過程 根據(jù)以下條件選擇一個合適的軟件過程模型: 開發(fā)人

5、員及需要該產(chǎn)品的用戶 產(chǎn)品本身的特征 項目組的工作環(huán)境 采用如下的框架活動集合: 客戶交流、計劃、風險分析、工程實施、構(gòu)造及發(fā)布、用戶評估。這些活動可被修改以適應(yīng)不同軟件項目的特征和項目組的需求。每個活動可被分解為更詳細的工作任務(wù)。 如客戶交流活動可能需要下列任務(wù):西安交通大學 劉海巖8 列出需要澄清問題的清單 安排與用戶進行討論的會議 評審用戶要求及范圍的陳述 研究推薦的解決方案 為正式的會議準備工作文檔 共同制訂能反映軟件的數(shù)據(jù)、功能和行為特 征的規(guī)約,形成軟件范圍的文檔 評審文檔 根據(jù)需求修改文檔 庇護性活動貫穿于整個過程。西安交通大學 劉海巖9 項目項目 有計劃的控制軟件項目,Boeh

6、m提出了一種方法,強調(diào)項目目標、里程碑、進度、責任、管理和技術(shù)方法以及需要的資源,稱之為W W5 5H H2 2原則。通過下面一系列的提問和回答,可以導出項目的關(guān)鍵特征并產(chǎn)生項目計劃的大綱: 為什么(Why)該系統(tǒng)被開發(fā)?值得嗎? 將做什么(What)?什么時候(When)做? 建立項目進度,標識關(guān)鍵的項目任務(wù)和里程碑。 某功能由誰(Who)負責?開發(fā)人員的角色和責任。 哪里需要(Where)?客戶、用戶和其他投資者也有 責任。 工作將如何(How)進行?定義項目的管理和技術(shù) 策略。 資源需要多少(How much)? 西安交通大學 劉海巖10 軟件項目管理中的主要元素及之間的關(guān)系 開發(fā)人員、

7、小組、角色、任務(wù)、 工作產(chǎn)品、進度表(UML類圖)之間的關(guān)系西安交通大學 劉海巖11 軟件項目管理的主要內(nèi)容:軟件項目管理的主要內(nèi)容: 定義問題(確定新系統(tǒng)的作用域-目標) 確認項目的可行性 建立項目的進度計劃 建立項目的質(zhì)量保證體系 建立項目配置管理體系和準則 項目版本變更管理 跟蹤、監(jiān)控項目的進展 風險管理 團隊建設(shè)(人員管理,包括績效評估等) 西安交通大學 劉海巖12 1 1、 可行性研究的任務(wù)和目的可行性研究的任務(wù)和目的 GB 8566-88 計算機軟件開發(fā)規(guī)范中指出: 可行性研究的主要任務(wù)是了解客戶的要求及現(xiàn)實環(huán)境,從技術(shù)、經(jīng)濟和社會因素等方面研究并論證本軟件項目的可行性,編寫可行性

8、研究報告供項目管理人員評審,以便作出是否開發(fā)軟件項目的決策。西安交通大學 劉海巖13 度量一個系統(tǒng)解決方案的實用性及技術(shù)資源的可用性。 考慮的問題: (1)開發(fā)風險分析 (2)資源分析 (3)相關(guān)技術(shù)的發(fā)展(現(xiàn)有技術(shù)能否實現(xiàn)新系統(tǒng)、 技術(shù)難點、建議采用技術(shù)的先進性)西安交通大學 劉海巖14 主要內(nèi)容: 成本/效益分析 不可能得到精確的分析結(jié)果 系統(tǒng)成本:軟件開發(fā)費用購置并安裝軟硬件機有關(guān)設(shè)備的費用 估算系統(tǒng)安裝、運行和維護費用人員培訓費用 系統(tǒng)效益 包括經(jīng)濟效益和社會效益 經(jīng)濟效益: 可通過直接的或統(tǒng)計的方法估算 社會效益:定性的方法估算西安交通大學 劉海巖15 社會因素可行性 政策、法律、使

9、用、環(huán)境等2 2、可行性研究的步驟、可行性研究的步驟 (1)復查確認系統(tǒng)目標、規(guī)模 (2)研究現(xiàn)行系統(tǒng)的工作流程 (3)導出目標系統(tǒng)高層邏輯模型 (4)導出和評價供選擇的方案 (5)推薦可行的方案 (6)編寫可行性研究報告,送審西安交通大學 劉海巖163、可行性研究報告的編寫提示(1)引言:編寫目的、背景、定義、參考資料;(2)可行性研究的前提:要求、目標、條件、假 定和限制、進行可行性研究的方法、評價尺度;(3)對現(xiàn)有系統(tǒng)的分析:工作流程、工作負荷、 費用開支、人員、設(shè)備、局限性;(4)所建議的系統(tǒng):說明、數(shù)據(jù)流程和處理流程、 改進之處、影響、局限性、技術(shù)條件的可行性;(5)可選擇的其它系統(tǒng)

10、方案;(6)投資及收益分析:支出、收益、收益/投資比、 投資回收期等;(7)社會條件方面的可行性(法律、使用)。 西安交通大學 劉海巖17例:一個軟件系統(tǒng)的開發(fā)費用(一次):人員人員: 2名系統(tǒng)分析員(450小時/名,45美元/小時) $40,500 5名系統(tǒng)開發(fā)人員(275小時/名,36美元/小時) $49,500 1名數(shù)據(jù)通訊專家(60小時/名,42美元/小時) $2,520 1名數(shù)據(jù)庫管理員(30小時/名,42美元/小時) $1,260 2名技術(shù)寫作者(120小時/名,25美元/小時) $6,000 1名秘書(160小時/名,15美元/小時) $2,400 2名在轉(zhuǎn)換期間數(shù)據(jù)輸入人員 $

11、960 (40小時/名,12美元/小時) 西安交通大學 劉海巖18培訓培訓: 三天的開發(fā)人員內(nèi)部培訓課程 $7,000 30個用戶,三天的內(nèi)部培訓課程 $10,000復印 $500磁盤、紙張等消耗品 $650購買硬件、軟件: 20臺工作站W(wǎng)indows軟件 $1,000 20臺工作站內(nèi)存升級 $8,000 網(wǎng)絡(luò)軟件 $17,500 20臺工作站辦公軟件產(chǎn)品 $20,000系統(tǒng)開發(fā)總費用系統(tǒng)開發(fā)總費用 $167,790 $167,790 (成本)西安交通大學 劉海巖19:人員: 維護程序員/分析員(250小時/年,42美元/小時) $10,500 網(wǎng)絡(luò)管理員(300小時/年,50美元/小時) $

12、15,000購買硬件、軟件升級: 硬件 $5,000 軟件 $6,000物資和雜項 $3,500每年總運行費用每年總運行費用 $40,000 $40,000西安交通大學 劉海巖20 軟件度量(metrics)域分為過程度量、項目度量和產(chǎn)品度量。對過程、項目及產(chǎn)品的特定屬性進行度量產(chǎn)生指導管理及技術(shù)動作的指標,使得管理者和開發(fā)者能夠: 改善軟件過程 輔助軟件項目計劃 跟蹤及控制軟件項目的進展 評價軟件產(chǎn)品的質(zhì)量西安交通大學 劉海巖21 軟件度量的方式: 直接度量 間接度量 軟件工程過程的直接度量包括所投入的成本和工作 量。 軟件產(chǎn)品的直接度量包括產(chǎn)生的代碼行數(shù)(LOC)、 執(zhí)行速度、存儲量大小、

13、在某種時間周期中所報告 的錯誤數(shù)。 軟件產(chǎn)品的間接度量包括功能性、復雜性、效率、 可靠性、可維護性和許多其它的質(zhì)量特性。西安交通大學 劉海巖221. 過程和項目的度量過程和項目的度量 過程度量過程度量: 使一個組織從戰(zhàn)略上考察已有過程的功效,如開發(fā)范型、工程任務(wù)的劃分、工作產(chǎn)品、里程碑等,使管理者評估那些部分起了作用。度量數(shù)據(jù)的收集跨越所有的項目,經(jīng)歷較長的時間,目的是改善軟件過程。 間接的度量一個軟件過程的功效: 軟件發(fā)布之前發(fā)現(xiàn)的錯誤數(shù) 交付給用戶后報告的缺陷數(shù) 花費的工作量、時間、成本 與進度計劃是否一致 西安交通大學 劉海巖23 個體軟件過程(如PSP)提供了表格、腳本、標準以幫助開發(fā)

14、人員估算、計劃以及度量、跟蹤自己工作的方法。 過程度量對于一個組織(如企業(yè))提高其總體的過程成熟度能提供很大的幫助。如一個產(chǎn)品中,需求規(guī)約缺陷占了25.5%,原因如圖所示。 通過分析一個完整 的魚骨圖可以導出能 改進軟件過程以降低 錯誤和缺陷率的頻率。 西安交通大學 劉海巖24 項目度量:項目度量: 是戰(zhàn)術(shù)的,使項目管理者能夠以實時的方式改進項目的工作流程及技術(shù)方法,如軟件項目的工作量及時間的估算。 項目度量的基礎(chǔ)是歷史項目中收集的數(shù)據(jù)。隨著項目的進展,所花費的工作量及時間和預(yù)算的值進行比較,從而控制項目的進展。 另外,可根據(jù)文檔的頁數(shù)、評審的時間、功能點及源代碼行數(shù)來度量軟件的生產(chǎn)率。 西安

15、交通大學 劉海巖25 項目度量可在項目進行的基礎(chǔ)上評估產(chǎn)品的質(zhì)量,以指導在必要時修改技術(shù)方法以改進質(zhì)量。 軟件項目度量建議每個項目都應(yīng)該測量: 輸入:完成工作所需要的資源(如人員、環(huán)境); 輸出:軟件工程過程中產(chǎn)生的工作產(chǎn)品; 結(jié)果:最終產(chǎn)品的有效性。 項目度量集成起來產(chǎn)生對整個軟件組織公用的過程度量。西安交通大學 劉海巖262. 2. 軟件度量的方法軟件度量的方法 (1 1)面向規(guī)模的度量)面向規(guī)模的度量 是對軟件和軟件開發(fā)過程的直接度量。 可以建立一個面向規(guī)模的數(shù)據(jù)表格來記錄項目的某些信息。該表格列出了在過去幾年完成的每一個軟件開發(fā)項目和關(guān)于這些項目的相應(yīng)面向規(guī)模的數(shù)據(jù) 西安交通大學 劉海

16、巖27 基于所生產(chǎn)軟件的“規(guī)?!保褂么a行作為其他計算的規(guī)范化因子。計算: 每千行代碼(KLOC) 的錯誤數(shù)。 每KLOC 的缺陷數(shù)。 每個LOC的花費成本。 每KLOC 的文檔頁數(shù) 每人月的錯誤數(shù)。 每人月的代碼行。 每頁文檔的成本。 西安交通大學 劉海巖28 可制作一個如下的表: 對該方法的有效性有爭議: 支持支持:易計算,很多軟件估算模型以它為關(guān)鍵的輸入。 反對反對:LOC依賴于語言,不適用于非過程化語言,在分析與設(shè)計完成之前難以估算。 項目名 KLOC工作量(人月) 成本(萬元) 文檔 頁數(shù)錯誤 缺陷 人員BETA 12 36 10 155 608 5西安交通大學 劉海巖29 (2)

17、面向功能的度量)面向功能的度量 “功能”不能直接測量,利用其他的測量數(shù)據(jù)間接地導出。 Albrecht提出來的一種稱為功能點功能點的度量。用下表計算5個信息域的值: 西安交通大學 劉海巖30其中: 用戶輸入數(shù):每個用戶向系統(tǒng)提供的不同應(yīng)用 的輸入數(shù)據(jù)。 用戶輸出數(shù):系統(tǒng)向每個用戶提供的信息,如 報表、屏幕信息、出錯信息等。 用戶查詢數(shù):每個不同的詢問/響應(yīng)的交互操作。 文件數(shù): 可以是數(shù)據(jù)庫的一部分或是一個 獨立的文件。 外部接口數(shù):與系統(tǒng)中其他設(shè)備通過外部接口 讀寫信息的次數(shù)。 “ 簡單、平均、復雜”中的常量值是加權(quán)因子, 根據(jù)經(jīng)驗確定。 西安交通大學 劉海巖31 利用以下公式計算功能點(F

18、P): FP=總計數(shù)值 (0.65+0.01 Fi) 其中Fi(i=114)是回答14個方面問題而得到的復雜度調(diào)整值(值域為05),如輸入、輸出、查詢及內(nèi)部處理復雜嗎?代碼復用嗎?有分布處理嗎等等(詳見p 64)。 計算出功能點。就可進行以下度量: 每個功能點的錯誤數(shù)。 每個功能點的缺陷數(shù)。 每個功能點的成本。 每個功能點的文檔頁數(shù)。 每人月完成的功能點數(shù)。西安交通大學 劉海巖32 代碼行和功能點度量之間的關(guān)系依賴于實現(xiàn)軟件所采用的程序設(shè)計語言及設(shè)計的質(zhì)量。下面給出了在不同的程序設(shè)計語言中建造一個功能點所需的平均代碼行數(shù)的統(tǒng)計: 程序設(shè)計語言 LOC/FP 匯編語言 320 C 128 FOR

19、TRAN 106 Pascal 90 C+ 64 Java 46 Visual BASIC 32 Power Builder 16 SQL 12 西安交通大學 劉海巖33 3、軟件質(zhì)量度量、軟件質(zhì)量度量 軟件工程的目標是產(chǎn)生高質(zhì)量的系統(tǒng)或產(chǎn)品。質(zhì)量依賴于描述問題的需求、建模、設(shè)計、編碼、測試。 質(zhì)量度量貫穿于軟件工程的全過程中以及軟件交付用戶使用之后。應(yīng)評估分析與設(shè)計模型、源代碼、測試案例的質(zhì)量。 西安交通大學 劉海巖34 在軟件交付之前得到的度量數(shù)據(jù)可作為判斷設(shè)計和測試質(zhì)量好壞的依據(jù)。這一類度量包括程序復雜性、有效的模塊性和總的程序規(guī)模。 在軟件交付之后的度量數(shù)據(jù)則把注意力集中于還未發(fā)現(xiàn)的缺

20、陷數(shù)和系統(tǒng)的可維護性方面。 Mc Call 提出了影響軟件質(zhì)量的11個因素(詳見P367),其中重要的有以下幾點: 正確性:軟件完成所需功能的程度,最常用 “缺陷數(shù)/kLoc”來測量。西安交通大學 劉海巖35 可維護性:遇到錯誤時程序能被修改的容易程度、 環(huán) 境變化時 程序能被適應(yīng)的容易程度、 用戶希望改變需求時程序能被增強的容 易程度,一種最簡單的測量方法是計算平 均修改時間(MTTC)。 完整性: 測量系統(tǒng)在安全方面的抗攻擊性。 完整性(1-威脅)(1-安全性) 其中威脅是某個特定類型的攻擊在給定時 間內(nèi)發(fā)生的可能性。安全性是某個特定類 型的攻擊將被擊退的可能性。 可用性: 用戶友好性。

21、另外還有可靠性、效率、可測試性、可移植性、可復用性等等。 西安交通大學 劉海巖36 項目計劃既指出了項目組織未來努力的方向和奮斗目標,又是當前行動的準則。 針對不同工作目標,軟件項目計劃有: 項目實施計劃(軟件開發(fā)計劃) 這是軟件開發(fā)的綜合性計劃,通常應(yīng)包括任務(wù)、進度、人力、環(huán)境、資源、組織等多個方面。 質(zhì)量保證計劃 把軟件開發(fā)的質(zhì)量要求具體規(guī)定為每個開發(fā)階段可以檢查的質(zhì)量保證活動。 軟件測試計劃 規(guī)定測試活動的任務(wù)、測試方法、進度、資源、人員職責等。 西安交通大學 劉海巖37 文檔編制計劃 規(guī)定所開發(fā)項目應(yīng)編制的文檔種類、內(nèi)容、進度、人員職責等。 用戶培訓計劃 規(guī)定對用戶進行培訓的目標、要求

22、、進度、人員職責等。 綜合支持計劃 規(guī)定軟件開發(fā)過程中所需要的支持,以及如何獲取和利用這些支持。 軟件發(fā)布計劃 軟件開發(fā)項目完成后,如何提交給用戶。 這里,主要針對綜合計劃來介紹。西安交通大學 劉海巖38 項目管理是一個創(chuàng)造的過程,項目早期的不確定性因素,使計劃不可能在啟動階段就全部一次完成,需逐步展開和不斷修正,這又取決于計劃執(zhí)行情況的反饋與及時的信息交流。制訂項目基準計劃(Baseline Plan)的步驟: 定義項目目標,確定軟件范圍 把項目按項目范圍分解為多個任務(wù) 確定對應(yīng)每個任務(wù)必須執(zhí)行的活動 將每個任務(wù)分配給一個小組,并為每個開發(fā)者 分配角色和職責 用Gantt圖或PERT圖表示出

23、項目的進度 西安交通大學 劉海巖391 1、軟件項目估算、軟件項目估算 項目計劃的一個重要的前提是項目估算(有時在可行性研究階段完成),一般以團隊的歷史經(jīng)驗為基礎(chǔ),讓團隊中的一線人員參與估算,才能保證項目計劃的可行性。 成本及工作量的估算不是一門精確的科學,有幾種選擇: 基于已完成的類似項目進行估算; 使用分解技術(shù)以生成項目成本及工作量的估算; 使用一個或多個經(jīng)驗?zāi)P停?(1 1)分解技術(shù)分解技術(shù) 分解技術(shù)采用“分而治之”的策略進行軟件項目估算。 將項目分解成若干主要功能及相關(guān)的軟件過程活動,通 過逐步求精的方式進行成本及工作量估算。具體方法為: 西安交通大學 劉海巖40 劃分主要的軟件功能,

24、接著估算: Loc的數(shù)量 對于FP, 估算每個信息域特征(輸入、輸出、數(shù)據(jù)文件、查詢、外部接口)及14個復雜度調(diào)整值 實現(xiàn)每個功能所需的人月數(shù) 每個軟件過程活動所需人月數(shù) 基本的估算方法: 自頂向下估算: 總成本 按階段、步驟、工作單元 自底向上估算: 先劃分,分別估算每個子任務(wù)所需的工作量, 然后。 西安交通大學 劉海巖41 差別估算法: 與類似項目比較,估算每個不同之處對成本的影響。 還有專家估算法等等。 (2 2)經(jīng)驗估算模型)經(jīng)驗估算模型 經(jīng)驗估算模型可用于補充分解技術(shù),并提供一種潛在有價值的估算方法。該模型是基于經(jīng)驗(歷史數(shù)據(jù)) 的,可以用下面的形式表示: =( ) 其中 是要估算的

25、值(如工作量、成本、項目持續(xù)時 間)之一, 是選擇出來的獨立參數(shù)(如被估算的Loc或FP)。西安交通大學 劉海巖42 由經(jīng)驗導出的公式,最著名的是COCOMOCOCOMO模型模型,構(gòu)造型成本模型(COnstructive COst MOdel)。初期的模型廣泛的使用于軟件成本估算,發(fā)展到反映不同階段的成本。 初始模型的分類初始模型的分類: 基本COCOMO模型 是靜態(tài)單變量模型,用源代碼行數(shù)(LOC) 為自變量的經(jīng)驗函數(shù)計算軟件開發(fā)工作量。 中間COCOMO模型 該模型在用LOC為自變量的函數(shù)計算軟件開發(fā)工作量的基礎(chǔ)上,用涉及產(chǎn)品、硬件、人員、項目等方面的影響因素調(diào)整工作量估算。 詳細COCO

26、MO模型 該模型包括中間COCOMO模型的所有特性,但用上述各種影響因素調(diào)整工作量估算時,還要考慮對軟件工程過程中每一步驟(分析、設(shè)計等)的影響。 西安交通大學 劉海巖43 模型的擴展模型的擴展: COCOCOM使用對象點、功能點、源代碼行作為不同層次模型的參數(shù)。 對象點只是一種間接軟件測量數(shù),使用以下計數(shù): 用戶界面上的屏幕數(shù) 報表數(shù) 建立應(yīng)用軟件需要的構(gòu)件數(shù)。 每個對象實例(如一個屏幕或一個報表)給出三個復雜度權(quán)數(shù)(簡單、中等、復雜),如一個屏幕的權(quán)簡單為1,中等為2,復雜為3。 通過以下公式計算總對象點數(shù):西安交通大學 劉海巖44 (初始的對象實例數(shù)加權(quán)因子)總的對象點(NOP) 當應(yīng)用

27、基于構(gòu)件的開發(fā)時,對象點計數(shù)調(diào)整為: NOPNOP(100-%復用)/100 進而計算:生產(chǎn)率NOP/人月 針對不同級別的開發(fā)者經(jīng)驗和開發(fā)環(huán)境成熟度,給出對象點的生產(chǎn)率: 非常低 低 額定 高 非常高 4 7 13 25 50 項目工作量NOP/生產(chǎn)率西安交通大學 劉海巖45 2 2、項目進度安排、項目進度安排 項目計劃中的一個重要內(nèi)容是建立進度表,該表對項目 進度進行科學度量、調(diào)整項目計劃起很重要的作用。在眾多 軟件項目中,缺乏合理的進度安排是造成項目泄后的最主要 原因。進度安排為項目管理者和開發(fā)者建立了一張行路圖。 (1 1)進度安排的指導原則)進度安排的指導原則: 劃分劃分:項目分解成若

28、干易于管理的任務(wù)。如何進行任務(wù)的分解呢?可從兩個方面獲得幫助: 軟件開發(fā)模型軟件開發(fā)模型:模型幫助將整個項目進行階段性的劃分,這些階段可以做計劃中很重要的里程碑。 軟件開發(fā)需求軟件開發(fā)需求:開發(fā)模型只給項目計劃提供了個框架,需求的整理與規(guī)格化,是細化項目計劃的基礎(chǔ)。 西安交通大學 劉海巖46 相互依賴性相互依賴性:各個被劃分的活動或任務(wù)之間的相互關(guān)系必須是確定的。有些任務(wù)必須順序進行,有些可以并發(fā)進行。 時間分配時間分配:必須為每個被調(diào)度的任務(wù)分配一定數(shù)量的工作單位(如,人天、人月),并指定開始和結(jié)束日期。 工作量確認工作量確認:每個項目都有預(yù)定數(shù)量的人員參與。在進行時間分配時,必須確保在任意

29、時段中分配給任務(wù)的人員數(shù)量不會超過項目組中的人員總量。 定義的責任定義的責任:每個被調(diào)度的任務(wù)都應(yīng)該指定某個特定的小組成員來負責。 定義的結(jié)果定義的結(jié)果:每個被調(diào)度的任務(wù)都應(yīng)該有一個定義好的輸出結(jié)果,輸出結(jié)果通常是一個工作產(chǎn)品或某個工作產(chǎn)品的一部分。 定義的里程碑定義的里程碑:每個任務(wù)或任務(wù)組都應(yīng)該與一個項目里程碑相關(guān)聯(lián)。當一個或多個工作產(chǎn)品經(jīng)過質(zhì)量評審并且得到認可時,標志著一個里程碑的完成。 西安交通大學 劉海巖47 (2)工作量分配(指導原則) 計劃 需求分析 設(shè)計 編碼 測試 23% 10%25% 20%25% 15%20% 30%40% (3) 進度表(圖) 甘特圖甘特圖(Gantt

30、Chart) 也稱時間表,所有的項目任務(wù)都在左邊的欄目中列出。水平條表示每個任務(wù)的持續(xù)時間,當同一時間段中存在多個水平條時,表示任務(wù)之間存在并發(fā)。 PERTPERT(Program Evaluation Review Technique)圖 也稱任務(wù)網(wǎng)絡(luò)圖,表示一個項目的任務(wù)流程,刻畫了各項任務(wù)、任務(wù)之間的依賴關(guān)系及任務(wù)的持續(xù)時間。它的最簡單形式可當作宏觀進度表使用。西安交通大學 劉海巖48 Gantt圖 Gantt圖可清晰的表達每個任務(wù)活動的進展以及并發(fā)活動。水平條的顏色既可以表示概要任務(wù)和詳細任務(wù)的分解,也可以表示任務(wù)完成的情況。用一個特定的符號(如黑菱形)表示一個活動的結(jié)束(里程碑),以

31、便檢查階段成果和最后成果。 西安交通大學 劉海巖49 PERT圖 PERT圖另一個重要的用途是用來判斷關(guān)鍵路徑,關(guān)鍵路徑表明了完成該項目可能需要的最小時間,并能識別最有可能成為瓶頸的活動,該路徑上的活動是項目負責人或小組長抓的主要工作。非關(guān)鍵路徑上的活動延遲,不會導致項目總體進度偏離。下圖是一個項目的總的PERT圖。 西安交通大學 劉海巖50西安交通大學 劉海巖51 說明: 考慮進度表中的變化: 建立進度表時,項目分解為哪些任務(wù)以及任務(wù)持續(xù)的時間往往根據(jù)歷史數(shù)據(jù)估算而來,項目進展過程中未預(yù)料到的事件,如需求的變化或較晚發(fā)現(xiàn)的設(shè)計缺陷,都會打亂進度表,因此在進度表中為將來可能的變化留有余地。 進

32、度表可有不同的抽象層次: 高層進度表反映整個項目的進度,應(yīng)包括所有可交付產(chǎn)品的期限,底層進度表是任務(wù)和時間的分解??芍谱鞫唐趦?nèi)的進度表,其余部分在項目進行過程中完成。底層進度表可用于指導每個小組的進度。 每個里程碑可以附帶一個標識進度值的百分比,用來說明項目完成了多少,如: 30。 西安交通大學 劉海巖52 項目開展階段管理活動圖(UML活動圖) 西安交通大學 劉海巖53 1、項目啟動項目啟動 進行項目計劃 2、項目開展項目開展 項目的監(jiān)督與跟蹤 (1 1)收集狀況信息的方式)收集狀況信息的方式 定期報告:非正式的會議和交流,報告工作產(chǎn)品、進度誤差等需要及早溝通的信息。 里程碑的監(jiān)督與驗證:里

33、程碑可以是事件,也可以是工作產(chǎn)品,驗證是否在預(yù)定時間內(nèi)完成。 項目檢查:正式會議,所有開發(fā)人員交換活動進展狀況,比較各項任務(wù)實際開始日期與計劃開始日期。 代碼檢查:同事之間的正式代碼檢查。 原型示范:原型是為了驗證需求或為了評估技術(shù)和功能而部分實現(xiàn)的系統(tǒng),可用來估算初始進度。 西安交通大學 劉海巖54 度量:主要是修正錯誤數(shù)目的度量,即還需要付出多少努力的估量。 (2)項目再計劃項目再計劃 根據(jù)項目的變化動態(tài)更新項目計劃,應(yīng)對一些新的需求、新的變化、突發(fā)因素做出響應(yīng),或解決問題以適應(yīng)計劃,或調(diào)整計劃以保證最后按時交付產(chǎn)品。 (3 3)風險管理)風險管理 風險是一些不利因素實際發(fā)生的可能性。如:

34、人員跳槽,管理層變更,硬件缺乏,需求變化,描述延遲,低估了系統(tǒng)的規(guī)模,工具性能差,技術(shù)變更,產(chǎn)品竟爭等等。 西安交通大學 劉海巖55 風險管理的活動有: 風險識別:確定風險的類型(管理、技術(shù))。 風險分析:評估風險出現(xiàn)的可能性及其后果。 風險規(guī)劃:制定避免或降低風險的策略。 風險控制:定期進行風險評估,及時修正緩解風險的計劃。3 3、項目總結(jié)、項目總結(jié) 用戶驗收:根據(jù)項目協(xié)議中規(guī)定的驗收標準對系統(tǒng)進行評價,并通過場景演示,測試系統(tǒng)功能性和非功能性需求。 安裝:在目標環(huán)境下安裝、運行系統(tǒng)并提交文檔。 總結(jié):總結(jié)經(jīng)驗教訓,建立團隊工作效率的歷史檔案,以便提高個人和團隊整體的軟件工程能力。西安交通大

35、學 劉海巖56 1、概述概述 軟件質(zhì)量是軟件產(chǎn)品、體系或過程的一組固有特性滿足(顧客和其他相關(guān)方)要求的程度。 軟件質(zhì)量保證(Software Quality Assurance,SQA)是一種應(yīng)用于整個軟件過程的庇護性活動,包含: 質(zhì)量管理方法 有效的軟件工程方法和工具 過程中采用的正式技術(shù)評審 多層次的測試策略 對軟件文檔及其修改的控制 保證與開發(fā)標準符合的規(guī)程 軟件度量及報告機制 等等方面的內(nèi)容西安交通大學 劉海巖57 軟件質(zhì)量保證的對象一般有三方面: 產(chǎn)品、過程和質(zhì)量體系 實施軟件質(zhì)量保證需運用幾種支持過程作為質(zhì)量保證的手段。 驗證或確認驗證或確認:通過提供客觀證據(jù)對規(guī)定要求已得到滿足

36、的認定。 評審或?qū)徍嗽u審或?qū)徍耍捍_定主題事項達到規(guī)定目標的適應(yīng)性、充分性和有效性所進行的活動。聯(lián)合評審是由任何兩方(評價方和被評價方)用來在適當時機對項目的某個活動的狀態(tài)和產(chǎn)品進行評價并可能形成文件的過程。 西安交通大學 劉海巖58 2、軟件質(zhì)量保證過程中的數(shù)據(jù)、軟件質(zhì)量保證過程中的數(shù)據(jù) SQA過程中必然產(chǎn)生有關(guān)產(chǎn)品、過程和體系質(zhì)量的多種數(shù)據(jù),是進行下一步工作的決策依據(jù),對于提高質(zhì)量管理效果和改進質(zhì)量管理過程至關(guān)重要。要收集、存儲、及時分析和使用這些數(shù)據(jù),才能做好質(zhì)量保證工作。 質(zhì)量數(shù)據(jù)有多種: 項目規(guī)模:FP表示軟件大小,以功能點計數(shù); 工作量E:表示項目的人力總投入,以人月計數(shù); 生產(chǎn)率:

37、 P=FP/E; 缺陷數(shù):D1表示軟件交付前發(fā)現(xiàn)的錯誤數(shù),D2表示交付后發(fā)現(xiàn)的缺陷數(shù); 質(zhì)量:Q=D2/FP,表示每個功能點包含多少交付的缺陷, 缺陷引入率 :DI=(D1+D2)/FP,整個項目生存期中每個功能點發(fā)現(xiàn)的缺陷數(shù); 缺陷排除率: DR=D1/DI西安交通大學 劉海巖59 3、SQA的實施的實施 (1)SQA小組的職責小組的職責 SQA活動與兩種不同的參與者相關(guān):做開發(fā)工作的軟件工程師和 獨立的SQA小組。 軟件開發(fā)人員對質(zhì)量的考慮:采用可靠的技術(shù)方法,進行正式的技術(shù)評審,嚴格的、按計劃的測試軟件。 SQA小組的職責是輔助開發(fā)人員得到高質(zhì)量的產(chǎn)品,負責質(zhì)量保證的計劃、監(jiān)督、記錄、分

38、析及報告工作。 (2)SQA過程的進入與退出過程的進入與退出 進入準則: 方針明確 能力具備 項目已定義 已有SQAP制定規(guī)程和偏差處理規(guī)程 西安交通大學 劉海巖60 退出準則: 產(chǎn)品符合需求 數(shù)據(jù)記錄完整、受控 具體活動的輸入(需要的數(shù)據(jù))與輸出(產(chǎn)生的結(jié)果): 輸入包括合同中的有關(guān)說明或協(xié)議,軟件開發(fā)標準和規(guī)范,軟件設(shè)計準則,軟件測試標準或規(guī)范,軟件配置管理規(guī)范,軟件質(zhì)量保證規(guī)范,軟件質(zhì)量數(shù)據(jù)采集規(guī)程等。 輸出包括SQAP,項目采用的標準和規(guī)程,各種評審和審核活動的記錄和報告、問題報告、問題解決報告和軟件質(zhì)量有關(guān)的數(shù)據(jù)。 (3)SQA活動流程活動流程(見下圖) 西安交通大學 劉海巖61 S

39、QA活動流程西安交通大學 劉海巖62 需要指出的是,軟件測試與軟件質(zhì)量保證是由不同人員實施的兩種不同過程,軟件測試是軟件開發(fā)過程的一個階段,而軟件質(zhì)量保證貫穿于整個軟件開發(fā)過程。 軟件開發(fā)過程需要多人合作,不按照一定的標準、規(guī)程、準則去做,很難將眾多的工作產(chǎn)品集成起來。不把開發(fā)過程分解為可控制的階段并對每個階段的工作和結(jié)果加以控制,很難保證產(chǎn)品的質(zhì)量。 正式技術(shù)評審是軟件質(zhì)量保證的主要手段之一,也是使用最多的監(jiān)督方法。為了使評審取得應(yīng)有的效果,注意三點: 有計劃, 有規(guī)程, 認真執(zhí)行計劃和規(guī)程。西安交通大學 劉海巖63 1、概念、概念 軟件配置管理軟件配置管理(Software Configu

40、ration Management,SCM)是應(yīng)用于整個軟件過程中的庇護性活動。軟件配置軟件配置是一個軟件產(chǎn)品在生存期各個階段的不同形式和不同版本的程序、文檔及相關(guān)數(shù)據(jù)的集合。軟件開發(fā)過程中,會得到許多工作產(chǎn)品或階段產(chǎn)品,還會用到許多工具軟件,所有這些信息都需要管理,以便在提出某些特定的要求時能將其進行約定的組合來滿足使用的目的(見下圖)。 西安交通大學 劉海巖64 兩個產(chǎn)品具有不同的配置 西安交通大學 劉海巖65 軟件開發(fā)屬于變化驅(qū)動的過程。軟件時時處于演化變更狀態(tài)。技術(shù)的快速發(fā)展、業(yè)務(wù)環(huán)境的不斷改變、不同用戶的不同需求、需求在開發(fā)中的頻繁變更、開發(fā)人員對階段產(chǎn)品的改變等等,都會對產(chǎn)品的最后

41、質(zhì)量造成影響。 SCM是對軟件生存期過程中的各階段產(chǎn)品和最終產(chǎn)品演化和變更的管理,是CMM第二級中的關(guān)鍵過程域。它的主要目的是對變更加以控制,將變更對成本、進度和質(zhì)量影響降到最小。 SCM的任務(wù): 制定SCM計劃 配置標識 變更控制 配置審核 版本管理和發(fā)行管理 西安交通大學 劉海巖662、軟件配置標識、軟件配置標識 (1)確定配置項()確定配置項(SCI) 大中型軟件項目在開發(fā)中產(chǎn)生幾十個、上百個文檔,每個階段都在演化,后期版本是對前期的修改及擴展(兩者有繼承關(guān)系),確定配置項就是確定哪些文檔需要被保存、被管理。 (2)配置項標識)配置項標識 唯一性:在一個項目內(nèi)不能出現(xiàn)重名, 可追溯性:名

42、字能體現(xiàn)相鄰配置項之間的關(guān)系,如采用層次式命令規(guī)則反映樹狀結(jié)構(gòu)。西安交通大學 劉海巖67 3、變更管理、變更管理 (1)軟件變更)軟件變更 軟件變更的不可避免性: 變更來源于用戶或開發(fā)人員; 變更的復雜性:涉及一些相關(guān)部件和文檔,需要將某些變更通知相關(guān)人員。 (2)變更管理的任務(wù))變更管理的任務(wù) 分析變更:研究變更的必要性、經(jīng)濟可行性(成本效益比,是否合理)和技術(shù)可行性(能否實現(xiàn))。 記錄和追蹤變更。 采取措施保證變更在受控狀態(tài)下進行。西安交通大學 劉海巖68 (3)建立配置項庫)建立配置項庫 配置項庫的作用 記錄與配置相關(guān)的所有信息,其中很重要的內(nèi)容是存放受控的軟件配置項。 利用庫中的信息評價變更的后果,對變更控制有重要的意義。 從庫中提取各種配置管理過程的管理信息,可利用庫中的信息查詢回答許多配置管理問題,例如: 哪些客戶已提取了某個特定的系統(tǒng)版本? 運行一個給定的系統(tǒng)版本需要什么硬件和系統(tǒng)軟件? 一個系統(tǒng)到目前已生成了多少個版本,何時生成的? 如果某一特定的構(gòu)件變更了,會影響到系統(tǒng)的哪些版本? 一個特定的版本曾提出過哪幾個變更請求? 一個特定的版本有多少已報告的錯誤?西安交通大學 劉海巖69 配置項庫的類別 開發(fā)庫 存放開發(fā)過程中需要保留的各種信息,供開發(fā)

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論