摘要:利用.NET技術(shù)、網(wǎng)絡(luò)技術(shù)和遠(yuǎn)程數(shù)據(jù)庫技術(shù)等一些當(dāng)前比較先進(jìn)的技術(shù)設(shè)計(jì)和實(shí)現(xiàn)基于Web服務(wù)的網(wǎng)絡(luò)數(shù)據(jù)庫結(jié)構(gòu)B/S模式的院校教學(xué)保障系統(tǒng),促進(jìn)院校教學(xué)保障體制的網(wǎng)絡(luò)化、信息化發(fā)展,提高院校教學(xué)保障工作的效率和質(zhì)量。
關(guān)鍵詞:B/S;.NET技術(shù);ASP.NET;ADO.NET;教學(xué)保障
中圖分類號(hào):G434文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)34-1937-02
Design and Implementation of Teaching Logistic System Based on .NET Technology
HAO Yong-qiang, TAN Yue-hui, LI Ze-tian
(Ordnance Engineering College, Shijiazhuang 050003, China)
Abstract: Make use of some advance technology such as. Net, web service and database, etc, designing and implementing the Teaching Logistic System which is based on the model of B/S. Therefore, the work of Teaching Logistic will be more Informationalization and network, which can raise the efficiency and quality of the work of the college teaching.
Keywords: B/S; .NET Technology; ASP.NET; ADO.NET; teaching logistic
1 引言
隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,計(jì)算機(jī)的應(yīng)用已經(jīng)越來越廣泛,為了適應(yīng)信息傳輸?shù)陌l(fā)展以及學(xué)校辦公的自動(dòng)化需求,提高教學(xué)的效率和質(zhì)量,開發(fā)院校的教學(xué)保障系統(tǒng)已經(jīng)成為了信息化校園的必須,現(xiàn)在有些院校已經(jīng)開發(fā)了一些基于C/S架構(gòu)的教學(xué)保障系統(tǒng),但是在一定程度上達(dá)不到信息的公開性、及時(shí)性等要求,為了實(shí)現(xiàn)教學(xué)保障工作的規(guī)范化、網(wǎng)絡(luò)化,開發(fā)基于B/S架構(gòu)的系統(tǒng)成為了技術(shù)發(fā)展的必然。
.NET技術(shù)就是為了順應(yīng)B/S下應(yīng)用系統(tǒng)的開發(fā)需求而產(chǎn)生的,其核心思想就是把軟件變成服務(wù),在采用了XML作為核心技術(shù)后,各種軟件產(chǎn)品都可能在網(wǎng)絡(luò)上運(yùn)行,不必像以前的軟件產(chǎn)品那樣必須采用光盤方式發(fā)送和安裝,是新一代互聯(lián)網(wǎng)的核心運(yùn)行模式,因此本系統(tǒng)的開發(fā)將采用.NET技術(shù)下的Visual Studio 2005開發(fā)平臺(tái)。
2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)根據(jù)教學(xué)保障的具體工作職責(zé)、任務(wù)和性質(zhì),采用模塊化設(shè)計(jì),主要是實(shí)現(xiàn)對(duì)保障內(nèi)容的操作、修改、擴(kuò)充、查詢和打印等功能,整個(gè)系統(tǒng)由用戶信息、數(shù)據(jù)維護(hù)、報(bào)表管理、系統(tǒng)維護(hù)四個(gè)模塊組成,如圖1所示。
2.1 用戶信息
用戶信息模塊包括用戶的注冊信息、登陸信息以及用戶的權(quán)限管理三個(gè)部分。系統(tǒng)的用戶設(shè)計(jì)區(qū)分為管理員、一般用戶、普通用戶三類,分別針對(duì)系統(tǒng)的三類使用對(duì)象,即教學(xué)保障機(jī)關(guān)的工作人員、教職員工、學(xué)生。其中,教學(xué)保障的機(jī)關(guān)工作人員(管理員)主要任務(wù)是在服務(wù)器端負(fù)責(zé)系統(tǒng)的維護(hù)、數(shù)據(jù)的更新、發(fā)布以及處理其他用戶的報(bào)表申請(qǐng)等;教職員工(一般用戶)在瀏覽器端可以通過本系統(tǒng)訪問查詢各類教學(xué)資源的使用和剩余情況,并可以通過系統(tǒng)報(bào)表功能實(shí)現(xiàn)對(duì)剩余教學(xué)資源的使用申請(qǐng)、教學(xué)設(shè)備的損壞后報(bào)修等功能;學(xué)生(普通用戶)在瀏覽器端主要是利用系統(tǒng)的查詢功能,查看上課的場地,所要準(zhǔn)備的物品、器材等。
2.2 數(shù)據(jù)維護(hù)
數(shù)據(jù)的維護(hù)主要包括數(shù)據(jù)的輸入、輸出以及數(shù)據(jù)的查詢功能。系統(tǒng)管理員采集教學(xué)場地、實(shí)驗(yàn)室、訓(xùn)練場地、訓(xùn)練器材、網(wǎng)絡(luò)信息資源、教學(xué)設(shè)備、教材等各類數(shù)據(jù)后,將數(shù)據(jù)錄入系統(tǒng)數(shù)據(jù)庫,并可以對(duì)數(shù)據(jù)庫的內(nèi)容進(jìn)行更新與修改,其他用戶可以對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行查詢并能將數(shù)據(jù)導(dǎo)出到報(bào)表進(jìn)行打印。為了保障數(shù)據(jù)的安全,系統(tǒng)集成數(shù)據(jù)的恢復(fù)與備份功能。
由于系統(tǒng)集成的數(shù)據(jù)比較多,數(shù)據(jù)的分類查詢功能可以方便用戶對(duì)自己所需的數(shù)據(jù)實(shí)現(xiàn)針對(duì)性的調(diào)用,所有用戶都可以使用查詢功能實(shí)現(xiàn)對(duì)系統(tǒng)數(shù)據(jù)的分類查詢,提高系統(tǒng)的使用效率和辦公的自動(dòng)化效率。
2.3 報(bào)表管理
系統(tǒng)的報(bào)表功能主要是將系統(tǒng)所采集的各類數(shù)據(jù)以報(bào)表的形式直觀的顯示出來,供用戶查看和使用,系統(tǒng)還可以對(duì)數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,生成常用的各類統(tǒng)計(jì)報(bào)表并輸出供用戶選擇打印。系統(tǒng)報(bào)表主要包括實(shí)驗(yàn)室、教室、訓(xùn)練場地的基本情況統(tǒng)計(jì)表,所配備的設(shè)備、器材統(tǒng)計(jì)表,使用情況統(tǒng)計(jì)表,其中使用情況包括授課的人員、教授課目、上課的班級(jí)等信息;另外,還包括教學(xué)設(shè)備、教材、文具的庫存情況、出入庫統(tǒng)計(jì)、流通單據(jù)等。
通過報(bào)表管理,系統(tǒng)管理員主要是將各種數(shù)據(jù)報(bào)表進(jìn)行公示,審批并區(qū)分教職員工對(duì)教學(xué)場地、器材等教學(xué)資源的使用申請(qǐng)。教職員工可以利用報(bào)表管理實(shí)現(xiàn)訪問查詢各類教學(xué)資源的使用和剩余情況,并通過系統(tǒng)報(bào)表功能實(shí)現(xiàn)對(duì)剩余教學(xué)資源的使用申請(qǐng)、教學(xué)設(shè)備的損壞后報(bào)修等功能。已使用的、未使用的、等待審批使用的教學(xué)資源用不同的顏色加以區(qū)分。
2.4 系統(tǒng)維護(hù)
系統(tǒng)的維護(hù)由系統(tǒng)的管理員負(fù)責(zé),在服務(wù)器端實(shí)施,主要包括對(duì)用戶信息、數(shù)據(jù)庫數(shù)據(jù)、報(bào)表管理以及系統(tǒng)代碼的維護(hù)等。
3 系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)
3.1 身份驗(yàn)證
在本系統(tǒng)中采用了表單身份驗(yàn)證。用戶注冊以后可以登陸系統(tǒng),進(jìn)入登陸界面,輸入登陸信息,系統(tǒng)將用戶信息(用戶名和密碼)作為憑據(jù),以表單的形式傳送到服務(wù)器,系統(tǒng)應(yīng)用程序?qū)φ?qǐng)求進(jìn)行身份驗(yàn)證,系統(tǒng)以Cookie的形式發(fā)出身份驗(yàn)證票證,此Cookie包含憑據(jù)或用于重新獲取標(biāo)識(shí)的密鑰,瀏覽器的后續(xù)請(qǐng)求自動(dòng)包含此Cookie。經(jīng)驗(yàn)證無誤后,用戶方可進(jìn)入系統(tǒng)實(shí)施操作。
3.2 權(quán)限控制
系統(tǒng)使用VS 2005自帶CreateUserWizard 控件完成用戶的注冊,通過Login控件完成用戶的登錄,同時(shí),可以修改Loginview控件的RoleGroups項(xiàng),在其屬性中設(shè)置Roles屬性值,添加Admin、User、Guest分別對(duì)應(yīng)教保機(jī)關(guān)工作人員、教師、學(xué)生以區(qū)分訪問權(quán)限,并使用Session對(duì)象來保存用戶的權(quán)限[1],它在Session生命期內(nèi)可以在不同頁面中共享數(shù)據(jù) Session的生命期默認(rèn)為20分鐘。后臺(tái)管理界面只有管理員通過登錄后才能訪問,若企圖直接鍵入地址等方式非法訪問未授權(quán)地址,將被拒絕,并自動(dòng)跳轉(zhuǎn)到錯(cuò)誤提示頁面。
3.3 數(shù)據(jù)庫訪問技術(shù)
系統(tǒng)涉及到大量的數(shù)據(jù),并且要實(shí)現(xiàn)數(shù)據(jù)的輸入、輸出、查詢、備份與恢復(fù)等功能,為了方便對(duì)數(shù)據(jù)的操作,數(shù)據(jù)庫的管理使用SQL server 2005,數(shù)據(jù)庫的訪問通過.NET Frame-Work SDK中的ADO.NET數(shù)據(jù)庫訪問技術(shù)實(shí)現(xiàn)。
ADO.NET是.NET Frame-Work SDK中用以操作數(shù)據(jù)庫的類庫的總稱[2]。通過ADO.NET組件訪問數(shù)據(jù)庫,可以將執(zhí)行結(jié)果以HTML的方式傳回客戶端服務(wù)器。由于ADO.NET采用的是無連接訪問模式,可以減少頻繁地通過網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的操作請(qǐng)求,提高操作效率。ADO.NET可以使用ODBC(開放式數(shù)據(jù)庫連接)、OLEDB(對(duì)象鏈接與嵌入數(shù)據(jù)庫)等進(jìn)行數(shù)據(jù)庫的連接。由于本系統(tǒng)采用的SQL Server 2005數(shù)據(jù)庫,為了提高訪問效率,采用的是SqlClient訪問模式
3.4 水晶報(bào)表實(shí)現(xiàn)網(wǎng)絡(luò)打印
系統(tǒng)的數(shù)據(jù)輸出涉及到報(bào)表的網(wǎng)絡(luò)打印,網(wǎng)絡(luò)打印也是B/S管理系統(tǒng)的一個(gè)非常重要的功能。對(duì)于網(wǎng)絡(luò)打印,目前已經(jīng)存在各種打印控件,它們的實(shí)現(xiàn)效果各有長短。本系統(tǒng)采用VS自帶的水晶報(bào)表控件[3]進(jìn)行網(wǎng)絡(luò)打印,并通過調(diào)用IE打印進(jìn)行打印設(shè)置。這樣做充分利用了水晶報(bào)表作為專業(yè)報(bào)表的長處,可以根據(jù)用戶設(shè)計(jì)并打印出理想的圖文并茂的各類用表。
4 結(jié)束語
利用ASP.NET+ADO.NET技術(shù)進(jìn)行開發(fā),在技術(shù)層面上可以實(shí)現(xiàn)基于Web服務(wù)的的網(wǎng)絡(luò)數(shù)據(jù)庫結(jié)構(gòu)B/S模式的教學(xué)保障系統(tǒng);在實(shí)際應(yīng)用中不僅可以滿足教學(xué)保障單位對(duì)信息的需求,也可以在一定程度上滿足信息化條件下的院校對(duì)信息的傳遞及資源共享的需求;將在一定意義上實(shí)現(xiàn)院校教學(xué)保障系統(tǒng)的網(wǎng)絡(luò)化、信息化,可能對(duì)院校教學(xué)保障體系的信息化建設(shè)產(chǎn)生積極的影響和推動(dòng)作用。
參考文獻(xiàn):
[1] 丁昊凱.ASP.NET網(wǎng)站開發(fā)典型模塊與實(shí)例精講[M].北京:電子工業(yè)出版社,2006.
[2] MacDonald M.ASP.NET完全手冊[M].賈曉軍,于秀山,呂嘉章,等,譯.北京:電子工業(yè)出版社,2003.
[3] Peck G.Crystal Reports 9水晶報(bào)表設(shè)計(jì)與開發(fā)大全[M].北京:清華大學(xué)出版社,2004.