摘 要:探討了高校對科研型創(chuàng)新實(shí)驗(yàn)室運(yùn)行管理中的相關(guān)資料數(shù)據(jù)的處理及管理,提出以高校實(shí)驗(yàn)室管理相關(guān)規(guī)范為基礎(chǔ),采用微軟.NET平臺的ASP.NET MVC技術(shù)和面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法,設(shè)計(jì)了一套實(shí)驗(yàn)室管理系統(tǒng),實(shí)現(xiàn)以實(shí)驗(yàn)教學(xué)為核心的全方位信息化管理。行成一套完整的實(shí)驗(yàn)室管理監(jiān)控體系,該系統(tǒng)的實(shí)施運(yùn)作,有效滿足了高校實(shí)驗(yàn)室的日常管理要求,提高了實(shí)驗(yàn)室的管理水平。
關(guān)鍵詞:信息化建設(shè);創(chuàng)新教育;實(shí)驗(yàn)室管理;.NET平臺
中圖分類號:TP311.52
隨著計(jì)算機(jī)技術(shù)的進(jìn)步,科研和生產(chǎn)技術(shù)的不斷提高,原來的人工管理模式已經(jīng)不太適應(yīng)現(xiàn)有的管理要求。實(shí)驗(yàn)室是高等院校實(shí)施創(chuàng)新教育及科學(xué)研究的重要基地,是高等院校日常運(yùn)作中的一個(gè)重要環(huán)節(jié)。自動(dòng)化的管理實(shí)驗(yàn)室數(shù)據(jù)具體做法就是通過建設(shè)使用以實(shí)驗(yàn)室管理為核心的管理信息系統(tǒng)。國內(nèi)實(shí)驗(yàn)室管理系統(tǒng)在九十年代開始起步,隨著科技和生產(chǎn)技術(shù)的提高,先進(jìn)的信息化網(wǎng)絡(luò)化管理模式被廣泛的應(yīng)用,實(shí)驗(yàn)室管理系統(tǒng)的發(fā)展帶來了大跨步的飛躍[1]。
1 系統(tǒng)設(shè)計(jì)
1.1 設(shè)計(jì)思想
為保證整個(gè)系統(tǒng)具有先進(jìn)性、開放性、經(jīng)濟(jì)性、界面友好、易于擴(kuò)充和維護(hù)等特點(diǎn),本系統(tǒng)的總體設(shè)計(jì)必須遵循“統(tǒng)籌規(guī)劃,急用先行,分步實(shí)施”的思想。其主要設(shè)計(jì)要求如下:
界面友好性:系統(tǒng)的開發(fā)采用人性化,注重人機(jī)交互界面的友好性,便于系統(tǒng)的使用和推廣。
先進(jìn)性:為確保整個(gè)系統(tǒng)在運(yùn)行若干年后,仍能基本滿足用戶的需求,建議采用目前比較先進(jìn)的高速網(wǎng)絡(luò)及計(jì)算機(jī)系統(tǒng)技術(shù)。
經(jīng)濟(jì)性:既要考慮系統(tǒng)的先進(jìn)性,也要考慮系統(tǒng)的經(jīng)濟(jì)性,軟硬件的投入和效能在比例關(guān)系上要恰當(dāng)。
開放性:采用開放式體系結(jié)構(gòu),保證異種數(shù)據(jù)庫平臺的通信。
易于擴(kuò)充和維護(hù):系統(tǒng)的設(shè)計(jì)應(yīng)留有足夠的擴(kuò)充空間,以便于將來軟硬件的升級,用戶進(jìn)行系統(tǒng)維護(hù)應(yīng)方便簡單。
1.2 概要設(shè)計(jì)
概要設(shè)計(jì)主要解決的問題是把系統(tǒng)分為幾個(gè)模塊,并且確定各個(gè)模塊之間是如何進(jìn)行聯(lián)系。在系統(tǒng)需求分析的基礎(chǔ)上,我們將實(shí)驗(yàn)室管理系統(tǒng)劃分為六大模塊,每個(gè)模塊滿足某些需求,并且互相聯(lián)系,具體如下:
實(shí)驗(yàn)中心日常工作:本模塊主要是實(shí)驗(yàn)室日常事務(wù)處理,包括值班表、值班日志、上下班考勤。還有個(gè)人網(wǎng)絡(luò)名片夾和個(gè)人日歷等實(shí)用工具。
資產(chǎn)管理與維護(hù):本模塊實(shí)現(xiàn)了對實(shí)驗(yàn)室內(nèi)的固定資產(chǎn)和耗材的臺帳管理以及設(shè)備的維修保養(yǎng)記錄、領(lǐng)用記錄。
實(shí)驗(yàn)文檔資料管理:實(shí)驗(yàn)室有眾多的實(shí)驗(yàn)相關(guān)資料以及管理資料,日積月累數(shù)量龐大,管理難度高,通過本模塊能夠有效的管理這些文檔資料,方便隨時(shí)查閱。
學(xué)生實(shí)驗(yàn)考勤:學(xué)生來實(shí)驗(yàn)室做實(shí)驗(yàn),使用校園卡刷卡進(jìn)行考勤,能夠有效的記錄學(xué)生實(shí)驗(yàn)記錄,方便管理。
實(shí)驗(yàn)室網(wǎng)站管理:實(shí)驗(yàn)室網(wǎng)站是實(shí)驗(yàn)室對外的一個(gè)窗口,通過后臺管理,使得網(wǎng)站上的信息及時(shí)更新。
系統(tǒng)管理:本模塊主要是對整個(gè)管理系統(tǒng)的用戶、權(quán)限、基本設(shè)置等管理,是整個(gè)系統(tǒng)的核心。
1.3 功能設(shè)計(jì)
在確定了系統(tǒng)設(shè)計(jì)的模塊后,接下來就要實(shí)現(xiàn)系統(tǒng)的具體實(shí)施。根據(jù)前面的需求分析和模塊設(shè)計(jì),結(jié)合軟件工程的思想,我們將合理的實(shí)現(xiàn)系統(tǒng)的以下幾個(gè)模塊日常工作管理模塊、資產(chǎn)管理與維護(hù)模塊、實(shí)驗(yàn)室文檔資料管理模塊、學(xué)生實(shí)驗(yàn)考勤管理模塊。
1.4 實(shí)驗(yàn)室管理系統(tǒng)原理
用戶向系統(tǒng)服務(wù)器請求或者上傳數(shù)據(jù),系統(tǒng)服務(wù)器查詢后臺服務(wù)器,返回結(jié)果給網(wǎng)站系統(tǒng)呈現(xiàn)給用戶。本系統(tǒng)還是采用B/S架構(gòu)來進(jìn)行設(shè)計(jì),在實(shí)時(shí)性,健壯性,安全性等方面都達(dá)到了一定的要求。其中WEB服務(wù)器和數(shù)據(jù)庫服務(wù)器可以在一臺服務(wù)器設(shè)備,在訪問量和數(shù)據(jù)庫大量增長是,可以分別使用兩天獨(dú)立的服務(wù)器,這樣可以分?jǐn)倲?shù)據(jù)訪問壓力,提高系統(tǒng)用戶體驗(yàn)。
2 關(guān)鍵技術(shù)
2.1 微軟.NET平臺技術(shù)
實(shí)驗(yàn)室管理系統(tǒng)是基于B/S結(jié)構(gòu)的系統(tǒng),并以面向?qū)ο蟮乃枷霕?gòu)建。隨著Internet技術(shù)的興起,B/S結(jié)構(gòu)在管理信息系統(tǒng)開發(fā)中越來越多的被使用?;贐/S結(jié)構(gòu),把主要事務(wù)邏輯放在服務(wù)器端中實(shí)現(xiàn),客戶端界面是在網(wǎng)頁瀏覽器中展現(xiàn),減少在客戶端實(shí)現(xiàn)事務(wù)邏輯,并最終形成所謂三層B/S結(jié)構(gòu)。如此一來,就大大簡化了客戶端的設(shè)計(jì),也減少了軟件安裝維護(hù)和日后升級時(shí)所帶來的工作量和成本,并且大大降低了項(xiàng)目的總體成本(TCO)[2]。
2.2 Windows Server 2008服務(wù)器
Windows Server 2008系統(tǒng)是微軟最新一個(gè)服務(wù)器操作系統(tǒng),是用于高端領(lǐng)域的系統(tǒng),能提供極高的安全性、可靠性和穩(wěn)定性,常用作大型應(yīng)用的服務(wù)器操作系統(tǒng);其次,Windows Server 2008易于安裝,規(guī)劃,管理和使用,能滿足絕大部分應(yīng)用系統(tǒng)的要求。
2.3 ASP.NET MVC技術(shù)
MVC(模型視圖控制器)模式將應(yīng)用程序分為三塊:模型、視圖和控制器。
Model層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,View層用于生成輸出,Controller層用于接收和處理輸入,它是Model與View之間溝通的橋梁,它可以分派用戶的請求并選擇恰當(dāng)?shù)囊晥D以用于顯示,Controller也是MVC中最重要的一層。一個(gè)模型可能對應(yīng)多個(gè)視圖,一個(gè)視圖可能對應(yīng)多個(gè)模型[3]。
2.4 ADO.NET Entity Framework技術(shù)
Entity Framework 采用了抽象化數(shù)據(jù)結(jié)構(gòu)的方式,將數(shù)據(jù)庫對象映射為應(yīng)用程序?qū)ο筮^程中,比如表格轉(zhuǎn)換成一個(gè)應(yīng)用程序?qū)ο?,對?yīng)的數(shù)據(jù)字段則對應(yīng)為為屬性,數(shù)據(jù)庫對象關(guān)系就轉(zhuǎn)換為結(jié)合屬性。這樣一個(gè)數(shù)據(jù)庫的E/R模型就可以映射為一個(gè)對象模型了,使用Entity Framework進(jìn)行數(shù)據(jù)相關(guān)編程的好處是程序員可以用面向?qū)ο蟮乃季S方式來操作關(guān)系數(shù)據(jù)庫,使得整個(gè)系統(tǒng)架構(gòu)設(shè)計(jì)更加面向?qū)ο蠡?、更加合理,在系統(tǒng)建模時(shí)也更加方便、合理。
2.5 Ajax技術(shù)以及JQuery框架
Ajax可以實(shí)現(xiàn)在服務(wù)器與瀏覽器之間數(shù)據(jù)的異步傳輸,使瀏覽器向服務(wù)器請求必要的少量數(shù)據(jù),以代替整個(gè)頁面的請求。由于是異步傳輸,Ajax能有效的利用服務(wù)器資源來響應(yīng)用戶的請求,同時(shí)又能減少服務(wù)器的壓力。jQuery是一個(gè)兼容多瀏覽器的javascript庫,它是一個(gè)開放源代碼項(xiàng)目,任何人可以免費(fèi)使用,并且還可以通過源代碼學(xué)習(xí)到相關(guān)技術(shù)。jQuery通過一系列的自定義函數(shù),設(shè)計(jì)了自己的一套語法,它的語法設(shè)計(jì)可以使開發(fā)者更加便捷高效的進(jìn)行Javascript開發(fā),例如操作文檔對象、選擇DOM元素、制作動(dòng)畫效果、事件處理、使用Ajax以及其他功能[4]。
3 數(shù)據(jù)庫優(yōu)化
3.1 數(shù)據(jù)規(guī)范化
在數(shù)據(jù)表的設(shè)計(jì)中,常常會因?yàn)檫^分的數(shù)據(jù)依賴而降低系統(tǒng)的性能。數(shù)據(jù)依賴是通過關(guān)系中屬性上的值是否相等來判斷的。數(shù)據(jù)依賴可能會對整個(gè)數(shù)據(jù)庫系統(tǒng)帶下以下的問題:數(shù)據(jù)的過分依賴可能會使數(shù)據(jù)冗余太大,造成空間的大量浪費(fèi);更新數(shù)據(jù)、更新異?;蛘邤?shù)據(jù)冗余時(shí),使維護(hù)數(shù)據(jù)的完整性變的困難;刪除異常,不該刪除的數(shù)據(jù)被刪除。插入異常,需要插入的數(shù)據(jù)為空時(shí)可能會導(dǎo)致錯(cuò)誤。提高數(shù)據(jù)庫表設(shè)計(jì)的規(guī)范性,能有效地處理上面我們提到的那些問題。
3.2 事務(wù)處理
在數(shù)據(jù)庫的執(zhí)行過程中,可能因?yàn)槟撤N原因會中斷一組數(shù)據(jù)庫語句的執(zhí)行。這就可能會對數(shù)據(jù)庫數(shù)據(jù)產(chǎn)生影響,造成數(shù)據(jù)庫中數(shù)據(jù)的不一致性。所以這里我們引入事務(wù)操作。所謂的事務(wù),就是由用戶定義的需要連續(xù)執(zhí)行的一組SQL語句,這些語句只能一起被執(zhí)行,或者一條也不執(zhí)行,相當(dāng)于P-V原語中一個(gè)不可分的整體。在關(guān)系數(shù)據(jù)庫中,事務(wù)有時(shí)候僅包含一條SQL語句,但也可以是一組SQL語句。事務(wù)有下面四個(gè)特點(diǎn):一致性、隔離性、原子性和持續(xù)性[5]。
如果系統(tǒng)不采用事務(wù),在第二步的執(zhí)行中,出現(xiàn)了一個(gè)中斷或者并發(fā)事件,數(shù)據(jù)庫系統(tǒng)有可能延遲或者不再執(zhí)行第三步。這就導(dǎo)致了數(shù)據(jù)庫中信息的殘存與冗余了。采用事務(wù)處理后,這些SQL語句的執(zhí)行就會一致,并且不會被打斷。如果這組語句的執(zhí)行結(jié)果沒有成功,則整個(gè)事務(wù)將會回滾,不會對數(shù)據(jù)庫產(chǎn)生任何影響。
4 系統(tǒng)實(shí)現(xiàn)
4.1 ASP.NET MVC過濾器
過濾器被用于整個(gè)應(yīng)用程序而不合適放置于某個(gè)局部位置,否則會打破關(guān)注分離模式。交叉關(guān)注的典型例子是登錄、授權(quán)、以及緩存等。
本系統(tǒng)中主要使用過濾器實(shí)現(xiàn)了用戶權(quán)限驗(yàn)證、頁面輸出壓縮、異??刂频葞状蠊δ堋F渲凶钪匾臋?quán)限驗(yàn)證過濾器。
4.2 C#代碼擴(kuò)展
通過擴(kuò)展方法現(xiàn)有類型就具備了在不創(chuàng)建新的派生類型、不重新編譯或以其他方式修改原始類型的情況下新增方法的功能。本系統(tǒng)利用擴(kuò)展方法這個(gè)機(jī)制,對系統(tǒng)開發(fā)中的一些通用的工具類方法進(jìn)行了統(tǒng)一的封裝,使得開發(fā)者調(diào)用這些工具類時(shí)很方便,程序結(jié)構(gòu)上也很優(yōu)雅。
4.3 視圖擴(kuò)展
ASP.NET MVC提供了MVC的程序開發(fā)架構(gòu),其中視圖部分提供了很多默認(rèn)實(shí)現(xiàn),也提供方便的擴(kuò)展接口,根據(jù)實(shí)際開發(fā)中需求,在開發(fā)實(shí)驗(yàn)室管理系統(tǒng)過程中,實(shí)現(xiàn)了一些視圖擴(kuò)展,如文件下載視圖、XML視圖、PDF視圖等等,其中XML視圖使用在需要將返回結(jié)果轉(zhuǎn)為XML的地方[6],比如一些ajax請求需要調(diào)用的操作返回一個(gè)XML格式的結(jié)果,這時(shí)使用這個(gè)ViewResult就相當(dāng)?shù)姆奖?,只要提供需要序列化的?shù)據(jù),就能將其自動(dòng)的轉(zhuǎn)為XML輸出。
5 結(jié)束語
基于ASP.NET MVC的實(shí)驗(yàn)室管理系統(tǒng)是基于工作在實(shí)驗(yàn)室第一線人員多年實(shí)驗(yàn)室工作中的需求和背景為依托設(shè)計(jì)實(shí)現(xiàn)的信息系統(tǒng),在功能上滿足了大多數(shù)實(shí)驗(yàn)室的管理需求。通過實(shí)驗(yàn)室網(wǎng)站這個(gè)窗口,學(xué)生和老師能夠及時(shí)正確的了解實(shí)驗(yàn)室的各方面情況。該系統(tǒng)的研究和實(shí)現(xiàn)對我國高校實(shí)驗(yàn)室管理系統(tǒng)的建設(shè)具有一定的研究價(jià)值。
參考文獻(xiàn):
[1]泰格斯.袁勤勇,譯.NET Framework編程思想[M].北京:清華大學(xué)出版社,2002.
[2]漆建軍.以信息化手段建設(shè)和管理實(shí)驗(yàn)室[J].實(shí)驗(yàn)技術(shù)與管理,2006(01):99-101.
[3]曾登高..NET系統(tǒng)架構(gòu)與開發(fā)[M].北京:電子工業(yè)出版社,2003.
[4]Dejan Sunderic.Tom Woodhead.SOL Server 2000 Stored Procedure Programming[M].北京:清華大學(xué)出版社,2002.
[5]曼尼諾.韓宏志,譯.數(shù)據(jù)庫設(shè)計(jì)?應(yīng)用開發(fā)和管理[M].北京:清華大學(xué)出版社,2007.
[6]宋海虹,陳小弟.現(xiàn)代實(shí)驗(yàn)室信息化管理實(shí)踐與探究[J].實(shí)驗(yàn)室科學(xué),2012(05):115-118.
作者簡介:陳小弟(1981-),男,上海金山人,實(shí)驗(yàn)員,助理工程師,工程碩士,研究方向:管理信息系統(tǒng)開發(fā)、數(shù)據(jù)庫。
作者單位:華東理工大學(xué),上海 200237