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

下載本文檔

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

文檔簡介

第二章軟件項目管理基礎第二章軟件項目管理基礎1軟件項目的成功和失敗軟件項目的成功和失敗2軟件開發(fā)的困惑為什么我們不能開發(fā)出高質量的軟件?為什么人類無法定義它、解釋它,深刻地了解它?為什么一些天才的科學家窮其一生的精力也不能把這些迷惑歸納成一種科學工程學科或行業(yè)標準?軟件工程方法不堪一擊,人們無法使用它們。軟件開發(fā)的困惑為什么我們不能開發(fā)出高質量的軟件?3軟件項目失敗原因客戶需求不確定最終產(chǎn)品的設計和特色只有在過程中才能變得清晰,而不是開始時很難制定準確的計劃估計不夠,低估時間和成本來自營銷、客戶和管理者的壓力溝通失敗是項目失敗的最大的威脅軟件過程不可見軟件項目失敗原因客戶需求不確定4軟件開發(fā)的探索技術CASE,UMLOO過程控制ISO9001,ISO9000-3,ISO15504,ISO12207CMM,TickIT以上措施并沒有真正解決軟件危機“質量是制造出來的,不是檢驗出來”,在制造業(yè)適用,在軟件行業(yè)作用并不大(軟件過程不可見)項目失敗率還是很高軟件開發(fā)的探索技術5軟件項目失敗深層次原因對軟件的誤解是問題的根源。現(xiàn)有的方法是由那些有良好愿望但忘記了軟件中的“軟”的那些聰明人所創(chuàng)建的。他們假定開發(fā)軟件就象造橋。方法不正確。沒有人打算失敗,具有諷刺意味的是為使失敗最小化而創(chuàng)建的方法是失敗的。開發(fā)人員士氣不高,沒有創(chuàng)造性。管理人員、開發(fā)人員能力不夠。只重過程,不重人。沒有良好的溝通。軟件項目失敗深層次原因對軟件的誤解是問題的根源。6項目管理概述

軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。軟件項目管理的根本目的是為了讓軟件項目,尤其是大型項目的整個軟件生命周期(從分析、設計、編碼到測試、維護全過程)都能在管理者的控制之下,以預定成本,按期、按質的完成軟件,然后交付用戶使用。

項目管理概述軟件項目管理是為了使軟件項目能夠按照預定的成本7這種管理在技術工作開始之前就應開始,在軟件從概念到實現(xiàn)的過程中繼續(xù)進行,當軟件工程過程最后結束時才終止。這種管理在技術工作開始之前就應開始,在軟件從概念到實現(xiàn)的過程8項目管理分九個知識領域,分別是成本管理、質量管理、時間管理、范圍管理、人力資源管理、溝通管理、風險管理、采購管理和整體管理。其中時間,質量和成本管理構成了三角形項目管理分九個知識領域,分別是成本管理、質量管理、時間管理、9項目管理包括5種基本活動啟動:相關人員提出對項目的要求,項目開始。計劃:計劃涉及詳細規(guī)定出要取得的結果;產(chǎn)生這些結果所需要的活動和任務;決定時間表和估計所需的資源,例如人力和資金。

組織:組織規(guī)定了項目的組織和角色、責任的定義。在計劃活動中,角色被映射成確定的工作。

控制:控制確定正在進行的活動何時偏離了計劃。

收尾:終止是結束項目。

項目管理包括5種基本活動啟動:相關人員提出對項目的要求,項目10項目生命期和階段劃分項目生命期和階段劃分11項目可以分成幾個階段

項目概念:關于項目的想法開始出現(xiàn),通常伴隨著成本效益分析和技術可行性研究。項目定義:包括以下活動

問題定義:客戶和項目經(jīng)理按照功能,限制條件和交付產(chǎn)品

定義系統(tǒng)的規(guī)模??蛻艉晚椖拷?jīng)理也在協(xié)議標準和目標日期上達成一致。

初始的軟件項目管理計劃(SPMP):項目經(jīng)理提供對項目總的看法、項目結果的描述、工作分解結構、角色和責任、項目時間表、所需資源的預算和怎樣定義和處理風險的描述。

項目可以分成幾個階段項目概念:關于項目的想法開始出現(xiàn),通常12初始的軟件體系結構:它關注于軟件體系結構,特別是把系統(tǒng)分解成子系統(tǒng)。

項目協(xié)議定義:在項目協(xié)議文檔中,用戶和項目經(jīng)理對作為基線的系統(tǒng)規(guī)模和交付日期正式達成一致。

項目開始:項目經(jīng)理設置了項目的基礎設施,雇用參與者,把他們組成團隊,并總結項目。項目開始包括以下活動基礎設施設立:項目經(jīng)理必需為項目的基礎設施制定需求。這些需求描述了項目參與者之間的交流渠道,比如公告牌、網(wǎng)站和會議管理程序等。

初始的軟件體系結構:它關注于軟件體系結構,特別是把系統(tǒng)分解成13技能定義:項目經(jīng)理定義開發(fā)者的技能和興趣,并在技能矩陣中記錄它。

團隊集合:項目經(jīng)理分配團隊參與者,定義團隊功能且選擇團隊領導。項目經(jīng)理也為團隊成員定義所需的額外培訓和課程。最后,項目經(jīng)理為團隊分配工作包。

項目總結:項目經(jīng)理,團隊領導和客戶正式開始啟動項目。技能定義:項目經(jīng)理定義開發(fā)者的技能和興趣,并在技能矩陣中記錄14項目穩(wěn)定狀態(tài):團隊領導要負責跟蹤團隊狀態(tài)和在團隊會議上提出問題。包括以下活動

項目規(guī)模定義控制:團隊領導和項目經(jīng)理每周將項目狀況和SPMP中計劃的時間表進行比較。團隊領導負責收集狀況信息和向項目經(jīng)理報告情況。

風險管理:項目經(jīng)理和團隊領導定義、分析、設定風險的優(yōu)先級,并準備對意外事故的計劃。項目重計劃:當項目偏離了時間表或發(fā)生意外事故,項目經(jīng)理需要修改時間表,并且重新分配資源來。項目穩(wěn)定狀態(tài):團隊領導要負責跟蹤團隊狀態(tài)和在團隊會議上提出問15項目終止:提交項目結果并收集項目歷史。主要活動有

交付:由客戶驗收測試和系統(tǒng)安裝

2個子活動組成??蛻趄炇諟y試:軟件系統(tǒng)由客戶按照項目協(xié)議中制定的驗收準則進行評價。安裝:系統(tǒng)被配置在目標環(huán)境中,并且交付文檔。安裝可能包括用戶培訓和實施階段。事后分析:項目經(jīng)理和團隊領導收集項目歷史資料以獲得經(jīng)驗。項目終止:提交項目結果并收集項目歷史。主要活動有16定義工作分解結構項目計劃的基本假設是項目結果不能在一個大型活動中被完成,我們必須用各個擊破的方法來把工作分解成更小的、更容易做的小塊。因此,在項目計劃中一個主要的任務是把整個工作包分解成更小的任務。這包括2件事:定義合適的任務和定義任務間的依賴關系。

定義工作分解結構項目計劃的基本假設是項目結果不能在一個大型活17任務和活動

任務是一項已經(jīng)定義得很好的工作,該工作可分配給一個項目參與者或分配給一個團隊。

任務是管理有關項目工作的最小的單元。任務包括對任務和持續(xù)時間的描述,還包括分配給所扮演角色的參與者。

任務和活動任務是一項已經(jīng)定義得很好的工作,該工作可分配給一18任務名

分配的角色

描述

任務輸入

任務輸出

數(shù)據(jù)庫子系統(tǒng)需求的引出

系統(tǒng)設計師

從子系統(tǒng)團隊引出關于所需存儲量的需求,定義永久對象

團隊聯(lián)絡

數(shù)據(jù)庫API,永久對象分析模型

數(shù)據(jù)庫子系統(tǒng)設計

子系統(tǒng)設計

設計數(shù)據(jù)庫子系統(tǒng),推薦商業(yè)產(chǎn)品

子系統(tǒng)API數(shù)據(jù)庫子系統(tǒng)設計

數(shù)據(jù)庫子系統(tǒng)實現(xiàn)

實現(xiàn)者

實現(xiàn)數(shù)據(jù)庫子系統(tǒng)

子系統(tǒng)實現(xiàn)

數(shù)據(jù)庫子系統(tǒng)編碼

數(shù)據(jù)庫子系統(tǒng)檢查

實現(xiàn)者

處理數(shù)據(jù)庫子系統(tǒng)的編碼檢查

子系統(tǒng)源代碼

發(fā)現(xiàn)的缺陷表

數(shù)據(jù)庫子系統(tǒng)測試計劃

測試者

為數(shù)據(jù)庫子系統(tǒng)建立測試套件

子系統(tǒng)源代碼

測試和測試計劃

數(shù)據(jù)庫子系統(tǒng)測試

測試者

對數(shù)據(jù)庫子系統(tǒng)執(zhí)行測試套件

子系統(tǒng)測試計劃

測試結果,缺陷表

任務名分配的角色描述任務輸入任務輸出數(shù)據(jù)庫子系統(tǒng)需19工作產(chǎn)品,工作包和角色

工作包描述了要生產(chǎn)的工作產(chǎn)品,要完成工作所需要的資源,所希望的持續(xù)時間,輸入之間的相互依賴,也詳細說明了驗收規(guī)則和相關的個體或組織的單元的名字。

工作包是重要的管理產(chǎn)物,我們把它們分配給參與者去做。在任務定義之后可以定義工作包。

任何交付給用戶的工作產(chǎn)品叫交付品,例如用戶手冊。工作產(chǎn)品,工作包和角色工作包描述了要生產(chǎn)的工作產(chǎn)品,要完成20工作分解結構

在一個項目中,全體任務的層次描述叫工作分解結構(WBS)。

工作分解結構是一個要做工作的非常簡單的模型。

工作分解結構在一個項目中,全體任務的層次描述叫工作分解結構21注意:工作分解結構不表示活動的順序。

注意:工作分解結構不表示活動的順序。22項目范圍階段工作單元任務項目范圍階段工作單元任務23簡單的ATM的功能工作分解結構的例子用例

工作分解結構

鑒別

1實現(xiàn)鑒別用例1.1開發(fā)用戶界面表(登陸,改變PIN)

1.2

實現(xiàn)服務器的鑒別協(xié)議開發(fā)內(nèi)部帳戶設立

1.3開發(fā)內(nèi)部帳戶設立

提款

2開發(fā)提款用例2.1開發(fā)用戶界面表(選擇帳戶,設定金額)2.2實現(xiàn)和服務器的通信2.3開發(fā)核對提款的商業(yè)邏輯2.4開發(fā)現(xiàn)金出口的界面存入支票

3開發(fā)存入支票用例3.1開發(fā)用戶界面表(聲明支票,插入支票)3.2實現(xiàn)和服務器的通信3.3開發(fā)記錄存入的商業(yè)邏輯3.4開發(fā)現(xiàn)標簽打印機的界面

簡單的ATM的功能工作分解結構的例子用例工作分解結構鑒別24進度安排軟件開發(fā)項目的進度安排有兩種方式:

(1)系統(tǒng)最終交付日期已經(jīng)確定,軟件開發(fā)部門必須在規(guī)定期限內(nèi)完成;

(2)系統(tǒng)最終交付日期只確定了大致的年限,最後交付日期由軟件開發(fā)部門確定。進度安排軟件開發(fā)項目的進度安排有兩種方式:

(1)系統(tǒng)最終交25進度安排的方法可以把用于一般開發(fā)項目的進度安排的技術和工具應用于軟件項目。為監(jiān)控軟件項目的進度計劃和工作的實際進展情況,為表現(xiàn)各項任務之間進度的相互依賴關系,需要采用圖示的方法。進度安排的方法可以把用于一般開發(fā)項目的進度安排的技術和工具應26甘特圖也叫做線條圖或橫道圖。它是以橫線來表示每項活動的起止時間。甘特圖的優(yōu)點是簡單、明了、直觀,易于編制,因此到目前為止仍然是小型項目中常用的工具。即使在大型工程項目中,它也是高級管理層了解全局、基層安排進度時有用的工具。在甘特圖上,可以看出各項活動的開始和終了時間。在繪制各項活動的起止時間時,也考慮它們的先后順序。但各項活動上間的關系卻沒有表示出來,同時也沒有指出影響項目壽命周期的關鍵所在。因此,對于復雜的項目來說,甘特圖就顯得不足以適應。甘特圖也叫做線條圖或橫道圖。它是以橫線來表示每項活動的起止時27甘特圖是做項目進度計劃方法的重要方法,其他方法有:關鍵日期表:這是最簡單的一種進度計劃表,它只列出一些關鍵活動和進行的日期。關鍵路線法計劃評審技術(ProgramEvaluationandReviewTechnique,簡稱PERT)。甘特圖是做項目進度計劃方法的重要方法,其他方法有:28Gantt圖能很形象地描繪任務分解情況,以及每個子任務(作業(yè))的開始時間和結束時間,因此是進度計劃和進度管理的有力工具。它具有直觀簡明和容易掌握、容易繪制的優(yōu)點。Gantt圖的3個主要缺點:(1)不能顯式地描繪各項作業(yè)彼此間的依賴關系;(2)進度計劃的關鍵部分不明確,難于判定哪些部分應當是主攻和主控的對象;(3)計劃中有潛力的部分及潛力的大小不明確,往往造成潛力的浪費。Gantt圖能很形象地描繪任務分解情況,以及每個子任務(作業(yè)29任務通過暫時的依賴關系聯(lián)系起來。例如建屋頂?shù)娜蝿詹荒茉诮▔θ蝿战Y束前開始。

任務及其依賴關系的集合叫任務模型或者網(wǎng)絡圖。

任務通過暫時的依賴關系聯(lián)系起來。例如建屋頂?shù)娜蝿詹荒茉诮▔θ?0軟件項目管理基礎課程課件31技能矩陣

技能矩陣是在項目中關于要完成任務的人的技能、知識和興趣的一張簡單表。技能矩陣的一行表示來自工作分解結構的工作單元——任務、活動和項目功能。一列表示項目參與者。矩陣中的一項為任務,定義了特定參與者的技能和知識層次。我們把3種項目區(qū)分開:主要技能、次要技能和興趣。主要技能使一個人能勝任領導一個工作單元。次要技能使一個人能參與任務。興趣表示在任務中一個人感興趣但不具備該技能。

技能矩陣技能矩陣是在項目中關于要完成任務的人的技能、知識和32軟件項目管理基礎課程課件332.2.6組織組織由組織單元及其交互組成。最小組織單元是一個參與者(也叫個人或成員)。一組參與者能組成部門、處或小組。

2.2.6組織組織由組織單元及其交互組成。34呈現(xiàn)組織結構

組織的表現(xiàn)及其信息結構通常叫組織圖。

呈現(xiàn)組織結構組織的表現(xiàn)及其信息結構通常叫組織圖。35軟件項目管理基礎課程課件36軟件項目管理計劃

軟件項目管理計劃(SPMP)中的文件在項目總結大會之前創(chuàng)建,并且當任務完成和步驟更新的時候被更新,這種更新將貫穿整個項目。SPMP的使用者包括管理者和開發(fā)者。SPMP有五部分。軟件項目管理計劃軟件項目管理計劃(SPMP)中的文件在項目371.

介紹1.1項目概況1.2項目交付品1.3文檔的演化1.4參考書1.5定義和縮寫表2.

項目組織2.1過程模型2.2組織結構2.3組織邊界和接口2.4項目責任3.

管理過程3.1管理目標和優(yōu)先級3.2假設,依賴和限制3.3風險管理3.4監(jiān)督和控制機制4.

技術過程4.1方法,工具和技術4.2軟件文檔4.3項目支持功能5.

工作元素,日程表和預算軟件項目管理計劃(SPMP)

1.

介紹3.

管理過程軟件項目管理計劃(SPMP)382.3項目管理活動

在項目定義期間,項目經(jīng)理的主要活動是定義組織結構和定義工作產(chǎn)品、任務、時間表和角色。團隊領導在項目定義階段的最后時刻參加項目,他們的主要工作是在穩(wěn)定狀態(tài)下監(jiān)督和管理團隊。

2.3項目管理活動在項目定義期間,項目經(jīng)理的主要活動是定392.3.1計劃項目

定義問題、確定初始任務模型和組織結構、評估所需的資源,如人員和資金。這一階段要完成以下的工作:1.問題陳述:記述了當前情況、要支持的功能和系統(tǒng)要使用的環(huán)境,也要定義客戶希望的產(chǎn)品、交付日期和一套驗收標準,可能也指定了開發(fā)環(huán)境中的限制,例如要用的編程語言。問題陳述是由項目經(jīng)理和客戶經(jīng)過迭代活動開發(fā)的。

2.3.1計劃項目定義問題、確定初始任務模型和組織結構、評402.頂層設計:頂層設計描述了系統(tǒng)的軟件體系結構,應由軟件結構師完成。軟件結構師定義主要的子系統(tǒng)及其服務,但還不定義子系統(tǒng)的界面。3.軟件項目管理計劃(SPMP):描述了項目的所有管理方面,特別是工作分解結構、日程表、組織、工作包和預算。為一個項目定義工作分解結構(WBS),有不同的方法。最常用的方法是基于軟件過程的功能分解。

2.頂層設計:頂層設計描述了系統(tǒng)的軟件體系結構,應由軟件結構412.3.2組織項目

雇用參與者、確定技能、為參與者分配角色和責任并組織指導與項目總結有關的會議。

1.設立交流設施2.定義技能:軟件工程開發(fā)項目需要具有應用領域技能、交流技巧、技術能力、質量能力和管理能力。項目經(jīng)理要用技能矩陣,為每個任務按合適的技能關系定義人員。3.分配管理角色:分配團隊領導等管理角色。團隊領導要有交流的能力,要作為更高層管理者和開發(fā)者之間的聯(lián)絡者有上通下達以取得協(xié)調的能力;有時團隊領導必須具有命令開發(fā)者完成緊迫任務的決定權。

2.3.2組織項目雇用參與者、確定技能、為參與者分配角色和424.分配技術角色:技術角色最好和管理角色分開。5.處理技能缺乏:當技能不足時,項目經(jīng)理應該做出培訓計劃安排。這包括專門培訓和工作中展開的培訓。6.選擇團隊規(guī)模三個成員。

四個成員。

五個或六個成員。這是規(guī)模理想的軟件開發(fā)團隊。

七個成員。

八個和更多成員。7.聚集團隊:項目經(jīng)理在團隊建立前選擇團隊領導。除了能了解團隊狀態(tài)之外,團隊領導需要有效地進行交流,識別潛在的危險(技術或社會的),考慮項目利益選擇折衷方案。

4.分配技術角色:技術角色最好和管理角色分開。438.總結會議:項目經(jīng)理、團隊領導和客戶在所有開發(fā)者都參加的總結會議上,正式啟動項目。開總結會議的目的,是與所有項目參與者共享有關項目領域、交流設施、每個團隊責任的信息。

9.對項目范圍達成一致:各方將對項目范圍達成一致的結論,以文檔形式加以記錄,這個文檔正式定義了項目的范圍、期限、成本和交付。項目協(xié)議由合同、工作聲明、商業(yè)計劃或項目憲章的形式書寫。項目協(xié)議應該至少包括以下內(nèi)容:交付文檔清單;功能需求演示的標準;非功能性需求演示的標準,非功能性需求包括準確性、可靠性、響應時間和安全性等;驗收標準。

在項目總結完成和對項目范圍取得一致后,項目進入穩(wěn)定狀態(tài)。

8.總結會議:項目經(jīng)理、團隊領導和客戶在所有開發(fā)者都參加的總442.3.3控制項目

項目監(jiān)督、風險管理和項目協(xié)議。

為了在項目穩(wěn)定階段做出有效的決定,項目經(jīng)理需要準確的狀態(tài)信息。不幸的是,搜集準確的狀態(tài)信息非常困難。

可以用如下一些工具來搜集狀態(tài)信息。1.會議2.度量標準:度量財政狀態(tài)。在實際進度中比較計劃成本和實際成本,使經(jīng)理能評估項目財政是否健康。

2.3.3控制項目項目監(jiān)督、風險管理和項目協(xié)議。45度量技術進度。對于開發(fā)團隊,這包括在基線以下的源代碼行數(shù)或內(nèi)部改變的需求數(shù);對于測試團隊,這包括找出的錯誤或公開改變的需求數(shù);對于體系結構團隊,可能是演示關鍵用例的數(shù)量。度量穩(wěn)定性。在系統(tǒng)中度量由錯誤引起改變的需求比例,可說明系統(tǒng)在開發(fā)過程中的穩(wěn)定性。度量對需求的改變比例,同樣可在客戶視點上說明需求的穩(wěn)定性。度量模塊性。度量成熟性。當項目將要交付時,發(fā)現(xiàn)的錯誤個數(shù)應該減少,這表明產(chǎn)品的成熟性增加了。成熟性的降低說明開發(fā)者并沒有足夠注意到質量。

度量技術進度。對于開發(fā)團隊,這包括在基線以下的源代碼行數(shù)或內(nèi)463.管理風險:風險管理關注項目定義中可能存在的問題,并希望在在嚴重影響交付日期或預算之前說明這些內(nèi)容。風險管理的關鍵點是能準確及時地報告風險和問題。風險管理的第一步是定義風險。風險可以是管理方面的,也可以是技術方面的。

3.管理風險:風險管理關注項目定義中可能存在的問題,并希望47標明風險的優(yōu)先級能使項目經(jīng)理專注于關鍵風險的管理。風險按它們能變成問題的可能性,以及當風險變成問題時,對項目發(fā)生的潛在影響,能被分成4類:

很可能的,存在高潛在影響

不太可能的,存在高潛在影響很可能的,存在低潛在影響不太可能的,存在低潛在影響。

標明風險的優(yōu)先級能使項目經(jīng)理專注于關鍵風險的管理。風險按它們48軟件項目管理基礎課程課件492.2.4終結項目

在項目終結階段項目經(jīng)理為客戶準備了驗收測試、管理系統(tǒng)集成、測試和在客戶方的安裝。最后項目經(jīng)理檢查項目總結。

1.驗收系統(tǒng):客戶驗收測試的目的不僅是演示系統(tǒng),并且還是按照在項目協(xié)議中設定的驗收標準得到客戶認可。驗收系統(tǒng)的結果是客戶對系統(tǒng)的正式接收。

2.安裝:項目安裝階段包括系統(tǒng)的實地測試、把系統(tǒng)和以前的系統(tǒng)進行比較、撤銷以前系統(tǒng)和用戶培訓。安裝可能由供應商、定約人或由客戶自己完成,這取決于項目協(xié)議的定義。

2.2.4終結項目在項目終結階段項目經(jīng)理為客戶準備了驗收測503.評價:每個項目完成后應對項目進行回顧。回顧包括搜集計劃的交付日期與真正的交付日期的比較,以及發(fā)現(xiàn)的錯誤個數(shù),遇到的技術和管理問題等信息,并對項目的將來進行建議。

3.評價:每個項目完成后應對項目進行回顧?;仡櫚ㄋ鸭媱澋?12.4項目計劃案例《操作系統(tǒng)精品課網(wǎng)站》項目要求將操作系統(tǒng)課程的主要內(nèi)容發(fā)布到網(wǎng)上,學生能夠訪問課程大綱、課程主要內(nèi)容、教師信息等基本信息,能下載課程作業(yè)、課件和相關資料,能在線討論和提問,上傳自己的作業(yè),并能夠在線考試。教師能夠在線批改學生作業(yè)和回答提問,能上傳課件、課程資料,并能更新在線考試的試題及答案。2.4項目計劃案例《操作系統(tǒng)精品課網(wǎng)站》項目要求將操作系統(tǒng)課52初期項目計劃初期項目計劃53詳細項目計劃1

詳細項目計劃154詳細項目計劃2

詳細項目計劃255詳細項目計劃3詳細項目計劃356用項目管理軟件制定項目計劃項目管理軟件簡介項目管理軟件具有預算、成本控制、計算進度計劃、分配資源、分發(fā)項目信息、項目數(shù)據(jù)的轉入和轉出、處理多個項目和子項目、制作報表、創(chuàng)建工作分析結構、計劃跟蹤等功能。項目管理軟件大致可以劃分兩個檔次:一種是高檔工具,功能強大,但是價格不菲;另外一種是通用的項目管理工具。用項目管理軟件制定項目計劃項目管理軟件簡介57MicrosoftProject工作流程定義項目的信息對項目進行WBS分解對上一步列好的所有子任務(不包括摘要任務)填寫每個子任務的估計工期設定任務的鏈接關系建立資源表給項目的各項任務分配資源對項目計劃的調整與優(yōu)化MicrosoftProject工作流程定義項目的信息58項目子任務表項目子任務表59項目資源表項目資源表60項目甘特圖項目甘特圖61第二章軟件項目管理基礎第二章軟件項目管理基礎62軟件項目的成功和失敗軟件項目的成功和失敗63軟件開發(fā)的困惑為什么我們不能開發(fā)出高質量的軟件?為什么人類無法定義它、解釋它,深刻地了解它?為什么一些天才的科學家窮其一生的精力也不能把這些迷惑歸納成一種科學工程學科或行業(yè)標準?軟件工程方法不堪一擊,人們無法使用它們。軟件開發(fā)的困惑為什么我們不能開發(fā)出高質量的軟件?64軟件項目失敗原因客戶需求不確定最終產(chǎn)品的設計和特色只有在過程中才能變得清晰,而不是開始時很難制定準確的計劃估計不夠,低估時間和成本來自營銷、客戶和管理者的壓力溝通失敗是項目失敗的最大的威脅軟件過程不可見軟件項目失敗原因客戶需求不確定65軟件開發(fā)的探索技術CASE,UMLOO過程控制ISO9001,ISO9000-3,ISO15504,ISO12207CMM,TickIT以上措施并沒有真正解決軟件危機“質量是制造出來的,不是檢驗出來”,在制造業(yè)適用,在軟件行業(yè)作用并不大(軟件過程不可見)項目失敗率還是很高軟件開發(fā)的探索技術66軟件項目失敗深層次原因對軟件的誤解是問題的根源。現(xiàn)有的方法是由那些有良好愿望但忘記了軟件中的“軟”的那些聰明人所創(chuàng)建的。他們假定開發(fā)軟件就象造橋。方法不正確。沒有人打算失敗,具有諷刺意味的是為使失敗最小化而創(chuàng)建的方法是失敗的。開發(fā)人員士氣不高,沒有創(chuàng)造性。管理人員、開發(fā)人員能力不夠。只重過程,不重人。沒有良好的溝通。軟件項目失敗深層次原因對軟件的誤解是問題的根源。67項目管理概述

軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。軟件項目管理的根本目的是為了讓軟件項目,尤其是大型項目的整個軟件生命周期(從分析、設計、編碼到測試、維護全過程)都能在管理者的控制之下,以預定成本,按期、按質的完成軟件,然后交付用戶使用。

項目管理概述軟件項目管理是為了使軟件項目能夠按照預定的成本68這種管理在技術工作開始之前就應開始,在軟件從概念到實現(xiàn)的過程中繼續(xù)進行,當軟件工程過程最后結束時才終止。這種管理在技術工作開始之前就應開始,在軟件從概念到實現(xiàn)的過程69項目管理分九個知識領域,分別是成本管理、質量管理、時間管理、范圍管理、人力資源管理、溝通管理、風險管理、采購管理和整體管理。其中時間,質量和成本管理構成了三角形項目管理分九個知識領域,分別是成本管理、質量管理、時間管理、70項目管理包括5種基本活動啟動:相關人員提出對項目的要求,項目開始。計劃:計劃涉及詳細規(guī)定出要取得的結果;產(chǎn)生這些結果所需要的活動和任務;決定時間表和估計所需的資源,例如人力和資金。

組織:組織規(guī)定了項目的組織和角色、責任的定義。在計劃活動中,角色被映射成確定的工作。

控制:控制確定正在進行的活動何時偏離了計劃。

收尾:終止是結束項目。

項目管理包括5種基本活動啟動:相關人員提出對項目的要求,項目71項目生命期和階段劃分項目生命期和階段劃分72項目可以分成幾個階段

項目概念:關于項目的想法開始出現(xiàn),通常伴隨著成本效益分析和技術可行性研究。項目定義:包括以下活動

問題定義:客戶和項目經(jīng)理按照功能,限制條件和交付產(chǎn)品

定義系統(tǒng)的規(guī)模??蛻艉晚椖拷?jīng)理也在協(xié)議標準和目標日期上達成一致。

初始的軟件項目管理計劃(SPMP):項目經(jīng)理提供對項目總的看法、項目結果的描述、工作分解結構、角色和責任、項目時間表、所需資源的預算和怎樣定義和處理風險的描述。

項目可以分成幾個階段項目概念:關于項目的想法開始出現(xiàn),通常73初始的軟件體系結構:它關注于軟件體系結構,特別是把系統(tǒng)分解成子系統(tǒng)。

項目協(xié)議定義:在項目協(xié)議文檔中,用戶和項目經(jīng)理對作為基線的系統(tǒng)規(guī)模和交付日期正式達成一致。

項目開始:項目經(jīng)理設置了項目的基礎設施,雇用參與者,把他們組成團隊,并總結項目。項目開始包括以下活動基礎設施設立:項目經(jīng)理必需為項目的基礎設施制定需求。這些需求描述了項目參與者之間的交流渠道,比如公告牌、網(wǎng)站和會議管理程序等。

初始的軟件體系結構:它關注于軟件體系結構,特別是把系統(tǒng)分解成74技能定義:項目經(jīng)理定義開發(fā)者的技能和興趣,并在技能矩陣中記錄它。

團隊集合:項目經(jīng)理分配團隊參與者,定義團隊功能且選擇團隊領導。項目經(jīng)理也為團隊成員定義所需的額外培訓和課程。最后,項目經(jīng)理為團隊分配工作包。

項目總結:項目經(jīng)理,團隊領導和客戶正式開始啟動項目。技能定義:項目經(jīng)理定義開發(fā)者的技能和興趣,并在技能矩陣中記錄75項目穩(wěn)定狀態(tài):團隊領導要負責跟蹤團隊狀態(tài)和在團隊會議上提出問題。包括以下活動

項目規(guī)模定義控制:團隊領導和項目經(jīng)理每周將項目狀況和SPMP中計劃的時間表進行比較。團隊領導負責收集狀況信息和向項目經(jīng)理報告情況。

風險管理:項目經(jīng)理和團隊領導定義、分析、設定風險的優(yōu)先級,并準備對意外事故的計劃。項目重計劃:當項目偏離了時間表或發(fā)生意外事故,項目經(jīng)理需要修改時間表,并且重新分配資源來。項目穩(wěn)定狀態(tài):團隊領導要負責跟蹤團隊狀態(tài)和在團隊會議上提出問76項目終止:提交項目結果并收集項目歷史。主要活動有

交付:由客戶驗收測試和系統(tǒng)安裝

2個子活動組成。客戶驗收測試:軟件系統(tǒng)由客戶按照項目協(xié)議中制定的驗收準則進行評價。安裝:系統(tǒng)被配置在目標環(huán)境中,并且交付文檔。安裝可能包括用戶培訓和實施階段。事后分析:項目經(jīng)理和團隊領導收集項目歷史資料以獲得經(jīng)驗。項目終止:提交項目結果并收集項目歷史。主要活動有77定義工作分解結構項目計劃的基本假設是項目結果不能在一個大型活動中被完成,我們必須用各個擊破的方法來把工作分解成更小的、更容易做的小塊。因此,在項目計劃中一個主要的任務是把整個工作包分解成更小的任務。這包括2件事:定義合適的任務和定義任務間的依賴關系。

定義工作分解結構項目計劃的基本假設是項目結果不能在一個大型活78任務和活動

任務是一項已經(jīng)定義得很好的工作,該工作可分配給一個項目參與者或分配給一個團隊。

任務是管理有關項目工作的最小的單元。任務包括對任務和持續(xù)時間的描述,還包括分配給所扮演角色的參與者。

任務和活動任務是一項已經(jīng)定義得很好的工作,該工作可分配給一79任務名

分配的角色

描述

任務輸入

任務輸出

數(shù)據(jù)庫子系統(tǒng)需求的引出

系統(tǒng)設計師

從子系統(tǒng)團隊引出關于所需存儲量的需求,定義永久對象

團隊聯(lián)絡

數(shù)據(jù)庫API,永久對象分析模型

數(shù)據(jù)庫子系統(tǒng)設計

子系統(tǒng)設計

設計數(shù)據(jù)庫子系統(tǒng),推薦商業(yè)產(chǎn)品

子系統(tǒng)API數(shù)據(jù)庫子系統(tǒng)設計

數(shù)據(jù)庫子系統(tǒng)實現(xiàn)

實現(xiàn)者

實現(xiàn)數(shù)據(jù)庫子系統(tǒng)

子系統(tǒng)實現(xiàn)

數(shù)據(jù)庫子系統(tǒng)編碼

數(shù)據(jù)庫子系統(tǒng)檢查

實現(xiàn)者

處理數(shù)據(jù)庫子系統(tǒng)的編碼檢查

子系統(tǒng)源代碼

發(fā)現(xiàn)的缺陷表

數(shù)據(jù)庫子系統(tǒng)測試計劃

測試者

為數(shù)據(jù)庫子系統(tǒng)建立測試套件

子系統(tǒng)源代碼

測試和測試計劃

數(shù)據(jù)庫子系統(tǒng)測試

測試者

對數(shù)據(jù)庫子系統(tǒng)執(zhí)行測試套件

子系統(tǒng)測試計劃

測試結果,缺陷表

任務名分配的角色描述任務輸入任務輸出數(shù)據(jù)庫子系統(tǒng)需80工作產(chǎn)品,工作包和角色

工作包描述了要生產(chǎn)的工作產(chǎn)品,要完成工作所需要的資源,所希望的持續(xù)時間,輸入之間的相互依賴,也詳細說明了驗收規(guī)則和相關的個體或組織的單元的名字。

工作包是重要的管理產(chǎn)物,我們把它們分配給參與者去做。在任務定義之后可以定義工作包。

任何交付給用戶的工作產(chǎn)品叫交付品,例如用戶手冊。工作產(chǎn)品,工作包和角色工作包描述了要生產(chǎn)的工作產(chǎn)品,要完成81工作分解結構

在一個項目中,全體任務的層次描述叫工作分解結構(WBS)。

工作分解結構是一個要做工作的非常簡單的模型。

工作分解結構在一個項目中,全體任務的層次描述叫工作分解結構82注意:工作分解結構不表示活動的順序。

注意:工作分解結構不表示活動的順序。83項目范圍階段工作單元任務項目范圍階段工作單元任務84簡單的ATM的功能工作分解結構的例子用例

工作分解結構

鑒別

1實現(xiàn)鑒別用例1.1開發(fā)用戶界面表(登陸,改變PIN)

1.2

實現(xiàn)服務器的鑒別協(xié)議開發(fā)內(nèi)部帳戶設立

1.3開發(fā)內(nèi)部帳戶設立

提款

2開發(fā)提款用例2.1開發(fā)用戶界面表(選擇帳戶,設定金額)2.2實現(xiàn)和服務器的通信2.3開發(fā)核對提款的商業(yè)邏輯2.4開發(fā)現(xiàn)金出口的界面存入支票

3開發(fā)存入支票用例3.1開發(fā)用戶界面表(聲明支票,插入支票)3.2實現(xiàn)和服務器的通信3.3開發(fā)記錄存入的商業(yè)邏輯3.4開發(fā)現(xiàn)標簽打印機的界面

簡單的ATM的功能工作分解結構的例子用例工作分解結構鑒別85進度安排軟件開發(fā)項目的進度安排有兩種方式:

(1)系統(tǒng)最終交付日期已經(jīng)確定,軟件開發(fā)部門必須在規(guī)定期限內(nèi)完成;

(2)系統(tǒng)最終交付日期只確定了大致的年限,最後交付日期由軟件開發(fā)部門確定。進度安排軟件開發(fā)項目的進度安排有兩種方式:

(1)系統(tǒng)最終交86進度安排的方法可以把用于一般開發(fā)項目的進度安排的技術和工具應用于軟件項目。為監(jiān)控軟件項目的進度計劃和工作的實際進展情況,為表現(xiàn)各項任務之間進度的相互依賴關系,需要采用圖示的方法。進度安排的方法可以把用于一般開發(fā)項目的進度安排的技術和工具應87甘特圖也叫做線條圖或橫道圖。它是以橫線來表示每項活動的起止時間。甘特圖的優(yōu)點是簡單、明了、直觀,易于編制,因此到目前為止仍然是小型項目中常用的工具。即使在大型工程項目中,它也是高級管理層了解全局、基層安排進度時有用的工具。在甘特圖上,可以看出各項活動的開始和終了時間。在繪制各項活動的起止時間時,也考慮它們的先后順序。但各項活動上間的關系卻沒有表示出來,同時也沒有指出影響項目壽命周期的關鍵所在。因此,對于復雜的項目來說,甘特圖就顯得不足以適應。甘特圖也叫做線條圖或橫道圖。它是以橫線來表示每項活動的起止時88甘特圖是做項目進度計劃方法的重要方法,其他方法有:關鍵日期表:這是最簡單的一種進度計劃表,它只列出一些關鍵活動和進行的日期。關鍵路線法計劃評審技術(ProgramEvaluationandReviewTechnique,簡稱PERT)。甘特圖是做項目進度計劃方法的重要方法,其他方法有:89Gantt圖能很形象地描繪任務分解情況,以及每個子任務(作業(yè))的開始時間和結束時間,因此是進度計劃和進度管理的有力工具。它具有直觀簡明和容易掌握、容易繪制的優(yōu)點。Gantt圖的3個主要缺點:(1)不能顯式地描繪各項作業(yè)彼此間的依賴關系;(2)進度計劃的關鍵部分不明確,難于判定哪些部分應當是主攻和主控的對象;(3)計劃中有潛力的部分及潛力的大小不明確,往往造成潛力的浪費。Gantt圖能很形象地描繪任務分解情況,以及每個子任務(作業(yè)90任務通過暫時的依賴關系聯(lián)系起來。例如建屋頂?shù)娜蝿詹荒茉诮▔θ蝿战Y束前開始。

任務及其依賴關系的集合叫任務模型或者網(wǎng)絡圖。

任務通過暫時的依賴關系聯(lián)系起來。例如建屋頂?shù)娜蝿詹荒茉诮▔θ?1軟件項目管理基礎課程課件92技能矩陣

技能矩陣是在項目中關于要完成任務的人的技能、知識和興趣的一張簡單表。技能矩陣的一行表示來自工作分解結構的工作單元——任務、活動和項目功能。一列表示項目參與者。矩陣中的一項為任務,定義了特定參與者的技能和知識層次。我們把3種項目區(qū)分開:主要技能、次要技能和興趣。主要技能使一個人能勝任領導一個工作單元。次要技能使一個人能參與任務。興趣表示在任務中一個人感興趣但不具備該技能。

技能矩陣技能矩陣是在項目中關于要完成任務的人的技能、知識和93軟件項目管理基礎課程課件942.2.6組織組織由組織單元及其交互組成。最小組織單元是一個參與者(也叫個人或成員)。一組參與者能組成部門、處或小組。

2.2.6組織組織由組織單元及其交互組成。95呈現(xiàn)組織結構

組織的表現(xiàn)及其信息結構通常叫組織圖。

呈現(xiàn)組織結構組織的表現(xiàn)及其信息結構通常叫組織圖。96軟件項目管理基礎課程課件97軟件項目管理計劃

軟件項目管理計劃(SPMP)中的文件在項目總結大會之前創(chuàng)建,并且當任務完成和步驟更新的時候被更新,這種更新將貫穿整個項目。SPMP的使用者包括管理者和開發(fā)者。SPMP有五部分。軟件項目管理計劃軟件項目管理計劃(SPMP)中的文件在項目981.

介紹1.1項目概況1.2項目交付品1.3文檔的演化1.4參考書1.5定義和縮寫表2.

項目組織2.1過程模型2.2組織結構2.3組織邊界和接口2.4項目責任3.

管理過程3.1管理目標和優(yōu)先級3.2假設,依賴和限制3.3風險管理3.4監(jiān)督和控制機制4.

技術過程4.1方法,工具和技術4.2軟件文檔4.3項目支持功能5.

工作元素,日程表和預算軟件項目管理計劃(SPMP)

1.

介紹3.

管理過程軟件項目管理計劃(SPMP)992.3項目管理活動

在項目定義期間,項目經(jīng)理的主要活動是定義組織結構和定義工作產(chǎn)品、任務、時間表和角色。團隊領導在項目定義階段的最后時刻參加項目,他們的主要工作是在穩(wěn)定狀態(tài)下監(jiān)督和管理團隊。

2.3項目管理活動在項目定義期間,項目經(jīng)理的主要活動是定1002.3.1計劃項目

定義問題、確定初始任務模型和組織結構、評估所需的資源,如人員和資金。這一階段要完成以下的工作:1.問題陳述:記述了當前情況、要支持的功能和系統(tǒng)要使用的環(huán)境,也要定義客戶希望的產(chǎn)品、交付日期和一套驗收標準,可能也指定了開發(fā)環(huán)境中的限制,例如要用的編程語言。問題陳述是由項目經(jīng)理和客戶經(jīng)過迭代活動開發(fā)的。

2.3.1計劃項目定義問題、確定初始任務模型和組織結構、評1012.頂層設計:頂層設計描述了系統(tǒng)的軟件體系結構,應由軟件結構師完成。軟件結構師定義主要的子系統(tǒng)及其服務,但還不定義子系統(tǒng)的界面。3.軟件項目管理計劃(SPMP):描述了項目的所有管理方面,特別是工作分解結構、日程表、組織、工作包和預算。為一個項目定義工作分解結構(WBS),有不同的方法。最常用的方法是基于軟件過程的功能分解。

2.頂層設計:頂層設計描述了系統(tǒng)的軟件體系結構,應由軟件結構1022.3.2組織項目

雇用參與者、確定技能、為參與者分配角色和責任并組織指導與項目總結有關的會議。

1.設立交流設施2.定義技能:軟件工程開發(fā)項目需要具有應用領域技能、交流技巧、技術能力、質量能力和管理能力。項目經(jīng)理要用技能矩陣,為每個任務按合適的技能關系定義人員。3.分配管理角色:分配團隊領導等管理角色。團隊領導要有交流的能力,要作為更高層管理者和開發(fā)者之間的聯(lián)絡者有上通下達以取得協(xié)調的能力;有時團隊領導必須具有命令開發(fā)者完成緊迫任務的決定權。

2.3.2組織項目雇用參與者、確定技能、為參與者分配角色和1034.分配技術角色:技術角色最好和管理角色分開。5.處理技能缺乏:當技能不足時,項目經(jīng)理應該做出培訓計劃安排。這包括專門培訓和工作中展開的培訓。6.選擇團隊規(guī)模三個成員。

四個成員。

五個或六個成員。這是規(guī)模理想的軟件開發(fā)團隊。

七個成員。

八個和更多成員。7.聚集團隊:項目經(jīng)理在團隊建立前選擇團隊領導。除了能了解團隊狀態(tài)之外,團隊領導需要有效地進行交流,識別潛在的危險(技術或社會的),考慮項目利益選擇折衷方案。

4.分配技術角色:技術角色最好和管理角色分開。1048.總結會議:項目經(jīng)理、團隊領導和客戶在所有開發(fā)者都參加的總結會議上,正式啟動項目。開總結會議的目的,是與所有項目參與者共享有關項目領域、交流設施、每個團隊責任的信息。

9.對項目范圍達成一致:各方將對項目范圍達成一致的結論,以文檔形式加以記錄,這個文檔正式定義了項目的范圍、期限、成本和交付。項目協(xié)議由合同、工作聲明、商業(yè)計劃或項目憲章的形式書寫。項目協(xié)議應該至少包括以下內(nèi)容:交付文檔清單;功能需求演示的標準;非功能性需求演示的標準,非功能性需求包括準確性、可靠性、響應時間和安全性等;驗收標準。

在項目總結完成和對項目范圍取得一致后,項目進入穩(wěn)定狀態(tài)。

8.總結會議:項目經(jīng)理、團隊領導和客戶在所有開發(fā)者都參加的總1052.3.3控制項目

項目監(jiān)督、風險管理和項目協(xié)議。

為了在項目穩(wěn)定階段

溫馨提示

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

評論

0/150

提交評論