(惠州市自來水總公司,廣東惠州 516003)
張群,張戎,宋致遠(yuǎn),陳建煌,楊愛群
張群(1978-)男,安徽宿州人,畢業(yè)于合肥工業(yè)大學(xué),碩士研究生,系統(tǒng)分析師,現(xiàn)就職于惠州市自來水總公司信息中心。
摘要:企業(yè)管理信息系統(tǒng)的應(yīng)用大多存在著重復(fù)開發(fā)現(xiàn)象嚴(yán)重、代碼重用率低、功能模塊擴(kuò)展性差、可移植性差等問題,以惠州市自來水總公司營業(yè)管理信息系統(tǒng)為例研究了基于組件的企業(yè)管理信息系統(tǒng)的開發(fā)方法,建立了自來水營業(yè)管理系統(tǒng)的模型和具體組件庫。
關(guān)鍵詞:組件;組件對象模型;營業(yè)管理信息系統(tǒng)
Abstract: The development of the enterprise information management system always meets some problems, such as serious redevelopment, low code reusing,bad functional module extension and bad transfer ability, etc.. In order to solve these problems, taking the water charge management information system of Huizhou water supply company as an example, this paper studies the developing method of business management information system based on components and sets up the model and component library of water charge management system.
Key words: Component; Component object model; Information management system
惠州市位于廣東省東南部,珠江三角洲的東北,南臨大亞灣與深圳、香港毗鄰,北連河源市,東接汕尾市,西鄰東莞市和廣州市。惠州市是以電子信息、石油化工為主的制造業(yè)基地,廣東風(fēng)景旅游城市和歷史文化名城。惠州市自來水總公司始建于1962年9月,是一家以自來水生產(chǎn)與供應(yīng)為主,集工程設(shè)計、管道安裝與維修、二次供水清洗等多項(xiàng)業(yè)務(wù)為一體的大型國有獨(dú)資供水企業(yè),日供水能力為70萬噸,供水范圍100多平方公里,肩負(fù)著城區(qū)及周邊鄉(xiāng)鎮(zhèn)近百萬人口的生活及經(jīng)濟(jì)建設(shè)用水重任。2006年惠州市自來水總公司利用環(huán)衛(wèi)費(fèi)與水費(fèi)合并收取的契機(jī)規(guī)劃建設(shè)全新的營業(yè)管理信息系統(tǒng),該系統(tǒng)采用基于組件的開發(fā)方法,在實(shí)用的前提下力求技術(shù)方向的高起點(diǎn)和先進(jìn)性,并適應(yīng)未來的網(wǎng)絡(luò)互聯(lián)趨勢,以保證系統(tǒng)具有開放性、可擴(kuò)展性和較長的使用期,系統(tǒng)提供統(tǒng)一的接口平臺,方便與其它信息系統(tǒng)的集成。
1 基于組件的軟件開發(fā)方法
組件是封裝編譯成獨(dú)立的二進(jìn)制單元并且可復(fù)用的自描述程序,與編程語言無關(guān),而且當(dāng)組件系統(tǒng)的外面軟硬件環(huán)境發(fā)生變化時,不需要對整個系統(tǒng)進(jìn)行修改,只需要修改或替換受影響的組件即可。面向組件的軟件開發(fā)是將復(fù)雜的應(yīng)用程序分解成一些小的、功能相對單一的組件模塊,組件之間可以跨進(jìn)程、跨平臺、跨語言等進(jìn)行通信。圖1顯示了基于組件的軟件開發(fā)過程,包括系統(tǒng)功能分解、組件需求分析、組件開發(fā)和組件裝配等。功能分解是分析系統(tǒng)的功能模型,為規(guī)劃系統(tǒng)所需的組件提供基礎(chǔ)。
組件需求分析根據(jù)系統(tǒng)的功能模型提取規(guī)劃實(shí)現(xiàn)系統(tǒng)功能所需的組件,建立系統(tǒng)的組件庫模型,然后設(shè)計后臺數(shù)據(jù)庫、設(shè)計組件的功能與接口。組件開發(fā)是根據(jù)規(guī)劃好的系統(tǒng)組件功能與接口,采用具體的組件技術(shù)具體實(shí)現(xiàn)組件功能與接口,并完成該組件的測試工作。組件裝配指根據(jù)組件需求分析建立的組件庫模型,將各種組件通過包容、聚合等機(jī)制組裝完成,實(shí)現(xiàn)系統(tǒng)的功能。
圖1 基于組建的軟件開發(fā)流程
2 功能模型的建立
惠州市自來水總公司下轄11個營業(yè)所和辦事處,各個營業(yè)網(wǎng)點(diǎn)功能基本類似,主要業(yè)務(wù)功能有報裝、抄表、收費(fèi)、維修維護(hù)及對內(nèi)辦公、對外服務(wù)客戶等,因此概要功能模塊有基礎(chǔ)數(shù)據(jù)管理、報裝管理、抄表管理、收費(fèi)管理、綜合查詢、統(tǒng)計報表、水表管理、系統(tǒng)管理、權(quán)限管理、用戶認(rèn)證管理以及與企業(yè)其它信息系統(tǒng)的數(shù)據(jù)接口等,自來水營業(yè)管理系統(tǒng)架構(gòu)圖如圖2所示。
基礎(chǔ)數(shù)據(jù)管理定義并維護(hù)系統(tǒng)運(yùn)行所需的基本參數(shù),具體可分為運(yùn)行環(huán)境定義、用水類型定義、收費(fèi)類型定義、水表參數(shù)定義、水價數(shù)據(jù)錄入等。報裝管理包括報裝申請、報裝勘察、施工、成本預(yù)算等環(huán)節(jié)。收費(fèi)管理包括門市收費(fèi)、托收收費(fèi)、銀行代收、Pos機(jī)等多種收費(fèi)方式,收費(fèi)操作界面要求簡單易用,具有找零等功能。系統(tǒng)管理包括部門資料錄入、員工資料錄入、用戶冊號錄入、數(shù)據(jù)轉(zhuǎn)月處理、數(shù)據(jù)年度結(jié)轉(zhuǎn)等。權(quán)限管理要求可對每個營業(yè)系統(tǒng)操作員設(shè)置相應(yīng)的使用權(quán)限,為簡化權(quán)限管理,可采用基于角色的方式授權(quán),防止沒有權(quán)限的用戶登陸計算機(jī)操作。為防止非授權(quán)用戶入侵營業(yè)管理信息系統(tǒng),采用用戶認(rèn)證服務(wù)器與營業(yè)管理系統(tǒng)數(shù)據(jù)庫服務(wù)器分離的形式,客戶端先向認(rèn)證服務(wù)器發(fā)送登錄信息數(shù)據(jù)包,通過認(rèn)證后才能進(jìn)一步獲取營業(yè)系統(tǒng)數(shù)據(jù)庫的連接信息,從而進(jìn)一步增強(qiáng)數(shù)據(jù)的安全性。數(shù)據(jù)接口模塊主要是對本系統(tǒng)或總公司其它信息系統(tǒng)如OA辦公自動化系統(tǒng)、客戶服務(wù)系統(tǒng)、GIS管網(wǎng)信息系統(tǒng)等提供統(tǒng)一的數(shù)據(jù)接口,保證數(shù)據(jù)的完整統(tǒng)一,又方便維護(hù)管理。
3 組件需求分析
通過對系統(tǒng)的功能模型進(jìn)行細(xì)分,外殼組件、支撐組件、內(nèi)核組件、虛擬數(shù)據(jù)層及模型等建立營業(yè)管理系統(tǒng)的組件庫模型如圖3所示。該模型根據(jù)組件在系統(tǒng)中承擔(dān)的角色及變化頻率建立組件的層次關(guān)系,界面操作組件、業(yè)務(wù)邏輯組件、報表操作組件、數(shù)據(jù)接口組件等外殼組件改動的頻率最大,信息中心開發(fā)工程師通過修改這些組件可以最大限度滿足用戶需求的變化,而基本功能組件、數(shù)據(jù)庫操作組件、錯誤處理組件、協(xié)調(diào)組件等內(nèi)核組件很少變化,開發(fā)具體應(yīng)用模塊時可以直接調(diào)用;虛擬數(shù)據(jù)庫定義組件、報表格式定義組件、通信定義組件等支撐組件則可以根據(jù)運(yùn)行環(huán)境的具體要求,改變系統(tǒng)的內(nèi)部信息顯示的格式,為系統(tǒng)的運(yùn)行提供支撐。這種分層的組件模型充分利用組件的重用與易維護(hù)的優(yōu)點(diǎn),從而達(dá)到軟件開發(fā)的快速、高效。根據(jù)營業(yè)管理系統(tǒng)的功能分析,對系統(tǒng)組件層次模型具體主要組件描述如下。
界面操作組件:包括登錄組件、密碼修改組件、圖像字段處理組件、通用查詢組件、業(yè)務(wù)組件、分析組件、查詢統(tǒng)計組件等。其中營收分析組件包括用戶類型分析界面組件、用戶區(qū)域分析界面組件、用戶欠費(fèi)分析界面組件、水量分析界面組件和區(qū)域水量分析界面等小組件;營收查詢統(tǒng)計組件包括營收主賬查詢界面組件、營收流水賬查詢界面組件、營收批次主賬查詢界面組件、營業(yè)人員業(yè)務(wù)量統(tǒng)計等小組件。
業(yè)務(wù)邏輯組件:包括報裝業(yè)務(wù)組件、收費(fèi)業(yè)務(wù)組件、抄表業(yè)務(wù)組件、客戶服務(wù)業(yè)務(wù)組件等,其它業(yè)務(wù)分析組件如用戶區(qū)域分析組件以及其它業(yè)務(wù)處理組件如核算期生成組件、月結(jié)轉(zhuǎn)組件。
報表特征定義組件:包括報表格式獲取組件與報表格式定義組件。報表格式獲取組件獲取用于預(yù)先自定義的各種格式,包括報表特征獲取組件與報表模板獲取組件;報表格式定義組件包括報表特性定義組件、報表模板定義組件。報表特性定義組件定義報表的字體等特征;報表模板定義組件提供模板文件的生成、保存、預(yù)覽等。
基本組件:包括數(shù)據(jù)庫樹顯示組件、查詢設(shè)置組件、顯示內(nèi)容設(shè)置組件、快速定位組件、編輯信息參照組件、輸出到Word組件、輸出到Excel組件、用戶狀態(tài)維護(hù)組件、日志記錄組件、分頁顯示組件等。
圖3營業(yè)管理系統(tǒng)組件模式
4 組件的設(shè)計開發(fā)
建立了系統(tǒng)的組件庫經(jīng)過對組件分析,確定組件的對外接口,即組件的屬性、事件和方法。組件的設(shè)計關(guān)鍵在于接口的設(shè)計應(yīng)兼顧重用性、實(shí)用性和簡單性。因?yàn)榻M件的通用性好就可以提高系統(tǒng)的重用能力,但組件通用能力的提高勢必造成接口復(fù)雜程度的提高,所以應(yīng)根據(jù)情況對三者進(jìn)行兼顧。同時組件的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)不能反映到接口中。組件接口同內(nèi)部實(shí)現(xiàn)細(xì)節(jié)的隔離度越高,組件或應(yīng)用發(fā)生變化對接口的影響就越小,組件的靈活性和適用性就越好。
下面以收費(fèi)業(yè)務(wù)為例來說明如何利用組件實(shí)現(xiàn)系統(tǒng)的功能。
自來水行業(yè)營收系統(tǒng)水費(fèi)收繳方式種類較多,如門市收費(fèi)、托收收費(fèi)、預(yù)收收費(fèi)、銀行代收等,而且業(yè)務(wù)邏輯比較復(fù)雜,系統(tǒng)采用業(yè)務(wù)規(guī)則驅(qū)動建模方法分析門市收費(fèi)業(yè)務(wù)處理邏輯。其業(yè)務(wù)邏輯處理流程如圖4所示。
由圖4可以得出,門市收費(fèi)業(yè)務(wù)邏輯主要由收費(fèi)信息檢查、主賬更新、批次賬更新、流水帳更新、日志更新、發(fā)票打印等若干個相對獨(dú)立的步驟組成。它們分別完成信息檢查、主賬修改、批次賬修改、流水賬修改、日志記錄等功能。信息檢查組件首先核查用戶資料和繳費(fèi)資料,核實(shí)用戶繳費(fèi)類型、有無欠費(fèi)等信息。如用戶多月未繳費(fèi),信息檢查組件給出提示,提醒用戶必須按時間順序補(bǔ)交(遵循時間久先繳原則),同時收繳相應(yīng)滯納金。
繳費(fèi)信息只有通過信息檢查組件核實(shí)通過,才能開始事務(wù)處理,順次調(diào)用主帳更新組件、批次帳更新組件、流水帳更新等組件來更新數(shù)據(jù)庫相關(guān)表數(shù)據(jù),全部執(zhí)行成功則提交事務(wù),收費(fèi)結(jié)束。
若事務(wù)開始后,某更新組件執(zhí)行失敗,則進(jìn)行事務(wù)回滾,不更新數(shù)據(jù)庫相關(guān)數(shù)據(jù),同時返回到收費(fèi)單據(jù)錄入狀態(tài)或收費(fèi)結(jié)束。
5 組件的組裝和系統(tǒng)的實(shí)現(xiàn)
根據(jù)組件庫模型開發(fā)實(shí)現(xiàn)所有組件,組件之間的裝配采用包容、聚合、調(diào)用等機(jī)制。在程序主界面中根據(jù)操作人員權(quán)限的不同調(diào)用相應(yīng)功能模塊的組件,由于界面與數(shù)據(jù)操作分離,各功能模塊相對獨(dú)立,單一模塊的變更基本上不影響其它模塊組件,提高了軟件的可靠性、重用性、可擴(kuò)展性等。通過對基于組件的自來水營業(yè)管理系統(tǒng)軟件開發(fā)方法的探索,建立了營業(yè)管理系統(tǒng)的組件庫模型,并在此基礎(chǔ)上實(shí)現(xiàn)了營業(yè)管理系統(tǒng)的組件庫,用于解決管理軟件重復(fù)編碼、開發(fā)效率低的問題,同時使系統(tǒng)更容易維護(hù)、擴(kuò)展和升級,適應(yīng)企業(yè)動態(tài)變化的外部環(huán)境。
6 結(jié)語
自來水營業(yè)管理信息系統(tǒng)自2006年12月開始開發(fā),于2007年10月投入使用。該系統(tǒng)整合了自來水公司主要業(yè)務(wù),包括報裝、抄表、收費(fèi)、客戶服務(wù)和辦公管理等,在一個系統(tǒng)上完成所有業(yè)務(wù),具有良好的通用性、完整性、可靠性、擴(kuò)展性等,可以靈活應(yīng)對各種規(guī)模水司的應(yīng)用,最終為用戶提供管理嚴(yán)謹(jǐn)、業(yè)務(wù)全面、運(yùn)行穩(wěn)定、擴(kuò)展性強(qiáng)并具有強(qiáng)大分析能力的營業(yè)收費(fèi)管理系統(tǒng)。該系統(tǒng)對供水企業(yè)整個營業(yè)業(yè)務(wù)過程進(jìn)行一體化管理,達(dá)到企業(yè)營業(yè)信息共享、降低成本、提高效益和管理水平的目的,在惠州自來水總公司已穩(wěn)定運(yùn)行2年,推動總公司信息化水平邁上新臺階,創(chuàng)造了良好的經(jīng)濟(jì)效益和社會效益。2009年10月榮獲第十九屆廣東省企業(yè)信息化建設(shè)創(chuàng)新成果二等獎。
參考文獻(xiàn):
[1] 劉濤,殷國富,崔靜. 基于組件技術(shù)的電氣設(shè)計資源管理系統(tǒng)的研究[J].機(jī)電一體化,2006,01.
[2] 張曦澤,王化文,王中秋. 基于組件的報表自動生成系統(tǒng)的研究與實(shí)現(xiàn)[J].計算機(jī)工程與設(shè)計,2005,26(5):1358~1360.
[3] 赫爾祖姆,西姆斯. 基于組件的企業(yè)級開發(fā)[M]. 北京: 機(jī)械工業(yè)出版社.2005.
[4] 謝規(guī)良,江琳等. 基于組件的車間管理信息系統(tǒng)模型[J]. 計算機(jī)工程與應(yīng)用. 2002,38 (18).
摘自《自動化博覽》2010年第三期