• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于功能點的軟件度量在項目管理中的應(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ā)進度表。但不準(zhǔn)確的規(guī)模評估將導(dǎo)致項目預(yù)算和工作進度的較大偏差。因此,對軟件項目如何進行準(zhǔn)確的規(guī)模評估研究是一個重要而切實的問題。

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

      1 軟件度量方法分析

      軟件產(chǎn)業(yè)最初的度量實踐來自對軟件規(guī)模的估算,自20 世紀(jì)80 年代,對軟件規(guī)模測算的各種各樣的方法就開始被提出來,例如:功能點分析(FPA,function points analysis)、代 碼 行(LOC,lines of code)、德爾菲法(Delphi technique)、COCOMO 模型、特征點(feature point)、對象點(object point)、3-D功能點(3-D function points)、Bang 度量(DeMarco's bang metric)、模糊邏輯(fuzzy logic)和標(biāo)準(zhǔn)構(gòu)件法(standard component)等,這些估算方法又會不斷細化為更多具體的方法。

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

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

      2.1 功能點分析方法介紹

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

      功能點測量中的基本功能要素被分為兩大類共五個功能要素。(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)決定。

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

      功能點分析法(FPA)認為整個項目的規(guī)模由信息處理規(guī)模、技術(shù)復(fù)雜度、功能點數(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 功能點權(quán)值表

      計算關(guān)系式為

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

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

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

      (3)計算功能點數(shù)

      將功能點數(shù)乘以修訂系數(shù),則得到修訂以后的功能點數(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ù)元素的過程。

      確認(Confirm)活動 確認數(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ī)則通過定義各自的功能點分析變量給出的。在表示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ù)據(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ù)集進行抽象。

      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 方法組件的描述,功能點分析(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ū)分這些需求。因此,認為外部接口文件(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ù)雜度等級所得到的功能點數(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 功能點分析方法在項目管理中的應(yīng)用

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

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

      表3 功能點劃分

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

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

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

      表4 功能點賦值表

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

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

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

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

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

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

      4 結(jié) 語

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

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

      [2]余方,李娟,王曉程,等. 功能點分析方法研究[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ī)模定義
      2024年底A股各板塊市場規(guī)模
      有趣的度量
      模糊度量空間的強嵌入
      迷向表示分為6個不可約直和的旗流形上不變愛因斯坦度量
      規(guī)模之殤
      能源(2018年7期)2018-09-21 07:56:14
      Mentor Grpahics宣布推出規(guī)??蛇_15BG的Veloce Strato平臺
      汽車零部件(2017年2期)2017-04-07 07:38:47
      成功的定義
      山東青年(2016年1期)2016-02-28 14:25:25
      地質(zhì)異常的奇異性度量與隱伏源致礦異常識別
      嚴(yán)控公立醫(yī)院規(guī)模過快擴張
      修辭學(xué)的重大定義
      新宁县| 汾西县| 白山市| 崇义县| 清流县| 河西区| 九江市| 闽侯县| 峨边| 小金县| 古交市| 郯城县| 中西区| 天峨县| 大埔区| 崇左市| 巧家县| 融水| 红原县| 东阿县| 静海县| 贵南县| 巩留县| 饶阳县| 襄垣县| 东至县| 南康市| 新安县| 西青区| 青冈县| 乌拉特中旗| 泊头市| 安泽县| 临泉县| 襄汾县| 青河县| 湘西| 巴南区| 星子县| 庐江县| 镇雄县|