基於JSP技術的學生網上選課系統的設計與實現

切夢刀發表於2019-01-06

摘   要

隨著科學技術的不斷提高,電腦科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域併發揮著越來越重要的作用。學生選課系統作為一種現代化的教學技術,已越來越受到人們的重視,是學校選課資訊管理中重要的組成部分, 學生選課系統就是為了管理好選課資訊而設計的。學生選課系統將使選課管理工作規範化、系統化、程式化、避免選課管理的隨意性,提高資訊處理的速度和準確性,能夠及時、準確、有效的查詢和修改選課情況。

學生網上選課系統實現了對課程的基本資訊登記,學生自主選課,以及學生和教師使用者對基本資訊進行管理的功能。本系統在學生方面對學生角色提供個人資訊檢視、選課管理以及其他等功能;在教師方面對教師提供檢視自己所擔任課程的課表以及選該門課程的學生資訊等功能;對管理員本系統提供了以下功能:檢視所有課程、學生和教師的資訊、並可以對它們進行管理(新增、編輯、刪除),以及實現學校相關新聞的釋出並修改。

 

關鍵詞: 學生選課    課程資訊釋出    B/S    SQL Server 2000   TOMCAT   JSP

 

 

Abstract

 

With the improvement of science technology, the computer science becomes gradually mature, people have already deeply understood its strong function, and it has already got into each realm of the human society to exert a more and more important function. The student selecting system, a modernizing teaching technology, pays much more attention by people. It is indispensable part for a school. The student selecting system is for the sake of managing to the information of selecting courses. The tendency of student selecting system will edify the selecting management, it would be more systematical and procedural in future work. We try to avoid the random work, promoting the accuracy and speed of the processing information, so that we can check the information of selecting course with a convenient and efficient form.

The system carried out the management of basic information of course, the student selecting course, the student and the teacher's customer. The system provides a function, which is good for students to check their personal information and the management of selecting course, to the characters of the students. And for the teachers, it is convenient to look into the curricular lesson that he hold and the Student's information that chose the course. At last, it is good for manager to check all the information of the lessons, students and teachers. Furthermore, it can carry on a management (increase, edit, delete) to them, and carry out the renounce of the news.

 

Keywords:  student select course; the renouncement of course information; B/S;    SQL Server 2000; JSP; TOMCAT

 

 

 

目    錄

 

1  緒論............................................................................................................................. 1

1.1  課題背景............................................................................................................ 1

1.2  課題現狀............................................................................................................ 1

1.3  課題目標............................................................................................................ 2

1.4  課題意義............................................................................................................ 2

2  網上選課系統需求分析............................................................................................. 2

2.1  需求分析............................................................................................................ 2

2.2  可行性分析........................................................................................................ 5

2.3  系統配置要求.................................................................................................... 5

3  網上選課系統總體設計............................................................................................. 5

3.1  專案規劃............................................................................................................ 5

3.2  設計目標............................................................................................................ 6

3.3  相關技術介紹.................................................................................................... 6

3.4  資料庫分析設計................................................................................................ 8

3.5  系統模組設計.................................................................................................. 13

4  網上選課系統詳細設計和實現............................................................................... 15

4.1  主介面設計...................................................................................................... 15

4.2  介面頭尾設計.................................................................................................. 16

4.3  登入介面.......................................................................................................... 16

4.4  學生使用者介面設計.......................................................................................... 16

4.5  管理員使用者介面設計...................................................................................... 24

4.6  教師使用者介面設計.......................................................................................... 29

4.7  系統後臺模組.................................................................................................. 30

5  網上選課系統測試................................................................................................... 32

5.1  測試目的.......................................................................................................... 32

5.2  測試環境.......................................................................................................... 33

5.3  測試結果.......................................................................................................... 33

總結................................................................................................................................. 39

參考文獻......................................................................................................................... 40

致    謝......................................................................................................................... 41

 

 

 

 

 

緒論

1.1  課題背景

Internet的發展使我們的教育更加現代化,網上資訊管理是現代教育中的一個熱點。教師跟學生之間的資訊傳播只在一指之間,為現代教育創造了方便快速的途徑。但在安全性和資訊更新化方面存在有一定的不足,各現有系統資料單獨建立,共享性差;在以管理者為主體的方式中,資訊取捨依賴管理者對於資訊的認知與喜好,較不容易掌握使用者真正的需求,也因此無法完全滿足使用者的需求。目前國家的教育體制也正處在不斷改革、創新的階段,我國教育部門充分吸取國外優秀的教學模式,結合國內多年的辦學經驗,逐步探索出適合中國特色的教學形式,國家教育部面向各級各類學校開展了全面學分制改革。因此,教學管理軟體應充分依託校園網,實現教學資訊的集中管理、分散操作、資訊共享,使傳統的教學管理朝數字化、無紙化、智慧化、綜合化的方向發展,併為進一步實現完善的計算機教學檔案管理系統和全校資訊系統打下良好的基礎。

學校教育是培養和輸送人才的搖籃,它隨著人類進步的程度和地區的不同而變化,教育的口徑不斷擴寬,對教育的要求也不斷提高。在資訊爆炸的時代,傳統教學管理面臨著諸多挑戰。我們學校的管理需要有先進的計算機技術來不斷改進教學水平和教學質量,在學生成績管理、學生選課管理、學生貸款管理等很多方面都需要計算機來完成。學習和開發計算機網路技術,跟上當今世界不斷髮展的腳步,更要創造出屬於自己的技術。

1.2  課題現狀

隨著學校規模的不斷擴大,專業、班級、學生的數量急劇增加,有關學生選課的各種資訊量也成倍增長,而目前許多高校的學生選課管理仍停留在複雜的人工操作上,重複工作較多,工作量大,效率低,保密性差,另外隨著使用時間的增長,將產生大量的檔案和資料,這對於查詢、更新和維護都帶來了不少的困難。因此,迫切需要開發基於網際網路的學生網上選課系統來提高管理工作的效率。基於網際網路的學生網上選課系統作為計算機應用的一部分,使用計算機對選課資訊進行管理,有著手工管理所無法比擬的優點,例如:檢索迅速、查詢方便、可靠性高、儲存量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高人事管理的與勞動資源的效率,在學生選課的規範管理、科學統計和快速查詢方面具有較大的實用意義,它提高了資訊的開放性,大大地改善了學生、教師對其最新資訊查詢的準確性,也是高校的科學化、正規化管理的重要條件。

1.3  課題目標

學生網上選課系統是高校教學管理系統的重要組成部分。熟悉教學管理工作的全部過程,從教務工作的實際出發,解決工作中關鍵性的難點問題,並充分利用計算機網路功能,實現教學工作全過程的計算機管理,幫助具體管理人員從複雜煩瑣工作中解放出來。使得教學管理走向無紙化辦公和規範化、現代化管理。

由於 Internet 具有影響範圍廣,能夠方便快捷的傳遞資訊,具有近乎實時的互動性,本身又是一個巨大無比的資訊庫等諸多優點。所以我們的目標是用網上選課系統實現全校選修課程以及新聞的及時釋出,創造現代化的學習環境。學生選課是大學的主要管理工作之一,涉及到校、系、師、生的諸多方面,隨著教學體制的不斷改革,學生選課時的制約因素比較複雜,工作量也很大,而且往往需要在較短的時間內完成。運用計算機輔助選課,既能實時地對大量選課資料進行檢驗和統計,十分方便地輸出選課結果,同時也避免了人工處理時容易產生的錯誤。因此,開發一套這樣的系統成為很有必要的事情。

1.4  課題意義

通過學生網上選課系統的實現,不僅可以提高自己的開發經驗,也解決了實際的問題,提高了學校的辦公管理的效率,減少了工作出錯的機率,節約了資金成本。利用學生網上選課系統實現對全校選課資訊的釋出以及新聞的更新,使教師和學生意識到創造現代化學習環境的必要性。學生選課是學校的主要管理工作之一,涉及到校、系、師、生諸多方面,隨著教學體制的不斷改革,學生選課時的制約因素也比較複雜,工作量較大,且需要在短時間內完成,因此運用計算機輔助選課,不僅實時地對大量選課資料進行檢驗和統計,十分方便地輸出選課結果,又避免了人工處理時容易產生的錯誤。 目前教師學生跟學校之間的資訊傳播只在一指之間,但在安全性和資訊更新化方面存在有一定的不足。各現有系統資料單獨建立,共享性差;在以管理者為主體的方式中,資訊取捨依賴管理者對資訊的認知與喜好,不容易掌握使用者真正的需求及無法完全滿足使用者的需求。網上選課系統的設計與開發是從教務工作的實際出發,解決工作中關鍵性的難題,充分利用計算機網路功能,實現教學工作全過程的計算機管理。幫助具體管理人員從複雜煩瑣的工作中解放出來,使教學管理走向無紙化辦公和規範化、現代化管理。

網上選課系統需求分析

2.1可行性分析

(1) 經濟可行性

系統介面友好,操作簡單,系統的配置要求不高,實現可行,因此經濟可行。該系統可以容易實現學生與學校之間的聯絡,在Internet上實現完成部分教務工作,提高教務工作效率。

(2) 技術可行性

隨著網際網路的蓬勃發展,越來越多的機構將科研管理與Internet融合到一起,以方便各高校管理。在這樣一個社會背景下,基於Windows和SQL Server 2000 ,運用先進的JSP技術,採用B/S模式開發的學生網上選課系統,將學生、老師、管理員、有機地結合在一起,有效地提高管理水平和效率。基於以上的技術在現今實現該系統的功能是可行的。

(3) 操作性

本系統介面設計時充分考慮管理人員的習慣,使得操作簡單;資料錄入迅速、規範、可靠;統計準確;製表靈活;適應力強;容易擴充。

2.2 需求分析

2.2.1  系統目標

學生選課系統作為一種現代化的教學技術,已越來越受到人民的重視。是一個學校不可缺少的部分,它的內容對於學校的決策者和管理者來說都至關重要,所以學生選課系統應該能夠為使用者提供充足的資訊和快捷的查詢手段。但一直以來人們使用傳統人工的方式管理檔案檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的檔案和資料,這對於查詢、更新和維護都帶來了不少的困難。

本系統應解決的問題有:實現教務處、教師及學生對選課工作的需求,提高對系統開發的認識與經驗,將一些新的技術應用帶到系統中來,保證系統的可維護性與可擴充套件性。

2.2.2  系統功能

在本系統中,有三類使用者:系統管理員,教師和學生。三種使用者所具有的操作許可權是不同的,相應的操作介面也有所不同。

管理員使用者

1)課程資訊新增:管理員使用者登入後,進入課程資訊管理功能單元,輸入課程編號、課程名稱、教師姓名、上課時間、上課地點、學分這些資料後提交資料,完成課程資訊地新增操作,此時在選課表中將出現剛才新增的課程的有關資訊。

(2)課程資訊修改:管理員使用者登入後,進入課程資訊管理功能單元,如果是已經登入了,選擇要修改的課程名,選定後就可以修改該選定課程的課程名稱,教師姓名等資訊,提交後就得到該門課程修改後的資訊。

(3)課程資訊刪除:管理員使用者登入後,進入課程資訊管理功能單元,如果是已經登入了,選擇要刪除的課程名,提交後,就將選定課程刪除了。

(4)管理員使用者資訊新增:管理員使用者登入後,進入使用者資訊管理功能單元,如果是已經登入進入了,輸入使用者名稱,使用者密碼,提交後就將新使用者新增到了管理員表裡面,即這個使用者可以有管理員許可權了。

(5)管理員使用者資訊修改:管理員使用者登入後,進入使用者資訊管理功能單元,如果是已經登入進入了,點選後就可以修改該使用者的密碼。點選提交後就完成了該使用者資訊的修改,就得到了該使用者修改後的資訊。

(6)學生、教師使用者新增:管理員使用者登入後,進入學生或教師使用者新增單元,如果是已經登入,輸入學生或教師基本資訊,提交後,即可新增學生或教師使用者。

(7)學生、教師使用者刪除:管理員使用者登入後,進入學生或教師使用者刪除單元,如果是已經登入,選擇要刪除的學生或教師,提交後,就將選定學生或教師刪除了。

(8)公告發布:管理員使用者登入後,進入公告發布功能單元,如果是已經登入了,輸入公告標題和公告內容,提交後即可釋出公告。

(9)公告修改:管理員使用者登入後,進入公告修改功能單元,如果是已經登入了,輸入修改的公告標題和公告內容,提交後即可修改公告。

(10)公告刪除:管理員使用者登入後,進入公告刪除功能單元,如果是已經登入了,選定要刪除的公告,點選後即可刪除。

學生使用者

(1)學生選課:學生使用者登入後,進入選課管理功能單元,如果是已經登入進入了,即可以看到現階段可供選擇的課程資訊,並支援模糊查詢,點選選課後即成功選擇該門課程並出現在該使用者的課表中。

(2)學生刪除選課:學生使用者登入後,進入課表管理功能單元,如果是已經登入了,即可看到所選課程列表,選中要刪除的課程,點選後即可刪除。

(3)學生個人密碼修改:學生使用者登入後,進入密碼修改功能單元,如果是已經登入進入了,點選後就可以修改該使用者的密碼。點選提交後就完成了該使用者資訊的修改,就得到了該使用者修改後的資訊。

(4)公告瀏覽:學生使用者登入後,進入公告瀏覽能單元,點選選中的公告標題,即可瀏覽公告的詳細內容。

教師使用者

(1)檢視課程資訊:教師使用者登入後,進入課表管理功能單元,即可檢視教師所任教課程的資訊,包括上課時間,上課地點,學分等。

(2)檢視學生資訊:教師使用者登入後,進入學生列表功能單元,即可查詢選中該教師所任教課程的學生,包括其基本資訊。

(3)教師個人密碼修改:教師使用者登入後,進入密碼修改功能單元,如果是已經登入進入了,點選後就可以修改該使用者的密碼。點選提交後就完成了該使用者資訊的修改,就得到了該使用者修改後的資訊。

(4)公告瀏覽:教師使用者登入後,進入公告瀏覽能單元,點選選中的公告標題,即可瀏覽公告的詳細內容。

根據上面的要求,從操作功能上可以分為兩個類:一個是通用操作,主要實現使用者的登入退出和修改密碼等;另一種是為不同使用者定製不同操作。

 

網上選課系統總體設計

3.1  專案規劃

基於Windows作業系統和Microsoft SQL Server 2000資料庫,建立一個B/S層結構的學生選課系統,使用JSP程式設計,實現學生的選課功能、以及教師查詢上課資訊。

網上選課系統從功能上劃分一共有3個主模組,主要實現教師資訊管理、學生資訊管理、課程資訊管理,其中教師資訊管理有教師姓名、教師工號、教師職稱、教師所屬系;學生資訊管理有學生姓名、學生學號和學生所在系;課程資訊管理有課程名稱、學分、上課地點、上課時間、上課教師。管理員有許可權去更改選課課程的資訊。

身份登入:學生,教師,管理員三中身份登入(許可權不同)

使用者管理:管理員可以新增各種許可權的使用者,修改,和刪除使用者

課程管理:可以對頒佈的課程表進行新增,刪除,修改

新聞釋出:管理員可以釋出新聞並對其修改刪除

3.2  設計目標

建立一個學生網上選課系統,實現對課程的基本資訊維護以及學生選課、教師上課資訊。系統對學生角色提供個人資訊管理、選課管理、管理學生本人已選課程。系統對教師提供檢視自己所擔任課程的課表和選該門課的學生資訊。系統同時給管理員以下功能:檢視所有專業、課程、學生、教師的資訊並可以對它們進行管理(新增、編輯、刪除)。以及實現新聞的釋出並修改。提高資訊處理的速度和準確性,能夠及時、準確、有效的查詢和修改選課情況。

3.3  相關技術介紹

3.3.1  系統開發採用的技術法案——B/S模式

資訊科技的高速發展使網路計算模式不斷更新。從單機時代的主機/終端模式、檔案伺服器時代的共享資料模式、客戶機/伺服器時代的Client/Server(客戶機/伺服器)模式,再到今天網路計算機時代的Browser/Server(瀏覽器/伺服器)模式,計算模式發生了巨大變化。同時計算模式的不斷進步使管理軟體的架構發生了很大變化。

系統綜合還應用了B/S模式,即Browser/Server(瀏覽器/伺服器)結構,是對C/S結構的一種改進。B/S模式的好處還有執行維護比較簡便,能實現不同的人員,從不同的地點,以不同的接入方式訪問和操作共同的資料,解決了地域的限制。

而基於網際網路應用系統都採用Browser/Server(瀏覽器/伺服器)模式結構,在客戶端中除Web瀏覽器外,要安裝的軟體便是一些外掛和控制元件。這些外掛被設計於伺服器端,並通過網路下載到客戶端,而控制元件則是第一次瀏覽下載並註冊的。這是一種最小化的客戶端安裝及客戶機模式,是目前客戶伺服器體系結構的發展方向。

3.3.2  JSP技術介紹

JSP是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。該技術為建立顯示動態生成內容的Web頁面提供了一個簡捷而快速的方法。JSP技術的設計目的是使得構造基於Web的應用程式更加容易和快捷,而這些應用程式能夠與各種Web伺服器,應用伺服器,瀏覽器和開發工具共同工作。 JSP規範是Web伺服器、應用伺服器、交易系統、以及開發工具供應商間廣泛合作的結果。在傳統的網頁HTML檔案(*htm,*.html)中加入Java程式片段(Scriptlet)和JSP標記(tag),就構成了JSP網頁(*.jsp)。Web伺服器在遇到訪問JSP網頁的請求時,首先執行其中的程式片段,然後將執行結果以HTML格式返回給客戶。程式片段可以運算元據庫、重新定向網頁以及傳送 email 等等,這就是建立動態網站所需要的功能。所有程式操作都在伺服器端執行,網路上傳送給客戶端的僅是得到的結果,對客戶瀏覽器的要求最低,可以實現無Plugin,無ActiveX,無Java Applet,甚至無Frame。

JSP技術在多個方面加速了動態Web頁面的開發:

一、將內容的生成和顯示進行分離

使用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小指令碼來生成頁面上的動態內容(內容是根據請求來變化的,例如請求帳戶資訊或者特定的一瓶酒的價格)。生成內容的邏輯被封裝在標識和JavaBeans元件中,並且捆綁在小指令碼中,所有的指令碼在伺服器端執行。如果核心邏輯被封裝在標識和Beans中,那麼其他人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的生成。在伺服器端,JSP引擎解釋JSP標識和小指令碼,生成所請求的內容(例如,通過訪問JavaBeans元件,使用JDBCTM技術訪問資料庫,或者包含檔案),並且將結果以HTML(或者XML)頁面的形式傳送回瀏覽器。這有助於作者保護自己的程式碼,而又保證任何基於HTML的Web瀏覽器的完全可用性。

二、強調可重用的元件

JSP 作為一個很好的動態網頁開發語言得到了越來越廣泛的使用,在各類JSP 應用程式當中,JSP+JavaBean 的組合成為了一種事實上最常見的JSP程式的標準。JavaBean 是描述Java 的軟體元件模型,有點類似於 Microsoft的COM 元件概念。在Java 模型當中,通過JavaBean 可以無限擴充Java 程式的功能,通過JavaBean 的元件可以快速地生成新的應用程式。對於程式設計師來說,最好的一點就是 JavaBean可以實現程式碼的重複利用。

JavaBean 是一種基於 Java 的軟體元件。 JSP 對於在 Web 應用中整合 JavaBean 元件提供了完善的支援。這種支援不僅能縮短開發時間(可以直接利用經測試和可信任的已有元件,避免了重複開發),也為 JSP 應用帶來了更多的可伸縮性。 JavaBean 元件可以用來執行復雜的計算任務,或負責與資料庫的互動以及資料提取等。如果我們有三個 JavaBean ,它們分別具有顯示新聞、股票價格、天氣情況的功能,則建立包含所有這三種功能的 Web 頁面只需要例項化這三個 Bean ,使用 HTML 表格將它們依次定位就可以了。  利用跨平臺執行的 JavaBean 元件, JSP 為分離處理邏輯與顯示樣式提供了卓越的解決方案。

3.3.3  SQLSERVE 2000資料庫介紹

隨著資訊科技的發展,計算機處理資料的方式也發生著變化,檔案管理系統--資料庫管理系統。Microsoft SQL Server2000是一個分散式的關係型資料庫管理系統,具有客戶機/伺服器體系結構,採用了Transact-sql的sql語言在客戶機與伺服器間傳遞客戶機的請求與伺服器的處理結果。是一種應用廣泛的資料庫管理系統,具有許多顯著的優點:易用性、適合分散式組織的可伸縮性、用於決策支援的資料倉儲功能、與許多其他伺服器軟體緊密關聯的整合性、良好的價效比等。

3.4  資料庫分析設計

3.4.1  資料庫需求分析

學生選課管理系統的要求是要準確快捷地管理學生的資訊。學生隸屬班級,學院;學生需要有課程,學分,成績,而這些又都要靠教師或者管理人員來新增。由此總結出如下需求資訊:

使用者分為管理員使用者、教師使用者和學生使用者。一個學生有多門課,一門課對應多個學生。

同時一個教師 可以教授多門課程,一門課程可以有多個教授來教授,並且管理員可以釋出新聞

經過對上述系統功能的分析和需求總結,設計如下資料項:

管理員資訊:使用者名稱、密碼。

學生資訊:  學生ID、姓名、性別、班級、年齡、學院、所在系

教師資訊:  教師ID、姓名、性別、年齡

課程資訊: 課程ID、名稱、上課時間、上課地點、學分、上課教師

班級資訊: 班級ID、名稱、班主任

新聞資訊: 新聞ID、新聞標題、新聞內容

3.4.2  資料庫概念結構設計

由上面的資料項可以設計出能夠滿足使用者需求的各種實體以及它們之間的關係,為後面的邏輯結構設計打下基礎。這些實體包含各種具體資訊,通過相互之間的作用形成資料的流動。本系統設計的實體有:學生實體、教師實體、課程實體和班級實體。

如圖 3-1所示為實體間關係E-R圖

該圖介紹的是一個學生可以選多門課,一門課可以對應多個學生。

同時一個教師 可以教授多門課程,一門課程可以有多個教授來教。

 

院系

學生

N

N

N

1

N

N

教師

教授

課程

 

 

圖3-1實體間關係E-R圖

 

如圖 3-2所示為學生資訊實體E-R圖

    該圖介紹的是學生資訊實體,包括學生學號、姓名、性別、年齡、學院、所在系、班級等。充分反映學生資訊之間的各個關係。

 

 

學號

姓名

性別

年齡

學院

所在系

學生

班級

 

 

圖3-2學生資訊實體E-R圖

 

如圖 3-3所示為管理員資訊實體E-R圖

該圖介紹的是管理員實體的相關資訊,主要為登陸使用者時所需的資訊,包括使用者名稱和密碼。

 

管理員

使用者名稱

密碼

 
   

 

 

 

 

                            圖 3-3管理員資訊實體E-R圖

 

如圖 3-4所示為教師資訊實體E-R圖

該圖主要介紹教師實體的相關資訊,主要包括教工號、姓名、性別、年齡、學院、密碼等。

 

教工號

姓名

性別

年齡

學院

教師

密碼

 

 

 

圖 3-4為教師資訊實體E-R圖

如圖 3-5所示為課程資訊實體E-R圖

該圖主要介紹課程實體的相關資訊,主要包括課程號、課程名、上課時間、學分、上課地點、上課教師等。

 

課   程

課程號

課程名

上課時間

學分

上課教師

上課地點

教工號

 

 

圖3-5為課程資訊實體E-R圖

3.4.3  資料庫表的設計和建立

根據以上分析和E-R圖,系統資料庫中各個表的設計結果如表3-6至表3-12 。每個表格表示資料庫中的一個表。

如表3-6所示為使用者表admin

該表記錄管理員的使用者名稱和密碼。管理員可以新增各種許可權的使用者,修改,和刪除使用者。

 

3-6 管理員表

 

如表3-7所示為學生表student

該表用來記錄學生資訊。此記錄的資訊會詳細地顯示在學生登入後的頁面上。此資訊不允許學生自己更新。

 

圖3-7學生資訊表

 

如表3-8所示為教師表teacher

該表用來記錄教師資訊。

 

圖3-8教師資訊表

如表3-9所示為課程表 course    該表用來記錄課程資訊表

 

圖3-9課程資訊表

如表3-10所示為選課表sc  該表用來記錄學生選課資訊

 

圖3-10選課資訊表

 

 

如表3-11所示為新聞表 article  該表用來記錄新聞資訊

 

圖3-11新聞資訊表

如表3-12所示為班級表 class  該表用來 記錄班級資訊

 

圖3-12班級資訊表

3.5  系統模組設計

本系統包括3個管理模組,使用者管理模組、課程管理模組、選課管理模組,使用者模組分為3類使用者,管理員、學生、老師。管理員實現課程管理、學生、教師管理、和新聞釋出管理。本系統主要實現學生管理模組,而學生管理模組、課程管理模組、選課管理模組是與管理員和學生相關的主要模組。

 

 

 

 

如圖3-13和圖3-14所表示是從管理員和學生使用者的角度給出的模組功能。

  

 

刪除

新增

新增

修改密碼

管理員登入

系統管理

使用者管理

課程管理

選課管理

新聞管理

學生管理

使用者管理

教師管理

分配課程

修改課程

新增課程

刪除課程

釋出新聞

修改新聞

刪除新聞

 

 

圖3-13 管理員功能模組

 

 

學生登入

使用者管理

個人資訊查詢

個人密碼修改

課程

新增選修課程

刪除選課

課程資訊

其他管理

新聞瀏覽

退出系統

我的選課

檢視選課資訊

 

 

3-14 學生使用者功能模組圖

 

網上選課系統詳細設計和實現

4.1介面設計

4.1.1  主介面設計

頁面框架化。本系統介面採用框架結構,把頁面頭、左邊導航、右邊正文放在不同的框架裡面,當使用者在左邊導航選擇不同的功能選單時,只是在右邊正文區重新整理內容,這樣做使得頁面結構清晰,便於使用者操作。

系統的首頁面index.jsp在頁面左邊顯示出三種身份登入的連結。便於不同使用者清晰的看清登入的位置。不同身份的使用者登入提交的使用者名稱和密碼提交到不同身份的資料庫認證頁面中。如學生使用者登入提交到login.jsp。當驗證通過時,跳到學生使用者的頁面。並把資訊儲存進session,以供其他頁面判斷使用者是否已經登入。

 

 

 

 

系統首頁如圖4-1所示。

 

圖4-1系統首頁面

 

4.2  登入介面

登入介面相對於主登陸介面較為簡單,對不同身份的使用者提供不同的登入頁面,最終提交不同的認證頁面。當驗證通過時,跳到使用者使用頁面。

以下以學生身份登入為例,教師和管理員身份登入頁面類似。

 

圖4-2 學生登入頁面

4.3  學生使用者介面設計

學生使用者功能模組由四部分組成:個人資訊、網上平臺、系統公告和其他。

個人資訊:顯示出使用者的所有個人資訊並提供密碼修改功能

網上平臺:提供學生使用者檢視所有選課資訊,使用者可以查詢自己想找的課程,通過課程名和上課時間兩種方式查詢。當使用者點選課時,該課程就會新增到我的課表中,在資料庫中選課表會新增一條記錄。使用者在我的課表中可以退選課程

系統公告:使用者可以瀏覽系統通知。

其他功能:退出系統

學生使用者介面設計用框架實現。頁面頭放在上框架,功能導航放在左框架,具體功能放在右框架。學生功能設計所有頁面都放在student的資料夾中,所以以下所提到的頁面均在student資料夾中。設定學生介面框架結構主頁index.htm。其中左框架中的功能導航頁面為student_left.jsp,右框架中的功能頁面為student_body.jsp。

系統用session儲存使用者的學號。

圖4-3學生使用者介面

其中框架的程式碼為:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

<html>

<head>

<link href="../style.css" rel="stylesheet" type="text/css">

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>學生選課系統</title>

</head>

<frameset align="center" rows="129,*" cols="*" frameborder="NO" border="0" framespacing="0">

<frame src="../inc/head.htm" name="topFrame" scrolling="NO" noresize >

<frameset align="center" rows="*" cols="153,*" framespacing="0" frameborder="NO" border="0">

<frame align="center" src="student_left.jsp" name="leftFrame" scrolling="NO" noresize>

<frame align="center" src="student_body.jsp" name="mainFrame">

</frameset>

</frameset><noframes></noframes>

<frameset align="center" rows="5,*" cols="*" frameborder="NO" border="0" framespacing="0">

</frameset>

<body>

</body>

</html>

4.3.1  個人資訊模組功能模組設計

個人資訊模組包括個人資料和修改密碼兩部分。個人資料顯示學生的所有資訊,包括學號、姓名、學院、系別、班級。密碼修改部分:使用者可以根據自己的需要修改密碼,方便使用者管理。

如圖4-4個人資料顯示頁面,4-5 密碼修改頁面。

 

 

 

 

 

 

圖4-4個人資料顯示頁面

 

 

圖4-5 密碼修改頁面

 

 

 

4.3.2  網上平臺模組功能設計

網上平臺由兩部分組成:選課資訊和我的課表

選課資訊:學生使用者檢視所有選課資訊,並提供使用者模糊查詢,使使用者可以查詢自己想找的課程,模糊查詢通過課程名和上課時間兩種方式查詢。在課程列表中當使用者點選課欄時,該課程就會新增到我的課表中,在資料庫中選課表會新增一條記錄。

我的課表:學生選課後可以通過檢視我的課表清楚的看到自己的選課情況,以及上課的時間、地點、學分等資訊。當學生使用者發現修要改動時可以選擇退選項,取消選擇。

選課資訊:courseInfo.jsp 我的課表:noticeList.jsp

如圖4-6 選課資訊頁面 4-7 我的課表頁面

 

圖4-6 選課資訊頁面

 

 

 

 

 

 

 

 

圖4-7 我的課表顯示頁面

圖4-7中顯示的選課項中,單擊選課可選擇該門功課,在課程資訊頁面中實現分頁顯示和模糊查詢功能。

圖4-8中顯示學生使用者所選擇的課程資訊。在刪除選項中,點選刪除可以退選課程。

程式碼如下:

<%@ page import="java.sql.*" %>

<%@ page import="Bean.*" %>

<head>

<style type="text/css">

A:link{color: 006699;font-size:9pt;text-decoration:none}

A:visited{color: #006699;font-size:9pt;text-decoration:none}

A:hover{color: #FF6600;font-size:9pt;text-decoration:underline}

</style>

<title></title>

<script language="JavaScript">

<!--

function del(id)

{

if (confirm("您確信要刪除嗎?") )

top.location="del.jsp"id="+id"

}

</script>

</head>

<body background="../images/BKGRD9.jpg">

<center>

<br>

<p>我的課表</p>

<%//防止某些使用者不進行登陸,直接想進入此頁面

if (session.getAttribute("s1")==null){

response.sendRedirect("../index.jsp");

}%>

<%

useBean2 enroll=new useBean2();

enroll.useBean();

String id=(String)session.getAttribute("s1");

String strSQL="select * from course,sc where sc.num='"+id+"'and sc.cno=course.cno";

ResultSet rs= enroll.executeQuery(strSQL);

if(rs.next()){%><table gcolor="#CCCCFF" border="1" width="500" align="center">

<tr><td>取消選擇</td><td>課程名</td><td>上課時間</td><td>上課地點</td><td>上課教師</td><td>學分</td></tr>

<%

while(rs.next())

{%>

<tr><td> <a href="del.jsp?id=<%=rs.getString("cno")%>">刪除</a></td>

<td ><%=rs.getString("cname")%></td>

<td ><%=rs.getString("ctime")%></td>

<td ><%=rs.getString("cadress")%></td>

<td ><%=rs.getString("ctea")%></td>

<td ><%=rs.getShort("csc")%></td>

</tr>

<%} }

else out.print("您還沒有選擇任何課程!");

enroll.close();%> 

</table>

<table width="650">

</table>

</center>

</body>

4.3.3  系統公告

使用者可以瀏覽最近要文頁面:news.jsp。

 

 

圖4-8 瀏覽新聞頁面

 

 

點選新聞標題的連結可以跳到新聞的具體內容頁面:article.jsp

 

圖4-9新聞內容頁面

4.3.4  其他功能模組設計

使用者退出系統時,使用者點退出時,系統呼叫logout.jsp實現把使用者資訊從session中清除。

程式碼如下:

<%session.invalidate();

response.sendRedirect("index.jsp");

%>

4.4  管理員使用者介面設計

管理員使用者功能模組由四部分組成:使用者管理、網上平臺、系統公告和其他。

使用者管理:對學生、教師使用者進行管理。實現新增、刪除。同時查詢學生和教師資訊。管理員可以新增管理員使用者。

網上平臺:管理員對課程進行管理,釋出課程,以及修改和刪除。對課程可以查詢。

系統公告:管理員對公告進行管理,對新聞進行釋出,新增,修改。

其他功能:退出系統

管理員和學生使用者介面都同樣用框架實現,管理員功能設計所有頁面都放在admin的資料夾中,所以以下所提到的頁面均在admin資料夾中。設定管理員介面框架結構主頁index.htm。其中左框架中的功能導航頁面為admin_left.jsp,右框架中的功能頁面為admin_body.jsp。

4.4.1  使用者管理模組功能設計

對學生、教師使用者進行管理。根據需要新增、刪除學生、教師使用者。管理員可以查詢學生和教師資訊,同時根據需要管理員可以新增管理員使用者。管理員同樣可以修改密碼。

修改密碼的實現和學生使用者的相同 頁面reset.jsp。管理員使用者新增:addUser.jsp

新增學生資訊:addstudent.jsp  

檢視學生資訊:studentInfo.jsp

檢視教師資訊:teacherInfo.jsp

新增教師資訊:addteacher.jsp

圖4-10 學生使用者新增

 

 

 

圖4-11 學生資訊查詢

上圖點刪除時可以刪除該學生,管理員要根據需要進行刪除。

教師的新增和刪除功能如同對學生的新增和刪除。管理員要根據需要,可以刪除該教師以及其資訊。

4.4.2  網上平臺模組功能設計

網上平臺由兩部分組成:檢視選課資訊和釋出新課程

檢視選課資訊:管理員使用者檢視所有選課資訊,在檢視時提供使用者模糊查詢,管理員可以根據需要查詢要找的課程,模糊查詢通過課程名方式查詢。同時,管理員可以在課程列表中的修改選課資訊欄和刪除欄進行必要的改動,如修改課程資訊或刪除該課程。

釋出新課程:管理員可以根據教學大綱按時的釋出課程,新增必要的選修課程,以供學生選課。

 

 

具體頁面顯示如下。

圖4-12 檢視選課資訊

4.4.3 系統公告模組設計

系統公告模組設計分為兩部分:瀏覽新聞、釋出新聞

瀏覽新聞:管理員可以對新聞瀏覽,同時多新聞做必要的修改和刪除

釋出新聞:按需要釋出新聞,告訴學生和教師使用者最近動態

 

圖4-13 瀏覽新聞頁面

 

 

 
   

 

 

 

 

 

 

 

 

 

圖4-14新聞修改頁面

 

 

圖4-15新聞釋出頁面

4.4.4  其他功能模組設計

管理員退出同學生資訊模組設計相同,呼叫logout.jsp實現把使用者資訊從session中清除。

4.5  教師使用者介面設計

教師使用者功能模組也由四部分組成:個人資訊、網上平臺、系統公告和其他。

由於教師使用者和學生使用者功能模組很多類似,在下面只寫出部分設計。

個人資訊:顯示出使用者的所有個人資訊並提供密碼修改功能

網上平臺:教師可以檢視所有選擇自己課程的學生資訊,可以查詢學生資訊

系統公告:使用者可以瀏覽系統通知。

其他功能:退出系統

教師和學生使用者、管理員使用者介面都同樣用框架實現,教師功能設計所有頁面都放在teacher的資料夾中,所以以下所提到的頁面均在teacher資料夾中。設定管理員介面框架結構主頁index.htm。其中左框架中的功能導航頁面為teacher_left.jsp,右框架中的功能頁面為teacher_body.jsp。

網上平臺由兩部分組成:檢視學生資訊和我的課表

檢視學生資訊:教師可以檢視所有選擇自己課程的學生資訊進行檢視,以便於教師對學生的瞭解。教師可以根據實際情況查詢某個學生,本系統提供了模糊查詢,通過學生姓名進行查詢。

我的課表:教師可以檢視自己的上課資訊,便於教師使用者瞭解自己的工作安排

圖4-16檢視學生列表

4.6  系統後臺模組

該系統用到JavaBean 通過呼叫JavaBean實現連資料庫

相關程式碼如下:

package Bean;

import java.sql.*;

import java.io.*;

import javax.servlet.*;

import javax.servlet.jsp.*;

import java.util.*;

import javax.servlet.http.*;

public class useBean2{

//ServletRequest request;

//ServletResponse response;

//JspWriter out;

String Sd="sun.jdbc.odbc.JdbcOdbcDriver";    //建立一個聯接機

String Sc="jdbc:odbc:xxx";                  //建立一個Odbc源

Connection con=null;                       //Connection物件

ResultSet rs=null;                        //建立一個記錄集

public void useBean(){

                   try{

                Class.forName(Sd);  //用classforname方法載入驅動程式類

                       }catch(java.lang.ClassNotFoundException e){

//當沒有發現這個載入這個類的時候丟擲的異常

                        System.err.println(e);  //執行系統的錯誤列印

                       }

       }

public ResultSet executeQuery(String sql){   //可以執行查詢等操作

                  try{

                        con=DriverManager.getConnection(Sc);

                        Statement  stmt = con.createStatement(

                                        ResultSet.TYPE_SCROLL_SENSITIVE,

                                        ResultSet.CONCUR_READ_ONLY);

                        rs=stmt.executeQuery(sql);

                  }catch(SQLException er){

                          System.err.println(er.getMessage());

                  }

                  return rs;

          }

          public int executeUpdate(String sql){  //資料庫的更新操作

                  int result=0;

                  try{

                          con=DriverManager.getConnection(Sc);

                          Statement stmt=con.createStatement();

                          result=stmt.executeUpdate(sql);

                  }catch(SQLException ex){

                          System.err.println(ex.getMessage());

                  }

                  return result;

          }

        public void close(){

                  try{

                          if(con!=null)

                                  con.close();

                  }catch(Exception e){

                          System.out.print(e);

                  }try{

                          if(rs!=null)

                                  rs.close();

                  }catch(Exception e){

                          System.out.println(e);

                  }

          }

}

 

網上選課系統測試

5.1  測試目的

測試人員測試該軟體的資料正確性,系統執行的穩定性,在各種意外情況下資料的安全正確性、出現問題解決方法等。

5.2  測試環境

硬體環境:PC機一臺,CPU:Intel T6500  2.10 GHz,記憶體:2G。

軟體環境:Window7+tomcat 6.2.9+ SQL Server 2000

5.3  系統配置要求

硬體平臺:

CPU:Intel T6500  2.10 GHz;

記憶體:2G。

軟體平臺:

作業系統:Windows 7;

資料庫:SQL Server 2000;

開發工具包:JDK Version 1.6;

JSP 伺服器:Tomcat 6.2.9;

 

5.4  測試結果

學生網上選課系統(Test)

選課系統有多個子功能,重點測試以下窗體(其它功能類似,不做重點測試,有問題僅給出一個書面報告)

1  Test01:使用者修改密碼

2  Test02:使用者登入

3  Test03:新增學生資訊

4  Test04:教師修改個人資訊

5  Test05: 教師查詢資訊

6  Test06: 學生選課系統

Test01(使用者修改密碼)

測試功能:要求在不同的使用者情況下,不同的使用者都能夠修改自己的密碼,然後測試用新密碼是否可以登入

測試人員:XXX

測試時間:2013年5月25日

測試角色:管理員,教師,學生

測試資料:    

   用 戶  名

   舊  密  碼

    新 密  碼

   確認新密碼

 Admin(管理員)

   Admin

    111

    111

   123 (教師)

   001

    222

    333

   123 (學生)

   001

    空

    空

 

測試結果:            

編 號

測試物件

    結    果

            原       因

1

admin

正 確

 

2

123

正 確

 

3

123

不正確

在設計資料庫時不允許為空

測試分析:以下按編號進行分析

編號

分析

1

在編碼時候採用跟蹤使用者名稱,就可以對他的密碼進行修改

2

在編碼必需使得兩個密碼一致,不然的話就會不能修改

3

在設計資料庫時不允許為空,但編碼時沒有考慮到當為空時也可以修密碼就使得出錯。

對問題解決的方法:

編號

解決的方法

3

在編寫這個模組程式碼的時候加上不為空時就可以對資料庫操作,否則彈出提示框,這樣就不會出錯。

非資料錯誤(細節問題)

錯誤地方(細節問題)

   原      因

      解   決   方   法

密碼沒用“*”符號表示

沒有設定文字框的屬性

在文字框的Passwordchar設定為“*”

Test02 (使用者登入)

測試功能:通過這個與使用者互動介面,能實現與資料庫的連線。這個介面主要是與使用者互動,讓使用者輸入自己的使用者名稱和密碼。測試能否與資料庫連線。

測試人員:XXX

測試時間2013年5月26日

測試資料:

  編  號

   使用者名稱

   密  碼

   1

   123

   123

   2

   123

   1234

測試結果:

編  號

測試物件

 測試結果

 原  因

   1

   123

成功登入

密碼正確      

   2

   123

登陸失敗

密碼不正確

測試分析:

   編  號

                  分      析

    1

當使用者輸入正確的使用者名稱和密碼時就可以成功配置好伺服器。這樣通過公共變數記錄好連線資料庫的SQL語句,再通過類模組實現對資料庫的連線、訪問。

    2

輸入不正確,類模組就會連線資料庫有錯誤。

Test03 (新增學生資訊)

測試功能:測試能否通過這個介面實現新增學生資訊和修改學生資訊。通過這個介面可以新增學生資訊進去,這個只能是管理員能做,教師和學生不能操作這個介面。

測試人員:XXX

測試時間:20013年5月27日

測試角色:管理員

 

 

 

測試資料:

學生編號

姓名

性別

年齡

院別

班級

專業

0001

小華

24

資訊工程學院

06級1班

計算機

測試結果:

測試物件

測試結果

0001

新增成功

測試分析:

物件

分析

0001

通過點選新增按鈕可以新增學生的基本資訊,輸入完之後點選確定按鈕就可以新增完成。

Test04 (教師修改個人資訊)

測試功能:教師可以檢視自己的資訊,並且可以修改部分資訊

測試人員:XXX

測試時間:2013年5月28日

測試角色:教師

測試資料:

教師編號

姓名

性別

年齡

所在院系

1001

王五

40

經濟管理

1005

楊莉

35

人文學院

1006

小文

30

人文學院

測試結果:

編號

 測試物件

  結果

  原因

   1

 王五

  正確

 

   2

 楊莉

  正確

 

   3

 小文

  正確

 

 

測試分析:

編號

               分      析

1,2,3

三組資料都可以從資料庫中正確匯出。主要是採用跟蹤使用者名稱,從而正確獲得資訊,  所以都可以正確顯示每個教師的基本資訊。

Test05 (教師查詢資訊)

測試功能:教師可以查詢所教的課程、所教班的學生情況。

測試人員:XXX

測試時間:2013年5月29日

測試角色:教師

測試資料:(以教師編號為123登入)

查詢方式

查詢細節

查詢所教的課程資訊

 

查詢所教課程的學生資訊

選擇所教的課程

測試結果:(按查詢方式分別顯示)

 

 

查詢所教的課程資訊:

課程名

上課時間

 上課地點

 學分

計算機技術

星期三

 110

3

查詢所教課程的學生資訊:

學號

姓名

學院

性別

專業

所選課程

123

張三

城建學院

資訊管理與資訊系統

計算機技術

0001

小華

資訊工程

計算機

計算機技術

查詢方式

結果分析

查詢所教的課程

此項查詢可以查詢教師所教的課程資訊。

查詢所教課程的學生資訊

教師先選擇自己所教的一門課程,點選查詢便可查詢出選修了此門課程的所有學生的資訊。

測試分析:

Test06 (學生選課系統)

測試功能:學生是否可以選課,是否可以退選。

測試人員:XXX

測試時間:2013年5月30日

測試角色:學生

測試資料:

在學生選課之後資料為

編 號

    使用者名稱

  學號

課程名

 教師名

   1

   123

  123

新聞欣賞

  楊莉

   2

   0001

  0001

計算機技術

  李四

   3

   0002

  0002

古典文學

  小文

   4

   0002

  0002

計算機技術

  李四

 

0002學生退選課之後資料庫中的資料為

編 號

    使用者名稱

   學號

   課程名

   教師名

   1

   123

  123

新聞欣賞

  楊莉

   2

   0001

  0001

計算機技術

  李四

   3

   0002

  0002

 古典文學

  小文

   4

   0002

  0002

計算機技術

  李四

測試結果:

編  號

測試物件

 測試結果

 原  因

選課資料

  S003

  選課成功

 從資料庫學生選課表中看出

退課資料

  S003

  不能夠成功退選

  同上

測試分析:

編號

分   析

 選課資料

在學生選課時,可以成功選課,在資料庫中發現選課記錄。

 退課資料

在學生退選時,在介面上是可以退選,但實際上在資料庫中不可以退選。不可以成功退選,因為在資料庫仍然發現該記錄。沒有把退選的記錄進行刪除。

解決問題的方法:

編號

  解決方法

 退課資料

 問題在於沒有把資料庫中的退選資料進行相應刪除所以在介面上看上去退選時,在資料庫中也進行相應刪除

非資料錯誤(細節問題)

錯誤的地方(細節問題)

    錯誤原因

   改正方法

在退選課程時,不能夠選中對應的老師與課程

沒有加控制語句使得老師與課程所對應

針對這種情況,再加控制語句

 

總結

通過兩個多月的畢業設計,我學習了Java技術、JSP技術、一些資料庫知識以及視覺化開發工具。在學習相關的技術的同時,一邊摸索,一邊進行畢業設計的題目的製作。在5月末,已經初步完成了預先所設計的“網上選課系統”的原型。通過這次實際開發的機會,掌握了初步的JSP 技術和與此相關的JAVA(主要是運算元據庫)技術。網站原型也基本上達到了所預期的效果。通過這次設計使我對web伺服器、資料庫軟體SQL Sever、JAVA、jsp等系列知識都有了進一步的瞭解,使用jsp開發頁面的能力也有了很大提高。

由於在此之前我對於JAVA和jsp知識的瞭解很膚淺,所以從一開始就碰到許多困難。例如E-R圖的設想也不是很完善。網站的模組完成後也有許多功能不完善的地方,操作不當就會出現錯誤 再例如一開始我使用的是Access2000資料庫伺服器,由於效能上與我使用的作業系統Windows 7有很多地方不相容,使得我在很長一段時間內找不到問題的癥結,導致了大量時間在檢查程式碼甚至是對硬體的檢查中,後來在看了有關jsp、JAVA程式設計方面的資料後更換了資料庫伺服器才將問題解決,另外在進行對迴圈顯示以及網頁中指令碼程式碼與html程式碼之間的關係上都有很大的困難,通過在網上尋找有關資料以及老師同學的幫助下最後都得到了解決。

在整個設計階段我感受最為深刻的是認識到了掌握學習的方式和解決問題的方法的重要性。首先是解決問題的方法,雖然面臨的資訊很多,但是如何從大量的資訊中刪選出所需的資訊,有用的資訊,才是問題的關鍵,另外一個就是解決問題的方法,就像我在解決設計中的很多問題一樣,一開始總是在看書,和書上的進行比對,雖然書本上的知識大部分都是有價值的,正確的,但實際上每個人程式設計的思路和對資料的處理方法、思想都是不同的,這就要求我們一定要通過實踐才能找到解決問題的方法。在整個畢業設計的過程中,我深刻的體會到了這一點的重要性,也牢記住了這一點,在今後的學習和研究中我也會繼續將這種方法延續下去。

相關文章