- 相關(guān)推薦
簡析基于MVC模式的高校實驗排課系統(tǒng)設(shè)計與實現(xiàn)論文
1 系統(tǒng)功能
實驗排課系統(tǒng)的核心對象是實驗課程,實驗課程一般包括課內(nèi)實驗、獨立設(shè)課實驗以及集中實踐環(huán)節(jié):課內(nèi)實驗是包含在理論課程中的實驗;獨立設(shè)課實驗是指完全的實驗課程;集中實踐環(huán)節(jié)是安排在固定周次集中和連續(xù)進(jìn)行的實踐課程,參加學(xué)生在當(dāng)周暫停理論課,因此需要實驗室在安排時優(yōu)先考慮。根據(jù)各類實驗課程的特點,實驗排課的一般原則是首先安排集中實踐環(huán)節(jié),其次安排獨立設(shè)課實驗,最后安排課內(nèi)實驗。
1.1 用戶角色
用戶角色系統(tǒng)包括教師和學(xué)生。教師角色包含校長、督導(dǎo)、院長、教學(xué)院長、專業(yè)負(fù)責(zé)人、教務(wù)處、教務(wù)員、實驗室、實驗教師等9種角色。為方便登錄和使用,在系統(tǒng)登錄驗證時,只顯示教師和學(xué)生。學(xué)生的角色是固定的,部分教師會有多重角色,在進(jìn)入系統(tǒng)后可進(jìn)行角色切換。
1.2 主要功能模塊
系統(tǒng)主要功能模塊有:系統(tǒng)設(shè)置模塊、教學(xué)資源管理模塊和實驗教學(xué)管理模塊。系統(tǒng)主要的功能模塊。
(1)系統(tǒng)設(shè)置模塊
包括系統(tǒng)的操作時間設(shè)定、角色管理。操作時間設(shè)定是指各角色或各業(yè)務(wù)單元的操作時間期限,即開始時間和結(jié)束時間,以保證數(shù)據(jù)的準(zhǔn)確性。角色管理是對校長、督導(dǎo)、院長、教學(xué)院長、專業(yè)負(fù)責(zé)人、教務(wù)處、教務(wù)員、實驗室、實驗教師、學(xué)生10種用戶角色進(jìn)行賬號管理。
(2)教學(xué)資源管理模塊
教學(xué)資源管理模塊由學(xué)生管理、師資管理、教學(xué)內(nèi)容、教學(xué)機構(gòu)、教學(xué)場所5個子模塊構(gòu)成,學(xué)生管理、師資管理子模塊分別對學(xué)生、教師的信息進(jìn)行管理。教學(xué)內(nèi)容子模塊包含培養(yǎng)方案、課程大綱、實驗教材等實驗教學(xué)文檔。教學(xué)機構(gòu)管理對學(xué)校的院系、專業(yè)、實驗室、房間相關(guān)信息進(jìn)行管理和維護(hù)。
(3)實驗教學(xué)管理模塊
該模塊是系統(tǒng)的核心模塊,主要完成實驗任務(wù)下達(dá)、實驗場地選定、實驗時間安排、課表生成等功能。
1.3 系統(tǒng)流程
首先,教師用戶分角色登錄系統(tǒng),系統(tǒng)進(jìn)行角色和權(quán)限審查,出現(xiàn)相應(yīng)角色的操作界面。實驗排課系統(tǒng)工作流程,其具體操作步驟是:第一步,系統(tǒng)與教務(wù)管理主系統(tǒng)進(jìn)行數(shù)據(jù)對接,實驗任務(wù)進(jìn)入實驗排課系統(tǒng);第二步,教務(wù)處根據(jù)實驗課程的任務(wù)歸屬,同時考慮實驗任務(wù)量的均衡,將實驗課程分配到學(xué)院;第三步,學(xué)院教務(wù)人員根據(jù)各實驗課程所需條件將實驗課程安排到相應(yīng)的實驗室;第四步,實驗室安排集中實踐課程時間;第五步,實驗教師確定獨立設(shè)課和課內(nèi)實驗課程時間。
2系統(tǒng)設(shè)計
MVC模式是一種將系統(tǒng)應(yīng)用程序的輸入、處理和輸出分開的設(shè)計方法,適用于中大型數(shù)據(jù)庫開發(fā),可以減少編碼的復(fù)雜性,具有耦合性低、復(fù)用性高、可擴(kuò)展以及可維護(hù)性強等優(yōu)點。考慮到高校實驗課程排課過程復(fù)雜,參與角色多,數(shù)據(jù)量大的特點,實驗排課管理系統(tǒng)基于CodeIgniter的MVC設(shè)計模式進(jìn)行開發(fā),前端使用HTML 5、CSS 3.0、Javascript語言,后端腳本使用PHP語言,數(shù)據(jù)庫采用Mariadb10。
2.1 MVC設(shè)計模式
MVC設(shè)計模式采用將業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法編寫代碼,在進(jìn)行系統(tǒng)改進(jìn)、個性化修改界面、以及用戶交互時,不需要重新構(gòu)造業(yè)務(wù)邏輯。
(1)模型
數(shù)據(jù)模型包含可重用的對數(shù)據(jù)庫關(guān)系進(jìn)行增、刪、改、查的方法,系統(tǒng)主要有教師角色、實驗任務(wù)、實驗課程、學(xué)院、實驗室、房間、時段、學(xué)生班級等8個數(shù)據(jù)模型類,所有的模型類都繼承基類CIModel的數(shù)據(jù)和方法。
(2)視圖
系統(tǒng)主要有登錄、個人設(shè)置、師資管理、教學(xué)內(nèi)容、教學(xué)機構(gòu)、教學(xué)場所、學(xué)生管理、時間設(shè)置、權(quán)限管理、教學(xué)任務(wù)、課程查詢、實驗排課、實驗課表等
13個主要的頁面。
(3)控制器
系統(tǒng)主要包含用戶角色審查、課程歸屬、實驗室歸屬、實驗室房間歸屬、學(xué)生專業(yè)班級、實驗任務(wù)管理、實驗任務(wù)分配、實驗場所選擇、實驗時間安排、課表查詢等11個程序邏輯控制器,所有的控制器類均繼承基類CIController。
2.2 業(yè)務(wù)流程的安全性
前端控制器是系統(tǒng)的入口,完成用戶權(quán)限驗證、URL地址重寫以及資源文件加載,用戶請求路由器對HTTP 請求進(jìn)行分發(fā),安全組件對HTTP請求進(jìn)行安全處理,應(yīng)用程序控制器加載模型、核心類庫、輔助函數(shù)以及其他所有處理請求所需的資源,最后渲染視圖并發(fā)送至瀏覽器。
2.3 數(shù)據(jù)庫設(shè)計
面對的角色眾多,業(yè)務(wù)處理過程繁雜。不同實驗課程類型對應(yīng)不同的流程與過程管理文檔;谙到y(tǒng)的特點,數(shù)據(jù)庫設(shè)計時盡量減少數(shù)據(jù)冗余,避免數(shù)據(jù)的不一致。系統(tǒng)數(shù)據(jù)庫設(shè)計按照BCNF范式的要求,防止出現(xiàn)數(shù)據(jù)增刪改的異常。系統(tǒng)數(shù)據(jù)庫的實體都滿足:
(1)所有非主屬性對每個碼都是完全函數(shù)依賴。
(2)所有的主屬性對每一個不包含它的碼,是完全函數(shù)依賴。
(3)沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性。
3 系統(tǒng)實現(xiàn)
3.1 實驗任務(wù)管理
系統(tǒng)通過與教務(wù)管理主系統(tǒng)對接導(dǎo)入每個學(xué)期的實驗任務(wù),系統(tǒng)提供實驗任務(wù)管理功能,可以根據(jù)需要進(jìn)行實驗任務(wù)的增加、刪除、修改操作。
在分配實驗任務(wù)時,系統(tǒng)會默認(rèn)按照開課學(xué)院的原則將實驗任務(wù)分配,如果是普通上機類實驗,由于相當(dāng)多的實驗室都配置有一定數(shù)量的計算機,因此,需要根據(jù)各實驗室計算機的利用情況,做到全校范圍內(nèi)計算機利用率的大體均衡。
3.2 選擇實驗場所
學(xué)院接到實驗任務(wù)后,根據(jù)實驗課程所需條件和要求,將實驗任務(wù)安排到各實驗室,如果該實驗室有多個房間,實驗課程指導(dǎo)教師再根據(jù)所承擔(dān)實驗課程的學(xué)生數(shù)、實驗分組情況,選擇實驗室的房間號。
3.3 確定實驗課程時間
集中實踐課程,如課程設(shè)計和科研訓(xùn)練,一般安排在固定的周次,連續(xù)上課中途不間斷,故需優(yōu)先進(jìn)行排課,集中實踐課程排完后,實驗教師再進(jìn)行其他實驗課程的排課,在進(jìn)行排課操作時只需要在對應(yīng)時間的位置上選擇即可。
4 結(jié)語
采用MVC模式設(shè)計和開發(fā)了一個高校在線實驗排課系統(tǒng),系統(tǒng)實現(xiàn)了實驗課程管理、實驗資源管理、實驗排課、實驗課表生成、實驗課程查詢等功能,滿足了學(xué)校教務(wù)處、督導(dǎo)處、學(xué)院教務(wù)辦、實驗管理人員、實驗指導(dǎo)教師、學(xué)生等各類用戶的使用需求。