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