存在需求變更的信息系統造價評估方法的研究

發表于:2011-10-09來源:中國軟件評測中心作者:吳松點擊數: 標簽:需求變更信息系統造價評估功能點分析
本文針對需求變更對信息系統造價的影響,提出一種造價評估方法;分析了存在需求變更的信息系統建設的特點;以功能點分析方法為基礎,通過引入貢獻因子,得到了造價評估方法的形式化表達;采用理論和經驗相結合的方式,給出了相關參數的獲取方法。

  一、引言

  隨著信息技術的不斷進步,信息系統的規模不斷擴大、復雜度不斷增加、造價越來越高,由此帶來了信息系統投資風險的不斷加大,使得信息系統造價評估的重要性越發凸顯,成為影響信息系統相關各方計劃、決策、實施的重要因素。良好的造價評估,對于規范信息產業發展、減少各方矛盾、提高工程質量具有重要意義。因此,學術界和工業界對信息系統造價評估開展了大量研究,提出了許多造價評估方法,比較著名的有基于功能點的分析[1]、COCOMO[2]、COCOMOⅡ[3]等等。

  由于當前社會發展速度越來越快,人們的生產生活模式變化也越來越迅速,這對信息系統的建設也造成了重大影響。許多在信息系統開發之初制定的需求,在開發過程中就會發生變化,需求變更是信息系統開發過程中普遍存在的現象,這給信息系統的造價評估帶來了新的挑戰。當前的造價評估方法沒有考慮到開發過程中需求變更的影響,使相關各方難以把握系統的造價,為項目的實施帶來不便。

  鑒于此,本文提出一種針對需求變更的信息系統的造價評估方法。由于該方法以功能點分析法為基礎,因此本文將首先對功能點分析法做簡要介紹,然后再詳細闡述該方法。

  二、基于功能點分析的造價評估方法

  基于功能點分析的信息系統造價評估方法如下:

  其中BC為通過該模型得到的造價評估值。

  UFC是初步功能點數,通過功能要素換算得到。在功能點分析法中,共有五類功能要素,分別是:內部邏輯文件(Internal Logical Files,ILF)、外部接口文件(External Interface Files,EIF)、用戶輸入(External InPuts,EI)、用戶輸出(External Outputs,EO)、用戶查詢(External Inquiries,EQ)。

  CRR為代碼復用比率:指在軟件系統中,被重復使用的代碼所占的比率。

  TFC為技術復雜度因子:是軟件系統技術復雜程度的度量。其值取決于以下14個方面:數據通訊、軟件性能、可配置性、事務效率、實時數據輸入、用戶界面復雜度、在線升級、復雜運算、代碼復用性、安裝簡易性、操作方便性、跨平臺要求、可擴展性、分布式數據處理。

  PM為軟件人員的人月成本:是指軟件企業一個月平均需要的所有成本開銷(包括工資、獎金、福利、辦公成本、國家各種稅費、管理費用等等)及軟件企業合理利潤的總和,除以企業員工人數。

  SLOC是程序代碼的行數,其值由語言類型L 決定,L與SLOC的對應關系,如表1所示。為了便于討論,本文假定所研究的軟件系統是單一語言的,即在系統開發過程中,L是不變的。

  表1 L與SLOC的對應關系

  關于UFC、CRR、TFC、PM的具體計算方法可參考文獻【1】,限于篇幅,此處不再贅述。

  三、考慮需求變更的造價評估方法

  在信息系統項目實施過程中,需求變更對于前期的工作來說,會產生繼承和破壞兩重后果,即在需求變更后,前期的部分成果可以繼續使用,而其余的成果將被舍棄。本文的方法就是基于這種思想展開的。

  3.1總述

  設S0是需求變更前的軟件系統、S1是需求變更后的軟件系統,則帶有需求變更的信息系統的總的造價評估值BC為:

  BC0為S0的造價評估值,有:

  UFC0、CRR0、TFC0、PM0分別為S0的初步功能點數、代碼復用比率、技術復雜度因子和軟件人員的人月成本。

  BC1是S1的造價評估值,有:

  UFC1、CRR1、TFC1、PM1分別為S1的初步功能點數、代碼復用比率、技術復雜度因子和軟件人員的人月成本。

  由于需求變更前后的軟件系統會發生變化,導致UFC、CRR、TFC、PM的調整,故這些參數在BC0和BC1的評估中的取值可能不同。

  D1和D2是在需求變更發生時,已開發工作對于S0和S1貢獻因子,將在下一節討論。

  3.2相關參數的確定方法

  在帶有需求變更的軟件系統的造價評估中,需要重點評估以下兩方面的因素:

  (1) 在需求變更發生之前得到的成果對S0的影響;

  (2) 在需求變更發生之前得到的成果在S1中的影響。

  在需求變更發生之前得到的成果對S0和S1的影響分別用貢獻因子D1和D2來度量。

  由于已完成的工作量并不能構成一個完整的系統,而基于功能點分析法的造價評估模型中的參數都是針對于一個完整系統進行估算的,因此本文采用補余法來估算已完成工作的造價。具體的做法是假定該系統已經完全開發完成,根據已開發完成的工作在整體中所占的比重來估算其造價。同時,又由于已完成的工作量很難用調整后的功能點(即 UFC×CRR×TFC)來表示,所以本文采用初步功能點數(即UFC)來計算工作量。

  設UFCA是變更發生時,已經開發的功能點數(即針對S0的需求分析,開發出來的功能點數。該值可以是非整數值,因為某些功能點可能已經開始開發,但并未開發完成),UFCB是在開發S0時完成的,且在S1中依然被保留的功能要素的功能點數(該值同樣可以是非整數值)。

  設E是從開發S0開始到需求變更發生時,已經進入開發階段的功能要素構成的集合,e∈E, We是e的復雜度加權因子(Complexity weights Factor), Pe是e完成的比例,Qe是e在變更后的系統S1中被保留的比例,則

  UFCA是在開發S0時得到的功能點數,但是已完成工作對S0的貢獻并不僅僅是這些,因為S0中未開發的部分里,有些是可以通過復用已完成的代碼得到的,已完成工作的這部分貢獻記為UFCC。

  同理,UFCB也不是已完成工作對S1的全部貢獻,因為S1中除UFCB以外的其它部分里,有些是可以通過復用已完成的代碼得到的,已完成工作的這部分貢獻記為UFCD。

  設F是S0中包含未完成工作的功能要素構成的集合(包括兩部分:一、已進入開發階段但未開發完成的功能要素;二、未進入開發階段的功能要素),f∈F,Wf是f的復雜度加權因子,Rf是f中可以通過復用已完成的代碼來實現的工作占f的總工作的比例。則

  設G是S1中含有“非S0的保留工作”的功能要素組成集合,g∈G,Wg是g的復雜度加權因子, Tg是g中可以通過復用UFCA中的代碼來完成的工作占g的總工作的比例。則

  UFCB和UFCD的區別是:UFCB代表的是在 S0中已進入開發,并且在S1中被直接保留下來的工作量;UFCD代表的是S1中其他的可以通過參考或復用中已得到代碼來完成的工作量。

  貢獻因子D1和D2表征的是在變更發生時,已完成的工作量分別占S0和S1的工作量的比率,因此通過以上分析,有

  將D1和D2代入公式(1)后,可得到展開后的造價評估值為:

  四、結束語

  本文對存在需求變更的信息系統的造價評估問題進行了研究,給出了一種造價評估方法的模型。引入貢獻因子是該方法的主要特點,旨在描述需求變更對變更前、后兩個階段的造價的影響。由于該造價評估方法包含一定的經驗成分,因此,在實踐中修正方法中的各項參數、提高評估準確性、確定方法的適用范圍是下一步研究工作的重點。

  參考文獻

  [1] 李幟,林立新,曹亞波. 功能點分析方法與實踐[M].北京:清華大學出版社,2005

  [2] B W Boehm. Software Engineering Economics[ M ] . New Jersey:Prent ice Hall, 1981.

  [3] J W Bailey, V R Basili. A Meta Model for Software Development Resources Expenditures[ A] . Proc of the 5th Int Conf on Software Engineering[ C] . 1981. 107-116.

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97