版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、重慶工業(yè)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)課 題 名 稱 網(wǎng)上選課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)專 業(yè) 班 級(jí): 10計(jì)應(yīng)303 學(xué) 生 姓 名: 張 三 指 導(dǎo) 教 師: 劉 娜 二O一二 年 十二 月 目 錄摘要1關(guān)鍵詞1引言21 系統(tǒng)相關(guān)技術(shù)介紹21.1 系統(tǒng)開發(fā)采用的技術(shù)方案B/ S模式21.2 MVC設(shè)計(jì)模式31.3 JSP介紹31.3.1 將內(nèi)容的生成和顯示進(jìn)行分離31.3.2 強(qiáng)調(diào)可重用的組件32 系統(tǒng)開發(fā)工具及容器42.1 開發(fā)工具42.1.1 MyEclipse簡(jiǎn)介42.1.2 DreamWaver簡(jiǎn)介42.2 數(shù)據(jù)庫(kù)的選擇42.3 JDK版本的選擇42.4 容器43 需求分析53.1可行性分析5
2、3.2 功能模塊分析53.3 軟硬件環(huán)境需求74 概要設(shè)計(jì)74.1 系統(tǒng)功能結(jié)構(gòu)74.2 系統(tǒng)流程圖74.3 系統(tǒng)數(shù)據(jù)庫(kù)E-R模型84.4 數(shù)據(jù)庫(kù)表設(shè)計(jì)95 詳細(xì)設(shè)計(jì)105.1 界面設(shè)計(jì)105.2 系統(tǒng)功能模塊設(shè)計(jì)115.2.1 公共模塊115.2.2管理員模塊125.2.3 學(xué)生模塊16結(jié)束語(yǔ)20致 謝20參考文獻(xiàn)20網(wǎng)上選課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要:學(xué)生選課系統(tǒng)是一款管理系統(tǒng),囊括了學(xué)生管理和課程管理的基本過程。系統(tǒng)覆蓋學(xué)生的選課、查看、修改密碼等各個(gè)環(huán)節(jié),軟件的各個(gè)模塊操作界面簡(jiǎn)單、實(shí)用。該系統(tǒng)是一個(gè)基于B/S結(jié)構(gòu)的Web項(xiàng)目,采用Struts軟件進(jìn)行開發(fā),用戶數(shù)據(jù)選用MySQL進(jìn)行統(tǒng)一管理。
3、該系統(tǒng)可以顯著減輕教務(wù)人員的工作負(fù)擔(dān),大大提高工作效率,從而實(shí)現(xiàn)教務(wù)管理的數(shù)字化和網(wǎng)絡(luò)化。關(guān)鍵詞:B/S ;選課系統(tǒng);數(shù)據(jù)庫(kù);Web項(xiàng)目引言:Internet的發(fā)展使我們的教育更加現(xiàn)代化,實(shí)現(xiàn)教學(xué)信息的集中管理、分散操作、信息共享,使傳統(tǒng)的教學(xué)管理朝數(shù)字化、無紙化、智能化、綜合化的方向發(fā)展,并為進(jìn)一步實(shí)現(xiàn)完善的計(jì)算機(jī)教學(xué)文件管理系統(tǒng)和全校信息系統(tǒng)打下良好的基礎(chǔ)。學(xué)生網(wǎng)上選課系統(tǒng)是高校教學(xué)管理系統(tǒng)的重要組成部分,充分利用計(jì)算機(jī)網(wǎng)絡(luò)功能,實(shí)現(xiàn)教學(xué)工作全過程的計(jì)算機(jī)管理,幫助具體管理人員從復(fù)雜煩瑣工作中解放出來,使得教學(xué)管理走向無紙化辦公和規(guī)范化、現(xiàn)代化管理。1 系統(tǒng)相關(guān)技術(shù)介紹1.1 系統(tǒng)開發(fā)采用
4、的技術(shù)方案B/ S模式信息技術(shù)的高速發(fā)展使網(wǎng)絡(luò)計(jì)算模式不斷更新。從單機(jī)時(shí)代的主機(jī)/終端模式、文件服務(wù)器時(shí)代的共享數(shù)據(jù)模式、客戶機(jī)/服務(wù)器時(shí)代的Client/Server(客戶機(jī)/服務(wù)器)模式,再到今天網(wǎng)絡(luò)計(jì)算機(jī)時(shí)代的Browser/Server(瀏覽器/服務(wù)器)模式,計(jì)算模式發(fā)生了巨大變化,同時(shí)計(jì)算模式的不斷進(jìn)步使管理軟件的架構(gòu)發(fā)生了很大變化。系統(tǒng)綜合還應(yīng)用了B/S模式1,即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是對(duì)C/S結(jié)構(gòu)的一種改進(jìn)。B/S模式的好處還有運(yùn)行維護(hù)比較簡(jiǎn)便,能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式訪問和操作共同的數(shù)據(jù),解決了地域的限制。而基于互聯(lián)網(wǎng)應(yīng)用系
5、統(tǒng)都采用Browser/S erver(瀏覽器/服務(wù)器)模式結(jié)構(gòu),在客戶端中除Web瀏覽器外,要安裝的軟件便是一些插件和控件。這些插件被設(shè)計(jì)于服務(wù)器端,并通過網(wǎng)絡(luò)下載到客戶端,而控件則是第一次瀏覽下載并注冊(cè)的。這是一種最小化的客戶端安裝及客戶機(jī)模式,是目前客戶服務(wù)器體系結(jié)構(gòu)的發(fā)展方向。1.2 MVC設(shè)計(jì)模式 Model模型-View視圖-Controller控制器2是軟件工程中的一種軟件架構(gòu)模式。它把軟件系統(tǒng)分為三個(gè)基本部分:Model模型,View視圖和Controller控制器。模型視圖控制器模式的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的程序設(shè)計(jì),使后續(xù)對(duì)程序的修改和擴(kuò)展簡(jiǎn)化,并且使程序某一部分的重復(fù)利用成為
6、可能。專業(yè)人員可以通過自身的專長(zhǎng)分組:控制器Controller- 負(fù)責(zé)轉(zhuǎn)發(fā)請(qǐng)求,對(duì)請(qǐng)求進(jìn)行處理。 視圖View - 界面設(shè)計(jì)人員進(jìn)行圖形界面設(shè)計(jì)。 模型Model - 程序員編寫程序應(yīng)有的功能(實(shí)現(xiàn)算法等等)、數(shù)據(jù)庫(kù)專家進(jìn)行數(shù)據(jù)管理和數(shù)據(jù)庫(kù)設(shè)計(jì)(可以實(shí)現(xiàn)具體的功能)。1.3 JSP介紹JSP是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。該技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的Web頁(yè)面提供了一個(gè)簡(jiǎn)捷而快速的方法。JSP技術(shù)的設(shè)計(jì)目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開發(fā)工具共同工作。 JS
7、P規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)、以及開發(fā)工具供應(yīng)商間廣泛合作的結(jié)果。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(yè)(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送 email 等等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對(duì)客戶瀏覽器的要求最低,可以實(shí)現(xiàn)無Plugin,無ActiveX,無Java Applet,甚至無F
8、rame。JSP技術(shù)在多個(gè)方面加速了動(dòng)態(tài)Web頁(yè)面的開發(fā):1.3.1 將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁(yè)面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁(yè)面。使用JSP標(biāo)識(shí)或者小腳本來生成頁(yè)面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求來變化的,例如請(qǐng)求帳戶信息或者特定的一瓶酒的價(jià)格)。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和Beans中,那么其他人,如Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí)和小腳本,生成所請(qǐng)求的內(nèi)容(例如,通過
9、訪問JavaBeans組件,使用JDBCTM技術(shù)訪問數(shù)據(jù)庫(kù)等),并且將結(jié)果以HTML(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。1.3.2 強(qiáng)調(diào)可重用的組件JSP 作為一個(gè)很好的動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)語(yǔ)言得到了越來越廣泛的使用,在各類JSP 應(yīng)用程序當(dāng)中,JSP+JavaBean 的組合成為了一種事實(shí)上最常見的JSP程序的標(biāo)準(zhǔn)。JavaBean 4是描述Java 的軟件組件模型,有點(diǎn)類似于 Microsoft的COM 組件概念。在Java 模型當(dāng)中,通過JavaBean 可以無限擴(kuò)充Java 程序的功能,通過JavaBean 的組
10、件可以快速地生成新的應(yīng)用程序。對(duì)于程序員來說,最好的一點(diǎn)就是 JavaBean可以實(shí)現(xiàn)代碼的重復(fù)利用。 JavaBean 是一種基于 Java 的軟件組件。 JSP 對(duì)于在 Web 應(yīng)用中集成 JavaBean 組件提供了完善的支持。這種支持不僅能縮短開發(fā)時(shí)間(可以直接利用經(jīng)測(cè)試和可信任的已有組件,避免了重復(fù)開發(fā)),也為 JSP 應(yīng)用帶來了更多的可伸縮性。 JavaBean 組件可以用來執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互以及數(shù)據(jù)提取等。如果我們有三個(gè) JavaBean ,它們分別具有顯示新聞、股票價(jià)格、天氣情況的功能,則創(chuàng)建包含所有這三種功能的 Web 頁(yè)面只需要實(shí)例化這三個(gè) Bean
11、,使用 HTML 表格將它們依次定位就可以了。利用跨平臺(tái)運(yùn)行的 JavaBean 組件, JSP 為分離處理邏輯與顯示樣式提供了卓越的解決方案。2 系統(tǒng)開發(fā)工具及容器2.1 開發(fā)工具本系統(tǒng)使用的開發(fā)工具,后臺(tái)java代碼編寫使用MyEclipse Europa workbench 6.5,前臺(tái)頁(yè)面編輯使用DreamWaver 8。2.1.1 MyEclipse簡(jiǎn)介MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)5是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方
12、面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。2.1.2 DreamWaver簡(jiǎn)介Dreamwaver是美國(guó)MACROMEDIA公司(現(xiàn)為Adobe收購(gòu))開發(fā)的集網(wǎng)頁(yè)制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁(yè)編輯器,它是第一套針對(duì)專業(yè)網(wǎng)頁(yè)設(shè)計(jì)師特別發(fā)展的視覺化網(wǎng)頁(yè)開發(fā)工具。2.2 數(shù)據(jù)庫(kù)的選擇2.2.1 MySQL 簡(jiǎn)介MySQL是一個(gè)開放源碼的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)6,MySQL由于性能高、成本低、可靠性好,已經(jīng)成為最流行的開源數(shù)據(jù)庫(kù),被
13、廣泛地應(yīng)用在中小型網(wǎng)站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規(guī)模網(wǎng)站和應(yīng)用。MySQL 是一個(gè)真正的多用戶、多線程的SQL數(shù)據(jù)庫(kù)服務(wù)器。MySQL是現(xiàn)在流行的關(guān)系數(shù)據(jù)庫(kù)中其中的一種,相比其它的數(shù)據(jù)庫(kù)管理系統(tǒng),MySQL具有小巧、功能齊全、查詢迅捷等優(yōu)點(diǎn),MySQL 主要目標(biāo)是快速、健壯和易用,關(guān)鍵的是它是免費(fèi)的。2.3 JDK版本的選擇Java Development Kit (JDK) 是Sun公司針對(duì)Java開發(fā)員的軟件開發(fā)工具包。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK(Software development kit)。本系統(tǒng)采用JDK 6 editi
14、on update 7版本。2.4 容器本系統(tǒng)頁(yè)面采用JSP,所以對(duì)應(yīng)的容器采用Apache Tomcat 6.0。既然JSP/Servlet,那么它當(dāng)然是不能直接運(yùn)行的,必須把它放到某種運(yùn)行環(huán)境當(dāng)中,它才能發(fā)揮它的作用。這個(gè)環(huán)境就是我們講的容器。容器也是 java 程序,它的主要功能除了為Servlet 提供運(yùn)行環(huán)境,還有更重要的就是提供網(wǎng)絡(luò)傳輸協(xié)議與java 程序?qū)嶓w的相互轉(zhuǎn)換??蛻舳讼蚍?wù)器發(fā)送數(shù)據(jù),遵循的是HTTP 協(xié)議的數(shù)據(jù)格式,服務(wù)器向客戶端發(fā)送數(shù)據(jù)也是遵循HTTP協(xié)議的。在客戶端和服務(wù)器端,可能存在著不同的編程語(yǔ)言編寫的程序,比如java,C+等等。各種語(yǔ)言都有自己用于處理HTT
15、P協(xié)議數(shù)據(jù)的方法(類),為了使用java提供的各種HTTP處理相關(guān)的類,必須將HTTP協(xié)議下的數(shù)據(jù)做一定的轉(zhuǎn)換,轉(zhuǎn)換成一些java object,這樣才能使用java的方法進(jìn)行數(shù)據(jù)處理。同理,當(dāng)這些處理完成,又需要將這些java object轉(zhuǎn)換回HTTP協(xié)議下的數(shù)據(jù),反饋給客戶端(JSP/Servlet當(dāng)然存在與服務(wù)器端)。JSP/Servlet容器就扮演了完成這個(gè)雙向轉(zhuǎn)換的角色。2.4.1 Tomcat簡(jiǎn)介Tomcat7是由Apache軟件基金會(huì)下屬的Jakarta項(xiàng)目開發(fā)的一個(gè)Servlet容器,按照Sun Microsystems提供的技術(shù)規(guī)范,實(shí)現(xiàn)了對(duì)Servlet和JavaServ
16、er Page(JSP)的支持,并提供了作為Web服務(wù)器的一些特有功能,如Tomcat管理和控制平臺(tái)、安全域管理和Tomcat閥等。由于Tomcat本身也內(nèi)含了一個(gè)HTTP服務(wù)器,它也可以被視作一個(gè)單獨(dú)的Web服務(wù)器。但是,不能將 Tomcat 和 Apache Web 服務(wù)器混淆,Apache Web Server 是一個(gè)用 C 語(yǔ)言實(shí)現(xiàn)的 HTTP web server;這兩個(gè) HTTP web server 不是捆綁在一起的。Apache Tomcat 包含了一個(gè)配置管理工具,也可以通過編輯 XML 格式的配置文件來進(jìn)行配置。3 需求分析3.1可行性分析(1)技術(shù)可行性學(xué)生選課系統(tǒng)是一款
17、管理系統(tǒng),系統(tǒng)包含課程管理的基本過程。系統(tǒng)覆蓋學(xué)生的選課、查看、修改密碼等各個(gè)環(huán)節(jié),軟件的各個(gè)模塊操作界面簡(jiǎn)單、實(shí)用,用戶可以在最短的時(shí)間內(nèi)掌握系統(tǒng)的使用方法。用戶可以在最短時(shí)間內(nèi)找到自己所需要的信息。系統(tǒng)采用如今已廣泛被人們接受的B/S結(jié)構(gòu),可以通過Internet協(xié)同工作,數(shù)據(jù)共享。系統(tǒng)軟件采用現(xiàn)在流行且技術(shù)很成熟的框架Struts +MySQL平臺(tái)進(jìn)行開發(fā)并實(shí)現(xiàn)??梢赃M(jìn)行高效的管理,提高工作效率。本系統(tǒng)具有以下特點(diǎn):l 具有良好的系統(tǒng)性能,友好的用戶界面。l 較高的處理效率,便于使用和維護(hù)。l 采用成熟的技術(shù)開發(fā),全系統(tǒng)具有較高的技術(shù)水平l 盡可能地簡(jiǎn)化選課的管理工作,提高工作效率(2)
18、經(jīng)濟(jì)可行性由于本系統(tǒng)是為學(xué)生選課管理使用的系統(tǒng),該系統(tǒng)可以容易實(shí)現(xiàn)學(xué)生,老師與學(xué)校之間的聯(lián)系,在Internet上實(shí)現(xiàn)完成部分教務(wù)工作,提高辦事效率和周期。系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當(dāng)系統(tǒng)投入運(yùn)行后可以為學(xué)校節(jié)約大量的人力和物力,所帶來的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開發(fā)成本,在經(jīng)濟(jì)上完全可行。(3)操作可行性界面設(shè)計(jì)時(shí)充分考慮管理人員的習(xí)慣,使得操作簡(jiǎn)單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計(jì)準(zhǔn)確;制表靈活;適應(yīng)力強(qiáng);容易擴(kuò)充。3.2 功能模塊分析在本系統(tǒng)中,有兩類用戶:系統(tǒng)管理員和學(xué)生。兩種不同的用戶所具有的操作權(quán)限以及操作內(nèi)容均不一樣。本選課系統(tǒng)給予管理員很大的自主權(quán),負(fù)責(zé)向系統(tǒng)中添加學(xué)生和教
19、師的個(gè)人信息以及教學(xué)樓教室信息以及開設(shè)課程等。學(xué)生登錄網(wǎng)站可選擇課程。系統(tǒng)超級(jí)管理員設(shè)置一個(gè)選課時(shí)間段,在到達(dá)時(shí)間段以前,普通管理員可以開設(shè)課程;到達(dá)選課時(shí)間段以后,學(xué)生可以登陸網(wǎng)站選擇課程。管理員登陸網(wǎng)站后可以開設(shè)課程,為課程編輯上課時(shí)間和地點(diǎn),當(dāng)系統(tǒng)中出現(xiàn)時(shí)間地點(diǎn)沖突的時(shí)候,系統(tǒng)報(bào)告并推薦一個(gè)時(shí)間地點(diǎn)。對(duì)于學(xué)生用戶,到達(dá)選課時(shí)間段以后,每個(gè)學(xué)生除了必須選擇必修課程外,至少還要選擇兩門選修課程。當(dāng)時(shí)候超過選課時(shí)段后,系統(tǒng)自動(dòng)鎖定學(xué)生的選課課程8。系統(tǒng)可以根據(jù)學(xué)生的選課信息,生成一份學(xué)生自己的課表9。根據(jù)上面的要求,從操作功能上可以分為兩個(gè)類:一個(gè)是通用操作,主要實(shí)現(xiàn)用戶的登錄注銷和修改密碼等
20、;另一種是為不同用戶定制不同操作。1.通用操作(1)登錄與注銷 每個(gè)用戶都可以用自己的帳號(hào)登錄系統(tǒng)10。用戶操作完成后退出系統(tǒng),注銷后可以重新登錄系統(tǒng)。(2)修改密碼 每個(gè)用戶第一次登錄都用默認(rèn)密碼11(初始密碼為8888)。2.用戶功能(1)系統(tǒng)管理員設(shè)置選課時(shí)間段:系統(tǒng)管理員通過此項(xiàng)功能設(shè)置選課時(shí)段12,只有在選課時(shí)間段里,學(xué)生才可以選擇課程,超過次時(shí)間段,學(xué)生選課信息被自動(dòng)所定,不得修改。錄入學(xué)生與教師個(gè)人信息:通過此項(xiàng)功能可以實(shí)現(xiàn)對(duì)教師和學(xué)生的個(gè)人信息添加刪除。錄入教學(xué)樓教室信息:通過此項(xiàng)功能可以把學(xué)校里所有的教學(xué)樓教室的信息錄入到系統(tǒng)中,以便給教師開設(shè)課程時(shí)候設(shè)置上課的教室。開設(shè)課程
21、13:可以設(shè)置該課程教師、教室、時(shí)間、地點(diǎn)、最大人數(shù)和剩余人數(shù),開設(shè)了課程后,可以靈活地設(shè)置上課時(shí)間和地點(diǎn)。(2)學(xué)生用戶顯示和修改個(gè)人信息:學(xué)生登錄系統(tǒng)后,可以查看和修改學(xué)生的個(gè)人信息,如姓名,性別,電話等。查看開設(shè)課程:學(xué)生登錄后,可以查看所有開設(shè)的課程。查看該課程的信息,上課時(shí)間地點(diǎn),開課教師信息等。查看最終選課信息:學(xué)生登錄系統(tǒng)后,可列出已選擇的課程14,若選課信息未被鎖定,則可以退選。選課功能用例圖如圖3-1所示:圖3-1 選課功能用例圖查看已選課程用例圖如圖3-2所示:圖3-2 已選課程用例圖賬號(hào)管理用例圖如圖3-3所示:圖3-3賬號(hào)管理用例圖3.3 軟硬件環(huán)境需求硬件平臺(tái):CPU
22、:P4 1.8GHz以上;內(nèi)存:256MB以上。軟件平臺(tái):操作系統(tǒng):Windows 2000/WinXP/Win2003數(shù)據(jù)庫(kù):MySQL5.0JSP 服務(wù)器:Tomcat 6.0;開發(fā)工具包:JDK Version 1.64 概要設(shè)計(jì)4.1 系統(tǒng)功能結(jié)構(gòu) 學(xué)生選課系統(tǒng)的功能結(jié)構(gòu)如圖4-1所示學(xué)生選課系統(tǒng)用戶登陸學(xué)生模塊管理模塊選擇課程修改密碼查詢已選課程基本信息學(xué)生信息管理課程信息管理圖 4-1學(xué)生選課系統(tǒng)功能結(jié)構(gòu)圖4.2 系統(tǒng)流程圖根據(jù)學(xué)生選課系統(tǒng)的操作流程,系統(tǒng)的流程圖如圖4-2、4-3所示管理員學(xué)生選課系統(tǒng)管理員登陸基本信息管理學(xué)生信息管理課程信息管理添加學(xué)生信息查詢學(xué)生信息修改學(xué)生信
23、息添加課程信息查詢課程信息修改課程信息圖4-2 學(xué)生選課系統(tǒng)流程圖學(xué)生學(xué)生選課系統(tǒng)學(xué)生登陸選課信息管理查詢可選課程選擇課程查詢已選課程查詢個(gè)人信息圖4-3學(xué)生選課系統(tǒng)流程圖4.3 系統(tǒng)數(shù)據(jù)庫(kù)E-R模型學(xué)生信息表:包含學(xué)號(hào)、姓名、性別、密碼、學(xué)院、專業(yè)等基本信息。課程信息表:包含課程號(hào)、課程名、教師、上課時(shí)間、上課地點(diǎn)、總?cè)藬?shù)等基本信息。管理員信息表:包含管理員編號(hào)、密碼等其他信息。選課表:包含選擇的課程號(hào),課程名,任課教師等。各分E-R圖及總E-R圖分別如圖4-4至4-8所示:管理員編號(hào)用戶名密碼圖4-4管理員實(shí)體及屬性選課表課程號(hào)學(xué)號(hào)任課教師 圖4-5選課表實(shí)體及屬性 學(xué)生學(xué)號(hào)姓名學(xué)院專業(yè)性
24、別 圖4-6 學(xué)生實(shí)體及屬性課程課程號(hào)課程名時(shí)間地點(diǎn)教師圖4-7 課程實(shí)體及屬性添加管理員 學(xué)生選修1nnm講授教師m課程p圖4-8 系統(tǒng)關(guān)系E-R圖4.4 數(shù)據(jù)庫(kù)表設(shè)計(jì)分析上述各實(shí)體的屬性集,從中找出關(guān)系的主鍵,然后用關(guān)系式來表示實(shí)體(其中下劃線的屬性為主鍵)。表4-1至表4-5分別給出了主要表結(jié)構(gòu)各實(shí)體的屬性如下:表4-1 admin表名稱 主要字段數(shù)據(jù)類型長(zhǎng)度屬性輸入方式描述備注管理員表Id字符串10NN輸入用戶名(主鍵)Name字符串50NN輸入管理員名字Password字符串10NN輸入密碼備注用于定義登錄系統(tǒng)的管理員,只有獲得權(quán)限的管理員才能登錄。表4-2 Checkin表名稱 主
25、要字段數(shù)據(jù)類型長(zhǎng)度屬性輸入方式描述備注用戶表Id字符串10NN輸入用戶名(主鍵)Name字符串50NN輸入姓名Password字符串10NN輸入密碼備注用于學(xué)生的登錄信息,只有注冊(cè)的學(xué)生才能登錄系統(tǒng)選課。表4-3 select_course表名稱 主要字段數(shù)據(jù)類型長(zhǎng)度屬性輸入方式描述備注選課表ID字符串50NN生成用戶名(主鍵)CID字符串50NN課程號(hào)(主鍵)Teacher字符串50NN教師備注用于定義學(xué)生所選的課程,可以存儲(chǔ)學(xué)生選擇的所有課程表4-4 student_infor表名稱 主要字段數(shù)據(jù)類型長(zhǎng)度屬性輸入方式描述備注學(xué)生表S_id字符串8NN輸入用戶名(主鍵)S_name字符串50
26、NN輸入姓名major字符串50NN選擇專業(yè)grade字符串50NN輸入年級(jí)College字符串50NN輸入學(xué)院備注用于存儲(chǔ)學(xué)生的基本信息表4-5 Course表名稱 主要字段數(shù)據(jù)類型長(zhǎng)度屬性輸入方式描述備注課程表Idbigint10NN生成編號(hào)(主鍵)系統(tǒng)自動(dòng)生成CID字符串200NN輸入課程號(hào)Cname字符串150NN選擇課程名Teacher字符串150NN選擇教師Place字符串150NN選擇教室Time字符串150NN選擇時(shí)間Sumint10NN輸入總?cè)藬?shù)Spareint10NN輸入剩余人數(shù)備注存儲(chǔ)所有開設(shè)課程的基本信息5 詳細(xì)設(shè)計(jì)5.1 界面設(shè)計(jì)(1)對(duì)于已注冊(cè)用戶通過如下的登錄界面
27、,能夠保護(hù)系統(tǒng)的安全性,界面如圖5-1所示:圖5-1 登錄頁(yè)面(2)下面是管理員主頁(yè)面如圖5-2所示,通過菜單可以實(shí)現(xiàn)各個(gè)功能模塊:圖5-2 管理員主頁(yè)面(3)下面是學(xué)生的主頁(yè)面圖5-3,通過菜單實(shí)現(xiàn)各個(gè)功能:圖5-3 學(xué)生主頁(yè)面5.2 系統(tǒng)功能模塊設(shè)計(jì)5.2.1 公共模塊(1)用戶公共模塊流程圖如下圖5-4所示:用戶登錄輸入登錄信息驗(yàn)證用戶名 密碼判斷用戶身份管理模塊首頁(yè)學(xué)生模塊首頁(yè)圖5-4用戶流程圖用戶登錄JSP頁(yè)面15圖5-5所示圖5-5 用戶登錄頁(yè)面(2)密碼修改流程圖如下圖5-6所示: 密碼修改從當(dāng)前會(huì)話中獲取 登錄賬號(hào)驗(yàn)證用戶身份更新密碼生產(chǎn)提示信息返回輸入驗(yàn)證身份信息與新密碼 圖
28、5-6密碼修改流程圖密碼修改JSP頁(yè)面,用戶選擇密碼修改連接進(jìn)入密碼修改JSP頁(yè)面16 圖5-7所示圖5-7 修改密碼界面5.2.2管理員模塊管理模塊主要實(shí)現(xiàn)了管理學(xué)生信息,課程信息以及對(duì)學(xué)生選課情況進(jìn)行統(tǒng)計(jì)輸出的功能。在此模塊中使用了一個(gè)框架17頁(yè)面manager.jsp,其代碼如下:其中topFrame部分用于顯示管理模塊的主菜單頁(yè)面top.jsp,頁(yè)面運(yùn)行結(jié)果如下圖5-8所示:圖5-8管理模塊的主菜單(1)學(xué)生管理流程如下圖5-9所示: 學(xué)生管理增加新學(xué)生設(shè)置為已畢業(yè)輸入新學(xué)生信息顯示出未畢業(yè)學(xué)生寫入數(shù)據(jù)庫(kù)設(shè)置為畢業(yè)更新數(shù)據(jù)庫(kù)圖5-9 學(xué)生管理流程圖 在top.jsp頁(yè)面中單擊“學(xué)生管理
29、”超鏈接,將進(jìn)入dis_student.jsp頁(yè)面18,其中顯示了所有的學(xué)生信息。如下圖5-10所示。圖5-10 學(xué)生信息頁(yè)面在dis_student.jsp頁(yè)面中單擊“新增”超鏈接,將進(jìn)入addstudent.jsp頁(yè)面,如下圖5-11所示圖5-11 增加學(xué)生頁(yè)面主要代碼:tryResultSet rt=stmt.executeQuery(select * from student_infor where ID=+ID+);if(rt.next()% alert(數(shù)據(jù)庫(kù)庫(kù)中已有該學(xué)生信息,請(qǐng)查詢后再添加!); location.assign(dis_student.jsp); locatio
30、n.assign(dis_student.jsp); alert(相同時(shí)間里此教室已經(jīng)有課程安排了!); location.assign(addcourse.jsp); alert(插入課程信息成功!); location.assign(dis_course.jsp); (3)退出系統(tǒng)退出系統(tǒng)是在exit.jsp頁(yè)面中完成,在該頁(yè)面中只需將當(dāng)前的用戶會(huì)話銷毀,并跳出框架返回到項(xiàng)目的首頁(yè)即可。5.2.3 學(xué)生模塊學(xué)生模塊中的大部分功能都是由StuUserAction類來完成的,StuUserAction繼承了DispatchAction類,是一個(gè)Struts的控制器。在StuUserAction
31、類中編寫insert()方法,用于向數(shù)據(jù)庫(kù)插入學(xué)生的基本信息;編寫welcome()方法此方法將根據(jù)學(xué)生編號(hào)查詢出學(xué)生的基本信息,然后返回到學(xué)生模塊的首頁(yè)student.jsp頁(yè)面;編寫exit()方法,該方法將對(duì)于退出系統(tǒng)的請(qǐng)求,在該方法中首先將用戶會(huì)話對(duì)象銷毀,然后返回項(xiàng)目首頁(yè);編寫selected()方法,用于查詢學(xué)生已經(jīng)選過的課程;編寫select()方法,用于查詢學(xué)生可選的所有課程;編寫selctting()方法,用于執(zhí)行學(xué)生選課操作,將學(xué)生標(biāo)號(hào)與所選的課程編號(hào)關(guān)聯(lián)起來;編寫courseInfo()方法,用于查詢課程的詳細(xì)信息。學(xué)生主頁(yè)面如下圖5-15所示:圖5-15 學(xué)生登錄主頁(yè)面
32、(1)學(xué)生基本信息頁(yè)面如下圖5-16所示: 圖5-16個(gè)人信息頁(yè)面(2)學(xué)生選課頁(yè)面在學(xué)生模塊頁(yè)面中單擊“選課”超鏈接,程序?qū)⒄{(diào)用學(xué)生模塊控制器類StuUserAction中的select方法將此學(xué)生可以選擇的所有課程查詢出來,然后顯示在select.jsp頁(yè)面21中,其運(yùn)行效果如下圖5-17所示:圖5-17 選課頁(yè)面主要代碼:try . String sql=select * from select_course where ID=+ID+ and CID=+CID+;/檢查是否選過該課程 ResultSet rs=stmt.executeQuery(sql); String sql3=se
33、lect * from course where CID=+CID+ and teacher=+teacher+ and spare0;/列出還有剩余學(xué)生的課程 ResultSet rst=st.executeQuery(sql3);if(!rs.next()&rst.next() String sql1=insert into select_course values(+ID+,+CID+,+teacher+);stmt.executeUpdate(sql1);String sql2=update course set spare=spare-1 where CID=+CID+ and te
34、acher=+teacher+;stmt.executeUpdate(sql2);% alert(恭喜您,選課成功!); location.assign(select_course.jsp); alert(你已經(jīng)選過此課,或者此課沒有空余名額,請(qǐng)查詢后再選!); location.assign(select_course.jsp); alert(恭喜您,退課成功!); location.assign(display.jsp); alert(舊密碼輸入錯(cuò)誤,請(qǐng)重新輸入.);window.history.back();結(jié)束語(yǔ)本文主要探討了基于J2EE的網(wǎng)絡(luò)選課系統(tǒng)的開發(fā)。并且全面分析、設(shè)計(jì)、實(shí)施一
35、套符合高校要求的選課系統(tǒng)。在設(shè)計(jì)過程中,采用了MVC模式下的Struts2框架進(jìn)行功能實(shí)現(xiàn)。在表示層中以Web頁(yè)面作為主要客戶端。采用了MY SQL數(shù)據(jù)庫(kù)開發(fā)設(shè)計(jì)系統(tǒng)在邏輯上分成三層:表示層、業(yè)務(wù)層和數(shù)據(jù)層。其中表示層用來表示信息和收集數(shù)據(jù)。它將系統(tǒng)的開發(fā)代碼和用戶接口內(nèi)容分離,其結(jié)構(gòu)更模塊化;業(yè)務(wù)層用于實(shí)現(xiàn)應(yīng)用程序中的商務(wù)邏輯,將商務(wù)邏輯用JAVA語(yǔ)言開發(fā)成COM+組件,程序代碼更安全,移植更方便,執(zhí)行效率也更高;數(shù)據(jù)層包括數(shù)據(jù)的定義、維護(hù)、訪問和更新,以及管理并響應(yīng)業(yè)務(wù)服務(wù)的數(shù)據(jù)請(qǐng)求等功能。由于框架本身的優(yōu)勢(shì),使得該系統(tǒng)易于維護(hù),可擴(kuò)展性強(qiáng)。容器采用Apache Tomcat,解決了線程問題,使得可以在同一時(shí)間容納多個(gè)用戶。該系統(tǒng)的應(yīng)將為學(xué)校管理部門提供一個(gè)全新的工作環(huán)境,為促進(jìn)學(xué)校教育教學(xué)管理的科學(xué)化、規(guī)范化、信息化提供了有力的支持,提升了學(xué)校教學(xué)管理信息化的水平,從而使該系統(tǒng)成為學(xué)校日常管理工作中離不開的關(guān)鍵應(yīng)用,同時(shí)為日后的軟件維護(hù)提供了良好和完備的接口。然而,系統(tǒng)仍然存在很大的改進(jìn)空間,可以通過進(jìn)一步的設(shè)計(jì)提高性能和實(shí)用性。由于條件限制,并非采取部署到專業(yè)的服務(wù)器上,所以系統(tǒng)不夠穩(wěn)定。在實(shí)際應(yīng)用中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆廣東省深圳市羅湖區(qū)物理高一第一學(xué)期期中考試模擬試題含解析
- 安徽省淮南市第一中學(xué)創(chuàng)新班2025屆物理高一上期中綜合測(cè)試模擬試題含解析
- 四川省廣元市蒼溪中學(xué)2025屆物理高三第一學(xué)期期末質(zhì)量檢測(cè)模擬試題含解析
- 2025屆江蘇省贛榆縣一中高三物理第一學(xué)期期末達(dá)標(biāo)測(cè)試試題含解析
- 2025屆江蘇省無錫市天一中學(xué)物理高一第一學(xué)期期末監(jiān)測(cè)試題含解析
- 2025屆湖南省瀏陽(yáng)市第二中學(xué)、五中、六中三校物理高二第一學(xué)期期中檢測(cè)試題含解析
- 四川省閬中中學(xué)新區(qū)2025屆物理高三上期末統(tǒng)考模擬試題含解析
- 2025屆云南省昭通市綏江縣一中高一物理第一學(xué)期期中經(jīng)典模擬試題含解析
- 2025屆安徽省阜陽(yáng)市潁州區(qū)阜陽(yáng)三中物理高三第一學(xué)期期中復(fù)習(xí)檢測(cè)模擬試題含解析
- 安徽定遠(yuǎn)育才實(shí)驗(yàn)學(xué)校2025屆物理高三第一學(xué)期期末監(jiān)測(cè)試題含解析
- 六年級(jí)主題班隊(duì)會(huì)記錄表(6個(gè)表)
- 乳鼠腎細(xì)胞的原代培養(yǎng)盛心磊
- 青島東北亞大宗商品交易中心可行性研究報(bào)告
- 八年級(jí)科學(xué)上冊(cè) 《生命活動(dòng)的調(diào)節(jié)》同步練習(xí)1 浙教版
- 硫酸儲(chǔ)罐標(biāo)準(zhǔn)
- 2023年6月四級(jí)聽力第一套真題及聽力原文
- GB/T 40016-2021基礎(chǔ)零部件通用元數(shù)據(jù)
- 統(tǒng)編小學(xué)語(yǔ)文五年級(jí)上冊(cè)第七單元解讀
- 搪塑成型工藝
- 體育概論全部課件
- 《整式的加減》第2課時(shí)示范課教學(xué)設(shè)計(jì)【數(shù)學(xué)七年級(jí)上冊(cè)北師大】
評(píng)論
0/150
提交評(píng)論