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