《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 一種高擴展性的設備管理系統(tǒng)設計與實現(xiàn)
一種高擴展性的設備管理系統(tǒng)設計與實現(xiàn)
2014年微型機與應用第16期
李文藻1,黃 強2,楊宗澤3
1.成都信息工程學院 通信工程學院,四川 成都 610225; 2.四川大學華西醫(yī)院 公共實驗技術中心,四川 成都 610041; 3.四川大學華西醫(yī)院 疾病遺傳資源中心,四川 成都 610041
摘要: 在某科研單位的設備使用場景及實際需求背景下,為了實現(xiàn)設備的靈活管理與流程管理,介紹了一種基于B/S模式的可擴展性較高的設備管理系統(tǒng)的設計及實現(xiàn)方式。系統(tǒng)通過Microsoft Visual Studio .NET平臺技術,利用C#語言與SQL Server數(shù)據庫,最終實現(xiàn)了操作方便、擴展容易、數(shù)據傳輸可靠的以WEB進行數(shù)據錄入及查詢的設備管理系統(tǒng)。實際使用證明,該系統(tǒng)極大地提高了設備管理的工作效率,并且通過擴展性設計極大地延長了系統(tǒng)的生命周期。
Abstract:
Key words :

  摘  要: 在某科研單位的設備使用場景及實際需求背景下,為了實現(xiàn)設備的靈活管理與流程管理,介紹了一種基于B/S模式的可擴展性較高的設備管理系統(tǒng)的設計及實現(xiàn)方式。系統(tǒng)通過Microsoft Visual Studio .NET平臺技術,利用C#語言與SQL Server數(shù)據庫,最終實現(xiàn)了操作方便、擴展容易、數(shù)據傳輸可靠的以WEB進行數(shù)據錄入及查詢的設備管理系統(tǒng)。實際使用證明,該系統(tǒng)極大地提高了設備管理的工作效率,并且通過擴展性設計極大地延長了系統(tǒng)的生命周期。

  關鍵詞: B/S模式;設備管理系統(tǒng);C#語言;SQL Sever數(shù)據庫

  目前在眾多企業(yè)及科研單位,其設備管理通常通過人工利用表格錄入進行查詢及報廢等工作,這樣的方式隨著設備的增加、設備流動性的加強以及業(yè)務邏輯的復雜,逐步呈現(xiàn)出管理過程繁復、容易出錯并且不易追朔的特征。本系統(tǒng)是根據某科研單位的需求,合作開發(fā)的一套基于網絡化的設備管理平臺。該科研單位由于設備逐步增加,業(yè)務流程逐步改革,傳統(tǒng)的人工模式不能適應設備管理的需要,本系統(tǒng)在設備管理上可極大地減輕管理人員的負擔,更符合該單位目前需求與未來發(fā)展。

  C#是運行于.NET Framework上由微軟公司發(fā)布的面向對象的開發(fā)語言,它在2000年由Anders Hejlsberg主持開發(fā),對整個IT界具有很大的影響[1-2]。其中最重要的影響是在.NET平臺下開發(fā)應用程序變得更加簡便、現(xiàn)代及通用,并且.NET使Internet的行為方式被改變,利用一種較為新型的開發(fā)、發(fā)行及使用方式,更好地體現(xiàn)了軟件服從于服務的思想[3]。隨著國內網絡信息交流的頻繁與局域網的發(fā)展,其網絡數(shù)據帶寬得到了較大提高[4],其中B/S模式的管理系統(tǒng)也具有無需安裝客戶端,在目前網絡條件下具有訪問快捷與變更靈活等特征,所以設計以.NET平臺下利用C#語言開發(fā)的B/S系統(tǒng),結合SQL Sever數(shù)據庫的三層模型,是開發(fā)設備管理系統(tǒng)較為理想的方式。

1 系統(tǒng)需求與功能分析

  在對該單位設備管理流程以及管理對象進行認真調研及分析后,確定了系統(tǒng)的基本功能與需求。系統(tǒng)需要對科研設備進行統(tǒng)一的管理及部署,實現(xiàn)對設備信息的錄入及查詢兩大基本模塊,并可以由一般權限人員對設備進行查詢。系統(tǒng)主要由服務器、數(shù)據庫、交換設備以及瀏覽終端組成,其網絡部署拓撲如圖1所示。

001.jpg

  使用者角色為管理員與普通用戶,其權限的職能劃分如下:

 ?。?)管理員權限:主管信息系統(tǒng)的設備及信息錄入、刪除、設備信息修改等。

 ?。?)瀏覽用戶權限:可以查詢單個設備信息、檢索類設備信息、系統(tǒng)留言信息等。

  以上權限根據其應用需求,適合采用模塊化設計,并根據用戶的認證權限決定各模塊是否顯示。

  通過實際管理流程分析,針對設備屬性方面分為設備操作屬性與設備自身屬性。設備操作屬性包括設備的調撥、報廢、錄入、刪除及維修。其自身屬性包括設備所屬地、名稱、價值、管理員信息及參數(shù)等數(shù)據。而合理的參數(shù)設置以及在系統(tǒng)設計中充分考慮到設備的屬性修改的便捷性,對系統(tǒng)的擴展及生命力具有重要的意義。

2 設備管理系統(tǒng)的設計

  2.1 系統(tǒng)模塊設計

  設備管理系統(tǒng)的管理對象是設備,根據用戶的實際使用情況,系統(tǒng)主要劃分為設備管理操作模塊、系統(tǒng)設置管理模塊、信息查詢模塊與密碼修改模塊4大部分,參考Aspect-Orient Programming(AOP)設計思想[5],各模塊之間橫切關注點分離開,其功能劃分具有更好的封裝性。其功能框圖如圖2所示。

002.jpg

  各模塊主要功能如下:

  (1)設備管理模塊:系統(tǒng)管理員權限可見,負責設備的信息錄入、修改、維修登記、調撥登記以及報廢登記,可細分為圖2所示的5個主要操作頁面。

  ZI2)9UB1XT_9FE~93K`1MJ2.jpg

  通過系統(tǒng)設置管理模塊,可以大大提高系統(tǒng)的通用性以及系統(tǒng)使用的便捷性,避免了由于諸如部門更名而系統(tǒng)必須修改的情況。

 ?。?)信息查詢模塊:系統(tǒng)管理員權限與瀏覽用戶權限均可見,主要負責對設備統(tǒng)計搜索查詢、維修搜索查詢、調撥搜索查詢以及報廢統(tǒng)計查詢。查詢中必須定義:

  099EVVZ0NW}EHW8S}]HEDL4.png

  其中,D1為查詢設備集,D2為維修設備集,D3為調撥設備集,D4為報廢設備集。在系統(tǒng)中存在唯一查詢De的一個頁面,保證全部設備可列出,并由狀態(tài)欄顯示其所屬子集。其他頁面查詢只顯示子集列表,通過這樣的設計,隨著設備量的增加,能保證設備可列數(shù)量較少,提高工作效率,也可以通過限制顯示列表數(shù)量的方式,為后續(xù)的手機系統(tǒng)作為查詢終端奠定可擴展的空間[6]。

  2.2 系統(tǒng)擴展性設計

  設備管理系統(tǒng)的設計應遵循易用性與可擴展性原則[7]。隨著使用單位的部門名稱變更、管理流程變更以及功能模塊的增加,都會讓初始設計的系統(tǒng)陷入不能使用的尷尬境地。從使用者的角度,設備管理系統(tǒng)開發(fā)周期長、設計成本高、數(shù)據庫導入、導出與修改的方法繁復,其做系統(tǒng)更換的代價較大,也極大地影響了一個系統(tǒng)的生命周期。針對以上出現(xiàn)的問題,如何設計系統(tǒng)的可擴展性是評判系統(tǒng)設計優(yōu)良的一個重要指標。本系統(tǒng)中的擴展性設計基于以下兩方面:

 ?。?)部門與設備個別特征的可配置性。在系統(tǒng)中,考慮到通用性與擴展性的需求,部門設計中以部門為管理單位,對設備進行歸屬部門的掛靠,并由組織機構模塊負責部門的錄入,其功能模塊如圖3所示。

003.jpg

  圖3中,實線框表示可設置的操作對象模塊,虛線框表示相應步驟中的操作功能選擇,通過這樣的設計,在部門發(fā)生變動的情況下也可以具有很好的通用性與擴展性。

 ?。?)設備管理系統(tǒng)架構采用軟件架構上采用的表現(xiàn)層、邏輯層和數(shù)據訪問層3層架構。系統(tǒng)中功能目錄結構利用數(shù)據庫實現(xiàn)表現(xiàn)層與邏輯層的聯(lián)系,頁面中目錄以樹形結構顯示,并由H_systemtree表中Parentid項與序號ID項進行樹形目錄顯示及葉節(jié)點、根節(jié)點的確定。H_systemtree表結構設計如表1所示。

004.jpg

  通過設計H_systemtree表控制目錄樹顯示,具有修改方便、擴展性強的特點,通過數(shù)據表項的修改,可以方便調整目錄樹的顯示結構,也可以通過頁面的鏈接較為快速地對系統(tǒng)進行模塊化的擴充。

3 設備管理系統(tǒng)關鍵技術的實現(xiàn)

  3.1 數(shù)據庫實現(xiàn)

  通過用戶的實際需要,首先設計了包括H_DeviceInfo在內的10余張表,以滿足用戶的數(shù)據存儲訪問以及系統(tǒng)控制的需要。由于會面臨多次數(shù)據庫的訪問,因此在系統(tǒng)中聲明一個新的訪問接口類,其繼承通用類OleDbmanager,并調用類的多個構造函數(shù),以實現(xiàn)在未來數(shù)據庫類型更改的情況下,或是有修改數(shù)據類型的鏈接時,對這個實現(xiàn)類進行修改就可以適應,而不需要去改變接口的定義,從而避免由于上層應用程序變更而變更接口的定義[8]。連接數(shù)據庫構造函數(shù)定義部分代碼如下:

  Public IDbConnection connectDb();

  {

  If(Connection==NULL)

  {

  Connection=new OleDbConnection(Connect_string)

  }

  try{Connection.open();}

  return Connection;

  }

  3.2 ArrayList對象的數(shù)據存儲

  根據設備管理系統(tǒng)信息錄入的特點,通用性的設計標題類數(shù)據利用HTML標記語言中的td標記進行單元格定義,并由td標記標簽進行靜態(tài)文本的顯示,這樣的好處是方便修改背景色、表格大小等屬性。利用asp:textbox控件進行數(shù)據的獲取,利用asp:dropdownlist控件進行數(shù)據選擇,利用asp:button控件進行操作函數(shù)的觸發(fā)。對程序設計進行規(guī)定后,其后續(xù)的開發(fā)以及設備上線后的調試與修改,將會具有一定的便捷性。在asp:textbox控件與asp:dropdownlist控件填寫完相應的信息以后,會由asp:button進行具體的數(shù)據獲取與執(zhí)行,進行數(shù)據庫的寫入。

  在數(shù)據庫寫入時,考慮到程序的擴展性,利用數(shù)組的方法進行數(shù)據庫的對齊寫入。一般情況下,有ArrayList和LinkedList兩個實現(xiàn)類可以實現(xiàn)數(shù)組的結構,但是這兩種方法的實現(xiàn)方式不一致,Linklist類是由鏈表實現(xiàn),而ArrayList類則是由數(shù)組實現(xiàn)。由于對齊方式寫入數(shù)據庫方式更能保證數(shù)據的查錯與修改,具有更好的格式性[9],這里考慮利用ArrayList類中Add方法進行數(shù)據的獲取保存,并通過調用SQL語句寫入數(shù)據庫。其關鍵代碼如下:

  /*獲取模塊中所需信息*/

  ArrayList Device=new ArrayList();

  …

  Device.Add(DeviceNo.text);//設備編號

  Device.Add(DeviceName);//設備名

  …

  /*插入數(shù)據庫*/

  String SQL="insert into H_DeviceInfo(…deviceNo,deviceName…)values("+…,′"Device[n]+"′,′"Device[n+1]+"′…)";

  通過以上方式,就可以把設備編號與設備名稱分別插入到表H_DeviceInfo中的deviceNo項與deviceName項中。在查詢模塊中,其數(shù)據的讀出顯示也采用類似的原理。通過這樣的設計,較大程度地加強了程序的可讀性,并使程序在后續(xù)的修改中實現(xiàn)了較為便捷的目的。

  系統(tǒng)設計以某科研單位的實際需求為設計依據,概述了基于.NET利用C#語言開發(fā)的設備管理系統(tǒng)的設計過程,參考AOP的編程思想,提出了其中關鍵技術的實現(xiàn)方式。并且在設計及實現(xiàn)的過程中,通過使用模塊化設計、樹形菜單的數(shù)據庫控制及顯示、新聲明數(shù)據庫接口、控件使用相對單一和橫切關注點分離的編程思想,提高了程序的可讀性、簡易性,最終實現(xiàn)了可擴展、生命周期長以及通用性高的設備管理系統(tǒng)。該系統(tǒng)可以較為方便地部署,通過后續(xù)的系統(tǒng)運行測試,代替了傳統(tǒng)的設備管理模式,也驗證了系統(tǒng)的擴展性及可靠性,并且可以方便地擴展到手持終端的查詢,豐富系統(tǒng)訪問途徑。

  參考文獻

  [1] 張榮,王培俊,曹永彥,等.基于ASP .NET技術的實驗中心信息化管理平臺的設計[J].計算機技術與發(fā)展,2011,21(5):235-237.

  [2] 林金田,譚鑒榮,周欽強,等.基于Web氣象技術裝備管理與查詢系統(tǒng)設計[J].成都信息工程學院學報,2009,24(3):264-267.

  [3] 曹蕾,李楠,寧燕子,等.基于C#. Net的公司內部管理系統(tǒng)的設計與實現(xiàn)[J].數(shù)字技術與應用,2011,2(2):50-52.

  [4] Zhang Donglai, CODDINGTON P, WENDELBORN A. Web services workflow with result data forwarding as resources [J]. Future Generation Computer Systems,2011,27(6):694-702.

  [5] 陳旻.基于ADO .NET數(shù)據庫訪問實例的設計實現(xiàn)與應用[J].軟件導刊,2010,9(7):101-103.

  [6] MAES S H. Distributed device information management system as a distributed information repository system: U.S. Patent 7,949,569[P].(2011-5-24).http://www.freepatentsonline.com/y2008/0183753.html

  [7] 周芹,周遠龍,王磊.基于B/S結構的高校設備管理系統(tǒng)設計[J].軟件導刊,2013,12(2):82-83.

  [8] 陳月娟,李慧,劉光遠,等.基于AOP的信息管理系統(tǒng)的研究與實現(xiàn)[J].計算機應用與軟件,2010,27(2):130-133.

  [9] SENTHIL J, ARUMUGAM S, KAPOOR S M A A. Automatic code generation for recurring code patterns in Web based applications and increasing efficiency of data access code[J]. International Journal of Computer Science, 2012, 9(3):473-476.


此內容為AET網站原創(chuàng),未經授權禁止轉載。