版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1,管理篇第四章 軟件風(fēng)險管理,什么是風(fēng)險?風(fēng)險分析風(fēng)險管理,2,4.1 什么是風(fēng)險?,由于軟件的規(guī)模增大、復(fù)雜度增強、靈活性要求高而導(dǎo)致新一輪的軟件危機,因此而引發(fā)軟件的負面結(jié)論:軟件開發(fā)的效率和質(zhì)量問題是經(jīng)濟增長的主要障礙。軟件失效造成巨大的經(jīng)濟損失。用傳統(tǒng)的軟件工程技術(shù)來控制軟件成本和質(zhì)量也無法盡善盡美。因此:軟件風(fēng)險是存在的,特別是對于大型復(fù)雜軟件。軟件風(fēng)險:是指軟件有可能造成的傷害或者損失。,3,4.1 什
2、么是風(fēng)險?,軟件風(fēng)險是任何軟件開發(fā)項目中普遍存在的問題,與項目的大小成正比。 因為,在制定軟件計劃時,系統(tǒng)分析員必須回答:項目的需求是什么? 不可能準(zhǔn)確無誤地回答需要投入多少資源? 只能憑經(jīng)驗估計給出初步設(shè)想如何安排開發(fā)進度? 這樣就存在風(fēng)險!,,4,4.1 什么是風(fēng)險?,進度過分緊迫;預(yù)算過分緊張;性能過分的超群,軟件可靠性要求過高;人員缺乏經(jīng)驗,組織結(jié)構(gòu)不適宜;期望過高而不現(xiàn)實;沒有
3、明確或理解合同的條款;軟件規(guī)模估計不恰當(dāng);管理部門缺乏經(jīng)驗;風(fēng)險分析和管理不恰當(dāng);缺乏政策性支持;,不熟悉技術(shù)或過程;不熟悉必要的硬件;需求不一致(或定義不充分);需求不斷變動;軟件開發(fā)計劃不恰當(dāng);軟件開發(fā)過程模型不適用;缺乏軟件工程技術(shù)和方法;缺乏自動化工具的支持;,常見的軟件風(fēng)險類別:進度、經(jīng)費、性能、組織、管理、人事、過程、方法、工具等。如下例證:,5,4.2 風(fēng)險分析,條件:軟件的風(fēng)險對于系統(tǒng)的成敗有關(guān)鍵影
4、響時才進行風(fēng)險分析,因此,先要進行風(fēng)險估計。步驟:標(biāo)識潛在風(fēng)險項:收集信息,標(biāo)明相關(guān)的風(fēng)險。觀察風(fēng)險的征兆,理解其原因。估計每個風(fēng)險的大小及其出現(xiàn)的可能性:度量風(fēng)險的后果和嚴(yán)重程度。風(fēng)險評估:要考慮風(fēng)險間的相互作用。,6,4.3 風(fēng)險管理,風(fēng)險管理的本質(zhì):制定防止風(fēng)險的計劃,并監(jiān)管風(fēng)險。(風(fēng)險是不可能消除的,只能防止)風(fēng)險管理的時機:已經(jīng)發(fā)現(xiàn)存在重要的軟件風(fēng)險;這些風(fēng)險可能影響項目的目標(biāo);這些風(fēng)險將使系統(tǒng)花費大量的運行費
5、用及支持費用;這些風(fēng)險是可能防止的。,7,4.3 風(fēng)險管理,風(fēng)險管理的任務(wù):制定風(fēng)險計劃:風(fēng)險管理計劃—RMP和風(fēng)險排除計劃—RA(version)P。進行風(fēng)險控制:執(zhí)行風(fēng)險計劃中體現(xiàn)風(fēng)險排除策略的控制機制。(確定風(fēng)險排除策略;確定風(fēng)險排除戰(zhàn)術(shù);建立風(fēng)險管理計劃。)對風(fēng)險進行監(jiān)管:監(jiān)管軟件工程過程和產(chǎn)品,確定風(fēng)險排除策略是否達到預(yù)期目標(biāo),是否有可能進一步改進風(fēng)險排除計劃,為控制新的風(fēng)險提供一些必要的決策信息等。,8,管理篇第五
6、章 軟件項目管理與計劃,項目管理過程軟件度量軟件項目估算軟件開發(fā)成本估算進度安排軟件項目的組織與計劃,9,5.1 項目管理過程,項目管理的對象:軟件工程項目,范圍覆蓋整個軟件工程過程。項目管理生命期:開始于技術(shù)工作啟動之前,持續(xù)于軟件分析、設(shè)計與實現(xiàn)過程中,最后終止于軟件工程過程結(jié)束之時。項目管理的過程:啟動一個軟件項目;軟件度量;軟件估算;風(fēng)險分析;進度安排;追蹤和控制。,10,5.2 軟件度量,項目管理主要關(guān)心軟件生產(chǎn)
7、率和軟件產(chǎn)品質(zhì)量的度量。軟件工程過程度量屬性:投入的成本和工作量。軟件產(chǎn)品度量屬性:產(chǎn)生的代碼行(LOC)、執(zhí)行速度、存儲量大小、周期報告錯誤數(shù);功能性、復(fù)雜性、效率、可靠性、可維護性、和其它質(zhì)量特性等。,11,5.2 軟件度量,度量方法:面向規(guī)模的度量:收集諸如工作量、投入成本、KLOC、文檔頁數(shù)、錯誤數(shù)、投入的人數(shù),計算軟件的生產(chǎn)率和質(zhì)量。面向功能的度量:收集軟件數(shù)據(jù)域的一些計數(shù)度量,如用戶輸入數(shù)、用戶輸出數(shù)、用戶查詢數(shù)、文
8、件數(shù)、外部接口數(shù)等,利用軟件復(fù)雜性估計的經(jīng)驗關(guān)系式導(dǎo)出功能點。,12,5.2 軟件度量,軟件質(zhì)量度量:廣泛使用的事后度量(驗收度量)包括:正確性度量:每KLOC的差錯數(shù)??删S護性度量:平均變更等待時間(MTTC)以及故障損失。完整性度量:從系統(tǒng)的危險性和安全性考慮。可使用性度量:用戶友好性(學(xué)習(xí)系統(tǒng)需要的技能、有效使用需要的時間、生產(chǎn)率凈增值、用戶主管評價),13,5.2 軟件度量,軟件度量的目的:通過對軟件生產(chǎn)率和軟件質(zhì)量進行
9、度量,可以對軟件提出要求和評價,進而可以建立改進軟件工程過程的目標(biāo)。軟件度量的使用:使用軟件度量建立項目基線;收集項目當(dāng)前的生產(chǎn)率和質(zhì)量狀態(tài),利用基線對項目當(dāng)前狀態(tài)進行評價,并確定軟件工程過程的改進目標(biāo)。,14,5.3 軟件項目估算,軟件項目估算是項目計劃活動的基礎(chǔ)。項目管理人員應(yīng)該估算項目需要的資源、成本和工作量。估算前要明確軟件的范圍,包括:功能、性能、限制、接口、可靠性,這些因素都影響資源、成本和工作量的估算。資源:人
10、力資源、硬件和軟件資源等。成本和工作量:先對問題進行分解,然后利用LOC和FP方法,結(jié)合基線生產(chǎn)率度量計算每個子功能的成本和工作量,集成后為整個項目的成本和工作量。,15,5.4 軟件開發(fā)成本估算,軟件開發(fā)成本:主要是指軟件開發(fā)過程中所花費的工作量及相應(yīng)的代價,不包括原材料和能源的消耗,主要是指人的勞動消耗。估算的依據(jù):從軟件計劃、需求分析、設(shè)計、編碼、單元測試、集成測試和確認測試整個軟件開發(fā)過程所花費的人工代價。,16,5.4 軟
11、件開發(fā)成本估算,基于分解和類推的估算方法:自頂向下、自底向上、差別估計等。專家判定技術(shù)(Delphi)經(jīng)驗?zāi)P停篒BM模型、Putnam模型、COCOMO(Constructive Cost Model)模型,17,5.5 進度安排,合理分配人員的工作量和花費的時間,嚴(yán)密監(jiān)控軟件開發(fā)的進展情況,使軟件開發(fā)進度不致拖延。過程:確定軟件開發(fā)小組人數(shù):人員之間的通信會影響軟件生產(chǎn)率,因此,軟件小組人數(shù)要適宜,一般在2~8人左右。,18
12、,5.5 進度安排,確定任務(wù)及其并行性:確定任務(wù)之間的從屬關(guān)系,確定各個任務(wù)的先后次序和銜接,確定各個任務(wù)完成的持續(xù)時間。從中抽取出關(guān)鍵路徑。制定開發(fā)進度計劃:工作量和時間的分配。 一般:計劃階段占2%~3%; 需求分析占10%~25%; 軟件設(shè)計占20%~25%; 編碼占15%~20%; 測試和調(diào)試
13、占30%~40%。,19,5.5 進度安排,用圖示表達進度安排:明確標(biāo)明各個任務(wù)的計劃開始時間、完成時間;各個任務(wù)完成的標(biāo)志;各個任務(wù)與參與工作的人數(shù)、各個任務(wù)與工作量之間的銜接情況;完成各個任務(wù)所需的物理資源和數(shù)據(jù)資源。 Gantt圖、PERT和CPM項目的追蹤和控制,20,5.6 軟件項目的組織與計劃,制定計劃:規(guī)定待完成的任務(wù)、要求、資源、人力和進度等。建立項目組織:建立分工明確的責(zé)任制機構(gòu)。配備人員:任用各種
14、層次的技術(shù)人員和管理人員。指導(dǎo):鼓勵和動員軟件人員完成所分配的工作。檢驗:對照計劃和標(biāo)準(zhǔn)監(jiān)督并檢查實施的情況。,21,管理篇第六章 軟件過程改進,CMM簡介CMM內(nèi)容CMM可視化分析CMM內(nèi)部結(jié)構(gòu)CMM應(yīng)用CMM的問題CMM與ISO9000的區(qū)別PSP/TSP,22,6.1 CMM簡介,CMM是國際公認的對軟件公司進行成熟度等級認證的重要標(biāo)準(zhǔn)。CMM最早的工作開始于1986年11月,當(dāng)時的情況: ? 軟件需求
15、越來越大,所解決問題的復(fù)雜程度增長速度超過了人們開發(fā)和維護的能力。 ?產(chǎn)品不能如期交付;質(zhì)量不能令用戶滿意;軟件開發(fā)的開銷超過了預(yù)算。 ?更好的軟件開發(fā)技術(shù)也不能解決問題。 ?軟件過程的管理,23,6.1 CMM簡介,人們逐步認識到:軟件開發(fā)中的個人因素并不是很重要,關(guān)鍵是軟件開發(fā)機構(gòu)的成熟程度。卡內(nèi)基-梅隆大學(xué)的SEI受美國國防部的委托和資助,評估軟件供應(yīng)商能力并幫助其改善軟件質(zhì)量,在Mitre公司的協(xié)助下,于19
16、87年9月發(fā)布了能力成熟度框架以及一套成熟度問卷。四年后的1991年推出CMM1.0,1993年SEI又推出了CMM1.1,適用于500人以上規(guī)模的軟件公司。近幾年,SEI又推出了CMM2.0,同時進入ISO體系,稱為ISO/IEC15504,即SPICE(軟件過程改進能力評估)。,24,6.1 CMM簡介,軟件過程能力:描述在遵循一個軟件過程后所期待結(jié)果的界限范圍。軟件過程效果:描述在遵循一個軟件過程后得到的實際結(jié)果。軟件過程成熟
17、度:指一個具體的軟件過程被明確地定義、管理、度量、控制和實施的程度。CMM中的軟件過程包括:軟件工程過程、軟件管理過程、軟件組織過程。,25,6.1 CMM簡介,軟件過程改進是持續(xù)的,因此,需要設(shè)計一個過程改進路線指導(dǎo)軟件機構(gòu)。CMM可指導(dǎo)軟件機構(gòu)在開發(fā)和維護軟件時如何控制軟件過程,如何改進軟件工程和管理。方法是: 1.指導(dǎo)軟件機構(gòu)確定現(xiàn)在所處的能力成熟度等級; 2.確定提高軟件質(zhì)量和過程應(yīng)該注意的關(guān)鍵問題; 3.選擇過
18、程改進策略。,26,6.1 CMM簡介,CMM提供了一個結(jié)構(gòu)框架,組織成五個成熟度級別,主要特征如下:1.初始級:軟件過程是雜亂無章甚至混亂的,幾乎沒有明確定義的的步驟,項目的成功依靠個人或核心人物的努力。2.可重復(fù)級:建立了基本的項目管理過程來跟蹤成本、進度和性能。有必要的過程準(zhǔn)則來重復(fù)以前在同類項目的成功。3.確定級:軟件工程和管理過程已經(jīng)文檔化、標(biāo)準(zhǔn)化,并綜合成整個軟件開發(fā)組織的標(biāo)準(zhǔn)軟件過程。針對具體項目裁減后用于實際的項目
19、開發(fā)和維護中。4.管理級:制定了軟件產(chǎn)品和過程質(zhì)量的詳細度量標(biāo)準(zhǔn)。軟件過程和產(chǎn)品的質(zhì)量都被開發(fā)組織的成員所理解和控制。5.優(yōu)化級:根據(jù)過程執(zhí)行的反饋信息以及新技術(shù)、新觀念的吸納來持續(xù)地改進和優(yōu)化執(zhí)行步驟,使企業(yè)的軟件過程能不斷持續(xù)地改進。,27,6.2 CMM內(nèi)容,28,6.2 CMM內(nèi)容,可重復(fù)級:在項目一級建立了過程管理條例和過程實施準(zhǔn)則。確定級:在全企業(yè)建立標(biāo)準(zhǔn)的軟件過程,并由SEPG負責(zé)軟件過程活動。CMM管理級:對軟件
20、過程進行定量分析。優(yōu)化級:缺陷防范、主動技術(shù)變動管理、過程變動管理。,29,6.3 CMM可視化分析,CMM5個成熟度等級之間的差別主要反映在軟件過程管理水平的高低上。進一步反映在軟件過程提供管理信息的能力上。管理信息取得決定于軟件過程的可視性,即軟件過程對于管理人員的透視性。CMM中不同成熟度等級采納了不同的管理方式,軟件過程提供管理信息的能力也不同。,30,6.3 CMM可視化分析,31,6.4 CMM內(nèi)部結(jié)構(gòu),為了在軟件過程
21、改進實踐中體現(xiàn)CMM模型的可操作性,CMM給出了每一個成熟度級的詳細結(jié)構(gòu)規(guī)定。,實施保證實施能力實施活動度量與分析驗證實現(xiàn),32,6.5 CMM應(yīng)用,CMM是標(biāo)準(zhǔn):CMM建立了一個可用的標(biāo)準(zhǔn)描述,項目招標(biāo)方與中標(biāo)方簽訂合同時可以利用這些標(biāo)準(zhǔn)對風(fēng)險進行評估。CMM是框架:軟件組織可以利用這些標(biāo)準(zhǔn)改進組織內(nèi)部的軟件開發(fā)和維護過程,也就是說代表了軟件改進的道路。CMM是參考模型:CMM描述了成熟軟件組織的特征,標(biāo)志了可期望的開發(fā)效
22、果。,33,6.5 CMM應(yīng)用,軟件過程評估 關(guān)注于軟件組織內(nèi)部的軟件過程,發(fā)現(xiàn)缺陷,提出改進的方向。軟件能力評價 確定特定項目中的風(fēng)險,包括合作者是否有能力按計劃開發(fā)軟件產(chǎn)品,以及是否能按預(yù)算完成等。,34,6.5 CMM應(yīng)用,方法的特點:考察中運用成熟度問題集作為出發(fā)點。CMM為考察指引方向。對照KPA發(fā)現(xiàn)差異,定義軟件過程中的優(yōu)缺點。從要求滿足KPA的目標(biāo)出發(fā),分析滿意程度,并提出書面報告。,35,6.
23、6 CMM的問題,CMM指明該做什么,但沒有指明如何做,它不是方法論,沒有給出特定應(yīng)用領(lǐng)域內(nèi)的專門技術(shù)。CMM是一個用于改進軟件產(chǎn)品和管理過程的結(jié)構(gòu)化模型,但是僅描述軟件過程的本質(zhì)屬性,并非涉及軟件工程的所有問題CMM是從軟件過程角度定義了成熟的軟件過程的實踐活動,但是對于成熟的軟件組織而言,人的因素和技術(shù)的因素也同樣重要。,36,6.7 CMM與ISO9000,共同點:強調(diào)了軟件產(chǎn)品的質(zhì)量。不同點:1.CMM是專門針對軟件工業(yè)
24、的,而ISO9001則面向所有工業(yè)。因此,相對而言,CMM更具體些,ISO9001更抽象些。2.CMM是面向內(nèi)部的軟件過程改善框架,而ISO9001是供需關(guān)系下基于過程的質(zhì)量需求,強調(diào)的是質(zhì)量的衡量準(zhǔn)則,沒有告訴軟件開發(fā)人員如何達到好的目標(biāo),如何避免差錯。3.CMM通過KPA中的關(guān)鍵實踐活動的執(zhí)行程度判斷軟件過程的能力成熟性;ISO9001針對合同環(huán)境下設(shè)計、開發(fā)、生產(chǎn)、服務(wù)等環(huán)節(jié)給出了所需要的最基本的質(zhì)量要素,通過這些要素實施的有
25、效程度判斷企業(yè)是否符合要求。4.CMM的結(jié)構(gòu)是層次化的結(jié)構(gòu),由等級、KPA、公共屬性、關(guān)鍵實踐活動組成;ISO9001是簡單的線性結(jié)構(gòu),包含20個質(zhì)量要素。5.在應(yīng)用概念上,CMM強調(diào)企業(yè)內(nèi)部素質(zhì),而ISO9001重在整體。實施CMM的最大益處是可以較大程度避免形式主義。,37,6.8 PSP/TSP,CMM的成功與否與組織內(nèi)部的相關(guān)人員的積極參與和創(chuàng)造性活動密不可分,而且CMM并未提供KPA關(guān)鍵實踐活動實施所需要具備的具體知識和技
26、能。PSP(Personal Software Process)為基于個體和小型群組軟件過程的優(yōu)化提供了具體而有效的途徑。在設(shè)計階段,PSP的著眼點在于軟件缺陷的預(yù)防,具體辦法是強化設(shè)計結(jié)束準(zhǔn)則,而不是設(shè)計方法的選擇。PSP的研究結(jié)果表明:絕大多數(shù)軟件缺陷是由于對問題的錯誤理解或簡單的失誤造成的,只有很少一部分是由于技術(shù)問題而產(chǎn)生的。因此,PSP保障軟件產(chǎn)品質(zhì)量的一個重要途徑是提高設(shè)計質(zhì)量。,38,6.8 PSP/TSP,實踐證明
27、,僅有PSP是不夠的。CMM/SEI在PSP基礎(chǔ)上發(fā)展出了TSP(Team Software Process)的方法。TSP指導(dǎo)項目組中的成員如何有效地規(guī)劃和管理所面臨的項目開發(fā)任務(wù),并且告訴管理人員如何指導(dǎo)軟件開發(fā)隊伍始終以最佳狀態(tài)來完成工作。TSP實施集體管理與自己管理自己相結(jié)合的原則,最終目的在于指導(dǎo)開發(fā)人員如何在最少的時間內(nèi),以預(yù)定的費用生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,所采用的方法是對群組開發(fā)過程的定義、度量和改進。,39,6.8.
28、1 PSP,PSP提供了幫助軟件工程師開發(fā)軟件的表格、腳本和標(biāo)準(zhǔn),以估算和計劃軟件工程師的工作,以便軟件工程師可以更加清楚自己的個人技術(shù)并且提升個人表現(xiàn)。PSP顯示了如何定義過程及如何測量其質(zhì)量和生產(chǎn)率。PSP用一系列的步驟解釋個人軟件過程的改進,每一步包含前一步所有元素并且有所增加。,40,41,6.8.2 TSP,PSP3可以設(shè)計過萬行的程序,但是仍然存在由程序?qū)е碌膬蓚€問題: 1)程序越大,個人花費的時間和精力越大;
29、 2)軟件工程師很難面面俱到地關(guān)心整個程序的所有方面,以致忽略某些“視覺盲點”的錯誤。TSP通過大家共同分擔(dān)這些問題來解決上述難題。也可以包括一些特殊的優(yōu)化手段:定期找一個局外人來協(xié)助設(shè)計審查。實施TSP應(yīng)該具備的條件: 1)軟件組織應(yīng)該在CMM2; 2)全體開發(fā)人員應(yīng)該經(jīng)過PSP培訓(xùn); 3)小組人數(shù)在2~20人之間。,42,6.8.2 TSP,TSP方法實施集體管理和自己管理自己相結(jié)合的原則:
30、1)在每一階段開始要作好工作計劃; 2)要有明確定義的目標(biāo),努力完成已經(jīng)接受的委托任務(wù); 3)應(yīng)定期追蹤項目進展?fàn)顟B(tài)并進行定期匯報; 4)按自己管理自己的原則管理軟件過程; 5)按集體管理的原則進行管理,全體成員都要參加和關(guān)心小組工作的規(guī)劃、進展的追蹤和決策的制訂等項工作。按照TSP原則進行管理,管理角色分成: 1)客戶界面;2)設(shè)計方案;3)實現(xiàn)技術(shù);4)工作規(guī)劃;5)軟件過程;6)產(chǎn)品質(zhì)量;
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 管理篇 軟件風(fēng)險管理
- 軟件風(fēng)險管理
- 軟件項目風(fēng)險管理
- 軟件風(fēng)險管理研究.pdf
- 軟件項目風(fēng)險管理.pdf
- 淺談軟件項目風(fēng)險管理
- 軟件測試的風(fēng)險管理探討
- 管理軟件項目的風(fēng)險管理研究.pdf
- 中小軟件企業(yè)項目風(fēng)險管理——ABC企業(yè)軟件項目風(fēng)險管理案例分析.pdf
- 軟件測試外包的風(fēng)險管理.pdf
- 軟件供應(yīng)鏈風(fēng)險管理研究.pdf
- 軟件項目需求變更風(fēng)險管理.pdf
- 軟件企業(yè)渠道風(fēng)險預(yù)警管理研究.pdf
- 軟件需求過程的風(fēng)險管理研究.pdf
- 軟件外包項目中的風(fēng)險管理.pdf
- BY公司對日軟件外包風(fēng)險管理研究.pdf
- 軟件項目風(fēng)險管理方法探討
- 軟件系統(tǒng)的風(fēng)險管理綜述【開題報告】
- 軟件風(fēng)險管理方法量化研究.pdf
- 軟件風(fēng)險管理模型及實證研究.pdf
評論
0/150
提交評論