|
項(xiàng)目度量 項(xiàng)目度量是針對(duì)軟件開發(fā)項(xiàng)目的特定度量,目的在于度量項(xiàng)目規(guī)模、項(xiàng)目成本、項(xiàng)目進(jìn)度、顧客滿意度等,輔助項(xiàng)目管理進(jìn)行項(xiàng)目控制。 規(guī)模度量 軟件開發(fā)項(xiàng)目規(guī)模度量(size measurement)是估算軟件項(xiàng)目工作量、編制成本預(yù)算、策劃合理項(xiàng)目進(jìn)度的基礎(chǔ)。規(guī)模度量是軟件項(xiàng)目失敗的重要原因之一。一個(gè)好的規(guī)模度量模型可以解決這一問題。有效的軟件規(guī)模度量是成功項(xiàng)目的核心要素:基于有效的軟件規(guī)模度量可以策劃合理的項(xiàng)目計(jì)劃,合理的項(xiàng)目計(jì)劃有助于有效地管理項(xiàng)目。規(guī)模度量的要點(diǎn)在于:由開發(fā)現(xiàn)場(chǎng)的項(xiàng)目成員進(jìn)行估算;靈活運(yùn)用實(shí)際開發(fā)作業(yè)數(shù)據(jù);杜絕盲目迎合顧客需求的“交期逆推法”。 軟件規(guī)模度量有助于軟件開發(fā)團(tuán)隊(duì)準(zhǔn)確把握開發(fā)時(shí)間、費(fèi)用分布以及缺陷密度等等。軟件規(guī)模的估算方法有很多種,如:功能點(diǎn)分析(FPA:function points analysis)、代碼行(LOC:lines of code)、德爾菲法(Delphi technique)、COCOMO模型、特征點(diǎn)(feature point)、對(duì)象點(diǎn)(object point)、3-D功能點(diǎn)(3-D function points)、Bang度量(DeMarco's bang metric)、模糊邏輯(fuzzy logic)、標(biāo)準(zhǔn)構(gòu)件法(standard component)等,這些方法不斷細(xì)化為更多具體的方法。 1. 功能點(diǎn)分析法 (1)功能點(diǎn)分析法概述 功能點(diǎn)分析法(FPA:function point analysis)是在需求分析階段基于系統(tǒng)功能的一種規(guī)模估算方法,是基于應(yīng)用軟件的外部、內(nèi)部特性以及軟件性能的一種間接的規(guī)模測(cè)量。FPA法由IBM的工程師艾倫·艾爾布策(Allan Albrech)于20世紀(jì)70年代提出,隨后被國際功能點(diǎn)用戶協(xié)會(huì)(IFPUG:The International Function Point Users' Group)提出的IFPUG方法繼承,從系統(tǒng)的復(fù)雜性和系統(tǒng)的特性這兩個(gè)角度來度量系統(tǒng)的規(guī)模,其特征是:“在外部式樣確定的情況下可以度量系統(tǒng)的規(guī)?!保翱梢詫?duì)從用戶角度把握的系統(tǒng)規(guī)模進(jìn)行度量”。功能點(diǎn)可以用于“需求文檔”、“設(shè)計(jì)文檔”、“源代碼”、“測(cè)試用例”度量,根據(jù)具體方法和編程語言的不同,功能點(diǎn)可以轉(zhuǎn)換為代碼行。經(jīng)由ISO組織已經(jīng)有多種功能點(diǎn)估算方法成為國際標(biāo)準(zhǔn),如:①加拿大人艾倫·艾布恩(Alain Abran)等人提出的全面功能點(diǎn)法(full function points);②英國軟件度量協(xié)會(huì)(UKSMA:United Kingdom Software Metrics Association)提出的IFPUG 功能點(diǎn)法(IFPUG function points);③英國軟件度量協(xié)會(huì)提出的Mark II FPA功能點(diǎn)法(Mark II function points);④荷蘭功能點(diǎn)用戶協(xié)會(huì)(NEFPUG:Netherlands Function Point Users Group)提出的NESMA 功能點(diǎn)法,以及軟件度量共同協(xié)會(huì)(COSMIC:the COmmon Software Metrics Consortium)提出的COSMIC-FFP方法,這些方法都屬于艾爾布策功能點(diǎn)方法的發(fā)展和細(xì)化。 (2)功能點(diǎn)分析法的基本計(jì)數(shù) 功能點(diǎn)分析的基本計(jì)數(shù)就是依據(jù)標(biāo)準(zhǔn)計(jì)算出的系統(tǒng)(或模塊)中所含每一種元素的數(shù)目: ?、偻獠枯斎霐?shù)(EI:external input):計(jì)算每個(gè)用戶輸入,它們向軟件提供面向應(yīng)用的數(shù)據(jù)。輸入應(yīng)該與查詢區(qū)分開來,分別計(jì)算。 ?、谕獠枯敵鰯?shù)(EO:external output):計(jì)算每個(gè)用戶輸出,它們向軟件提供面向應(yīng)用的信息。這里,輸出是指報(bào)表、屏幕、出錯(cuò)信息,等等。一個(gè)報(bào)表中的單個(gè)數(shù)據(jù)項(xiàng)不單獨(dú)計(jì)算。 ?、弁獠坎樵償?shù)(EQ:external query):一個(gè)查詢被定義為一次聯(lián)機(jī)輸入,它導(dǎo)致軟件以聯(lián)機(jī)輸出的方式產(chǎn)生實(shí)時(shí)的響應(yīng)。每一個(gè)不同的查詢都要計(jì)算。 ?、軆?nèi)部邏輯文件(ILF:internal logical file):計(jì)算每個(gè)邏輯的主文件,如數(shù)據(jù)的一個(gè)邏輯組合,它可能是某個(gè)大型數(shù)據(jù)庫的一部分或是一個(gè)獨(dú)立的文件。 |
|
|