【摘 要】隨著我國(guó)教育事業(yè)的發(fā)展,為貫徹《國(guó)家中長(zhǎng)期教育改革和發(fā)展規(guī)劃綱要(2010-2020年)》的精神和目標(biāo),各學(xué)校加快了教育信息化進(jìn)程,實(shí)施數(shù)字化校園工程。但同時(shí)也隨著學(xué)?;蚺嘤?xùn)機(jī)構(gòu)的不斷兼并與擴(kuò)張,對(duì)教學(xué)管理的要求不斷提高。
本文對(duì)目前國(guó)內(nèi)市場(chǎng)主流教學(xué)管理系統(tǒng)進(jìn)行了研究,深入分析多校區(qū)管理模式下的教學(xué)管理需求。系統(tǒng)采用了基于B/S、C/S混合模式下的三層架構(gòu),充分利用兩種模式的優(yōu)勢(shì),實(shí)現(xiàn)了數(shù)據(jù)的安全性和高交互性,同時(shí)又體現(xiàn)了師生教學(xué)服務(wù)的窗口。系統(tǒng)緊緊圍繞多校區(qū)集中式管理,體現(xiàn)了嚴(yán)謹(jǐn)又靈活的設(shè)計(jì)思想。本文主要以蘇州網(wǎng)絡(luò)大學(xué)園教學(xué)管理系統(tǒng)為例,重點(diǎn)分析了排課系統(tǒng)的設(shè)計(jì),經(jīng)過驗(yàn)證系統(tǒng)實(shí)用有效,并成功推廣到周邊及所高校使用。
【關(guān)鍵詞】多校區(qū);排課;約束;C/S
1.背景與技術(shù)分析
1.1 教學(xué)管理系統(tǒng)的應(yīng)用現(xiàn)狀
目前數(shù)字化校園平臺(tái)已廣泛應(yīng)用于各大高等學(xué)校,中小學(xué)建設(shè)水平相對(duì)落后。其中,教學(xué)管理系統(tǒng)是數(shù)字化校園的核心模塊。系統(tǒng)掌握著學(xué)校幾乎所有的基礎(chǔ)數(shù)據(jù),如學(xué)生、專業(yè)、課程、教室、教師信息等。同時(shí),教學(xué)管理系統(tǒng)也是數(shù)字化校園中其他業(yè)務(wù)系統(tǒng)的應(yīng)用基礎(chǔ),是學(xué)校數(shù)字化校園實(shí)現(xiàn)的關(guān)鍵。國(guó)內(nèi)教務(wù)系統(tǒng)與21世紀(jì)初出現(xiàn)產(chǎn)品化系統(tǒng),經(jīng)過多年的發(fā)展,目前國(guó)內(nèi)主流的教學(xué)管理系統(tǒng)產(chǎn)品廠商主要有三家。杭州正方、清華優(yōu)軟、湖南青果。他們?cè)趪?guó)內(nèi)的市場(chǎng)占有率在不斷提高。在開發(fā)技術(shù)上都采用目前成熟、先進(jìn)的技術(shù),并且在系統(tǒng)應(yīng)用架構(gòu)上基本都采用B/S、C/S的混合模式。
國(guó)外高校使用的教務(wù)管理系統(tǒng)大部分是自主研發(fā)的產(chǎn)品,或?qū)嵱瞄_源代碼經(jīng)過二次研發(fā)實(shí)現(xiàn)的系統(tǒng)。它們都遵行“Open Design”的設(shè)計(jì)理念,在功能應(yīng)用中,系統(tǒng)只提供一個(gè)框架,在使用前需要做較大的基礎(chǔ)數(shù)據(jù)輸入及條件設(shè)置工作,不具有通用性。另外,國(guó)外高校的教學(xué)管理機(jī)構(gòu)的職能、教學(xué)模式與國(guó)內(nèi)高校也存在較大的區(qū)別。
1.2應(yīng)用技術(shù)分析
.NET Framework(.NET框架)是一款由微軟公司開發(fā),致力于敏捷軟件開發(fā)(Agile softwaredevelopment)、快速應(yīng)用開發(fā)(Rapidapplication development)、平臺(tái)無關(guān)性和網(wǎng)絡(luò)透明化的軟件開發(fā)平臺(tái)。它提供了一個(gè)跨語言的統(tǒng)一編程環(huán)境。.NET框架主要包含三個(gè)組成部分:公共語言運(yùn)行庫(CLR:Common Language Runtime)、服務(wù)框架(Services Framework)和上層的兩類應(yīng)用模板,包含傳統(tǒng)的Windows應(yīng)用程序模板(Win Forms)和基于ASP NET的面向Web的網(wǎng)絡(luò)應(yīng)用程序模板(Web Forms和Web Services)。有了這些功能用戶不必迷惑于 Win32API和COM,避免了DLL的版本和更新問題(常稱為DLL地獄),從而大大簡(jiǎn)化了應(yīng)用程序的發(fā)布和升級(jí)。
Web服務(wù)(Web Service)是一種全新的Web應(yīng)用程序分支,Web服務(wù)是自包含、自描述、模塊化的應(yīng)用,可以發(fā)布、定位、通過Web調(diào)用。其實(shí)Web service 就是一個(gè)應(yīng)用程序,它向外界暴露出一個(gè)能夠通過Web進(jìn)行調(diào)用的API。Web Service有兩部分組成SOAP與WSDL。
SOAP[ ](Simple Object Access Protocol,簡(jiǎn)單對(duì)象訪問協(xié)議)是由包括Microsoft、IBM、DevelopMentor、UserlandSoftware在內(nèi)的多家公司共同提出的技術(shù)規(guī)范,目的是實(shí)現(xiàn)大量異構(gòu)程序和平臺(tái)之間的互操作性,從而使存在的應(yīng)用程序能夠被廣泛的用戶訪問。
B/S模式的易操作維護(hù)性,已經(jīng)成為我們開發(fā)管理系統(tǒng)的首先方案,但C/S 模式也有其特定的應(yīng)用需求,像國(guó)內(nèi)的財(cái)務(wù)ERP系統(tǒng)大部分都是此模式。綜合兩種模式的優(yōu)劣之處,本文選用了 C/S 與 B/S的 混合模式架構(gòu),它們分別體現(xiàn)了管理與服務(wù)的概念。但有些特殊模塊不僅是管理類模塊,同時(shí)也是服務(wù)類模塊,它們需要兩種模式的結(jié)合才能實(shí)現(xiàn)。例如:選課、成績(jī)管理模塊,管理員需要先在后臺(tái)設(shè)置后基礎(chǔ)數(shù)據(jù)再將選課、成績(jī)錄入功能開放給廣大師生。采用C/S與B/S混合模式的教務(wù)管理系統(tǒng),充分發(fā)揮了C/S模式與B/S模式的優(yōu)勢(shì)[ 10]。
2 系統(tǒng)分析與設(shè)計(jì)
2.1應(yīng)用需求分析
排課是所有教學(xué)管理中最為復(fù)雜、繁瑣、也是容易出錯(cuò)的業(yè)務(wù),課表的合理性更是影響到能否充分合理的利用全部資源,達(dá)到最佳教學(xué)效果。從宏觀管理角度來看,我們可以把教師、教室、課程都看作為學(xué)校開展教學(xué)的必要資源。如何充分利用現(xiàn)有教學(xué)資源來合理、科學(xué)的進(jìn)行教學(xué)安排是教學(xué)管理的核心業(yè)務(wù)。本系統(tǒng)實(shí)現(xiàn)的排課功能包含初始化排課數(shù)據(jù)、自動(dòng)排課、手工修改、課表打印、排課數(shù)據(jù)回傳等功能。另外,初始化排課數(shù)據(jù)是實(shí)施排課重要級(jí),整個(gè)過程涉及到多張數(shù)據(jù)表及多個(gè)操作步驟,包括排課約束設(shè)置、優(yōu)先級(jí)設(shè)置等。
2.2 系統(tǒng)架構(gòu)設(shè)計(jì)
本系統(tǒng)基于.Net Framework平臺(tái)開發(fā),采用了Winform和Web兩種界面方式來分別實(shí)現(xiàn)C/S端和B/S端的功能。設(shè)計(jì)上采用標(biāo)準(zhǔn)的三層架構(gòu),包括表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。
1、表示層:C/S端表示層使用Winform和Web Service實(shí)現(xiàn),在編碼上采用C#和VB.net。Winform的實(shí)現(xiàn)中使用Web Service調(diào)用,并通過App.config來配置Web Service的發(fā)布。B/S端表示層使用Aspx和部分Html實(shí)現(xiàn),在頁面編碼上選擇C#、js和css相結(jié)合的方式實(shí)現(xiàn);并使用Web.config來配置Web服務(wù)器及數(shù)據(jù)庫服務(wù)器的連接。
2、業(yè)務(wù)邏輯層:該層有四個(gè)模塊組成,業(yè)務(wù)處理模塊(TeachingBLL)、公共類庫模塊(Common)、系統(tǒng)管理模塊(System)、業(yè)務(wù)實(shí)體模塊(Model);大多采用C#實(shí)現(xiàn)。
3、數(shù)據(jù)訪問層:用于實(shí)現(xiàn)與數(shù)據(jù)庫的交互和訪問,從數(shù)據(jù)庫獲取數(shù)據(jù)或保存數(shù)據(jù)到數(shù)據(jù)庫。該類實(shí)現(xiàn)了對(duì)ADO.NET的封裝,封裝了一些常用的重復(fù)的數(shù)據(jù)庫操作,該層主要以C#和存儲(chǔ)過程實(shí)現(xiàn)。
2.3功能設(shè)計(jì)
排課問題實(shí)際上是一個(gè)在時(shí)間、學(xué)生、教師和教室的四維空間中,以教學(xué)任務(wù)和各種約束條件為基礎(chǔ),在解決四個(gè)實(shí)體之間沖突的前提下找到最優(yōu)時(shí)空解。整個(gè)排課過程分為排課前準(zhǔn)備工作,自動(dòng)排課及課表修改和打印工作,業(yè)務(wù)流程復(fù)雜,需要設(shè)計(jì)全面的功能模塊來完成,具體功能模塊見圖1排課系統(tǒng)功能圖。
排課約束條件眾多,本文將各種排課約束條件劃分為三類。強(qiáng)制約束、特殊約束及優(yōu)化約束。
1、強(qiáng)制約束:系統(tǒng)必須實(shí)現(xiàn)的約束條件,優(yōu)先等級(jí)最高。
1)同一時(shí)間,同一教室只能排一門課。
2)同一時(shí)間,同一班級(jí)只能排一門課。
3)同一時(shí)間,同一教師只能排一門課。
2、特殊約束:系統(tǒng)必須實(shí)現(xiàn)的約束條件,優(yōu)先級(jí)次之。
1)排課時(shí)間限制,用于限制某一時(shí)間段不能排課。
2)教師時(shí)間限制,用于設(shè)置教師只能排課的時(shí)間或不能排課的時(shí)間。
3)教室時(shí)間限制,用于設(shè)置教室只能排課的時(shí)間或不能排課的時(shí)間。
3、優(yōu)化約束:系統(tǒng)不一定要實(shí)現(xiàn)的約束條件,目的是為了使課表編排的更合理,優(yōu)先級(jí)最低。
1)課程時(shí)間塊設(shè)置,用于設(shè)置同一課程上課間隔的優(yōu)先級(jí),比如同一門課程上課時(shí)間間隔兩天優(yōu)先間隔一天。
2)課程排課設(shè)置,用于設(shè)置課程安排的優(yōu)先級(jí),可以根據(jù)學(xué)院、專業(yè)、課程類別設(shè)置。
二、排課算法設(shè)計(jì)
系統(tǒng)采用基于多校區(qū)的遺傳算法,本文中不做詳細(xì)描述。
三、分課表的設(shè)計(jì)
由于課表的使用對(duì)象不同,我們需要設(shè)計(jì)不同類型的課表,而且為了便于課務(wù)管理系統(tǒng)設(shè)計(jì)了多種中課表。本文設(shè)計(jì)的子課表有班級(jí)課表、教師任務(wù)書、班級(jí)總課表、教師總課表、教室總課表。
此系統(tǒng)的特點(diǎn)是功能全面、細(xì)節(jié)到位、適應(yīng)性強(qiáng)。系統(tǒng)在整個(gè)需求分析、設(shè)計(jì)、開發(fā)過程中緊緊圍繞多校區(qū)集中式管理的思想,以適應(yīng)高校在多校區(qū)管理模式下的資源節(jié)約與整體調(diào)配。此外,系統(tǒng)需求進(jìn)一步開發(fā),完善各功能模塊。如排課模塊中的版塊課程安排、調(diào)課等功能;教師管理模塊中的教師工作量統(tǒng)計(jì)等功能。同時(shí)做好排課系統(tǒng)的接口預(yù)留,實(shí)現(xiàn)與管理單位其他系統(tǒng)的對(duì)接。
參考文獻(xiàn):
[1] 李尚勇.基于.NET架構(gòu)的高職院校調(diào)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[碩士學(xué)位論文].電子科技大學(xué),2006.
[2] 程廣平.基于.net 架構(gòu)的高校教務(wù)管理信息系統(tǒng)的設(shè)計(jì)與實(shí)踐[J].中國(guó)現(xiàn)代教育裝備,2007(11).
[3] 謝星星,沈鼓卓.UML基礎(chǔ)與Rose建模實(shí)用教程.北京:清華大學(xué)出版社
作者簡(jiǎn)介:
戴陽陽(1981.01-),女,漢族,江蘇張家港人,講師,碩士,主要從事云計(jì)算、金融大數(shù)據(jù)教學(xué)研究
(作者單位:蘇州工業(yè)園區(qū)職業(yè)技術(shù)學(xué)院)