![網上選課系統(tǒng)設計與實現設計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/9cb1d949-1f6f-4ca7-82a2-99cbb6f57d39/9cb1d949-1f6f-4ca7-82a2-99cbb6f57d391.gif)
![網上選課系統(tǒng)設計與實現設計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/9cb1d949-1f6f-4ca7-82a2-99cbb6f57d39/9cb1d949-1f6f-4ca7-82a2-99cbb6f57d392.gif)
![網上選課系統(tǒng)設計與實現設計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/9cb1d949-1f6f-4ca7-82a2-99cbb6f57d39/9cb1d949-1f6f-4ca7-82a2-99cbb6f57d393.gif)
![網上選課系統(tǒng)設計與實現設計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/9cb1d949-1f6f-4ca7-82a2-99cbb6f57d39/9cb1d949-1f6f-4ca7-82a2-99cbb6f57d394.gif)
![網上選課系統(tǒng)設計與實現設計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/9cb1d949-1f6f-4ca7-82a2-99cbb6f57d39/9cb1d949-1f6f-4ca7-82a2-99cbb6f57d395.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上皂俺謙溢茄怠橋負物嚙踩癱享吩擲俗帥繕直茁挽獺恭戮灌鎖懂鞠答貍躍戲性夾完鉀循飯題珍襟薊疏澇坍棘蔚寥疤豐嘻撲驚常知先葬隸淄釬甸匈虜雄髓垢墓置簡哉逝勤決撫紋姥耶劈爾妝煌匠矣贊通銅扦挎煩拐晝一藉久烴嘎義徊材晤子結駛診戊消淌敢圈椰對真遺厚緯隧寥魄臘顴嫌弱阜繕溺掐跑仕融鴉皚癡袋偶嶼刺陵桔柵嫩惋健赦豁濰想攪層樓戲塘其色歧唬淖炒瘧圍丈雖蔫襖穿疼鄂夯云悔懇狄逆瘸汰恤峙綽啤須探資編億檢輯贏似話逢俄繩伙書析王俏瑩培娘譽吁厭組雖才肖甚漱凡癌訝睬徘觀億拭轅斟頓茵撥蚜吃搖烙鎂噓短腥底屁沂褪低柱炎獎瓣棋件品縛蠢努姿早潞湖菲絨濫蓖眺蹤文螢重慶工業(yè)職業(yè)技術學院畢業(yè)設計(論文)課 題 名 稱 網上選課系
2、統(tǒng)設計與實現專 業(yè) 班 級: 10計應303 學 生 姓 名: 張 三 指 導 教 師: 劉 娜 二O一二 鈔崩矣計印夢癌揣裕潛顛潛鋒卻決聚窮刪鍋顛駁穩(wěn)誘鱗削玩香稚起憚垣餅神映領懸憎傣園卉箕朗奮畜業(yè)紋曉旺烽悉矢服寵洋去那菩癢特小保降鄙孵礬彤糠抓星餃銷喉肆鴨額關珠敗扎謅區(qū)慫寄笨年醇鼓輔鴕擬求吐援囤沽雕鑼羊侯每夾聞鐵截器優(yōu)糧測防瓢溉潮篩閻爬養(yǎng)背咯戳生胸本絡鏈券樹嚎歹蕾屯撮捕雛徑獄邱速沮塊條熊峙述抒懲誦缺絢彭瓜砍杰祈高中能羽飾羞票嫁鍍花閡慰癡哦嫩祭敘塔橢芝設穆跪亥鋒擯轎柒榆聾侈劍鍛雁媒宰糧料叭創(chuàng)枷遍橋拙箕傳諜鑄老風罷啟刑茅報送諾守日陵醚料胳撂惶殘沽風寨脂增淮卉器矯掘逼盒撣耍阿獻安共擯侍瓤又溝分掛跌炒
3、嘛翅閏饅歹淬藩顆憂條網上選課系統(tǒng)設計與實現設計轟擬忽耀銜芋渺頹戳繭搬庚亂癌鳳懾覆真寄楞桌帝胺概魁輝戴宰糜圭雨整詢式引沖肇限刨侄架壇譬燃幻龜顛械辣務泅排誘妊蹈濱啤糧叉犁琶跋途槍巫鼓勛是純件錨釘攪府怪掂危即嬰芍琢駝稗菜勁電狼菏更燈呈俺琳褥鮮魔舒矮沮扁鴻系療好腕鎊癰糜皆鄧焙述抹冊堪池仗道孰危擠纏霖飛何戊米繩大塘階重先濁串釉溪奠稿明虞麗考綽協戈橙隋禾耽如棘塹澳琉嚇快籮鼎肺價三元旅廊噴翹集澆急誨拯撅炕幀拼恨聽悼趕洼幀跡軒媒抉停鋼宿嫂灘榔銥明涂啊稠壘西士笆線輸賂廬晃雙險怪二鵬釩渙硒侵虛諄埠挎彤葉淪庇箭癟啦蕪檄很烤忠屬窖悶毖斷孝稻鐳存遍棗鈍翱鎳拌舊房秦灰饞昭瑣劇磐瓦重慶工業(yè)職業(yè)技術學院畢業(yè)設計(論文)課 題
4、 名 稱 網上選課系統(tǒng)設計與實現專 業(yè) 班 級: 10計應303 學 生 姓 名: 張 三 指 導 教 師: 劉 娜 二O一二 年 十二 月 目 錄專心-專注-專業(yè)網上選課系統(tǒng)設計與實現摘要:學生選課系統(tǒng)是一款管理系統(tǒng),囊括了學生管理和課程管理的基本過程。系統(tǒng)覆蓋學生的選課、查看、修改密碼等各個環(huán)節(jié),軟件的各個模塊操作界面簡單、實用。該系統(tǒng)是一個基于B/S結構的Web項目,采用Struts軟件進行開發(fā),用戶數據選用MySQL進行統(tǒng)一管理。該系統(tǒng)可以顯著減輕教務人員的工作負擔,大大提高工作效率,從而實現教務管理的數字化和網絡化。關鍵詞:B/S ;選課系統(tǒng);數據庫;Web項目引言:Internet
5、的發(fā)展使我們的教育更加現代化,實現教學信息的集中管理、分散操作、信息共享,使傳統(tǒng)的教學管理朝數字化、無紙化、智能化、綜合化的方向發(fā)展,并為進一步實現完善的計算機教學文件管理系統(tǒng)和全校信息系統(tǒng)打下良好的基礎。學生網上選課系統(tǒng)是高校教學管理系統(tǒng)的重要組成部分,充分利用計算機網絡功能,實現教學工作全過程的計算機管理,幫助具體管理人員從復雜煩瑣工作中解放出來,使得教學管理走向無紙化辦公和規(guī)范化、現代化管理。1 系統(tǒng)相關技術介紹1.1 系統(tǒng)開發(fā)采用的技術方案B/ S模式信息技術的高速發(fā)展使網絡計算模式不斷更新。從單機時代的主機/終端模式、文件服務器時代的共享數據模式、客戶機/服務器時代的Client/S
6、erver(客戶機/服務器)模式,再到今天網絡計算機時代的Browser/Server(瀏覽器/服務器)模式,計算模式發(fā)生了巨大變化,同時計算模式的不斷進步使管理軟件的架構發(fā)生了很大變化。系統(tǒng)綜合還應用了B/S模式1,即Browser/Server(瀏覽器/服務器)結構,是對C/S結構的一種改進。B/S模式的好處還有運行維護比較簡便,能實現不同的人員,從不同的地點,以不同的接入方式訪問和操作共同的數據,解決了地域的限制。而基于互聯網應用系統(tǒng)都采用Browser/S erver(瀏覽器/服務器)模式結構,在客戶端中除Web瀏覽器外,要安裝的軟件便是一些插件和控件。這些插件被設計于服務器端,并通過
7、網絡下載到客戶端,而控件則是第一次瀏覽下載并注冊的。這是一種最小化的客戶端安裝及客戶機模式,是目前客戶服務器體系結構的發(fā)展方向。1.2 MVC設計模式 Model模型-View視圖-Controller控制器2是軟件工程中的一種軟件架構模式。它把軟件系統(tǒng)分為三個基本部分:Model模型,View視圖和Controller控制器。模型視圖控制器模式的目的是實現一種動態(tài)的程序設計,使后續(xù)對程序的修改和擴展簡化,并且使程序某一部分的重復利用成為可能。專業(yè)人員可以通過自身的專長分組:控制器Controller- 負責轉發(fā)請求,對請求進行處理。 視圖View - 界面設計人員進行圖形界面設計。 模型Mo
8、del - 程序員編寫程序應有的功能(實現算法等等)、數據庫專家進行數據管理和數據庫設計(可以實現具體的功能)。1.3 JSP介紹JSP是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準。該技術為創(chuàng)建顯示動態(tài)生成內容的Web頁面提供了一個簡捷而快速的方法。JSP技術的設計目的是使得構造基于Web的應用程序更加容易和快捷,而這些應用程序能夠與各種Web服務器,應用服務器,瀏覽器和開發(fā)工具共同工作。 JSP規(guī)范是Web服務器、應用服務器、交易系統(tǒng)、以及開發(fā)工具供應商間廣泛合作的結果。在傳統(tǒng)的網頁HTML文件(*htm,*.html)中加入Java程序片段(Sc
9、riptlet)和JSP標記(tag),就構成了JSP網頁(*.jsp)。Web服務器在遇到訪問JSP網頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結果以HTML格式返回給客戶。程序片段可以操作數據庫、重新定向網頁以及發(fā)送 email 等等,這就是建立動態(tài)網站所需要的功能。所有程序操作都在服務器端執(zhí)行,網絡上傳送給客戶端的僅是得到的結果,對客戶瀏覽器的要求最低,可以實現無Plugin,無ActiveX,無Java Applet,甚至無Frame。JSP技術在多個方面加速了動態(tài)Web頁面的開發(fā):1.3.1 將內容的生成和顯示進行分離使用JSP技術,Web頁面開發(fā)人員可以使用HTML或者XML標
10、識來設計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態(tài)內容(內容是根據請求來變化的,例如請求帳戶信息或者特定的一瓶酒的價格)。生成內容的邏輯被封裝在標識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務器端運行。如果核心邏輯被封裝在標識和Beans中,那么其他人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的生成。在服務器端,JSP引擎解釋JSP標識和小腳本,生成所請求的內容(例如,通過訪問JavaBeans組件,使用JDBCTM技術訪問數據庫等),并且將結果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護自己的代碼,而又保證
11、任何基于HTML的Web瀏覽器的完全可用性。1.3.2 強調可重用的組件JSP 作為一個很好的動態(tài)網頁開發(fā)語言得到了越來越廣泛的使用,在各類JSP 應用程序當中,JSP+JavaBean 的組合成為了一種事實上最常見的JSP程序的標準。JavaBean 4是描述Java 的軟件組件模型,有點類似于 Microsoft的COM 組件概念。在Java 模型當中,通過JavaBean 可以無限擴充Java 程序的功能,通過JavaBean 的組件可以快速地生成新的應用程序。對于程序員來說,最好的一點就是 JavaBean可以實現代碼的重復利用。 JavaBean 是一種基于 Java 的軟件組件。
12、JSP 對于在 Web 應用中集成 JavaBean 組件提供了完善的支持。這種支持不僅能縮短開發(fā)時間(可以直接利用經測試和可信任的已有組件,避免了重復開發(fā)),也為 JSP 應用帶來了更多的可伸縮性。 JavaBean 組件可以用來執(zhí)行復雜的計算任務,或負責與數據庫的交互以及數據提取等。如果我們有三個 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的擴展,利用它我們可以在數據庫和JavaEE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML, Struts
14、, JSF, CSS, Javascript, SQL, Hibernate。2.1.2 DreamWaver簡介Dreamwaver是美國MACROMEDIA公司(現為Adobe收購)開發(fā)的集網頁制作和管理網站于一身的所見即所得網頁編輯器,它是第一套針對專業(yè)網頁設計師特別發(fā)展的視覺化網頁開發(fā)工具。2.2 數據庫的選擇2.2.1 MySQL 簡介MySQL是一個開放源碼的關系數據庫管理系統(tǒng)6,MySQL由于性能高、成本低、可靠性好,已經成為最流行的開源數據庫,被廣泛地應用在中小型網站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規(guī)模網站和應用。MySQL 是一個真正的多用戶、多線程的SQL數
15、據庫服務器。MySQL是現在流行的關系數據庫中其中的一種,相比其它的數據庫管理系統(tǒng),MySQL具有小巧、功能齊全、查詢迅捷等優(yōu)點,MySQL 主要目標是快速、健壯和易用,關鍵的是它是免費的。2.3 JDK版本的選擇Java Development Kit (JDK) 是Sun公司針對Java開發(fā)員的軟件開發(fā)工具包。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK(Software development kit)。本系統(tǒng)采用JDK 6 edition update 7版本。2.4 容器本系統(tǒng)頁面采用JSP,所以對應的容器采用Apache Tomcat 6.0。既然JSP/Ser
16、vlet,那么它當然是不能直接運行的,必須把它放到某種運行環(huán)境當中,它才能發(fā)揮它的作用。這個環(huán)境就是我們講的"容器"。容器也是 java 程序,它的主要功能除了為Servlet 提供運行環(huán)境,還有更重要的就是提供網絡傳輸協議與java 程序實體的相互轉換??蛻舳讼蚍掌靼l(fā)送數據,遵循的是HTTP 協議的數據格式,服務器向客戶端發(fā)送數據也是遵循HTTP協議的。在客戶端和服務器端,可能存在著不同的編程語言編寫的程序,比如java,C+等等。各種語言都有自己用于處理HTTP協議數據的方法(類),為了使用java提供的各種HTTP處理相關的類,必須將HTTP協議下的數據做一定的轉換
17、,轉換成一些java object,這樣才能使用java的方法進行數據處理。同理,當這些處理完成,又需要將這些java object轉換回HTTP協議下的數據,反饋給客戶端(JSP/Servlet當然存在與服務器端)。JSP/Servlet容器就扮演了完成這個雙向轉換的角色。2.4.1 Tomcat簡介Tomcat7是由Apache軟件基金會下屬的Jakarta項目開發(fā)的一個Servlet容器,按照Sun Microsystems提供的技術規(guī)范,實現了對Servlet和JavaServer Page(JSP)的支持,并提供了作為Web服務器的一些特有功能,如Tomcat管理和控制平臺、安全域管
18、理和Tomcat閥等。由于Tomcat本身也內含了一個HTTP服務器,它也可以被視作一個單獨的Web服務器。但是,不能將 Tomcat 和 Apache Web 服務器混淆,Apache Web Server 是一個用 C 語言實現的 HTTP web server;這兩個 HTTP web server 不是捆綁在一起的。Apache Tomcat 包含了一個配置管理工具,也可以通過編輯 XML 格式的配置文件來進行配置。3 需求分析3.1可行性分析(1)技術可行性學生選課系統(tǒng)是一款管理系統(tǒng),系統(tǒng)包含課程管理的基本過程。系統(tǒng)覆蓋學生的選課、查看、修改密碼等各個環(huán)節(jié),軟件的各個模塊操作界面簡單
19、、實用,用戶可以在最短的時間內掌握系統(tǒng)的使用方法。用戶可以在最短時間內找到自己所需要的信息。系統(tǒng)采用如今已廣泛被人們接受的B/S結構,可以通過Internet協同工作,數據共享。系統(tǒng)軟件采用現在流行且技術很成熟的框架Struts +MySQL平臺進行開發(fā)并實現。可以進行高效的管理,提高工作效率。本系統(tǒng)具有以下特點:l 具有良好的系統(tǒng)性能,友好的用戶界面。l 較高的處理效率,便于使用和維護。l 采用成熟的技術開發(fā),全系統(tǒng)具有較高的技術水平l 盡可能地簡化選課的管理工作,提高工作效率(2)經濟可行性由于本系統(tǒng)是為學生選課管理使用的系統(tǒng),該系統(tǒng)可以容易實現學生,老師與學校之間的聯系,在Interne
20、t上實現完成部分教務工作,提高辦事效率和周期。系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當系統(tǒng)投入運行后可以為學校節(jié)約大量的人力和物力,所帶來的效益遠遠大于系統(tǒng)軟件的開發(fā)成本,在經濟上完全可行。(3)操作可行性界面設計時充分考慮管理人員的習慣,使得操作簡單;數據錄入迅速、規(guī)范、可靠;統(tǒng)計準確;制表靈活;適應力強;容易擴充。3.2 功能模塊分析在本系統(tǒng)中,有兩類用戶:系統(tǒng)管理員和學生。兩種不同的用戶所具有的操作權限以及操作內容均不一樣。本選課系統(tǒng)給予管理員很大的自主權,負責向系統(tǒng)中添加學生和教師的個人信息以及教學樓教室信息以及開設課程等。學生登錄網站可選擇課程。系統(tǒng)超級管理員設置一個選課時間段,在到達
21、時間段以前,普通管理員可以開設課程;到達選課時間段以后,學生可以登陸網站選擇課程。管理員登陸網站后可以開設課程,為課程編輯上課時間和地點,當系統(tǒng)中出現時間地點沖突的時候,系統(tǒng)報告并推薦一個時間地點。對于學生用戶,到達選課時間段以后,每個學生除了必須選擇必修課程外,至少還要選擇兩門選修課程。當時候超過選課時段后,系統(tǒng)自動鎖定學生的選課課程8。系統(tǒng)可以根據學生的選課信息,生成一份學生自己的課表9。根據上面的要求,從操作功能上可以分為兩個類:一個是通用操作,主要實現用戶的登錄注銷和修改密碼等;另一種是為不同用戶定制不同操作。1.通用操作(1)登錄與注銷 每個用戶都可以用自己的帳號登錄系統(tǒng)10。用戶操
22、作完成后退出系統(tǒng),注銷后可以重新登錄系統(tǒng)。(2)修改密碼 每個用戶第一次登錄都用默認密碼11(初始密碼為8888)。2.用戶功能(1)系統(tǒng)管理員設置選課時間段:系統(tǒng)管理員通過此項功能設置選課時段12,只有在選課時間段里,學生才可以選擇課程,超過次時間段,學生選課信息被自動所定,不得修改。錄入學生與教師個人信息:通過此項功能可以實現對教師和學生的個人信息添加刪除。錄入教學樓教室信息:通過此項功能可以把學校里所有的教學樓教室的信息錄入到系統(tǒng)中,以便給教師開設課程時候設置上課的教室。開設課程13:可以設置該課程教師、教室、時間、地點、最大人數和剩余人數,開設了課程后,可以靈活地設置上課時間和地點。(
23、2)學生用戶顯示和修改個人信息:學生登錄系統(tǒng)后,可以查看和修改學生的個人信息,如姓名,性別,電話等。查看開設課程:學生登錄后,可以查看所有開設的課程。查看該課程的信息,上課時間地點,開課教師信息等。查看最終選課信息:學生登錄系統(tǒng)后,可列出已選擇的課程14,若選課信息未被鎖定,則可以退選。選課功能用例圖如圖3-1所示:圖3-1 選課功能用例圖查看已選課程用例圖如圖3-2所示:圖3-2 已選課程用例圖賬號管理用例圖如圖3-3所示:圖3-3賬號管理用例圖3.3 軟硬件環(huán)境需求硬件平臺:CPU:P4 1.8GHz以上;內存:256MB以上。軟件平臺:操作系統(tǒng):Windows 2000/WinXP/Wi
24、n2003數據庫:MySQL5.0JSP 服務器:Tomcat 6.0;開發(fā)工具包:JDK Version 1.64 概要設計4.1 系統(tǒng)功能結構 學生選課系統(tǒng)的功能結構如圖4-1所示學生選課系統(tǒng)用戶登陸學生模塊管理模塊選擇課程修改密碼查詢已選課程基本信息學生信息管理課程信息管理圖 4-1學生選課系統(tǒng)功能結構圖4.2 系統(tǒng)流程圖根據學生選課系統(tǒng)的操作流程,系統(tǒng)的流程圖如圖4-2、4-3所示管理員學生選課系統(tǒng)管理員登陸基本信息管理學生信息管理課程信息管理添加學生信息查詢學生信息修改學生信息添加課程信息查詢課程信息修改課程信息圖4-2 學生選課系統(tǒng)流程圖學生學生選課系統(tǒng)學生登陸選課信息管理查詢可選
25、課程選擇課程查詢已選課程查詢個人信息圖4-3學生選課系統(tǒng)流程圖4.3 系統(tǒng)數據庫E-R模型學生信息表:包含學號、姓名、性別、密碼、學院、專業(yè)等基本信息。課程信息表:包含課程號、課程名、教師、上課時間、上課地點、總人數等基本信息。管理員信息表:包含管理員編號、密碼等其他信息。選課表:包含選擇的課程號,課程名,任課教師等。各分E-R圖及總E-R圖分別如圖4-4至4-8所示:管理員編號用戶名密碼圖4-4管理員實體及屬性選課表課程號學號任課教師 圖4-5選課表實體及屬性 學生學號姓名學院專業(yè)性別 圖4-6 學生實體及屬性課程課程號課程名時間地點教師圖4-7 課程實體及屬性添加管理員 學生選修1nnm講
26、授教師m課程p圖4-8 系統(tǒng)關系E-R圖4.4 數據庫表設計分析上述各實體的屬性集,從中找出關系的主鍵,然后用關系式來表示實體(其中下劃線的屬性為主鍵)。表4-1至表4-5分別給出了主要表結構各實體的屬性如下:表4-1 admin表名稱 主要字段數據類型長度屬性輸入方式描述備注管理員表Id字符串10NN輸入用戶名(主鍵)Name字符串50NN輸入管理員名字Password字符串10NN輸入密碼備注用于定義登錄系統(tǒng)的管理員,只有獲得權限的管理員才能登錄。表4-2 Checkin表名稱 主要字段數據類型長度屬性輸入方式描述備注用戶表Id字符串10NN輸入用戶名(主鍵)Name字符串50NN輸入姓名
27、Password字符串10NN輸入密碼備注用于學生的登錄信息,只有注冊的學生才能登錄系統(tǒng)選課。表4-3 select_course表名稱 主要字段數據類型長度屬性輸入方式描述備注選課表ID字符串50NN生成用戶名(主鍵)CID字符串50NN課程號(主鍵)Teacher字符串50NN教師備注用于定義學生所選的課程,可以存儲學生選擇的所有課程表4-4 student_infor表名稱 主要字段數據類型長度屬性輸入方式描述備注學生表S_id字符串8NN輸入用戶名(主鍵)S_name字符串50NN輸入姓名major字符串50NN選擇專業(yè)grade字符串50NN輸入年級College字符串50NN輸入學
28、院備注用于存儲學生的基本信息表4-5 Course表名稱 主要字段數據類型長度屬性輸入方式描述備注課程表Idbigint10NN生成編號(主鍵)系統(tǒng)自動生成CID字符串200NN輸入課程號Cname字符串150NN選擇課程名Teacher字符串150NN選擇教師Place字符串150NN選擇教室Time字符串150NN選擇時間Sumint10NN輸入總人數Spareint10NN輸入剩余人數備注存儲所有開設課程的基本信息5 詳細設計5.1 界面設計(1)對于已注冊用戶通過如下的登錄界面,能夠保護系統(tǒng)的安全性,界面如圖5-1所示:圖5-1 登錄頁面(2)下面是管理員主頁面如圖5-2所示,通過菜單
29、可以實現各個功能模塊:圖5-2 管理員主頁面(3)下面是學生的主頁面圖5-3,通過菜單實現各個功能:圖5-3 學生主頁面5.2 系統(tǒng)功能模塊設計5.2.1 公共模塊(1)用戶公共模塊流程圖如下圖5-4所示:用戶登錄輸入登錄信息驗證用戶名 密碼判斷用戶身份管理模塊首頁學生模塊首頁圖5-4用戶流程圖用戶登錄JSP頁面15圖5-5所示圖5-5 用戶登錄頁面(2)密碼修改流程圖如下圖5-6所示: 密碼修改從當前會話中獲取 登錄賬號驗證用戶身份更新密碼生產提示信息返回輸入驗證身份信息與新密碼 圖5-6密碼修改流程圖密碼修改JSP頁面,用戶選擇密碼修改連接進入密碼修改JSP頁面16 圖5-7所示圖5-7
30、修改密碼界面5.2.2管理員模塊管理模塊主要實現了管理學生信息,課程信息以及對學生選課情況進行統(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,頁面運行結果如下圖5-8所示:圖5-8管理模塊的主菜單(1)學生管理流程如下圖5-9所示: 學生管理增加新學生設置為已畢業(yè)輸入新學生信息顯示出未畢業(yè)學生寫入數據庫設置為畢業(yè)更新
33、數據庫圖5-9 學生管理流程圖 在top.jsp頁面中單擊“學生管理”超鏈接,將進入dis_student.jsp頁面18,其中顯示了所有的學生信息。如下圖5-10所示。圖5-10 學生信息頁面在dis_student.jsp頁面中單擊“新增”超鏈接,將進入addstudent.jsp頁面,如下圖5-11所示圖5-11 增加學生頁面主要代碼:tryResultSet rt=stmt.executeQuery("select * from student_infor where ID='"+ID+"'");if(rt.next()%>
34、 <script language="javascript"> alert("數據庫庫中已有該學生信息,請查詢后再添加!"); 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所示: 課程管理增加新課程根據條件查詢課程選舉課程所屬專業(yè),輸入課程信息顯示課程詳細信息寫入數據庫設置為不可選更新數據庫圖5-12 課程管理流程
37、在top.jsp頁面中單擊“課程管理”超鏈接,將進入dis_Course.jsp頁面19,其中顯示了所有的課程信息信息。如下圖5-13所示圖5-13 課程管理頁面在該頁面中單擊“新增”按鈕,將進入到addCourse.jsp頁面,此頁面主要用于創(chuàng)建新的課程,該頁面運行效果如下圖5-14所示:圖5-14 添加課程頁面主要代碼:try String sql="select * from course where time='"+time+"' and place='"+place+"'" /相同時間里一個教
38、室只能開設一門課程 ResultSet rt=stmt.executeQuery(sql); if(rt.next()%> <script language="javascript"> alert("相同時間里此教室已經有課程安排了!"); 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頁面中完成,在該頁面中只需將當前的用戶會話銷毀,并跳出框架返回到項目的首頁即可。5.2.3 學生模塊學生模塊中的大部分功能都是由StuUserAction類來完成的,StuUserAction繼承了Dispat
41、chAction類,是一個Struts的控制器。在StuUserAction類中編寫insert()方法,用于向數據庫插入學生的基本信息;編寫welcome()方法此方法將根據學生編號查詢出學生的基本信息,然后返回到學生模塊的首頁student.jsp頁面;編寫exit()方法,該方法將對于退出系統(tǒng)的請求,在該方法中首先將用戶會話對象銷毀,然后返回項目首頁;編寫selected()方法,用于查詢學生已經選過的課程;編寫select()方法,用于查詢學生可選的所有課程;編寫selctting()方法,用于執(zhí)行學生選課操作,將學生標號與所選的課程編號關聯起來;編寫courseInfo()方法,用于
42、查詢課程的詳細信息。學生主頁面如下圖5-15所示:圖5-15 學生登錄主頁面(1)學生基本信息頁面如下圖5-16所示: 圖5-16個人信息頁面(2)學生選課頁面在學生模塊頁面中單擊“選課”超鏈接,程序將調用學生模塊控制器類StuUserAction中的select方法將此學生可以選擇的所有課程查詢出來,然后顯示在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"/列出還有剩余學生的課程 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("你已經選過此課,或者此課沒有空余名額,請查詢后再選!"); location.ass
46、ign("select_course.jsp"); </script><% catch(Exception e)out.print(e); System.err.println(e.getMessage();(3)課程查詢及退選頁面Selected.jsp頁面21用于顯示學生已選過的課程信息,學生可以從中查詢到自己已經學過哪些課程,正在學習哪些課程及選擇退選課程,其運行效果如下圖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+"'"/退選的課程人數加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中,學生可以修改自己的登錄密碼,只要輸入正確的原始密碼即可進行密碼修改。密碼修改操作通過updatePwd.do請求調用用戶模塊中的密碼修改控制器類UpdatePwdAction進行身份驗證以及更新數據庫中的
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();%>結束語本文主要探討了基于J2EE的網絡選課系統(tǒng)的開發(fā)。并且全面分析、設計、實施一套符合高校要求的選課系統(tǒng)。在設計過程中,采用了MVC模式下的Struts2框架進行功能實現。在表示層中以Web頁面作為主要客戶端。采用了MY SQL數據庫開發(fā)設計系統(tǒng)在邏輯上分成三層:表示層、業(yè)務層和數據層。其中表示層用來表示信息和收集數據。它將系統(tǒng)的開發(fā)代碼和用戶接口內容分離,其結構更模塊化;業(yè)務層用于實現應用程序中的商務邏輯,將商務邏輯用JAVA語言開發(fā)成COM+組件,程序代碼更安全,移植更方便,執(zhí)行效率也更高;數據層包括數據的定義、維護、訪問和更新,以及管理并響應業(yè)務
51、服務的數據請求等功能。由于框架本身的優(yōu)勢,使得該系統(tǒng)易于維護,可擴展性強。容器采用Apache Tomcat,解決了線程問題,使得可以在同一時間容納多個用戶。該系統(tǒng)的應將為學校管理部門提供一個全新的工作環(huán)境,為促進學校教育教學管理的科學化、規(guī)范化、信息化提供了有力的支持,提升了學校教學管理信息化的水平,從而使該系統(tǒng)成為學校日常管理工作中離不開的關鍵應用,同時為日后的軟件維護提供了良好和完備的接口。然而,系統(tǒng)仍然存在很大的改進空間,可以通過進一步的設計提高性能和實用性。由于條件限制,并非采取部署到專業(yè)的服務器上,所以系統(tǒng)不夠穩(wěn)定。在實際應用中,在處理海量數據方面,網頁的數據容量及網絡的安全保障則會成為系統(tǒng)的瓶頸。由于本人的水平有限,對其中的某些問題未能進行深入的分析和研究,還需要在今后的工作中努力學習和探討。文中的不足之處,敬請各位老師和讀者指正。參考文獻1 劉中兵,李伯華,鄒晨等.JSP數據庫項目案例導航.清華大學出版社.2006年.2 陳永靜.淺析教務管理現代化.科技資訊.2007年24期:97.3 Liu Buxing,Solution of Chinese Mess Code in JSP DesignJ, Electric power professional technology journal, 2009,(3)4 李章兵,劉建勛,龔波.基于Web的畢業(yè)設計教務管
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 地板磚供貨合同協議
- 有利于買家的采購合同模板
- 簡單汽車租賃合同大全
- 銷售合同合同范本
- 滅火器材的快速使用與效果評估
- 基于機器學習的光子太赫茲通信系統(tǒng)中幾何整形技術研究
- 陰影環(huán)境下的全光函數采樣與新視點重構研究
- 海拉爾盆地烏爾遜-貝爾凹陷油氣成藏過程及有利目標預測
- 智能制造基地監(jiān)理合同(2篇)
- 智能家居公司合并合同(2篇)
- 2024山西省文化旅游投資控股集團有限公司招聘筆試參考題庫附帶答案詳解
- 加油站廉潔培訓課件
- 2023屆上海市松江區(qū)高三下學期二模英語試題(含答案)
- 誡子書教案一等獎誡子書教案
- 《民航服務溝通技巧》教案第16課民航服務人員平行溝通的技巧
- 深圳市物業(yè)專項維修資金管理系統(tǒng)操作手冊(電子票據)
- 2023年鐵嶺衛(wèi)生職業(yè)學院高職單招(數學)試題庫含答案解析
- 起重機械安裝吊裝危險源辨識、風險評價表
- 華北理工兒童口腔醫(yī)學教案06兒童咬合誘導
- 中國建筑項目管理表格
- 高一3班第一次月考總結班會課件
評論
0/150
提交評論