摘要:文章給出了基于web的網上選課系統的設計和實現方案。該系統采用Browser/Web/Database的三層體系結構,使用了MVC的設計模式,實現了表示層和邏輯層的分離。該系統可以完成資料管理、課程信息瀏覽、網上選課、選課修改、信息匯總等功能。
關鍵詞;選課系統:Servlet;MVC;JDBC;Hibernate
中圖分類號:TP311.52
文獻標識碼:B
文章編號:1002-2422(2010)05-0090-02
1 系統體系結構與設計模式
1.1系統體系結構
系統使用Browser/Web/Database的三層體系結構。Web服務器接受客戶端的請求,通過WEB服務器執行邏輯處理并與數據庫服務器進行通信,然后將結果返回輸出,從而實現與客戶機的數據交互。數據庫服務器用來存儲系統中所用到的各種數據,體系結構如圖1所示。

1.2設計模式
在大多數B/S結構的Web應用程序中,瀏覽器直接通過HTML或者JSP與用戶交互,響應用戶的請求。但這樣邏輯處理和界面代碼混在一起,用戶界面就不能被重用。如果增加功能,就要對現有的代碼進行多處修改,如果對單獨一段代碼進行修改會造成副作用。因此,在中間層上采用基于MVC(Model-View-Controller,模型—視圖—控制器)的設計模式。MVC把多個組件集成到一起,相互合作,協調一致的進行工作。Model層(JavaBean或EJB)封裝應用數據,處理商業邏輯。View層(JSP或應用GUI)用來顯示給用戶的界面。Comroller層(Servlet)主要負責接受用戶動作,并對數據進行適當的處理,處理業務邏輯。在這種設計模式下,各部分之間的數據傳遞如圖2所示。箭頭方向表明了數據的流向,序號表明了先后順序。
2 系統需求與功能模塊的設計
2.1系統需求
用這個系統,學生們可以在規定的時間內通過網站進到選課系統。在選課系統上有詳細的課程說明和教師介紹,學生可以根據自己的興趣選擇課程。為了處理的靈活性,學生也可以在指定時間內修改所選的課程。同時,為了便于管理,也提供了對學生、教師、課程、系部的資料進行維護的功能,可以對其進行添加、刪除、修改、更新等功能。普通的管理員有對系統進行基本管理的權利。

由于教學資源不能滿足所有學生選課需要,有一定選課條件來限制學生選課。每門課程可以對院系、專業、年級、修課人數等選課條件進行設置。在選課結束后,教學管理人員可以根據條件生成各種報表和學生名冊用來匯總信息。
2.2系統的功能模塊設計
系統劃分為系統管理模塊、教師模塊、學生模塊和統計模塊等4個模塊。模塊功能如下;
(1)系統管理模塊:包括學生、教師和課程信息管理3個子模塊。
①學生信息管理:實現對學生信息的添加、修改、刪除、查詢操作。
②教師信息管理:實現對教師信息的添加、修改、刪除、查詢操作。
③課程信息管理:實現對課程的添加,添加時為其分配任課老師、上課時間和地點;實現對課程的修改、刪除,查看等。
(2)教師模塊:實現查看自己所教授課程、有哪些學生選修該課程。
(3)學生模塊:實現學生選課,并可以查看、修改自己的選課信息。
(4)統計模塊:對所學課程可以按班級,課程等進行匯總統計。
3 數據庫設計
系統的主要任務是通過大量的數據獲得管理所需要的信息,這就必須存儲和管理大量的數據。一個結構良好的數據庫,可以使系統迅速、準確的處理數據,是衡量信息系統開發工作好壞的主要指標之一。數據庫如果設計不好對系統維護、變更和功能的擴充,都會帶來比較大的問題。
3.1數據庫邏輯結構設計
在進行數據庫的邏輯設計時,需要綜合考慮企業各個部門的數據需求,設計出規模適當、數據冗余少、存取效率高、能滿足各種數據處理要求的數據模型。為了更好的組織數據和設計出符合實際的數據庫,應該注意要對數據進行規范化描述。
3.2數據庫需求分析
網上選課系統要求是要準確快捷的管理學生的信息、課程信息、教師信息和選課信息。學生信息與教師信息通過課程想關聯。由此總結出如下需求信息:
(1)用戶分為管理員用戶、教師用戶和學生用戶。
(2)一個學生有多門課,一門課對應多個學生。
(3)一個教師可以教授多門課程。
3.3數據存取技術
目前,基于頁面的應用程序訪問數據庫的技術有很多,其中JDBC是Java程序比較常用的連接和存取數據庫的應用程序接口。Hibernate是一個開源的對象關系映射框架,對JDBC進行了非常輕量級的對象封裝,使得可以使用對象編程思維來操縱數據庫。Hibernate應用在Servlet/jSP的Web應用中,完成數據持久化的任務。Servlet通過Hibernate將查詢的數據傳給JSP,由JSP頁面將結果返回給提出請求的瀏覽器。這樣將客戶端與數據庫服務器分開,提高了數據庫的訪問效率。
4 表現層設計
視圖是向用戶顯示信息數據的部分,也就是用戶發出請求之后返回給用戶的頁面,一般用JSP完成。視圖是用戶對程序最直觀的感覺,應該布局清晰,頁面結構合理,能夠清楚的表現數據。好的頁面能夠使程序的易用性得到很大的提高。
5 結束語
使用該系統每個學生在選課時可以清楚的知道這門課的相關情況,包括課程簡介,任課教師和已經選報該門課的人數等。這樣學生可以合理的進行選擇課程,使教學資源合理有效的分配。