軟件技術論文范文
軟件技術是一個發(fā)展變化非??斓男袠I(yè),軟件人才要按照企業(yè)和領域需求來確定培養(yǎng)的方向。下面是由學習啦小編整理的軟件技術論文范文,謝謝你的閱讀。
軟件技術論文范文篇一
淺談軟件項目估算技術
摘 要:由于軟件產品自身的特殊性,導致軟件項目的估算工作進行困難,估算結果準確性差。為了解決這一問題,產生了很多不同的軟件項目估算技術,本文對各種估算技術的主要思想及其優(yōu)缺點進行簡單的闡述。尤其是對功能點估算技術,本文做了詳細的介紹,并通過實例加以說明其應用方法。
關鍵詞:規(guī)模估算;成本估算;實例應用
中圖分類號:TP311.5
軟件項目的估算歷來是比較復雜的事,因為軟件本身的復雜性、歷史經驗的缺乏、估算工具缺乏以及一些人為錯誤,導致軟件項目的估算往往和實際情況相差甚遠。因此,估算錯誤已被列入軟件項目失敗的四大原因之一。由此,也證明了正確對軟件項目進行估算是何等重要。
在軟件項目管理中,估算就是對項目將持續(xù)多長時間或花費多少成本的預測。所以說,估算正是一種對未來的預測。從這里也看以看出估算的重點就在“工作量估算”或“成本估算”,而在對這兩者進行估算的過程中大多數情況下都少不了“軟件規(guī)模”這個條件,所以本文將軟件估算分為兩種類型,第一個種是軟件項目規(guī)模的估算,第二種是將估算得出的規(guī)模轉換為工作量的估算或成本的估算。目前使用比較廣泛的規(guī)模估算技術,如:代碼行估算技術、功能點估算技術;而使用比較廣泛的成本估算技術,如:COCOMO算法模型估算技術。
除了上述所列舉的幾種技術外,還有幾種估算技術既可以用于估算規(guī)模,也可直接應用與估算工作量或估算成本,如:Delphi估算法、類比估算技術、PERT估算技術。這幾種估算技術不似前面所列的技術,比較有針對行,且有具體的計算過程、計算公式。這幾種技術只是一種思想,依據某個選定的科目進行估算。下面本文將簡單介紹上述提到的幾種估算技術,并通過具體的實例重點闡述功能點估算技術。
1 估算技術簡介
1.1 代碼行估算技術。代碼行(LOC)指所有的可執(zhí)行的源代碼行數,包括可交付的工作控制語言(JCL:Job Control Language)語句、數據定義、數據類型聲明、等價聲明、輸入/輸出格式聲明等[1]。代碼行估算技術主要是估算軟件的規(guī)模,即通過該技術估算待研發(fā)軟件項目有多少行代碼。一般為了方便表示,使用較大的單位千代碼行(KLOC)來表示待研發(fā)軟件項目的規(guī)模大小。這種方法比較適用于有經驗積累和開發(fā)模式穩(wěn)定的公司。如果是新成立公司,使用這種估算技術則會存在很大誤差,加大項目失敗的風險。
1.2 功能點估算技術。功能點法是一種經過實踐驗證的方法,但應用成本很高,估算的工作量投入也較大。功能點估算技術最終結果是規(guī)模,仍然需要知道項目的生產率數據才能得出實際的工作量。功能點估算技術將系統功能分為輸入、輸出、查詢、外部文件和內部文件5種類型。其中,輸入是一個數據跨越系統邊界,從外部到內部的基本數據處理過程。數據的來源可以是人機輸入界面/接口,或是另一個應用系統;輸出是一個衍生數據跨越系統邊界,從內部到外部的基本數據處理過程。這些輸出的數據可能會產生報表,或發(fā)到其他外部系統的輸出文件;查詢是一個不包含衍生數據和數據維護的基本數據處理過程,包括輸入和輸出兩部分;內部文件存在于系統邊界之內,用戶可識別的一組邏輯上相互關聯的數據;外部文件存在于系統邊界之外,用戶可識別的一組邏輯上相互關聯的數據。使用功能點估算技術估算的大概步驟為:
(1)通過需求分析將系統功能按照上述5種類型進行分類。
(2)分析每個功能項的復雜程度,大致分為一般、簡單、復雜三種類型,每一種類型都對應一個權重值,具體如表1。
(3)根據每個功能項的復雜權重值,求出功能項的加權和,即為未調整功能點數(UFC)。
(4)分析該系統的技術復雜度,功能點估算將與系統相關的技術影響因素分為14組(用Ai表示),每個分為6個級別,權重分別從0至5。根據分析結果及公式計算技術復雜度因子(TCF),即TCF=0.65+0.01(SUM(Ai))。
(5)將UFC與TCF相乘即為功能點數。
1.3 COCOMO算法模型。Cocomo模像是一個分層次的系列軟件成本估算模型,包括基本模型、中級模型和詳細模型3個子模型。3個模型采用同一個計算公式,即E=asb×EAF[2]。其中,E是以人月為單位的工作量;S是以KLOC為單位的程序規(guī)模;EAF是一個工作量調整因子,在基本模型中該項值為1,中級模型和詳細模型中根據成本驅動因素確定;a和b是隨開發(fā)模式而變化的因子,這里開發(fā)模式被分為3中類型,即有機式、半分離式和嵌入式。
Cocomo算法模型是一種精確易用的估算方法,如果項目沒有足夠多的歷史數據,會使得各調整因子和系數很難確定,進而使得估算比較困難。但是一旦項目建立起這種模型,則通過Cocomo模型得出的項目工作量和項目周期具有更高的準確度。
1.4 Delphi估算技術。Delphi估算技術又被成為專家估算技術,它是由一個被認為是該任務專家的人來進行估算,且估算過程很大一部分是基于不清晰,不可重復的推理過程,也就是直覺。所以該技術中專家“專”的程度及對項目的理解程度是該技術的重點,也是難點,它的好壞直接影響估算結果的準確程度。
Delphi估算技術估算過程并不像功能點估算技術或COCOMO算法模型那樣,有明確的計算方法或計算公式。它是將待估算的項目的相關信息發(fā)給專家,專家估算后由專門的負責人進行匯總,然后再發(fā)給專家估算,反復幾次后得到一個估算結果,可見只是一種思想,所以它除了用來估算規(guī)模,也可以用來估算成本、風險等,即對選定的某個科目進行估算。
1.5 類比估算技術。“類比估算”,顧名思義是通過同以往類似項目(如應用領域、環(huán)境和復雜程度等)相比較得出估算結果。類比估算技術是一種粗略的估算方法,它估算結果的精確度取決于歷史項目數據的完整性和準確度。類比估算技術與Delphi估算技術類似,它的用途不僅僅用在規(guī)模估算上,也可以估算成本、工作量等。 1.6 PERT估算技術。PERT估算技術,又稱為計劃評審估算技術,它對需要估算的科目(如規(guī)模、成本、工期等)按三種不同情況估算:一個樂觀估算結果,一個最可能估算結果,一個悲觀估算結果。再通過這三個結果計算得到一個期望規(guī)模和標準偏差。這種估算技術可以用于估算規(guī)模,同樣也可以用于估算工期,相比較來說PERT技術估算的結果比類比估算技術的結果要更準確。
2 功能點估算技術應用實例
假設某員工管理系統,經過需求分析得知,該系統所包含功能如下:
(1)員工信息維護:添加員工、修改員工信息、查詢員工信息;
(2)部門信息維護:添加部門、修改部門信息;
(3)工資統計:統計員工年薪,并打印輸出。
其中,在該系統中添加一個員工資料,會使用到員工的基本信息:員工ID(標簽控件)、姓名、性別、年齡、婚否、部門ID;教育情況:學校名稱、所學專業(yè)、學歷。對部門的維護會使用到部門的信息:部門ID(標簽控件)、部門名稱。員工工資信息由另外一個財務系統提供,工資表信息有員工的基本信息:員工ID(標簽控件)、姓名、部門名稱;工資信息:工資級別、工資金額。
根據功能點估算技術估算步驟,首先計算未調整功能點數,即各種類型功能項的加權和,分析該系統6個功能項所屬類型及其復雜權重值如表2:
假設該項目的14個技術復雜度因子均為“有一定影響”,即權重值均為2,則該項目功能點數為:FP=45×(0.65+0.01×14×2)=41.85。如果知道該項目使用何種語言,可以將功能點數轉換為代碼行數。
3 結語
本文對目前比較流行的幾種軟件項目估算技術做了簡單介紹。重點講述了功能點估算技術,并通過一個實例演示了功能點估算技術的應用方法。通過本文描述可以看出每種項目估算技術都有其自己的優(yōu)缺點,如果想要得到比較準確的估算結果,不能僅靠一種估算技術,而應該綜合運用各種估算技術,才能得到比較全面的信息和比較準確的結果。目前,也有一些基于這些估算技術的思想的自動化估算工具產生,相信通過不斷的發(fā)展,將解決軟件項目成本估算難的問題。
參考文獻:
[1]朱少民.軟件項目管理[M].北京:清華大學出版社,2009-11.
[2]覃征等.軟件項目管理[M].北京:清華大學出版社,2004.
[3]李明樹,何梅,楊達,舒風笛,王青.軟件成本估算方法及應用[J].Journal of Software,Vol.18, No.4, April 2007,775-795.
[4]The David Consulting Group ,Function Point Counting Practices Manual Release 4.2.1,January 2005,
[5]劉謙.軟件項目估算方法在敏捷開發(fā)中的實踐.中國管理網,2010-06-18.
作者簡介:王穎,女,研究生,軟件工程專業(yè);江文焱,男,研究生,軟件工程專業(yè)。
點擊下頁還有更多>>>軟件技術論文范文