《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信与网络 > 业界动态 > 基于Web的高校仪器设备管理系统的设计与实现

基于Web的高校仪器设备管理系统的设计与实现

2009-07-10
作者:张 珊,陈建勋

  摘? 要: 在對(duì).NET關(guān)鍵技術(shù)分析的基礎(chǔ)上,針對(duì)高校的儀器設(shè)備管理的現(xiàn)狀,分析和設(shè)計(jì)了一套實(shí)用的基于N層架構(gòu)的高校儀器設(shè)備管理系統(tǒng),并給出了系統(tǒng)的具體設(shè)計(jì)和實(shí)施方案。
??? 關(guān)鍵詞: N層架構(gòu);.NET平臺(tái);設(shè)備管理系統(tǒng)

?

?? 隨著高校信息化建設(shè)速度的加快,學(xué)校規(guī)模的擴(kuò)大和實(shí)驗(yàn)室建設(shè)的快速發(fā)展,大量教學(xué)設(shè)備不斷購(gòu)進(jìn),原有的單機(jī)設(shè)備管理系統(tǒng)無(wú)法適應(yīng)現(xiàn)代化管理的需要,出現(xiàn)了許多不足,設(shè)備主管部門與財(cái)務(wù)、科技、人事、基層等部門管理脫節(jié),不能實(shí)現(xiàn)管理職能的個(gè)性化管理。尤其大多數(shù)高校設(shè)備管理辦法是高校設(shè)備采購(gòu)進(jìn)來(lái)以后,將設(shè)備的基本情況和相關(guān)信息登記存檔,然后將檔案存檔。以后檔案基本沒(méi)有人維護(hù),如設(shè)備位置變遷、檢修情況、設(shè)備當(dāng)前運(yùn)行狀態(tài)等信息根本不會(huì)體現(xiàn)在設(shè)備臺(tái)帳上,即設(shè)備跟蹤信息不能及時(shí)體現(xiàn)在設(shè)備檔案上。這影響老師辦公效率、科研工作以及學(xué)生技能、綜合能力的培養(yǎng),無(wú)法適應(yīng)信息時(shí)代信息充分共享和協(xié)同辦公的需求。所以,如何提高設(shè)備的管理水平和效率,合理利用,使其更加規(guī)范化、科學(xué)化和信息化,滿足教學(xué)和科研需求,一直是高校設(shè)備管理的重要研究問(wèn)題。
1?系統(tǒng)設(shè)計(jì)
??? 本系統(tǒng)采用B/S模式。它具有易維護(hù)、成本低、易升級(jí)、使用方便、容易被用戶接受等特點(diǎn)。用戶不用安裝特殊軟件,只需利用Windows自帶的IE瀏覽器就能方便地進(jìn)行管理,如圖1所示。

?

1.1?系統(tǒng)設(shè)計(jì)原則
??? (1)易用性。作為一個(gè)管理信息系統(tǒng) ,首先需要考慮它的用戶群。由于本系統(tǒng)是面向全校教職員工使用的一個(gè)業(yè)務(wù)系統(tǒng), 用戶的計(jì)算機(jī)水平參差不齊,因此,使系統(tǒng)簡(jiǎn)單易用,是保證系統(tǒng)正常使用的首要條件。
??? (2)安全性。細(xì)分權(quán)限,確保登錄系統(tǒng)的合法用戶根據(jù)其權(quán)限的不同查看其權(quán)限內(nèi)的相關(guān)信息。
  (3)開(kāi)放性。由于高校的信息化建設(shè)通常是分步進(jìn)行的,而設(shè)備管理信息化工作一般安排較為靠后,因此,本系統(tǒng)需要能夠既有作為一套完整系統(tǒng)獨(dú)立運(yùn)行的能力,又要能夠方便地掛接整合于其它系統(tǒng)之上 。這主要體現(xiàn)在系統(tǒng)的人員,部門信息等基礎(chǔ)數(shù)據(jù)來(lái)源的靈活性和系統(tǒng)內(nèi)信息的開(kāi)放性上。
1.2?軟件體系結(jié)構(gòu)
  綜合考慮系統(tǒng)設(shè)計(jì)原則,本系統(tǒng)采用五層架構(gòu):Web表現(xiàn)層、業(yè)務(wù)外觀層、業(yè)務(wù)規(guī)則層、數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)實(shí)體層。如圖2所示。


  (1)Web表現(xiàn)層。應(yīng)用程序的訪問(wèn)入口,主要實(shí)現(xiàn)頁(yè)面的顯示、用戶數(shù)據(jù)的接收和用戶輸入信息的基本驗(yàn)證(如判斷日期格式是否合法)等功能。具體由ASP.NET Web窗體和代碼隱藏文件實(shí)現(xiàn),Web窗體提供用戶操作,而代碼隱藏文件實(shí)現(xiàn)各種控件的事件處理。該層對(duì)應(yīng)于本系統(tǒng)中的Web項(xiàng)目。
  (2)業(yè)務(wù)外觀層。它隔離了用戶界面與各種業(yè)務(wù)功能的具體實(shí)現(xiàn),對(duì)后臺(tái)所有業(yè)務(wù)邏輯包括對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)都要通過(guò)該層調(diào)用。系統(tǒng)中直接面向用戶的應(yīng)用程序。該層對(duì)應(yīng)于本系統(tǒng)中的BusinessFacade項(xiàng)目。
  (3)業(yè)務(wù)規(guī)則層。也稱商業(yè)邏輯層,實(shí)現(xiàn)系統(tǒng)的各種具體業(yè)務(wù)邏輯規(guī)則,如各種流程控制、權(quán)限控制等。它是業(yè)務(wù)規(guī)則或商業(yè)邏輯實(shí)現(xiàn)。該層對(duì)應(yīng)于本系統(tǒng)中的BusinessRules項(xiàng)目。
  (4)數(shù)據(jù)訪問(wèn)層。直接調(diào)用數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程,達(dá)到操作數(shù)據(jù)庫(kù)的目的。該層對(duì)應(yīng)與本系統(tǒng)中的DataAccess項(xiàng)目。
  數(shù)據(jù)訪問(wèn)層對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)均采用了存儲(chǔ)過(guò)程的方式進(jìn)行。依此可保持應(yīng)用程序的執(zhí)行效率并簡(jiǎn)化數(shù)據(jù)訪問(wèn)層。利用using 或try catch finally 塊對(duì)存儲(chǔ)過(guò)程進(jìn)行調(diào)用, 盡可能快地釋放庫(kù)資源。
  采用存儲(chǔ)過(guò)程具有以下優(yōu)點(diǎn):①執(zhí)行速度快,存儲(chǔ)過(guò)程已經(jīng)經(jīng)過(guò)編譯,無(wú)須經(jīng)過(guò)SQL語(yǔ)句的再次分析,可以直接執(zhí)行;②能夠減少網(wǎng)絡(luò)流量,由于ADO.NET執(zhí)行存儲(chǔ)過(guò)程時(shí),傳遞的只是存儲(chǔ)過(guò)程的一個(gè)名稱,而不是整個(gè)SQL語(yǔ)句;③可以設(shè)定權(quán)限以提高安全性;④對(duì)數(shù)據(jù)庫(kù)進(jìn)行復(fù)雜操作時(shí)(如對(duì)多個(gè)表進(jìn)行Update, Insert, Query, Delete時(shí)),可將此復(fù)雜操作用存儲(chǔ)過(guò)程封裝起來(lái)與數(shù)據(jù)庫(kù)提供的事務(wù)處理結(jié)合一起使用,當(dāng)運(yùn)行發(fā)生錯(cuò)誤時(shí)會(huì)回滾(Rollback)該事務(wù)。
  (5)業(yè)務(wù)實(shí)體層。實(shí)體層解決了業(yè)務(wù)數(shù)據(jù)表現(xiàn)形式的問(wèn)題。它將顯示數(shù)據(jù)和實(shí)際的存儲(chǔ)區(qū)域隔離,保證了業(yè)務(wù)的獨(dú)立性,提高可重用性。業(yè)務(wù)實(shí)體組件就是數(shù)據(jù)庫(kù)中表的映射,一個(gè)實(shí)體類相當(dāng)于一個(gè)表,一個(gè)實(shí)體對(duì)象相當(dāng)于一個(gè)表中的一條記錄。業(yè)務(wù)實(shí)體組件是系統(tǒng)中各層數(shù)據(jù)傳遞的媒介。該層對(duì)應(yīng)于本系統(tǒng)中的Common項(xiàng)目。
  軟件分層有以下優(yōu)點(diǎn):(1)良好的透明和封裝;(2)高內(nèi)聚、低耦合;(3)易于擴(kuò)展、維護(hù)和重用;(4)開(kāi)發(fā)人員易于分工,提高開(kāi)發(fā)效率。
1.3? 開(kāi)發(fā)平臺(tái)
  本系統(tǒng)采用的是Microsoft Visual Studio.NET2005為開(kāi)發(fā)平臺(tái),結(jié)合C#語(yǔ)言開(kāi)發(fā),并采用SQL Server2000為后臺(tái)數(shù)據(jù)庫(kù)。SQL Server2000是新型的關(guān)系數(shù)據(jù)庫(kù),它能夠滿足大型Web站點(diǎn)的數(shù)據(jù)存儲(chǔ)和分析需求。
1.4? 功能設(shè)計(jì)
  根據(jù)高校的組織機(jī)構(gòu)和設(shè)備管理工作的特點(diǎn),可以將系統(tǒng)分為5個(gè)子系統(tǒng):設(shè)備管理、系統(tǒng)管理、設(shè)備統(tǒng)計(jì)查詢、用戶管理和生成報(bào)表。功能模塊如圖3所示。


2?關(guān)鍵技術(shù)
2.1?通過(guò)OLE DB.NET Framework數(shù)據(jù)提供程序完成和Excel的交互

??? 本系統(tǒng)中涉及了大量設(shè)備相關(guān)信息,在使用系統(tǒng)前,必須錄入設(shè)備的相關(guān)信息,而這些信息是以Excel表的形式存在。為了減輕用戶負(fù)擔(dān),設(shè)計(jì)系統(tǒng)能從Excel表中讀取數(shù)據(jù),從而減少設(shè)備信息錄入中可能產(chǎn)生的錯(cuò)誤。
??? 本系統(tǒng)通過(guò)將Excel文件作為OLE DB數(shù)據(jù)源,使用OLEDB .NET Framework 數(shù)據(jù)提供程序來(lái)建立與該Excel 文件的連接,并通過(guò)leDbDataAdapter. Fill 方法將Excel 文件中的數(shù)據(jù)填充到DataSet 中,按圖書(shū)資料表的格式保存到數(shù)據(jù)庫(kù)中,也可以將DataSet 與DataGrid 控件綁定,讓用戶自定義保存。以下為具體的ADO.NET 代碼:
  (1)引入System.Data.OleDb 命名空間,將以下代碼加入到模塊的聲明部分:
  Using System.Data.OleDb;
  (2)使用OLEDB .NET Framework 數(shù)據(jù)提供程序建立與Excel數(shù)據(jù)源的連接:
  System. Data. OleDb. OleDbConnection MyConnection;
  //初始化連接,EquipInfo.XLS為存儲(chǔ)圖書(shū)資料的Excel文件
  MyConnection=NewSystem.Data.OleDb.OleDb Connection(_'Provider=Microsoft.Jet.OLEDB.4.0;'&_'Data Source=EquipInfo.XLS; '& _'Extended Properties=Excel 8.0;')
  (3)將Excel文件中的數(shù)據(jù)填充到DataSet中System. Data. OleDb. OleDbDataAdapter MyCommand;
  //Sheet1為Excel 文件中保存數(shù)據(jù)的工作簿
  MyCommand=New System.Data.OleDb.OleDb Data-Adapter( _'select * from[Sheet1$]', MyConnection)';
  //將數(shù)據(jù)填充到DataSet1的EquipInfo表中MyCommand.Fill(DataSet1, 'EquipInfo');
  MyConnection.Close();???? //將數(shù)據(jù)綁定到DataGrid1
  DataGrid1.DataSource=DataSet1;
  DataGrid1.DataMember='BookData';
2.2? 安全機(jī)制
2.2.1 身份驗(yàn)證
??? 用戶身份驗(yàn)證是從用戶處獲取標(biāo)識(shí)憑據(jù)并通過(guò)某些授權(quán)機(jī)構(gòu)驗(yàn)證那些憑據(jù)的過(guò)程。當(dāng)用戶登錄系統(tǒng)時(shí),用戶需要輸入用戶名和口令,系統(tǒng)在完成用戶填寫(xiě)信息與系統(tǒng)保存信息的對(duì)比后,判斷訪問(wèn)者是否為合法用戶。在身份得到驗(yàn)證后,授權(quán)進(jìn)程將確定該身份是否可以訪問(wèn)給定資源,包括數(shù)據(jù)和方法調(diào)用。
2.2.2? 授權(quán)驗(yàn)證
??? 本系統(tǒng)采用系統(tǒng)功能樹(shù)管理技術(shù)進(jìn)行授權(quán)驗(yàn)證。通過(guò)系統(tǒng)功能書(shū)管理確保不同身份級(jí)別的用戶登錄系統(tǒng)后見(jiàn)到不同內(nèi)容的系統(tǒng)功能樹(shù),防止訪問(wèn)非本權(quán)限內(nèi)容集,增強(qiáng)了系統(tǒng)的安全性。
??? (1)群組劃分。是一種授權(quán)模式,為了保證業(yè)務(wù)的獨(dú)立性,防止一個(gè)用戶進(jìn)行其不應(yīng)擁有的系統(tǒng)操作能力和服務(wù)。將全部用戶根據(jù)處理業(yè)務(wù)的不同而劃分出不同群組,每一個(gè)群組在授權(quán)范圍內(nèi)進(jìn)行相應(yīng)的業(yè)務(wù)操作。
  (2)權(quán)限控制。當(dāng)用戶通過(guò)身份驗(yàn)證及群組授權(quán)登錄某一個(gè)功能頁(yè)面時(shí),如果同一群組在操作權(quán)利上存在細(xì)微差別,則通過(guò)權(quán)限控制來(lái)解決。它可以解決某一用戶對(duì)某一功能是否有操作權(quán)利。
?在儀器設(shè)備管理系統(tǒng)中,有三個(gè)群組:高級(jí)管理員、管理員和普通用戶,其中高級(jí)管理員和普通用戶均隸屬于各個(gè)部門。不同群組的用戶所具有的操作權(quán)限以及操作內(nèi)容均不一樣;相同群組的不同用戶操作同一功能時(shí),由于部門不同,查詢信息的結(jié)果也不同。
  ①超級(jí)管理員。它的權(quán)限最高,具有管理自己的用戶信息、管理管理員、普通用戶信息以及管理及查詢所有設(shè)備相關(guān)信息。
  ②管理員。除了超級(jí)管理員外,管理員可以管理自己的用戶信息、管理及查詢本部門的設(shè)備相關(guān)信息。
 ?、燮胀ㄓ脩?。普通用戶的權(quán)限最低,包括管理自己的用戶信息、查詢本部門的設(shè)備相關(guān)信息。
  細(xì)分的權(quán)限管理,有效的保證了設(shè)備信息在系統(tǒng)內(nèi)部流動(dòng)的安全性。
2.2.3? 加密算法
  系統(tǒng)還采用MD5加密算法對(duì)用戶密碼加密,通過(guò)系統(tǒng)日志隨時(shí)記錄所有用戶的訪問(wèn)操作日志,防止用戶身份偽造和操作抵賴。
2.2.4? 存儲(chǔ)過(guò)程
  對(duì)數(shù)據(jù)的訪問(wèn)由存儲(chǔ)過(guò)程完成,防止惡意用戶非法的數(shù)據(jù)寫(xiě)入。防止SQL注入攻擊等方法。
  在.NET環(huán)境下采用多層設(shè)計(jì)架構(gòu),能夠有效地提高團(tuán)隊(duì)合作開(kāi)發(fā)的效率,增加代碼的可復(fù)用程度,提高對(duì)需求變更的應(yīng)對(duì)能力。與傳統(tǒng)的設(shè)備管理系統(tǒng)相比具有實(shí)時(shí)性好、運(yùn)營(yíng)成本低、信息資源共享以及可維護(hù)性好等優(yōu)點(diǎn)。


參考文獻(xiàn)
[1] 莊亮,王麗芳,蔣澤軍,等..NET 平臺(tái)下基于Facade 模式的軟件N層架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2006,23(7):75-77.
[2] 錢怡.高校科研管理信息系統(tǒng)的開(kāi)發(fā)與實(shí)現(xiàn)[J].華北水利水電學(xué)院學(xué)報(bào)(社科版),2003(3):59-60.
[3] 趙明,呂立堅(jiān).多層體系結(jié)構(gòu)的EJB組件實(shí)現(xiàn)技術(shù)[J].計(jì)算機(jī)應(yīng)用研究,2001(12):76-78.
[4] 李敏.基于B/S模式的高校設(shè)備管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].四川理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2006,19(4):70-73.
[5] 梁高永,李龍軍.高校設(shè)備管理系統(tǒng)的可靠性研究[J].四川理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2006,19(4):70-73.
[6] 王佰超,黃亞宇.基于Web的設(shè)備管理系統(tǒng)的研究[J].電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2006,19(5):92-94.
[7] 趙東濤.關(guān)于完善和加強(qiáng)高等院校儀器設(shè)備管理的探討[J].長(zhǎng)沙大學(xué)學(xué)報(bào),2006,20(5):123-125.
[8] 黃曉靜.信息技術(shù)對(duì)高校儀器設(shè)備管理工作的影響[J].河北工業(yè)大學(xué)成人教育學(xué)院學(xué)報(bào),2006,21(3):49-51.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。