基于java web 技術(shù)的高校教務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——選課系統(tǒng)子模塊
《基于java web 技術(shù)的高校教務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——選課系統(tǒng)子模塊》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于java web 技術(shù)的高校教務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——選課系統(tǒng)子模塊(45頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 天津商務(wù)職業(yè)學(xué)院 畢業(yè)設(shè)計(jì)(論文) 題目:基于Java Web 技術(shù)的高校教務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ——選課系統(tǒng)子模塊 專業(yè)班級(jí) 軟件1001班 學(xué) 號(hào) 0108100119 姓 名 王悅 指導(dǎo)教師 馮毅 企業(yè)指導(dǎo)教師 何晶 2013年4月24日 題目:基于Java Web 技術(shù)的高校教務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ——選課系統(tǒng)子模塊 摘 要 隨著在校大學(xué)生人數(shù)的不斷增加、教育改革的不斷深化,建立一套能夠適應(yīng)這些改變的行政管理方案也就顯得尤為重要。以往的選課方法是隨堂點(diǎn)名。這種方法雖然直
2、接,但是造成選課的盲目性和教務(wù)處處理數(shù)據(jù)的繁重性。為了減輕教務(wù)處工作,以及每個(gè)學(xué)生更好的選擇自己所喜歡的科目。針對(duì)學(xué)生選課這一環(huán)節(jié),開發(fā)一套適合校情的選課系統(tǒng)便成為了教務(wù)處的迫切需求。本系統(tǒng)從學(xué)生自主選課到教師課程發(fā)布這兩個(gè)方面進(jìn)行了設(shè)計(jì),基本實(shí)現(xiàn)了學(xué)生的信息查詢,選課功能以及教室對(duì)課程信息發(fā)布的管理等功能。 本文通過分析瀏覽器/服務(wù)器結(jié)構(gòu)的特點(diǎn)并結(jié)合高校選課的實(shí)際情況,提出了基于B/S結(jié)構(gòu)的高校選課系統(tǒng)的基本設(shè)計(jì)思想,簡(jiǎn)要介紹了系統(tǒng)功能模塊以及數(shù)據(jù)庫(kù)的設(shè)計(jì),著重討論了用JavaEE和MySQL開發(fā)高校選課系統(tǒng)時(shí)的數(shù)據(jù)庫(kù)訪問技術(shù)和底層框架技術(shù),并給出了部分實(shí)現(xiàn)代碼。該系統(tǒng)完成了院系、專業(yè)
3、、課程、教師、學(xué)生信息的管理功能及選課、查看選課學(xué)生、權(quán)限限制等功能。 經(jīng)測(cè)試,此系統(tǒng)滿足高校教務(wù)系統(tǒng)用戶需求,能夠促進(jìn)當(dāng)前高校教務(wù)工作的管理水平,可以顯著減輕教務(wù)人員的工作負(fù)擔(dān),大大提高工作效率,有一定的實(shí)際應(yīng)用價(jià)值。 關(guān)鍵詞 B/S ;高校選課系統(tǒng);數(shù)據(jù)庫(kù); Abstract With the increase in the number of college students, the deepening of education reform, the establishment of a set of administrative solutio
4、ns to adapt to these changes it is particularly important. Elective property named. Although this method directly, but causing of elective blindness and the Office of Academic Affairs for processing data heavy. In order to mitigate the Office of Academic Affairs, as well as each student a better cho
5、ice of their favorite subjects. For student elective this part of the development of a suitable school situation elective system has become the urgent needs of the Office of Academic Affairs. The system independent course from students to teacher courses released these two aspects of the design, the
6、 basic realization of the student information query, elective function as well as classroom management and other functions published information on this program. In this paper, by analyzing the features of the browser / server architecture combined with the actual situation of university course
7、, based on B / S structure and the basic design of the college elective system, a brief introduction system function modules and database design, focused on the use of JavaEE and MySQL developers college elective system database access technology and the underlying framework technology, and gives a
8、part of the implementation code. The system completed a faculty, curriculum, teachers, student information management functions and course to view the course student permission restrictions. Test system to meet the university educational system user demand, to promote the management level of the
9、 college academic work, can significantly reduce the workload of the academic staff, greatly improve work efficiency, has some practical value. Keywords B / S; university elective system; database 目 錄 第一章 緒論 1 1.1課題背景 1 1.2 選課系統(tǒng)簡(jiǎn)介 1 第二章 需求分析 2 2.1功能性需求 2 2.2非功能性需求 5 第三章 可行性分析
10、 6 3.1編寫目的 6 3.2開發(fā)系統(tǒng)的技術(shù)可行性 6 3.3開發(fā)系統(tǒng)的法律可行性 6 3.4社會(huì)條件上的可行性 7 第四章 系統(tǒng)相關(guān)技術(shù)介紹 7 4.1框架簡(jiǎn)介 7 4.2實(shí)現(xiàn)架構(gòu)圖 7 第五章 系統(tǒng)設(shè)計(jì) 8 5.1數(shù)據(jù)庫(kù)設(shè)計(jì) 8 5.2系統(tǒng)架構(gòu)設(shè)計(jì) 11 5.3運(yùn)行設(shè)計(jì) 12 5.4系統(tǒng)功能結(jié)構(gòu) 13 5.5 系統(tǒng)流程圖 14 5.6軟件結(jié)構(gòu) 16 5.7詳細(xì)設(shè)計(jì) 16 5.8系統(tǒng)功能模塊設(shè)計(jì) 18 第六章 系統(tǒng)測(cè)試 35 6.1測(cè)試方法 35 6.2測(cè)試加評(píng)價(jià) 35 總 結(jié) 36 參考文獻(xiàn) 37 附錄 38 天津商務(wù)職業(yè)學(xué)院2
11、010屆??粕厴I(yè)設(shè)計(jì)(論文) 第一章 緒論 1.1課題背景 隨著科技的發(fā)展,校園網(wǎng)技術(shù)迅速發(fā)展。對(duì)于高校而言,建立校園網(wǎng)的作用一般有以下兩方面:一是外部網(wǎng)絡(luò)連接,實(shí)現(xiàn)與網(wǎng)絡(luò)連接,提供本校的信息服務(wù),融入世界信息潮流;了解外面世界,加強(qiáng)學(xué)術(shù)交流與合作。另一個(gè)就是建立本校的管理信息系統(tǒng),實(shí)現(xiàn)管理的科學(xué)化、現(xiàn)代化;利用現(xiàn)代化的手段提高教學(xué)質(zhì)量和管理水平。 選課系統(tǒng)屬于教學(xué)信息管理系統(tǒng)一部分。隨著高等教育的發(fā)展和社會(huì)需要,各高校盡多地開設(shè)各類課程,以拓寬學(xué)生的知識(shí)面,培養(yǎng)學(xué)生的個(gè)性和創(chuàng)造能力,提高學(xué)生的綜合素質(zhì)。但由于傳統(tǒng)的人工選課數(shù)據(jù)是經(jīng)過多級(jí)手工處理后上報(bào)教務(wù)處的,效率較低,而選課時(shí)煩瑣
12、的工作也給教務(wù)管理部門帶來了很大的工作量,因此容易出錯(cuò)。另一方面,學(xué)生對(duì)課程的遲選、補(bǔ)選、改選操作非常麻煩,同時(shí)教學(xué)管理部門無(wú)法掌握選課人數(shù)的變化和學(xué)生分布的情況,難以進(jìn)行動(dòng)態(tài)調(diào)整。傳統(tǒng)的選課方式已經(jīng)不適應(yīng)現(xiàn)代教務(wù)教學(xué)的改革和發(fā)展,迫切需要一種新的選課方式。為使教學(xué)管理工作的科學(xué)化、規(guī)范化,就必須采用計(jì)算機(jī)輔助管理。計(jì)算機(jī)管理使選課更加高效準(zhǔn)確,省去了大量的人力勞動(dòng),提高了教學(xué)管理的信息化水平。為了切實(shí)解決了課程管理中存在的諸多問題,提高教務(wù)管理的水平和質(zhì)量,使校選課的管理更加規(guī)范,經(jīng)過幾個(gè)月的努力,我設(shè)計(jì)開發(fā)了高校選課系統(tǒng)。此系統(tǒng)基本上實(shí)現(xiàn)了一些選課相關(guān)的功能。 1.2 選課系統(tǒng)簡(jiǎn)介 本
13、系統(tǒng)面向全校師生和管理人員,是高校日常教學(xué)、教務(wù)管理的應(yīng)用軟件。該系統(tǒng)的目的主要是實(shí)現(xiàn)學(xué)生選擇選修課的公平性和方便性,讓他們可以選擇課程,刪除選課,查詢選修課程信息;對(duì)于任課教師,可以發(fā)布選課信息,設(shè)置選課年級(jí)及選課人數(shù); 第二章 需求分析 2.1功能性需求 功能類別 功能名稱、標(biāo)識(shí)符 描述 用戶登錄 用戶登錄 對(duì)用戶輸入的用戶名,密碼進(jìn)行驗(yàn)證,驗(yàn)證通過后,系統(tǒng)判斷用戶的權(quán)限,隨后,用戶就登入相應(yīng)的權(quán)限界面,可以對(duì)系統(tǒng)進(jìn)行使用。 用戶注冊(cè) 用戶注冊(cè) 當(dāng)新用戶使用時(shí),可以進(jìn)行注冊(cè)從而使用本軟件。 實(shí)現(xiàn)課程信息和專業(yè)的具體管理 專業(yè)管理 對(duì)系
14、統(tǒng)里面的專業(yè)進(jìn)行管理,能對(duì)專業(yè)進(jìn)行添加和對(duì)專業(yè)的有關(guān)功能進(jìn)行操作。 課程管理 對(duì)課程的管理進(jìn)行操作,包括課程的添加、課程的設(shè)置類型等多個(gè)功能。 學(xué)生選課功能 學(xué)生選課 學(xué)生選擇自己要新修的課程。 查看已選課程 查看選擇的課程 學(xué)生查看自己已將選修的課程。 學(xué)生選課信息的統(tǒng)計(jì) 統(tǒng)計(jì)學(xué)生的選課信息 統(tǒng)計(jì)每門開課的課程的上課時(shí)間、地點(diǎn)和學(xué)生人數(shù)。 修改密碼 修改賬號(hào)的密碼 學(xué)生對(duì)自己賬號(hào)的密碼進(jìn)行修改。 2.1.1用例圖 用戶注冊(cè) 信息管理 用戶選課 查詢課程 修改密碼 2.2非功能性需求 2.2.1 用戶界面需求
15、 需求名稱 詳細(xì)要求 母窗體顯示位置 窗體初次啟動(dòng)時(shí)在屏幕位置居中,窗體最大化。 子窗體顯示位置 窗體初次啟動(dòng)時(shí)在母窗體居中。 界面風(fēng)格 界面為清新風(fēng)格。 界面字體顏色 綠色為主 2.2.2 軟硬件環(huán)境需求 需求名稱 詳細(xì)要求 硬件要求 IBM兼容機(jī)、Intel Pentium III 800/AMD K7以上處理器、128M以上內(nèi)存,支持標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議的網(wǎng)卡 系統(tǒng)平臺(tái) Windows2000/WinXP/Win2003 RedHat Linux 9/Fedora系列 運(yùn)行環(huán)境 Sun Java JRM1.6 For Win/Linu
16、x 2.2.3 產(chǎn)品質(zhì)量需求 主要質(zhì)量屬性 詳細(xì)要求 正確性 業(yè)務(wù)錯(cuò)誤不允許出現(xiàn) 健壯性 能夠正常使用 可靠性 除電源、硬件、操作系統(tǒng)、服務(wù)器管理系統(tǒng)外程序不允許異常退出或崩潰。 性能,效率 系統(tǒng)處理業(yè)務(wù)時(shí)間最遲時(shí)間小于等于5秒 易用性 不用安裝,操作簡(jiǎn)便 清晰性 業(yè)務(wù)流程明確 安全性 用戶信息保密 可擴(kuò)展性 可在當(dāng)前需求基礎(chǔ)之上進(jìn)行功能上的擴(kuò)展 兼容性 可運(yùn)行在大多數(shù)主流的硬件環(huán)境中 可移植性 可運(yùn)行在大多數(shù)主流的操作平臺(tái)上 第三章 可行性分析 3.1編寫目的 為了給軟件開發(fā)企業(yè)的決策層提供是否進(jìn)行項(xiàng)目實(shí)施的參考
17、依據(jù),現(xiàn)以文件的形式分析項(xiàng)目的風(fēng)險(xiǎn)、項(xiàng)目需要的投資與效益。方便讀者概要的了解此軟件系統(tǒng)。 3.2開發(fā)系統(tǒng)的技術(shù)可行性 學(xué)生選課系統(tǒng)是一款管理系統(tǒng),系統(tǒng)囊括了專業(yè)管理和課程管理的基本過程。系統(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 + hibernate+Spring+MySQL平臺(tái)進(jìn)行開發(fā)并實(shí)現(xiàn)。可以進(jìn)行高效的管理,提高工作效率。參考《
18、學(xué)生選課系統(tǒng)統(tǒng)需求說明書》,本系統(tǒng)具有以下特點(diǎn): l 具有良好的系統(tǒng)性能,友好的用戶界面。 l 較高的處理效率,便于使用和維護(hù)。 l 采用成熟的技術(shù)開發(fā),全系統(tǒng)具有較高的技術(shù)水平 l 盡可能地簡(jiǎn)化選課的管理工作,提高工作效率 3.3開發(fā)系統(tǒng)的法律可行性 開發(fā)本系統(tǒng)是為了高校選課的高效管理,并實(shí)現(xiàn)對(duì)決策的支持。在開發(fā)的過程中完全自主開發(fā),不會(huì)出現(xiàn)侵權(quán)問題。另外也會(huì)使用正版的軟件來開發(fā)系統(tǒng)和運(yùn)行系統(tǒng)。開發(fā)出的新系統(tǒng)的工作流程也是完全符合藥品行業(yè)的標(biāo)準(zhǔn),完全在法律的允許范圍之內(nèi)。 3.4社會(huì)條件上的可行性 絡(luò)的普及,網(wǎng)絡(luò)也越來越受到人們的喜愛,這也為新系統(tǒng)實(shí)現(xiàn)后的運(yùn)行提供了一個(gè)大的環(huán)
19、境。 第四章 系統(tǒng)相關(guān)技術(shù)介紹 4.1框架簡(jiǎn)介 (1)Struts Struts是目前Java Web MVC框架中不爭(zhēng)的王者。經(jīng)過長(zhǎng)達(dá)五年的發(fā)展,Struts已經(jīng)逐漸成長(zhǎng)為一個(gè)穩(wěn)定、成熟的框架,并且占有了MVC框架中最大的市場(chǎng)份額。 (2)Spring Spring是一個(gè)開源框架,它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而開發(fā)的。Spring使使用基本的JavaBeans來完成以前只可能由EJB完成的事情變得可能了。Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。在Spring中應(yīng)用對(duì)象被聲明式地組合在一個(gè)X
20、ML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等),讓開發(fā)者更專注于應(yīng)用邏輯。所有的這些特征使開發(fā)者能夠編寫更干凈、更易管理、并且更易于測(cè)試的代碼。 (3)Hibernate Hibernate是高性能的開源框架。提供O/R映像功能,通過XML配置文件能夠?qū)?duì)象映像到數(shù)據(jù)庫(kù)。對(duì)數(shù)據(jù)操作進(jìn)行了封裝,能夠方便簡(jiǎn)潔地解決大多數(shù)的數(shù)據(jù)持久化操作。 4.2實(shí)現(xiàn)架構(gòu)圖 (1)Filter:Web過瀘器,繼承javax.servlet.Filter,用于處理只要客戶請(qǐng)求就必須初始化或處理的實(shí)例。例如可以在這里進(jìn)行請(qǐng)求的編碼轉(zhuǎn)換,為了更好地支持中文,更好的方法就是把客戶端的請(qǐng)入
21、信息轉(zhuǎn)換成UTF-8格式,并存于數(shù)據(jù)庫(kù)中,這種轉(zhuǎn)換就可以在過瀘器中進(jìn)行處理。 (2)ActionServlet:是Struts提供的總控制器,在這里接收來自客戶端的所有請(qǐng)求,并根據(jù)請(qǐng)求參數(shù)和Struts配置文件struts-config.xml決定請(qǐng)求由那個(gè)具體的Action來處理。 (3)Action:由Struts提供的Action類,繼承Struts的org.apache.struts.action.Action類。客戶的不同請(qǐng)求,可以由不同的Action來處理(由ActionServlet總控制器選擇)。Action用于處理客戶請(qǐng)求的具體操作,比如調(diào)調(diào)用Service層的方
22、法進(jìn)行數(shù)據(jù)保存或讀取。Action還根據(jù)struts-config.xml配置選擇頁(yè)面的轉(zhuǎn)發(fā)。對(duì)客戶輸入的信息進(jìn)行驗(yàn)證。 (4)ActionForm::由Struts提供的Form類,繼承Struts的org.apache.struts.action.ActionForm類。用于封裝來自客戶窗體的信息,并可以對(duì)信息進(jìn)行初級(jí)有效性驗(yàn)證。 (5)Jsp和tiles-defs.xml:tiles-defs.xml由Strtus提供,用于頁(yè)面的定義,可以定義JSP模板,不同頁(yè)面都可以斷承該模板。Jsp用于表示界面,可以在Jsp中書寫Struts標(biāo)簽由不牽涉任何Java代碼。 (6)e
23、rvice接口:定義Service的接口,給上層調(diào)用。這里編寫上層所需方法的定義。 (7)Service接口實(shí)現(xiàn):這里實(shí)現(xiàn)Service接口方法的具本實(shí)現(xiàn),并實(shí)現(xiàn)商務(wù)邏輯。該類為了支持Spring的依賴注入功能,需要實(shí)現(xiàn)一個(gè)setXxxDAO()的方法,這樣類就可以利用注入來的DAO進(jìn)行數(shù)處理。在這一層利用Spring的事務(wù)管理,對(duì)這層的方法進(jìn)行事務(wù)聲明管理。 (8)DAO接口:這里定義DAO數(shù)據(jù)訪問層的接口,給業(yè)務(wù)層Service調(diào)用。 (9)DAO接口實(shí)現(xiàn):這里具體實(shí)現(xiàn)DAO接口的所有方法,只進(jìn)行數(shù)據(jù)的保存、讀取、更新等動(dòng)作,不牽涉事務(wù)。該類繼承Spring的org.sp
24、ringframework.orm.hibernate3.support.HibernateDaoSupport類,可以不再理會(huì)Hibernate的API,即可進(jìn)行Hibernate方式的數(shù)據(jù)操作。可以讓代碼更簡(jiǎn)潔,有條理。 (10)Spring:這是系統(tǒng)的中心部分,這里在一個(gè)XML配置文件中定義了大部分的系統(tǒng)Bean,并對(duì)它們進(jìn)行集中管理。定義了DAO層、Service層的所有類。定義了事務(wù),并且定義了方法的事務(wù)策略。 第五章 系統(tǒng)設(shè)計(jì) 5.1數(shù)據(jù)庫(kù)設(shè)計(jì) 本系統(tǒng)定義的數(shù)據(jù)庫(kù)包括: 表tb_course、 tb_specialty、tb_stucourse、tb_stuus
25、er、tb_userlogin. tb_course表:主要用來保存于課程有關(guān)的信息 描述如圖2-1 圖2-1表 tb_course tb_specialty表主要用來保存與專業(yè)有關(guān)的信息 描述如圖2-2 圖2-2表tb_specialty tb_stucourse表:由于會(huì)有多個(gè)學(xué)生選擇多門課程,所以學(xué)生與課程的關(guān)系為多對(duì)多,而該表就是用于關(guān)聯(lián)學(xué)生與課程多對(duì)多關(guān)系。 描述如圖2-3 圖2-3 tb_stucourse表 表tb_stuuser主要用來保存學(xué)生的基本信息 描述如圖2-4 圖2-4表tb_stuuse 表tb_userlogin表
26、主要用于保存登陸信息 描述如圖2-5 圖2-5表tb_userlogin 5.2系統(tǒng)架構(gòu)設(shè)計(jì) 5.2.1 邏輯分層結(jié)構(gòu)設(shè)計(jì) 本系統(tǒng)采用Struts + hibernate+Spring+MySQL平臺(tái)進(jìn)行開發(fā)并實(shí)現(xiàn),總共由4層結(jié)構(gòu)組成,分別為表示層、業(yè)務(wù)層、持久層、數(shù)據(jù)庫(kù)層,完全遵循MVC的模式。其中表示層和業(yè)務(wù)層由struts框架組成,表示層用于提供程序與用戶交互的界面,項(xiàng)目中主要通過JSP、ActionForm、Struts標(biāo)簽庫(kù)進(jìn)行展示;業(yè)務(wù)邏輯層用于處理程序中的各種業(yè)務(wù)邏輯,項(xiàng)目中通過Struts框架的中央控制器及Action對(duì)象對(duì)業(yè)務(wù)請(qǐng)求進(jìn)行處理;持久層由hib
27、ernate框架組成,負(fù)責(zé)應(yīng)用程序與關(guān)系模型數(shù)據(jù)庫(kù)之間的操作;MySQL負(fù)責(zé)數(shù)據(jù)庫(kù)層,具體實(shí)現(xiàn)大致如圖3-1 圖3-1 業(yè)務(wù)邏輯分層結(jié)構(gòu)圖 5.2.2實(shí)體對(duì)象設(shè)計(jì) 本系統(tǒng)實(shí)體映射就是將數(shù)據(jù)表中的字段映射為Java類中對(duì)應(yīng)類型的變量,然后為這些變量增加 setter與getter方法,用于存取變量的值,由于在存取數(shù)據(jù)庫(kù)的時(shí)候我們使用了Hibernate框架,因此還需要編寫關(guān)于數(shù)據(jù)表中字段與實(shí)體類中的變量的hbm.xml配置文件。在高校學(xué)生選課系統(tǒng)中所有的實(shí)體類與映像文件全部存放在com.jwy.dto包中 用戶登陸信息: UserLogin.java為用戶登陸信息實(shí)體類
28、,用于封裝部門信息。 UserLogin.hbm.xml實(shí)體關(guān)系映射配置文件,在該文件中定義UserLogin實(shí)體類中的屬性與tb_userlogin表的關(guān)系,其中主鍵列ID的生成方式為自動(dòng)增長(zhǎng)。 專業(yè)信息: Specialty為專業(yè)信息實(shí)體類,用于映射專業(yè)信息表中的字段。 Specialty.hbn.xml為實(shí)體關(guān)系映射配置文件,在該文件中將Specialty類與數(shù)據(jù)庫(kù)中的tb_ specialty表進(jìn)行關(guān)聯(lián)映射,其中主鍵列ID的生成方式為自動(dòng)增長(zhǎng)。 課程信息: Course.java為課程信息實(shí)體類,用于映射課程表中的字段。 Course.java.hbm.xml實(shí)體關(guān)系映射
29、配置文件,在該文件中將Course類中的屬性與數(shù)據(jù)表tb_course的字段進(jìn)行映射,其中主鍵列ID的生成方式為自動(dòng)增長(zhǎng)。 學(xué)生信息: StuUser.java為學(xué)生信息實(shí)體類,用于映射學(xué)生信息表中的字段。 StuUser.hbm.xml實(shí)體關(guān)系映射配置文件,將實(shí)體類StuUser類中的屬性與tb_stuuser表中的字段進(jìn)行映射,其中ID列為主鍵列,生成方式為用戶指定。 學(xué)生與課程關(guān)聯(lián)信息: StuCourse.java為學(xué)生與課程關(guān)聯(lián)信息表的實(shí)體映射類。 StuCourse.hbm.xml實(shí)體關(guān)系映射配置文件,用于映射實(shí)體類StuCourse中的屬性與數(shù)據(jù)表tb_ StuCou
30、rse中的對(duì)應(yīng)關(guān)系。 5.3運(yùn)行設(shè)計(jì) 5.3.1 運(yùn)行環(huán)境 本系統(tǒng)對(duì)客戶端的要求不高,一般的硬件環(huán)境就可滿足要求,參考配置如下: CPU: Celeron(R) 1.8GHz 內(nèi)存:DDR 1G 硬盤:120G 7200轉(zhuǎn)/min 5.3.2運(yùn)行模塊的組合 學(xué)生用戶模塊 管理人員模塊 運(yùn)行模塊 登陸模塊 5.4系統(tǒng)功能結(jié)構(gòu) 高校學(xué)生選課系統(tǒng)的功能結(jié)構(gòu)如圖1-1所示: 高校學(xué)生選課系統(tǒng) 用戶管理模塊 用戶登陸 學(xué)生模塊 管理模塊 用戶注冊(cè) 選擇課程 查詢課選課程 信息統(tǒng)計(jì) 查詢信息 查詢已選課程 輸入基本信息 修改密碼
31、 增加專業(yè)信息 修改專業(yè)信息 增加新課程信息 修改課程信息 圖1-1 學(xué)生選課系統(tǒng)功能結(jié)構(gòu)圖 5.5 系統(tǒng)流程圖 根據(jù)學(xué)生選課系統(tǒng)的操作流程,系統(tǒng)的流程圖如圖1-2、1-3所示 管理員 學(xué)生選課系統(tǒng) 管理員登陸 基本信息管理 專業(yè)信息管理 課程信息管理 添加專業(yè)信息 查詢專業(yè)信息 修改專業(yè)信息 添加課程信息 查詢課程信息 修改課程信息 圖1-2 學(xué)生選課系統(tǒng)流程圖1 學(xué)生 學(xué)生選課系統(tǒng) 學(xué)生登陸 選課信息管理 查詢可選課程 選擇課程 查詢已選課程 查詢個(gè)人信息 圖1-3 學(xué)生選課系統(tǒng)流程圖2 5.6軟件結(jié)構(gòu) 該系統(tǒng)按照
32、不同的功能可以劃分為用戶管理模塊,學(xué)生模塊和管理模塊。系統(tǒng)功能結(jié)果圖如下: 用戶登錄 學(xué)生模塊 用戶管理模塊 管理模塊 用戶注冊(cè) 修改密碼 輸入基本信息 查詢可選課程 選擇課程 查詢已選課程 查詢個(gè)人信息 修改專業(yè)信息 增加新課程信息 修改課程信息 信息統(tǒng)計(jì) 增加專業(yè)信息 5.7詳細(xì)設(shè)計(jì) 5.7.1界面設(shè)計(jì) (1)通過如下的打登錄界面,能夠保護(hù)系統(tǒng)的安全性: (2)下面是管理員系統(tǒng)的主界面,通過菜單可以實(shí)現(xiàn)各個(gè)功能模塊:(3)下面是學(xué)生系統(tǒng)的主頁(yè)面,通過菜單實(shí)現(xiàn)各個(gè)功能: 5.8系統(tǒng)功能模塊設(shè)計(jì) 5.8.1用戶模塊 (1)用戶注冊(cè)流
33、程 用戶注冊(cè)流程功能主要針對(duì)學(xué)生用戶,學(xué)生注冊(cè)的具體流程如下圖所示。進(jìn)入注冊(cè)頁(yè)面后輸入登錄賬號(hào)等注冊(cè)信息,然后系統(tǒng)會(huì)判斷用戶輸入的登錄賬號(hào)是否已被占用,如果被占用則返回注冊(cè)頁(yè)面并給出提示;如果沒被占用。則把用戶信息寫入數(shù)據(jù)庫(kù)。如何進(jìn)入輸入用戶基本信息頁(yè)面。 學(xué)生注冊(cè) 輸入注冊(cè)信息 判斷注冊(cè)賬號(hào)是否被占用 將注冊(cè)信息寫入數(shù)據(jù)庫(kù) 進(jìn)入填寫基本信息頁(yè)面 (2)用戶注冊(cè)JSP頁(yè)面 在系統(tǒng)首頁(yè)中單擊“新用戶注冊(cè)”超鏈接,就進(jìn)入到reg.jsp頁(yè)面。其運(yùn)行效果如下: 在該頁(yè)面中使用Strus的標(biāo)簽庫(kù)創(chuàng)建表單對(duì)象并在表單對(duì)象中分別加入用戶名,密碼,確認(rèn)密碼以及電子郵箱等表單元素
34、用于輸入信息,然后通過reg.do請(qǐng)求用戶注冊(cè)控制器中的注冊(cè)新用戶的方法來注冊(cè)一個(gè)新用戶 用戶注冊(cè)成功后會(huì)進(jìn)入到學(xué)生基本信息頁(yè)面——addStruInfo.jsp,如圖: 填寫基本信息頁(yè)面中,需要用戶輸入個(gè)人信息以及選擇所學(xué)專業(yè)。 (3)用戶登錄流程 用戶流程圖如下: 用戶登錄 輸入登錄信息 驗(yàn)證用戶名密碼 判斷用戶身份 管理模塊首頁(yè) 判斷是否填寫基本信息 填寫基本信息 學(xué)生模塊首頁(yè) (4)用戶登錄JSP頁(yè)面 用戶登錄頁(yè)面index.jsp也是該系統(tǒng)的首頁(yè),主要用于輸入用戶登錄信息,進(jìn)行登錄操作,頁(yè)面運(yùn)行效果如下: (5)密碼修
35、改JSP頁(yè)面 用戶選擇密碼修改連接進(jìn)入密碼修改JSP頁(yè)面: (6)密碼修改流程 密碼修改流程圖如下: 密碼修改 從當(dāng)前會(huì)話中獲取登錄賬號(hào) 輸入驗(yàn)證身份信息與新密碼 驗(yàn)證用戶身份 更新密碼 生產(chǎn)提示信息返回 5.8.2管理模塊 管理模塊主要實(shí)現(xiàn)了管理專業(yè)信息,課程信息以及對(duì)學(xué)生選課情況進(jìn)行統(tǒng)計(jì)輸出的功能。在此模塊中使用了一個(gè)框架頁(yè)面manager.jsp,其代碼如下:
(1) 專業(yè)管理流程 專業(yè)管理的流程圖如下:專業(yè)管理 增加新專業(yè) 設(shè)置為已結(jié)業(yè) 輸38、入新專業(yè)信息 顯示出未結(jié)業(yè)專業(yè) 寫入數(shù)據(jù)庫(kù) 設(shè)置為不可選 更新數(shù)據(jù)庫(kù) (2)專業(yè)管理頁(yè)面 在top.jsp頁(yè)面中單擊“專業(yè)管理”超鏈接,將進(jìn)入showSpecialty.jsp頁(yè)面,其中顯示了所有的專業(yè)信息。如下圖所示。通過“設(shè)置為已結(jié)業(yè)”超鏈接可以將對(duì)應(yīng)的專業(yè)設(shè)置為已結(jié)業(yè),這樣新用戶就不能注冊(cè)為該專業(yè)的學(xué)生了. showSpecialty.jsp頁(yè)面直接使用EL表達(dá)式讀取保存在請(qǐng)求中的專業(yè)信息,并將其顯示在頁(yè)面中 單擊“增加新專業(yè)”按鈕可以進(jìn)入增加一個(gè)新的專業(yè)頁(yè)面addSpecialty.jsp,在該頁(yè)面中輸入新專業(yè)信息后,點(diǎn)擊“確定”按鈕,即可新建
39、一個(gè)專業(yè)。 (3)課程管理流程 該流程圖如下: 課程管理 增加新課程 根據(jù)條件查詢課程 選舉課程所屬專業(yè),輸入課程信息 顯示課程詳細(xì)信息 寫入數(shù)據(jù)庫(kù) 設(shè)置為不可選 更新數(shù)據(jù)庫(kù) (4)課程管理頁(yè)面 課程管理包括3個(gè)頁(yè)面,即按照指定條件搜索課程頁(yè)面showCourse.jsp,增加新課程頁(yè)面addCourse.jsp以及顯示課程詳細(xì)信息并將課程設(shè)置為不可選頁(yè)面courseInfo.jsp。 showCourse.jsp頁(yè)面根據(jù)用戶輸入的條件搜索符合條件的課程,并顯示。 頁(yè)面運(yùn)行效果如下: 在該頁(yè)面中單擊“增加新課程
40、”按鈕,將進(jìn)入到addCourse.jsp頁(yè)面,此頁(yè)面主要用于創(chuàng)建新的課程
該頁(yè)面運(yùn)行效果如下:
另外單擊查詢出來的課程名稱,將進(jìn)入courseInfo.jsp頁(yè)面。該頁(yè)面主要用于查詢課程的詳細(xì)信息,也可在其中通過
41、jsp頁(yè)面與顯示聽課學(xué)生的stuList.jsp頁(yè)面構(gòu)成。在showStat.jsp頁(yè)面中,按照專業(yè),授課教師姓名以及課程名稱搜索出滿足添加的課程,并顯示在頁(yè)面中 該頁(yè)面運(yùn)行效果如下: 單擊“上課學(xué)員名單”列中某一課程對(duì)應(yīng)的“查看”按鈕后,程序?qū)⒄{(diào)用專業(yè)管理控制器中的stuList()方法將課程信息以及選擇了該門課程的學(xué)生查詢出來,并顯示在stuList.jsp頁(yè)面中。 該頁(yè)面運(yùn)行效果如下: (7)修改密碼 修改密碼時(shí),直接在updatePow.jsp頁(yè)面中通過update.do請(qǐng)求用戶模塊中的用于修改密碼的控制器類即可。在這個(gè)請(qǐng)求中傳遞了一個(gè)type參數(shù),其值為m表示這
42、個(gè)修改密碼請(qǐng)求時(shí)管理模塊發(fā)出的,在完成請(qǐng)求后還有返回到管理模塊的對(duì)應(yīng)頁(yè)面。 該頁(yè)面一下效果如下: 8)退出系統(tǒng) 退出系統(tǒng)是在exit.jsp頁(yè)面中完成,在該頁(yè)面中只需將當(dāng)前的用戶會(huì)話銷毀,并跳出框架返回到項(xiàng)目的首頁(yè)即可。 5.8.3學(xué)生模塊 學(xué)生模塊中的大部分功能都是由StuUserAction類來完成的,StuUserAction繼承了DispatchAction類,是一個(gè)Struts的控制器。在StuUserAction類中編寫insert()方法,用于向數(shù)據(jù)庫(kù)插入學(xué)生的基本信息;編寫welcome()方法此方法將根據(jù)學(xué)生編號(hào)查詢出學(xué)生的基本信息,然后返回到學(xué)生模塊的
43、首頁(yè)——welcome.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ì)信息。 (1)學(xué)生基本信息頁(yè)面 學(xué)生進(jìn)步信息頁(yè)面welcome.jsp是學(xué)生模塊的首頁(yè),主要用于顯示學(xué)生的基本信息。學(xué)生在已填寫過基本信息的情況下,輸入用戶名與密碼,單擊“登錄”按鈕,就進(jìn)入到該頁(yè)面,其運(yùn)
44、行效果如下: (1)選擇新課程頁(yè)面 在學(xué)生模塊頁(yè)面中單擊“選擇新課程”超鏈接,程序?qū)⒄{(diào)用學(xué)生模塊控制器類StuUserAction中的select方法將此學(xué)生可以選擇的所有課程查詢出來,然后顯示在select.jsp頁(yè)面中,其運(yùn)行效果如下: (3) 查詢已選課程頁(yè)面 Selected.jsp頁(yè)面用于顯示學(xué)生已選過的課程信息,學(xué)生可以從中查詢到自己已經(jīng)學(xué)過哪些課程,正在學(xué)習(xí)哪些課程,其運(yùn)行效果如下: (4) 課程詳細(xì)信息頁(yè)面 在選擇新課程與查詢已選課程的頁(yè)面中通過單擊對(duì)應(yīng)的課程名都可以進(jìn)入到courseInfo.jsp頁(yè)面,該頁(yè)面用于顯示課程的詳細(xì)信息,在返回時(shí)根
45、據(jù)URL中的path參數(shù)自動(dòng)判斷應(yīng)該返回到哪一頁(yè)面,其運(yùn)行效果如下: (5)修改登錄密碼頁(yè)面 在登錄修改密碼頁(yè)面stuUpdate.jsp中,學(xué)生可以修改自己的登錄密碼,只要輸入正確的原始密碼以及注冊(cè)賬號(hào)時(shí)填寫的郵箱地址即可進(jìn)行密碼修改。密碼修改操作通過updatePwd.do請(qǐng)求調(diào)用用戶模塊中的密碼修改控制器類UpdatePwdAction進(jìn)行身份驗(yàn)證以及更新數(shù)據(jù)庫(kù)中的舊密碼。在請(qǐng)求中傳遞了一個(gè)type參數(shù),值為u表示這個(gè)修改密碼請(qǐng)求是學(xué)生模塊發(fā)出的,最后還要返回到學(xué)生模塊的對(duì)應(yīng)頁(yè)面。其運(yùn)行效果如下: 第六章 系統(tǒng)測(cè)試 6.1測(cè)試方法 軟件測(cè)設(shè)有2種基本方式,即白盒測(cè)試
46、方法與黑盒測(cè)試方法。 白盒測(cè)試或者基本發(fā)麻的測(cè)試檢查程序的內(nèi)部設(shè)計(jì)。 黑盒測(cè)試也可稱為功能測(cè)試,是根據(jù)軟件的用途和外部特性查找軟件缺陷。 6.2測(cè)試加評(píng)價(jià) 系統(tǒng)基本能實(shí)現(xiàn)需求計(jì)劃中的大部分功能,然后往系統(tǒng)中添加各種數(shù)據(jù),系統(tǒng)顯示正常,各種數(shù)據(jù)沒有益出,能夠正常顯示,并且與后臺(tái)MYSQL數(shù)據(jù)庫(kù)保持一致,因此系統(tǒng)測(cè)試通過,這不得不得益于開發(fā)工具和數(shù)據(jù)庫(kù)后臺(tái)的穩(wěn)定性的特點(diǎn)。 總 結(jié) 高校學(xué)生選課系統(tǒng)是一項(xiàng)比較復(fù)雜而且投入巨大收益較大的系統(tǒng)Webg工程,針對(duì)它的開發(fā)周期所用時(shí)間比較長(zhǎng),所以我們小組討論決定通過分組來完成這個(gè)系統(tǒng),我們決定兩個(gè)人分工合作,分模塊,有難點(diǎn)問題共同尋
47、找解決方案。我們針對(duì)高校學(xué)生選課的實(shí)際情況提出系統(tǒng)設(shè)計(jì)的原型,分析了每個(gè)模塊應(yīng)具備的功能,并且對(duì)每個(gè)模塊做出詳細(xì)的介紹,對(duì)每個(gè)模塊的功能說明了原理以及所具備的特點(diǎn)。 本系統(tǒng)能在WINDOWS以上的操作系統(tǒng)運(yùn)行,高校學(xué)生選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)是基于B/S結(jié)構(gòu)和JavaWeb 開發(fā)平臺(tái),采用了Struts+Sring+Hibernate 三個(gè)框架整合與JAVA編程語(yǔ)言結(jié)合JAVA WEB設(shè)計(jì)與實(shí)現(xiàn)的。采用了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ù)
48、邏輯,將商務(wù)邏輯用JAVA語(yǔ)言開發(fā)成COM+組件,程序代碼更安全,移植更方便,執(zhí)行效率也更高;數(shù)據(jù)層包括數(shù)據(jù)的定義、維護(hù)、訪問和更新,以及管理并響應(yīng)業(yè)務(wù)服務(wù)的數(shù)據(jù)請(qǐng)求等功能。系統(tǒng)在邏輯上分層設(shè)計(jì)可使系統(tǒng)具有較高的擴(kuò)展性和可維護(hù)性。 本系統(tǒng)設(shè)計(jì)基本是想了對(duì)高校的學(xué)生選課、管理選課信息、管理專業(yè)信息、管理賬號(hào)等通用功能。我們?cè)谡n程設(shè)計(jì)這方面市比較弱的,但是經(jīng)過幾個(gè)月的畢業(yè)設(shè)計(jì),我們都付出了辛勤的汗水,得到的收獲是不可過量的,我們對(duì)JAVA WEB的開發(fā)翻閱了大量的書籍,并且也充分的利用的英特網(wǎng),現(xiàn)在我們對(duì)JAVA 數(shù)據(jù)庫(kù)的熟悉度都不可同日而語(yǔ),通過這次畢業(yè)設(shè)計(jì),不僅充實(shí)我的知識(shí)結(jié)構(gòu),擴(kuò)大了我
49、的知識(shí)面,增強(qiáng)了我分析問題和解決問題的能力,為我以后的工作打下了良好的基礎(chǔ)。 參考文獻(xiàn) [1]孫衛(wèi)琴,李洪成.Tomcat與JavaWeb開發(fā)技術(shù)詳解.電子工業(yè)出版社,2009年 [2]BruceEckel.Java編程思想.機(jī)械工業(yè)出版社,2007 [3]孫一林,彭波.Java數(shù)據(jù)庫(kù)編程實(shí)例.清華大學(xué)出版社,2003 [4]FLANAGAN.Java技術(shù)手冊(cè).中國(guó)電力出版社,2006 [5]LEEANNEPHILLIPS.巧學(xué)活用HTML4.電子工業(yè)出版社,1998 [6]飛思科技產(chǎn)品研發(fā)中心.JSP應(yīng)用開發(fā)詳解.電子工業(yè)出版社,2004年 [7] 鄒含輝,黎加厚.基
50、于社會(huì)建構(gòu)主義的網(wǎng)絡(luò)課程管理系統(tǒng)探究——以Moodle課程管理系統(tǒng)為例[J].中小學(xué)電教,2008,(04):20~25 [8] 黎加厚,趙怡.課程管理系統(tǒng)(CMS)及其選擇[J].現(xiàn)代教育技術(shù),2008,(09):30~35王會(huì)霞,劉志兵.網(wǎng)絡(luò)課程管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].有線電視技術(shù),2007,(08):14~16 [9] 趙國(guó)棟,黃永中,林莉.高校課程管理系統(tǒng)的選擇策略研究[J].中國(guó)遠(yuǎn)程教育,2008,(01):12~14 [10] 學(xué)生課程管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 科技資訊, 2006,(31) :30~35 附 錄 1.應(yīng)用框架的加載——Web
51、.xml
52、rEncodingFilter
53、param-name>config
55、e="mail" type="java.lang.String" />
56、
59、
60、
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中生物對(duì)照實(shí)驗(yàn)專題復(fù)習(xí)課件
- 初中物理資源九年級(jí)第十五單元課件串并聯(lián)識(shí)別
- 咯血與嘔血課件
- What's_your_number_課件
- 外研版七下Module3Unit1(教育精品)
- 浙美版三年級(jí)上冊(cè)美術(shù)第15課-剪雪花教學(xué)ppt課件
- 蘇教版六年級(jí)下冊(cè)數(shù)學(xué)正比例和反比例的意義課件
- 蘇教版五下《單式折線統(tǒng)計(jì)圖》教研課件
- 固態(tài)相變概論
- 三角形全等的判定復(fù)習(xí)-課件2
- 太陽(yáng)能發(fā)展趨勢(shì)課件
- 道路工程監(jiān)理最新規(guī)劃范本課件
- SPC及CPK教程(理論篇)課件
- Travel-Plan旅行計(jì)劃-PPT
- 新冠肺炎疫情期間醫(yī)務(wù)人員防護(hù)技術(shù)指南