国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于功能點(diǎn)的軟件度量在項目管理中的應(yīng)用

2013-06-10 03:25:26柳小軍郭繼光
關(guān)鍵詞:度量規(guī)模定義

王 穎,柳小軍,郭繼光

(中國電子科學(xué)研究院,北京 100041)

0 引 言

在軟件項目管理中,軟件評估的準(zhǔn)確與否是關(guān)系著所制定的項目計劃好壞的一個重要前提。而軟件規(guī)模評估是軟件評估中首要的也是最重要的尺度,軟件規(guī)模評估是估算軟件產(chǎn)品大小的過程,一旦確定了項目的規(guī)模,即可產(chǎn)生相應(yīng)的開發(fā)進(jìn)度表。但不準(zhǔn)確的規(guī)模評估將導(dǎo)致項目預(yù)算和工作進(jìn)度的較大偏差。因此,對軟件項目如何進(jìn)行準(zhǔn)確的規(guī)模評估研究是一個重要而切實(shí)的問題。

軟件度量(Software Measurement)是通過各種不同的量度(metric)對軟件生命周期中的各個元素進(jìn)行度量(Measure),它能夠?yàn)轫椖抗芾碚咛峁┯嘘P(guān)項目的各種重要信息,同時也是進(jìn)行大多評估活動的基礎(chǔ)。建立完整可行的軟件度量體系,基于定量的度量和客觀基準(zhǔn)進(jìn)行項目的管理和監(jiān)控,已經(jīng)被公認(rèn)為是軟件項目規(guī)范運(yùn)作、成功執(zhí)行的基本要求之一。正確地運(yùn)用度量可以幫助項目經(jīng)理更好地確定軟件規(guī)模,規(guī)劃資源投入,安排項目進(jìn)度,核算工作量、評估產(chǎn)出質(zhì)量及評價組織績效。

1 軟件度量方法分析

軟件產(chǎn)業(yè)最初的度量實(shí)踐來自對軟件規(guī)模的估算,自20 世紀(jì)80 年代,對軟件規(guī)模測算的各種各樣的方法就開始被提出來,例如:功能點(diǎn)分析(FPA,function points analysis)、代 碼 行(LOC,lines of code)、德爾菲法(Delphi technique)、COCOMO 模型、特征點(diǎn)(feature point)、對象點(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ì)化為更多具體的方法。

所提出的這些方法各有優(yōu)缺點(diǎn),專家法最簡單易行,但誤差最大,不適合開發(fā)商使用;代碼行由于與開發(fā)語言有關(guān),且誤差也較大,對有經(jīng)驗(yàn)的開發(fā)商有利,但對用戶來說沒法掌握;COCOMOII 模型測算的比較準(zhǔn),但是參數(shù)的取值比較困難,所以也不太適合用戶評價;功能點(diǎn)分析法是在20 世紀(jì)70 年代中期,IBM 委托Allan Albrecht 工程師和他的一些同事為解決LOC 度量所產(chǎn)生的問題和局限性而研究發(fā)布的[1],隨后被國際功能點(diǎn)用戶協(xié)會(IFPUG,the international function point users' group)提出的IFPUG 方法繼承,在國際軟件行業(yè)范圍得到一致接受和廣泛應(yīng)用。下面將探討如何建立一種基于FPA的軟件度量體系,并應(yīng)用于軟件項目管理。

2 基于功能點(diǎn)分析(FPA)方法的軟件度量

2.1 功能點(diǎn)分析方法介紹

IFPUG 功能點(diǎn)的分析計算基本過程為:(1)明確用戶需求;(2)確定計算范圍和應(yīng)用程序邊界;(3)確定基本功能要素及其復(fù)雜性,并轉(zhuǎn)化為功能點(diǎn);(4)確定調(diào)整因子值;(5)計算已調(diào)整功能點(diǎn)[2]。

功能點(diǎn)測量中的基本功能要素被分為兩大類共五個功能要素。(1)數(shù)據(jù)類:內(nèi)部邏輯文件ILF(Internal Logical Files)、外部接口文件EIF(External Interface Files);(2)事務(wù)類:外部輸入EI(External Inputs)、外部輸出EO(External Outputs)、外部查詢EQ(External Queries)。數(shù)據(jù)類功能要素即每個ILF 和EIF 的復(fù)雜度由數(shù)據(jù)元素類型DET(Data Element Type)和記錄元素類型RET(Record Element Type)決定。事務(wù)類功能要素即每個EI、EO、EQ 的復(fù)雜度由數(shù)據(jù)元素類型DET(Data Element Type)和引用文件類型FIR(File Types Referenced)決定。

功能點(diǎn)方法由5 個僅取決于需求規(guī)格說明的要素組成,并有自己特定的規(guī)則,所以它是能取得可重復(fù)和可跟蹤結(jié)果的構(gòu)造性方法。根據(jù)計算規(guī)則首先確定每個功能的分類及其功能復(fù)雜度,從而可以得到每個功能的權(quán)值,全部功能的權(quán)值相加就得到“未調(diào)整的功能點(diǎn)數(shù)”?!拔凑{(diào)整的功能點(diǎn)數(shù)”還不能完整表現(xiàn)出系統(tǒng)的全部基本特征,功能點(diǎn)方法通過14 項系統(tǒng)基本特征進(jìn)行調(diào)整,得到“已調(diào)整的功能點(diǎn)數(shù)”。

功能點(diǎn)分析法(FPA)認(rèn)為整個項目的規(guī)模由信息處理規(guī)模、技術(shù)復(fù)雜度、功能點(diǎn)數(shù)FP 三部分構(gòu)成。

(1)信息處理規(guī)模

依據(jù)標(biāo)準(zhǔn)可以計算出系統(tǒng)(或模塊)中所含每一種元素的數(shù)目,乘以加權(quán)值(weight)的合計數(shù)即為信息處理規(guī)模,稱為UAF(unadjusted function points)[3]。

每種描述權(quán)值對應(yīng)的數(shù)據(jù)見表1。

表1 功能點(diǎn)權(quán)值表

計算關(guān)系式為

式中每項的計算分別是統(tǒng)計值和加權(quán)系數(shù)的累加,因此有

(2)技術(shù)復(fù)雜度

調(diào)整系數(shù)的值取決于14 個通用系統(tǒng)的特性,每個特性有相關(guān)的描述,以幫助確定系統(tǒng)特性的影響程度。影響程度的取值范圍為0 ~5,即從沒有影響到有強(qiáng)烈影響。對這些特性進(jìn)行評估,可以得到對系統(tǒng)的調(diào)整系數(shù)VAF(value adjustment factor),調(diào)整系統(tǒng)的經(jīng)驗(yàn)公式為

(3)計算功能點(diǎn)數(shù)

將功能點(diǎn)數(shù)乘以修訂系數(shù),則得到修訂以后的功能點(diǎn)數(shù)為

2.2 通用的FSM 抽象數(shù)據(jù)模型

一個應(yīng)用系統(tǒng)的功能性是由一組事務(wù)類型和數(shù)據(jù)組類型來共同描述的。數(shù)據(jù)的概念是把數(shù)據(jù)元素看作是基本項。一個數(shù)據(jù)組的類型是應(yīng)用系統(tǒng)存儲的數(shù)據(jù)元素的集合,可以基于數(shù)據(jù)組類型中的數(shù)據(jù)元素定義子群,這個特征描述可以直接應(yīng)用到IFPUG FPA 中。

參考COSMIC-FFP 子過程(Sub-process)的概念,可以使用7 類邏輯活動來描述事務(wù)類型,當(dāng)然,這些邏輯活動是用于處理數(shù)據(jù)元素的。這7 類邏輯活動分別是:

輸入(Entry)活動 用戶向應(yīng)用程序輸入數(shù)據(jù)元素的過程。

輸出(Exit)活動 將數(shù)據(jù)元素輸出給用戶的過程。

控制(Control)活動 用戶輸入控制信息數(shù)據(jù)元素的過程。

確認(rèn)(Confirm)活動 確認(rèn)數(shù)據(jù)元素輸出給用戶的過程。

讀取(Read)活動 從一個存儲數(shù)據(jù)集類型中讀取數(shù)據(jù)元素的過程。

寫入(Write)活動 將數(shù)據(jù)元素寫入一個存儲的數(shù)據(jù)集類型的過程。

計算(Calculate)活動 從一些現(xiàn)有的數(shù)據(jù)元素中計算新的數(shù)據(jù)元素的過程。

這7 類邏輯活動都可以通過FSM 方法的識別規(guī)則識別出來,然后使用這些邏輯活動可以描述識別出的數(shù)據(jù)元素。有了這些邏輯活動,可以定義:一個事務(wù)類型就是邏輯活動的一個集合。

一個應(yīng)用程序理論上應(yīng)包含一個事務(wù)類型的集合和一個數(shù)據(jù)組類型的集合。任何一種功能類型在其邏輯功能方面都是不同的,這種區(qū)別首先體現(xiàn)在第一步的抽象中,也就是說第一步的抽象是由其具體規(guī)則通過定義各自的功能點(diǎn)分析變量給出的。在表示FPA 變量及其屬性時,以向量的形式來表示這種邏輯區(qū)別。因此,一個應(yīng)用程序是一個功能類型的向量。

用一個由τ 個事務(wù)類型Ti和σ 個數(shù)據(jù)組類型Fj的向量來定義一個應(yīng)用[4],有關(guān)FSM 方法的組件的具體定義如下。

定義1 一個應(yīng)用程序H 的定義為:H =(T1,…,Tτ,F(xiàn)1,…,F(xiàn)σ)。其中,事務(wù)類型Ti是由大量的邏輯活動組成,而與一個活動相關(guān)的解釋是由下標(biāo)加以區(qū)分的。

定義2 一個事務(wù)類型Ti定義為由一個由活動組成的向量,即Ti=(Pi1,…,Pin)。

一個活動是由以下4 個特性來刻畫的。

(1)該活動所屬的類別θik,即θik∈{Entry,Exit,Confirm,Read,Write,Calculate};

(2)對于活動Read 和Write,要注明所引用的數(shù)據(jù)組類型rik;

(3)該活動所處理的數(shù)據(jù)元素的集合Dik;

(4)對于Calculate 活動,要注明所計算出來的數(shù)據(jù)元素的集合Cik。

而一個活動的具體定義見定義3。

定義3 一個活動Pik就是一個由以上4 個特性組成的四元組,即Pik=(θik,rik,Dik,Cik)。

數(shù)據(jù)組類型實(shí)際上就是一個數(shù)據(jù)元素的集合。每個數(shù)據(jù)元素都屬于一個確定的子群。一個數(shù)據(jù)組類型是由一個二元序偶的集合來描述的,而每個序偶是由一個數(shù)據(jù)元素及其所屬的子群來描述的。具體的定義如定義4。

定義4 一個數(shù)據(jù)組類型Fj是一個由序偶組成的集合,即Fj={(dj1,gj1),…,(djr,gjr)}。其中:djk表示數(shù)據(jù)元素,而gik指定了djk所屬的子群。

根據(jù)以上定義,可以用度量函數(shù)FPM 來表示有關(guān)功能規(guī)模的假設(shè),即FPM(a)就是應(yīng)用a 的功能規(guī)模,當(dāng)然還可以測試有關(guān)FSM 度量的假設(shè)。例如,如果現(xiàn)在有2 個應(yīng)用:a 和a′,假定應(yīng)用a 的規(guī)模大于a′,即FPM(a)>FPM(a′)?;谶@種假設(shè),對于一個給定的應(yīng)用,任何一種FSM 方法都可以根據(jù)事務(wù)和數(shù)據(jù)集進(jìn)行抽象。

2.3 通用的FSM 模型和FPA 的映射關(guān)系

根據(jù)FPA 的數(shù)據(jù)模型可以看出,一個FPA 活動對應(yīng)于通用模型中的一個以上的活動。具體的映射關(guān)系見表2,表中每種事務(wù)功能允許的活動用“√”標(biāo)出。

表2 FPA 的事務(wù)功能和通用FSM 模型之間的映射關(guān)系

2.4 基于通用模型的FPA 的抽象數(shù)據(jù)模型表示

根據(jù)2.2 節(jié)中有關(guān)FSM 方法組件的描述,功能點(diǎn)分析(FPA,function point analysis)中的數(shù)據(jù)功能對應(yīng)于數(shù)據(jù)組類型Fj,而數(shù)據(jù)元素類型(DET,data element type)對應(yīng)于數(shù)據(jù)元素djk,參考文件類型(FTR,file type referenced)對應(yīng)于該數(shù)據(jù)元素所屬的子群。FPA 方法能夠區(qū)分內(nèi)部數(shù)據(jù)需求和外部數(shù)據(jù)需求,而通用FSM 抽象模型定義了7 類邏輯活動來區(qū)分這些需求。因此,認(rèn)為外部接口文件(EIF,external interface file)就是不能在Write 活動中使用的一個數(shù)據(jù)類型。給出FPA 的抽象數(shù)據(jù)模型描述,具體描述如下。

根據(jù)以上描述可以定義一個度量函數(shù)FPC,即FPC(a)就是應(yīng)用系統(tǒng)a 的功能規(guī)模,具體的描述如下。

WEIF、WILF、WEI、WEO和WEQ表示度量過程中根據(jù)相應(yīng)功能要素的復(fù)雜度等級所得到的功能點(diǎn)數(shù)量,而其值的決定要素是DET 和FTR 或者DET 和RET 的數(shù)量。具體的取值范圍為:WEIF={7,10,15},WILF={5,7,10},WEI=WEQ={3,4,6},WEO={4,5,7}[5]。

3 功能點(diǎn)分析方法在項目管理中的應(yīng)用

從計算方法來看,F(xiàn)PA 似乎只是在項目前期進(jìn)行規(guī)模估算的一種工具,但以功能點(diǎn)為基本度量出發(fā)點(diǎn),結(jié)合相關(guān)的度量體系,進(jìn)行指標(biāo)的設(shè)定、過程數(shù)據(jù)的收集和分析,則可以很好地輔助項目管理者作出決策,改善軟件過程。這里將以某國家重點(diǎn)項目的規(guī)模估算和進(jìn)度控制過程為例,討論功能點(diǎn)分析法在項目管理中的應(yīng)用。

步驟一:將系統(tǒng)的軟件功能清單中列舉的功能劃入EI、EQ、EO、ILF、EIF 中,并計算相應(yīng)的個數(shù),劃分結(jié)果見表3。

表3 功能點(diǎn)劃分

步驟二:根據(jù)功能描述,大致確定各要素的復(fù)雜程度;確定處理和文件的功能點(diǎn)權(quán)值。

步驟三:未調(diào)整的功能點(diǎn)的計算。

步驟二、步驟三操作的結(jié)果見表4。

表4 功能點(diǎn)賦值表

步驟四:計算調(diào)整后的功能點(diǎn)。

為14 項系統(tǒng)基本特征賦值,這里為簡單起見均賦值為4,即認(rèn)為有很重要的影響,則

已調(diào)整功能點(diǎn)數(shù)= VAF* 未調(diào)整功能點(diǎn)數(shù)=1.21* 249 =301.29。

步驟五:根據(jù)功能點(diǎn)計算成本。

根據(jù)某科研單位軟件開發(fā)人員的工資情況及項目的實(shí)際環(huán)境,取單位功能點(diǎn)成本為10000元,則該系統(tǒng)的軟件成本為301.29* 10000=3012900 元。

通過以上應(yīng)用實(shí)例證明,功能點(diǎn)估算方法簡單、實(shí)用、可行性強(qiáng),對于客戶來說,可以不必理解功能的具體開發(fā)和實(shí)現(xiàn)過程,而根據(jù)功能的復(fù)雜度粗略估算出系統(tǒng)的規(guī)模,進(jìn)而了解開發(fā)成本,能夠建立開發(fā)者與顧客之間的信任關(guān)系,即開發(fā)者將用戶的需求轉(zhuǎn)化成要實(shí)現(xiàn)的功能,通過功能點(diǎn)的多少來衡量軟件規(guī)模的大小。

4 結(jié) 語

功能點(diǎn)分析方法已將軟件質(zhì)量、生產(chǎn)率和經(jīng)濟(jì)分析構(gòu)筑在堅實(shí)的經(jīng)濟(jì)學(xué)基礎(chǔ)上,成為軟件度量的基礎(chǔ)。功能點(diǎn)方法是用戶能夠理解的度量方法,它可以在項目的早期準(zhǔn)確度量軟件的規(guī)模。通過借助一種通用的FSM 抽象數(shù)據(jù)模型,把該模型與功能點(diǎn)分析方法相結(jié)合,能夠通過它,用戶可以與軟件開發(fā)企業(yè)達(dá)成確保項目成功的共識和期望,軟件項目管理人員可以在軟件的整個生命周期對它進(jìn)行跟蹤和管理,采取主動和量化的方式來處理軟件項目中固有的問題,獲得更精確的估量和更客觀的評價。

[1]DAVID GARMUS,DAVID HERRON. 功能點(diǎn)分析-成功項目的測量實(shí)踐[M].北京:清華大學(xué)出版社,2003.

[2]余方,李娟,王曉程,等. 功能點(diǎn)分析方法研究[J]. 計算機(jī)科學(xué),2007,34(11):245-247.

[3]IFPUG(International Function Point Users Group).Function Point Counting Practices Manual-Release 4. 2[R].Westerville,2004.

[4]BRIAND L C,LABICHE Y,HE S.Automating Regression test Selection Based on UML Designs[J].Information and Software Technology,2009,51(1):16-30.

[5]CUADRADO-GALLEGO J J,MACHADO-PIRIZ F,AROBA-PAEZJ.On the Conversion Between IFPUG and COSMIC Software Functional Size Units:A Theoretical and Empirical study[J]. The Journal of Systems and Software,2008,81(5):661-672.

猜你喜歡
度量規(guī)模定義
有趣的度量
模糊度量空間的強(qiáng)嵌入
迷向表示分為6個不可約直和的旗流形上不變愛因斯坦度量
規(guī)模之殤
能源(2018年7期)2018-09-21 07:56:14
Mentor Grpahics宣布推出規(guī)??蛇_(dá)15BG的Veloce Strato平臺
汽車零部件(2017年2期)2017-04-07 07:38:47
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
地質(zhì)異常的奇異性度量與隱伏源致礦異常識別
四月份我國規(guī)模以上工業(yè)增加值增長5.9%
嚴(yán)控公立醫(yī)院規(guī)模過快擴(kuò)張
修辭學(xué)的重大定義
卢氏县| 庆城县| 乌鲁木齐县| 宿松县| 泽州县| 于都县| 青河县| 桦南县| 乳山市| 日喀则市| 长治县| 明溪县| 高青县| 平昌县| 西贡区| 海南省| 南充市| 浏阳市| 乐陵市| 双城市| 平凉市| 达州市| 华容县| 扶余县| 林芝县| 谷城县| 永和县| 达州市| 北票市| 仁布县| 吕梁市| 汝阳县| 彝良县| 棋牌| 沾化县| 纳雍县| 木里| 澄城县| 米脂县| 宣汉县| 亳州市|