摘 要:針對(duì)養(yǎng)護(hù)機(jī)械設(shè)備分布于各養(yǎng)護(hù)工區(qū)所帶來(lái)的管理不便,建立以計(jì)算機(jī)技術(shù)為基礎(chǔ),以互聯(lián)網(wǎng)這一信息高速公路為依托的分布式公路養(yǎng)護(hù)設(shè)備管理系統(tǒng),是目前公路養(yǎng)護(hù)現(xiàn)代化的必然趨勢(shì)。主要論述分布式公路養(yǎng)護(hù)設(shè)備管理系統(tǒng)的設(shè)計(jì)思路、關(guān)鍵技術(shù)、功能需求以及系統(tǒng)實(shí)現(xiàn)方法等內(nèi)容。
關(guān)鍵詞:分布式系統(tǒng);養(yǎng)護(hù)設(shè)備;設(shè)備管理系統(tǒng);機(jī)械設(shè)備
中圖分類號(hào):U415,TP311文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004-373X(2008)08-112-03
Design and Development of Distributed Management System
[JZ]for Highway Maintenance Machinery
JIA Tingyue1,MA Junyuan2,ZHAO Yong3,JIN Zhuo3,LIU Qingtao3
(1.Vocational and Technical School,Inner Mongolia University,Huhhot,010023,China;
2.Construction and Management Office of Interprovince Highway in the Inner Mongolia Autonomous Region,Huhhot,010023,China
3.Construction Machinery Institute,Chang′an University,Xi′an,710064,China)[JZ)]
Abstract:Aiming at the inconvenient management of maintenance machinery distributed in different working areas,the distributed highway maintenance machinery management system based on computer technology and Internet is built,it is the trend of modern highway maintenance.This paper discusses the design,functional demand and development of the system .
Keywords:distributed system;maintenance machinery;machinery management system;machinery equipment
改革開(kāi)放以來(lái),隨著我國(guó)公路建設(shè)事業(yè)的迅猛發(fā)展,筑路及道路養(yǎng)護(hù)機(jī)械設(shè)備也得到長(zhǎng)足的發(fā)展。從2000年開(kāi)始,公路建設(shè)投資每年在1 800億元以上,而西部地區(qū)10年內(nèi)要投資7 000億元。各省、市公路局所擁有的筑養(yǎng)路機(jī)械設(shè)備少則幾千萬(wàn)元,多則幾億元,形成了一個(gè)龐大的設(shè)備資源群體,因此如何管好、用好這些設(shè)備資源,發(fā)揮其應(yīng)有的效益,已成為擺在面前的重要課題,同時(shí)設(shè)備的購(gòu)置也將成為一個(gè)突出的問(wèn)題。但是從目前全國(guó)公路部門(mén)的狀況來(lái)看,設(shè)備管理與購(gòu)置決策還處在以人工處理為主階段,與其他行業(yè)的計(jì)算機(jī)自動(dòng)化管理相比,仍處于落后的、靜態(tài)的低級(jí)階段。作為公路管理部門(mén),為了滿足現(xiàn)階段筑、 養(yǎng)路機(jī)械管理和公路工程機(jī)械化施工的需求,必須采用先進(jìn)的管理理念和科學(xué)的管理方式,技術(shù)管理和經(jīng)濟(jì)管理兼顧,才能適應(yīng)當(dāng)前現(xiàn)代公路工程機(jī)械化施工的需求。本文主要研究分布式公路養(yǎng)護(hù)設(shè)備管理系統(tǒng)的設(shè)計(jì)、功能需求以及系統(tǒng)開(kāi)發(fā)等技術(shù)。
1 系統(tǒng)設(shè)計(jì)
“公路養(yǎng)護(hù)設(shè)備管理系統(tǒng)”集靜態(tài)管理與動(dòng)態(tài)輔助決策于一體,包括了“設(shè)備資源管理”、“技術(shù)檔案管理”、“公路養(yǎng)護(hù)機(jī)械優(yōu)化配置”、“養(yǎng)護(hù)機(jī)械購(gòu)置選型輔助決策”等模塊,是管理功能較齊全的通用系統(tǒng)。
系統(tǒng)采用組件化與模塊化相結(jié)合的結(jié)構(gòu)設(shè)計(jì)思想,通過(guò)設(shè)置功能參數(shù),使各模塊根據(jù)用戶不同需求而變化組合,同時(shí)又利用分布式、組件化結(jié)構(gòu)可重用性強(qiáng)、面向?qū)ο蟮乃枷耄鶕?jù)需要調(diào)用組件,實(shí)現(xiàn)無(wú)縫連接,從而解決各模塊之間的接口問(wèn)題。建立已有設(shè)備數(shù)據(jù)庫(kù),將公路局現(xiàn)有養(yǎng)護(hù)設(shè)備檔案、國(guó)內(nèi)市場(chǎng)主流機(jī)型檔案資料輸入數(shù)據(jù)庫(kù)。根據(jù)現(xiàn)有養(yǎng)護(hù)機(jī)械的使用頻度,以及各路段病害類型及發(fā)生規(guī)律、設(shè)備分布、設(shè)備使用情況為設(shè)備購(gòu)置、選型、配置提供決策依據(jù)。
系統(tǒng)主要由以下幾大模塊組成:
(1) 系統(tǒng)模塊
網(wǎng)絡(luò)連接、系統(tǒng)設(shè)置、用戶權(quán)限設(shè)置、數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)、數(shù)據(jù)上傳、數(shù)據(jù)下載、數(shù)據(jù)庫(kù)調(diào)入、數(shù)據(jù)錄入、文件輸出、系統(tǒng)幫助等。
(2) 設(shè)備資源管理
設(shè)備檔案庫(kù)、設(shè)備使用率、設(shè)備完好率、成本核算、設(shè)備維修記錄等。
(3) 技術(shù)經(jīng)濟(jì)檔案管理
施工人員檔案庫(kù)、各種年審記錄、職工崗位職責(zé)、技術(shù)培訓(xùn)檔案、操作規(guī)程等各種文檔。
(4) 施工現(xiàn)場(chǎng)管理
設(shè)備使用情況、各工地施工進(jìn)度、設(shè)備分布。
(5) 統(tǒng)計(jì)報(bào)表管理
四率統(tǒng)計(jì)、月報(bào)表、年報(bào)表等。
(6) 養(yǎng)護(hù)設(shè)備優(yōu)化配置;
(7) 養(yǎng)護(hù)機(jī)械購(gòu)置選型輔助決策分析。
2 系統(tǒng)需求分析
根據(jù)實(shí)際情況,總體設(shè)計(jì)采用系統(tǒng)工程的思想,按照結(jié)構(gòu)化、模塊化、自頂向下的原則對(duì)系統(tǒng)進(jìn)行分析與設(shè)計(jì),而在具體實(shí)現(xiàn)時(shí)則采用原型化方法,自底向上逐步實(shí)施。即以少量代價(jià)快速的構(gòu)造一個(gè)可執(zhí)行的軟件模型,使用戶和開(kāi)發(fā)人員可以較快地確定需求,然后采用循環(huán)進(jìn)化的開(kāi)發(fā)方式,將系統(tǒng)需具備的屬性逐漸添加上去,直到全部滿足要求,發(fā)展成為最終的產(chǎn)品。
2.1 用戶功能需求
公路養(yǎng)護(hù)設(shè)備管理信息系統(tǒng)是針對(duì)公路施工管理部門(mén)的大量機(jī)械設(shè)備的以計(jì)算機(jī)為平臺(tái)的現(xiàn)代化管理工具。主要包括了機(jī)務(wù)管理、設(shè)備的臺(tái)帳、運(yùn)行記錄、設(shè)備查詢、生成打印報(bào)表等方面的功能,實(shí)現(xiàn)用戶方便的輸入、查詢、統(tǒng)計(jì)、打印相關(guān)報(bào)表的業(yè)務(wù)需求。
2.2 系統(tǒng)功能需求
(1) 運(yùn)轉(zhuǎn)情況記錄
提供對(duì)“用戶設(shè)備運(yùn)轉(zhuǎn)情況詳細(xì)記錄”的數(shù)據(jù)輸入、按月統(tǒng)計(jì)、按月打印的功能,實(shí)現(xiàn)“月份設(shè)備運(yùn)轉(zhuǎn)情況分析報(bào)告表”的生成、統(tǒng)計(jì)、打印功能。
(2) 機(jī)械設(shè)備技術(shù)狀況的評(píng)分
提供對(duì)“用戶機(jī)械設(shè)備技術(shù)狀況評(píng)分表”的輸入、統(tǒng)計(jì),完成每月對(duì)機(jī)械設(shè)備的技術(shù)狀況月統(tǒng)計(jì),以此生成《機(jī)械設(shè)備完好利用匯總表》和《在用機(jī)械設(shè)備技術(shù)狀況統(tǒng)計(jì)表》,實(shí)現(xiàn)這些表的統(tǒng)計(jì)、打印功能。最后生成年報(bào)表:《機(jī)械設(shè)備技術(shù)狀況統(tǒng)計(jì)表》和《紅旗設(shè)備及紅旗操作手名單》,實(shí)現(xiàn)這兩個(gè)表的統(tǒng)計(jì)打印功能。
(3) 機(jī)械設(shè)備實(shí)有數(shù)、能力及完好率、利用率、維修及保養(yǎng)情況年報(bào)表
這是一張信息匯總表,是將機(jī)械設(shè)備檔案信息、技術(shù)狀況和維修保養(yǎng)情況以及企業(yè)所擁有機(jī)械的數(shù)量、能力進(jìn)行分類匯總,最后生成《機(jī)械設(shè)備實(shí)有數(shù)、能力及完好、利用、維修、保養(yǎng)情況年報(bào)表》,實(shí)現(xiàn)該表的打印功能。
(4) 預(yù)購(gòu)設(shè)備查詢庫(kù)
提供對(duì)市場(chǎng)主流養(yǎng)護(hù)施工機(jī)械設(shè)備性能、售價(jià)等數(shù)據(jù)的錄入、查詢功能。用戶可以根據(jù)
國(guó)內(nèi)外機(jī)械設(shè)備制造廠商所提供的信息,將他們生產(chǎn)的新產(chǎn)品、新類型的機(jī)械信息錄入查詢庫(kù)中,以方便在購(gòu)買機(jī)械設(shè)備時(shí)作為決策參考。
3 系統(tǒng)實(shí)現(xiàn)
“公路養(yǎng)護(hù)設(shè)備管理系統(tǒng)”以Windows 2000,Windows XP為系統(tǒng)平臺(tái),以Microsoft Visual Basic.NET程序設(shè)計(jì)語(yǔ)言及SQL Sever大型網(wǎng)絡(luò)數(shù)據(jù)庫(kù)為開(kāi)發(fā)工具,并通過(guò)Internet實(shí)現(xiàn)各節(jié)點(diǎn)之間的數(shù)據(jù)共享和數(shù)據(jù)傳輸。數(shù)據(jù)庫(kù)系統(tǒng)可以由分布于各個(gè)基層養(yǎng)護(hù)單位的終端計(jì)算機(jī)結(jié)點(diǎn)上的若干個(gè)子數(shù)據(jù)庫(kù)組成,主控端通過(guò)有效的存取手段來(lái)操縱這些結(jié)點(diǎn)上的子數(shù)據(jù)庫(kù),分布在各個(gè)結(jié)點(diǎn)上的子數(shù)據(jù)庫(kù)在邏輯上是相關(guān)的,各子節(jié)點(diǎn)對(duì)父節(jié)點(diǎn)是透明的,便于上級(jí)機(jī)關(guān)隨時(shí)掌握各養(yǎng)護(hù)段的信息,而父節(jié)點(diǎn)對(duì)子節(jié)點(diǎn)及各子節(jié)點(diǎn)之間則根據(jù)權(quán)限有限開(kāi)放,以確保管理通道的暢通及數(shù)據(jù)安全??梢暬_(kāi)放式的設(shè)計(jì)思想,使得整個(gè)系統(tǒng)更加用戶化、個(gè)性化。
數(shù)據(jù)庫(kù)是整個(gè)管理系統(tǒng)的核心,他將與設(shè)備有關(guān)的全部技術(shù)參數(shù)、使用情況等信息都納人數(shù)據(jù)倉(cāng)庫(kù)中,是查詢、瀏覽及輸出報(bào)表的直接信息源,更是進(jìn)行使用性能評(píng)價(jià)、養(yǎng)護(hù)設(shè)備配置方案決策的根據(jù)。底層數(shù)據(jù)庫(kù)選擇SQL Server 2000,主要考慮到數(shù)據(jù)的安全性、數(shù)據(jù)庫(kù)易維護(hù)性、系統(tǒng)的可兼容性以及對(duì)XML(可擴(kuò)展標(biāo)記語(yǔ)言)的支持性,在C/S和B/S結(jié)構(gòu)中,不同應(yīng)用軟件之間交換數(shù)據(jù)的時(shí)候, SQL Server 2000將會(huì)主動(dòng)支持存儲(chǔ)和查詢可擴(kuò)展標(biāo)記語(yǔ)言文件。
4 關(guān)鍵技術(shù)
4.1 ADO.NET編程方法
ADO.NET是一種新的數(shù)據(jù)訪問(wèn)策略,他不只是ADO的改進(jìn)版本。在許多方面他都采用了新的思維方式,他涉及到通常使用“與數(shù)據(jù)源斷開(kāi)連接的”數(shù)據(jù)的領(lǐng)域。這種思想就是,在高度互聯(lián)的世界中,應(yīng)用程序中的數(shù)據(jù)可以有多個(gè)來(lái)源以及多種格式。也就是說(shuō),可以在本地使用這些數(shù)據(jù),而不需要保持到數(shù)據(jù)存儲(chǔ)的連接。稍后就可以將任何修改傳遞到基數(shù)據(jù)存儲(chǔ)。斷開(kāi)連接的數(shù)據(jù)的本質(zhì)與在使用時(shí)大多數(shù)Recordset都會(huì)保持到基本數(shù)據(jù)存儲(chǔ)的連接的ADO有點(diǎn)不同。ADO.NET提供了兩種訪問(wèn)數(shù)據(jù)的基本方法:通過(guò)DataReader和DataSet。DataReader是只向前讀的數(shù)據(jù)流,僅用于對(duì)數(shù)據(jù)進(jìn)行快速有效的訪問(wèn)。
4.2 編程代碼算法
本軟件系統(tǒng)模塊的開(kāi)發(fā)過(guò)程中,并不牽涉函數(shù)計(jì)算的問(wèn)題,所以代碼的算法設(shè)計(jì)集中在用戶操作方便性設(shè)計(jì)方面。
(1) 公用字符串變量設(shè)計(jì)
為了在對(duì)當(dāng)前用戶身份驗(yàn)證時(shí)盡量減少與數(shù)據(jù)庫(kù)的連接,在系統(tǒng)的啟動(dòng)模塊里聲明創(chuàng)建3個(gè)公用字符串變量,用來(lái)記錄相關(guān)用戶信息,他們是:
① g_strUserAuthority字符串變量用來(lái)對(duì)當(dāng)前用戶的身份權(quán)限進(jìn)行記錄,在啟動(dòng)主窗體之前要使用該變量對(duì)下拉菜單的enabled屬性進(jìn)行控制,以使用戶只能操作他權(quán)限范圍內(nèi)的功能;
②g_strCurrentUserName字符串變量用來(lái)記錄當(dāng)前用戶名,以在其他窗體中對(duì)用戶進(jìn)行提示性操作,并在用戶管理程序中判斷是否有資格修改sa密碼等功能;
③ g_strCuttentPassword用來(lái)記錄當(dāng)前用戶密碼,以在用戶進(jìn)行密碼修改等操作時(shí)進(jìn)行判斷,控制操作是否成功。
(2) 用戶名下拉列表設(shè)計(jì)
為方便用戶登錄,特設(shè)計(jì)此項(xiàng)功能。系統(tǒng)初始安裝后啟動(dòng),登錄窗體的下拉列表只有默認(rèn)用戶sa,隨著新用戶的增加,每次有下拉列表中不存在的用戶成功登錄系統(tǒng),下拉列表都會(huì)自動(dòng)記錄該用戶,下次該用戶再次登錄時(shí),可以從下拉列表選擇,從而避免再次輸入的麻煩。另外,當(dāng)用戶進(jìn)入系統(tǒng)以后被刪除掉,下次再用該用戶名登錄,系統(tǒng)會(huì)提示失敗,而且自動(dòng)從下拉列表中刪除該用戶名。此功能的代碼和解釋如下:
Private Sub frmLogIn_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load objCobUserName = cobUserName
′打開(kāi)記錄下拉組合框條目的文件,將條目讀取至下拉組合框
FileOpen(1,Startup.g_strApplicationPath \"\\\\bin\\\\LogUserItems\",OpenMode.Input)
Do Until EOF(1)
cobUserName.Items.Add(LineInput(1))
Loop
FileClose(1)
Me.cobUserName.Focus()
End Sub
此處使用一個(gè)DO循環(huán)進(jìn)行組合框列表的讀入操作,讀入的數(shù)據(jù)是曾經(jīng)成功登錄過(guò)系統(tǒng)且當(dāng)前仍然存在的用戶,這些用戶名存儲(chǔ)在名為L(zhǎng)ogUserItems的文件里。FileOpen語(yǔ)句使用讀入操作,循環(huán)結(jié)束由是否讀取至文件的結(jié)尾來(lái)控制。讀取完畢后組合框獲得焦點(diǎn)。
FileOpen(1,Startup.g_strApplicationPath \"\\\\bin\\\\LogUserItems\",OpenMode.Output)
Dim i As Integer
Dim text As String
text = cobUserName.Text
For i = 0 To cobUserName.Items.Count - 1
If cobUserName.Items(i) <> cobUserName.[LL]Text Then
text = text Chr(13) cobUserName.Items(i)
End If
Next i
PrintLine(1,text)
FileClose(1)
此處使用一個(gè)for循環(huán)把當(dāng)前組合框下拉列表里的用戶名寫(xiě)入到文件里,循環(huán)結(jié)束語(yǔ)句用下拉列表里的項(xiàng)目數(shù)量來(lái)控制。
(3) 使用中間變量代替非共享成員對(duì)象接受操作:因?yàn)樵诖绑w自動(dòng)生成的控件代碼中添加Shared共享成員定義會(huì)引起該控件代碼被系統(tǒng)自動(dòng)刪除,所以將中間對(duì)象變量定義為Shared共享成員來(lái)進(jìn)行對(duì)網(wǎng)格控件的操作更易成功。這也是.NET中對(duì)不同類的子類或?qū)傩赃M(jìn)行操作的常規(guī)做法。示例如下:
Public Shared objDataGrid As Object
frmUserManage.objDataGrid.DataSource = frmUserManage.dtblUserInfo
5 結(jié) 語(yǔ)
利用信息技術(shù)建立公路養(yǎng)護(hù)設(shè)備管理系統(tǒng),是提高公路養(yǎng)護(hù)設(shè)備管理水平的重要途徑?;谌娴臋C(jī)械設(shè)備指標(biāo)等信息,提供靈活的設(shè)備狀態(tài)信息查找、施工作業(yè)的機(jī)械選擇方案、機(jī)械設(shè)備的經(jīng)濟(jì)核算和效益分析,強(qiáng)化機(jī)械設(shè)備對(duì)項(xiàng)目的保障作用,規(guī)范項(xiàng)目機(jī)械管理行為,輔助建立適應(yīng)市場(chǎng)經(jīng)濟(jì)的現(xiàn)代化機(jī)械設(shè)備管理模式。建立以計(jì)算機(jī)為基礎(chǔ)的公路養(yǎng)護(hù)設(shè)備管理系統(tǒng),是目前公路養(yǎng)護(hù)現(xiàn)代化的必然趨勢(shì)。該系統(tǒng)可通過(guò)互聯(lián)網(wǎng)這一信息高速公路有效地對(duì)公路養(yǎng)護(hù)設(shè)備實(shí)行動(dòng)態(tài)管理,減少盲目購(gòu)置和過(guò)度購(gòu)置帶來(lái)的資金浪費(fèi),提高設(shè)備利用率和資金使用效率。
參 考 文 獻(xiàn)
[1]張昕,劉曉婷,倪鳳英.公路施工機(jī)械設(shè)備技術(shù)狀況管理系統(tǒng)[J].筑路機(jī)械與施工機(jī)械化,2005,22(0):5960.
[2]張昕,張永波.基于.NET平臺(tái)的“公路設(shè)備管理信息系統(tǒng)”的開(kāi)發(fā)與應(yīng)用[J].建筑機(jī)械,2006(1):7981.
[3]泰安市公路局.公路工程機(jī)械微機(jī)信息管理系統(tǒng)[J].工程建設(shè)機(jī)械,73(1).
[4]徐世河.管理信息系統(tǒng)設(shè)計(jì)教程[M].北京:電子工業(yè)出版社,2003.