黃 強(qiáng)
摘要:文章論述了基于LOC、Delphi法、經(jīng)驗(yàn)類比法、功能點(diǎn)分析法、COCOMO法等各種成本估算方法設(shè)計開發(fā)軟件成本估算專家輔助系統(tǒng)。針對開發(fā)需求,研究了理論框架結(jié)構(gòu)、人員框架結(jié)構(gòu),以及該系統(tǒng)的工作過程和需求事項(xiàng)。框架為軟件設(shè)計提供了清晰的結(jié)構(gòu),是開發(fā)專家系統(tǒng)的基礎(chǔ)。
關(guān)鍵詞:軟件成本估算;專家輔助系統(tǒng);框架;裝備軟件;開發(fā)需求
中圖分類號:TP393
文獻(xiàn)標(biāo)識碼:A
文章編號:1009-2374(2009)17-0041-02
進(jìn)行準(zhǔn)確的裝備軟件成本估算是保證裝備軟件開發(fā)順利進(jìn)行的關(guān)鍵和必要手段,也是保證裝備采購人員能夠?qū)ρb備軟件進(jìn)行準(zhǔn)確定價,避免軍費(fèi)浪費(fèi)。但是,當(dāng)前對裝備軟件成本估算的手段單一,方法不多,不夠精確。在裝備軟件的估算過程中,由于裝備軟件開發(fā)過程的諸多不確定性,導(dǎo)致在估算過程中必須要有具備深厚專業(yè)知識的專家人員,但是在產(chǎn)品開發(fā)的實(shí)際中,這種專業(yè)深厚的高水平專家人員比較少,完全依靠領(lǐng)域?qū)<襾磉M(jìn)行估算成本代價太高,不切實(shí)際。因此,設(shè)想開發(fā)一套裝備軟件成本估算專家輔助系統(tǒng),用于在開發(fā)過程中對裝備軟件的項(xiàng)目時間、成本進(jìn)行估算,解決缺乏專業(yè)領(lǐng)域?qū)<胰藛T的情況下對裝備軟件進(jìn)行估算。估算人員只需要輸入開發(fā)軟件的相關(guān)信息或者整個軟件編碼,經(jīng)過系統(tǒng)的匹配和綜合的估算,把估算結(jié)果顯示于界面上,方便快捷。如圖1所示:
一、開發(fā)背景
當(dāng)前,裝備軟件成本估算主要存在估算的方法有限,精確度不夠,直接影響了裝備軟件的設(shè)計開發(fā)和增加了采購成本。主要表現(xiàn)在兩個方面:
1、裝備軟件的設(shè)計開發(fā)主要是依據(jù)軍方立項(xiàng),通過國家指定的軍品生產(chǎn)廠方,依據(jù)確定的標(biāo)準(zhǔn)和要求進(jìn)行的。但是大多數(shù)承制方缺乏專業(yè)領(lǐng)域知識深厚的專家,并且,裝備軟件的設(shè)計開發(fā)缺乏市場競爭,參與的企業(yè)少,規(guī)范的軟件生產(chǎn)企業(yè)不多,對設(shè)計開發(fā)過程中的裝備軟件成本估算不足,因而直接影響了裝備軟件開發(fā)的順利進(jìn)行和產(chǎn)品質(zhì)量。
2、在軍方采購人員中,大部分人員是軍校畢業(yè)后直接進(jìn)入采購部門工作,既沒有經(jīng)過專業(yè)的理論培訓(xùn)也沒有相關(guān)領(lǐng)域的經(jīng)驗(yàn),對軟件的成本估算只懂皮毛甚至不懂,大部分是按照國家關(guān)于軍品的微利補(bǔ)貼原則,以承制方的價格為基礎(chǔ)進(jìn)行采購,這樣條件下的采購無疑是帶有較大的盲目性,難以避免對軍費(fèi)的浪費(fèi)。因此,如果能設(shè)計一套專家輔助系統(tǒng),其意義較重大。
二、設(shè)想理論框架
裝備軟件成本估算專家輔助系統(tǒng)理論框架主要由兩個部分組成。一個是存儲各種算法和估算標(biāo)準(zhǔn)的數(shù)據(jù)庫。該數(shù)據(jù)庫由算法知識庫、歷史模型庫、儲存比較庫、智能估算執(zhí)行庫組成。算法知識庫主要是對當(dāng)前各種關(guān)于裝備軟件成本估算的算法進(jìn)行編程存檔(LOG法、Delphi法、經(jīng)驗(yàn)類比法、功能點(diǎn)估計法、COCOMO法等),主要提供給智能執(zhí)行庫的估算模型原則。歷史模型庫主要存儲許多歷史經(jīng)典裝備軟件模型,收集盡可能多的模型,為估算軟件提供近似匹配依據(jù)。智能估算執(zhí)行庫主要是完成對輸入的估算程序調(diào)用算法知識庫中的各種算法進(jìn)行估算,同時對裝備軟件進(jìn)行歷史模型匹配,得到近似估算值,儲存結(jié)果比較庫主要是把各種估算結(jié)果存儲下來并根據(jù)智能執(zhí)行庫的指令進(jìn)行比較,最后對估算值進(jìn)行按預(yù)定比例系數(shù)進(jìn)行加權(quán)處理,得到最終估算結(jié)果經(jīng)傳輸設(shè)備傳出。另一個框架就是操作系統(tǒng)和人機(jī)交換框架,主要是操作系統(tǒng)對第一個框架內(nèi)的各種數(shù)據(jù)進(jìn)行維護(hù)管理,科學(xué)地組織和存儲數(shù)據(jù),高效地獲取和維護(hù)數(shù)據(jù),準(zhǔn)確的物理尋址,并及時對數(shù)據(jù)進(jìn)行更新,用戶通過人機(jī)交互界面與系統(tǒng)打交道,把要估算的裝備軟件信息或者編碼輸入進(jìn)計算機(jī),調(diào)用第一個框架內(nèi)的數(shù)據(jù),獲取知識,并進(jìn)行推理,得到解釋,并對數(shù)據(jù)庫進(jìn)行維護(hù),并把估算結(jié)果顯示出來。
三、開發(fā)人員框架
裝備軟件成本估算專家輔助系統(tǒng)的功能是完成對裝備軟件的成本估算,主要為解決廠方在進(jìn)行軟件項(xiàng)目開發(fā)時對軟件成本的預(yù)算不準(zhǔn)和軍方在采購過程中對裝備軟件的知識不深厚導(dǎo)致對其成本估算不準(zhǔn)確。在開發(fā)這個系統(tǒng)需要四類人員參與才能完成開發(fā)。第一類就是眾多領(lǐng)域?qū)<疫M(jìn)行知識收集和整理,建立各種算法和模型;第二類就是知識工程師進(jìn)行知識建模、形式化、編輯以及語法檢查;第三類是開發(fā)軟件工程師根據(jù)系統(tǒng)的目的和已建模型進(jìn)行系統(tǒng)設(shè)計和調(diào)試;第四類是最終用戶對系統(tǒng)進(jìn)行軟件成本估算。如圖2所示:
四、開發(fā)需求
裝備軟件成本估算專家輔助系統(tǒng)首先要對目標(biāo)用戶的要求做出準(zhǔn)確定位。即:裝備軟件成本估算專家輔助系統(tǒng)主要是供給廠方在進(jìn)行裝備軟件項(xiàng)目開發(fā)和軍方在對裝備軟件采購定價時用,因此,對廠方和軍方最需要了解的是裝備軟件成本的組成和估算精確度的問題。由此可以確定該系統(tǒng)要達(dá)到的要求,以及用什么方式實(shí)現(xiàn)這些要求,這就需要組織大量的專業(yè)領(lǐng)域?qū)<疫M(jìn)行論證和算法研究及建模,收集更多的歷史模型,方便地對模型進(jìn)行建模管理、存取管理、運(yùn)行管理、模型組合,能方便地對知識進(jìn)行插入、修改、更新、查詢等,及時對數(shù)據(jù)庫進(jìn)行維護(hù)和更新。
五、工作過程
首先,由眾多領(lǐng)域?qū)<疫M(jìn)行知識的收集整理,進(jìn)行各種算法的研究探討,并對算法進(jìn)行驗(yàn)證可行,此過程也稱為抽象的過程;在此基礎(chǔ)上,由知識工程師根據(jù)領(lǐng)域?qū)<业母鞣N算法進(jìn)行數(shù)學(xué)建模,成為可以理論計算的模型,此過程就是把抽象到具體的過程;然后,由軟件開發(fā)工程師根據(jù)已有的數(shù)學(xué)模型進(jìn)行計算機(jī)編程,成為計算機(jī)可執(zhí)行的程序編碼并存儲與計算機(jī)內(nèi),此過程就是把具體到應(yīng)用的過程;在前三個過程結(jié)束后,實(shí)際工作中的用戶只需要將相關(guān)信息輸入進(jìn)計算機(jī)便可以進(jìn)行成本的估算了。用該系統(tǒng)進(jìn)行成本估算主要有兩種工作方式:一種是廠方進(jìn)行裝備軟件項(xiàng)目的開發(fā)設(shè)計時,主要對該軟件項(xiàng)目的成本進(jìn)行預(yù)算;一種是針對軍方采購人員進(jìn)行采購是便于對裝備軟件的定價而進(jìn)行成本估算。總的來說其原理是一樣的。用戶把需要估算的軟件相關(guān)信息或者整個程序編碼輸入計算機(jī),通過操作系統(tǒng)把相關(guān)信息傳輸?shù)街悄軋?zhí)行庫,智能執(zhí)行庫根據(jù)接收到的相關(guān)信息進(jìn)行分項(xiàng)估算,調(diào)用算法庫中的相關(guān)算法結(jié)合相關(guān)的信息進(jìn)行估算,把估算的結(jié)果存儲在存儲比較庫中暫存,再根據(jù)歷史模型庫中的模型匹配進(jìn)行概算,得到的結(jié)果也存儲于存儲比較庫中暫存,最后智能執(zhí)行庫根據(jù)存儲比較庫中的暫存數(shù)據(jù)進(jìn)行加權(quán)平均計算,將最后優(yōu)算得結(jié)果經(jīng)操作系統(tǒng)的指令直接傳出到人機(jī)交互界面,供給用戶參考。
六、結(jié)語
成本估算專家輔助系統(tǒng)的主旨是在缺乏專業(yè)領(lǐng)域?qū)<胰藛T的情況下,便于裝備軟件在開發(fā)設(shè)計時能準(zhǔn)確對其成本進(jìn)行預(yù)算和在采購時便于對裝備軟件定價而進(jìn)行估算。文章中的理論框架為軟件設(shè)計提供了清晰的結(jié)構(gòu),是開發(fā)裝備軟件成本估算專家輔助系統(tǒng)的基礎(chǔ)。開發(fā)裝備軟件成本估算專家輔助系統(tǒng)在理論框架、人員框架、開發(fā)需求的指導(dǎo)下,通過詳細(xì)設(shè)計、數(shù)據(jù)庫設(shè)計、編碼實(shí)現(xiàn)、測試等過程實(shí)現(xiàn)系統(tǒng)全部功能。開發(fā)該系統(tǒng)之前需要大量的工作才能完成,但是一旦該系統(tǒng)設(shè)計開發(fā)完成后,將對實(shí)際工作過程中具有重要現(xiàn)實(shí)意義。文中提出的框架結(jié)構(gòu)和開發(fā)需求對于裝備軟件成本估算以及裝備軟件成本估算專家輔助系統(tǒng)設(shè)計研究具有很好的指導(dǎo)作用。
參考文獻(xiàn)
[1]張家浩,白思俊,軟件項(xiàng)目管理[M]機(jī)械工業(yè)出版社,2005
[2]李幟,林立新,曹亞波,功能點(diǎn)分析方法與實(shí)踐,北京:清華大學(xué)出版社,2005
[4]任永昌,趙穎應(yīng)用COCOMOI模型估算軟件開發(fā)工作量渤海大學(xué)學(xué)報(自然科學(xué)版),2007,23(3)
[5]尹朝慶,尹皓,人工智能與專家系統(tǒng),北京:中國水利水電出版社,2002
作者簡介:黃強(qiáng)(1980-),男(苗族),湖南洪江人,供職于第二炮兵工程學(xué)院研究生二隊,正連職,研究方向:管理科學(xué)與工程。