軟件工程方法與實(shí)踐第九章軟件項(xiàng)目管理_第1頁
軟件工程方法與實(shí)踐第九章軟件項(xiàng)目管理_第2頁
軟件工程方法與實(shí)踐第九章軟件項(xiàng)目管理_第3頁
軟件工程方法與實(shí)踐第九章軟件項(xiàng)目管理_第4頁
軟件工程方法與實(shí)踐第九章軟件項(xiàng)目管理_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論