版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
會計學(xué)1第2章軟件項目管理22.1軟件項目管理的概念
?
項目:以一套獨特而相互聯(lián)系的任務(wù)為前提,有效的利用資源,為實現(xiàn)一個特定目標(biāo)所作的工作。項目的成功受以下幾個因素的制約:技術(shù)范圍、成本、進(jìn)度、用戶滿意度、人員等。
?
項目管理的職責(zé):確保項目目標(biāo)的實現(xiàn),即在預(yù)算內(nèi)按時完成質(zhì)量合格的產(chǎn)品。
?
軟件項目管理:是對傳統(tǒng)項目管理進(jìn)行軟件工程化的一種擴(kuò)展與拓延,是它在軟件工程的任何技術(shù)活動之前開始,并持續(xù)貫穿于整個軟件定義、開發(fā)和支持階段的庇護(hù)性活動,是決定一個產(chǎn)品或項目能否成功最重要的指標(biāo)之一。
第1頁/共78頁34個P(People、Product、Process、Project)對軟件項目管理有實質(zhì)性的影響:
人員必須被組織成有效的開發(fā)團(tuán)隊。
產(chǎn)品需求被劃分成較小的組成部分,便于分配給軟件開發(fā)小組。開發(fā)過程應(yīng)根據(jù)人員和產(chǎn)品選擇合適的開發(fā)模型。
項目必須被組織成便于控制和管理的方式,使有計劃的進(jìn)行。第2頁/共78頁4◆
人員:人員是一個成功軟件項目中最重要的因素。可分為5類:⑴高級管理者:負(fù)責(zé)定義業(yè)務(wù)問題,影響著項目。⑵技術(shù)管理者:組織、激勵和控制開發(fā)人員。⑶開發(fā)人員:負(fù)責(zé)開發(fā)一個產(chǎn)品或應(yīng)用所需的技術(shù)。⑷客戶(customer):負(fù)責(zé)說明待開發(fā)的軟件需求。⑸最終用戶(user):直接使用發(fā)布的軟件。第3頁/共78頁5
每一個軟件項目都有上述的人員參與。必須被組織成有效的小組,最大限度的發(fā)輝每個人的技術(shù)和能力,激勵他們進(jìn)行高質(zhì)量的工作,并協(xié)調(diào)他們實現(xiàn)有效的通信。Constantine提出4個“組織范型”:(1)封閉式范型:傳統(tǒng)的控制層次,垂直通信,難以創(chuàng)新。(2)隨機(jī)式范型:小組管理較松散,依賴于成員個人的主動性。不適合“有次序地完成”。(3)開放式范型:具有封閉式范型的控制性,又包含隨機(jī)式范型的創(chuàng)新性。適合于解決復(fù)雜問題??赡懿幌衿渌愋托〗M那么有效率。(4)同步式范型:依賴于問題的自然劃分,小組成員各自解決問題的獨立部分。主動通信差。建立一個有凝聚力的小組,要有團(tuán)隊精神。第4頁/共78頁6
◆
產(chǎn)品:進(jìn)行項目計劃之前,應(yīng)該首先定義產(chǎn)品的目的和范圍,考慮可選的解決方案,標(biāo)識技術(shù)和管理的約束。無這些信息,就不可能進(jìn)行合理的、準(zhǔn)確的成本估算、有效的風(fēng)險評估、適當(dāng)?shù)捻椖咳蝿?wù)劃分、可管理的項目進(jìn)度安排。
“目的”指從用戶的角度標(biāo)識出該產(chǎn)品的總體目標(biāo)而不考慮這些目標(biāo)如何實現(xiàn)。
“范圍”指標(biāo)識出與產(chǎn)品相關(guān)的主要數(shù)據(jù)、功能和行為。確定了目的和范圍,就可以根據(jù)產(chǎn)品交付的期限、預(yù)算的限制、可用的人員、技術(shù)接口及各種其他因素,選擇最好的解決方案途徑。
第5頁/共78頁7◆過程
根據(jù)以下條件選擇一個合適的軟件過程模型:⑴開發(fā)人員及需要該產(chǎn)品的用戶⑵產(chǎn)品本身的特征⑶項目組的工作環(huán)境采用如下的框架活動集合:客戶交流、計劃、風(fēng)險分析、工程實施、構(gòu)造及發(fā)布、用戶評估。這些活動可被修改以適應(yīng)不同軟件項目的特征和項目組的需求。每個活動可被分解為更詳細(xì)的工作任務(wù)。如客戶交流活動可能需要下列任務(wù):第6頁/共78頁8
⑴列出需要澄清問題的清單⑵安排與用戶進(jìn)行討論的會議⑶評審用戶要求及范圍的陳述⑷研究推薦的解決方案⑸為正式的會議準(zhǔn)備工作文檔⑹共同制訂能反映軟件的數(shù)據(jù)、功能和行為特征的規(guī)約,形成軟件范圍的文檔⑺評審文檔⑻根據(jù)需求修改文檔
……庇護(hù)性活動貫穿于整個過程。第7頁/共78頁9
◆項目有計劃的控制軟件項目,Boehm提出了一種方法,強調(diào)項目目標(biāo)、里程碑、進(jìn)度、責(zé)任、管理和技術(shù)方法以及需要的資源,稱之為W5H2原則。通過下面一系列的提問和回答,可以導(dǎo)出項目的關(guān)鍵特征并產(chǎn)生項目計劃的大綱:⑴為什么(Why)該系統(tǒng)被開發(fā)?值得嗎?⑵將做什么(What)?什么時候(When)做?建立項目進(jìn)度,標(biāo)識關(guān)鍵的項目任務(wù)和里程碑。⑶某功能由誰(Who)負(fù)責(zé)?開發(fā)人員的角色和責(zé)任。⑷哪里需要(Where)?客戶、用戶和其他投資者也有責(zé)任。⑸工作將如何(How)進(jìn)行?定義項目的管理和技術(shù)策略。⑹資源需要多少(Howmuch)?
第8頁/共78頁10
軟件項目管理中的主要元素及之間的關(guān)系
開發(fā)人員、小組、角色、任務(wù)、工作產(chǎn)品、進(jìn)度表(UML類圖)之間的關(guān)系第9頁/共78頁11
軟件項目管理的主要內(nèi)容:
?定義問題(確定新系統(tǒng)的作用域-目標(biāo))
?確認(rèn)項目的可行性
?建立項目的進(jìn)度計劃
?建立項目的質(zhì)量保證體系
?建立項目配置管理體系和準(zhǔn)則
?項目版本變更管理
?
跟蹤、監(jiān)控項目的進(jìn)展
?風(fēng)險管理
?團(tuán)隊建設(shè)(人員管理,包括績效評估等)
第10頁/共78頁122.2可行性研究
1、可行性研究的任務(wù)和目的GB8566-88《計算機(jī)軟件開發(fā)規(guī)范》中指出:
可行性研究的主要任務(wù)是了解客戶的要求及現(xiàn)實環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會因素等方面研究并論證本軟件項目的可行性,編寫可行性研究報告供項目管理人員評審,以便作出是否開發(fā)軟件項目的決策。第11頁/共78頁13◆技術(shù)可行性
度量一個系統(tǒng)解決方案的實用性及技術(shù)資源的可用性。考慮的問題:(1)開發(fā)風(fēng)險分析(2)資源分析(3)相關(guān)技術(shù)的發(fā)展(現(xiàn)有技術(shù)能否實現(xiàn)新系統(tǒng)、技術(shù)難點、建議采用技術(shù)的先進(jìn)性)第12頁/共78頁14◆經(jīng)濟(jì)可行性
主要內(nèi)容:成本/效益分析不可能得到精確的分析結(jié)果?系統(tǒng)成本:①軟件開發(fā)費用②購置并安裝軟硬件機(jī)有關(guān)設(shè)備的費用估算③系統(tǒng)安裝、運行和維護(hù)費用④人員培訓(xùn)費用?系統(tǒng)效益包括經(jīng)濟(jì)效益和社會效益經(jīng)濟(jì)效益:可通過直接的或統(tǒng)計的方法估算社會效益:定性的方法估算第13頁/共78頁15◆社會因素可行性
政策、法律、使用、環(huán)境等2、可行性研究的步驟(1)復(fù)查確認(rèn)系統(tǒng)目標(biāo)、規(guī)模(2)研究現(xiàn)行系統(tǒng)的工作流程(3)導(dǎo)出目標(biāo)系統(tǒng)高層邏輯模型(4)導(dǎo)出和評價供選擇的方案(5)推薦可行的方案(6)編寫可行性研究報告,送審第14頁/共78頁163、可行性研究報告的編寫提示(1)引言:編寫目的、背景、定義、參考資料;(2)可行性研究的前提:要求、目標(biāo)、條件、假定和限制、進(jìn)行可行性研究的方法、評價尺度;(3)對現(xiàn)有系統(tǒng)的分析:工作流程、工作負(fù)荷、費用開支、人員、設(shè)備、局限性;(4)所建議的系統(tǒng):說明、數(shù)據(jù)流程和處理流程、改進(jìn)之處、影響、局限性、技術(shù)條件的可行性;(5)可選擇的其它系統(tǒng)方案;(6)投資及收益分析:支出、收益、收益/投資比、投資回收期等;(7)社會條件方面的可行性(法律、使用)。
第15頁/共78頁17例:一個軟件系統(tǒng)的開發(fā)費用(一次):人員:2名系統(tǒng)分析員(450小時/名,45美元/小時)$40,500
5名系統(tǒng)開發(fā)人員(275小時/名,36美元/小時)$49,5001名數(shù)據(jù)通訊專家(60小時/名,42美元/小時)$2,520
1名數(shù)據(jù)庫管理員(30小時/名,42美元/小時)$1,2602名技術(shù)寫作者(120小時/名,25美元/小時)$6,0001名秘書(160小時/名,15美元/小時)$2,4002名在轉(zhuǎn)換期間數(shù)據(jù)輸入人員$960(40小時/名,12美元/小時)
第16頁/共78頁18培訓(xùn):三天的開發(fā)人員內(nèi)部培訓(xùn)課程$7,00030個用戶,三天的內(nèi)部培訓(xùn)課程$10,000復(fù)印$500磁盤、紙張等消耗品$650購買硬件、軟件:20臺工作站W(wǎng)indows軟件$1,00020臺工作站內(nèi)存升級$8,000網(wǎng)絡(luò)軟件$17,50020臺工作站辦公軟件產(chǎn)品$20,000系統(tǒng)開發(fā)總費用$167,790(成本)第17頁/共78頁19
一個系統(tǒng)的年運行費用(每年):人員:維護(hù)程序員/分析員(250小時/年,42美元/小時)$10,500網(wǎng)絡(luò)管理員(300小時/年,50美元/小時)$15,000購買硬件、軟件升級:硬件$5,000軟件$6,000物資和雜項$3,500每年總運行費用$40,000第18頁/共78頁202.3軟件度量
軟件度量(metrics)域分為過程度量、項目度量和產(chǎn)品度量。對過程、項目及產(chǎn)品的特定屬性進(jìn)行度量產(chǎn)生指導(dǎo)管理及技術(shù)動作的指標(biāo),使得管理者和開發(fā)者能夠:
?
改善軟件過程
?
輔助軟件項目計劃
?
跟蹤及控制軟件項目的進(jìn)展
?
評價軟件產(chǎn)品的質(zhì)量第19頁/共78頁21
軟件度量的方式:直接度量間接度量
?軟件工程過程的直接度量包括所投入的成本和工作量。
?軟件產(chǎn)品的直接度量包括產(chǎn)生的代碼行數(shù)(LOC)、執(zhí)行速度、存儲量大小、在某種時間周期中所報告的錯誤數(shù)。
?軟件產(chǎn)品的間接度量包括功能性、復(fù)雜性、效率、可靠性、可維護(hù)性和許多其它的質(zhì)量特性。第20頁/共78頁221.過程和項目的度量
◆過程度量:
使一個組織從戰(zhàn)略上考察已有過程的功效,如開發(fā)范型、工程任務(wù)的劃分、工作產(chǎn)品、里程碑等,使管理者評估那些部分起了作用。度量數(shù)據(jù)的收集跨越所有的項目,經(jīng)歷較長的時間,目的是改善軟件過程。間接的度量一個軟件過程的功效:
?軟件發(fā)布之前發(fā)現(xiàn)的錯誤數(shù)
?交付給用戶后報告的缺陷數(shù)
?花費的工作量、時間、成本
?與進(jìn)度計劃是否一致
第21頁/共78頁23
個體軟件過程(如PSP)提供了表格、腳本、標(biāo)準(zhǔn)以幫助開發(fā)人員估算、計劃以及度量、跟蹤自己工作的方法。過程度量對于一個組織(如企業(yè))提高其總體的過程成熟度能提供很大的幫助。如一個產(chǎn)品中,需求規(guī)約缺陷占了25.5%,原因如圖所示。通過分析一個完整的魚骨圖可以導(dǎo)出能改進(jìn)軟件過程以降低錯誤和缺陷率的頻率。
第22頁/共78頁24
◆項目度量:
是戰(zhàn)術(shù)的,使項目管理者能夠以實時的方式改進(jìn)項目的工作流程及技術(shù)方法,如軟件項目的工作量及時間的估算。
項目度量的基礎(chǔ)是歷史項目中收集的數(shù)據(jù)。隨著項目的進(jìn)展,所花費的工作量及時間和預(yù)算的值進(jìn)行比較,從而控制項目的進(jìn)展。另外,可根據(jù)文檔的頁數(shù)、評審的時間、功能點及源代碼行數(shù)來度量軟件的生產(chǎn)率。
第23頁/共78頁25
項目度量可在項目進(jìn)行的基礎(chǔ)上評估產(chǎn)品的質(zhì)量,以指導(dǎo)在必要時修改技術(shù)方法以改進(jìn)質(zhì)量。軟件項目度量建議每個項目都應(yīng)該測量:
?輸入:完成工作所需要的資源(如人員、環(huán)境);
?輸出:軟件工程過程中產(chǎn)生的工作產(chǎn)品;
?結(jié)果:最終產(chǎn)品的有效性。項目度量集成起來產(chǎn)生對整個軟件組織公用的過程度量。
第24頁/共78頁262.軟件度量的方法
(1)面向規(guī)模的度量
是對軟件和軟件開發(fā)過程的直接度量??梢越⒁粋€面向規(guī)模的數(shù)據(jù)表格來記錄項目的某些信息。該表格列出了在過去幾年完成的每一個軟件開發(fā)項目和關(guān)于這些項目的相應(yīng)面向規(guī)模的數(shù)據(jù)。
第25頁/共78頁27
基于所生產(chǎn)軟件的“規(guī)?!?,使用代碼行作為其他計算的規(guī)范化因子。計算:
?每千行代碼(KLOC)的錯誤數(shù)。
?每KLOC
的缺陷數(shù)。
?每個LOC的花費成本。
?每KLOC的文檔頁數(shù)
?每人月的錯誤數(shù)。
?每人月的代碼行。
?每頁文檔的成本。
第26頁/共78頁28
可制作一個如下的表:
對該方法的有效性有爭議:
支持:易計算,很多軟件估算模型以它為關(guān)鍵的輸入。
反對:LOC依賴于語言,不適用于非過程化語言,在分析與設(shè)計完成之前難以估算。項目名KLOC工作量(人月)成本(萬元)文檔頁數(shù)錯誤缺陷人員BETA1236101556085第27頁/共78頁29
(2)面向功能的度量
“功能”不能直接測量,利用其他的測量數(shù)據(jù)間接地導(dǎo)出。Albrecht提出來的一種稱為功能點的度量。用下表計算5個信息域的值:
第28頁/共78頁30其中:
?用戶輸入數(shù):每個用戶向系統(tǒng)提供的不同應(yīng)用的輸入數(shù)據(jù)。
?用戶輸出數(shù):系統(tǒng)向每個用戶提供的信息,如報表、屏幕信息、出錯信息等。
?用戶查詢數(shù):每個不同的詢問/響應(yīng)的交互操作。
?文件數(shù):可以是數(shù)據(jù)庫的一部分或是一個獨立的文件。
?外部接口數(shù):與系統(tǒng)中其他設(shè)備通過外部接口讀寫信息的次數(shù)。
“簡單、平均、復(fù)雜”中的常量值是加權(quán)因子,根據(jù)經(jīng)驗確定。
第29頁/共78頁31
利用以下公式計算功能點(FP):FP=總計數(shù)值×(0.65+0.01×
Fi)
其中Fi(i=1~14)是回答14個方面問題而得到的復(fù)雜度調(diào)整值(值域為0~5),如輸入、輸出、查詢及內(nèi)部處理復(fù)雜嗎?代碼復(fù)用嗎?有分布處理嗎等等(詳見p64)。計算出功能點。就可進(jìn)行以下度量:
?每個功能點的錯誤數(shù)。
?每個功能點的缺陷數(shù)。
?每個功能點的成本。
?每個功能點的文檔頁數(shù)。
?每人月完成的功能點數(shù)。第30頁/共78頁32代碼行和功能點度量之間的關(guān)系依賴于實現(xiàn)軟件所采用的程序設(shè)計語言及設(shè)計的質(zhì)量。下面給出了在不同的程序設(shè)計語言中建造一個功能點所需的平均代碼行數(shù)的統(tǒng)計:程序設(shè)計語言LOC/FP
匯編語言320
C128FORTRAN106Pascal90C++64Java46VisualBASIC32PowerBuilder16SQL12
第31頁/共78頁33
3、軟件質(zhì)量度量
軟件工程的目標(biāo)是產(chǎn)生高質(zhì)量的系統(tǒng)或產(chǎn)品。質(zhì)量依賴于描述問題的需求、建模、設(shè)計、編碼、測試。質(zhì)量度量貫穿于軟件工程的全過程中以及軟件交付用戶使用之后。應(yīng)評估分析與設(shè)計模型、源代碼、測試案例的質(zhì)量。
第32頁/共78頁34
在軟件交付之前得到的度量數(shù)據(jù)可作為判斷設(shè)計和測試質(zhì)量好壞的依據(jù)。這一類度量包括程序復(fù)雜性、有效的模塊性和總的程序規(guī)模。
在軟件交付之后的度量數(shù)據(jù)則把注意力集中于還未發(fā)現(xiàn)的缺陷數(shù)和系統(tǒng)的可維護(hù)性方面。
McCall提出了影響軟件質(zhì)量的11個因素(詳見P367),其中重要的有以下幾點:
?正確性:軟件完成所需功能的程度,最常用
“缺陷數(shù)/kLoc”來測量。第33頁/共78頁35
?可維護(hù)性:遇到錯誤時程序能被修改的容易程度、環(huán)境變化時程序能被適應(yīng)的容易程度、用戶希望改變需求時程序能被增強的容易程度,一種最簡單的測量方法是計算平均修改時間(MTTC)。
?完整性:測量系統(tǒng)在安全方面的抗攻擊性。
完整性=Σ[(1-威脅)×(1-安全性)]
其中威脅是某個特定類型的攻擊在給定時間內(nèi)發(fā)生的可能性。安全性是某個特定類型的攻擊將被擊退的可能性。
?可用性:用戶友好性。另外還有可靠性、效率、可測試性、可移植性、可復(fù)用性等等。
第34頁/共78頁362.4軟件項目計劃
項目計劃既指出了項目組織未來努力的方向和奮斗目標(biāo),又是當(dāng)前行動的準(zhǔn)則。針對不同工作目標(biāo),軟件項目計劃有:
?項目實施計劃(軟件開發(fā)計劃)這是軟件開發(fā)的綜合性計劃,通常應(yīng)包括任務(wù)、進(jìn)度、人力、環(huán)境、資源、組織等多個方面。
?質(zhì)量保證計劃把軟件開發(fā)的質(zhì)量要求具體規(guī)定為每個開發(fā)階段可以檢查的質(zhì)量保證活動。
?軟件測試計劃規(guī)定測試活動的任務(wù)、測試方法、進(jìn)度、資源、人員職責(zé)等。
第35頁/共78頁37
?文檔編制計劃規(guī)定所開發(fā)項目應(yīng)編制的文檔種類、內(nèi)容、進(jìn)度、人員職責(zé)等。
?用戶培訓(xùn)計劃規(guī)定對用戶進(jìn)行培訓(xùn)的目標(biāo)、要求、進(jìn)度、人員職責(zé)等。
?綜合支持計劃規(guī)定軟件開發(fā)過程中所需要的支持,以及如何獲取和利用這些支持。
?軟件發(fā)布計劃軟件開發(fā)項目完成后,如何提交給用戶。這里,主要針對綜合計劃來介紹。第36頁/共78頁38項目管理是一個創(chuàng)造的過程,項目早期的不確定性因素,使計劃不可能在啟動階段就全部一次完成,需逐步展開和不斷修正,這又取決于計劃執(zhí)行情況的反饋與及時的信息交流。制訂項目基準(zhǔn)計劃(BaselinePlan)的步驟:①定義項目目標(biāo),確定軟件范圍②把項目按項目范圍分解為多個任務(wù)③確定對應(yīng)每個任務(wù)必須執(zhí)行的活動④將每個任務(wù)分配給一個小組,并為每個開發(fā)者分配角色和職責(zé)⑤用Gantt圖或PERT圖表示出項目的進(jìn)度
第37頁/共78頁391、軟件項目估算項目計劃的一個重要的前提是項目估算(有時在可行性研究階段完成),一般以團(tuán)隊的歷史經(jīng)驗為基礎(chǔ),讓團(tuán)隊中的一線人員參與估算,才能保證項目計劃的可行性。成本及工作量的估算不是一門精確的科學(xué),有幾種選擇:
?
基于已完成的類似項目進(jìn)行估算;
?使用分解技術(shù)以生成項目成本及工作量的估算;
?使用一個或多個經(jīng)驗?zāi)P停?/p>
(1)分解技術(shù)分解技術(shù)采用“分而治之”的策略進(jìn)行軟件項目估算。將項目分解成若干主要功能及相關(guān)的軟件過程活動,通過逐步求精的方式進(jìn)行成本及工作量估算。具體方法為:
第38頁/共78頁40
劃分主要的軟件功能,接著估算:①Loc的數(shù)量②對于FP,估算每個信息域特征(輸入、輸出、數(shù)據(jù)文件、查詢、外部接口)及14個復(fù)雜度調(diào)整值③實現(xiàn)每個功能所需的人月數(shù)④每個軟件過程活動所需人月數(shù)基本的估算方法:
?自頂向下估算:總成本按階段、步驟、工作單元?自底向上估算:先劃分,分別估算每個子任務(wù)所需的工作量,然后∑。
第39頁/共78頁41?差別估算法:與類似項目比較,估算每個不同之處對成本的影響。還有專家估算法等等。(2)經(jīng)驗估算模型經(jīng)驗估算模型可用于補充分解技術(shù),并提供一種潛在有價值的估算方法。該模型是基于經(jīng)驗(歷史數(shù)據(jù))的,可以用下面的形式表示:
=?()其中
是要估算的值(如工作量、成本、項目持續(xù)時間)之一,是選擇出來的獨立參數(shù)(如被估算的Loc或FP)。第40頁/共78頁42
由經(jīng)驗導(dǎo)出的公式,最著名的是COCOMO模型,構(gòu)造型成本模型(COnstructiveCOstMOdel)。初期的模型廣泛的使用于軟件成本估算,發(fā)展到反映不同階段的成本。
初始模型的分類:?基本COCOMO模型是靜態(tài)單變量模型,用源代碼行數(shù)(LOC)為自變量的經(jīng)驗函數(shù)計算軟件開發(fā)工作量。?中間COCOMO模型該模型在用LOC為自變量的函數(shù)計算軟件開發(fā)工作量的基礎(chǔ)上,用涉及產(chǎn)品、硬件、人員、項目等方面的影響因素調(diào)整工作量估算。?詳細(xì)COCOMO模型該模型包括中間COCOMO模型的所有特性,但用上述各種影響因素調(diào)整工作量估算時,還要考慮對軟件工程過程中每一步驟(分析、設(shè)計等)的影響。
第41頁/共78頁43
模型的擴(kuò)展:COCOCOMⅡ使用對象點、功能點、源代碼行作為不同層次模型的參數(shù)。
對象點只是一種間接軟件測量數(shù),使用以下計數(shù):①用戶界面上的屏幕數(shù)②報表數(shù)③建立應(yīng)用軟件需要的構(gòu)件數(shù)。每個對象實例(如一個屏幕或一個報表)給出三個復(fù)雜度權(quán)數(shù)(簡單、中等、復(fù)雜),如一個屏幕的權(quán)簡單為1,中等為2,復(fù)雜為3。通過以下公式計算總對象點數(shù):第42頁/共78頁44Σ(初始的對象實例數(shù)×加權(quán)因子)=總的對象點(NOP)當(dāng)應(yīng)用基于構(gòu)件的開發(fā)時,對象點計數(shù)調(diào)整為:NOP=NOP×[(100-%復(fù)用)/100]進(jìn)而計算:生產(chǎn)率=NOP/人月針對不同級別的開發(fā)者經(jīng)驗和開發(fā)環(huán)境成熟度,給出對象點的生產(chǎn)率:非常低低額定高非常高47132550項目工作量=NOP/生產(chǎn)率第43頁/共78頁45
2、項目進(jìn)度安排項目計劃中的一個重要內(nèi)容是建立進(jìn)度表,該表對項目進(jìn)度進(jìn)行科學(xué)度量、調(diào)整項目計劃起很重要的作用。在眾多軟件項目中,缺乏合理的進(jìn)度安排是造成項目泄后的最主要原因。進(jìn)度安排為項目管理者和開發(fā)者建立了一張行路圖。
(1)進(jìn)度安排的指導(dǎo)原則:
?劃分:項目分解成若干易于管理的任務(wù)。如何進(jìn)行任務(wù)的分解呢?可從兩個方面獲得幫助:①軟件開發(fā)模型:模型幫助將整個項目進(jìn)行階段性的劃分,這些階段可以做計劃中很重要的里程碑。
②
軟件開發(fā)需求:開發(fā)模型只給項目計劃提供了個框架,需求的整理與規(guī)格化,是細(xì)化項目計劃的基礎(chǔ)。
第44頁/共78頁46
?
相互依賴性:各個被劃分的活動或任務(wù)之間的相互關(guān)系必須是確定的。有些任務(wù)必須順序進(jìn)行,有些可以并發(fā)進(jìn)行。
?
時間分配:必須為每個被調(diào)度的任務(wù)分配一定數(shù)量的工作單位(如,人天、人月),并指定開始和結(jié)束日期。
?
工作量確認(rèn):每個項目都有預(yù)定數(shù)量的人員參與。在進(jìn)行時間分配時,必須確保在任意時段中分配給任務(wù)的人員數(shù)量不會超過項目組中的人員總量。
?
定義的責(zé)任:每個被調(diào)度的任務(wù)都應(yīng)該指定某個特定的小組成員來負(fù)責(zé)。
?
定義的結(jié)果:每個被調(diào)度的任務(wù)都應(yīng)該有一個定義好的輸出結(jié)果,輸出結(jié)果通常是一個工作產(chǎn)品或某個工作產(chǎn)品的一部分。
?
定義的里程碑:每個任務(wù)或任務(wù)組都應(yīng)該與一個項目里程碑相關(guān)聯(lián)。當(dāng)一個或多個工作產(chǎn)品經(jīng)過質(zhì)量評審并且得到認(rèn)可時,標(biāo)志著一個里程碑的完成。
第45頁/共78頁47(2)工作量分配(指導(dǎo)原則)計劃需求分析設(shè)計編碼測試
2%~3%10%~25%20%~25%15%~20%30%~40%(3)進(jìn)度表(圖)
?
甘特圖(GanttChart)
也稱時間表,所有的項目任務(wù)都在左邊的欄目中列出。水平條表示每個任務(wù)的持續(xù)時間,當(dāng)同一時間段中存在多個水平條時,表示任務(wù)之間存在并發(fā)。
?
PERT(ProgramEvaluationReviewTechnique)圖也稱任務(wù)網(wǎng)絡(luò)圖,表示一個項目的任務(wù)流程,刻畫了各項任務(wù)、任務(wù)之間的依賴關(guān)系及任務(wù)的持續(xù)時間。它的最簡單形式可當(dāng)作宏觀進(jìn)度表使用。第46頁/共78頁48
Gantt圖Gantt圖可清晰的表達(dá)每個任務(wù)活動的進(jìn)展以及并發(fā)活動。水平條的顏色既可以表示概要任務(wù)和詳細(xì)任務(wù)的分解,也可以表示任務(wù)完成的情況。用一個特定的符號(如黑菱形)表示一個活動的結(jié)束(里程碑),以便檢查階段成果和最后成果。
第47頁/共78頁49
PERT圖PERT圖另一個重要的用途是用來判斷關(guān)鍵路徑,關(guān)鍵路徑表明了完成該項目可能需要的最小時間,并能識別最有可能成為瓶頸的活動,該路徑上的活動是項目負(fù)責(zé)人或小組長抓的主要工作。非關(guān)鍵路徑上的活動延遲,不會導(dǎo)致項目總體進(jìn)度偏離。下圖是一個項目的總的PERT圖。
第48頁/共78頁50第49頁/共78頁51說明:①考慮進(jìn)度表中的變化:建立進(jìn)度表時,項目分解為哪些任務(wù)以及任務(wù)持續(xù)的時間往往根據(jù)歷史數(shù)據(jù)估算而來,項目進(jìn)展過程中未預(yù)料到的事件,如需求的變化或較晚發(fā)現(xiàn)的設(shè)計缺陷,都會打亂進(jìn)度表,因此在進(jìn)度表中為將來可能的變化留有余地。②進(jìn)度表可有不同的抽象層次:高層進(jìn)度表反映整個項目的進(jìn)度,應(yīng)包括所有可交付產(chǎn)品的期限,底層進(jìn)度表是任務(wù)和時間的分解??芍谱鞫唐趦?nèi)的進(jìn)度表,其余部分在項目進(jìn)行過程中完成。底層進(jìn)度表可用于指導(dǎo)每個小組的進(jìn)度。③每個里程碑可以附帶一個標(biāo)識進(jìn)度值的百分比,用來說明項目完成了多少,如:30%。
第50頁/共78頁52
項目開展階段管理活動圖(UML活動圖)
2.5項目進(jìn)度的跟蹤
第51頁/共78頁53
1、項目啟動
進(jìn)行項目計劃
2、項目開展
項目的監(jiān)督與跟蹤
(1)收集狀況信息的方式
?
定期報告:非正式的會議和交流,報告工作產(chǎn)品、進(jìn)度誤差等需要及早溝通的信息。
?
里程碑的監(jiān)督與驗證:里程碑可以是事件,也可以是工作產(chǎn)品,驗證是否在預(yù)定時間內(nèi)完成。
?
項目檢查:正式會議,所有開發(fā)人員交換活動進(jìn)展?fàn)顩r,比較各項任務(wù)實際開始日期與計劃開始日期。
?
代碼檢查:同事之間的正式代碼檢查。
?
原型示范:原型是為了驗證需求或為了評估技術(shù)和功能而部分實現(xiàn)的系統(tǒng),可用來估算初始進(jìn)度。
第52頁/共78頁54
?
度量:主要是修正錯誤數(shù)目的度量,即還需要付出多少努力的估量。
(2)項目再計劃根據(jù)項目的變化動態(tài)更新項目計劃,應(yīng)對一些新的需求、新的變化、突發(fā)因素做出響應(yīng),或解決問題以適應(yīng)計劃,或調(diào)整計劃以保證最后按時交付產(chǎn)品。
(3)風(fēng)險管理風(fēng)險是一些不利因素實際發(fā)生的可能性。如:人員跳槽,管理層變更,硬件缺乏,需求變化,描述延遲,低估了系統(tǒng)的規(guī)模,工具性能差,技術(shù)變更,產(chǎn)品竟?fàn)幍鹊取?/p>
第53頁/共78頁55風(fēng)險管理的活動有:
?風(fēng)險識別:確定風(fēng)險的類型(管理、技術(shù))。
?風(fēng)險分析:評估風(fēng)險出現(xiàn)的可能性及其后果。
?風(fēng)險規(guī)劃:制定避免或降低風(fēng)險的策略。
?風(fēng)險控制:定期進(jìn)行風(fēng)險評估,及時修正緩解風(fēng)險的計劃。3、項目總結(jié)
?用戶驗收:根據(jù)項目協(xié)議中規(guī)定的驗收標(biāo)準(zhǔn)對系統(tǒng)進(jìn)行評價,并通過場景演示,測試系統(tǒng)功能性和非功能性需求。
?安裝:在目標(biāo)環(huán)境下安裝、運行系統(tǒng)并提交文檔。
?總結(jié):總結(jié)經(jīng)驗教訓(xùn),建立團(tuán)隊工作效率的歷史檔案,以便提高個人和團(tuán)隊整體的軟件工程能力。第54頁/共78頁562.6軟件質(zhì)量保證
1、概述軟件質(zhì)量是軟件產(chǎn)品、體系或過程的一組固有特性滿足(顧客和其他相關(guān)方)要求的程度。軟件質(zhì)量保證(SoftwareQualityAssurance,SQA)是一種應(yīng)用于整個軟件過程的庇護(hù)性活動,包含:
?質(zhì)量管理方法
?有效的軟件工程方法和工具
?過程中采用的正式技術(shù)評審
?多層次的測試策略
?對軟件文檔及其修改的控制
?保證與開發(fā)標(biāo)準(zhǔn)符合的規(guī)程
?軟件度量及報告機(jī)制等等方面的內(nèi)容第55頁/共78頁57
軟件質(zhì)量保證的對象一般有三方面:產(chǎn)品、過程和質(zhì)量體系實施軟件質(zhì)量保證需運用幾種支持過程作為質(zhì)量保證的手段。
?驗證或確認(rèn):通過提供客觀證據(jù)對規(guī)定要求已得到滿足的認(rèn)定。
?評審或?qū)徍耍捍_定主題事項達(dá)到規(guī)定目標(biāo)的適應(yīng)性、充分性和有效性所進(jìn)行的活動。聯(lián)合評審是由任何兩方(評價方和被評價方)用來在適當(dāng)時機(jī)對項目的某個活動的狀態(tài)和產(chǎn)品進(jìn)行評價并可能形成文件的過程。
第56頁/共78頁58
2、軟件質(zhì)量保證過程中的數(shù)據(jù)
SQA過程中必然產(chǎn)生有關(guān)產(chǎn)品、過程和體系質(zhì)量的多種數(shù)據(jù),是進(jìn)行下一步工作的決策依據(jù),對于提高質(zhì)量管理效果和改進(jìn)質(zhì)量管理過程至關(guān)重要。要收集、存儲、及時分析和使用這些數(shù)據(jù),才能做好質(zhì)量保證工作。質(zhì)量數(shù)據(jù)有多種:
?項目規(guī)模:FP表示軟件大小,以功能點計數(shù);
?工作量E:表示項目的人力總投入,以人月計數(shù);
?生產(chǎn)率:
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第57頁/共78頁59
3、SQA的實施(1)SQA小組的職責(zé)
SQA活動與兩種不同的參與者相關(guān):做開發(fā)工作的軟件工程師和獨立的SQA小組。軟件開發(fā)人員對質(zhì)量的考慮:采用可靠的技術(shù)方法,進(jìn)行正式的技術(shù)評審,嚴(yán)格的、按計劃的測試軟件。
SQA小組的職責(zé)是輔助開發(fā)人員得到高質(zhì)量的產(chǎn)品,負(fù)責(zé)質(zhì)量保證的計劃、監(jiān)督、記錄、分析及報告工作。
(2)SQA過程的進(jìn)入與退出
?進(jìn)入準(zhǔn)則:①方針明確②能力具備
③項目已定義
④已有SQAP制定規(guī)程和偏差處理規(guī)程
第58頁/共78頁60
?退出準(zhǔn)則:
①產(chǎn)品符合需求
②數(shù)據(jù)記錄完整、受控
?具體活動的輸入(需要的數(shù)據(jù))與輸出(產(chǎn)生的結(jié)果):輸入包括合同中的有關(guān)說明或協(xié)議,軟件開發(fā)標(biāo)準(zhǔn)和規(guī)范,軟件設(shè)計準(zhǔn)則,軟件測試標(biāo)準(zhǔn)或規(guī)范,軟件配置管理規(guī)范,軟件質(zhì)量保證規(guī)范,軟件質(zhì)量數(shù)據(jù)采集規(guī)程等。輸出包括SQAP,項目采用的標(biāo)準(zhǔn)和規(guī)程,各種評審和審核活動的記錄和報告、問題報告、問題解決報告和軟件質(zhì)量有關(guān)的數(shù)據(jù)。
(3)SQA活動流程(見下圖)
第59頁/共78頁61
SQA活動流程第60頁/共78頁62需要指出的是,軟件測試與軟件質(zhì)量保證是由不同人員實施的兩種不同過程,軟件測試是軟件開發(fā)過程的一個階段,而軟件質(zhì)量保證貫穿于整個軟件開發(fā)過程。軟件開發(fā)過程需要多人合作,不按照一定的標(biāo)準(zhǔn)、規(guī)程、準(zhǔn)則去做,很難將眾多的工作產(chǎn)品集成起來。不把開發(fā)過程分解為可控制的階段并對每個階段的工作和結(jié)果加以控制,很難保證產(chǎn)品的質(zhì)量。正式技術(shù)評審是軟件質(zhì)量保證的主要手段之一,也是使用最多的監(jiān)督方法。為了使評審取得應(yīng)有的效果,注意三點:①有計劃,②有規(guī)程,③認(rèn)真執(zhí)行計劃和規(guī)程。第61頁/共78頁632.7軟件配置管理
1、概念
軟件配置管理(SoftwareConfigurationManagement,SCM)是應(yīng)用于整個軟件過程中的庇護(hù)性活動。軟件配置是一個軟件產(chǎn)品在生存期各個階段的不同形式和不同版本的程序、文檔及相關(guān)數(shù)據(jù)的集合。軟件開發(fā)過程中,會得到許多工作產(chǎn)品或階段產(chǎn)品,還會用到許多工具軟件,所有這些信息都需要管理,以便在提出某些特定的要求時能將其進(jìn)行約定的組合來滿足使用的目的(見下圖)。
第62頁/共78頁64
兩個產(chǎn)品具有不同的配置
第63頁/共78頁65軟件開發(fā)屬于變化驅(qū)動的過程。軟件時時處于演化變更狀態(tài)。技術(shù)的快速發(fā)展、業(yè)務(wù)環(huán)境的不斷改變、不同用戶的不同需求、需求在開發(fā)中的頻繁變更、開發(fā)人員對階段產(chǎn)品的改變等等,都會對產(chǎn)品的最后質(zhì)量造成影響。
SCM是對軟件生存期過程中的各階段產(chǎn)品和最終產(chǎn)品演化和變更的管理,是CMM第二級中的關(guān)鍵過程域。它的主要目的是對變更加以控制,將變更對成本、進(jìn)度和質(zhì)量影響降到最小。SCM的任務(wù):
?制定SCM計劃
?配置標(biāo)識
?變更控制
?配置審核
?版本管理和發(fā)行管理
第64頁/共78頁662、軟件配置標(biāo)識
(1)確定配置項(SCI)大中型軟件項目在開發(fā)中產(chǎn)生幾十個、上百個文檔,每個階段都在演化,后期版本是對前期的修改及擴(kuò)展(兩者有繼承關(guān)系),確定配置項就是確定哪些文檔需要被保存、被管理。
(2)配置項標(biāo)識
?
唯一性:在一個項目內(nèi)不能出現(xiàn)重名,
?可追溯性:名字能體現(xiàn)相鄰配置項之間的關(guān)系,如采用層次式命令規(guī)則反映樹狀結(jié)構(gòu)。第65頁/共78頁673、變更管理
(1)軟件變更
?軟件變更的不可避免性:變更來源于用戶或開發(fā)人員;
?變更的復(fù)雜性:涉及一些相關(guān)部件和文檔,需要將某些變更通知相關(guān)人員。
(2)變更管理的任務(wù)
?分析變更:研究變更的必要性、經(jīng)濟(jì)可行性(成本-效益比,是否合理)和技術(shù)可行性(能否實現(xiàn))。?記錄和追蹤變更。
?采取措施保證變更在受控狀態(tài)下進(jìn)行。第66頁/共78頁68
(3)建立配置項庫
◆配置項庫的作用
①記錄與配置相關(guān)的所有信息,其中很重要的內(nèi)容是存放受控的軟件配置項。
②利用庫中的信息評價變更的后果,對變更控制有重要的意義。③從庫中提取各種配置管理過程的管理信息,可利用庫中的信息查詢回答許多配置管理問題,例如:
?哪些客戶已提取了某個特定的系統(tǒng)版本??運行一個給定的系統(tǒng)版本需要什么硬件和系統(tǒng)軟件?
?一個系統(tǒng)到目前已生成了多少個版本,何時生成的??如果某一特定的構(gòu)件變更了,會影響到系統(tǒng)的哪些版本??一個特定的版本曾提出過哪幾個變更請求??一個特定的版本有多少已報告的錯誤?第67頁/共78頁69
◆配置項庫的類別
?
開發(fā)庫存放開發(fā)過程中需要保留的各種信息,供開發(fā)人員個人使用,庫中的信息無需對其做任何限制,可以有較為頻繁的修改。
?受控庫在軟件開發(fā)的某個階段工作結(jié)束時,將工作產(chǎn)品或有關(guān)信息存入,應(yīng)該對庫內(nèi)的信息的讀寫和修改加以控制。
?產(chǎn)品庫所開發(fā)的軟件產(chǎn)品完成系統(tǒng)測試后,作為最終產(chǎn)品存入庫內(nèi),庫內(nèi)的信息也應(yīng)加以控制。受控庫和產(chǎn)品庫的規(guī)范化運行是實現(xiàn)軟件配置項管理的重要手段。第68頁/共78頁70
(4)建立配置基線(baseline)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江宇翔職業(yè)技術(shù)學(xué)院《公路工程定額原理與計價》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江工業(yè)職業(yè)技術(shù)學(xué)院《采購過程演練》2023-2024學(xué)年第一學(xué)期期末試卷
- 反諧振阻抗比較小的原因
- 中國傳媒大學(xué)《計算機(jī)電子電路基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 長治醫(yī)學(xué)院《劇場品牌管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 云南司法警官職業(yè)學(xué)院《體育-臺球》2023-2024學(xué)年第一學(xué)期期末試卷
- 企業(yè)內(nèi)部知識分享平臺構(gòu)建方案
- 保險行業(yè)數(shù)字營銷模板
- 拿破侖歷史名人人物介紹
- 中考誓師大會學(xué)生發(fā)言稿
- 2025年浙江省金華市統(tǒng)計局招聘2人歷年高頻重點提升(共500題)附帶答案詳解
- 員工職業(yè)素養(yǎng)與團(tuán)隊意識培訓(xùn)課件2
- 部編版三年級下冊語文全冊教案及全套導(dǎo)學(xué)案
- 2024年國家級森林公園資源承包經(jīng)營合同范本3篇
- 對口升學(xué)《計算機(jī)應(yīng)用基礎(chǔ)》復(fù)習(xí)資料總匯(含答案)
- 迪士尼樂園總體規(guī)劃
- 2024年江蘇省蘇州市中考數(shù)學(xué)試卷含答案
- 2024年世界職業(yè)院校技能大賽高職組“市政管線(道)數(shù)字化施工組”賽項考試題庫
- 介紹蝴蝶蘭課件
- 大學(xué)計算機(jī)基礎(chǔ)(第2版) 課件 第1章 計算機(jī)概述
- 數(shù)字化年終述職報告
評論
0/150
提交評論