午夜无码中文字幕影院,国产自产第一区c国产,久久久久久夜精品精品免费,国产99久久,夜夜夜夜曰天天天天拍国产,欧美日韩亚洲另类专区,国产精品区一区二区免费

專業(yè)信息系統(tǒng)項目管理師網站|培訓機構|服務商(2021信息系統(tǒng)項目管理師學習QQ群:89253946,客服QQ:800184589)

軟題庫 培訓課程
當前位置:信管網 >> 信息系統(tǒng)項目管理師 >> 其它資料 >> 文章內容
軟件項目估計
來源:信管網 2011年06月16日 【所有評論 分享到微信

  1 什么叫軟件項目估計

  眾所周知,軟件項目估計是軟件項目開發(fā)活動的重要環(huán)節(jié),但是,目前國內外還沒有一個對軟件項目定義的統(tǒng)一概念。大家都知道,軟件項目估計包括對軟件項目的規(guī)模、工作量和成本和BUG數(shù)等估計。但一些更細的問題還值得我們去深思和考慮,如

◇ 估計的對象是什么,

◇ 什么時間進行估計,

◇ 什么時候對估計的監(jiān)視和跟蹤,

◇ 估計的準確性標準是什么,什么是有效的估計,

◇ 哪些工作算估計的工作量,

◇ 如何選擇估計的方法和工具,

◇ 估計應遵守的原則和態(tài)度是什么,什么叫真誠估計,

◇ 什么人才能做估計人員,要有些什么知識和經驗,為什么要做軟件項目估計,

◇ 更深層次的問題,什么是估計文化,她包含哪些內容等(在英文中評估和估計是同一個詞estimations,但從漢角度理解,評估可以是對現(xiàn)有對象預測,如房產評估,整體資產評估,而估計偏向于對未成形的客觀事務的預測,如企業(yè)產品市場占有率估計等)。

  軟件項目估計的對象是整個軟件項目呢?還是項目的工作產品。根據SEI的SW_CMM模型定義,軟件工作產品和軟件產品不同,軟件工作產品是指在軟件項目開發(fā)過程中產生的各種工作產品,它包括需求分析說明書、設計說明書,源代碼等工程產品也包括項目管理的工作產品如周報,配置管理報告等。而軟件產品是指交付給客戶的軟件工作產品,它是軟件工作產品的一個子集,如執(zhí)行代碼,用戶手冊和維護手冊等。我們認為,軟件項目估計是一個課題,估計對象必須是客觀的,具體來說估計對象可以是需求分析說明書,執(zhí)行代碼和測試用例和最終提交給客戶的軟件系統(tǒng)或者它的一個子系統(tǒng)等,當然,一般概念的軟件項目估計是指提交給客戶的軟件系統(tǒng)的規(guī)模、完成它所需要的工作量和成本估計。軟件系統(tǒng)規(guī)??梢杂霉δ茳c,特征點和對象點以及執(zhí)行程序代碼行等數(shù)據和單位來度量,需求分析說明書的規(guī)模也可以用系統(tǒng)功能點,特征點和對象點等來度量,但也有用需求說明書文檔的大小和頁數(shù)來度量的。同樣,設計說明書,測試用例等都可以用系統(tǒng)的功能點,特征點和對象點來度量,也可以用文檔的大小和頁數(shù)來衡量。只是各種度量方法之間要有一個很好的可兌換性。換句話,從理論上講,需求分析說明書上的規(guī)模和最終提交給客戶的軟件系統(tǒng)的規(guī)模是一致的。但BUG數(shù)、工作量和成本的估計就不一樣, 軟件系統(tǒng)的BUG數(shù)、所需的工作量和成本,不是需求分析說明書、設計說明書、源代碼等對象的估計值 ,而是需求分析說明書、設計說明書、源代碼等對象的BUG數(shù)、工作量和成本的估計總和。

  什么時候進行軟件項目的估計?什么時候對估計的監(jiān)視和跟蹤?一般認為,軟件項目估計只是在項目啟動前的工作,其實不是這樣,在整個軟件開發(fā)和維護都有估計活動。如圖1所示。當然,具體估計時間隨著估計的方法和估計的對象不同會有區(qū)別。因為不同的度量方法要求具備的軟件項目資料準確度不一樣。

  我們認為軟件規(guī)模估計和軟件規(guī)模度量不同,軟件規(guī)模估計是在軟件工作產品沒有完成之間對軟件工程產品的估計,而度量活動應在軟件工作產品完成之后。當然,大部分軟件度量方法也可以用來進行軟件規(guī)模估計。同時,軟件規(guī)模估計和軟件規(guī)模度量一樣可以在軟件生命周期的每一個階段進行。作為估計活動,軟件規(guī)模估計也應該有計劃和跟蹤過程。

 

             圖1 軟件項目估計時間示意圖

  圖例說明:
    1=初步估計
    2=可信賴的估計(它是軟件項目管理如計劃的基礎)
    3...7=估計新對象和對以前估計的跟蹤
    7=以文檔的方式總結以前的估計
    8=維護期的估計,如對客戶新需求的估計

  在軟件企業(yè),特別是我國的軟件企業(yè),估計人員往往迫于領導要求盡快估計的壓力,草率地完成估計,導致錯誤的估計,影響項目的開發(fā)。事實上,估計人員應根據估計對象的具體情況,制定不同的估計計劃,計劃內容可以包括估計的對象說明,估計人員的角色和職責,估計的方法和估計,估計的風險識別,估計的工作量估計,估計活動進度安排(如收集估計的所需的信息安排,包括軟件需求,歷史數(shù)據等,進行估計,估計結果確定等)。大的估計活動還需要取得參與估計人員對估計計劃的承諾,交給機構高級管理者審閱后執(zhí)行估計活動,確保估計活動順利進行。

  軟件項目應在周例會或里程碑會議跟蹤項目估計情況。并隨著軟件開發(fā)活動不斷深入,在軟件開發(fā)后階段要對前一階段的估計進行跟蹤修正。隨著軟件開發(fā)不斷進行,開發(fā)人員或估計人員對軟件項目的具體細節(jié)越來越清楚,做出的估計結果也應該越來越精確(當然,軟件估計結果首先要求是準確的,而后才追求精確)。

  機構應收集這些估計數(shù)據(如圖1中?所列活動),包括估計活動本身的數(shù)據如估計工作量和估計結果,為以后估計活動提供指導。

  可以這樣理解,軟件項目估計是指以準確的調查資料和項目信息(如人員和設備信息)為依據,從估計對象的歷史、現(xiàn)狀和及其規(guī)律性出發(fā),運用科學的方法,對估計對象的規(guī)模,所需工作量和成本進行的測定。那些臨時憑個人經驗一時憑靈感或感覺對軟件項目規(guī)模和工作量的估計不是真正軟件項目估計。軟件項目估計是項目決策科學化的工具,是項目組編制計劃、預見計劃執(zhí)行情況、加強計劃指導的定量依據,也是企業(yè)改善經營管理的有效手段之一。同時,軟件項目估計在軟件貿易估價活動中起到重要的作用。

  2 軟件項目估計發(fā)展現(xiàn)狀

  目前,國際上已有許多軟件規(guī)模估計方法,如功能點(Function Point )、特征點(Feature Point)、對象點(Object Point)、德爾菲(Delphi)、模糊邏輯(Fuzzy Logic)、標準構件法(Standard Component )等,這些方法隨著各國研究者的不斷研究細化又有許多具體的方法,如國際功能點用戶協(xié)會(IFPUG The International Function Point Users' Group)提出的IFPUG方法、英國軟件度量協(xié)會(UKSMA United Kingdom Software Metrics Association )提出的Mk II FPA方法、荷蘭功能點用戶協(xié)會(NEFPUG Netherlands Function Point Users Group)提出的NESMA 方法以及軟件度量共同協(xié)會(COSMIC the COmmon Software Metrics Consortium)提出的COSMIC-FFP方法,這些方法都屬于Albrecht 功能點(Function Point )方法的發(fā)展和細化。

  目前大部分軟件估計方法有工具支持(如表1所示)。國際上目前已經有一些組織吸收和積累世界各地軟件企業(yè)的軟件估計和度量數(shù)據,建立了被廣泛使用的歷史數(shù)據庫,如在功能規(guī)模度量領域,有一個ISBSG(國際軟件基準組織International Software Benchmarking Standards Group)數(shù)據庫。另外,COCOMO II Estimating Model也有豐富的估計和度量數(shù)據提供。

表1 部分軟件度量方法及其支持工具
方法 支持的工具
數(shù)據點(Data Points PCCALC, SoftCalc
對象點(Object Points) SoftCalc
特征點(Feature Points) Checkpoint/KnowledgePlan
IFPUG Checkpoint/KnowledgePlan,
PCCALC, ISBSG-Venturi,
Function Points Workbench
Mark II FPA MK II Function Points Analyzer
FFPv1 HierarchyMaster FFP, FPCAnalyzer
FFPv2 HierarchyMaster FFP (supportfor FFPv2 in development)

  有些軟件規(guī)模估計方法被國際標準化組織(ISO)納入國際標準。如上面提到的IFPUG、Mk II FPA、NESMA和COSMIC-FFP方法。其中COSMIC-FFP是今年被國際標準化組織(ISO)正式批準納入國際標準的,其標準號是ISO/IEC 19761:2003。軟件度量共同協(xié)會COSMIC(the COmmon Software Metrics Consortium)是由澳大利亞、加拿大、芬蘭、愛爾蘭、意大利、日本、荷蘭和英國的軟件度量專家于1998年底自愿組成的,它的領導人是Alain Abran和Charles Symons。根據這些標準,國際上已有部分軟件產品價格估計公司,專門從事軟件價格的估計,軟件規(guī)模的估計是他們工作的基礎。但隨著面向對象、組件重用以及極限編程等新的軟件開發(fā)方法出現(xiàn),不斷有學者提出新的軟件規(guī)模方法,如如構件點(Construction Points)、預測性對象點(Predictive Object Points)。軟件規(guī)模估計已成為了軟件工程研究領域的一個重要方向。

  目前,我國從事軟件規(guī)模估計方法研究的人員較少,田俊國等人曾在軟件工程網的介紹德爾菲(Delphi)和功能點(Function Point )法。中南大學的李建華、費耀平等人參考德爾菲(Delphi)法,提出了一種叫兩兩比較(Paired-comparisons)的估計方法。 北京計算機應用和仿真技術研究所湯銘端、吳際等人在《軟件學報》上發(fā)表一種?quot;擴展功能點(EFP)"的軟件規(guī)模估計方法,我國有部分人員研制了對象點度量方法的支持工具,如合肥大學的Li Xinke等人曾開發(fā)過一種用于面向對象軟件度量的工具。

  如上所敘,軟件規(guī)模估計包括對許多不同的軟件工作產品的估計,如"需求文檔"、"設計文檔"、"源代碼"、"測試用例"等。隨著估計對象不同,度量規(guī)模的單位也不同,就軟件規(guī)模來說,衡量規(guī)模的單位有代碼行、功能點個數(shù)、平均繼承深度等。代碼行LOC常用于源代碼的規(guī)模估計,常使用的單位有SLOC( Single Line of Code)、KLOC(Thousand Lines of Code)、LLOC(Logical Line of Code)、PLOC(Physical Line of Code)、(N)CLOC ( (Non) Commented Line of Code)、DSI(Delivered Source Instruction)。功能點可以用于"需求文檔"、"設計文檔"、"源代碼"、"測試用例"度量,根據具體方法和編程語言的不同,功能點可以轉換為代碼行。平均繼承深度(Depth in Inheritance Tree)是對象點(Object Point)中一個度量方法。目前,國際上有部分學者(如德國的馬歌德保大學的Mathias Lother等人)正在研究各種度量方法和單位之間的兌換性,并呼吁從事軟件度量和估計工程和研究人員,在提出一種新的度量方法時候一定要考慮和其他方法之間的可兌換性。

  西方國家和印度的企業(yè)實際應用軟件項目度量和估計較多,有些企業(yè)還針對自己的行業(yè)特點開發(fā)適用于自己的軟件項目估計工具如波音公司開發(fā)一種叫3-D功能點估計方法,3-D功能點識別了反映應用程序難題的3維(數(shù)據,功能,控制)。數(shù)據難題多是MIS/商業(yè)軟件的典型,而科學/工程軟件是功能難題多,實時軟件是控制難題多。而波音軟件正是集這三個方面于一身,所以,3-D功能點適合于波音軟件的度量和估計。

  我國大陸有部分企業(yè)也正在進行科學的軟件規(guī)模估計和度量,但數(shù)量不多。Wu Simon在一次案例研究中調查過500家香港商業(yè)公司,發(fā)現(xiàn)進行過真正意義上的軟件項目估計的企業(yè)有79%,還有21%的企業(yè)沒有進行過科學的軟件項目估計。

  3 軟件項目估計的基本準則

  在軟件項目估計活動過程中,一些軟件從業(yè)人員往往會說,"軟件項目估計有什么用,我們估計的時候可能有456個功能點,可到交付的時候卻有600多個,根本就牛頭不對馬嘴"。是的,應用一些軟件度量方法進行軟件項目估計往往會給出一個精確的結果,如IFPUG功能點等,但是,我們認為,軟件項目估計首先要求結果是準確的,也就是正確的,而后再進一步要求精確的。錯誤的估計將影響項目管理人員決策,影響項目的開發(fā)。正是因為這樣,有些軟件項目估計方法不給出精確的結果,如有些模糊邏輯法,而是給一個范圍,如前面的例子,如果估計的時候說規(guī)模400~700個功能點,雖然和456個功能點比不夠精確,但是準確的。

  這并不是說軟件項目估計就是主觀想象,不可捉摸。在實際估計過程中可以借鑒一些實用的經驗觀點或者說行為準則來幫助減少估計的錯誤。如:

◇ 估計時間越早,錯誤越大

◇ 任何一個估計都比沒有估計好

◇ 估計文檔化做得越好,獲得估計經驗的機會越大

◇ 用于估計的資料數(shù)據越多,估計的結果越好

◇ 有關估計的對象的信息越準確,估計就越可能準確

◇ 估計的對象最好是比較小且工作單元是獨立的

◇ 在估計過程中,大部分通訊因素往往會被忽略

◇ 雖然有各種估計方法和公式,沒有1:1的轉換公式

◇ 實事求是的估計人員越多,估計的結果越客觀

◇ 估計的目的是用來做決策,而是估計完了就完了。

  一個有效的軟件項目估計應滿足以下特點或要求

● 軟件項目估計結果要能再現(xiàn)

  如上所說,具有越多的項目準確信息,估計的結果越準確。這并不是說后面的估計可以和前面的估計完全不同,兩者風馬牛不相干。有效估計是這樣,后面進行的估計在相同條件下,即擁有項目資料的相等的情況,不同的估計人員應用相同的估計方法,兩者的結果是一樣的。這就是項目估計結果的可再現(xiàn)性。當然,隨著項目不斷深入,估計人員應該會獲得更多,更詳細的項目資料,那么估計的結果應該也更加準確和精確。這種對估計過程進行比較可以為以后的估計積累更多的經驗。事實上,對估計活動連續(xù)的跟蹤可以建立一種機制,這種機制可以清楚的顯示項目需求等變更情況。(有人在連續(xù)進行軟件項目估計的企業(yè)做過調查,他們發(fā)現(xiàn),在項目的過程中,一般每月會有1~3%需求蔓延)

● 應用了多種估計方法

采用多種估計方法可以從不同的角度比較估計結果,減少估計的錯誤和保證安全

● 估計結果要經過事實求實地推敲和質疑

● 估計過程是可管理和控制的

● 估計過程是文檔化

  4 軟件項目估計方法

  大部分估計方法主要是提供一個對估計對象的規(guī)模的度量,在此基礎上,可以算出相關的工作量和成本。如果是對整個項目進行估計,得到的總體的成本可以根據一個百分比分配到軟件開發(fā)的每一個階段?,F(xiàn)在有許多不同的著名估計方法。Wide-band Delphi其實是估計過程向導,模糊邏輯法的目的是借助模糊邏輯理論,擬定量計算估計項目和參考項目的相似度,從而根據歷史項目(參考項目)的歷史數(shù)據計算估計項目的規(guī)模,這要求機構有歷史數(shù)據并且收集的歷史數(shù)據是有效的。代碼行、功能點和對象點等方法是根據軟件項目(或產品)的特征提出的軟件估計方法。從文獻來看,功能點方法是一種目前最受擁戴的方法,Cocomo模型也廣泛地被使用。在原理上,功能點方法和Cocomo模型都是基于客戶需求或軟件規(guī)模估計工作量。

  代碼行的缺點是要等到項目的最后階段才能得到,而且編碼一般只占10%左右系統(tǒng)開發(fā)工作量。如前文所敘,功能點方法的優(yōu)勢可以從目前有許多不同的功能點方法這個方面體現(xiàn)出來。 功能點方法的缺點是在項目的早期階段如需求分析階段得不到項目足夠的準確信息,可能估計的結果不過準確和足夠精確。但無論如何,不考慮目前提出的一些新的估計方法如構件點(Construction Points)、預測性對象點(Predictive Object Points)等未來的發(fā)展,功能點方法是目前最受歡迎和廣泛使用的方法,目前被國際標準化組織納入國際標準的方法都是功能點方法。

  自從1979年IBM的Albrecht提出第一個在世界范圍內有影響的功能點方法以來,許多針對原著變革、擴展的可供選擇的方法被提出來。圖2以時間順序顯示了包括那些在下面要詳細描述的方法的演變重要階段。方法之間的箭頭表示各個擴展版本的相互影響。圖中顯示最近的方法是COSMIC全面功能點。功能分析方法度量過程是對軟件功能和規(guī)模的間接定量度量,它基于客觀的外部應用接口和主觀的內部應用復雜度以及總體的性能特征,它包括三個邏輯部分組成:未調整的功能點、加權因子和功能點:

  功能大?。╰he functional size),通過度量每一個獨立的功能進行計算。這是指未調整的功能點(UFP unadusted function points)的度量過程。這個方面又包括數(shù)據流功能類型度量和事物功能類型度量,包括對外部輸入、外部輸出、外部查詢、內部邏輯文件和外部接口文件的計數(shù)。


圖2功能點方法發(fā)展歷程

   加權因子值(VAF the value adjustment factor),它通過規(guī)則中定義好了一般系統(tǒng)特征( GSC general systems characteristics )針對軟件的總體環(huán)境和處理過程的復雜度計算確定。包括劃定系統(tǒng)、輸入和輸出、應用復雜度的級別。

  圖3是功能點估計模型。功能點分析方法的結果是指調整過的功能點,它是用加權因子值值對未調整的功能點(UFP unadusted function points)調整的結果。


圖3 功能點估計模型

  目前FPA方法主要是指IFPUG方法,它被許多機構廣泛使用。但它有許多缺陷,其中之一就是他很難適用于MIS以外的軟件。1996年,加拿大人Alain Abran等人提出了全面功能點方法(Full Function Points),它擴展IFPUG方法,可以用于實時和嵌入式軟件。成立于1998年,以Alain Abran和Charles Symons(Mk II FPA 提出人)為首的軟件度量共同協(xié)會COSMIC集中了八個國家40多位的軟件度量專家,綜合考慮了IFPUG,MarkII,NESMA和FFP1.O版的優(yōu)缺點,通過了大量項目實踐,于1999年11發(fā)布了COSMIC-FFP2.0版。其實,在探索系統(tǒng)和實時軟件規(guī)模的道路上,在全面功能點方法之前還有"Bang 度量"、"3-D功能點" 、"特征點"等方法被提出。

  DeMarco's的咨詢活動常常使得他面臨比MIS系統(tǒng)更加復雜的軟件系統(tǒng)。1982他提出了Bang度量方法來度量系統(tǒng)和科學軟件的規(guī)模[17]。但是由于方法太繁瑣并且沒有工具支持,目前這種方法幾乎沒有人使用。

  3-D功能點是波音計算機服務公司1991年開發(fā)的一種覆蓋系統(tǒng)軟件(包括科學和實時領域)的度量方法。3-D功能點識別了反映應用程序難題的3維(數(shù)據,功能,控制)。數(shù)據難題多是MIS/商業(yè)軟件的典型,而科學/工程軟件是功能難題多,實時軟件是控制難題多[18]。 但目前該方法除了波音公司使用外,沒有其他企業(yè)使用。

  1998美國Artemis國際咨詢公司控股的軟件生產力研究有限責任公司(Software Productivity Research, Inc)開發(fā)了基于功能點一種實踐模型~特征點規(guī)模估計模型。特征點是IFPUG功能點4.0版的擴展,它加入一個運算法則的參數(shù)。據SPR介紹特征點規(guī)模估計方法更加適合于系統(tǒng)和實時軟件的度量,但也能用于MIS系統(tǒng)。對于MIS應用程序,特征點和IFPUG功能點的度量結果幾乎一樣。但沒有充分的數(shù)據顯示它能夠穩(wěn)定地進行使用,它具有很好的可再現(xiàn)性和可重復性。目前SPR也停止了該方法的支持。

  功能點估計方法有很多,它的優(yōu)點是它已經作為一種廣泛使用的方法被接受,目前正式軟件規(guī)模度量的主流方法;通過ISO組織有四種方法成為了國際標準,他們是

◇ 全面功能點版本2.1(Full Function Points version 2.1),

◇ IFPUG 功能點(IFPUG Function Points),

◇ Mark II功能點( Mark II Function Points),

◇ NESMA 功能點;

  但功能點估計方法也有許多需要克服的問題。Kemerer 引用了Pressmann觀點[13]:"功能點估計,像 LOC,也有相關的爭議…反對者說道,這種方法不是完全客觀和依靠數(shù)據,而是更多地需要一些基于主觀的計算手段…";Capers Jones 發(fā)現(xiàn),F(xiàn)P計算方法的變量結果可以在超過+/- 50%范圍內變化。還有G. Low 和D.R. Jeffery 也發(fā)表過聲明,"在組織內,功能點計算變化的范圍大約平均在30%之內…"。由此可見,可再現(xiàn)性和客觀性是功能規(guī)模度量方法的核心問題。此外,點度量方法作為一種傳統(tǒng)的度量方法,如何解決新技術所帶來的問題也是研究者們必須思考的問題,如面向對象系統(tǒng)的規(guī)模度量,組件重用帶來的實際開發(fā)功能規(guī)模和交付給客戶的功能規(guī)模不同的問題等等。這就是我們?yōu)槭裁凑f目前有許多軟件項目估計的公式,但還沒有一個1:1的轉換公式。

  5 結束語

  軟件項目估計是指以準確的調查資料和項目信息(如人員和設備信息)為依據,從估計對象的歷史、現(xiàn)狀和及其規(guī)律性出發(fā),運用科學的方法,對估計對象的規(guī)模,所需工作量和成本進行的測定。它是企業(yè)項目管理的有效手段之一,也是軟件貿易活動中價格估計的重要手段。目前國際上有許多軟件項目估計的方法和工具,有的已經成為國際標準。軟件項目估計應該是可重復和再現(xiàn)的,這是軟件項目估計準確與否可以實踐的檢查標準。

  目前國內外已經有許多軟件項目估計方法,有的方法已經被國際標準化組織納入國際標準。 軟件項目估計將是軟件開發(fā)過程中一個重要過程,一個具有非常意義的工程活動。
 

掃碼關注公眾號

溫馨提示:因考試政策、內容不斷變化與調整,信管網網站提供的以上信息僅供參考,如有異議,請以權威部門公布的內容為準!

信管網致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。

信管網軟考課程由信管網依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。

相關內容

發(fā)表評論  查看完整評論  

推薦文章