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