摘 要: 隨著高校辦學(xué)規(guī)模的不斷擴(kuò)大,學(xué)生人數(shù)的增加,補(bǔ)考和重修的學(xué)生人次也不斷增加,這對(duì)學(xué)校的教務(wù)管理系統(tǒng)提出了新的要求,需要開(kāi)發(fā)出一個(gè)具有個(gè)性化需求的考試系統(tǒng)。本文以PowerBuilder9.0語(yǔ)言編程和ASA 8.0為數(shù)據(jù)庫(kù),以實(shí)現(xiàn)補(bǔ)考和自學(xué)重修考試的編排,使考務(wù)人員從繁雜的工作中解放出來(lái),提高工作效率。
關(guān)鍵詞: 考試管理 考試安排 PowerBuilder ASA
1.引言
隨著我國(guó)信息化技術(shù)的發(fā)展,信息化管理是信息經(jīng)濟(jì)條件下高等學(xué)校發(fā)展的方向,教務(wù)管理信息化更是高校管理信息化建設(shè)的重要環(huán)節(jié),研制和開(kāi)發(fā)滿足個(gè)性化需求的信息化教務(wù)管理系統(tǒng)是推進(jìn)教學(xué)管理規(guī)范化、科學(xué)化的有效途徑。
杭州正方教務(wù)管理系統(tǒng)是國(guó)內(nèi)用得比較多的一個(gè)教務(wù)管理系統(tǒng)目。該系統(tǒng)是一個(gè)面向?qū)W院各部門(mén)及各層次用戶的多模塊綜合信息管理系統(tǒng),采用了當(dāng)前流行的C/S結(jié)構(gòu)和Internet網(wǎng)絡(luò)技術(shù),使整個(gè)校園網(wǎng)甚至Internet上的用戶都可訪問(wèn)該系統(tǒng),最大限度地實(shí)現(xiàn)數(shù)據(jù)共享。我院自2005年起使用正方系統(tǒng),近年來(lái),正方公司針對(duì)我院的實(shí)際情況對(duì)該系統(tǒng)進(jìn)行了多次升級(jí)。目前,該系統(tǒng)比較完善,能基本滿足教學(xué)管理需要,對(duì)提高我院教學(xué)管理的效率和質(zhì)量起到了積極作用。美中不足的是,該系統(tǒng)的“考試管理”模塊雖然實(shí)現(xiàn)了期末考試和補(bǔ)考的安排,但在補(bǔ)考安排方面并不實(shí)用,并不能實(shí)現(xiàn)自學(xué)重修考試的編排。
開(kāi)發(fā)的一個(gè)補(bǔ)考排考系統(tǒng),能夠接收正方教務(wù)系統(tǒng)中導(dǎo)出的補(bǔ)考、重修數(shù)據(jù),自動(dòng)實(shí)現(xiàn)我院補(bǔ)考、自學(xué)重修考試的編排。
2.系統(tǒng)的需求分析
近十年來(lái),我院辦學(xué)規(guī)模不斷擴(kuò)大,補(bǔ)考、重修的學(xué)生人數(shù)不斷增加。補(bǔ)考方面:每學(xué)期的補(bǔ)考人次從以往的一千多人次上升到五千人次左右,并且補(bǔ)考的學(xué)生還包含上學(xué)期跟班重修與正考課程沖突辦理緩考的學(xué)生,學(xué)生人次多,因此補(bǔ)考的課程總類(lèi)多,數(shù)據(jù)量大。自學(xué)重修方面:自學(xué)重修是我院針對(duì)畢業(yè)班學(xué)生和往屆未取得畢業(yè)證書(shū)學(xué)生單獨(dú)組織的一次考試,這類(lèi)考試涉及學(xué)生大學(xué)四五年內(nèi)的大多數(shù)課程,學(xué)生的報(bào)名信息最多的時(shí)候有三千條,并且涉及六百多門(mén)不同課程。正方管理系統(tǒng),不能滿足我院這方面排考的需要,在以往的考試編排都是人工使用Excel編排,且在編排的過(guò)程中還要考慮相同課程名稱(chēng)不能在同一時(shí)段,且同一時(shí)段一個(gè)學(xué)生只能考一門(mén)??梢?jiàn),數(shù)據(jù)量大,課程總類(lèi)多,還要滿足排考條件,利用Excel編排顯然是一項(xiàng)耗力、耗時(shí)的艱巨任務(wù)?;诙嗄陙?lái)考試編排的實(shí)踐,發(fā)現(xiàn)時(shí)間編排是整個(gè)考試編排過(guò)程中最關(guān)鍵的一個(gè)環(huán)節(jié),也是最耗時(shí)的一項(xiàng)任務(wù)。尤其在自學(xué)重修考試中,有的學(xué)生考試課程達(dá)二十多門(mén),如何使這類(lèi)考生的考試課程不沖突,如何使得同一門(mén)課程在同一個(gè)時(shí)間段,如何合理編排整個(gè)考試,最小化考試場(chǎng)次,等等,如果通過(guò)一個(gè)按鈕能夠?qū)崿F(xiàn)時(shí)間的編排,則將大大提高考試組織的效率。
3.系統(tǒng)設(shè)計(jì)
3.1系統(tǒng)的總體功能設(shè)計(jì)
根據(jù)結(jié)構(gòu)化設(shè)計(jì)的思想,一個(gè)軟件應(yīng)由多個(gè)功能并且相對(duì)獨(dú)立的模塊組成。根據(jù)需求分析,設(shè)計(jì)了如下圖所示的功能模塊[1]。系統(tǒng)包括兩個(gè)主要部分:考試管理和系統(tǒng)管理。以下對(duì)兩個(gè)模塊的功能分別進(jìn)行描述。
3.1.1考試管理主要分五個(gè)功能:導(dǎo)入考試信息、自動(dòng)安排考試、手動(dòng)安排教室、查詢考試安排、考試安排匯總查詢。導(dǎo)入考試信息功能:從其他系統(tǒng)(例如教務(wù)系統(tǒng))中導(dǎo)出需要考試的信息,經(jīng)過(guò)簡(jiǎn)單的格式轉(zhuǎn)換,導(dǎo)入到本系統(tǒng)中,是自動(dòng)排位的數(shù)據(jù)來(lái)源,也可以增加和修改考生相關(guān)的考試信息;自動(dòng)安排考試功能:能夠迅速實(shí)現(xiàn)考試時(shí)間地點(diǎn)的自動(dòng)編排;手動(dòng)安排教室:根據(jù)需要,將相應(yīng)課程安排在同一教室;查詢考試安排功能:可以查詢學(xué)生考試的具體信息,并且能將數(shù)據(jù)輸出,打印準(zhǔn)考證;考試安排匯總查詢:可以根據(jù)要求查詢考試安排的匯總信息,如大學(xué)英語(yǔ)考試的人數(shù)及班級(jí)數(shù)等,并能將數(shù)據(jù)輸出。
3.1.2系統(tǒng)管理主要分三個(gè)功能:操作員管理、考試時(shí)間維護(hù)和考試地點(diǎn)維護(hù)。操作員管理主要是設(shè)置排考人員用戶名和密碼;考試時(shí)間維護(hù)是設(shè)置考試時(shí)間段的,當(dāng)排考時(shí)間段設(shè)置較少,不能滿足排考要求時(shí)系統(tǒng)會(huì)彈出提醒框;考試地點(diǎn)維護(hù)是設(shè)置考試地點(diǎn)的,考試教室還應(yīng)設(shè)定座位數(shù),自動(dòng)排考的時(shí)候會(huì)根據(jù)座位數(shù)自動(dòng)安排學(xué)生考試信息。
3.2系統(tǒng)設(shè)計(jì)的重點(diǎn)
目前我院一直推行二級(jí)管理模式,在考試方面由教務(wù)處統(tǒng)一安排時(shí)間地點(diǎn),試卷的印刷及監(jiān)考教師的編排則由學(xué)院安排,根據(jù)這一現(xiàn)狀,以及補(bǔ)考重修考試組織的特殊性,該系統(tǒng)提供了自動(dòng)安排和半自動(dòng)安排這兩種安排方法。
3.2.1自動(dòng)生成安排,即一鍵安排好考試時(shí)間和地點(diǎn),然后直接輸出相關(guān)表格,打印準(zhǔn)考證。但是這種完全自動(dòng)的安排不夠靈活,每個(gè)歸口學(xué)院的課程就會(huì)分散在不同的教室,不便于二級(jí)學(xué)院管理,給監(jiān)考安排和試卷的準(zhǔn)備帶來(lái)困難。這種自動(dòng)安排適合這類(lèi)考試由學(xué)院?jiǎn)为?dú)組織時(shí)使用。
3.2.2半自動(dòng)人工安排是一種折中的方法。先自動(dòng)安排好時(shí)間,然后根據(jù)歸口學(xué)院的課程集中安排教室,盡量保證統(tǒng)一歸口學(xué)院的課程集中在幾個(gè)教室內(nèi)。
3.3系統(tǒng)時(shí)間安排設(shè)計(jì)分析
根據(jù)考試時(shí)間自動(dòng)安排的需求有三個(gè):一是同一門(mén)課程只能在同一時(shí)間考試。二是同一時(shí)間,學(xué)生號(hào)不能重復(fù),即一個(gè)學(xué)生不能同時(shí)考兩門(mén)及以上。三是考試場(chǎng)次最小化。從以上需求可以看出,首先,確定考試時(shí)間段。根據(jù)教務(wù)系統(tǒng)導(dǎo)出來(lái)的數(shù)據(jù),按學(xué)生號(hào)進(jìn)行排序,找出需要補(bǔ)考最多門(mén)數(shù)的學(xué)生,如果補(bǔ)考門(mén)數(shù)最多的學(xué)生有6門(mén),則至少需要安排6個(gè)考試時(shí)間段,否則就會(huì)出現(xiàn)同一時(shí)間有學(xué)生要考多門(mén)的情況。一般情況下,要求考試時(shí)間段多于同一個(gè)學(xué)生的最多門(mén)數(shù),具體根據(jù)學(xué)院資源或往年時(shí)間安排進(jìn)行綜合考慮。其次,遍歷所有學(xué)生的考試信息,安排每一個(gè)時(shí)間段的考試科目。最后,結(jié)合每門(mén)課程的考試人數(shù),合理安排具體的考試課程的考試地點(diǎn)。合理安排考試地點(diǎn)時(shí),為了體現(xiàn)靈活多變的特點(diǎn),系統(tǒng)提供了兩種考試地點(diǎn)安排方法,一種是先輸入可以安排考試的教室名稱(chēng)和座位數(shù),由系統(tǒng)按考生的數(shù)量,自動(dòng)安排。另一種是考務(wù)人員根據(jù)已經(jīng)排好的考試科目、考試時(shí)間及人數(shù),綜合考慮課程歸口情況,手動(dòng)安排相應(yīng)的教室。
在算法設(shè)計(jì)和具體實(shí)現(xiàn)上,我們使用數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程及臨時(shí)表進(jìn)行運(yùn)算,并生成相應(yīng)的排考數(shù)據(jù),這樣做有以下好處:一是利用數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程SP和SQL語(yǔ)句進(jìn)行排序、合并、導(dǎo)入及導(dǎo)出等,效率非常高,同時(shí)在設(shè)計(jì)上,可以根據(jù)數(shù)據(jù)的變化,進(jìn)行反復(fù)排考。二是如果當(dāng)將來(lái)需求發(fā)生變化時(shí),則客戶端程序不需要做任何修改,只要調(diào)整數(shù)據(jù)庫(kù)中存儲(chǔ)過(guò)程的相應(yīng)算法,就可以實(shí)現(xiàn),擴(kuò)展性高。
4.系統(tǒng)實(shí)現(xiàn)
開(kāi)發(fā)平臺(tái)是Windows 2003 Server,程序應(yīng)用平臺(tái)是Windows XP,系統(tǒng)開(kāi)發(fā)使用了基于面向?qū)ο缶幊蹋∣OP)的高級(jí)開(kāi)發(fā)工具和桌面數(shù)據(jù)庫(kù)(Adaptive Server Anywhere Database),編程以PowerBuilder9.0語(yǔ)言[2,3],以ASA 8.0為數(shù)據(jù)庫(kù)系統(tǒng)[4]。系統(tǒng)采用PB9.0的PowerScript語(yǔ)言進(jìn)行編程,語(yǔ)法簡(jiǎn)單易讀易于實(shí)現(xiàn),便于將來(lái)功能擴(kuò)展和維護(hù)。而且PowerBuilder9.0高級(jí)開(kāi)發(fā)工具具有獨(dú)一無(wú)二的數(shù)據(jù)窗口設(shè)計(jì),可以很方便地進(jìn)行數(shù)據(jù)維護(hù)及顯示,也支持各種標(biāo)準(zhǔn)數(shù)據(jù)格式的導(dǎo)入和導(dǎo)出功能,因?yàn)閿?shù)據(jù)來(lái)源于教務(wù)系統(tǒng),如果方便地導(dǎo)入導(dǎo)出,則可以為數(shù)據(jù)錄入和維護(hù)提供極大的便利,這是我們選擇這個(gè)開(kāi)發(fā)工具開(kāi)發(fā)系統(tǒng)的重要原因。同時(shí),本系統(tǒng)也結(jié)合使用了數(shù)據(jù)庫(kù)的一些優(yōu)點(diǎn),使用存儲(chǔ)過(guò)程及臨時(shí)表來(lái)實(shí)現(xiàn)復(fù)雜的算法,主要優(yōu)點(diǎn)有:一是運(yùn)算速度快,通常5000條補(bǔ)考數(shù)據(jù),耗時(shí)約1分鐘,二是與客戶端無(wú)關(guān)性,如果需求有變化,則只需要變更存儲(chǔ)過(guò)程中的算法,客戶端無(wú)需做任何改變。
5.結(jié)語(yǔ)
該系統(tǒng)是單機(jī)版的一個(gè)小系統(tǒng),在我院的實(shí)際教學(xué)管理中已經(jīng)試用了兩年,順利完成了補(bǔ)考和自學(xué)重修的排考任務(wù)。該系統(tǒng)具有較強(qiáng)的適應(yīng)性,確保了考試數(shù)據(jù)的準(zhǔn)確性,提高了工作效率,對(duì)實(shí)際工作具有較高的指導(dǎo)意義,對(duì)我院考試管理的二級(jí)管理模式起到了一定的優(yōu)化作用。
參考文獻(xiàn):
[1]王希常,楊志強(qiáng).一類(lèi)考場(chǎng)編排算法的設(shè)計(jì)[J].山東師范大學(xué)學(xué)報(bào),2002,17(4):25-27.
[2]崔杜武.PowerBuilder 9.0基礎(chǔ)應(yīng)用與系統(tǒng)開(kāi)發(fā)[M].電子工業(yè)出版社,2004,4.
[3]周岐.PowerBuilder程序開(kāi)發(fā)項(xiàng)目案例[M].清華大學(xué)出版社,2004.
[4]陳永強(qiáng),李茜.SQL Server 2005+PowerBuilder 11高級(jí)開(kāi)發(fā)指南[M].清華大學(xué)出版社,2008.