摘 要:排課問題是教育行業中所有機構都要面對的問題,在相關理論的指導下,分析以往一些排課軟件,利用JSP及數據庫相關技術,提出一種排課系統的設計方法,從界面的設計、排課算法的設計、管理資源和查看信息入手,對排課中系統中一些具體的問題給出相應解決方案。
關鍵詞:排課;JSP;數據庫設計
中圖分類號:TP
文獻標識碼:A
文章編號:1672-3198(2010)17-0280-01
1 設計思想
通過分析,我們采用當前流行的B/S結構,客戶端除了瀏覽器,一般無須任何用戶應用程序,只需從Web服務器上下載程序到本地來執行。在下載過程中若遇到與數據庫有關的指令,由Web服務器交給數據庫服務器來解釋執行,并返回給Web服務器,Web服務器又返回給用戶。
用戶工作界面是通過瀏覽器(Browser)來實現,極少部分事務邏輯在前端實現,主要事務邏輯在服務器端(Server)實現,大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本。B/S結構能有效地保護數據平臺和管理訪問權限,服務器數據庫也很安全。特別是在Java這樣的跨平臺語言出現之后,B/S架構管理軟件更是方便、速度快、效果優。
2 開發工具的選擇和介紹
針對目前世界上流行的大量軟件和開發工具,經過認真分析其優缺點,結合排課系統的需要和目前的硬件環境,我們選用微軟WINDOWS平臺下的Java語言、myEclipse作為軟件開發工具和JSP前臺頁面以及SQL Server 2000數據庫進行連接。
JSP技術簡介:JSP(Java Server page)是由Sun公司推出的使用Java代碼動態生成HTML文檔的技術,它是在傳統的網頁HTML文件中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP的文件。JSP不僅擁有跨平臺和跨Web服務器支持,并且將服務器端Java技術的功能與靜態HTML網頁的功能有效地結合了起來。JSP頁面運行在JSP容器中,容器將JSP轉換成等價的Java Servlet。
JSP將網頁邏輯與網頁設計和顯示分離,使網站的結構變得簡化,使開發者更容易讀懂其他開發者的程序,也使基于Web的應用程序的開發變得迅速、容易。Java Servlet是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠。
3 系統功能設計
3.1 功能要求
(1)系統軟件運行應該速度快、穩定、可靠,具有很高的鍵入性和容錯、糾錯能力;
(2)系統軟件操作上應簡單、方便,界面簡潔明了、美觀;
(3)系統軟件應能具有較高的安全性,對內對外都有嚴格的身份認證和數據保密的措施;
(4)系統軟件在結構上應具有很好的可擴展性,便于將來的功能擴展和維護;
(5)數據計算準確無誤,精確度符合業務的需要。
3.2 功能分解
(1)基本信息管理子系統功能:專業班級信息,教教信息和教室信息的添加、保存、修改和刪除;
(2)用戶管理子系統功能:用戶密碼的設置和修改,用戶重新登陸;
(3)數據管理子系統功能:包括對教室、教師、專業班級和課表數據的保存、查詢、更新、刪除;
(4)排課管理子系統功能:包括自動排課,手動排課兩個部分;
(5)課表查詢子系統功能:對于具體的班級、教師、教室進行課表查詢、打印。
4 系統詳細設計
4.1 用戶界面設計
隨著視窗操作系統的全面推廣和流行,如今GUI(圖形用戶接口)已經成為業界用戶接口的一個標準。在本系統的設計過程中,也按照GUI的設計原則來設計用戶接口,給用戶提供一個友好的人機交互界面。具體來說,將按照以下幾點原則來設計。
4.1.1 簡單易用和個性化需求
無論什么系統,面向什么使用者,都應該以簡單易用而不顯枯燥為標準。本系統使用圖形化的用戶界面,整個界面功能鍵的設定和窗體布局,完全具有獨特統一的風格。
4.1.2 對數據的查詢
查詢是信息系統中不可缺少的功能。本系統設計的是一種可對任意指定的表、按所有字段進行的查詢。查詢的結果,在本系統中用數據窗口對象顯示輸出。對于查詢的結果,用戶也可以根據自己的需求,選擇顯示的字段和設計自己的視圖。
4.1.3 基本信息輸入
基本信息輸入是讓錄入員輸入和修改課程信息、班級信息、教師信息、教室信息基本數據,數據管理包括課程、班級、教師、教室、課表數據的查詢,打印,添加、保存、查詢、編輯、刪除等功能。教師信息中包括教師編號、教師姓名以及添加、保存、查詢。
4.2 數據庫設計
排課管理系統是一項復雜的系統工程,其間需要大量的數據來支撐,從某種程度上來講,排課管理系統的設計過程,其實也就是一個規范和完整的數據庫設計過程。經過多年的發展,關系型數據庫系統(RDBMS)是最成熟的一種數據庫管理模式,也是當前最流行的數據庫管理系統。故在此也采用該模式。以下是排課系統中要用到的表:排課的最終結果體現是生成課表,所以在此處我們要詳細設計課程表的生成。
4.3.1 班級課程表查詢打印設計
經過信息錄入和復雜的排課過程,終于到了生成課程表的輸出后期階段,顯示出完整的課程表是我們的最終目的。
通過輸入確定的班級編號,來搜索某一具體班級的課程
表。若你忘記班級的編號,可以通過界面上的班級編號與班級名稱對照表查詢班級編號。當確定好你所要查詢的班級后,點擊“查詢課程表”按鈕,就可以查詢該班的課程表了。
4.3.2 教師課程表查詢打印設計
有了班級課程表的設計成功,教師課程表就顯得容易多了。我們依然把課程表導入到EXCEL中,基于界面風格的統一,與班級課表查詢相似。
通過以上界面可以查詢具體教師一學期的課程安排情況,其中生成的課表信息包括所教課程和班級,上課具體時間,教室。使教師一目了然,方便地查詢到自己所教班級、課程。準確無誤地反映在課表上。
4.3.3 教室課程表查詢打印設計
教室課程表是為了方便查詢某一確定教室是否有課,確定是哪個班上課,而且方便無課的學生選擇自修的教室。5 結語
排課管理功能是排課系統設計的重點和難點,它不僅要考慮到教室沖突問題和教師沖突問題,還要考慮到分段課、單雙周課時的資源利用問題;另外由于高校的教學特點,還要處理合班課、分班課、體育課與選修課等特殊課程。針對這些問題,在此專門對數據庫設計作了一些探索,并于架構的選擇和模塊的劃分上經過精心調整,在菜單的設計上也體現了人性化的操作。該設計貼近用戶需求,功能完整,架構合理,并用大量的框圖模型體現了系統的規劃。界面的設計也是努力實現風格統一,方便用戶的使用。
參考文獻
[1]吳亞峰.30天學通Java項目案例開發[M].北京:電子工業出版社.
[2]王紅.Java Web應用開發技術實用教程[M].北京:中國水利水電出版社,2008,(1).
[3]連洪武.Eclipse Web開發從入門到精通[M].北京:清華大學出版社,2007,(1).