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

下載本文檔

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

文檔簡介

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

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

3、解學校有關(guān)保留、使用學位論文的規(guī)定,同意學校保留并向國家有關(guān)部門或機構(gòu)送交論文的復印件和電子版,允許論文被查閱和借閱。本人授權(quán) 大學可以將本學位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學位論文。涉密論文按學校規(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.1系統(tǒng)功能需求分析113.2 可行性分析11

4、4 系統(tǒng)總體設計134.1 系統(tǒng)功能總體框架134.2 系統(tǒng)各功能模塊設計145 系統(tǒng)詳細設計165.1系統(tǒng)設計的原則和目標165.2 系統(tǒng)體系結(jié)構(gòu)的設計165.3 數(shù)據(jù)庫設計166 系統(tǒng)的實現(xiàn)216.1 系統(tǒng)實現(xiàn)的流程圖226.2 系統(tǒng)具體功能模塊的實現(xiàn)247 系統(tǒng)的測試307.1軟件測試目的317.2軟件測試方法317.3測試計劃317.4軟件需求測試結(jié)論367.5系統(tǒng)維護36結(jié) 論37參考文獻38致 謝39摘 要湘南學院體育選向課程目前采用的方式是教師通過表格手工登記學生選課信息,然后根據(jù)收集到信息進行手動編排課程。這種方式不利于教師及教務管理人員的管理,而且會大大增加教務管理人員工作量

5、。為此本論文設計了一個針對體育選向課程的選排課系統(tǒng),從而解決了由傳統(tǒng)方式造成的教務管理人員工作量浪費問題,大大提高了教務管理人員的工作效率。論文首先對系統(tǒng)進行大致的說明,再介紹了設計開發(fā)過程中用到的技術(shù),其次是系統(tǒng)需求分析,系統(tǒng)總體設計,系統(tǒng)詳細設計,然后具體講解了系統(tǒng)的實現(xiàn)與測試,最后對本次論文做了一個小結(jié)。關(guān)鍵字:選排課系統(tǒng);選向課程;數(shù)據(jù)庫abstractxiangnan university uses an low-effective pe course selecting system, which needs the teachers sign the course selecti

6、ve information of the students by excel, and then arrange the curriculum by manual operation. this way is not effective for the teachers and administers to manage, for it increasing their work load. in order to solve this problem, the author designed a pe course selection system. by this way, there

7、are no more educational administer waste, and it also increased their work efficiency.this article take a brief introduction of the system at first, then introduction the technology used during designing and building this system, in the next, analysis the system demand, overall design and detailing

8、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; database1 概述 1.1 選向課程平臺介紹湘南學院體育選向課程平臺是一個選排課系統(tǒng),選排課系統(tǒng)作為計算機應用的一部分,使用計算機對選排課信息進行管理,有著手工管理所無法比擬的優(yōu)點1。例如:檢索迅速、查找方便、可靠

9、性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事勞資管理的效率,也是各大院??茖W化、正規(guī)化管理的重要條件。湘南學院體育選向課程平臺主要用戶是學生、教師、系教務管理員和系統(tǒng)管理員,教務人員管理系統(tǒng)的基本信息(如課程、老師、學生等),學生和教師通過系統(tǒng)完成不同的工作。系統(tǒng)需要實現(xiàn)的功能總體來說共有4個,分別如下:1、 系統(tǒng)管理員可以維護整個系統(tǒng)的基本信息;2、 教務人員可以對課程進行編排管理;3、 教師可以查看課表;4、 學生可以選課;1.2開發(fā)背景及意義1.2.1背景目前湘南學院體育選向課程采用的方式是教師通過表格手工登記學生選課信息,但是當前湘南學院學生人數(shù)已經(jīng)到達2萬。

10、如果采取傳統(tǒng)的手工方式,就需要教務管理人員和教師花費大量的時間和精力對選課信息進行統(tǒng)計整理,然后根據(jù)統(tǒng)計信息進行手動編排課程,這種方式不利于教師及教務管理人員的管理。因此教務處委托謝老師開發(fā)一個體育選向課程網(wǎng)站,謝老師把這個當作一個畢業(yè)設計課題,我在謝老師的指導下開發(fā)了這個系統(tǒng)。1.2.1意義解決了傳統(tǒng)方式所造成的教務管理人員工作的浪費,大大提高了教務管理員的工作效率。1.3 國內(nèi)外研究動態(tài)隨著internet的逐步發(fā)展,網(wǎng)絡不僅僅是科研部門學術(shù)交流的平臺,在其他的方面上也得到了很大的發(fā)展,尤其是在校園網(wǎng)的分支教務管理上2。同時在教務管理的主要分支選課排課系統(tǒng)的應用上得到了較大的發(fā)展。國外針對

11、此問題展開的研究較早。1963年c c gotlieb 在他的文章the construction of class-teacher time-tables中提出了課表編排的數(shù)學模型。這篇文章引起了人們對于選排課問題的重視。而國內(nèi)對選排課問題的研究較晚。1984年,清華大學在清華大學學報上發(fā)表了林漳希和林堯瑞在該課題上的實驗性研究成果人工智能技術(shù)在課表編排中的應用,標志著我國開始了對選排課問題的研究。目前,我國高校都實行了學分制,它的核心是允許學生自由選課,即把學習的自主權(quán)交給學生。在這里,學生選課時的制約因素比較復雜,工作量也很大,而且往往需要在較短的時間內(nèi)完成。運用計算機輔助選課,即能實時

12、地對大量選課數(shù)據(jù)進行檢驗和統(tǒng)計,十分方便地輸出選課結(jié)果,同時也避免了人工處理時容易產(chǎn)生的錯誤。在高等學校的教務管理工作中,課程表的編排是一項十分復雜、棘手的工作。在排課過程中,除了滿足大量的制約條件以外,還必須解決許多沖突與矛盾3。利用計算機輔助進行課表編排工作,既提高了排課工作的科學性,又可大大減輕管理人員的工作強度,提高工作效率,從而使學校教務管理現(xiàn)代化邁上了一個新臺階。1.4 論文的組織結(jié)構(gòu)第一章是緒論,簡述設計本系統(tǒng)的初衷以及背景。第二章是開發(fā)技術(shù)簡介,簡述本系統(tǒng)開發(fā)和設計過程中用的到的主要技術(shù)。第三章是系統(tǒng)需求分析,簡述自己分析系統(tǒng),對項目進行需求分析。第四章是系統(tǒng)的概要設計,簡述系

13、統(tǒng)的概要設計的。第五章是詳細設計,簡述系統(tǒng)設計的詳細過程。第六章是系統(tǒng)的實現(xiàn),簡述系統(tǒng)是如何實現(xiàn)的。第七章是系統(tǒng)的測試,對系統(tǒng)進行必要的測試。最后是結(jié)論,總結(jié)了本論文的主要工作和系統(tǒng)特色,以及本次論文設計的心得。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 軟件環(huán)境運行環(huán)境: windows 7開發(fā)工具: myeclipse8.6數(shù)據(jù)庫: mysql5.5web服務器: tomcat6.0.32瀏覽器: ie 8.02.2 相關(guān)技術(shù)簡介2.2.1java

14、 ee概述j2ee是美國sun公司推出的一種全新概念的應用程序模型,是一套全然不同于傳統(tǒng)應用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡化且規(guī)范應用系統(tǒng)的開發(fā)與部署,進而提高可移植性、安全與再用價值。與傳統(tǒng)的互聯(lián)網(wǎng)應用程序模型相比有著不可比擬的優(yōu)勢。目前,java 2平臺有3個版本,它們是適用于小型設備和智能卡的java 2平臺micro版(java 2 platform micro edition,j2me)、適用于桌面系統(tǒng)的java 2平臺標準版(java 2 platform standard edition,j2se)、適用于創(chuàng)建服務器應用程序和服務的java 2平臺企業(yè)版(java 2 p

15、latform enterprise edition,j2ee)。j2ee是一種利用java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復雜問題的體系結(jié)構(gòu)。java語言相對于windows變成語言來說,最大優(yōu)勢在java語言是跨平臺的,而widows的編程通常都是針對windows系統(tǒng)來開發(fā),可移植性遠不及java。j2ee技術(shù)的基礎就是核心java平臺或java 2平臺的標準版,j2ee不僅鞏固了標準版中的許多優(yōu)點,例如編寫一次、隨處運行的特性、方便存取數(shù)據(jù)庫的jdbc(java database connectivity)應用程序接口(api, application program

16、 interface)技術(shù)以及能夠在internet應用中保護數(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的下一代產(chǎn)品,是在 struts 和webwork的技術(shù)基礎上進行了合并的全新的struts 2框架。其全新的struts 2的體系結(jié)構(gòu)與struts 1的體系結(jié)構(gòu)的差別巨大。struts 2以we

17、bwork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業(yè)務邏輯控制器能夠與servlet api完全脫離開,所以struts 2可以理解為webwork的更新產(chǎn)品。雖然從struts 1到struts 2有著太大的變化,但是相對于webwork,struts 2只有很小的變化,如圖2-1所示:圖2-1 struts的工作原理圖mvc模式英文即model-view-controller,即把一個應用的輸入、處理、輸出流程按照model、view、controller的方式進行分離,這樣一個應用被分成三個層模型層、視圖層、控制層。視圖(view)代表用戶交互界面,對于web應用來說,

18、可以概括為html界面,但有可能為xhtml、xml和applet。隨著應用的復雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。模型(model):就是業(yè)務流程/狀態(tài)的處理以及業(yè)務規(guī)則的制定。業(yè)務流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務模型的設計可以說是mvc最主要的核心??刂?controller)可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。模型、視圖與控制器的分離,使得一個

19、模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應反映到 這些變化。因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導致顯示的更新。這實際上是一種模型的變化-傳播機制5。如圖2-2所示:圖2-2 mvc的原理圖2.2.3 hibernate與orm簡介對象-關(guān)系映射(object/relation mapping,簡稱orm),是隨著面向?qū)ο蟮能浖_發(fā)方法發(fā) 展而產(chǎn)生的。面向?qū)ο蟮拈_發(fā)方法是當今企業(yè)級應用開發(fā)環(huán)境中的主流開發(fā)方法,關(guān)系數(shù)據(jù)庫是企業(yè)級應用環(huán)境中永久存放數(shù)據(jù)的主流數(shù)據(jù)存儲系統(tǒng)。對象和關(guān)系數(shù) 據(jù)是業(yè)務實體的兩種表

20、現(xiàn)形式,業(yè)務實體在內(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應用的持久層解決方案,hibernate不僅管理java類到數(shù)據(jù)庫表的映射(包括java數(shù)據(jù)類型到sql數(shù)據(jù)類型的映射),還是提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法,可以大幅度縮短使用jdbc處理數(shù)據(jù)持久化的時間。目前的主流數(shù)據(jù)庫依然是關(guān)系型數(shù)據(jù)庫,而java語言則是面向?qū)ο蟮木幊陶Z言6,當把二者結(jié)合在一起使用時相

21、當麻煩,而hibernate則減少了這個問題的困擾,它完成對象模型和基本sql的關(guān)系模型的映射關(guān)系。因為有hibernate的支持,使得javaee應用的ooa(面向?qū)ο蠓治?、ood(面向?qū)ο笤O計)、oop(面向?qū)ο缶幊蹋┤齻€過程一脈相承,成為一個整體。由于hibernate是一個和jdbc密切關(guān)聯(lián)的框架,所以hibernate的兼容性和jdbc驅(qū)動,和數(shù)據(jù)庫都有一定的關(guān)系,但是和使用它的java程序,和app server沒有任何關(guān)系,也不存在兼容性問題。如圖2-3所示:圖2-3 hibernate體系總覽圖由于hibernate比較復雜,提供了好幾種運行方式。在輕型體系中,應用程序自己提

22、jdbc連接,并自行管理事務。這種方式使用了hibernate api的一個最小子集。如圖2-4所示:圖2-4 hibernate輕型應用體系在前面解決體系中,對于應用程序來說,所有的底層jdbc/jta api都被抽象了,hibernate會替你照管好所有的細節(jié)。本文中所用到的就是這種體系。如圖2-5所示:圖2-5 hibernate全面應用解決體系以下是圖中一些對象的定義: 1)sessionfactory 對屬于單一數(shù)據(jù)庫的編譯過的映射文件的一個線程安全的,不可變的緩存快照。它是session的工廠,是connectionprovider的客戶??赡艹钟幸粋€可選的二級數(shù)據(jù)緩存,可以在進程

23、級別后集群級別保存可以在事務中重用的數(shù)據(jù)。2)session 會話 session是生命周期的單線程對象,代表應用程序和持久層之間的一次對話。封裝了一個jdbc連接,也是transaction的工廠。保存有必需的(第一級)持久化對象的緩存,用于遍歷對象圖或通過標識符查找對象。3)持久化對象(persistent object)及其集合(collection)生命周期短的單線程對象包含了持久化狀態(tài)和商業(yè)功能。它們可能是普通的javabeans/pojos,唯一特別的是他們現(xiàn)在都從屬于且僅從屬于一個session。一旦session關(guān)閉,他們都將從session中取消聯(lián)系,可以在任何程序?qū)幼杂墒褂?/p>

24、。4)事務(transaction)事務也是生命周期短的單線程對象,應用程序用它來表示一批工作的原子操作。是底層的jdbc,jta或者corba事務的抽象。一個session某些情況下可能跨越多個事務。2.2.4 spring簡介spring 是一個開源 框 架,是為了解決企業(yè) 應 用程序開發(fā)復雜性而創(chuàng)建的??蚣艿闹饕獌?yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許您選擇使用哪一個組件,同時為j2ee 應用程序開發(fā)提供集成的框架。spring 框架的功能可以用在任何j2ee 服務器中,大多數(shù)功能也適用于不受管理 的環(huán)境。spring 的核心要點是:支持不綁定到特定j2ee 服務的可重用業(yè)務和數(shù)據(jù)訪問對象。

25、這樣的對象可以在不同j2ee 環(huán)境(web 或ejb )、獨立應用程序、測試 環(huán)境之間重用7,如圖2-6所示:圖2-6 spring框架的組成結(jié)構(gòu)圖組成spring 框架的每個模塊(或組件)都可以單獨存在,或者與其他一個或多個模塊聯(lián)合實現(xiàn)。每個模塊的功能如下: 核心容器:核心容器提供spring 框架的基本功能。核心容器的主要組件是beanfactory ,它是工廠模式的實現(xiàn)。beanfactory 使用控制反轉(zhuǎn) (ioc ) 模式將應用程序的配置和依賴性規(guī)范與實際的應用程序代碼 分 開。 spring 上下文:spring 上下文是一個配置文件,向spring 框架提供上下文信息。sprin

26、g 上下文包括企業(yè)服務,例如jndi 、ejb 、電子郵件、國際化、校驗和調(diào)度功能。 spring aop : 通過配置管理特性,spring aop 模塊直接將面向方面的編程 功 能集成到了spring 框架中。所以,可以很容易地使spring 框架管理的任何對象支持aop 。spring aop 模塊為基于spring 的應用程序中的對象提供了事務管理服務。通過使用spring aop ,不用依賴ejb 組件,就可以將聲明性事務管理集成到應用程序中。 spring dao :jdbc dao 抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來管理異常處理和不同數(shù)據(jù)庫 供應商拋出的錯誤消息。異常

27、層次結(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 的通用事務和dao 異常層次結(jié)構(gòu)。 spring為企業(yè)應用的開發(fā)提供了一個輕量級的解決方案。該解決方案包括:基于依賴注入的核心機制,基于aop的聲明式事務管理,與多種持久層技術(shù)的整合,以及優(yōu)秀的web mvc 框架等。spring

28、致力于java ee 應用各層的解決方案,而不是僅僅專注于某一層的方案。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ī)范定義了如何在服務器和jsp頁面間進行交互,還描述了頁面的格式和語法8。jsp頁面使用xml標簽和scriptlets(一種使用java語言編寫的腳本代碼),封裝了生成頁面內(nèi)容的邏輯。它將各種格式的標簽(html或者xml)直接傳遞回響應頁面。通過這種方式,jsp頁面實現(xiàn)了頁面邏輯與其設計和顯示的分離。jsp技術(shù)是java系列

29、技術(shù)的一部分。jsp頁面被編譯成servlet,并可能調(diào)用javabeans組件(beans)或enterprise javabeans組件(企業(yè)beans),以便在服務器端處理。因此,jsp技術(shù)在構(gòu)建可升級的基于web的應用程 序時扮演了重要角色。 jsp頁面并不局限于任何特定的平臺或web服務器上。jsp規(guī)范在業(yè)界有著廣泛的適應性。 jsp技術(shù)是行業(yè)協(xié)作的結(jié)果,它的設計是開放的,符合行業(yè)標準的,并支持絕大多數(shù)的服務器、瀏覽器和相關(guān)工具。由于使用可重用的組件和標簽取代了對頁面本身腳本語言的嚴重依賴,jsp技 術(shù)大大加快了開發(fā)的速度。所有jsp的實現(xiàn)均支持以java編程語言為基礎的腳本語言,它

30、有與生俱來的可適應性,支持復雜的操作。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)化查詢語言”。sql是用于訪問數(shù)據(jù)庫的最常用標準化語言。mysql軟件采用了gpl(gnu通用公共許可證)。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而

31、選擇了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)功能需求分析現(xiàn)代化學校應該有個現(xiàn)代化的管理系統(tǒng)去管理學校內(nèi)的各項事物,學校是一個數(shù)據(jù)量比較大的單位,如何去管理及查詢學校內(nèi)的數(shù)據(jù)就成為了一項及為重要的問題,同時,學生選課、教務人員排課這項工作是教

32、學管理中很重要的一個環(huán)節(jié),所以開發(fā)出一個選排課系統(tǒng)就是現(xiàn)在及為重要的事情,從而選排課系統(tǒng)的重要性就不言而喻了10。本系統(tǒng)的設計目的是要將學生選擇課程和教務管理人員的編排課程通過網(wǎng)絡進行管理。為學生、教師和教務管理人員提供便利。系統(tǒng)的用戶有4種類型,分別為系統(tǒng)管理員、系教務管理員、學生、教師,系統(tǒng)對于一個用戶只允許以一種身份登錄。系統(tǒng)管理員登錄后可以對系統(tǒng)進行信息管理,其主要操作是維護學生、教師和課程的基本信息。學生登錄后的主要操作是選課和查看教師主頁以及查看通知和發(fā)布留言。教師登錄后主要操作是查看課表以及個人信息的維護、留言等功能。將系統(tǒng)需求加以總結(jié),得出系統(tǒng)具有如下幾個功能:1) 系統(tǒng)可以運

33、行在windows操作系統(tǒng)平臺上,并具有友好的用戶界面。2) 系統(tǒng)用戶類型為:系統(tǒng)管理員、教務人員、學生、教師。3) 系統(tǒng)對于一個用戶只允許以一種身份登錄。4) 只有系統(tǒng)管理員可以維護學生、教師和課程的基本信息。5) 學生可以選課、查看教師主頁并留言。6) 教師可以選擇查看課表、修改個人信息并增刪改留言。3.2 可行性分析可行性分析(feasibility analysis)也稱為可行性研究,任何一個基于計算機的系統(tǒng),都會受到時間和資源上的限制。必須根據(jù)客戶可能提供的時間和資源條件進行可行性研究。它可以避免人力、物力和財力上的浪費。對該系統(tǒng)的開發(fā)從經(jīng)濟、技術(shù)、操作三方面進行分析和研究11??尚?/p>

34、性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容。3.2.1經(jīng)濟可行性分析確定開發(fā)項目的開發(fā)成本以及估算開發(fā)項目所能夠產(chǎn)生的經(jīng)濟效益:該系統(tǒng)目前在校園里受到一致好評,在方便高效快捷的基礎上,有助于學生學習、教師工作及有效的管理的應用價值,有很好的實用和發(fā)展前景。所以本系統(tǒng)在經(jīng)濟上是可行的。3.2.2技術(shù)可行性分析確定現(xiàn)有的技術(shù)是否能解決本該開發(fā)項目:本系統(tǒng)主要采用struts2+hibernate+spring架構(gòu),使用java語言,和mysql數(shù)據(jù)庫等主要技術(shù),整個平臺構(gòu)建于java ee之上,比較容易實現(xiàn)。所以在技術(shù)上也是可行的。

35、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)總體設計4.1 系統(tǒng)功能總體框架本系統(tǒng)主要有教務管理員、教師、學生和系統(tǒng)管理員四種用戶組,功能都是圍繞這四個個用戶組設計的。教務管理員相關(guān)的功能結(jié)構(gòu)圖如圖4-1所示:4-1系教務管理員功能結(jié)構(gòu)圖教師相關(guān)的功能結(jié)構(gòu)圖如圖4-2所示:4-2教師功能結(jié)構(gòu)圖學生相關(guān)的功能結(jié)構(gòu)圖如圖4-3所示:4-3學生功能

36、結(jié)構(gòu)圖系統(tǒng)管理員相關(guān)的功能結(jié)構(gòu)圖如圖4-4所示:4-4系統(tǒng)管理員功能結(jié)構(gòu)圖4.2 系統(tǒng)各功能模塊設計經(jīng)過詳盡的需求分析,確定各功能模塊內(nèi)容大致如下:4.2.1系教務管理員功能模塊系教務管理員注冊、登錄(注冊需要經(jīng)過認證)后,能自動生成該教務管理員主頁,教務管理員應具有根據(jù)學生選課信息進行排課(手動和自動)、調(diào)課,并生成相應的排課表及可以在自己的主頁上發(fā)布、刪除、修改自己的通知與查看留言等功能。4.2.2 教師功能模塊教師注冊、登錄、修改個人信息(注冊需要經(jīng)過認證)后,能自動生成該教師主頁,教師可以查看本學期個人課表及系總課表及可以在自己的主頁上可以發(fā)布、刪除、修改自己的留言。4.2.3 學生功

37、能模塊學生注冊、登錄后,能自動生成該學生主頁,學生可以查看訪問教師個人主頁,針對不同教師、不同課程(同一名教師的同一門課程,最多人數(shù)為35人),學生可以自由選課及留言。4.2.4后臺管理功能模塊后臺管理:系統(tǒng)管理員應具有對數(shù)據(jù)進行添加、刪除、更改等維護功能。4.3 系統(tǒng)總體及各實體用例圖設計系統(tǒng)總體例圖如圖4-5所示:前端用戶包括教務管理員、教師、和學生。留言用戶注冊用戶登錄查詢課表查看通知車選課管理員登錄用戶管理課程管理留言管理通知管理前端用戶系統(tǒng)管理員圖4-5 系統(tǒng)總體用例5 系統(tǒng)詳細設計5.1系統(tǒng)設計的原則和目標本系統(tǒng)的設計目標是借助互聯(lián)網(wǎng)為學校建立的一個選向課程網(wǎng)站,是針對在校學生和教

38、師使用的一個選排課系統(tǒng),該系統(tǒng)能方便學生的選課,教務管理員對學生選課信息進行排課、調(diào)課,學校的教務管理。最終實現(xiàn)了用戶和課程的信息化管理。5.2 系統(tǒng)體系結(jié)構(gòu)的設計系統(tǒng)依據(jù)mvc模式可分為視圖層、控制層、模型層。從程序分布位置角度,系統(tǒng)依次分布在瀏覽器、應用服務器、數(shù)據(jù)庫系統(tǒng)三層,如圖5-1所示:圖5-1 系統(tǒng)體系構(gòu)架圖5.3 數(shù)據(jù)庫設計5.3.1 數(shù)據(jù)庫概念結(jié)構(gòu)設計概念結(jié)構(gòu)的設計是將系統(tǒng)需求分析得到的用戶需求抽象為信息結(jié)構(gòu)過程。概念結(jié)構(gòu)設計的結(jié)果是數(shù)據(jù)庫的概念模型。只有將系統(tǒng)應用需求為信息世界的結(jié)構(gòu),才能轉(zhuǎn)化為機器翻譯世界中的數(shù)據(jù)模型,并用dbms實現(xiàn)這些需求。按照自頂向下分析需求與自底向上

39、設計概念結(jié)構(gòu)方法,概念結(jié)構(gòu)的設計可分為兩步:第一步是抽象數(shù)據(jù)并設計局部視圖;第二步是集成局部視圖,得到全局的概念結(jié)構(gòu)。利用數(shù)據(jù)抽象的方法可以對現(xiàn)實世界抽象得出概念模型的子集及屬性,概念結(jié)構(gòu)設計是利用抽象機制對需求分析階段悼念到的數(shù)據(jù)進行分類、組織(聚集),形成實體集、屬性和碼,確定實體集之間的聯(lián)系類型,進而設計e-r圖。5.3.1.1各實體及其屬性本系統(tǒng)總共有以下9個實體:(1) 系統(tǒng)管理員(id號,用戶名,密碼)。(2) 教務管理員(id號,用戶名,密碼,編號,真實姓名,身份認證)。(3) 教師(id號,用戶名,密碼,編號,真實姓名,所在系,身份認證)。(4) 學生(id號,用戶名,密碼,編

40、號,真實姓名,所在系,權(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-2 系統(tǒng)e-r圖5.3.2 數(shù)據(jù)庫物理結(jié)構(gòu)設計數(shù)據(jù)庫在系統(tǒng)中占有及其重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設計的好壞關(guān)系到系統(tǒng)的運行效率、存儲數(shù)據(jù)的效率、系統(tǒng)的復雜程度等,合理的數(shù)據(jù)庫結(jié)構(gòu)設計可以提高系統(tǒng)性能。據(jù)庫中的各個表的設計結(jié)果如下表所示(每個表格表示數(shù)據(jù)庫中的

41、一個表)。(1)用戶信息表用戶信息表記錄了所有用戶的信息。其中包括用戶id,用戶名,編號,性別,用戶真實姓名,權(quán)限,身份認證。它們的屬性如表5-1所示。設置用戶id為主鍵。表5-1用戶信息表(usertable)列 名數(shù) 據(jù) 類 型字 段 大 小必 填 字 段默 認 值備 注idint11是主鍵,用戶id usernamevarchar50是null用戶名sexvarchar10是null性別passwordvarchar50是null密碼xuehaovarchar50是null編號zsxmvarchar50是null真實名suozaixivarchar50是null所在系quanxianva

42、rchar50是null權(quán)限sfrzvarchar50是null是否認證(2)課程信息表課程信息表記錄了課程的所有信息,包括課程編號,課程名稱,課程類型,其屬性如表5-2示。設置課程id為主鍵。表5-2課程信息表(kecheng)列 名數(shù) 據(jù) 類 型字 段 大 小必 填 字 段默 認 值備 注idint11是主鍵,課程idk_bianhaovarchar50是null課程編號k_namevarchar50是null課程名稱k_typevarchar50是null課程類型(3)排課信息表排課信息表記錄了排課的所有信息,包括課程編號,課程名稱,教師,學分,學時,上課地址,開課時間。其屬性如表5-3

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

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

45、ianvarchar50是null留言時間(6)通知信息表通知信息表記錄了通知的所有信息,包括通知id,通知標題,通知內(nèi)容,發(fā)布時間。其屬性如表5-6示。設置通知id為主鍵。表5-6通知信息表(tongzhi)列 名數(shù) 據(jù) 類 型字 段 大 小必 填 字 段默 認 值備 注idint11是 主鍵,通知idtitlevarchar50是null通知標題contextvarchar200是null通知內(nèi)容shijianvarchar50是null發(fā)布時間6 系統(tǒng)的實現(xiàn)6.1 系統(tǒng)實現(xiàn)的流程圖本系統(tǒng)共有系統(tǒng)管理員、教務管理員、教師和學生四種用戶,根據(jù)其功能需求,它們相關(guān)的系統(tǒng)流程圖如圖6-1所示:圖

46、6-1系統(tǒng)流程圖6.2 系統(tǒng)具體功能模塊的實現(xiàn)6.2.1用戶注冊設計模塊的實現(xiàn)用戶注冊頁面如圖6-2,圖6-3所示:圖6-2 用戶注冊選擇注冊身份頁面圖6-3 用戶注冊頁面用戶選擇注冊的身份后并填入完必要信息后,點擊提交,將信息提交給zhuce.jsp進行操作。其相關(guān)代碼部分如下:form name=zhuce action=/usercreate.action method=post用戶名:密 碼:確認密碼:學號:真實姓名:性別:男 女所在系別:input type=hidden value= name=quanxian/ 點擊確定按鈕后交給usercreate.action進行處理,use

47、rcreateaction中相關(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(學生

48、.equals(quanxian)tusertable.setsfrz(1);elsetusertable.setsfrz(0);string result = getusertableservice().createuser(tusertable);return result;6.2.2用戶登陸設計模塊的實現(xiàn)用戶登陸頁面index.jsp如圖6-4所示:圖 6-4 用戶登陸頁面在index.jsp網(wǎng)頁填入用戶名的和密碼信息,點擊登陸。index.jsp中相關(guān)代碼如下:form name=mylogin action=/userlogin.actionmethod=post   input type=button name=zhuce value=注冊 onclick=location.href=/shenfen.jsp /點擊登錄后由userlogin.action進行處理,userloginaction.java中相關(guān)代碼如下:public string loginuser()if(getusertableservice().loginuser(getusername(), getpass

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論