版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件工程方法與實(shí)踐
第9章軟件項(xiàng)目管
第9章軟件項(xiàng)目管理
Q9.1軟件項(xiàng)目管理范圍
。9.2人員組織范型
。9.3軟件成本估計(jì)
09.4軟件質(zhì)量保證(SQA)
O9.5軟件過程管理
99.6小結(jié)
9.1軟件項(xiàng)目管理范圍
技術(shù)和管理是軟件工程化生產(chǎn)不可缺少的兩個(gè)方面。對(duì)
于技術(shù)而言,管理意味著決策和支持。只有對(duì)生產(chǎn)過程
進(jìn)行科學(xué)的、全面的管理,才能保證達(dá)到提高生產(chǎn)率、
改善產(chǎn)品質(zhì)量的軟件工程目標(biāo)。
軟件項(xiàng)目管理是軟件工程的保護(hù)性和支持性活動(dòng)。它于
任何技術(shù)活動(dòng)之前開始,并持續(xù)貫穿于整個(gè)軟件的定義、
開發(fā)和維護(hù)過程之中。
軟件項(xiàng)目管理的目的是成功地組織與實(shí)施軟件的工程化
生產(chǎn),完成軟件(產(chǎn)品)的開發(fā)和維護(hù)任務(wù)。主要是對(duì)
項(xiàng)目的人員、費(fèi)用、進(jìn)度和質(zhì)量四方面的管理。
9.1.1人員
?軟件項(xiàng)目開發(fā)的資源主要是人員、開發(fā)時(shí)間、軟件工
具、運(yùn)行所需要的軟/硬件等。
?軟件開發(fā)過程是人智力密集型的勞動(dòng)。開發(fā)組織為提
高軟件生產(chǎn)率,必須最大限度地發(fā)揮每一個(gè)人的技術(shù)和
能力。軟件項(xiàng)目由項(xiàng)目負(fù)責(zé)人(項(xiàng)目經(jīng)理)總負(fù)責(zé)。
?人員管理涉及到招募、選擇、培訓(xùn)、業(yè)績、報(bào)酬、專
業(yè)發(fā)展,以及培養(yǎng)團(tuán)隊(duì)精神和企業(yè)文化等一系列“以人
為本”的組織工作,通過吸引、培養(yǎng)、激勵(lì)留住有創(chuàng)造
力、技術(shù)水平高的人才,增強(qiáng)軟件組織軟件開發(fā)能力。
L人員資源計(jì)劃
對(duì)開發(fā)人員資源的需求(計(jì)劃),是隨時(shí)間變化的一個(gè)
指數(shù)函數(shù)曲線----Rayleigh-Norden曲線模式。
圖9.1開發(fā)人員資源需求隨時(shí)間變化的曲線
2.人員協(xié)調(diào)和通信
建立有效的人員通信交流機(jī)制,組織開發(fā)人員和協(xié)調(diào)
他們的關(guān)系,并跟蹤和協(xié)調(diào)開發(fā)進(jìn)程。
軟件項(xiàng)目人員協(xié)調(diào)和通信方式可分成:
?正式的(采用文字、視頻會(huì)議等非直接交互的通信
渠道)、非個(gè)人的方式;
?正式的、個(gè)人的方式;
?非正式的、個(gè)人的方式;
?電子通信方式;
?個(gè)人網(wǎng)絡(luò)方式。
9.L2項(xiàng)目和過程
i.項(xiàng)目管理概述
項(xiàng)目開發(fā)的工作分成兩類:項(xiàng)目職責(zé)、活動(dòng)或任務(wù)。
項(xiàng)目職責(zé)管理不與軟件開發(fā)過程的特定階段相關(guān)聯(lián),
貫穿于項(xiàng)目開發(fā)全過程的一類管理事務(wù)。項(xiàng)目職責(zé)的
管理,首先根據(jù)項(xiàng)目的目標(biāo)和范圍,考慮解決方案,
定義技術(shù)和管理約束;然后進(jìn)行成本估算、風(fēng)險(xiǎn)評(píng)估、
項(xiàng)目任務(wù)劃分或項(xiàng)目進(jìn)度標(biāo)志等;最后根據(jù)這些信息,
制定一份詳細(xì)的軟件項(xiàng)目管理計(jì)劃。
9.L2項(xiàng)目和過程
活動(dòng)或任務(wù)管理與軟件開發(fā)過程的特定階段相聯(lián)系,是
貫穿于整個(gè)項(xiàng)目開發(fā)過程之中的一類管理事務(wù)。活動(dòng)是
一個(gè)較大的工作單元,有開始和結(jié)束時(shí)間,有資源消耗
和工作成果。一項(xiàng)活動(dòng)可以包含一系列任務(wù),任務(wù)是項(xiàng)
目管理的最小工作單元。
9.L2項(xiàng)目和過程
2.過程管理概述
軟件過程管理就是在這個(gè)確定的框架下建立一個(gè)軟件開
發(fā)過程綜合實(shí)施計(jì)劃。
一個(gè)軟件過程的若干框架活動(dòng)適用于所有軟件項(xiàng)目。若
干不同任務(wù)的集合(每個(gè)集合都由任務(wù)、里程碑、交付
物和軟件復(fù)審組成)使得框架活動(dòng)適應(yīng)于不同軟件項(xiàng)目
的特征和項(xiàng)目開發(fā)者的需求。還有一類保護(hù)性過程活動(dòng),
如軟件質(zhì)量保證、軟件配置管理和測度等,獨(dú)立于任何
一個(gè)框架活動(dòng),它們貫穿在整個(gè)開發(fā)過程之中。
9.L3軟件度量
?在軟件工程領(lǐng)域,測量、測度和度量是有差別的三個(gè)
詞。測量對(duì)一個(gè)產(chǎn)品過程的某個(gè)屬性(如范圍、數(shù)量、
維度、容量或大?。┨峁┮粋€(gè)定量指示,測度則是確定
一個(gè)測量的行為,而度量是對(duì)一個(gè)系統(tǒng)、構(gòu)件或過程具
有的某個(gè)給定屬性的度的定量測量。
?在軟件度量需要收集測量結(jié)果,并產(chǎn)生相關(guān)度量,再
參照統(tǒng)計(jì)的大量歷史數(shù)據(jù),就可獲得一個(gè)較為科學(xué)的量
化的指標(biāo)。軟件度量為軟件過程、項(xiàng)目或產(chǎn)品本身提供
了更深入、更科學(xué)、更直觀的表述,使得項(xiàng)目管理者能
夠評(píng)價(jià)技術(shù)應(yīng)用質(zhì)量,調(diào)整開發(fā)過程、項(xiàng)目或產(chǎn)品,更
順利、更好地完成開發(fā)任務(wù)。
1.軟件度量過程
度量評(píng)價(jià)1----^指標(biāo)
圖9.2軟件度量的數(shù)據(jù)收集過程
2.軟件度量的分類
軟件度量主要?jiǎng)澐譃轫?xiàng)目度量和過程度量兩大類。
軟件項(xiàng)目度量是戰(zhàn)術(shù)性活動(dòng),是對(duì)項(xiàng)目組中所有個(gè)人開
發(fā)工作的測度,目的在于輔助項(xiàng)目開發(fā)的控制和決策,
改進(jìn)軟件產(chǎn)品的質(zhì)量。
軟件過程度量是戰(zhàn)略性活動(dòng),是對(duì)整個(gè)企業(yè)中全體項(xiàng)目
組開發(fā)能力的測度,目的在于改進(jìn)企業(yè)的軟件開發(fā)過程,
提高開發(fā)生產(chǎn)率。
此外,對(duì)軟件(產(chǎn)品)質(zhì)量也可以單獨(dú)進(jìn)行度量,稱為
產(chǎn)品(質(zhì)量)度量。
9.1.4軟件項(xiàng)目管理文檔
軟件項(xiàng)目管理計(jì)劃文檔(SPMP,SoftwareProject
ManagementPlan)是軟件項(xiàng)目管理的指導(dǎo)性文件。
SPMP提供了對(duì)資源、成本和進(jìn)度進(jìn)行合理估算和安
排的一個(gè)框架,給軟件開發(fā)過程的管理提供了一個(gè)綜
合藍(lán)圖,SPMP主要由三部分內(nèi)容組成:
①需要做的事:軟件項(xiàng)目實(shí)施計(jì)劃,包括進(jìn)度安排、
質(zhì)量保證措施等;
②需要的資源:軟件項(xiàng)目資源需求和資源計(jì)劃,資源
包括時(shí)間、硬件、軟件、人員和組織機(jī)構(gòu)等;
③需要的經(jīng)費(fèi):對(duì)軟件項(xiàng)目的規(guī)模、開發(fā)和維護(hù)成本
估計(jì)。
9.L4軟件項(xiàng)目管理文檔
對(duì)于一個(gè)大型軟件項(xiàng)目,SPMP是一套計(jì)劃文檔,有
項(xiàng)目實(shí)施計(jì)劃、質(zhì)量保證計(jì)劃、軟件測試計(jì)劃、文檔
編制計(jì)劃、用戶培訓(xùn)計(jì)劃、綜合支持計(jì)劃和軟件分發(fā)
計(jì)劃。
?實(shí)際軟件項(xiàng)目可以根據(jù)規(guī)模,或者根據(jù)不同的工作
目標(biāo),選擇制定以上各種類型計(jì)劃中的部分計(jì)劃,也
可以把多個(gè)計(jì)劃的內(nèi)容合并成一個(gè)計(jì)劃。項(xiàng)目實(shí)施計(jì)
劃是不可缺少的一個(gè)綜合性計(jì)劃。L
9.2人員組織范型
?大型軟件產(chǎn)品的開發(fā)可采取分層次的組織結(jié)
構(gòu),即軟件經(jīng)理一項(xiàng)目經(jīng)理一開發(fā)小組,以保
證組織和管理的有效性。
?一個(gè)項(xiàng)目科學(xué)而合理建立的組織結(jié)構(gòu)取決于
組織的管理風(fēng)格、凝聚力、組內(nèi)成員的人數(shù)和
他們的技術(shù)水平,以及任務(wù)的難易程度。
9.2.1民主分權(quán)制
民主分權(quán)式開發(fā)組是一個(gè)沒有領(lǐng)導(dǎo)者的,提倡無私精神
的團(tuán)體組織,民主氛圍濃郁,組員們工作積極性高,這
使得整個(gè)團(tuán)隊(duì)能多出、快出更高質(zhì)量的產(chǎn)品。
民主分權(quán)組織方式比較強(qiáng)調(diào)個(gè)人的作用,所以希望小組
成員都是經(jīng)驗(yàn)豐富、技術(shù)和技能熟練的人員。
民主分權(quán)式開發(fā)組織方式特別適用于較小規(guī)?;蜓芯啃?/p>
產(chǎn)品的開發(fā)。
9.2.2控制集權(quán)制
控制集權(quán)式組織的特點(diǎn):一是專業(yè)化,每個(gè)成員分工明
確,執(zhí)行各自的專業(yè)任務(wù);二是層次性,每個(gè)成員在組
織中處于一定的領(lǐng)導(dǎo)或被領(lǐng)導(dǎo)地位。
控制集權(quán)式組由一名高級(jí)工程師(主程序員)、一名后
備工程師、資料管理員,以及2?5個(gè)技術(shù)人員組成。
小組負(fù)責(zé)人由高級(jí)工程師(主程序員)擔(dān)任,他既是管
理者,又是高級(jí)專業(yè)人員,負(fù)責(zé)計(jì)劃、協(xié)調(diào)和復(fù)審小組
的所有技術(shù)活動(dòng);后備工程師是協(xié)助負(fù)責(zé)人工作的專業(yè)
人員;資料管理員是專職的,職責(zé)是控制和維護(hù)所有的
軟件配置,協(xié)助小組進(jìn)行研究、評(píng)估和文檔準(zhǔn)備。
9.2.3控制分權(quán)制
軟件的開發(fā)通常采用一種更合理的、責(zé)任范圍更清楚的
人員組織方式——控制分權(quán)式開發(fā)組。
控制分權(quán)小組負(fù)責(zé)人由一個(gè)小組領(lǐng)導(dǎo)人(負(fù)責(zé)小組的技
術(shù)活動(dòng)),一個(gè)小組管理員(負(fù)責(zé)所有非技術(shù)的管理決
策)兩個(gè)人承擔(dān)。
圖9.3控制分權(quán)式小組的結(jié)構(gòu)示意
控制分權(quán)制組織結(jié)構(gòu)示意圖
圖9.4大型項(xiàng)目技術(shù)管理的組織結(jié)構(gòu)示意圖
9.2.3控制分權(quán)制
控制分權(quán)式的開發(fā)過程是在一名項(xiàng)目經(jīng)理的領(lǐng)
導(dǎo)下,分級(jí)管理多個(gè)開發(fā)小組而進(jìn)行的。這種
方式最大特點(diǎn)是在合適之處可以采用民主、分
散決策機(jī)制,提高生產(chǎn)和管理效率。
小組(子組)和個(gè)人之間通信是平行的,但也
會(huì)發(fā)生沿著控制層的上、下級(jí)通信。
9.3軟件成本估計(jì)
軟件項(xiàng)目開發(fā)成本(開發(fā)周期和開發(fā)工作量)的估算必
須預(yù)先提出。
由于項(xiàng)目固有的復(fù)雜性,會(huì)對(duì)估算產(chǎn)生不確定性影響;
隨著項(xiàng)目規(guī)模的增長,軟件各個(gè)元素之間相互依賴性增
加,關(guān)系更趨復(fù)雜,這是影響估算準(zhǔn)確性的另一個(gè)因素;
此外又有太多的變化因素,如人員、技術(shù)、環(huán)境、策略
等,也影響著軟件項(xiàng)目最終的成本。估算不會(huì)絕對(duì)精確。
9.3.1軟件規(guī)模度量
軟件(產(chǎn)品)規(guī)模的度量是軟件成本估算的基礎(chǔ)。
X.代碼行方法
代碼行技術(shù)是最通用的軟件產(chǎn)品規(guī)模的度量方法。常用的
度量單位是代碼行數(shù)(LOC,LineofCode)和千條代碼
行數(shù)(KLOC)o
基于代碼行數(shù)的規(guī)模估算預(yù)見性差,有較大的風(fēng)險(xiǎn)。
2.軟件科學(xué)方法
由于代碼行數(shù)度量方法不是很可靠,軟件科學(xué)家推薦了多
種源于軟件科學(xué)基本度量原理的度量軟件產(chǎn)品規(guī)模的方法。
例如,計(jì)算軟件產(chǎn)品中(單一)操作數(shù)和運(yùn)算符的數(shù)目。
9.3.1軟件規(guī)模度量
對(duì)軟件(產(chǎn)品)可測量數(shù)據(jù)的度量,最典型的是FFP
(文件File,流Flow和過程Process)度量方法。
產(chǎn)品規(guī)模S=4+1+Pr
成本C=bXS(b常數(shù),軟件生產(chǎn)率)
FFP度量方法的有效性和可靠性,在一些中等規(guī)模的數(shù)
據(jù)處理應(yīng)用軟件的樣本中得到驗(yàn)證。這種方法不適合強(qiáng)
調(diào)功能和控制的大型數(shù)據(jù)庫領(lǐng)域。
9.3.1軟件規(guī)模度量
4.功能點(diǎn)度量方法
功能點(diǎn)(FP)度量是基于軟件產(chǎn)品信息域值的計(jì)算和軟
件復(fù)雜性的評(píng)估而導(dǎo)出的度量方法。功能點(diǎn)度量使用產(chǎn)
品提供的五個(gè)信息域值:輸入項(xiàng)數(shù)Inp、輸出項(xiàng)數(shù)Out、查
詢項(xiàng)數(shù)Inq、主文件數(shù)Maf和接口數(shù)Inf計(jì)算。
FP=aXInp+bXOut+cXInq+dXMaf+eXInf
式中各個(gè)信息度量項(xiàng)的加權(quán)系數(shù),可根據(jù)軟件復(fù)雜性等
級(jí)(簡單、平均和復(fù)雜三級(jí))的分配值選擇。
9.3.1軟件規(guī)模度量
實(shí)際運(yùn)用的是一種擴(kuò)展型功能點(diǎn)度量方法,估算步驟:
①確定軟件產(chǎn)品中每個(gè)度量項(xiàng)和對(duì)應(yīng)復(fù)雜性等級(jí),得到
一個(gè)未調(diào)整的功能點(diǎn)(UFP)。
②確定14種技術(shù)因素的影響值,相加得到總影響程度
(DI),再計(jì)算出技術(shù)復(fù)雜性因子(TCF)。
TCF=0.65+0.01XDI
(由于DI值在0?70,TCF值在0.657.35)
③擴(kuò)展的功能點(diǎn)數(shù)FP的計(jì)算:
FP=UFPXTCF
9.3.2成本估計(jì)分解技術(shù)
對(duì)大型復(fù)雜的軟件開發(fā)項(xiàng)目的成本估算往往采用“分
而治之”,即先分解再合成的度量策略。
LOC,FFP和FP度量方法可以用于估算軟件分解中每
個(gè)較小規(guī)模成分(稱為估算變量)的度量模型,也可
以作為從以前項(xiàng)目中收集來的,與估算變量結(jié)合使用
的基線度量。
基于問題分解的估計(jì)
量)。
也可以選擇如類/對(duì)象、修改或受到影響的業(yè)務(wù)過程的
元素做估算變量。
②為每一個(gè)估算變量做LOC或FFP或FP估算。每個(gè)估
算變量都要分別估算出樂觀值5。他可能值Sm,悲觀值
5pess,并計(jì)算出的期望值(EV)。
EV=(S°pt+4XSm+Spess)/6
③將基線生產(chǎn)率度量用于變量估算,導(dǎo)出每個(gè)估算變
量的成本和工作量。將所有功能估算合并起來,可得到
整個(gè)項(xiàng)目的總估算。
基于問題分解估算示例(1)
基于LOC估算方法估算一個(gè)計(jì)算機(jī)輔助設(shè)計(jì)(CAD)軟件。
功能LOC的估算功能LOC的估算
用戶界面及控制機(jī)制2300計(jì)算機(jī)圖形顯示控制4950
二維幾何分析5300外設(shè)控制2100
三維幾何分析6800設(shè)計(jì)分析模塊8400
數(shù)據(jù)庫管理3350
總LOC估算33200
平均生產(chǎn)率620LOC/pm,勞動(dòng)力價(jià)格8000美元/月,每行
代碼成本約13美元??傢?xiàng)目成本估算431000美元,工作量
估算54個(gè)人月。
基于問題分解估算示例(2)
基于FP估算方法估算CAD應(yīng)用軟件。
信息域值樂觀值可能值悲觀值估算計(jì)數(shù)加權(quán)系數(shù)FP計(jì)數(shù)
輸入20243024496
輸出12152216580
查詢16222822488
主文件44541040
外部接口2232714
總FP計(jì)數(shù)值318
基于問題分解估算示例(2)
調(diào)整因子-復(fù)雜值調(diào)整因子復(fù)雜值調(diào)整因子復(fù)雜值
數(shù)據(jù)通信2聯(lián)機(jī)數(shù)據(jù)輸入3安裝方便5
分布式處理0終端用戶效率5操作方便5
性能計(jì)算4聯(lián)機(jī)更新3可移植性4
高負(fù)荷的硬件3聯(lián)機(jī)更新4可維護(hù)性5
高處理率5重用性4
DI值52
FP=318X(0.65+0.01X52)=372
平均生產(chǎn)率6.5FP/pm,一個(gè)勞動(dòng)力價(jià)格8000美元/月,
每個(gè)FP成本約1230美元??傢?xiàng)目成本估算457000美元,
工作量估算58個(gè)人月。
基于過程分解的估計(jì)
①建立軟件功能和過程活動(dòng)。給軟件每一個(gè)功能描述,
確定執(zhí)行的一系列過程活動(dòng)。一個(gè)過程活動(dòng)的公共框架是:
用戶通信、計(jì)劃、風(fēng)險(xiǎn)分析、工程、建造及發(fā)布,以及用
戶評(píng)估等六項(xiàng)。
②估算出每個(gè)軟件功能的每個(gè)過程活動(dòng)所需的工作量,
并編制成估算表。
③用平均勞動(dòng)力價(jià)格來估算每一個(gè)過程活動(dòng)的工作量,
得到總成本估算(可用2?3種估算進(jìn)行比較確定)。
基于過程分解估算示例
基于過程分解的估算方法估算CAD應(yīng)用軟件。
活動(dòng)(子任務(wù))通信計(jì)劃風(fēng)險(xiǎn)分析涉及編碼測試總和
用戶界面及控制機(jī)制0.52.50.458.4
二維幾何分析0.7540.627.35
三維幾何分析0.54138.5
數(shù)據(jù)庫管理0.5311.56
計(jì)算機(jī)圖形顯示控制0.530.751.55.75
外設(shè)控制0.2520.51.54.25
設(shè)計(jì)分析模塊0.520.525
總計(jì)0.250.250.253.520.54.7516.546
勞動(dòng)力價(jià)格是8000美元/月,總項(xiàng)目成本估算368000美元,
工作量估算46個(gè)人月。
9.3.3經(jīng)驗(yàn)估算模型
息源,
運(yùn)用由經(jīng)驗(yàn)導(dǎo)出的方法或者公式來預(yù)測軟件產(chǎn)品成本。
1.專家類比推斷
專家類比推斷咨詢一定數(shù)量的專家,通過比較目標(biāo)產(chǎn)品
與他們?cè)?jīng)親身參與過的產(chǎn)品項(xiàng)目,區(qū)別兩者的異同,
得到估算結(jié)果。
對(duì)于多個(gè)專家分析估算,如果得出不同的預(yù)測值,要加
以調(diào)整。這種調(diào)整過程往往需要多次進(jìn)行,直到達(dá)到所
有專家都能夠接受的一個(gè)估算范圍。
9.3.3經(jīng)驗(yàn)估算模型
對(duì)一項(xiàng)產(chǎn)品估算,如果把產(chǎn)品分解成許多更小的部分,
先對(duì)每個(gè)部分的成本進(jìn)行估算,然后把它們組合得到一
個(gè)總的估算數(shù)據(jù),這就是由底向上估算方法。
一個(gè)產(chǎn)品并不只是它所有部分簡單的總和,還有部分與
部分之間的接口,這是由底向上估算方法容易被忽略的
部分。
如果采用面向?qū)ο缶幊蹋煌惖莫?dú)立性有利于采用由
底向上估算方法。產(chǎn)品中不同對(duì)象之間的交互增加了估
算的復(fù)雜性。
9.3.3經(jīng)驗(yàn)估算模型
FP,FFP和LOC估算方法可以有效地估算軟件成本和
工作量,但對(duì)這些模型中參數(shù)的確定卻帶有一定的主
觀判斷。
實(shí)際運(yùn)用的成本估算模型,有基于軟件開發(fā)數(shù)學(xué)理論
的模型,有基于統(tǒng)計(jì)理論方法的模型,有融合數(shù)學(xué)方
程、統(tǒng)計(jì)模型和專家決策的混合模型等。
運(yùn)用最廣泛的是中級(jí)COCOMO模型,它描述中等程度
的產(chǎn)品復(fù)雜度和詳細(xì)度。
中級(jí)COCOMO估算模型
?用千條代碼行數(shù)(KLOC)度量產(chǎn)品長度,并度量產(chǎn)
品的開發(fā)模式(組織型、半獨(dú)立型和復(fù)雜型)。計(jì)算:
b
正常工作量(E)=aX(KLOC)
正常開發(fā)時(shí)間(T)=cX(正常工作量)"
式中,a,b,c,"的取值根據(jù)產(chǎn)品開發(fā)模式而定。
?正常的工作量E和開發(fā)時(shí)間7與15個(gè)軟件開發(fā)工作量
調(diào)節(jié)因子(EAF)相乘,得到調(diào)節(jié)的工作量和開發(fā)時(shí)間。
?將這些成本數(shù)分配到開發(fā)進(jìn)度、階段和工序劃分、計(jì)
算機(jī)成本,以及年度維護(hù)成本等相關(guān)子項(xiàng)目中去。
COCOMO估算示例
基于COCOMO方法估算一個(gè)嵌入型模式的微處理器通信處理軟件。
因素情況等級(jí)工作量乘數(shù)
軟件要求的可靠性軟件故障會(huì)帶來嚴(yán)重的財(cái)政后果1.15
數(shù)據(jù)庫規(guī)模20000字節(jié)0.94
產(chǎn)品復(fù)雜度通信處理非常高1.30
執(zhí)行時(shí)間限制70%的時(shí)間可用1.11
主存限制64KB中的45KB(70%)1.06
開發(fā)環(huán)境易變性基于商用微處理器硬件正常1.00
計(jì)算機(jī)周轉(zhuǎn)時(shí)間平均周轉(zhuǎn)時(shí)間為兩小時(shí)正常1.00
分析能力優(yōu)秀的高級(jí)分析員高0.86
應(yīng)用領(lǐng)域的經(jīng)驗(yàn)兩年正常1.00
程序員的能力優(yōu)秀的程序員高0.86
開發(fā)環(huán)境的使用經(jīng)驗(yàn)兩年正常1.00
程序語言的使用經(jīng)驗(yàn)六個(gè)月1.10
現(xiàn)代軟件技術(shù)使用程度大多數(shù)技術(shù)使用一年0.91
軟件工具的使用程度處于基本的小型機(jī)工具級(jí)1.10
要求的開發(fā)進(jìn)度九個(gè)月正常1.00
COCOMO估算示例
估算有10KLOC條源代碼行
正常工作量E=2.8X10L20=44.4(人月)
正常開發(fā)時(shí)間T=2.5X44?40,32=8.4(月)
15個(gè)工作量調(diào)節(jié)因子相乘,結(jié)果為1.35
總估算為
£=44.4X1.35=59.9(人月)
7=8.4X1.35=11.3(月)
9.3.4成本估計(jì)管理
查尤為重要。不管使用什么估算方法,要想進(jìn)一步減少
風(fēng)險(xiǎn),應(yīng)在計(jì)劃小組遞交了他們的估算后,由軟件質(zhì)量
保證(SQA)小組獨(dú)立對(duì)開發(fā)周期和成本估算再次進(jìn)行
估算分析。
在軟件產(chǎn)品的開發(fā)過程中,管理者必須不斷地跟蹤實(shí)際
的開發(fā)工作量,并把它們與預(yù)測值進(jìn)行比較,盡早發(fā)現(xiàn)
誤差,采取適當(dāng)?shù)拇胧?,設(shè)法減少、甚至消除誤差。,一
9.4軟件質(zhì)量保證(SQA)
提高軟件產(chǎn)品質(zhì)量的機(jī)制有技術(shù)手段和管理手段:
?技術(shù)手段有兩個(gè)方面,一是改進(jìn)開發(fā)過程,盡可能少
地引發(fā)錯(cuò)誤或缺陷;二是改進(jìn)測試方法,提高測試效率,
盡可能有效地發(fā)現(xiàn)和排除錯(cuò)誤或缺陷。
?管理手段是加強(qiáng)軟件開發(fā)全過程的質(zhì)量管理機(jī)制,凈
化開發(fā)環(huán)境,使發(fā)生差錯(cuò)或缺陷的可能性更少,即使有
差錯(cuò)或缺陷也容易排除。
軟件質(zhì)量管理的三個(gè)方面
?軟件質(zhì)量檢測(SQI)是一種粗放式的質(zhì)量管理形式,
類似于在生產(chǎn)線的末端檢測產(chǎn)品的方式。
?軟件質(zhì)量保證(SQA)是指包含在軟件生產(chǎn)過程中的
一系列質(zhì)量保證活動(dòng)。由于軟件產(chǎn)品的質(zhì)量形成于生產(chǎn)
全過程,質(zhì)量管理活動(dòng)必須拓展到生產(chǎn)的全過程,體現(xiàn)
“全過程控制”和“全員參與”的軟件質(zhì)量全面控制
(TQC)o
?軟件質(zhì)量認(rèn)證(SQC)是從軟件產(chǎn)業(yè)管理的角度,把
對(duì)個(gè)別產(chǎn)品的質(zhì)量保證擴(kuò)展到對(duì)軟件企業(yè)(組織)整體
資質(zhì)的認(rèn)證,目的是全面考察企業(yè)的質(zhì)量體系和提供符
合質(zhì)量要求的軟件產(chǎn)品的能力。
9.4.1SQA活動(dòng)
軟件質(zhì)量保證各項(xiàng)任務(wù),由軟件質(zhì)量保證活動(dòng)小組
(SQA小組)承擔(dān)。
SQA小組執(zhí)行一個(gè)項(xiàng)目主要的SQA活動(dòng):
①為項(xiàng)目準(zhǔn)備SQA計(jì)劃(SQA活動(dòng)模板,或稱為“行
路圖”)o
②參與到軟件工程小組進(jìn)行項(xiàng)目的軟件過程描述。
③跟蹤和監(jiān)督軟件過程,識(shí)別和報(bào)告軟件過程的“偏
差”,并根據(jù)預(yù)定規(guī)程進(jìn)行處理。
9.4.1SQA活動(dòng)
④復(fù)審指定的軟件產(chǎn)品是否符合已定義好的軟件過程中
的相應(yīng)部分。
⑤確?!捌睢庇涗浽诎福⒏欀敝羻栴}得到解決,
并提交報(bào)告給高級(jí)管理者。
⑥協(xié)調(diào)過程控制和過程管理,協(xié)助收集和分析軟件度量
信息。
9.4.2軟件質(zhì)量度量
?軟件可靠性定義:在給定時(shí)間內(nèi),按照規(guī)定的條件,
軟件成功運(yùn)行的概率。
R(力=尸{在時(shí)間〔0,,〕內(nèi)按規(guī)定條件運(yùn)行成功}
?評(píng)測可靠性的方法:
①假定軟件的故障率是不隨時(shí)間變化的常量,A(,)可
以表示為程序運(yùn)行時(shí)間,和故障率入(單位時(shí)間內(nèi)程序運(yùn)
行失敗的次數(shù))的指數(shù)函數(shù),即R(力=e-乂
②計(jì)算軟件平均故障時(shí)間(MTTF)。在故障率為常量
的情況下,MTTF是故障率的倒數(shù),即MTTF=1/Z
9.4.2軟件質(zhì)量度量
?軟件容錯(cuò)技術(shù):高可靠性、高穩(wěn)定性軟件還表現(xiàn)在容錯(cuò)
能力。
容錯(cuò)軟件,即具有抗故障能力的軟件,處理錯(cuò)誤主要有屏
蔽錯(cuò)誤、修復(fù)錯(cuò)誤、減少影響三種方法。
容錯(cuò)軟件主要采用了冗余技術(shù)。冗余技術(shù)的基本思路是
“以額外的資源消耗換取系統(tǒng)的正常運(yùn)行”。
常用的冗余技術(shù)有結(jié)構(gòu)冗余、時(shí)間冗余和信息冗余等。
冗余結(jié)構(gòu)系統(tǒng)示例
(a)靜態(tài)冗余結(jié)構(gòu)(b)動(dòng)態(tài)冗余結(jié)構(gòu)
圖9.6靜態(tài)、動(dòng)態(tài)冗余結(jié)構(gòu)系統(tǒng)示例
9.4.2軟件質(zhì)量度量
?程序正確性證明的基本原理:理論上無法證明整個(gè)程序
絕對(duì)正確,但通過數(shù)學(xué)方法,證明一個(gè)代碼段具有某些需
要的性質(zhì)是可行的。
?輸入一輸出斷言法是在歸納斷言法的基礎(chǔ)上,加上公理
化概念形成的。它的基本做法是,為證明兩個(gè)相鄰點(diǎn)之間
的程序段是正確的,在源程序的入口、出口和中間各點(diǎn)分
別設(shè)置斷言,只須證明這一程序段執(zhí)行后,能夠使在它之
前的斷言變成其后一點(diǎn)的斷言就可以了。
9.4.2軟件質(zhì)量度量
3.軟件可維護(hù)性度量
?可維護(hù)性度量是記錄維護(hù)過程各種活動(dòng)耗費(fèi)的時(shí)間數(shù)
據(jù),用它們作為軟件可維護(hù)性的度量標(biāo)準(zhǔn)。
?一個(gè)維護(hù)過程所包含的活動(dòng)大約有10項(xiàng):問題識(shí)別時(shí)
間、管理延遲時(shí)間、收集維護(hù)工具時(shí)間、問題分析時(shí)間、
修改規(guī)格說明書時(shí)間、維護(hù)實(shí)施時(shí)間、局部測試時(shí)間、
整體測試時(shí)間、維護(hù)復(fù)審時(shí)間,以及軟件發(fā)布與恢復(fù)工
作時(shí)間等。
9.4.3軟件復(fù)審
?軟件復(fù)審是軟件錯(cuò)誤的“過濾器”,是凈化軟件產(chǎn)品
的必要手段。軟件復(fù)審分技術(shù)復(fù)審和管理復(fù)審兩類。
?技術(shù)復(fù)審一般是對(duì)于技術(shù)性的活動(dòng)或階段,進(jìn)行多次
正式的或非正式的技術(shù)審查。技術(shù)復(fù)審也是降低軟件成
本的一個(gè)重要措施。
?管理復(fù)審是在軟件每個(gè)重要的里程碑(一般是每個(gè)階
段結(jié)束),從管理角度對(duì)工程項(xiàng)目的成本、實(shí)際支出的
經(jīng)費(fèi)、投資回收的前景,以及項(xiàng)目的進(jìn)度等經(jīng)濟(jì)因素進(jìn)
行審查。管理復(fù)審是對(duì)工程進(jìn)行管理和控制的主要手段。
9.4.4軟件質(zhì)量認(rèn)證標(biāo)準(zhǔn)
1.軟件過程能力成熟度模型(CMM)
?一個(gè)軟件開發(fā)組織可以通過制定標(biāo)準(zhǔn)機(jī)制,將其軟
件過程規(guī)范化和具體化。軟件過程成熟度是表達(dá)一個(gè)
特定的軟件過程被明確和有效地定義、管理、測量和
控制的程度。
?軟件過程能力成熟度模型(CMM)是用于評(píng)估軟件
供應(yīng)商的開發(fā)能力的一個(gè)模型(CMM已發(fā)展成能力成
熟度模型集成—CMMI)o
944軟件質(zhì)量認(rèn)證標(biāo)準(zhǔn)
?CMM是描述了軟件過程從無序到有序、從特殊到一
般、從定性管理到定量管理,直至最終達(dá)到動(dòng)態(tài)優(yōu)化的
成熟過程,給出了不同成熟等級(jí)的基本特征和改進(jìn)軟件
過程應(yīng)遵循的原則與采取的行動(dòng)。
?SEICMML1標(biāo)準(zhǔn)分五個(gè)等級(jí),共包括18個(gè)關(guān)鍵過程
領(lǐng)域,52個(gè)過程目標(biāo),316種關(guān)鍵實(shí)踐。
?對(duì)CMM實(shí)施評(píng)估的標(biāo)準(zhǔn)是SEI的CMM評(píng)估規(guī)范
(CAF)o評(píng)估過程由主任評(píng)估師領(lǐng)導(dǎo)一個(gè)評(píng)審小組進(jìn)
行,評(píng)估工作包括各級(jí)員工培訓(xùn)、問卷調(diào)查和統(tǒng)計(jì)、文
檔審查、數(shù)據(jù)分析、與高層領(lǐng)導(dǎo)討論、呈報(bào)評(píng)估報(bào)告等。
9.4.4軟件質(zhì)量認(rèn)證標(biāo)準(zhǔn)
2.ISO9001標(biāo)準(zhǔn)
?ISO9000是質(zhì)量管理和質(zhì)量保證的系列國際標(biāo)準(zhǔn)。它
把與企業(yè)質(zhì)量相關(guān)的問題集中到多個(gè)管理要素中,要求
明確,具有很好的可操作性。
?ISO9000標(biāo)準(zhǔn)系列由五個(gè)相關(guān)的標(biāo)準(zhǔn)組成:
①質(zhì)量術(shù)語標(biāo)準(zhǔn)(ISO84024994);
②質(zhì)量保證標(biāo)準(zhǔn)(ISO9001等);
③質(zhì)量管理標(biāo)準(zhǔn)(ISO90044等);
④質(zhì)量保證和標(biāo)準(zhǔn)選用的實(shí)施指南(IS09000?3等);
⑤支持性技術(shù)標(biāo)準(zhǔn)(ISO10005等)。
9.4.4軟件質(zhì)量認(rèn)證標(biāo)準(zhǔn)
?ISO9001標(biāo)準(zhǔn)(我國國家標(biāo)準(zhǔn)是GB/T19001-1994)包
括了設(shè)計(jì)、開發(fā)、生產(chǎn)、安裝和服務(wù)等活動(dòng)的質(zhì)量保證
體系,共20個(gè)方面的質(zhì)量要素。
?IS09000-3標(biāo)準(zhǔn)的全稱為“質(zhì)量管理和質(zhì)量保證標(biāo)準(zhǔn):
第三部分——ISO9001-1994,計(jì)算機(jī)軟件開發(fā)、供應(yīng)、
安裝和維護(hù)的使用指南”。IS09000?3從軟件的角度,逐
一對(duì)ISO9001的20個(gè)質(zhì)量要素,做出了針對(duì)軟件產(chǎn)品開
發(fā)的解釋和說明。
?軟件企業(yè)推行ISO9001標(biāo)準(zhǔn)要經(jīng)過知識(shí)準(zhǔn)備、立牛一
宣傳、執(zhí)行、監(jiān)督和改進(jìn)等必不可少的過程。?
9.5.1過程度量和過程改進(jìn)
特定屬
性,并利用這組過程度量提供引導(dǎo)改進(jìn)策略的指標(biāo)。
?過程度量是向軟件工程高層管理者提供軟件開發(fā)質(zhì)量
的狀態(tài)信息。這些信息涉及企業(yè)產(chǎn)品、過程和資源(如
采用的范型、軟件工程任務(wù)、工作產(chǎn)品和里程碑等)在
不同開發(fā)階段的狀態(tài)。把這些動(dòng)態(tài)的、連續(xù)追蹤的狀態(tài)
信息與軟件開發(fā)前的計(jì)劃信息相比較,幫助管理者發(fā)現(xiàn)
問題,找到改進(jìn)過程的依據(jù)。
軟件過程改進(jìn)示意圖
圖9.9軟件過程改進(jìn)的過程
952項(xiàng)目進(jìn)度安排
別關(guān)鍵
任務(wù)/活動(dòng),并跟蹤關(guān)鍵任務(wù)/活動(dòng)的進(jìn)展。
?項(xiàng)目計(jì)劃初期,建立一個(gè)宏觀的進(jìn)度安排圖(表),
標(biāo)識(shí)所有主要的軟件工程活動(dòng)和這些活動(dòng)影響到的產(chǎn)品
功能。隨著項(xiàng)目的進(jìn)展,宏觀進(jìn)度圖/表中的每個(gè)條目都
被精化成一個(gè)“詳細(xì)進(jìn)度圖/表”,標(biāo)識(shí)特定任務(wù)/活動(dòng),
并進(jìn)行進(jìn)度安排。
?軟件項(xiàng)目進(jìn)度安排中最常用的方法:程序評(píng)估和復(fù)審
技術(shù)(PERT)和關(guān)鍵路徑管理(CPM)o
時(shí)間表(Gantt圖)描述示例
PERT圖描述示例
(0,3)(3,7)(7,9)
圖9.10PERT圖描述示例
9.5.3風(fēng)險(xiǎn)分析
?軟件風(fēng)險(xiǎn)具有不確定性,項(xiàng)目規(guī)模越大、結(jié)構(gòu)化程度
越低、資源和成本等因素的不確定越大,承擔(dān)這一項(xiàng)目
所冒的風(fēng)險(xiǎn)也就越大。重視風(fēng)險(xiǎn)和風(fēng)險(xiǎn)防范,就可以最
大限度減少風(fēng)險(xiǎn)的發(fā)生與損失。
?風(fēng)險(xiǎn)分析的任務(wù)是盡可能地量化不確定性的程度,以
及每個(gè)風(fēng)險(xiǎn)導(dǎo)致的損失的程度,為軟件開發(fā)的實(shí)施提供
參考。軟件風(fēng)險(xiǎn)分析主要在項(xiàng)目的可行性研究階段進(jìn)行。
?軟件風(fēng)險(xiǎn)分析包括風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)預(yù)測(風(fēng)險(xiǎn)估計(jì))
和風(fēng)險(xiǎn)管理(風(fēng)險(xiǎn)規(guī)避)三項(xiàng)活動(dòng)。
9.5.4軟件配置管理(SCM)
?開發(fā)一個(gè)軟件產(chǎn)品,變更(進(jìn)化)是不可避免的。軟
件配置是一個(gè)軟件各種形式、各種版本的文檔和程序的
總稱。軟件配置管理(SCM)是對(duì)軟件變更過程的管理。
?SCM是應(yīng)用于整個(gè)軟件過程的保護(hù)性活動(dòng),也可被視
為整個(gè)軟件過程的軟件質(zhì)量保證(SQA)活動(dòng)之一。
?SCM和軟件維護(hù)是有區(qū)分的。軟件維護(hù)是軟件產(chǎn)品投
入運(yùn)行之后的一系列軟
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生實(shí)習(xí)期間家長保證書
- 版汽運(yùn)運(yùn)輸合同
- 生鮮食品采購合同
- 煤炭購銷合同范本模板
- 政府采購合同履行
- 招標(biāo)談判文件的編輯技巧
- 商場店鋪接盤合同模板
- 房屋買賣合同補(bǔ)充協(xié)議范例
- 簡單易懂的投資理財(cái)合同
- 業(yè)績分享合同樣本
- 語文修辭-【專練02】 修辭手法考點(diǎn)專訓(xùn)(表達(dá)效果 主觀題1)(教師版)
- 獎(jiǎng)牌設(shè)計(jì) 課件 2024-2025學(xué)年人教版(2024)初中美術(shù)七年級(jí)上冊(cè)
- 第六單元(整體教學(xué)課件)七年級(jí)語文上冊(cè)大單元教學(xué)名師備課系列(統(tǒng)編版2024)
- 幼兒園聘用人員管理制度
- (新版)中級(jí)制鞋工技能鑒定理論考試題庫大全-上(單選題)
- 信息系統(tǒng)安全措施應(yīng)急處理預(yù)案模版(四篇)
- 女生穿搭技巧學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 人教版-數(shù)學(xué)-三年級(jí)上冊(cè)-易錯(cuò)題-專項(xiàng)練習(xí)
- 第三章人類社會(huì)及其發(fā)展規(guī)律
- 網(wǎng)絡(luò)信息安全知識(shí)考試參考題庫300題(含各題型)
- 《特種設(shè)備安全法》宣講
評(píng)論
0/150
提交評(píng)論