摘 要 從高校教務(wù)管理課程調(diào)度的需求出發(fā),介紹一種基于ASP.NET技術(shù)和B/S結(jié)構(gòu),以SQL Server2005為后臺數(shù)據(jù)庫的網(wǎng)上調(diào)課系統(tǒng)的開發(fā)過程,簡述系統(tǒng)的體系結(jié)構(gòu)、主要功能模塊和實現(xiàn)過程。
關(guān)鍵詞 ASP.NET;SQL Server 2005;B/S結(jié)構(gòu);調(diào)課系統(tǒng)
中圖分類號 G434 文獻標識碼B 文章編號 1671-489X(2008)014-0056-02
1 引言
課表是高校落實教學(xué)任務(wù),實施教學(xué)活動的依據(jù)。高校以教學(xué)為中心,課程調(diào)度是教學(xué)活動順利有序進行的保障,在學(xué)校教學(xué)管理中具有舉足輕重的地位。長期以來,盡管高校普遍建設(shè)有教務(wù)網(wǎng)絡(luò)管理系統(tǒng),但多數(shù)系統(tǒng)對課程調(diào)度功能的實現(xiàn)不夠理想,操作繁瑣甚至不具備,因此,課程調(diào)度工作基本上是手工操作。通常的調(diào)課流程是:教師因某種原因臨時申請調(diào)課,往往是通過電話或親自或委托他人等方式向系(院)進行申請,系(院)審批后通知教務(wù)處課程調(diào)度管理員,管理員再進行審批并反饋意見。由此產(chǎn)生操作周期較長,時效性較差,教學(xué)督導(dǎo)檢查困難等問題。
基于對上述問題的考慮,結(jié)合在洛陽理工學(xué)院從事課程調(diào)度管理工作的實踐,以課程調(diào)度管理工作的目的、任務(wù)、方法及主要規(guī)律為依據(jù),為保證學(xué)校教學(xué)管理工作有序地進行,開發(fā)了網(wǎng)上調(diào)課系統(tǒng)。該系統(tǒng)是針對高校課程調(diào)度的管理軟件,采用ASP.NET技術(shù),編寫出實現(xiàn)各項系統(tǒng)功能的程序模塊,充分利用校園網(wǎng)實現(xiàn)對教師調(diào)課工作進行有效的宏觀管理。該系統(tǒng)有利于實現(xiàn)高校課程調(diào)度的管理科學(xué)化,有利于提高其質(zhì)量和效率。
2 相關(guān)技術(shù)闡述
2.1 ASP.NET技術(shù)ASP.NET 是一種建立動態(tài)Web應(yīng)用程序的技術(shù)。它是.NET 框架的一部分,利用.NET框架技術(shù)生成和執(zhí)行動態(tài)、交互、高效、穩(wěn)定的站點服務(wù)器應(yīng)用程序。ASP.NET是由活動服務(wù)器頁面發(fā)展而來,利用公共語言執(zhí)行環(huán)境Common Language Runtime(CLR)和服務(wù)框架網(wǎng)絡(luò)應(yīng)用程序提供一個可靠的、自動化的、可擴展的主機環(huán)境。ASP.NET的一個主要優(yōu)點是,它支持應(yīng)用程序的實時更新,管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器或者甚至不用停止應(yīng)用程序的運行,就可以更新應(yīng)用文件。因此采用ASP.NET進行開發(fā),并使用ADO.NET技術(shù)實現(xiàn)對系統(tǒng)數(shù)據(jù)庫的鏈接。
2.2 SQL Server 2005數(shù)據(jù)庫技術(shù)相對于SQL Serve2000來說,SQL Serve2005有了很大的變化。它將以往的工具大幅度集成,提供一個集成的開發(fā)環(huán)境。它放棄了在SQL Server 2000中相當成功的DTS,以.NET 完全重新改寫,推出SQL Server Integration Services(SSIS),務(wù)求提升性能和增添更豐富的功能。值得注意的是,SQL Server 2005在核心引擎中加入.NET的公共語言執(zhí)行環(huán)境CLR,讓.NET自身強大的功能融入到SQL Server 2005中。同時,用來訪問數(shù)據(jù)庫的ADO.NET類也升級到ADO.NET 2.0版,除增強舊功能外,還提供相當多的新功能。
經(jīng)認真分析SQL Server2005各方面的性能和優(yōu)勢,并結(jié)合系統(tǒng)預(yù)期的實現(xiàn)目標之后,為了保證系統(tǒng)的先進性、可靠性及將來的擴展性,采用SQL Server2005作為系統(tǒng)的后臺數(shù)據(jù)庫。
2.3 三層B/S結(jié)構(gòu)瀏覽器/服務(wù)器模式(Browse/Server,簡稱B/S結(jié)構(gòu))實際上是一種以Web技術(shù)為基礎(chǔ)的新型應(yīng)用軟件模式,它把傳統(tǒng)的客戶/服務(wù)器系統(tǒng)(Client/Server,簡稱C/S結(jié)構(gòu))模式中的服務(wù)器部分分解為一個數(shù)據(jù)庫服務(wù)器與一個或多個應(yīng)用服務(wù)器(Web服務(wù)器),并用瀏覽器作為標準前端進行信息交互。Web客戶首先通過HTTP協(xié)議與Web服務(wù)器進行連接,再由Web客戶經(jīng)瀏覽器向Web服務(wù)器提交請求,經(jīng)Web Server處理后把結(jié)果輸出至瀏覽器。它簡化了客戶端,無須像C/S模式那樣在不同的客戶機上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件即可。
考慮到開發(fā)成本、運行速度、可擴充性、可維護性和可重用性等方面,本系統(tǒng)采用三層B/S結(jié)構(gòu)的體系結(jié)構(gòu)。簡言之,主要由以下3層組成:1)用戶界面層,負責信息的表示;2)中間應(yīng)用層,負責所有的運用規(guī)則;3)數(shù)據(jù)服務(wù)層,負責數(shù)據(jù)的儲存操縱。
3 系統(tǒng)模塊及數(shù)據(jù)庫設(shè)計
系統(tǒng)整體采用多模塊結(jié)構(gòu)設(shè)計方法,并對頁面文件進行組合分割,形成多個文件,從而保證系統(tǒng)結(jié)構(gòu)清晰及程序的可讀性。
3.1 功能模塊系統(tǒng)主要分為4大模塊,系統(tǒng)設(shè)置、調(diào)課申請、調(diào)課審批、調(diào)課發(fā)布,不同模塊實現(xiàn)不同功能,如圖1所示。
1)系統(tǒng)設(shè)置。本模塊主要是對年級班級課程信息進行設(shè)置,對教師及管理員信息進行諸如更改密碼等安全性設(shè)置。
2)調(diào)課申請。教師根據(jù)本人工號及密碼登陸系統(tǒng)后,系統(tǒng)自動調(diào)用教務(wù)網(wǎng)絡(luò)管理系統(tǒng)中教師本人課表,顯示課程名稱、授課班級、上課時間地點等必要信息。教師可根據(jù)自己調(diào)課意愿選擇調(diào)課目及節(jié)次,填寫調(diào)課申請單,注明調(diào)課原因及預(yù)期調(diào)課結(jié)果,在提交調(diào)課申請后,等待管理部門的審批。
3)調(diào)課審批。教師提交調(diào)課申請單后,自動轉(zhuǎn)入調(diào)課審批階段。先是所在系(院)進行初審,審批之后,如同意調(diào)課,則轉(zhuǎn)入教務(wù)處審批;如不同意調(diào)課,則退回調(diào)課審請。調(diào)課教師可再次進入系統(tǒng)查看調(diào)課審批進度。
4)調(diào)課發(fā)布。經(jīng)二級審批后,如均同意,則在系統(tǒng)主頁上發(fā)布相關(guān)調(diào)課通知,向調(diào)課教師反饋調(diào)課成功信息,并會提醒教師盡快補課。教師在補課之后,可以提交補課回執(zhí),調(diào)課正式完成。如任一級審批不通過,則退回調(diào)課申請,并向調(diào)課教師反饋調(diào)課失敗信息。
3.2 數(shù)據(jù)庫設(shè)計一個成功的管理系統(tǒng),是由50%的業(yè)務(wù)+50%的軟件所組成,而50%的成功軟件又由25%的數(shù)據(jù)庫+25%的程序所組成,因此,數(shù)據(jù)庫設(shè)計的好壞是一個關(guān)鍵。考慮到系統(tǒng)實現(xiàn)目標,在數(shù)據(jù)庫建立初期廣泛搜集師生意見需求,然后按數(shù)據(jù)庫設(shè)計流程進行概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫實施、數(shù)據(jù)庫運行和維護。在數(shù)據(jù)庫建立時,盡量使數(shù)據(jù)冗余最小化,確保數(shù)據(jù)的安全性、可靠性、易維護性、易移植性,實現(xiàn)動態(tài)的數(shù)據(jù)庫管理。同時采用自動定期備份數(shù)據(jù)、服務(wù)器的安全以及密碼加密等多個方面措施,保證系統(tǒng)的安全運行、數(shù)據(jù)的安全儲存和災(zāi)難恢復(fù)。
系統(tǒng)在SQL Server 2005中設(shè)計調(diào)課設(shè)置、調(diào)課審核、調(diào)課結(jié)果、匯總結(jié)果等數(shù)據(jù)表,并建立相關(guān)視圖及過程,用來處理系統(tǒng)數(shù)據(jù),以實現(xiàn)調(diào)課流程。一個不太引人注意的地方是,系統(tǒng)的數(shù)據(jù)存儲和檢索功能并不限制于數(shù)據(jù)庫,它可以是單個或者一系列平面文件(flat file),可以是XML格式,不過數(shù)據(jù)通常還是存在數(shù)據(jù)庫中。
4 系統(tǒng)的開發(fā)與實現(xiàn)
4.1 系統(tǒng)開發(fā)基于ASP.NET技術(shù)的網(wǎng)上調(diào)課系統(tǒng)主要采用B/S結(jié)構(gòu)和ASP.NET動態(tài)網(wǎng)頁技術(shù),采用SQL Server2005作為系統(tǒng)后臺數(shù)據(jù)庫實現(xiàn)網(wǎng)上調(diào)課功能。教師及管理人員可通過B/S模式用瀏覽器通過WWW服務(wù)器訪問數(shù)據(jù)庫取得有關(guān)數(shù)據(jù)訪問,以進行調(diào)課工作。
4.2 實現(xiàn)過程教師在網(wǎng)頁上登陸調(diào)課系統(tǒng),此時數(shù)據(jù)控制組件接收教師要求網(wǎng)上調(diào)課的請求,數(shù)據(jù)控制組件處理請求后,調(diào)用數(shù)據(jù)顯示組件作為教師請求的響應(yīng)。教師取得數(shù)據(jù)顯示組件后即顯示課表,按要求選擇相應(yīng)的課程并確認提交給數(shù)據(jù)控制組件。數(shù)據(jù)控制組件收到教師調(diào)課信息并把信息傳給數(shù)據(jù)邏輯組件,數(shù)據(jù)邏輯組件調(diào)用數(shù)據(jù)模型組件,把信息封裝在數(shù)據(jù)模型組件中。數(shù)據(jù)模型組件數(shù)據(jù)封裝完成后,數(shù)據(jù)邏輯組件與數(shù)據(jù)庫表建立鏈接,并將數(shù)據(jù)模型組件中的數(shù)據(jù)添加到數(shù)據(jù)庫表中。管理員登陸系統(tǒng)可進行相應(yīng)的審核等操作,通過數(shù)據(jù)邏輯組件返回對數(shù)據(jù)庫表的操作結(jié)果,并把結(jié)果傳遞給數(shù)據(jù)控制組件,數(shù)據(jù)控制組件調(diào)用數(shù)據(jù)顯示組件顯示操作結(jié)果。該流程如圖2所示。
5 結(jié)束語
基于ASP.NET技術(shù)的網(wǎng)上調(diào)課系統(tǒng),緊密結(jié)合高校教學(xué)管理制度和課程調(diào)度工作的實際特點,真正實現(xiàn)調(diào)課的網(wǎng)絡(luò)化管理,使長期以來形成的種種困難得到切實解決,并為今后的工作奠定良好的基礎(chǔ)。系統(tǒng)最大的優(yōu)點是技術(shù)新穎,兼容性好,具有很大的擴展性,易于改造。SQL Server 2005數(shù)據(jù)庫的采用使得系統(tǒng)具有良好的數(shù)據(jù)安全性和保密性,同時系統(tǒng)后臺數(shù)據(jù)庫可以靈活運用于教學(xué)管理。另外,在設(shè)計上考慮到操作的方便和快捷,設(shè)計了良好的交互界面。系統(tǒng)投入使用已經(jīng)2個學(xué)年,取得明顯的成效,深受廣大師生的好評。