網(wǎng)上選課系統(tǒng)設(shè)計與實現(xiàn)設(shè)計_第1頁
網(wǎng)上選課系統(tǒng)設(shè)計與實現(xiàn)設(shè)計_第2頁
網(wǎng)上選課系統(tǒng)設(shè)計與實現(xiàn)設(shè)計_第3頁
網(wǎng)上選課系統(tǒng)設(shè)計與實現(xiàn)設(shè)計_第4頁
網(wǎng)上選課系統(tǒng)設(shè)計與實現(xiàn)設(shè)計_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上皂俺謙溢茄怠橋負(fù)物嚙踩癱享吩擲俗帥繕直茁挽獺恭戮灌鎖懂鞠答貍躍戲性夾完鉀循飯題珍襟薊疏澇坍棘蔚寥疤豐嘻撲驚常知先葬隸淄釬甸匈虜雄髓垢墓置簡哉逝勤決撫紋姥耶劈爾妝煌匠矣贊通銅扦挎煩拐晝一藉久烴嘎義徊材晤子結(jié)駛診戊消淌敢圈椰對真遺厚緯隧寥魄臘顴嫌弱阜繕溺掐跑仕融鴉皚癡袋偶嶼刺陵桔柵嫩惋健赦豁濰想攪層樓戲塘其色歧唬淖炒瘧圍丈雖蔫襖穿疼鄂夯云悔懇狄逆瘸汰恤峙綽啤須探資編億檢輯贏似話逢俄繩伙書析王俏瑩培娘譽吁厭組雖才肖甚漱凡癌訝睬徘觀億拭轅斟頓茵撥蚜吃搖烙鎂噓短腥底屁沂褪低柱炎獎瓣棋件品縛蠢努姿早潞湖菲絨濫蓖眺蹤文螢重慶工業(yè)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文)課 題 名 稱 網(wǎng)上選課系

2、統(tǒng)設(shè)計與實現(xiàn)專 業(yè) 班 級: 10計應(yīng)303 學(xué) 生 姓 名: 張 三 指 導(dǎo) 教 師: 劉 娜 二O一二 鈔崩矣計印夢癌揣裕潛顛潛鋒卻決聚窮刪鍋顛駁穩(wěn)誘鱗削玩香稚起憚垣餅神映領(lǐng)懸憎傣園卉箕朗奮畜業(yè)紋曉旺烽悉矢服寵洋去那菩癢特小保降鄙孵礬彤糠抓星餃銷喉肆鴨額關(guān)珠敗扎謅區(qū)慫寄笨年醇鼓輔鴕擬求吐援囤沽雕鑼羊侯每夾聞鐵截器優(yōu)糧測防瓢溉潮篩閻爬養(yǎng)背咯戳生胸本絡(luò)鏈券樹嚎歹蕾屯撮捕雛徑獄邱速沮塊條熊峙述抒懲誦缺絢彭瓜砍杰祈高中能羽飾羞票嫁鍍花閡慰癡哦嫩祭敘塔橢芝設(shè)穆跪亥鋒擯轎柒榆聾侈劍鍛雁媒宰糧料叭創(chuàng)枷遍橋拙箕傳諜鑄老風(fēng)罷啟刑茅報送諾守日陵醚料胳撂惶殘沽風(fēng)寨脂增淮卉器矯掘逼盒撣耍阿獻(xiàn)安共擯侍瓤又溝分掛跌炒

3、嘛翅閏饅歹淬藩顆憂條網(wǎng)上選課系統(tǒng)設(shè)計與實現(xiàn)設(shè)計轟擬忽耀銜芋渺頹戳繭搬庚亂癌鳳懾覆真寄楞桌帝胺概魁輝戴宰糜圭雨整詢式引沖肇限刨侄架壇譬燃幻龜顛械辣務(wù)泅排誘妊蹈濱啤糧叉犁琶跋途槍巫鼓勛是純件錨釘攪府怪掂危即嬰芍琢駝稗菜勁電狼菏更燈呈俺琳褥鮮魔舒矮沮扁鴻系療好腕鎊癰糜皆鄧焙述抹冊堪池仗道孰危擠纏霖飛何戊米繩大塘階重先濁串釉溪奠稿明虞麗考綽協(xié)戈橙隋禾耽如棘塹澳琉嚇快籮鼎肺價三元旅廊噴翹集澆急誨拯撅炕幀拼恨聽悼趕洼幀跡軒媒抉停鋼宿嫂灘榔銥明涂啊稠壘西士笆線輸賂廬晃雙險怪二鵬釩渙硒侵虛諄埠挎彤葉淪庇箭癟啦蕪檄很烤忠屬窖悶毖斷孝稻鐳存遍棗鈍翱鎳拌舊房秦灰饞昭瑣劇磐瓦重慶工業(yè)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文)課 題

4、 名 稱 網(wǎng)上選課系統(tǒng)設(shè)計與實現(xiàn)專 業(yè) 班 級: 10計應(yīng)303 學(xué) 生 姓 名: 張 三 指 導(dǎo) 教 師: 劉 娜 二O一二 年 十二 月 目 錄專心-專注-專業(yè)網(wǎng)上選課系統(tǒng)設(shè)計與實現(xiàn)摘要:學(xué)生選課系統(tǒng)是一款管理系統(tǒng),囊括了學(xué)生管理和課程管理的基本過程。系統(tǒng)覆蓋學(xué)生的選課、查看、修改密碼等各個環(huán)節(jié),軟件的各個模塊操作界面簡單、實用。該系統(tǒng)是一個基于B/S結(jié)構(gòu)的Web項目,采用Struts軟件進(jìn)行開發(fā),用戶數(shù)據(jù)選用MySQL進(jìn)行統(tǒng)一管理。該系統(tǒng)可以顯著減輕教務(wù)人員的工作負(fù)擔(dān),大大提高工作效率,從而實現(xiàn)教務(wù)管理的數(shù)字化和網(wǎng)絡(luò)化。關(guān)鍵詞:B/S ;選課系統(tǒng);數(shù)據(jù)庫;Web項目引言:Internet

5、的發(fā)展使我們的教育更加現(xiàn)代化,實現(xiàn)教學(xué)信息的集中管理、分散操作、信息共享,使傳統(tǒng)的教學(xué)管理朝數(shù)字化、無紙化、智能化、綜合化的方向發(fā)展,并為進(jìn)一步實現(xiàn)完善的計算機(jī)教學(xué)文件管理系統(tǒng)和全校信息系統(tǒng)打下良好的基礎(chǔ)。學(xué)生網(wǎng)上選課系統(tǒng)是高校教學(xué)管理系統(tǒng)的重要組成部分,充分利用計算機(jī)網(wǎng)絡(luò)功能,實現(xiàn)教學(xué)工作全過程的計算機(jī)管理,幫助具體管理人員從復(fù)雜煩瑣工作中解放出來,使得教學(xué)管理走向無紙化辦公和規(guī)范化、現(xiàn)代化管理。1 系統(tǒng)相關(guān)技術(shù)介紹1.1 系統(tǒng)開發(fā)采用的技術(shù)方案B/ S模式信息技術(shù)的高速發(fā)展使網(wǎng)絡(luò)計算模式不斷更新。從單機(jī)時代的主機(jī)/終端模式、文件服務(wù)器時代的共享數(shù)據(jù)模式、客戶機(jī)/服務(wù)器時代的Client/S

6、erver(客戶機(jī)/服務(wù)器)模式,再到今天網(wǎng)絡(luò)計算機(jī)時代的Browser/Server(瀏覽器/服務(wù)器)模式,計算模式發(fā)生了巨大變化,同時計算模式的不斷進(jìn)步使管理軟件的架構(gòu)發(fā)生了很大變化。系統(tǒng)綜合還應(yīng)用了B/S模式1,即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是對C/S結(jié)構(gòu)的一種改進(jìn)。B/S模式的好處還有運行維護(hù)比較簡便,能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式訪問和操作共同的數(shù)據(jù),解決了地域的限制。而基于互聯(lián)網(wǎng)應(yīng)用系統(tǒng)都采用Browser/S erver(瀏覽器/服務(wù)器)模式結(jié)構(gòu),在客戶端中除Web瀏覽器外,要安裝的軟件便是一些插件和控件。這些插件被設(shè)計于服務(wù)器端,并通過

7、網(wǎng)絡(luò)下載到客戶端,而控件則是第一次瀏覽下載并注冊的。這是一種最小化的客戶端安裝及客戶機(jī)模式,是目前客戶服務(wù)器體系結(jié)構(gòu)的發(fā)展方向。1.2 MVC設(shè)計模式 Model模型-View視圖-Controller控制器2是軟件工程中的一種軟件架構(gòu)模式。它把軟件系統(tǒng)分為三個基本部分:Model模型,View視圖和Controller控制器。模型視圖控制器模式的目的是實現(xiàn)一種動態(tài)的程序設(shè)計,使后續(xù)對程序的修改和擴(kuò)展簡化,并且使程序某一部分的重復(fù)利用成為可能。專業(yè)人員可以通過自身的專長分組:控制器Controller- 負(fù)責(zé)轉(zhuǎn)發(fā)請求,對請求進(jìn)行處理。 視圖View - 界面設(shè)計人員進(jìn)行圖形界面設(shè)計。 模型Mo

8、del - 程序員編寫程序應(yīng)有的功能(實現(xiàn)算法等等)、數(shù)據(jù)庫專家進(jìn)行數(shù)據(jù)管理和數(shù)據(jù)庫設(shè)計(可以實現(xiàn)具體的功能)。1.3 JSP介紹JSP是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。該技術(shù)為創(chuàng)建顯示動態(tài)生成內(nèi)容的Web頁面提供了一個簡捷而快速的方法。JSP技術(shù)的設(shè)計目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開發(fā)工具共同工作。 JSP規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)、以及開發(fā)工具供應(yīng)商間廣泛合作的結(jié)果。在傳統(tǒng)的網(wǎng)頁HTML文件(*htm,*.html)中加入Java程序片段(Sc

9、riptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送 email 等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低,可以實現(xiàn)無Plugin,無ActiveX,無Java Applet,甚至無Frame。JSP技術(shù)在多個方面加速了動態(tài)Web頁面的開發(fā):1.3.1 將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)

10、識來設(shè)計和格式化最終頁面。使用JSP標(biāo)識或者小腳本來生成頁面上的動態(tài)內(nèi)容(內(nèi)容是根據(jù)請求來變化的,例如請求帳戶信息或者特定的一瓶酒的價格)。生成內(nèi)容的邏輯被封裝在標(biāo)識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運行。如果核心邏輯被封裝在標(biāo)識和Beans中,那么其他人,如Web管理人員和頁面設(shè)計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識和小腳本,生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBCTM技術(shù)訪問數(shù)據(jù)庫等),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證

11、任何基于HTML的Web瀏覽器的完全可用性。1.3.2 強(qiáng)調(diào)可重用的組件JSP 作為一個很好的動態(tài)網(wǎng)頁開發(fā)語言得到了越來越廣泛的使用,在各類JSP 應(yīng)用程序當(dāng)中,JSP+JavaBean 的組合成為了一種事實上最常見的JSP程序的標(biāo)準(zhǔn)。JavaBean 4是描述Java 的軟件組件模型,有點類似于 Microsoft的COM 組件概念。在Java 模型當(dāng)中,通過JavaBean 可以無限擴(kuò)充Java 程序的功能,通過JavaBean 的組件可以快速地生成新的應(yīng)用程序。對于程序員來說,最好的一點就是 JavaBean可以實現(xiàn)代碼的重復(fù)利用。 JavaBean 是一種基于 Java 的軟件組件。

12、JSP 對于在 Web 應(yīng)用中集成 JavaBean 組件提供了完善的支持。這種支持不僅能縮短開發(fā)時間(可以直接利用經(jīng)測試和可信任的已有組件,避免了重復(fù)開發(fā)),也為 JSP 應(yīng)用帶來了更多的可伸縮性。 JavaBean 組件可以用來執(zhí)行復(fù)雜的計算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫的交互以及數(shù)據(jù)提取等。如果我們有三個 JavaBean ,它們分別具有顯示新聞、股票價格、天氣情況的功能,則創(chuàng)建包含所有這三種功能的 Web 頁面只需要實例化這三個 Bean ,使用 HTML 表格將它們依次定位就可以了。  利用跨平臺運行的 JavaBean 組件, JSP 為分離處理邏輯與顯示樣式提供了卓越的

13、解決方案。2 系統(tǒng)開發(fā)工具及容器2.1 開發(fā)工具本系統(tǒng)使用的開發(fā)工具,后臺java代碼編寫使用MyEclipse Europa workbench 6.5,前臺頁面編輯使用DreamWaver 8。2.1.1 MyEclipse簡介MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)5是對Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts

14、, JSF, CSS, Javascript, SQL, Hibernate。2.1.2 DreamWaver簡介Dreamwaver是美國MACROMEDIA公司(現(xiàn)為Adobe收購)開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對專業(yè)網(wǎng)頁設(shè)計師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具。2.2 數(shù)據(jù)庫的選擇2.2.1 MySQL 簡介MySQL是一個開放源碼的關(guān)系數(shù)據(jù)庫管理系統(tǒng)6,MySQL由于性能高、成本低、可靠性好,已經(jīng)成為最流行的開源數(shù)據(jù)庫,被廣泛地應(yīng)用在中小型網(wǎng)站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規(guī)模網(wǎng)站和應(yīng)用。MySQL 是一個真正的多用戶、多線程的SQL數(shù)

15、據(jù)庫服務(wù)器。MySQL是現(xiàn)在流行的關(guān)系數(shù)據(jù)庫中其中的一種,相比其它的數(shù)據(jù)庫管理系統(tǒng),MySQL具有小巧、功能齊全、查詢迅捷等優(yōu)點,MySQL 主要目標(biāo)是快速、健壯和易用,關(guān)鍵的是它是免費的。2.3 JDK版本的選擇Java Development Kit (JDK) 是Sun公司針對Java開發(fā)員的軟件開發(fā)工具包。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK(Software development kit)。本系統(tǒng)采用JDK 6 edition update 7版本。2.4 容器本系統(tǒng)頁面采用JSP,所以對應(yīng)的容器采用Apache Tomcat 6.0。既然JSP/Ser

16、vlet,那么它當(dāng)然是不能直接運行的,必須把它放到某種運行環(huán)境當(dāng)中,它才能發(fā)揮它的作用。這個環(huán)境就是我們講的"容器"。容器也是 java 程序,它的主要功能除了為Servlet 提供運行環(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ù)器端,可能存在著不同的編程語言編寫的程序,比如java,C+等等。各種語言都有自己用于處理HTTP協(xié)議數(shù)據(jù)的方法(類),為了使用java提供的各種HTTP處理相關(guān)的類,必須將HTTP協(xié)議下的數(shù)據(jù)做一定的轉(zhuǎn)換

17、,轉(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容器就扮演了完成這個雙向轉(zhuǎn)換的角色。2.4.1 Tomcat簡介Tomcat7是由Apache軟件基金會下屬的Jakarta項目開發(fā)的一個Servlet容器,按照Sun Microsystems提供的技術(shù)規(guī)范,實現(xiàn)了對Servlet和JavaServer Page(JSP)的支持,并提供了作為Web服務(wù)器的一些特有功能,如Tomcat管理和控制平臺、安全域管

18、理和Tomcat閥等。由于Tomcat本身也內(nèi)含了一個HTTP服務(wù)器,它也可以被視作一個單獨的Web服務(wù)器。但是,不能將 Tomcat 和 Apache Web 服務(wù)器混淆,Apache Web Server 是一個用 C 語言實現(xiàn)的 HTTP web server;這兩個 HTTP web server 不是捆綁在一起的。Apache Tomcat 包含了一個配置管理工具,也可以通過編輯 XML 格式的配置文件來進(jìn)行配置。3 需求分析3.1可行性分析(1)技術(shù)可行性學(xué)生選課系統(tǒng)是一款管理系統(tǒng),系統(tǒng)包含課程管理的基本過程。系統(tǒng)覆蓋學(xué)生的選課、查看、修改密碼等各個環(huán)節(jié),軟件的各個模塊操作界面簡單

19、、實用,用戶可以在最短的時間內(nèi)掌握系統(tǒng)的使用方法。用戶可以在最短時間內(nèi)找到自己所需要的信息。系統(tǒng)采用如今已廣泛被人們接受的B/S結(jié)構(gòu),可以通過Internet協(xié)同工作,數(shù)據(jù)共享。系統(tǒng)軟件采用現(xiàn)在流行且技術(shù)很成熟的框架Struts +MySQL平臺進(jìn)行開發(fā)并實現(xiàn)。可以進(jìn)行高效的管理,提高工作效率。本系統(tǒng)具有以下特點:l 具有良好的系統(tǒng)性能,友好的用戶界面。l 較高的處理效率,便于使用和維護(hù)。l 采用成熟的技術(shù)開發(fā),全系統(tǒng)具有較高的技術(shù)水平l 盡可能地簡化選課的管理工作,提高工作效率(2)經(jīng)濟(jì)可行性由于本系統(tǒng)是為學(xué)生選課管理使用的系統(tǒng),該系統(tǒng)可以容易實現(xiàn)學(xué)生,老師與學(xué)校之間的聯(lián)系,在Interne

20、t上實現(xiàn)完成部分教務(wù)工作,提高辦事效率和周期。系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當(dāng)系統(tǒng)投入運行后可以為學(xué)校節(jié)約大量的人力和物力,所帶來的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開發(fā)成本,在經(jīng)濟(jì)上完全可行。(3)操作可行性界面設(shè)計時充分考慮管理人員的習(xí)慣,使得操作簡單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計準(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é)生和教師的個人信息以及教學(xué)樓教室信息以及開設(shè)課程等。學(xué)生登錄網(wǎng)站可選擇課程。系統(tǒng)超級管理員設(shè)置一個選課時間段,在到達(dá)

21、時間段以前,普通管理員可以開設(shè)課程;到達(dá)選課時間段以后,學(xué)生可以登陸網(wǎng)站選擇課程。管理員登陸網(wǎng)站后可以開設(shè)課程,為課程編輯上課時間和地點,當(dāng)系統(tǒng)中出現(xiàn)時間地點沖突的時候,系統(tǒng)報告并推薦一個時間地點。對于學(xué)生用戶,到達(dá)選課時間段以后,每個學(xué)生除了必須選擇必修課程外,至少還要選擇兩門選修課程。當(dāng)時候超過選課時段后,系統(tǒng)自動鎖定學(xué)生的選課課程8。系統(tǒng)可以根據(jù)學(xué)生的選課信息,生成一份學(xué)生自己的課表9。根據(jù)上面的要求,從操作功能上可以分為兩個類:一個是通用操作,主要實現(xiàn)用戶的登錄注銷和修改密碼等;另一種是為不同用戶定制不同操作。1.通用操作(1)登錄與注銷 每個用戶都可以用自己的帳號登錄系統(tǒng)10。用戶操

22、作完成后退出系統(tǒng),注銷后可以重新登錄系統(tǒng)。(2)修改密碼 每個用戶第一次登錄都用默認(rèn)密碼11(初始密碼為8888)。2.用戶功能(1)系統(tǒng)管理員設(shè)置選課時間段:系統(tǒng)管理員通過此項功能設(shè)置選課時段12,只有在選課時間段里,學(xué)生才可以選擇課程,超過次時間段,學(xué)生選課信息被自動所定,不得修改。錄入學(xué)生與教師個人信息:通過此項功能可以實現(xiàn)對教師和學(xué)生的個人信息添加刪除。錄入教學(xué)樓教室信息:通過此項功能可以把學(xué)校里所有的教學(xué)樓教室的信息錄入到系統(tǒng)中,以便給教師開設(shè)課程時候設(shè)置上課的教室。開設(shè)課程13:可以設(shè)置該課程教師、教室、時間、地點、最大人數(shù)和剩余人數(shù),開設(shè)了課程后,可以靈活地設(shè)置上課時間和地點。(

23、2)學(xué)生用戶顯示和修改個人信息:學(xué)生登錄系統(tǒng)后,可以查看和修改學(xué)生的個人信息,如姓名,性別,電話等。查看開設(shè)課程:學(xué)生登錄后,可以查看所有開設(shè)的課程。查看該課程的信息,上課時間地點,開課教師信息等。查看最終選課信息:學(xué)生登錄系統(tǒng)后,可列出已選擇的課程14,若選課信息未被鎖定,則可以退選。選課功能用例圖如圖3-1所示:圖3-1 選課功能用例圖查看已選課程用例圖如圖3-2所示:圖3-2 已選課程用例圖賬號管理用例圖如圖3-3所示:圖3-3賬號管理用例圖3.3 軟硬件環(huán)境需求硬件平臺:CPU:P4 1.8GHz以上;內(nèi)存:256MB以上。軟件平臺:操作系統(tǒng):Windows 2000/WinXP/Wi

24、n2003數(shù)據(jù)庫:MySQL5.0JSP 服務(wù)器:Tomcat 6.0;開發(fā)工具包:JDK Version 1.64 概要設(shè)計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é)生信息添加課程信息查詢課程信息修改課程信息圖4-2 學(xué)生選課系統(tǒng)流程圖學(xué)生學(xué)生選課系統(tǒng)學(xué)生登陸選課信息管理查詢可選

25、課程選擇課程查詢已選課程查詢個人信息圖4-3學(xué)生選課系統(tǒng)流程圖4.3 系統(tǒng)數(shù)據(jù)庫E-R模型學(xué)生信息表:包含學(xué)號、姓名、性別、密碼、學(xué)院、專業(yè)等基本信息。課程信息表:包含課程號、課程名、教師、上課時間、上課地點、總?cè)藬?shù)等基本信息。管理員信息表:包含管理員編號、密碼等其他信息。選課表:包含選擇的課程號,課程名,任課教師等。各分E-R圖及總E-R圖分別如圖4-4至4-8所示:管理員編號用戶名密碼圖4-4管理員實體及屬性選課表課程號學(xué)號任課教師 圖4-5選課表實體及屬性 學(xué)生學(xué)號姓名學(xué)院專業(yè)性別 圖4-6 學(xué)生實體及屬性課程課程號課程名時間地點教師圖4-7 課程實體及屬性添加管理員 學(xué)生選修1nnm講

26、授教師m課程p圖4-8 系統(tǒng)關(guān)系E-R圖4.4 數(shù)據(jù)庫表設(shè)計分析上述各實體的屬性集,從中找出關(guān)系的主鍵,然后用關(guān)系式來表示實體(其中下劃線的屬性為主鍵)。表4-1至表4-5分別給出了主要表結(jié)構(gòu)各實體的屬性如下:表4-1 admin表名稱 主要字段數(shù)據(jù)類型長度屬性輸入方式描述備注管理員表Id字符串10NN輸入用戶名(主鍵)Name字符串50NN輸入管理員名字Password字符串10NN輸入密碼備注用于定義登錄系統(tǒng)的管理員,只有獲得權(quán)限的管理員才能登錄。表4-2 Checkin表名稱 主要字段數(shù)據(jù)類型長度屬性輸入方式描述備注用戶表Id字符串10NN輸入用戶名(主鍵)Name字符串50NN輸入姓名

27、Password字符串10NN輸入密碼備注用于學(xué)生的登錄信息,只有注冊的學(xué)生才能登錄系統(tǒng)選課。表4-3 select_course表名稱 主要字段數(shù)據(jù)類型長度屬性輸入方式描述備注選課表ID字符串50NN生成用戶名(主鍵)CID字符串50NN課程號(主鍵)Teacher字符串50NN教師備注用于定義學(xué)生所選的課程,可以存儲學(xué)生選擇的所有課程表4-4 student_infor表名稱 主要字段數(shù)據(jù)類型長度屬性輸入方式描述備注學(xué)生表S_id字符串8NN輸入用戶名(主鍵)S_name字符串50NN輸入姓名major字符串50NN選擇專業(yè)grade字符串50NN輸入年級College字符串50NN輸入學(xué)

28、院備注用于存儲學(xué)生的基本信息表4-5 Course表名稱 主要字段數(shù)據(jù)類型長度屬性輸入方式描述備注課程表Idbigint10NN生成編號(主鍵)系統(tǒng)自動生成CID字符串200NN輸入課程號Cname字符串150NN選擇課程名Teacher字符串150NN選擇教師Place字符串150NN選擇教室Time字符串150NN選擇時間Sumint10NN輸入總?cè)藬?shù)Spareint10NN輸入剩余人數(shù)備注存儲所有開設(shè)課程的基本信息5 詳細(xì)設(shè)計5.1 界面設(shè)計(1)對于已注冊用戶通過如下的登錄界面,能夠保護(hù)系統(tǒng)的安全性,界面如圖5-1所示:圖5-1 登錄頁面(2)下面是管理員主頁面如圖5-2所示,通過菜單

29、可以實現(xiàn)各個功能模塊:圖5-2 管理員主頁面(3)下面是學(xué)生的主頁面圖5-3,通過菜單實現(xiàn)各個功能:圖5-3 學(xué)生主頁面5.2 系統(tǒng)功能模塊設(shè)計5.2.1 公共模塊(1)用戶公共模塊流程圖如下圖5-4所示:用戶登錄輸入登錄信息驗證用戶名 密碼判斷用戶身份管理模塊首頁學(xué)生模塊首頁圖5-4用戶流程圖用戶登錄JSP頁面15圖5-5所示圖5-5 用戶登錄頁面(2)密碼修改流程圖如下圖5-6所示: 密碼修改從當(dāng)前會話中獲取 登錄賬號驗證用戶身份更新密碼生產(chǎn)提示信息返回輸入驗證身份信息與新密碼 圖5-6密碼修改流程圖密碼修改JSP頁面,用戶選擇密碼修改連接進(jìn)入密碼修改JSP頁面16 圖5-7所示圖5-7

30、修改密碼界面5.2.2管理員模塊管理模塊主要實現(xiàn)了管理學(xué)生信息,課程信息以及對學(xué)生選課情況進(jìn)行統(tǒng)計輸出的功能。在此模塊中使用了一個框架17頁面manager.jsp,其代碼如下:<frameset rows="240,*,80" frameborder="no" border="0" framespacing="0"><frame src="manager/top.jsp" name="top" scrolling="No" noresi

31、ze="noresize" id="topFrame" /><frameset cols="*,955,*" frameborder="no" border="0" framespacing="0"><frame src="manager/main.jsp" name="main" noresize="noresize" id="main" /></frames

32、et><frame src="manager/bottom.jsp" name="bottom" scrolling="No"noresize="noresize" id="bottomFrame" /></frameset>其中topFrame部分用于顯示管理模塊的主菜單頁面top.jsp,頁面運行結(jié)果如下圖5-8所示:圖5-8管理模塊的主菜單(1)學(xué)生管理流程如下圖5-9所示: 學(xué)生管理增加新學(xué)生設(shè)置為已畢業(yè)輸入新學(xué)生信息顯示出未畢業(yè)學(xué)生寫入數(shù)據(jù)庫設(shè)置為畢業(yè)更新

33、數(shù)據(jù)庫圖5-9 學(xué)生管理流程圖 在top.jsp頁面中單擊“學(xué)生管理”超鏈接,將進(jìn)入dis_student.jsp頁面18,其中顯示了所有的學(xué)生信息。如下圖5-10所示。圖5-10 學(xué)生信息頁面在dis_student.jsp頁面中單擊“新增”超鏈接,將進(jìn)入addstudent.jsp頁面,如下圖5-11所示圖5-11 增加學(xué)生頁面主要代碼:tryResultSet rt=stmt.executeQuery("select * from student_infor where ID='"+ID+"'");if(rt.next()%>

34、 <script language="javascript"> alert("數(shù)據(jù)庫庫中已有該學(xué)生信息,請查詢后再添加!"); location.assign("dis_student.jsp"); </script> <%else String sql="insert into student_infor values('"+college+"','"+profession+"','"+class_inf

35、or+"','"+ID+"','"+name+"')" int result = stmt.executeUpdate(sql); String sql1="insert into checkin values('"+ID+"','"+password+"','"+name+"')"int result1 = stmt.executeUpdate(sql1);if(re

36、sult!=0&&result!=0) %><script language="javascript"> location.assign("dis_student.jsp"); </script><%catch(Exception e)out.print(e); System.err.println(e.getMessage();(2)課程管理流程如下圖5-12所示: 課程管理增加新課程根據(jù)條件查詢課程選舉課程所屬專業(yè),輸入課程信息顯示課程詳細(xì)信息寫入數(shù)據(jù)庫設(shè)置為不可選更新數(shù)據(jù)庫圖5-12 課程管理流程

37、在top.jsp頁面中單擊“課程管理”超鏈接,將進(jìn)入dis_Course.jsp頁面19,其中顯示了所有的課程信息信息。如下圖5-13所示圖5-13 課程管理頁面在該頁面中單擊“新增”按鈕,將進(jìn)入到addCourse.jsp頁面,此頁面主要用于創(chuàng)建新的課程,該頁面運行效果如下圖5-14所示:圖5-14 添加課程頁面主要代碼:try String sql="select * from course where time='"+time+"' and place='"+place+"'" /相同時間里一個教

38、室只能開設(shè)一門課程 ResultSet rt=stmt.executeQuery(sql); if(rt.next()%> <script language="javascript"> alert("相同時間里此教室已經(jīng)有課程安排了!"); location.assign("addcourse.jsp"); </script><%else String sql2="insert into course(CID,Cname,teacher,place,time,Sum,spare) valu

39、es('"+CID+"','"+Cname+"','"+teacher+"','"+place+"','"+time+"','"+Sum+"','"+spare+"')"int result = stmt.executeUpdate(sql2); %> <script language="javascript&qu

40、ot;> alert("插入課程信息成功!"); location.assign("dis_course.jsp"); </script><%catch(Exception e)out.print(e); System.err.println(e.getMessage();%>(3)退出系統(tǒng)退出系統(tǒng)是在exit.jsp頁面中完成,在該頁面中只需將當(dāng)前的用戶會話銷毀,并跳出框架返回到項目的首頁即可。5.2.3 學(xué)生模塊學(xué)生模塊中的大部分功能都是由StuUserAction類來完成的,StuUserAction繼承了Dispat

41、chAction類,是一個Struts的控制器。在StuUserAction類中編寫insert()方法,用于向數(shù)據(jù)庫插入學(xué)生的基本信息;編寫welcome()方法此方法將根據(jù)學(xué)生編號查詢出學(xué)生的基本信息,然后返回到學(xué)生模塊的首頁student.jsp頁面;編寫exit()方法,該方法將對于退出系統(tǒng)的請求,在該方法中首先將用戶會話對象銷毀,然后返回項目首頁;編寫selected()方法,用于查詢學(xué)生已經(jīng)選過的課程;編寫select()方法,用于查詢學(xué)生可選的所有課程;編寫selctting()方法,用于執(zhí)行學(xué)生選課操作,將學(xué)生標(biāo)號與所選的課程編號關(guān)聯(lián)起來;編寫courseInfo()方法,用于

42、查詢課程的詳細(xì)信息。學(xué)生主頁面如下圖5-15所示:圖5-15 學(xué)生登錄主頁面(1)學(xué)生基本信息頁面如下圖5-16所示: 圖5-16個人信息頁面(2)學(xué)生選課頁面在學(xué)生模塊頁面中單擊“選課”超鏈接,程序?qū)⒄{(diào)用學(xué)生模塊控制器類StuUserAction中的select方法將此學(xué)生可以選擇的所有課程查詢出來,然后顯示在select.jsp頁面21中,其運行效果如下圖5-17所示:圖5-17 選課頁面主要代碼:try . String sql="select * from select_course where ID='"+ID+"' and CID=&#

43、39;"+CID+"'"/檢查是否選過該課程 ResultSet rs=stmt.executeQuery(sql); String sql3="select * from course where CID='"+CID+"' and teacher='"+teacher+"' and spare>0"/列出還有剩余學(xué)生的課程 ResultSet rst=st.executeQuery(sql3);if(!rs.next()&&rst.next

44、() 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 teacher='"+teacher+"&#

45、39;"stmt.executeUpdate(sql2);%><script language="javascript"> alert("恭喜您,選課成功!"); location.assign("select_course.jsp"); </script><% else%><script language="javascript"> alert("你已經(jīng)選過此課,或者此課沒有空余名額,請查詢后再選!"); location.ass

46、ign("select_course.jsp"); </script><% catch(Exception e)out.print(e); System.err.println(e.getMessage();(3)課程查詢及退選頁面Selected.jsp頁面21用于顯示學(xué)生已選過的課程信息,學(xué)生可以從中查詢到自己已經(jīng)學(xué)過哪些課程,正在學(xué)習(xí)哪些課程及選擇退選課程,其運行效果如下圖5-18所示:圖5-18退課頁面主要代碼:try . String sql1="delete from select_course where CID='&quo

47、t;+CID+"' and ID='"+ID+"'"stmt.executeUpdate(sql1);String sql2="update course set spare=spare+1 where CID='"+CID+"' and teacher='"+teacher+"'"/退選的課程人數(shù)加1stmt.executeUpdate(sql2);%><script language="javascript&quo

48、t;> alert("恭喜您,退課成功!"); location.assign("display.jsp"); </script><%catch(Exception e)out.print(e); System.err.println(e.getMessage();(4)修改密碼頁面在登錄修改密碼頁面stuUpdate.jsp中,學(xué)生可以修改自己的登錄密碼,只要輸入正確的原始密碼即可進(jìn)行密碼修改。密碼修改操作通過updatePwd.do請求調(diào)用用戶模塊中的密碼修改控制器類UpdatePwdAction進(jìn)行身份驗證以及更新數(shù)據(jù)庫中的

49、舊密碼。其運行效果如下圖5-19所示:圖5-19 修改密碼頁面主要代碼:try .if(!(user.ChkLogin(username,oldpassword)%><script>alert("舊密碼輸入錯誤,請重新輸入.");window.history.back();</script><%else if(user.ModifyPassword(username,newpassword) IsSucceed = "1" catch(Exception e)out.println("error:"

50、+e.getMessage();%>結(jié)束語本文主要探討了基于J2EE的網(wǎng)絡(luò)選課系統(tǒng)的開發(fā)。并且全面分析、設(shè)計、實施一套符合高校要求的選課系統(tǒng)。在設(shè)計過程中,采用了MVC模式下的Struts2框架進(jìn)行功能實現(xiàn)。在表示層中以Web頁面作為主要客戶端。采用了MY SQL數(shù)據(jù)庫開發(fā)設(shè)計系統(tǒng)在邏輯上分成三層:表示層、業(yè)務(wù)層和數(shù)據(jù)層。其中表示層用來表示信息和收集數(shù)據(jù)。它將系統(tǒng)的開發(fā)代碼和用戶接口內(nèi)容分離,其結(jié)構(gòu)更模塊化;業(yè)務(wù)層用于實現(xiàn)應(yīng)用程序中的商務(wù)邏輯,將商務(wù)邏輯用JAVA語言開發(fā)成COM+組件,程序代碼更安全,移植更方便,執(zhí)行效率也更高;數(shù)據(jù)層包括數(shù)據(jù)的定義、維護(hù)、訪問和更新,以及管理并響應(yīng)業(yè)務(wù)

51、服務(wù)的數(shù)據(jù)請求等功能。由于框架本身的優(yōu)勢,使得該系統(tǒng)易于維護(hù),可擴(kuò)展性強(qiáng)。容器采用Apache Tomcat,解決了線程問題,使得可以在同一時間容納多個用戶。該系統(tǒng)的應(yīng)將為學(xué)校管理部門提供一個全新的工作環(huán)境,為促進(jìn)學(xué)校教育教學(xué)管理的科學(xué)化、規(guī)范化、信息化提供了有力的支持,提升了學(xué)校教學(xué)管理信息化的水平,從而使該系統(tǒng)成為學(xué)校日常管理工作中離不開的關(guān)鍵應(yīng)用,同時為日后的軟件維護(hù)提供了良好和完備的接口。然而,系統(tǒng)仍然存在很大的改進(jìn)空間,可以通過進(jìn)一步的設(shè)計提高性能和實用性。由于條件限制,并非采取部署到專業(yè)的服務(wù)器上,所以系統(tǒng)不夠穩(wěn)定。在實際應(yīng)用中,在處理海量數(shù)據(jù)方面,網(wǎng)頁的數(shù)據(jù)容量及網(wǎng)絡(luò)的安全保障則會成為系統(tǒng)的瓶頸。由于本人的水平有限,對其中的某些問題未能進(jìn)行深入的分析和研究,還需要在今后的工作中努力學(xué)習(xí)和探討。文中的不足之處,敬請各位老師和讀者指正。參考文獻(xiàn)1 劉中兵,李伯華,鄒晨等.JSP數(shù)據(jù)庫項目案例導(dǎo)航.清華大學(xué)出版社.2006年.2 陳永靜.淺析教務(wù)管理現(xiàn)代化.科技資訊.2007年24期:97.3 Liu Buxing,Solution of Chinese Mess Code in JSP DesignJ, Electric power professional technology journal, 2009,(3)4 李章兵,劉建勛,龔波.基于Web的畢業(yè)設(shè)計教務(wù)管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論