摘? 要: 在對.NET關鍵技術分析的基礎上,針對高校的儀器設備管理的現狀,分析和設計了一套實用的基于N層架構的高校儀器設備管理系統,并給出了系統的具體設計和實施方案。
??? 關鍵詞: N層架構;.NET平臺;設備管理系統
?
?? 隨著高校信息化建設速度的加快,學校規模的擴大和實驗室建設的快速發展,大量教學設備不斷購進,原有的單機設備管理系統無法適應現代化管理的需要,出現了許多不足,設備主管部門與財務、科技、人事、基層等部門管理脫節,不能實現管理職能的個性化管理。尤其大多數高校設備管理辦法是高校設備采購進來以后,將設備的基本情況和相關信息登記存檔,然后將檔案存檔。以后檔案基本沒有人維護,如設備位置變遷、檢修情況、設備當前運行狀態等信息根本不會體現在設備臺帳上,即設備跟蹤信息不能及時體現在設備檔案上。這影響老師辦公效率、科研工作以及學生技能、綜合能力的培養,無法適應信息時代信息充分共享和協同辦公的需求。所以,如何提高設備的管理水平和效率,合理利用,使其更加規范化、科學化和信息化,滿足教學和科研需求,一直是高校設備管理的重要研究問題。
1?系統設計
??? 本系統采用B/S模式。它具有易維護、成本低、易升級、使用方便、容易被用戶接受等特點。用戶不用安裝特殊軟件,只需利用Windows自帶的IE瀏覽器就能方便地進行管理,如圖1所示。
?

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

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

2?關鍵技術
2.1?通過OLE DB.NET Framework數據提供程序完成和Excel的交互
??? 本系統中涉及了大量設備相關信息,在使用系統前,必須錄入設備的相關信息,而這些信息是以Excel表的形式存在。為了減輕用戶負擔,設計系統能從Excel表中讀取數據,從而減少設備信息錄入中可能產生的錯誤。
??? 本系統通過將Excel文件作為OLE DB數據源,使用OLEDB .NET Framework 數據提供程序來建立與該Excel 文件的連接,并通過leDbDataAdapter. Fill 方法將Excel 文件中的數據填充到DataSet 中,按圖書資料表的格式保存到數據庫中,也可以將DataSet 與DataGrid 控件綁定,讓用戶自定義保存。以下為具體的ADO.NET 代碼:
(1)引入System.Data.OleDb 命名空間,將以下代碼加入到模塊的聲明部分:
Using System.Data.OleDb;
(2)使用OLEDB .NET Framework 數據提供程序建立與Excel數據源的連接:
System. Data. OleDb. OleDbConnection MyConnection;
//初始化連接,EquipInfo.XLS為存儲圖書資料的Excel文件
MyConnection=NewSystem.Data.OleDb.OleDb Connection(_'Provider=Microsoft.Jet.OLEDB.4.0;'&_'Data Source=EquipInfo.XLS; '& _'Extended Properties=Excel 8.0;')
(3)將Excel文件中的數據填充到DataSet中System. Data. OleDb. OleDbDataAdapter MyCommand;
//Sheet1為Excel 文件中保存數據的工作簿
MyCommand=New System.Data.OleDb.OleDb Data-Adapter( _'select * from[Sheet1$]', MyConnection)';
//將數據填充到DataSet1的EquipInfo表中MyCommand.Fill(DataSet1, 'EquipInfo');
MyConnection.Close();???? //將數據綁定到DataGrid1
DataGrid1.DataSource=DataSet1;
DataGrid1.DataMember='BookData';
2.2? 安全機制
2.2.1 身份驗證
??? 用戶身份驗證是從用戶處獲取標識憑據并通過某些授權機構驗證那些憑據的過程。當用戶登錄系統時,用戶需要輸入用戶名和口令,系統在完成用戶填寫信息與系統保存信息的對比后,判斷訪問者是否為合法用戶。在身份得到驗證后,授權進程將確定該身份是否可以訪問給定資源,包括數據和方法調用。
2.2.2? 授權驗證
??? 本系統采用系統功能樹管理技術進行授權驗證。通過系統功能書管理確保不同身份級別的用戶登錄系統后見到不同內容的系統功能樹,防止訪問非本權限內容集,增強了系統的安全性。
??? (1)群組劃分。是一種授權模式,為了保證業務的獨立性,防止一個用戶進行其不應擁有的系統操作能力和服務。將全部用戶根據處理業務的不同而劃分出不同群組,每一個群組在授權范圍內進行相應的業務操作。
(2)權限控制。當用戶通過身份驗證及群組授權登錄某一個功能頁面時,如果同一群組在操作權利上存在細微差別,則通過權限控制來解決。它可以解決某一用戶對某一功能是否有操作權利。
?在儀器設備管理系統中,有三個群組:高級管理員、管理員和普通用戶,其中高級管理員和普通用戶均隸屬于各個部門。不同群組的用戶所具有的操作權限以及操作內容均不一樣;相同群組的不同用戶操作同一功能時,由于部門不同,查詢信息的結果也不同。
①超級管理員。它的權限最高,具有管理自己的用戶信息、管理管理員、普通用戶信息以及管理及查詢所有設備相關信息。
②管理員。除了超級管理員外,管理員可以管理自己的用戶信息、管理及查詢本部門的設備相關信息。
③普通用戶。普通用戶的權限最低,包括管理自己的用戶信息、查詢本部門的設備相關信息。
細分的權限管理,有效的保證了設備信息在系統內部流動的安全性。
2.2.3? 加密算法
系統還采用MD5加密算法對用戶密碼加密,通過系統日志隨時記錄所有用戶的訪問操作日志,防止用戶身份偽造和操作抵賴。
2.2.4? 存儲過程
對數據的訪問由存儲過程完成,防止惡意用戶非法的數據寫入。防止SQL注入攻擊等方法。
在.NET環境下采用多層設計架構,能夠有效地提高團隊合作開發的效率,增加代碼的可復用程度,提高對需求變更的應對能力。與傳統的設備管理系統相比具有實時性好、運營成本低、信息資源共享以及可維護性好等優點。
參考文獻
[1] 莊亮,王麗芳,蔣澤軍,等..NET 平臺下基于Facade 模式的軟件N層架構的設計與實現[J].微電子學與計算機,2006,23(7):75-77.
[2] 錢怡.高校科研管理信息系統的開發與實現[J].華北水利水電學院學報(社科版),2003(3):59-60.
[3] 趙明,呂立堅.多層體系結構的EJB組件實現技術[J].計算機應用研究,2001(12):76-78.
[4] 李敏.基于B/S模式的高校設備管理系統設計與實現[J].四川理工學院學報(自然科學版),2006,19(4):70-73.
[5] 梁高永,李龍軍.高校設備管理系統的可靠性研究[J].四川理工學院學報(自然科學版),2006,19(4):70-73.
[6] 王佰超,黃亞宇.基于Web的設備管理系統的研究[J].電產品開發與創新,2006,19(5):92-94.
[7] 趙東濤.關于完善和加強高等院校儀器設備管理的探討[J].長沙大學學報,2006,20(5):123-125.
[8] 黃曉靜.信息技術對高校儀器設備管理工作的影響[J].河北工業大學成人教育學院學報,2006,21(3):49-51.
