(貴州省麻江縣水利局,貴州 麻江 557600)
應(yīng)用軟件和電子技術(shù)的開發(fā)應(yīng)用,使人們從繁復(fù)的工作中解脫出來。大量工程造價(jià)系統(tǒng)軟件在民用、工業(yè)建筑中得到了有效的運(yùn)用,人們可以對(duì)建筑物的外形、結(jié)構(gòu)、室內(nèi)等進(jìn)行參數(shù)化設(shè)計(jì),并根據(jù)設(shè)計(jì)的結(jié)果,利用系統(tǒng)將工程的造價(jià)自動(dòng)計(jì)算出來。水利工程建設(shè)對(duì)造價(jià)系統(tǒng)通用性、計(jì)算實(shí)時(shí)性的要求越來越高,傳統(tǒng)的水利工程造價(jià)系統(tǒng)已難以充分滿足其應(yīng)用要求。本文對(duì)水利工程造價(jià)系統(tǒng)的功能、業(yè)務(wù)流程、編制方法等方面進(jìn)行深入分析,基于C/S結(jié)構(gòu)體系,設(shè)計(jì)了新型水利工程造價(jià)系統(tǒng),并采用面對(duì)對(duì)象的方法對(duì)系統(tǒng)的實(shí)現(xiàn)進(jìn)行了驗(yàn)證。
水利工程造價(jià)系統(tǒng)是指能對(duì)水利工程各項(xiàng)目進(jìn)行收集、整理、加工、分析、運(yùn)算、輔助決策、傳遞、儲(chǔ)存、使用等的一項(xiàng)計(jì)算機(jī)系統(tǒng)。該系統(tǒng)以計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)為工作基礎(chǔ),采用系統(tǒng)思維方法,處理并利用采集到的多項(xiàng)工程數(shù)據(jù)信息,向水利工程造價(jià)的管理者提供準(zhǔn)確、可靠的決策依據(jù)[1]。
由于水利工程造價(jià)需要將材料價(jià)格、價(jià)格指數(shù)等指標(biāo)靈敏反映出來,因而需對(duì)工程造價(jià)的系統(tǒng)業(yè)務(wù)進(jìn)行詳細(xì)分析。水利工程造價(jià)由工程、移民與環(huán)境兩部分組成。其中,工程部分主要由建筑工程、機(jī)電設(shè)備及安裝工程、金屬結(jié)構(gòu)及安裝工程、施工臨時(shí)工程、獨(dú)立費(fèi)用五個(gè)不同的單項(xiàng)工程組成,這些工程的內(nèi)容決定著工程的費(fèi)用。根據(jù)有關(guān)水利工程的概算標(biāo)準(zhǔn),工程造價(jià)系統(tǒng)計(jì)算的費(fèi)用包括建筑安裝費(fèi)、設(shè)備費(fèi)、獨(dú)立費(fèi)用、生產(chǎn)預(yù)備費(fèi)以及建設(shè)期的還貸利息等。在水利工程造價(jià)系統(tǒng)中,輸出的報(bào)表為由工程概算表、概算附件和工程匯總表三部分組成的水利工程造價(jià)文件。水利工程造價(jià)系統(tǒng)的業(yè)務(wù)流程如圖1所示。
圖1 水利工程造價(jià)系統(tǒng)業(yè)務(wù)流程
水利工程造價(jià)系統(tǒng)由工程編輯、文件管理、工程造價(jià)、造價(jià)報(bào)表、工具包及幫助六部分組成。整個(gè)系統(tǒng)分為兩部分,分別為服務(wù)器端與客戶端。數(shù)據(jù)庫(kù)放在服務(wù)器上,為確保數(shù)據(jù)庫(kù)能安全地向用戶提供服務(wù),還將一道防火墻加設(shè)在了服務(wù)器的前端[2]。
在此次研究中,系統(tǒng)采用C/S體系結(jié)構(gòu)進(jìn)行設(shè)計(jì),原因如下:
a.基于已確定的需求。目前,水利工程造價(jià)系統(tǒng)為單機(jī)使用。每個(gè)水利工程為完整的個(gè)體,之間不會(huì)存在過多的聯(lián)系,也無(wú)需多人一起完成一個(gè)水利工程的造價(jià)。
b.基于將來可能的需求。對(duì)定額體系進(jìn)行修改和擴(kuò)充為將來用戶最可能的需求。在基于C/S體系結(jié)構(gòu)設(shè)計(jì)的水利工程造價(jià)系統(tǒng)中,當(dāng)用戶修改或擴(kuò)充定額體系時(shí),只需增設(shè)一個(gè)數(shù)據(jù)庫(kù)即可滿足需求。
c.基于安裝發(fā)布。采用C/S體系結(jié)構(gòu)的程序能簡(jiǎn)單進(jìn)行安裝發(fā)布。
d.基于系統(tǒng)的運(yùn)行與維護(hù)。采用C/S體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)建立在通用平臺(tái)上,SQL等通用技術(shù)得到了有效的應(yīng)用和支持,在促進(jìn)數(shù)據(jù)庫(kù)的維護(hù)工作朝著專業(yè)化方向發(fā)展的同時(shí),也變得更為開放,同時(shí)也大大降低了維護(hù)工作及與進(jìn)一步開發(fā)工作對(duì)系統(tǒng)原設(shè)計(jì)者的依賴性[3]。
考慮到水利工程具有很強(qiáng)的系統(tǒng)性和綜合性、工作條件復(fù)雜、影響面廣、規(guī)模龐大、投資多、技術(shù)工藝復(fù)雜、工期較長(zhǎng)等特點(diǎn),同時(shí)也為了將工程造價(jià)系統(tǒng)適應(yīng)性不強(qiáng)的問題予以有效解決,此次研究擴(kuò)展了傳統(tǒng)的C/S結(jié)構(gòu)。根據(jù)水利工程項(xiàng)目、定額標(biāo)準(zhǔn)存在的差異性,在定義造價(jià)系統(tǒng)數(shù)據(jù)庫(kù)的過程中,對(duì)多個(gè)不同的工程數(shù)據(jù)庫(kù)以及標(biāo)準(zhǔn)定額數(shù)據(jù)庫(kù)均進(jìn)行了定義。客戶端的運(yùn)行由用戶根據(jù)實(shí)際情況決定。用戶在明確了計(jì)算需求后,選擇對(duì)應(yīng)的數(shù)據(jù)庫(kù)計(jì)算工程造價(jià)。水利工程造價(jià)系統(tǒng)的體系結(jié)構(gòu)如圖2所示。
圖2 水利工程造價(jià)系統(tǒng)的體系結(jié)構(gòu)
2.2.1 標(biāo)準(zhǔn)定額數(shù)據(jù)庫(kù)
由于一個(gè)水利工程應(yīng)用到的定額體系只能有一種,且不同定額體系具有不同的費(fèi)用組成、定額材料組成以及費(fèi)用計(jì)算方式等,因此在水利工程造價(jià)系統(tǒng)的設(shè)計(jì)過程中,進(jìn)行定義的每一個(gè)定額體系即為一個(gè)標(biāo)準(zhǔn)的定額數(shù)據(jù)庫(kù)。此種做法的優(yōu)勢(shì)表現(xiàn)在以下幾個(gè)方面:
a.各定額體系之間不發(fā)生影響。當(dāng)系統(tǒng)某個(gè)標(biāo)準(zhǔn)定額數(shù)據(jù)庫(kù)在錄入數(shù)據(jù)過程中發(fā)生失誤時(shí),只需將此標(biāo)準(zhǔn)定額數(shù)據(jù)更新即可,大大減少了需要更新的數(shù)據(jù)量,有效降低了工作強(qiáng)度。
b.標(biāo)準(zhǔn)定額數(shù)據(jù)庫(kù)中的數(shù)據(jù)比較多,通過采取分開處理方式,有效避免了數(shù)據(jù)查詢效率因數(shù)據(jù)量過大而較低的問題。
c.標(biāo)準(zhǔn)定額庫(kù)中已具備費(fèi)用計(jì)算標(biāo)準(zhǔn),不同的定額體系通過調(diào)用對(duì)應(yīng)數(shù)據(jù)庫(kù)中的費(fèi)用計(jì)算存儲(chǔ)過程,即可完成不同標(biāo)準(zhǔn)下的費(fèi)用計(jì)算工作。當(dāng)標(biāo)準(zhǔn)定額體系變更計(jì)算方式時(shí),只需將此數(shù)據(jù)庫(kù)的存儲(chǔ)過程進(jìn)行更新即可,有效避免了因修改程序帶來的困難。
2.2.2 工程數(shù)據(jù)庫(kù)
由于各個(gè)水利工程之間不會(huì)發(fā)生相互影響,因而設(shè)計(jì)出的一個(gè)水利工程即為一個(gè)完整的工程數(shù)據(jù)庫(kù)。在對(duì)工程進(jìn)行新建時(shí),從工程模板數(shù)據(jù)中拷貝一個(gè)文件,便生成了新的數(shù)據(jù)。此外,工程模板隨著系統(tǒng)定額體系的不同可能會(huì)產(chǎn)生差異,因而一個(gè)工程數(shù)據(jù)庫(kù)模板對(duì)應(yīng)一個(gè)或多個(gè)標(biāo)準(zhǔn)定額數(shù)據(jù)庫(kù)。此種設(shè)計(jì)方法的優(yōu)勢(shì)如下:
a.各工程數(shù)據(jù)庫(kù)之間不發(fā)生影響,其中一個(gè)工程出現(xiàn)錯(cuò)誤數(shù)據(jù)時(shí),對(duì)其他的工程不會(huì)造成任何影響,對(duì)文件進(jìn)行拷貝即完成了工程數(shù)據(jù)的備份。
b.新工程的建設(shè)速度快。由于采用了工程模板數(shù)據(jù)庫(kù),對(duì)新工程模板文件進(jìn)行拷貝便完成了工程的新建,操作非常簡(jiǎn)便。
c.模板的維護(hù)操作簡(jiǎn)便。當(dāng)新建工程的需求發(fā)生變化時(shí),只需更新工程模板即可滿足需求[4]。
通過以上對(duì)水利系統(tǒng)需求的分析,依照面對(duì)對(duì)象的程序設(shè)計(jì)原則,將水利工程造價(jià)系統(tǒng)設(shè)計(jì)為系統(tǒng)表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層三個(gè)層次。其中,系統(tǒng)表現(xiàn)層用來處理與用戶的交互,接收用戶的輸入,同時(shí)向用戶展現(xiàn)數(shù)據(jù);業(yè)務(wù)邏輯層用來實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯;數(shù)據(jù)訪問層用來訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù)。水利工程造價(jià)系統(tǒng)的部署如圖3所示。
圖3 水利工程造價(jià)系統(tǒng)部署
水利工程造價(jià)系統(tǒng)的界面表現(xiàn)層通過應(yīng)用典型的MVC架構(gòu)得到實(shí)現(xiàn)。在這種系統(tǒng)結(jié)構(gòu)中,一個(gè)應(yīng)用由三部分組成,分別為Model、View、Controller,且三部分分別起到了不同的作用。Model指的是處理工程各項(xiàng)業(yè)務(wù)數(shù)據(jù)及信息的版塊,具有數(shù)據(jù)收集、存儲(chǔ)、加工等功能;View指的是用戶的使用界面,即面向用戶的一些數(shù)據(jù)表示;Controller發(fā)揮著控制Model與View之間流程的作用,完成的動(dòng)作包括以下兩個(gè)方向:一是將用戶使用界面上的操作具體映射到Model上,從而將各項(xiàng)具體的業(yè)務(wù)邏輯完成;二是將Model處理完畢的數(shù)據(jù)在用戶使用界面上及時(shí)反映出來[5]。
系統(tǒng)的業(yè)務(wù)邏輯處理在業(yè)務(wù)邏輯層予以實(shí)現(xiàn)。水利工程造價(jià)系統(tǒng)的核心即為業(yè)務(wù)邏輯層,該層對(duì)表現(xiàn)層的各用戶請(qǐng)求進(jìn)行接收,并以業(yè)務(wù)邏輯為基礎(chǔ),將數(shù)據(jù)請(qǐng)求按照一定的順序發(fā)送至數(shù)據(jù)層,并對(duì)數(shù)據(jù)層返回來的數(shù)據(jù)信息進(jìn)行解釋和組合,再將這些數(shù)據(jù)整合成對(duì)用戶有幫助的信息,再次返回給造價(jià)系統(tǒng)的展現(xiàn)層。
通過分析國(guó)家有關(guān)水利工程造價(jià)規(guī)范標(biāo)準(zhǔn)可知,水利工程的整體費(fèi)用由第一部分至第五部分組成,第一部分至第四部分均由對(duì)應(yīng)的各級(jí)子項(xiàng)目構(gòu)成,第五部分則為費(fèi)用表的表現(xiàn)形式。根據(jù)水利工程的項(xiàng)目,可以劃分為第一級(jí)至第三級(jí)項(xiàng)目。在第三級(jí)項(xiàng)目中,錄入了對(duì)應(yīng)的定額。在定額的材料中,包含著一些特殊的材料,以混凝土最為典型。在定額中,緩凝土以一種材料的形式表現(xiàn),但實(shí)際上是由砂、水、水泥、石子及各種添加劑共同組成的。造價(jià)系統(tǒng)在實(shí)際計(jì)算過程中,每一級(jí)的單價(jià)均由所有子節(jié)點(diǎn)的金額合計(jì)而成,工程的總金額即為單價(jià)與工程量的乘積。
在對(duì)水利工程的造價(jià)計(jì)算規(guī)則進(jìn)行了全面了解后,可以將整個(gè)工程看作是一棵非常標(biāo)準(zhǔn)的樹。與數(shù)據(jù)的存儲(chǔ)相結(jié)合,樹的節(jié)點(diǎn)與每條記錄相對(duì)應(yīng)。根據(jù)分析可知,每個(gè)節(jié)點(diǎn)的工程量與單價(jià)的乘積為節(jié)點(diǎn)的金額,所有子節(jié)點(diǎn)的金額相加即為節(jié)點(diǎn)的單價(jià)。在對(duì)工程數(shù)據(jù)的抽象進(jìn)行確定后,即可完成系統(tǒng)的實(shí)現(xiàn)。
造價(jià)系統(tǒng)在打開一個(gè)水利工程時(shí),便會(huì)連接工程數(shù)據(jù),并找出對(duì)應(yīng)的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù),再與其進(jìn)行連接。為實(shí)現(xiàn)造價(jià)系統(tǒng)投資成本的降低,設(shè)計(jì)并建立了一個(gè)標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)的連接池。當(dāng)系統(tǒng)連接標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)時(shí),要先進(jìn)行數(shù)據(jù)池查詢操作,如果顯示系統(tǒng)與標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)的連接已成功,便返回到連接對(duì)象一層;如果未能成功進(jìn)行連接,便與標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)建立一個(gè)新的連接,并放入數(shù)據(jù)庫(kù)連接池中。
當(dāng)關(guān)閉一個(gè)工程時(shí),系統(tǒng)就要斷開數(shù)據(jù)庫(kù)。由于系統(tǒng)的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)與工程數(shù)據(jù)庫(kù)為分離狀態(tài),因此需要將兩者同時(shí)斷開??紤]到標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)的特殊性,在斷開它之前,需要對(duì)此數(shù)據(jù)庫(kù)的引用計(jì)數(shù)進(jìn)行判斷。只有當(dāng)標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)的引用計(jì)數(shù)為零時(shí),才可將其連接真正斷開,從而實(shí)現(xiàn)相應(yīng)資源的釋放[6]。
綜上可知,采用C/S體系結(jié)構(gòu)設(shè)計(jì)的水利工程造價(jià)系統(tǒng),與傳統(tǒng)的造價(jià)體系相比較,其適應(yīng)性及工程業(yè)務(wù)數(shù)據(jù)的實(shí)時(shí)計(jì)算速度均顯著提高。分析系統(tǒng)的實(shí)際情況可知,水利工程造價(jià)系統(tǒng)的使用界面友好,工程造價(jià)管理及操作均非常簡(jiǎn)便,得到了用戶的廣泛支持和認(rèn)可。
[1] 鄧鵬程.淺談辦公自動(dòng)化系統(tǒng)在水電流域開發(fā)中的應(yīng)用[J].水電廠自動(dòng)化,2012,9(1):263-264.
[2] 中國(guó)水利學(xué)會(huì)水利工程造價(jià)管理專業(yè)委員會(huì).水利水電工程造價(jià)管理[M].北京:中國(guó)科學(xué)技術(shù)出版社,2012:263-264.
[3] 舒凱,孫新德.華中電網(wǎng)新水調(diào)自動(dòng)化系統(tǒng)解決方案設(shè)計(jì)與實(shí)現(xiàn)[J].水電自動(dòng)化與大壩監(jiān)測(cè),2010,12(4):332-335.
[4] 司號(hào)林.水利工程建設(shè)造價(jià)系統(tǒng)研發(fā)的現(xiàn)狀與程序設(shè)計(jì)方法芻議[J].湖南農(nóng)機(jī),2011,9(3):136-138.
[5] 張仁貢.水電站廠內(nèi)經(jīng)濟(jì)運(yùn)行系統(tǒng)的開發(fā)與應(yīng)用[J].人民黃河,2012,5(10):1032-1034.
[6] 吳金田,張健.基于C/S的水利工程造價(jià)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件設(shè)計(jì)開發(fā),2013,8(11):274-275.