![實用軟件工程第3章-軟件項目管理課件_第1頁](http://file4.renrendoc.com/view/4736c5cefce18fa2fd15897af051f833/4736c5cefce18fa2fd15897af051f8331.gif)
![實用軟件工程第3章-軟件項目管理課件_第2頁](http://file4.renrendoc.com/view/4736c5cefce18fa2fd15897af051f833/4736c5cefce18fa2fd15897af051f8332.gif)
![實用軟件工程第3章-軟件項目管理課件_第3頁](http://file4.renrendoc.com/view/4736c5cefce18fa2fd15897af051f833/4736c5cefce18fa2fd15897af051f8333.gif)
![實用軟件工程第3章-軟件項目管理課件_第4頁](http://file4.renrendoc.com/view/4736c5cefce18fa2fd15897af051f833/4736c5cefce18fa2fd15897af051f8334.gif)
![實用軟件工程第3章-軟件項目管理課件_第5頁](http://file4.renrendoc.com/view/4736c5cefce18fa2fd15897af051f833/4736c5cefce18fa2fd15897af051f8335.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、3.1 軟件項目管理概述 項目的定義 項目是在一定的資源約束下完成的既定目標(biāo)的一次性任務(wù)。 項目的選擇確定一個項目絕對不是一個突然的決定。使用單位首先應(yīng)該在平時自下而上收集建議,制定信息化建設(shè)規(guī)劃時自上而下征求意見,由信息化建設(shè)負(fù)責(zé)人和最高決策者根據(jù)使用單位的發(fā)展戰(zhàn)略、工作目標(biāo)制定信息化建設(shè)的發(fā)展規(guī)劃,然后在規(guī)劃的范圍內(nèi)根據(jù)資金情況和工作需要選擇確定要開發(fā)的項目。項目確定后,根據(jù)自身的技術(shù)力量決定自己開發(fā)或委托開發(fā)或購買現(xiàn)有的產(chǎn)品。 項目管理的定義 項目管理是通過項目經(jīng)理和項目組織機構(gòu)運用系統(tǒng)理論和方法對項目及其資源進行計劃、組織、協(xié)調(diào)、控制,旨在實現(xiàn)項目的特定目標(biāo)的管理方法體系。 項目管理中
2、的三要素 :目標(biāo)、成本、進度 目標(biāo)、成本、進度三者在項目管理過程中是互相制約的關(guān)系。進度成本目標(biāo)項目總結(jié) 在每個項目完成并交付使用的時候都要做一個總結(jié),以便后續(xù)項目能揚長避短。軟件項目總結(jié)作為項目管理中結(jié)束項目的最后階段,工作內(nèi)容包括:結(jié)束項目:評價、勸告或表彰團隊成員,移交項目所有文檔和財務(wù)記錄等??偨Y(jié)項目:對交付的產(chǎn)品、開發(fā)方法、過程和管理等方面的得失進行總結(jié),特別是要讓每個人都明白成功和失敗的原因。寫成書面總結(jié)報告,作為開發(fā)組織內(nèi)后續(xù)項目的借鑒。終止合同:讓用戶書面確認(rèn)已完成合同要求,如果還有遺留問題,則應(yīng)同時明確雙方后續(xù)的責(zé)任和工作。 軟件項目管理的職責(zé)制定計劃:規(guī)定要完成的任務(wù)、要求
3、、資源、人力、進度等;建立組織:實施計劃、保證任務(wù)的完成,需要建立分工明確的責(zé)任制機構(gòu);配備人員:任用各種層次的技術(shù)人員和管理人員;協(xié)調(diào)(追蹤、指導(dǎo)):時刻協(xié)調(diào)和跟蹤項目的進展情況,鼓勵和動員各種人員完成所分配的任務(wù);控制(檢驗):對照計劃和標(biāo)準(zhǔn),監(jiān)督和檢驗實施的情況。1. 軟件項目啟動在軟件項目啟動前應(yīng)對項目進行可行性分析,以明確項目的目標(biāo)和范圍,從而確定合理精確的成本分析、實際可行的任務(wù)分解和可管理的進度安排;考慮交付期限、預(yù)算、個人能力和技術(shù)界面等限制條件,在多個項目方案中選擇一個相對完善的方案;組成項目組。然后召開項目啟動會議,以示正式啟動項目,會議內(nèi)容包括項目組內(nèi)的初步交流,對項目目
4、標(biāo)深刻理解,對組織形式、管理方式和方針取得一致認(rèn)識,明確崗位職責(zé)等。3.2 軟件項目啟動與計劃 項目計劃是用來指導(dǎo)組織、實施、協(xié)調(diào)和控制軟件建設(shè) 的重要文件。項目計劃用途: 項目計劃可作為客戶與建設(shè)團隊間解決沖突的依據(jù)。 項目計劃可使項目成員有明確的分工及工作目標(biāo)。 項目計劃有助于項目成員之間的交流溝通。 項目計劃可作為對項目過程控制和工作考核的基準(zhǔn)。 項目計劃分類: 進度計劃 質(zhì)量保證計劃 費用計劃 風(fēng)險管理計劃 人力計劃 大項目分別制訂以上計劃,小項目可把以上內(nèi)容合并為一個計劃。 2.制定計劃項目計劃編制原則: 全過程計劃(總體計劃):應(yīng)保持大體上穩(wěn)定,并盡可能留有 一定余量和彈性, 階段
5、性計劃或子系統(tǒng)計劃:按近期精細(xì)、遠(yuǎn)期概略方法展開。制定計劃的基礎(chǔ)是工作量估算和完成期限估算。為了估算項目的工作量和完成期限,必須首先估算軟件的規(guī)模。估算軟件規(guī)模后才能進行工作量估算,而后安排進度計劃和資源分配。 (1)估算軟件規(guī)模 1) 代碼行(LOC)技術(shù) 用代碼行(LOC)數(shù)表示軟件開發(fā)規(guī)模十分自然、直觀。用代碼行數(shù)不僅能度量軟件的規(guī)模,而且可以度量軟件開發(fā)的生產(chǎn)率、每行代碼的平均成本、千行代碼出錯率等。 2) 功能點(FP)技術(shù) 功能點度量是涉及多種因素的間接度量方式。該方法用6個信息量的“加權(quán)和”CT和14個復(fù)雜性調(diào)節(jié)值Fi(i=114)。在系統(tǒng)分析初期就能估算出軟件開發(fā)的規(guī)模。 (2
6、)工作量估算 軟件的經(jīng)驗估算模型是根據(jù)以前完成項目的實際情況導(dǎo)出的,這些模型的結(jié)果僅有一定的參考價值。下面將介紹兩個常用的估算模型:CoCoMo模型和Putnam模型。 1) CoCoMo模型 CoCoMo模型是“構(gòu)造性成本模型”(Constructive cost model,簡稱CoCoMo模型)的英文縮寫,分為基本、中間、詳細(xì)三個層次,分別用于軟件開發(fā)的不同階段。 基本CoCoMo模型:用于系統(tǒng)開發(fā)初期,估算整個系統(tǒng)的工作量 包括軟件維護和軟件開發(fā)所需要的時間; 中間CoCoMo模型:用于估算各個子系統(tǒng)的工作量和開發(fā)時間; 詳細(xì)CoCoMo模型:用于估算獨立的軟部件,如子系統(tǒng)內(nèi)部的各 個
7、模塊。 基本CoCoMo模型是靜態(tài)、單變量模型,具有下列形式 E aLb D cEd C E 其中:L是項目的代碼行估計值,單位是千行代碼( KLOC ) 。 E 表示工作量,單位是人月(PM)。 D 表示開發(fā)時間,單位為月。 C 表示開發(fā)成本,單位是萬元。 表示每人月的人力成本,單位是萬元人月。 a,b,c,d是常數(shù)。不同軟件類型a,b,c,d 取值如下表所示:軟件類型abcd適用范圍組織型2.41.052.50.38各類應(yīng)用程序半獨立型3.01.122.50.35各類實用程序、編譯程序等嵌入型3.61.202.50.32實時處理、控制程序、操作系統(tǒng)2) Putnam模型 Putnam模型是
8、為大型軟件項目(一般30人年以上)進行估算的模型。它是動態(tài)多變量的模型,適用于軟件開發(fā)各個階段。估算模型以項目實測數(shù)據(jù)為基礎(chǔ),描述開發(fā)工作量、開發(fā)時間和軟件代碼行數(shù)之間的關(guān)系。相應(yīng)的方程為: L Ck E1/3 td4/3 (3-5) 由上面方程可得到如下公式: E L3( Ck3 td4 ) 3-6) C E (3-7) 其中,L表示源程序代碼行數(shù);E表示工作量,包括維護,單位是人年(PY);td表示開發(fā)時間,單位是年(Y);Ck 表示技術(shù)狀態(tài)常數(shù),它反映“妨礙程序員進展的限制”,技術(shù)狀態(tài)常數(shù)Ck的取值如表3-4;C表示項目開發(fā)總成本,單位是萬元;表示每人年的人力成本,單位是萬元人月。3)
9、自動估算工具 以上介紹的經(jīng)驗估算模型已有相應(yīng)的軟件作為為自動估算工具。項目管理可使用這些工具自動估算項目的成本和工作量,還可對人員配置和交付日期等進行估計。(3)進度計劃1)估算開發(fā)時間(工期) 項目建設(shè)工期估計和預(yù)算分?jǐn)偣烙嬁砂聪铝胁襟E進行: 將待開發(fā)系統(tǒng)按階段分割為若干基本活動如系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施、系統(tǒng)測試、系統(tǒng)切換等,基本活動可再次分割為若干子活動,如:系統(tǒng)規(guī)劃可分割為調(diào)研收集、數(shù)據(jù)可行性研究、系統(tǒng)規(guī)劃報告三項子活動。 分別估算各子活動的工期及費用預(yù)算(構(gòu)造項目建設(shè)工期估計和預(yù)算分?jǐn)偣烙嫳恚?構(gòu)造項目開發(fā)活動網(wǎng)絡(luò)圖通過該網(wǎng)絡(luò)圖計算得到項目的最早完成時間,即工期 。
10、2)進度安排軟件開發(fā)項目的進度安排有兩種方式:A.系統(tǒng)最終交付日期已經(jīng)確定,軟件開發(fā)部門必須在規(guī)定期限內(nèi)完成;B.系統(tǒng)最終交付日期只確定了大致的年限,最後交付日期由軟件開發(fā)部門確定。 劃分任務(wù) 把軟件項目劃分為若干可管理的活動,用軟件過程模型定義,為此,需對過程和產(chǎn)品進行分解。進度安排的基本工作內(nèi)容確定相互依賴性 確定各個活動和任務(wù)之間的相互依賴性。某些任務(wù)順序執(zhí)行、有些任務(wù)并行執(zhí)行。分配時間 為每個任務(wù)分配工作量,確定開始時間和結(jié)束時間。需考慮各任務(wù)間的相互關(guān)聯(lián)和人員參與情況。確認(rèn)工作量 確保項目劃分中各任務(wù)的參加人員的數(shù)量和工作量,進行合理分配。定義責(zé)任 指定各個任務(wù)的責(zé)任者。定義可交付物
11、 每個任務(wù)的輸出是一 個工作產(chǎn)品或工作產(chǎn)品的一部分,確定把哪些工作產(chǎn)品組合為可交付物。定義里程碑 為每個任務(wù)或每組任務(wù)指定一個項目里程碑??山桓段锝?jīng)過評審并確認(rèn)后才能成為里程碑。在軟件工程項目中必須處理好進度與質(zhì)量之間的關(guān)系。在進度壓力下趕任務(wù),其成果往往是以犧牲產(chǎn)品質(zhì)量為代價。 進度安排落空,會導(dǎo)致市場機會的喪失,使用戶不滿意,而且也會導(dǎo)致成本的增加。 因此,在考慮進度安排時,要把工作量與花費時間聯(lián)系起來,合理分配工作量, 利用進度安排的有效分析方法嚴(yán)密監(jiān)控軟件開發(fā)的進展情況,使軟件開發(fā)進度不致拖延。軟件開發(fā)小組人數(shù)與軟件生產(chǎn)率的關(guān)系 當(dāng)幾個人共同承擔(dān)軟件開發(fā)項目中的某一任務(wù)時,人與人之間必
12、須通過交流來解決各自承擔(dān)任務(wù)之間的接口問題,即所謂通信問題。通信需花費時間和代價,會引起軟件錯誤增加,降低軟件生產(chǎn)率。若兩個人間需要通信,則稱在這兩個人間存在一條通信路徑。如果一個軟件開發(fā)小組有 n 個人,每兩人之間都需要通信,則總的通信路徑有 n(n-1)/2 (條)。四人之間所有通信路徑六人之間所有通信路徑設(shè)一個人單獨開發(fā)軟件,生產(chǎn)率是5000行人年。若 4 個人組成一個小組共同開發(fā)這個軟件,則需要 6條通信路徑。若在每條通信路徑上耗費的工作量是 250 行人年。則小組中每個人的軟件生產(chǎn)率降低為 500062504 5000375 4625 行人年。從上述分析可知,一個軟件任務(wù)由一 個人單
13、獨開發(fā),生產(chǎn)率最高;而對于 一個稍大型的軟件項目,一個人單獨開發(fā),時間太長。因此軟件開發(fā)小組是必要的。但是,開發(fā)小組不宜太大,成員之間避免太多的通信路徑。在開發(fā)進程中,切忌中途加人,避免太多的生產(chǎn)率損失。任務(wù)的確定與并行性當(dāng)參加同一軟件工程項目的人數(shù)不止一人的時候,開發(fā)工作就會出現(xiàn)并行情形。軟件開發(fā)進程中設(shè)置許多里程碑。里程碑為管理人員提供了指示項目進度的可靠依據(jù)。軟件工程項目的并行性提出了一系列的進度要求。因為并行任務(wù)是同時發(fā)生的,所以進度計劃表必須決定任務(wù)之間的從屬關(guān)系,確定各個任務(wù)的先后次序和銜接,確定各個任務(wù)完成的持續(xù)時間。項目負(fù)責(zé)人應(yīng)注意構(gòu)成關(guān)鍵路徑的任務(wù),即若要保證整個項目能按進度
14、要求完成,就必須保證這些任務(wù)要按進度要求完成。制定開發(fā)進度計劃原則402040規(guī)則在整個軟件開發(fā)過程中,編碼工作量僅占 20,編碼前工作量占40,編碼后工作量占 40。 402040 規(guī)則只用來作為 一個指南。實際的工作量分配比例必須按照各項目的特點來決定。在軟件工程項目中必須處理好進度與質(zhì)量之間的關(guān)系。開發(fā)進度與工作量直接的關(guān)系,如果想要縮短開發(fā)時間或保證開發(fā)進度,必須考慮影響工作量的因素,但絕對不能以犧牲質(zhì)量為代價。 在估算總工期和進度安排時,項目經(jīng)理都必須將項目活動及各活動分解后的工作任務(wù)分別進行工期計劃,常用的工具有項目進度甘特圖(Gantt)和工作包進度表等。A.甘特圖(Gantt
15、Chart) 是幫助項目經(jīng)理對項目進度進行總體規(guī)劃的最常用工具。 在甘特圖中,每一任務(wù)完成的標(biāo)準(zhǔn),不是以能否繼續(xù)下一階段任務(wù)為標(biāo)準(zhǔn),而是以必須交付應(yīng)交付的文檔與通過評審為標(biāo)準(zhǔn)。因此在甘特圖中,文檔編制與評審是軟件開發(fā)進度的里程碑。3)進度控制的圖形工具甘特圖中可表示內(nèi)容各個任務(wù)的計劃開始時間,完成時間;各個任務(wù)完成標(biāo)志(即文檔編寫和評審);各個任務(wù)與參與工作的人數(shù),各個任務(wù)與工作量之間的銜接情況;完成各個任務(wù)所需的物理資源和數(shù)據(jù)資源。 項目進度甘特圖是幫助項目經(jīng)理對項目進度進行總體規(guī)劃的工具。如項目總開發(fā)時間為50周。該項目可劃分為六個大的活動,與其對應(yīng)的甘特圖如下:活 動負(fù)責(zé)人0 510 1
16、5 20 2530 35 40 4550系統(tǒng)規(guī)劃XXX系統(tǒng)分析XXX系統(tǒng)設(shè)計XXX系統(tǒng)實施XXX系統(tǒng)測試XXX系統(tǒng)切換XXX工作包進度表 項目進度表用于描述項目工作包的工期安排,為了確定這些工作包能在要求的時間內(nèi)完成。我們必須計算出每個項目進度計劃(時間表),這個時間表主要解決以下兩個內(nèi)容:最早開始時間和最早結(jié)束時間、最遲開始時間和最遲結(jié)束時間。B.PERT技術(shù)和CPM方法PERT技術(shù)叫做計劃評審技術(shù),CPM方法叫做關(guān)鍵路徑法,它們都是安排開發(fā)進度,制定軟件開發(fā)計劃的最常用的方法。它們都采用網(wǎng)絡(luò)圖來描述一個項目的任務(wù)網(wǎng)絡(luò),也就是從一個項目的開始到結(jié)束,把應(yīng)當(dāng)完成的任務(wù)用圖或表的形式表示出來。三
17、個模塊開發(fā)的網(wǎng)絡(luò)圖01286678889793456785BC組裝測試A測試A調(diào)試A編碼B編碼B測試C測試B調(diào)試C調(diào)試C理解C修改 PERT技術(shù)和CPM方法為項目計劃人員提供了一些定量的工具。 根據(jù)工程網(wǎng)絡(luò)圖可計算關(guān)鍵路徑和機動時間(總時差)確定關(guān)鍵路徑,即決定項目開發(fā)時間的任務(wù)鏈。在關(guān)鍵路徑上的各個任務(wù)都是時間余量為零的關(guān)鍵任務(wù),不能有任何時間延誤。應(yīng)用統(tǒng)計模型,對每一個單獨的任務(wù)確定最可能的開發(fā)持續(xù)時間的估算值。 計算機動時間,以便為具體的任務(wù)定義時間窗口。 開發(fā)組織采用什么形式,要針對軟件項目的特點來決定,同時也與參與人員的素質(zhì)有關(guān)。3.3 軟件項目人員組織與技能 組織原則 1.盡早落實
18、責(zé)任 在軟件項目工作開始時,要盡早指定專人負(fù)責(zé)。使他有權(quán)進行管理,并對任務(wù)的完成負(fù)全責(zé)。2. 減少接口 一個組織的生產(chǎn)率隨完成任務(wù)中存在的通信路徑數(shù)目增加而降低。要有合理的人員分工、好的組織結(jié)構(gòu)、有效的通信,減少不必要的生產(chǎn)率的損失。3.責(zé)、權(quán)均衡 軟件經(jīng)理人員所負(fù)的責(zé)任不應(yīng)比委任給他的權(quán)力還大。3.3.1 組織結(jié)構(gòu)的模式1.按項目劃分的模式 把軟件開發(fā)人員按項目組成小組,小組成員自始至終參加所承擔(dān)課題的各項任務(wù)。他們應(yīng)負(fù)責(zé)完成軟件產(chǎn)品的定義、設(shè)計、實現(xiàn)、測試、復(fù)查、文檔編制、甚至包括維護在內(nèi)的全過程。 這種形式可以有效保證項目的順利進行,但人均生產(chǎn)效率不高。 2.按職能劃分的模式 把參加開發(fā)
19、項目的軟件人員按任務(wù)的工作階段劃分成若干個專業(yè)小組。要開發(fā)的軟件產(chǎn)品在每個專業(yè)小組完成階段加工 (即工序) 以后,沿工序流水線向下傳遞。 例如,分別建立計劃組、需求分析組、設(shè)計組、實現(xiàn)組、系統(tǒng)測試組、質(zhì)量保證組、維護組等。各種文檔資料按工序在各組之間傳遞。 這種形式與按項目劃分的形式的優(yōu)缺點剛好相反。3.矩陣形模式 這種模式實際上是以上兩種模式的復(fù)合。 一方面,按工作性質(zhì),成立一些專門組,如開發(fā)組、業(yè)務(wù)組、測試組等; 另一方面,每一個項目又有它的經(jīng)理人員負(fù)責(zé)管理。每個軟件人員屬于某一個 專門組,又參加某一項目的工作。 現(xiàn)在,開發(fā)組織一般采用此組織形式。 開發(fā)業(yè)務(wù)出版測試維護總經(jīng)理產(chǎn)品經(jīng)理1產(chǎn)品
20、經(jīng)理2產(chǎn)品經(jīng)理3子項目12子項目22子項目32子項目13子項目14子項目15子項目33子項目11子項目21子項目31 小組內(nèi)部人員的組織形式對生產(chǎn)率也有影響?,F(xiàn)有的組織形式有三種。1.民主制程序員組 在民主制小組中,遇到問題,組內(nèi)成員之間可以平等地交換意見。工作目標(biāo)的制定及做出決定都由全體成員參加。雖然也有一位成員當(dāng)組長,但工作的討論、成果的檢驗都公開進行。這種組織形式強調(diào)發(fā)揮小組每個成員的積極性。 有人認(rèn)為這種組織形式適合于研制時間長、開發(fā)難度大的項目。3.3.3 程序設(shè)計小組的組織形式 2.主程序員組 小組的核心由一位主程序員 (高級工程師)、二至五位技術(shù)員、一位后援工程師組成。主程序員負(fù)
21、責(zé)小組全部技術(shù)活動的計劃、協(xié)調(diào)與審查,設(shè)計和實現(xiàn)項目中的關(guān)鍵部分。 技術(shù)員負(fù)責(zé)項目的具體分析與開發(fā),文檔資料的編寫工作。 后援工程師支持主程序員的工作,為主程序員提供咨詢,也做部分分析、設(shè)計和實現(xiàn)的工作。并在必要時能代替主程序員工作。 主程序員制小組還可以由一些專家(如通信專家或數(shù)據(jù)庫設(shè)計專家)、輔助人員(如打字員和秘書)、軟件資料員協(xié)助工作。3.現(xiàn)代程序員(層次式)小組 在層次式小組中,組內(nèi)人員分為三級: 組長(項目負(fù)責(zé)人)負(fù)責(zé)全組工作,包括任務(wù)分配、技術(shù)評審和走查、掌握工作量和參加技術(shù)活動。組長直接領(lǐng)導(dǎo)二至三名高級程序員, 每位高級程序員通過基層小組,管理若干位程序員。主程序員 后援 若干
22、 資料員程序員 程序員主程序員制小組民主制小組項目負(fù)責(zé)人高級程序員初級程序員層次式小組3.3.4 人員配備 如何合理地配備人員,也是成功地完成軟件項目的切實保證。所謂合理地配備人員應(yīng)包括: 按不同階段適時任用人員 恰當(dāng)掌握用人標(biāo)準(zhǔn)。1.項目開發(fā)各階段所需人員一個軟件項目完成的快慢,取決于參與開發(fā)人員的多少。實際人力需求與開發(fā)進度的關(guān)系如下圖中的曲線所示。人力時間浪費掉的工作量需要而缺少的工作量因人力配備不當(dāng),要求增加的額外工作量無用工作量 按此曲線,需要的人力隨開發(fā)進展逐漸增加,在編碼與單元測試階段達(dá)到高峰,以后又逐漸減少。如果恒定地配備人力,在開發(fā)初期將會有部分人力資源用不上而浪費掉。在開發(fā)
23、中期,需要人力不夠,造成進度的延誤。在開發(fā)后期就需要增加人力以趕進度。恒定地配備人力將浪費人力資源。2. 配備人員的原則重質(zhì)量 軟件項目是技術(shù)性很強的工作,要任用少量有實踐經(jīng)驗、有能力的人員去完成關(guān)鍵性的任務(wù)。重培訓(xùn) 培養(yǎng)所需技術(shù)人員和管理人員是有效解決人員問題的好方法。雙階梯提升 人員提升應(yīng)分別按技術(shù)職務(wù)和管理職務(wù)進行,不能混在一起。軟件人員的素質(zhì)要求:軟件項目中人的因素越來越受重視。在評價和任用軟件人員時,必須掌握一定的標(biāo)準(zhǔn)。人員素質(zhì)的優(yōu)劣常常影響到項目的成敗。 牢固掌握計算機軟件的基本知識和技能。 善于分析和綜合問題,具有嚴(yán)密的邏輯思維能力。 工作踏實、細(xì)致, 不靠碰運氣,遵循標(biāo)準(zhǔn)和規(guī)范
24、,具有嚴(yán)格的科學(xué)作風(fēng)。 工作中表現(xiàn)出有耐心、有毅力、有責(zé)任心。 善于聽取別人的意見,善于與周圍人員團結(jié)協(xié)作,建立良好的人際關(guān)系。 具有良好的書面和口頭表達(dá)能力。3. 對項目經(jīng)理人員的要求 軟件經(jīng)理人員是工作的組織者,他的管理能力的強弱是項目成敗的關(guān)鍵。他應(yīng)具有以下能力: 把用戶提出的非技術(shù)性要求加以整理提煉, 以技術(shù)說明書的形式轉(zhuǎn)告給分析員和測試員。 能說服用戶放棄一些不切實際的要求, 以保證合理的要求得以滿足。 能夠把表面上似乎無關(guān)的要求集中在一起, 歸結(jié)為 “需要什么”, “要解決什么問題”。這是一種綜合問題的能力。 要懂得心理學(xué), 能說服上級領(lǐng)導(dǎo)和用戶,讓他們理解什么是不合理的要求。但又
25、要使他們毫不勉強, 樂于接受,并受到啟發(fā)。3.4 軟件項目實施與控制3.4.1 軟件項目風(fēng)險管理 每當(dāng)新建一個程序時,總是存在某些不確定性。 用戶要求是否能確切地被理解? 在項目最后結(jié)束之前要求實現(xiàn)的功能能否建立? 是否存在目前仍未發(fā)現(xiàn)的技術(shù)難題? 在項目出現(xiàn)嚴(yán)重誤期時是否會發(fā)生一些變更?等等。 風(fēng)險就是指項目開發(fā)過程中在人員、經(jīng)費、進度及需求等方面存在的可能影響項目按計劃完成的不確定因素。 風(fēng)險分項目風(fēng)險、技術(shù)風(fēng)險和商業(yè)風(fēng)險。項目風(fēng)險是指 潛在的預(yù)算、進度、人員和組織、資源、用戶、需求方面的問題,以及它們對軟件項目的影響。 項目的復(fù)雜性、規(guī)模、結(jié)構(gòu)的不確定性。技術(shù)風(fēng)險是指 潛在的設(shè)計、實現(xiàn)、
26、接口、檢驗和維護方面的問題。 規(guī)約的二義性、技術(shù)陳舊或太先進。商業(yè)風(fēng)險有五種 建立的軟件雖然很優(yōu)秀但不是市場真正所想要的; 建立的軟件不符合公司整個產(chǎn)品戰(zhàn)略; 建立的軟件銷售部門不清楚如何推銷; 由于重點轉(zhuǎn)移或人員變動而失去上級管理部門的支持; 沒有得到預(yù)算或人員的保證。風(fēng)險管理風(fēng)險管理的主要活動有風(fēng)險識別、風(fēng)險估算、風(fēng)險評價和風(fēng)險駕馭與監(jiān)控。 1.風(fēng)險識別 識別風(fēng)險是了解項目可能會有那些不滿足要求的結(jié)果的過程。 可通過檢查表、流程圖或訪談等方式來識別風(fēng)險。識別風(fēng)險來源有助于了解項目之中可能的風(fēng)險事件和風(fēng)險癥狀。風(fēng)險識別檢查表建立在以往項目遇到的風(fēng)險基礎(chǔ)上,成為風(fēng)險識別的模板。風(fēng)險識別檢查表過
27、程風(fēng)險 計劃不充分,資源配置有誤,過程管理馬虎,階段評審缺乏。范圍風(fēng)險 工作包和范圍欠妥,質(zhì)量要求定義不完全,范圍控制不當(dāng)。進度風(fēng)險 估算時間和資源可用性有誤,浮動時間分配與管理較差,與之競爭的產(chǎn)品較早上市。質(zhì)量風(fēng)險 錯誤的質(zhì)量觀,設(shè)計/實現(xiàn)不符合要求,質(zhì)量保證做得不夠。成本風(fēng)險 估算錯誤,生產(chǎn)率、成本、變更或應(yīng)急控制不充分,維護、安全、采購等做得很差。人力資源風(fēng)險 沖突管理很差,項目組織和責(zé)任定義拙劣,領(lǐng)導(dǎo)不力。溝通風(fēng)險 計劃編制與溝通粗糙,缺乏與重要項目干系人聯(lián)系。采購風(fēng)險 合同條款沒能實現(xiàn),出現(xiàn)對抗。 魚骨圖(因果圖)問題:用戶不能進入系統(tǒng)培訓(xùn)用戶總忘記密碼用戶未檢查 以保存密碼用戶未重
28、新 設(shè)置密碼系統(tǒng)硬件處理速度太慢用戶的硬件沒有足夠大的內(nèi)存空間沒有足夠硬盤空間軟件2.風(fēng)險估算風(fēng)險估算的活動 建立一個尺度,反映風(fēng)險發(fā)生概率 描述風(fēng)險的后果 估算風(fēng)險對項目和產(chǎn)品的影響 標(biāo)注風(fēng)險估算的精確度風(fēng)險表 列出所有風(fēng)險、風(fēng)險分類、每個風(fēng)險發(fā)生的概率、產(chǎn)生影響的類別。風(fēng)險表樣本影響分類1 災(zāi)難的2 嚴(yán)重的3 輕微的4 可忽略3、風(fēng)險評價建立一系列三元組 ri, li, xi 其中,ri 表示風(fēng)險,li 表示風(fēng)險發(fā)生的概率,xi 表示風(fēng)險產(chǎn)生的影響。定義風(fēng)險參照水平值,超過它將導(dǎo)致項目被迫終止。風(fēng)險的組合會引起項目的種種問題,為此對于風(fēng)險組合建立風(fēng)險參照水平曲線,在曲線上定義參照點,在參照
29、點上決定是繼續(xù)進行或終止項目。風(fēng)險參照水平曲線4.風(fēng)險駕馭與監(jiān)控與每一風(fēng)險相關(guān)的三元組(風(fēng)險描述,風(fēng)險可能性,風(fēng)險影響)是建立風(fēng)險駕馭(風(fēng)險消除)步驟的基礎(chǔ)。例如,假如人員的頻繁流動是一項風(fēng)險ri,基于過去的歷史和管理經(jīng)驗,頻繁流動可能性的估算值 li 為0.70,影響 xi 的估計值是:項目開發(fā)時間增加15,總成本增加12。給出了這些數(shù)據(jù)之后,建議可使用以下風(fēng)險駕馭步驟:與現(xiàn)有的人員協(xié)商,確定人員流動的原因(如,工作條件差,收入低,人才市場競爭等);在項目開始前,把緩解這些原因的工作列入駕馭計劃中;當(dāng)項目啟動時,做好人員流動會出現(xiàn)的準(zhǔn)備。采取一些辦法以確保人員一旦離開時項目仍能繼續(xù); 建立項
30、目組,以使大家都了解有關(guān)開發(fā)活動的信息; 制定文檔標(biāo)準(zhǔn),并建立一種機制以保證文檔能夠及時產(chǎn)生; 對所有工作組織細(xì)致的評審(以使更多的人能夠按計劃進度完成自己的工作); 對每一個關(guān)鍵性的技術(shù)人員,要培養(yǎng)后備人員。3.4.2 軟件項目進度管理(追蹤和控制活動)一旦建立了開發(fā)進度安排,就可以開始著手追蹤和控制活動。由項目管理人員負(fù)責(zé)追蹤在進度安排中標(biāo)明的每一個任務(wù)。如果任務(wù)實際完成日期滯后于進度安排,則管理人員可以使用一種自動的項目進度安排工具來確定在項目的中間里程碑上進度誤期所造成的影響??蓪Y源重新定向?qū)θ蝿?wù)重新安排(做為最壞的結(jié)果)可以修改交付日期以調(diào)整已經(jīng)暴露的問題。用這種方式可以較好地控制
31、軟件的開發(fā)。 軟件項目管理一項重要工作就是在項目實施過程中進行追蹤和控制: 定期舉行項目狀態(tài)會議。由每位項目成員報告其進展和遇到的問題。 評價在軟件工程過程中所產(chǎn)生的所有評審的結(jié)果。 確定由項目的計劃進度所安排的可能選擇的正式的里程碑。1.追蹤和控制 比較在項目資源表中所列出的每一個項目任務(wù)的實際開始時間和計劃開始時間。 非正式地與開發(fā)人員交談,以得到他們對開發(fā)進展和剛冒頭的問題的客觀評價。 當(dāng)問題出現(xiàn)的時候,項目管理人員必須實行控制以盡快地排解問題。2.項目計劃實施進行工作劃分是實施計劃首先應(yīng)解決的問題。常用的計劃結(jié)構(gòu)有: 階段項目計劃、月計劃、周計劃 按軟件生存期,把開發(fā)工作劃分為若干階段
32、,對每一階段工作做出計劃。 再把每一階段工作分解為若干任務(wù),做出任務(wù)計劃。 還要把任務(wù)細(xì)分為若干步驟,做出步驟計劃。任務(wù)分解結(jié)構(gòu) 按項目的實際情況進行自頂向下的結(jié)構(gòu)化分解,形成樹形任務(wù)結(jié)構(gòu)。進一步把工作內(nèi)容、所需工作量、預(yù)計完成的期限也規(guī)定下來。任務(wù)責(zé)任矩陣 在任務(wù)分解的基礎(chǔ)上,把工作分配給相關(guān)的人員,用一個矩陣形表格表示任務(wù)的分工和責(zé)任。任務(wù)分解結(jié)構(gòu)1.2.21.2.1XX信息系統(tǒng)收集信息加工信息打印報表統(tǒng)計計算1.11.21.31任務(wù)責(zé)任矩陣3.4.3 軟件項目質(zhì)量管理 質(zhì)量度量貫穿于軟件工程的全過程中以及軟件交付用戶使用之后。在軟件交付之前得到的度量可作為判斷設(shè)計和測試質(zhì)量好壞的依據(jù)。這
33、一類度量包括程序復(fù)雜性、有效的模塊性和總的程序規(guī)模。在軟件交付之后的度量則把注意力集中于還未發(fā)現(xiàn)的差錯數(shù)和系統(tǒng)的可維護性方面。在第2章中講述了事前質(zhì)量度量,這里主要討論事后質(zhì)量度量。使用得最廣泛軟件質(zhì)量的事后度量包括正確性、可維護性、完整性和可使用性。正確性:一個程序必須正確地運行,并為它的用戶提供某些輸出。正確性要求軟件執(zhí)行所要求的功能。正確性的度量是每千代碼行(KLOC)的差錯數(shù),其中將差錯定義為已被證實是不符合需求的缺陷??删S護性:軟件維護比其它的軟件工程活動需要更多的工作量。還沒有一種方法可以直接度量可維護性,必須采取間接度量。 一種簡單的面向時間的度量: 平均變更等待時間MTTC。這
34、個時間包括分析變更要求、設(shè)計適當(dāng)修改、實現(xiàn)變更并測試、把變更發(fā)送給所有用戶。 一個可維護的程序與不可維護的程序相比,應(yīng)有較低的MTTC。 完整性:完整性度量一個系統(tǒng)抗拒對它的安全性攻擊(事故的和人為的)的能力。軟件的所有三個成分程序、數(shù)據(jù)和文檔都會遭到攻擊。 度量完整性,需要定義兩個附加的屬性:危險性和安全性。 危險性是特定類型的攻擊將在一給定時間內(nèi)發(fā)生的概率, 安全性是排除特定類型攻擊的概率。 一個系統(tǒng)的完整性可定義為 完整性(1危險性(1安全性) 其中,對每一個攻擊的危險性和安全性都進行累加。可使用性:如果一個程序不具有“用戶友好性”,即使它所執(zhí)行的功能很有價值,也常常會失敗。 可使用性量
35、化“用戶友好性”,并依據(jù)以下四個特征進行度量:為學(xué)習(xí)系統(tǒng)所需要的體力上的和智力上的技能;為達(dá)到適度有效使用系統(tǒng)所需要的時間;當(dāng)軟件被某些人適度有效地使用時所度量的在生產(chǎn)率方面的凈增值;用戶角度對系統(tǒng)的主觀評價 (可以通過問題調(diào)查表得到)。按照ISO 9000-3的說明,軟件配置項(SCI)可以是: 與合同、過程、計劃和產(chǎn)品有關(guān)的文檔和數(shù)據(jù);源代碼、目標(biāo)代碼和可執(zhí)行代碼; 相關(guān)產(chǎn)品,包括軟件工具、庫內(nèi)的可復(fù)用軟件、外購軟件及用戶提供的軟件。隨著軟件工程過程的進展,軟件配置項數(shù)目快速增加。3.5 軟件配置管理 基線 (Baseline)基線是軟件生存期中各開發(fā)階段末尾的特定點,又稱里程碑。由正式的
36、技術(shù)評審而得到的SCI協(xié)議和軟件配置的正式文本才能成為基線?;€的作用是把各階段工作的劃分更加明確化,以便于檢驗和肯定階段成果。有關(guān)概念:軟件開發(fā)各階段的基線系統(tǒng)工程系統(tǒng)規(guī)格說明操作系統(tǒng)測試計劃數(shù)據(jù)源代碼設(shè)計規(guī)格說明軟件需求規(guī)格說明需求分析軟件設(shè)計程序編碼軟件測試項目數(shù)據(jù)庫一旦一個SCI成為基線,就把它存放到項目數(shù)據(jù)庫中。當(dāng)軟件組織成員想要對基線SCI進行修改時,把它從項目數(shù)據(jù)庫中復(fù)制到該工程師的專用工作區(qū)中。例如,把一個名為B的SCI從項目數(shù)據(jù)庫復(fù)制到工程師的專用工作區(qū)中。工程師在B(B的副本)上完成要求的變更,再用B來更新B。BBCA項目數(shù)據(jù)庫記事文件專用工作空間有些系統(tǒng)中把這個基線SCI
37、鎖定。在變更完成、評審和批準(zhǔn)之前,不許對它做任何操作。配置管理 軟件配置管理,簡稱SCM,是一種 “保護傘”活動,它用于整個軟件工程過程。其任務(wù)是標(biāo)識和確定系統(tǒng)中的配置項,在系統(tǒng)整個生命期內(nèi)控制這些配置項的發(fā)布和變更,記錄并報告配置的狀態(tài)和變更要求,驗證配置項的完整性和正確性。 SCM活動的目標(biāo)是為了 (1) 標(biāo)識變更; (2) 控制變更; (3) 確保變更正確地實現(xiàn); (4) 向其他有關(guān)的人報告變更。 這些問題歸結(jié)到軟件配置管理的5個任務(wù),即配置標(biāo)識、版本管理、變更控制、配置審核和配置報告。1、配置標(biāo)識一方面隨著軟件生存期的向前推進,SCI的數(shù)量不斷增多。整個軟件生存期的軟件配置就象一部不斷演變的電影,而某一時刻的配置就是這部電影的一個片段。為了方便對軟件配置的各個片段(SCI)進行控制和管理,不致造成混亂,首先應(yīng)給它們命名。2、版本控制版本控制是SCM的基礎(chǔ),它管理并保護開發(fā)者的軟件資源。版本控制管理在軟件工程過程中建立起配置對象的不同版本。版本管理可以把一些屬性結(jié)合到各個軟件版本上。通過描述所希望的屬性集合來確定(或構(gòu)造)所想要的配置。使用演變圖來表示系統(tǒng)的不同版本。版本1.0版本1.1版本1.2版本2.0版本2.1版本1
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇科版數(shù)學(xué)八年級上冊5.1《物體位置的確定》聽評課記錄
- 八年級道德與法治下冊第三單元人民當(dāng)家作主第五課我國基本制度第3框基本政治制度(第1課時中國共產(chǎn)黨領(lǐng)導(dǎo)的多黨合作和政治協(xié)商制度)聽課評課記錄(新人教版)
- 人教版九年級數(shù)學(xué)上冊第二十五章概率初步《25.3用頻率估計概率》聽評課記錄
- 八年級思想讀本《6.2軍強才能國安》聽課評課記錄
- 小學(xué)二年級上乘法口算天天練
- 五年級下冊數(shù)學(xué)聽評課記錄《折紙》北師大版
- 孵化樓租賃合同范本
- 二零二五年度酒店設(shè)施租賃及使用權(quán)購買合同
- 外架工班組勞務(wù)分包協(xié)議書范本
- 工程項目全過程管理協(xié)議書范本
- 一級建造師繼續(xù)教育最全題庫及答案(新)
- 2022年高考湖南卷生物試題(含答案解析)
- GB/T 20909-2007鋼門窗
- GB/T 17854-1999埋弧焊用不銹鋼焊絲和焊劑
- GB/T 15593-2020輸血(液)器具用聚氯乙烯塑料
- 直線加速器專項施工方案
- 聯(lián)苯二氯芐生產(chǎn)工藝及產(chǎn)排污分析
- 儲能設(shè)備項目采購供應(yīng)質(zhì)量管理方案
- 2022年全國卷高考語文答題卡格式
- 復(fù)旦大學(xué)簡介 (課堂PPT)
- CKD馬達(dá)使用說明
評論
0/150
提交評論