基于JavaEE的學院體育選向課程網(wǎng)站的設(shè)計與實現(xiàn)畢業(yè)論文_第1頁
基于JavaEE的學院體育選向課程網(wǎng)站的設(shè)計與實現(xiàn)畢業(yè)論文_第2頁
基于JavaEE的學院體育選向課程網(wǎng)站的設(shè)計與實現(xiàn)畢業(yè)論文_第3頁
基于JavaEE的學院體育選向課程網(wǎng)站的設(shè)計與實現(xiàn)畢業(yè)論文_第4頁
基于JavaEE的學院體育選向課程網(wǎng)站的設(shè)計與實現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、屆別 2012 學號200814340108畢業(yè)設(shè)計(論文)基于java ee的湘南學院體育選向課程網(wǎng)站的設(shè)計與實現(xiàn) 畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導教師的指導下進行的研究工作及取得的成果。盡我所知,除文中特別加以標注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機構(gòu)的學位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻的個人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導教師簽名: 日期: 使用授權(quán)說明本人完全了解 大學關(guān)于收集、保存、使用畢業(yè)

2、設(shè)計(論文)的規(guī)定,即:按照學校要求提交畢業(yè)設(shè)計(論文)的印刷本和電子版本;學校有權(quán)保存畢業(yè)設(shè)計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名: 日 期: 學位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導師的指導下獨立進行研究所取得的研究成果。除了文中特別加以標注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。本人完全意識到本聲明的法律后果由本人承擔。作者簽名: 日期: 年 月

3、日學位論文版權(quán)使用授權(quán)書本學位論文作者完全了解學校有關(guān)保留、使用學位論文的規(guī)定,同意學校保留并向國家有關(guān)部門或機構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán) 大學可以將本學位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學位論文。涉密論文按學校規(guī)定處理。作者簽名:日期: 年 月 日導師簽名: 日期: 年 月 日目 錄摘 要iabstractii1 概述11.1 選向課程平臺介紹11.2開發(fā)背景及意義11.3 國內(nèi)外研究動態(tài)21.4 論文的組織結(jié)構(gòu)22系統(tǒng)開發(fā)環(huán)境及相關(guān)技術(shù)理論介紹32.1開發(fā)環(huán)境32.2 相關(guān)技術(shù)簡介33 系統(tǒng)分析113

4、.1系統(tǒng)功能需求分析113.2 可行性分析114 系統(tǒng)總體設(shè)計134.1 系統(tǒng)功能總體框架134.2 系統(tǒng)各功能模塊設(shè)計145 系統(tǒng)詳細設(shè)計175.1系統(tǒng)設(shè)計的原則和目標175.2 系統(tǒng)體系結(jié)構(gòu)的設(shè)計175.3 數(shù)據(jù)庫設(shè)計176 系統(tǒng)的實現(xiàn)236.1 系統(tǒng)實現(xiàn)的流程圖236.2 系統(tǒng)具體功能模塊的實現(xiàn)247 系統(tǒng)的測試327.1軟件測試目的327.2軟件測試方法327.3測試計劃327.4軟件需求測試結(jié)論377.5系統(tǒng)維護37結(jié) 論38參考文獻39致 謝40摘 要湘南學院體育選向課程平臺是針對在校學生和教師使用的一個選排課系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面

5、。本系統(tǒng)采用b/s架構(gòu),構(gòu)建于java ee平臺之上,整個系統(tǒng)應(yīng)用了mvc三層架構(gòu)模式。本系統(tǒng)主要用戶是學生、教師、系教務(wù)管理員和系統(tǒng)管理員。系統(tǒng)管理員管理系統(tǒng)的基本信息,學生和教師通過系統(tǒng)完成不同的工作。系統(tǒng)需要實現(xiàn)的功能主要有4個,系統(tǒng)管理員對整個系統(tǒng)基本信息的維護,教務(wù)人員對課程的編排,教師對應(yīng)的查課功能,以及學生對應(yīng)的選課功能。論文首先對系統(tǒng)進行大致的說明,再介紹了設(shè)計開發(fā)過程中用到的技術(shù),其次是系統(tǒng)需求分析,系統(tǒng)總體設(shè)計,系統(tǒng)詳細設(shè)計,然后具體講解了系統(tǒng)的實現(xiàn)與測試,最后對本次論文做了一個小結(jié)。 關(guān)鍵字:選排課系統(tǒng);數(shù)據(jù)庫;選向課程abstractthe pe elective an

6、d arrangement course platform is aimed to support the students and teachers of xiangnan university for pe course arrangement and election. its development includes database construction and application program production. this platform which bases on java ee and b/s construction, and platform use mv

7、c three layers framework pattern.itsmajorityusersarestudents,teachers,educationalmanagersandplatformmanagers.theplatformmanagersmanagetheessentialinformationofthesystem,andthestudentsandteachersfinishdifferentworkwiththissystem.through this platform there are 4 tasks that can be finished: platform m

8、anager can preserve the information of the whole system, educational managers can arrange the curriculum, the teachers can look for the courses and the students can select courses.this article take a brief introduction of the system at first, then introduction the technology used during designing an

9、d building this system, in the next, analysis the system demand, overall design and detailing structure, then explain the systems enforce and test in details. in the end, this article takes a conclusion of this system design. key words: course selection system, selective curriculum, database 1 概述 1.

10、1 選向課程平臺介紹湘南學院體育選向課程平臺是一個選排課系統(tǒng),選排課系統(tǒng)作為計算機應(yīng)用的一部分,使用計算機對課程信息進行管理,有著手工管理所無法比擬的優(yōu)點1。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事勞資管理的效率,也是各大院校科學化、正規(guī)化管理的重要條件。湘南學院體育選向課程平臺主要用戶是學生、教師、系教務(wù)管理員和系統(tǒng)管理員,教務(wù)人員管理系統(tǒng)的基本信息(如課程、老師、學生等),學生和教師通過系統(tǒng)完成不同的工作。系統(tǒng)需要實現(xiàn)的功能總體來說共有4個,分別如下:(1) 系統(tǒng)管理員可以維護整個系統(tǒng)的基本信息;(2) 教務(wù)人員可以對課程進行編排

11、管理;(3) 教師可以查看課表;(4) 學生可以選課;1.2開發(fā)背景及意義1.2.1背景目前湘南學院體育選向課程采用的方式是教師通過表格手工登記學生選課信息,但是當前湘南學院學生人數(shù)已經(jīng)到達2萬。如果采取傳統(tǒng)的手工方式,就需要教務(wù)管理人員和教師花費大量的時間和精力對選課信息進行統(tǒng)計整理,然后根據(jù)統(tǒng)計信息進行手動編排課程,這種方式不利于教師及教務(wù)管理人員的管理。因此教務(wù)處委托謝老師開發(fā)一個體育選向課程網(wǎng)站,謝老師把這個當作一個畢業(yè)設(shè)計課題,我在謝老師的指導下開發(fā)了這個系統(tǒng)。1.2.1意義解決了傳統(tǒng)方式所造成的教務(wù)管理人員工作的浪費,大大提高了教務(wù)管理員的工作效率。1.3 國內(nèi)外研究動態(tài)隨著int

12、ernet的逐步發(fā)展,網(wǎng)絡(luò)不僅僅是科研部門學術(shù)交流的平臺,在其他的方面上也得到了很大的發(fā)展,尤其是在校園網(wǎng)的分支教務(wù)管理上2。同時在教務(wù)管理的主要分支選課排課系統(tǒng)的應(yīng)用上得到了較大的發(fā)展。國外針對此問題展開的研究較早。1963年c c gotlieb 在他的文章the construction of class-teacher time-tables中提出了課表編排的數(shù)學模型。這篇文章引起了人們對于選排課問題的重視。而國內(nèi)對選排課問題的研究較晚。1984年,清華大學在清華大學學報上發(fā)表了林漳希和林堯瑞在該課題上的實驗性研究成果人工智能技術(shù)在課表編排中的應(yīng)用,標志著我國開始了對選排課問題的研究。

13、目前,我國高校都實行了學分制,它的核心是允許學生自由選課,即把學習的自主權(quán)交給學生。在這里,學生選課時的制約因素比較復(fù)雜,工作量也很大,而且往往需要在較短的時間內(nèi)完成。運用計算機輔助選課,即能實時地對大量選課數(shù)據(jù)進行檢驗和統(tǒng)計,十分方便地輸出選課結(jié)果,同時也避免了人工處理時容易產(chǎn)生的錯誤。在高等學校的教務(wù)管理工作中,課程表的編排是一項十分復(fù)雜、棘手的工作。在排課過程中,除了滿足大量的制約條件以外,還必須解決許多沖突與矛盾3。利用計算機輔助進行課表編排工作,既提高了排課工作的科學性,又可大大減輕管理人員的工作強度,提高工作效率,從而使學校教務(wù)管理現(xiàn)代化邁上了一個新臺階。1.4 論文的組織結(jié)構(gòu)第一

14、章是緒論,簡述設(shè)計本系統(tǒng)的初衷以及背景。第二章是開發(fā)技術(shù)簡介,簡述本系統(tǒng)開發(fā)和設(shè)計過程中用的到的主要技術(shù)。第三章是系統(tǒng)需求分析,簡述自己分析系統(tǒng),對項目進行需求分析。第四章是系統(tǒng)的概要設(shè)計,簡述系統(tǒng)的概要設(shè)計的。第五章是詳細設(shè)計,簡述系統(tǒng)設(shè)計的詳細過程。第六章是系統(tǒng)的實現(xiàn),簡述系統(tǒng)是如何實現(xiàn)的。第七章是系統(tǒng)的測試,對系統(tǒng)進行必要的測試。最后是結(jié)論,總結(jié)了本論文的主要工作和系統(tǒng)特色,以及本次論文設(shè)計的心得。2系統(tǒng)開發(fā)環(huán)境及相關(guān)技術(shù)理論介紹2.1開發(fā)環(huán)境2.1.1 硬件環(huán)境cup:至少pentiumiii800以上內(nèi)存:至少128m以上硬盤:至少20g硬盤空間以上顯示器:15顯示器2.1.2 軟件

15、環(huán)境運行環(huán)境: windows 7開發(fā)工具: myeclipse8.6數(shù)據(jù)庫: mysql5.5web服務(wù)器: tomcat6.0.32瀏覽器: ie 8.02.2 相關(guān)技術(shù)簡介2.2.1java ee概述j2ee是美國sun公司推出的一種全新概念的應(yīng)用程序模型,是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進而提高可移植性、安全與再用價值。與傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用程序模型相比有著不可比擬的優(yōu)勢。目前,java 2平臺有3個版本,它們是適用于小型設(shè)備和智能卡的java 2平臺micro版(java 2 platform micro edition,j2m

16、e)、適用于桌面系統(tǒng)的java 2平臺標準版(java 2 platform standard edition,j2se)、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的java 2平臺企業(yè)版(java 2 platform enterprise edition,j2ee)。j2ee是一種利用java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。java語言相對于windows變成語言來說,最大優(yōu)勢在java語言是跨平臺的,而widows的編程通常都是針對windows系統(tǒng)來開發(fā),可移植性遠不及java。j2ee技術(shù)的基礎(chǔ)就是核心java平臺或java 2平臺的標準版,j2ee不僅鞏

17、固了標準版中的許多優(yōu)點,例如編寫一次、隨處運行的特性、方便存取數(shù)據(jù)庫的jdbc(java database connectivity)應(yīng)用程序接口(api, application program interface)技術(shù)以及能夠在internet應(yīng)用中保護數(shù)據(jù)的安全模式等等,同時還提供了對 ejb(enterprise javabeans)、java servlets api、jsp(java server pages)以及xml技術(shù)的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)4。2.2.2 struts 2框架與mvc簡介struts 2是struts的

18、下一代產(chǎn)品,是在 struts 和webwork的技術(shù)基礎(chǔ)上進行了合并的全新的struts 2框架。其全新的struts 2的體系結(jié)構(gòu)與struts 1的體系結(jié)構(gòu)的差別巨大。struts 2以webwork為核心,采用攔截器的機制來處理用戶的請求,這樣的設(shè)計也使得業(yè)務(wù)邏輯控制器能夠與servlet api完全脫離開,所以struts 2可以理解為webwork的更新產(chǎn)品。雖然從struts 1到struts 2有著太大的變化,但是相對于webwork,struts 2只有很小的變化,如圖2-1所示:圖2-1 struts的工作原理圖mvc模式英文即model-view-controller,即

19、把一個應(yīng)用的輸入、處理、輸出流程按照model、view、controller的方式進行分離,這樣一個應(yīng)用被分成三個層模型層、視圖層、控制層。視圖(view)代表用戶交互界面,對于web應(yīng)用來說,可以概括為html界面,但有可能為xhtml、xml和applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。模型(model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計可以說是mvc最主要的核心??刂?controller)可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成

20、用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到 這些變化。因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導致顯示的更新。這實際上是一種模型的變化-傳播機制5。如圖2-2所示:圖2-2 mvc的原理圖2.2.3 hibernate與orm簡介對象-關(guān)系映射(object/relation mapping,簡稱orm),是

21、隨著面向?qū)ο蟮能浖_發(fā)方法發(fā) 展而產(chǎn)生的。面向?qū)ο蟮拈_發(fā)方法是當今企業(yè)級應(yīng)用開發(fā)環(huán)境中的主流開發(fā)方法,關(guān)系數(shù)據(jù)庫是企業(yè)級應(yīng)用環(huán)境中永久存放數(shù)據(jù)的主流數(shù)據(jù)存儲系統(tǒng)。對象和關(guān)系數(shù) 據(jù)是業(yè)務(wù)實體的兩種表現(xiàn)形式,業(yè)務(wù)實體在內(nèi)存中表現(xiàn)為對象,在數(shù)據(jù)庫中表現(xiàn)為關(guān)系數(shù)據(jù)。內(nèi)存中的對象之間存在關(guān)聯(lián)和繼承關(guān)系,而在數(shù)據(jù)庫中,關(guān)系數(shù)據(jù)無法 直接表達多對多關(guān)聯(lián)和繼承關(guān)系。因此,對象-關(guān)系映射(orm)系統(tǒng)一般以中間件的形式存在,主要實現(xiàn)程序?qū)ο蟮疥P(guān)系數(shù)據(jù)庫數(shù)據(jù)的映射。hibernate是輕量級java ee應(yīng)用的持久層解決方案,hibernate不僅管理java類到數(shù)據(jù)庫表的映射(包括java數(shù)據(jù)類型到sql數(shù)據(jù)類

22、型的映射),還是提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法,可以大幅度縮短使用jdbc處理數(shù)據(jù)持久化的時間。目前的主流數(shù)據(jù)庫依然是關(guān)系型數(shù)據(jù)庫,而java語言則是面向?qū)ο蟮木幊陶Z言6,當把二者結(jié)合在一起使用時相當麻煩,而hibernate則減少了這個問題的困擾,它完成對象模型和基本sql的關(guān)系模型的映射關(guān)系。因為有hibernate的支持,使得javaee應(yīng)用的ooa(面向?qū)ο蠓治?、ood(面向?qū)ο笤O(shè)計)、oop(面向?qū)ο缶幊蹋┤齻€過程一脈相承,成為一個整體。由于hibernate是一個和jdbc密切關(guān)聯(lián)的框架,所以hibernate的兼容性和jdbc驅(qū)動,和數(shù)據(jù)庫都有一定的關(guān)系,但是和使用它的java程

23、序,和app server沒有任何關(guān)系,也不存在兼容性問題。如圖2-3所示:圖2-3 hibernate體系總覽圖由于hibernate比較復(fù)雜,提供了好幾種運行方式。在輕型體系中,應(yīng)用程序自己提jdbc連接,并自行管理事務(wù)。這種方式使用了hibernate api的一個最小子集。如圖2-4所示:圖2-4 hibernate輕型應(yīng)用體系在前面解決體系中,對于應(yīng)用程序來說,所有的底層jdbc/jta api都被抽象了,hibernate會替你照管好所有的細節(jié)。本文中所用到的就是這種體系。如圖2-5所示:圖2-5 hibernate全面應(yīng)用解決體系以下是圖中一些對象的定義: 1)sessionfa

24、ctory 對屬于單一數(shù)據(jù)庫的編譯過的映射文件的一個線程安全的,不可變的緩存快照。它是session的工廠,是connectionprovider的客戶??赡艹钟幸粋€可選的二級數(shù)據(jù)緩存,可以在進程級別后集群級別保存可以在事務(wù)中重用的數(shù)據(jù)。2)session 會話 session是生命周期的單線程對象,代表應(yīng)用程序和持久層之間的一次對話。封裝了一個jdbc連接,也是transaction的工廠。保存有必需的(第一級)持久化對象的緩存,用于遍歷對象圖或通過標識符查找對象。3)持久化對象(persistent object)及其集合(collection)生命周期短的單線程對象包含了持久化狀態(tài)和商業(yè)

25、功能。它們可能是普通的javabeans/pojos,唯一特別的是他們現(xiàn)在都從屬于且僅從屬于一個session。一旦session關(guān)閉,他們都將從session中取消聯(lián)系,可以在任何程序?qū)幼杂墒褂谩?)事務(wù)(transaction)事務(wù)也是生命周期短的單線程對象,應(yīng)用程序用它來表示一批工作的原子操作。是底層的jdbc,jta或者corba事務(wù)的抽象。一個session某些情況下可能跨越多個事務(wù)。2.2.4 spring簡介spring 是一個開源 框 架,是為了解決企業(yè) 應(yīng) 用程序開發(fā)復(fù)雜性而創(chuàng)建的??蚣艿闹饕獌?yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許您選擇使用哪一個組件,同時為j2ee 應(yīng)用程序開

26、發(fā)提供集成的框架。spring 框架的功能可以用在任何j2ee 服務(wù)器中,大多數(shù)功能也適用于不受管理 的環(huán)境。spring 的核心要點是:支持不綁定到特定j2ee 服務(wù)的可重用業(yè)務(wù)和數(shù)據(jù)訪問對象。這樣的對象可以在不同j2ee 環(huán)境(web 或ejb )、獨立應(yīng)用程序、測試 環(huán)境之間重用7,如圖2-6所示:圖2-6 spring框架的組成結(jié)構(gòu)圖組成spring 框架的每個模塊(或組件)都可以單獨存在,或者與其他一個或多個模塊聯(lián)合實現(xiàn)。每個模塊的功能如下: 核心容器:核心容器提供spring 框架的基本功能。核心容器的主要組件是beanfactory ,它是工廠模式的實現(xiàn)。beanfactory

27、使用控制反轉(zhuǎn) (ioc ) 模式將應(yīng)用程序的配置和依賴性規(guī)范與實際的應(yīng)用程序代碼 分 開。 spring 上下文:spring 上下文是一個配置文件,向spring 框架提供上下文信息。spring 上下文包括企業(yè)服務(wù),例如jndi 、ejb 、電子郵件、國際化、校驗和調(diào)度功能。 spring aop : 通過配置管理特性,spring aop 模塊直接將面向方面的編程 功 能集成到了spring 框架中。所以,可以很容易地使spring 框架管理的任何對象支持aop 。spring aop 模塊為基于spring 的應(yīng)用程序中的對象提供了事務(wù)管理服務(wù)。通過使用spring aop ,不用依賴

28、ejb 組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。 spring dao :jdbc dao 抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來管理異常處理和不同數(shù)據(jù)庫 供應(yīng)商拋出的錯誤消息。異常層次結(jié)構(gòu)簡化了錯誤處理,并 且極大地降低了需要編寫 的異常代碼數(shù)量(例如打開和關(guān)閉連接)。spring dao 的面向jdbc 的異常遵從通用的dao 異常層次結(jié)構(gòu)。 spring orm :spring 框架插入了若干個orm 框架,從而提供了orm 的對象關(guān)系工具,其中包括jdo 、hibernate 和ibatis sql map 。所有這些都遵從spring 的通用事務(wù)和dao 異常層次結(jié)構(gòu)。

29、 spring為企業(yè)應(yīng)用的開發(fā)提供了一個輕量級的解決方案。該解決方案包括:基于依賴注入的核心機制,基于aop的聲明式事務(wù)管理,與多種持久層技術(shù)的整合,以及優(yōu)秀的web mvc 框架等。spring致力于java ee 應(yīng)用各層的解決方案,而不是僅僅專注于某一層的方案。2.2.5 jsp技術(shù)簡介jsp技術(shù)提供了一種簡單快速的方法來創(chuàng)建顯示動態(tài)生成內(nèi)容的web頁面。也就是在mvc中充當v(view)的角色。由業(yè)界處于領(lǐng)先地位的sun公司制定了相關(guān)的jsp技術(shù)規(guī)范,該規(guī)范定義了如何在服務(wù)器和jsp頁面間進行交互,還描述了頁面的格式和語法8。jsp頁面使用xml標簽和scriptlets(一種使用ja

30、va語言編寫的腳本代碼),封裝了生成頁面內(nèi)容的邏輯。它將各種格式的標簽(html或者xml)直接傳遞回響應(yīng)頁面。通過這種方式,jsp頁面實現(xiàn)了頁面邏輯與其設(shè)計和顯示的分離。jsp技術(shù)是java系列技術(shù)的一部分。jsp頁面被編譯成servlet,并可能調(diào)用javabeans組件(beans)或enterprise javabeans組件(企業(yè)beans),以便在服務(wù)器端處理。因此,jsp技術(shù)在構(gòu)建可升級的基于web的應(yīng)用程 序時扮演了重要角色。 jsp頁面并不局限于任何特定的平臺或web服務(wù)器上。jsp規(guī)范在業(yè)界有著廣泛的適應(yīng)性。 jsp技術(shù)是行業(yè)協(xié)作的結(jié)果,它的設(shè)計是開放的,符合行業(yè)標準的,并

31、支持絕大多數(shù)的服務(wù)器、瀏覽器和相關(guān)工具。由于使用可重用的組件和標簽取代了對頁面本身腳本語言的嚴重依賴,jsp技 術(shù)大大加快了開發(fā)的速度。所有jsp的實現(xiàn)均支持以java編程語言為基礎(chǔ)的腳本語言,它有與生俱來的可適應(yīng)性,支持復(fù)雜的操作。2.2.6 mysql數(shù)據(jù)庫簡介mysql是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典mysql ab公司。在2008年1月16號被sun公司收購。而2009年,sun又被oracle收購。mysql是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù) 保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi)。這樣就增加了速度并提高了靈活性。mysql的sql“結(jié)構(gòu)化查詢語言”。

32、sql是用于訪問數(shù)據(jù)庫的最常用標準化語言。mysql軟件采用了gpl(gnu通用公共許可證)。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了mysql作為網(wǎng)站數(shù)據(jù)庫9。與其他的大型數(shù)據(jù)庫例如oracle、db2、sql server等相比,mysql自有它的不足之處,如規(guī)模小、功能有限(mysql cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,mysql提供的功能已經(jīng)綽綽有余,而且由于mysql是開放源碼軟件,因此可以大大降低總體擁有成本。3 系統(tǒng)分析3.1系統(tǒng)

33、功能需求分析現(xiàn)代化學校應(yīng)該有個現(xiàn)代化的管理系統(tǒng)去管理學校內(nèi)的各項事物,學校是一個數(shù)據(jù)量比較大的單位,如何去管理及查詢學校內(nèi)的數(shù)據(jù)就成為了一項及為重要的問題,同時,學生選課、教務(wù)人員排課這項工作是教學管理中很重要的一個環(huán)節(jié),所以開發(fā)出一個選排課系統(tǒng)就是現(xiàn)在及為重要的事情,從而選排課系統(tǒng)的重要性就不言而喻了10。本系統(tǒng)的設(shè)計目的是要將學生選擇課程和教務(wù)管理人員的編排課程通過網(wǎng)絡(luò)進行管理。為學生、教師和教務(wù)管理人員提供便利。系統(tǒng)的用戶有4種類型,分別為系統(tǒng)管理員、系教務(wù)管理員、學生、教師,系統(tǒng)對于一個用戶只允許以一種身份登錄。系統(tǒng)管理員登錄后可以對系統(tǒng)進行信息管理,其主要操作是維護學生、教師和課程的

34、基本信息。學生登錄后的主要操作是選課和查看教師主頁以及查看通知和發(fā)布留言。教師登錄后主要操作是查看課表以及個人信息的維護、留言等功能。將系統(tǒng)需求加以總結(jié),得出系統(tǒng)具有如下幾個功能:(1) 系統(tǒng)可以運行在windows操作系統(tǒng)平臺上,并具有友好的用戶界面。(2) 系統(tǒng)用戶類型為:系統(tǒng)管理員、教務(wù)人員、學生、教師。(3) 系統(tǒng)對于一個用戶只允許以一種身份登錄。(4) 只有系統(tǒng)管理員可以維護學生、教師和課程的基本信息。(5) 學生可以選課、查看教師主頁并留言。(6) 教師可以選擇查看課表、修改個人信息并增刪改留言。3.2 可行性分析可行性分析(feasibility analysis)也稱為可行性研

35、究,任何一個基于計算機的系統(tǒng),都會受到時間和資源上的限制。必須根據(jù)客戶可能提供的時間和資源條件進行可行性研究。它可以避免人力、物力和財力上的浪費。對該系統(tǒng)的開發(fā)從經(jīng)濟、技術(shù)、操作三方面進行分析和研究11??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容。3.2.1經(jīng)濟可行性分析確定開發(fā)項目的開發(fā)成本以及估算開發(fā)項目所能夠產(chǎn)生的經(jīng)濟效益:該系統(tǒng)目前在校園里受到一致好評,在方便高效快捷的基礎(chǔ)上,有助于學生學習、教師工作及有效的管理的應(yīng)用價值,有很好的實用和發(fā)展前景。所以本系統(tǒng)在經(jīng)濟上是可行的。3.2.2技術(shù)可行性分析確定現(xiàn)有的技術(shù)是否

36、能解決本該開發(fā)項目:本系統(tǒng)主要采用struts2+hibernate+spring架構(gòu),使用java語言,和mysql數(shù)據(jù)庫等主要技術(shù),整個平臺構(gòu)建于java ee之上,比較容易實現(xiàn)。所以在技術(shù)上也是可行的。3.2.3操作可行性分析確定軟件產(chǎn)品是否能夠被最終的用戶所接受,用戶是否能操作最終的產(chǎn)品:本系統(tǒng)采用b/s架構(gòu),客戶端采用瀏覽器的形式,操作簡單,方便使用。所以在操作上也是可行的。綜上所述,此系統(tǒng)開發(fā)目標已明確,在技術(shù)和經(jīng)濟,操作三方面都可行,并且投入少、見效快。因此系統(tǒng)的開發(fā)是完全可行的。4 系統(tǒng)總體設(shè)計4.1 系統(tǒng)功能總體框架本系統(tǒng)主要有教務(wù)管理員、教師、學生和系統(tǒng)管理員四種用戶組,功

37、能都是圍繞這四個個用戶組設(shè)計的。教務(wù)管理員相關(guān)的功能結(jié)構(gòu)圖如圖4-1所示:4-1系教務(wù)管理員功能結(jié)構(gòu)圖教師相關(guān)的功能結(jié)構(gòu)圖如圖4-2所示:4-2教師功能結(jié)構(gòu)圖學生相關(guān)的功能結(jié)構(gòu)圖如圖4-3所示:4-3學生功能結(jié)構(gòu)圖系統(tǒng)管理員相關(guān)的功能結(jié)構(gòu)圖如圖4-4所示:系統(tǒng)總體的功能結(jié)構(gòu)圖如圖4-5所示:4-5系統(tǒng)結(jié)構(gòu)圖4.2 系統(tǒng)各功能模塊設(shè)計經(jīng)過詳盡的需求分析,確定各功能模塊內(nèi)容大致如下:4.2.1系教務(wù)管理員功能模塊系教務(wù)管理員注冊、登錄(注冊需要經(jīng)過認證)后,能自動生成該教務(wù)管理員主頁,教務(wù)管理員應(yīng)具有根據(jù)學生選課信息進行排課(手動和自動)、調(diào)課,并生成相應(yīng)的排課表及可以在自己的主頁上發(fā)布、刪除、修

38、改自己的通知與查看留言等功能。4.2.2 教師功能模塊教師注冊、登錄、修改個人信息(注冊需要經(jīng)過認證)后,能自動生成該教師主頁,教師可以查看本學期個人課表及系總課表及可以在自己的主頁上可以發(fā)布、刪除、修改自己的留言。4.2.3 學生功能模塊學生注冊、登錄后,能自動生成該學生主頁,學生可以查看訪問教師個人主頁,針對不同教師、不同課程(同一名教師的同一門課程,最多人數(shù)為35人),學生可以自由選課及留言。4.2.4后臺管理功能模塊后臺管理:系統(tǒng)管理員應(yīng)具有對數(shù)據(jù)進行添加、刪除、更改等維護功能。4.3 系統(tǒng)總體及各實體用例圖設(shè)計系統(tǒng)總體例圖如圖4-6所示:前端用戶包括教務(wù)管理員、教師、和學生。留言用戶

39、注冊用戶登錄查詢課表查看通知選課管理員登錄用戶管理課程管理留言管理通知管理前端用戶系統(tǒng)管理員圖4-6 系統(tǒng)總體用例圖5 系統(tǒng)詳細設(shè)計5.1系統(tǒng)設(shè)計的原則和目標本系統(tǒng)的設(shè)計目標是借助互聯(lián)網(wǎng)為學校建立的一個選向課程網(wǎng)站,是針對在校學生和教師使用的一個選排課系統(tǒng),該系統(tǒng)能方便學生的選課,教務(wù)管理員對學生選課信息進行排課、調(diào)課,學校的教務(wù)管理。最終實現(xiàn)了用戶和課程的信息化管理。5.2 系統(tǒng)體系結(jié)構(gòu)的設(shè)計系統(tǒng)依據(jù)mvc模式可分為視圖層、控制層、模型層。從程序分布位置角度,系統(tǒng)依次分布在瀏覽器、應(yīng)用服務(wù)器、數(shù)據(jù)庫系統(tǒng)三層,如圖5-1所示:圖5-1 系統(tǒng)體系構(gòu)架圖5.3 數(shù)據(jù)庫設(shè)計5.3.1 數(shù)據(jù)庫概念結(jié)構(gòu)

40、設(shè)計概念結(jié)構(gòu)的設(shè)計是將系統(tǒng)需求分析得到的用戶需求抽象為信息結(jié)構(gòu)過程。概念結(jié)構(gòu)設(shè)計的結(jié)果是數(shù)據(jù)庫的概念模型。只有將系統(tǒng)應(yīng)用需求為信息世界的結(jié)構(gòu),才能轉(zhuǎn)化為機器翻譯世界中的數(shù)據(jù)模型,并用dbms實現(xiàn)這些需求。按照自頂向下分析需求與自底向上設(shè)計概念結(jié)構(gòu)方法,概念結(jié)構(gòu)的設(shè)計可分為兩步:第一步是抽象數(shù)據(jù)并設(shè)計局部視圖;第二步是集成局部視圖,得到全局的概念結(jié)構(gòu)。利用數(shù)據(jù)抽象的方法可以對現(xiàn)實世界抽象得出概念模型的子集及屬性,概念結(jié)構(gòu)設(shè)計是利用抽象機制對需求分析階段悼念到的數(shù)據(jù)進行分類、組織(聚集),形成實體集、屬性和碼,確定實體集之間的聯(lián)系類型,進而設(shè)計e-r圖。5.3.1.1各實體及其屬性本系統(tǒng)總共有以下

41、9個實體:(1) 系統(tǒng)管理員(id號,用戶名,密碼)。(2) 教務(wù)管理員(id號,用戶名,密碼,編號,真實姓名,身份認證)。(3) 教師(id號,用戶名,密碼,編號,真實姓名,所在系,身份認證)。(4) 學生(id號,用戶名,密碼,編號,真實姓名,所在系,權(quán)限(5) 課程(id號,課程編號,課程名稱,課程類型)。(6) 選課(id號,用戶名,課程名字)。(7) 留言(id號,用戶名,內(nèi)容,時間)。(8) 排課(id號,編號,名字,教師名稱,學分,學時,地址,時間)。(9) 通知(id號,標題,內(nèi)容,時間)5.3.1.2系統(tǒng)e-r圖系統(tǒng)的實體之間關(guān)系e-r圖如圖5-2、5-3所示圖5-2 課程-

42、用戶圖5-3 用戶-通知-留言5.3.2 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫在系統(tǒng)中占有及其重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞關(guān)系到系統(tǒng)的運行效率、存儲數(shù)據(jù)的效率、系統(tǒng)的復(fù)雜程度等,合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高系統(tǒng)性能。據(jù)庫中的各個表的設(shè)計結(jié)果如下表所示(每個表格表示數(shù)據(jù)庫中的一個表)。(1)用戶信息表用戶信息表記錄了所有用戶的信息。其中包括用戶id,用戶名,編號,性別,用戶真實姓名,權(quán)限,身份認證。它們的屬性如表5-1所示。設(shè)置用戶id為主鍵。表5-1用戶信息表(usertable)列 名數(shù) 據(jù) 類 型字 段 大 小必 填 字 段默 認 值備 注idint11是主鍵,用戶id usernamevarch

43、ar50是null用戶名sexvarchar10是null性別passwordvarchar50是null密碼xuehaovarchar50是null編號zsxmvarchar50是null真實名suozaixivarchar50是null所在系quanxianvarchar50是null權(quán)限sfrzvarchar50是null是否認證(2)課程信息表課程信息表記錄了課程的所有信息,包括課程編號,課程名稱,課程類型,其屬性如表5-2示。設(shè)置課程id為主鍵。表5-2課程信息表(kecheng)列 名數(shù) 據(jù) 類 型字 段 大 小必 填 字 段默 認 值備 注idint11是主鍵,課程idk_bia

44、nhaovarchar50是null課程編號k_namevarchar50是null課程名稱k_typevarchar50是null課程類型(3)排課信息表排課信息表記錄了排課的所有信息,包括課程編號,課程名稱,教師,學分,學時,上課地址,開課時間。其屬性如表5-3示。設(shè)置排課id為主鍵。表5-3排課信息表(paike)列 名數(shù) 據(jù) 類 型字 段 大 小必 填 字 段默 認 值備 注idint11是主鍵,排課idk_bianhaovarchar50是null課程編號k_namevarchar50是null課程名稱teachervarchar50是null教師xuefenvarchar10是nu

45、ll學分xueshivarchar10是null學時addressvarchar50是null地址shijianvarchar50是null時間(4)選課信息表選課信息表記錄了選課的所有信息,包括選課id,課程名稱,用戶名稱。其屬性如表5-4示。設(shè)置選課id為主鍵。表5-4選課信息表(xuanke)列 名數(shù) 據(jù) 類 型字 段 大 小必 填 字 段默 認 值備 注idint11是主鍵,選課idusernamevarchar50是null用戶名稱k_namevarchar50是null課程名稱(5)留言信息表留言信息表記錄了留言的所有信息,包括留言id,用戶名稱,留言內(nèi)容,留言時間。其屬性如表5-

46、5示。設(shè)置留言id為主鍵。表5-5留言信息表(liuyan)列 名數(shù) 據(jù) 類 型字 段 大 小必 填 字 段默 認 值備 注idint11是主鍵,留言idusernamevarchar50是null用戶名稱contextvarchar200是null留言內(nèi)容shijianvarchar50是null留言時間(6)通知信息表通知信息表記錄了通知的所有信息,包括通知id,通知標題,通知內(nèi)容,發(fā)布時間。其屬性如表5-6示。設(shè)置通知id為主鍵。表5-6通知信息表(tongzhi)列 名數(shù) 據(jù) 類 型字 段 大 小必 填 字 段默 認 值備 注idint11是 主鍵,通知idtitlevarchar50

47、是null通知標題contextvarchar200是null通知內(nèi)容shijianvarchar50是null發(fā)布時間6 系統(tǒng)的實現(xiàn)6.1 系統(tǒng)實現(xiàn)的流程圖本系統(tǒng)共有系統(tǒng)管理員、教務(wù)管理員、教師和學生四種用戶,根據(jù)其功能需求,它們相關(guān)的系統(tǒng)流程圖如圖6-1所示:圖6-1系統(tǒng)流程圖6.2 系統(tǒng)具體功能模塊的實現(xiàn)6.2.1用戶注冊設(shè)計模塊的實現(xiàn)用戶注冊頁面如圖6-2,圖6-3所示:圖6-2 用戶注冊選擇注冊身份頁面圖6-3 用戶注冊頁面用戶選擇注冊的身份后并填入完必要信息后,點擊提交,將信息提交給zhuce.jsp進行操作。其相關(guān)代碼部分如下:form name=zhuce action=/us

48、ercreate.action method=post用戶名:密 碼:確認密碼:學號:真實姓名:性別:男 女 所在系別:input type=hidden value= name=quanxian/ 點擊確定按鈕后交給usercreate.action進行處理,usercreateaction中相關(guān)代碼如下:public string createuser()usertable tusertable = new usertable();tusertable.setusername(username);tusertable.setpassword(password);tusertable.setxuehao(xuehao);tusertable.setzsxm(zsxm);tusertable.setsex(sex);tusertable.setsuozaixi(suozaixi);tusertable.setquanxian(quanxian);if(學生.equals(quanxian)tusertable.setsfrz(1);elsetusertable.setsfrz(0);string result = getusertableservice().createuser(tusertable);return res

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論