學生選課系統(tǒng)畢業(yè)論文_第1頁
已閱讀1頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  畢業(yè)設(shè)計(論文)說明書</p><p>  課題名稱: 學生選課系統(tǒng) </p><p>  專 題: 學生選課 </p><p>  院 (系): 信息工程系 </p><p>  專 業(yè): 軟件技術(shù) </p>

2、<p>  班 級: </p><p>  學生姓名: xxx </p><p>  學 號: </p><p>  指導教師: xxx </p><p>  職 稱:

3、 </p><p>  2012年 11 月 21 日</p><p><b>  摘 要</b></p><p>  隨著學校的招生規(guī)模的不斷擴大,許多高校出現(xiàn)了許多個校區(qū)并存的局面,并且校區(qū)之間的地理位置跨度非常大,給高校選課帶來了很大的不方便。高校選課系統(tǒng)就是為了解決這個問題而產(chǎn)生的,它利用高?,F(xiàn)有的

4、網(wǎng)絡(luò)資源使學生可以通過網(wǎng)絡(luò)輕松的實現(xiàn)選課功能,使教務(wù)人員可以方便快捷的統(tǒng)計出各課程的選擇情況。</p><p>  學生選課系統(tǒng)是一款管理系統(tǒng),系統(tǒng)囊括了專業(yè)管理和課程管理的基本過程。系統(tǒng)覆蓋學生的選課、查看、修改密碼等各個環(huán)節(jié),軟件的各個模塊操作界面簡單、實用,用戶可以在最短的時間內(nèi)掌握系統(tǒng)的使用方法。用戶可以在最短時間內(nèi)找到自己所需要的信息,該系統(tǒng)可以顯著減輕教務(wù)人員的工作負擔,大大提高工作效率,從而實現(xiàn)教務(wù)

5、管理的數(shù)字化和網(wǎng)絡(luò)化。</p><p>  系統(tǒng)軟件采用Struts、Hibernate、Spring進行整合開發(fā),用戶數(shù)據(jù)選用MySQL進行統(tǒng)一管理</p><p>  關(guān)鍵詞:B/S 、高校選課系統(tǒng)、數(shù)據(jù)庫、Web項目</p><p><b>  Abstract</b></p><p>  With the sch

6、ool's enrollment continues to expand, many universities there coexist many campuses, and campus location between the span is very large, to the college enrollment is a big inconvenience. University course selection s

7、ystem is to solve this problem arise, it is use of the college network resources available so that students can easily achieve enrollment through the network function, so that academic staff can easily and quickly in the

8、 statistics of each course preference.</p><p>  Class selection system is a management system, the system include the professional management and curriculum management, the basic process. System covers cours

9、e selection of students, view, modify your password and other links, the software interface of each module is simple, practical, users can master the system within the shortest possible time to use. Users Ke Yi in the sh

10、ortest time to find their required information, the system yes one based on B / S structure of the Web Project, would gre</p><p>  System software using Struts, Hibernate, Spring integration development, use

11、r data used for unified management of MySQL</p><p>  Keywords: B / S, university elective system, database, Web projects目 錄</p><p><b>  摘 要I</b></p><p>  AbstractII&

12、lt;/p><p><b>  1 緒論1</b></p><p>  1.1 課題背景1</p><p>  1.2 論文研究的內(nèi)容1</p><p>  2 系統(tǒng)相關(guān)技術(shù)介紹2</p><p>  2.1 本系統(tǒng)使用的3個框架2</p><p>  2.2

13、 本系統(tǒng)使用的3個詳細介紹3</p><p><b>  3 需求分析6</b></p><p>  3.1 功能需求分析6</p><p>  3.1.1 功能需求分類6</p><p>  3.1.2 用例圖7</p><p>  3.2 非功能性需求分析14</

14、p><p>  3. 2.1 用戶界面需求14</p><p>  3. 2.2 軟件環(huán)境需求14</p><p>  3. 2.3 產(chǎn)品質(zhì)量需求14</p><p>  4 可行性分析15</p><p>  4.1 編寫目的15</p><p>  4.2 開發(fā)系統(tǒng)的技術(shù)可行性

15、15</p><p>  4.3 開發(fā)系統(tǒng)的法律可行性15</p><p>  4.4 開發(fā)系統(tǒng)的社會可行性15</p><p>  5 系統(tǒng)設(shè)計16</p><p>  5.1 系統(tǒng)目標16</p><p>  5.2 系統(tǒng)功能結(jié)構(gòu)16</p><p>  5.3 系統(tǒng)流

16、程圖17</p><p>  6 數(shù)據(jù)庫設(shè)計19</p><p>  6.1 數(shù)據(jù)庫表的設(shè)計19</p><p>  7 系統(tǒng)構(gòu)架設(shè)計21</p><p>  7.1 邏輯分層結(jié)構(gòu)設(shè)計21</p><p>  7.2 實體映像設(shè)計21</p><p>  7.3 數(shù)據(jù)庫接

17、口與接口類的實現(xiàn)22</p><p><b>  8 運行設(shè)計24</b></p><p>  8.1 運行環(huán)境24</p><p>  8.2 運行模塊24</p><p>  9 詳細設(shè)計25</p><p>  9.1 總體設(shè)計25</p><p>

18、;  9.2 詳細設(shè)計26</p><p>  9.3 系統(tǒng)功能模塊設(shè)計27</p><p>  10 系統(tǒng)測設(shè)47</p><p><b>  總結(jié)48</b></p><p><b>  致 謝49</b></p><p><b>  參考文獻

19、50</b></p><p><b>  1 緒論</b></p><p><b>  1.1課題背景</b></p><p>  許多高校出現(xiàn)了許多個校區(qū)并存的局面,并且校區(qū)之間的地理位置跨度非常大,給高校選課帶來了很大的不方便,所以把選課變成網(wǎng)絡(luò)化的形式是必須的,現(xiàn)在高校的專業(yè)、課程、人數(shù)都遠遠超過了以

20、前,統(tǒng)計選課信息變得相當困難,所以針對這一現(xiàn)象,高校選課系統(tǒng)教好的解決了這一類問題,使選課方便網(wǎng)絡(luò)化,課程信息統(tǒng)計的方便性自然而然成為了這個系統(tǒng)設(shè)計和實現(xiàn)所追求的目標。</p><p>  1.2論文研究的內(nèi)容</p><p>  關(guān)于高校選課系統(tǒng)的說明論證和各種分析。</p><p>  2. 系統(tǒng)相關(guān)技術(shù)介紹</p><p>  2.1本

21、系統(tǒng)3個框架的應(yīng)用:</p><p><b>  一、三個框架簡介</b></p><p><b>  Struts:</b></p><p>  Struts是目前Java Web MVC框架中不爭的王者。經(jīng)過長達五年的發(fā)展,Struts已經(jīng)逐漸成長為一個穩(wěn)定、成熟的框架,并且占有了MVC框架中最大的市場份額。</

22、p><p><b>  Spring:</b></p><p>  Spring是一個開源框架,它是為了解決企業(yè)應(yīng)用開發(fā)的復雜性而開發(fā)的。Spring使使用基本的JavaBeans來完成以前只可能由EJB完成的事情變得可能了。Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。在Spring中應(yīng)用對象

23、被聲明式地組合在一個XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等),讓開發(fā)者更專注于應(yīng)用邏輯。所有的這些特征使開發(fā)者能夠編寫更干凈、更易管理、并且更易于測試的代碼。</p><p>  Hibernate:</p><p>  Hibernate是高性能的開源框架。提供O/R映像功能,通過XML配置文件能夠?qū)ο笥诚竦綌?shù)據(jù)庫。對數(shù)據(jù)操作進行了封裝,能夠方便簡潔

24、地解決大多數(shù)的數(shù)據(jù)持久化操作。</p><p><b>  二、實現(xiàn)架構(gòu)圖</b></p><p><b>  架構(gòu)介紹</b></p><p>  Filter:Web過瀘器,繼承javax.servlet.Filter,用于處理只要客戶請求就必須初始化或處理的實例。例如可以在這里進行請求的編碼轉(zhuǎn)換,為了更好地支持中文,

25、更好的方法就是把客戶端的請入信息轉(zhuǎn)換成UTF-8格式,并存于數(shù)據(jù)庫中,這種轉(zhuǎn)換就可以在過瀘器中進行處理。</p><p>  ActionServlet:是Struts提供的總控制器,在這里接收來自客戶端的所有請求,并根據(jù)請求參數(shù)和Struts配置文件struts-config.xml決定請求由那個具體的Action來處理。</p><p>  Action:由Struts提供的Actio

26、n類,繼承Struts的org.apache.struts.action.Action類??蛻舻牟煌埱?,可以由不同的Action來處理(由ActionServlet總控制器選擇)。Action用于處理客戶請求的具體操作,比如調(diào)調(diào)用Service層的方法進行數(shù)據(jù)保存或讀取。Action還根據(jù)struts-config.xml配置選擇頁面的轉(zhuǎn)發(fā)。對客戶輸入的信息進行驗證。</p><p>  ActionForm:

27、:由Struts提供的Form類,繼承Struts的org.apache.struts.action.ActionForm類。用于封裝來自客戶窗體的信息,并可以對信息進行初級有效性驗證。</p><p>  Jsp和tiles-defs.xml:tiles-defs.xml由Strtus提供,用于頁面的定義,可以定義JSP模板,不同頁面都可以斷承該模板。Jsp用于表示界面,可以在Jsp中書寫Struts標簽由不牽

28、涉任何Java代碼。</p><p>  Service接口:定義Service的接口,給上層調(diào)用。這里編寫上層所需方法的定義。</p><p>  Service接口實現(xiàn):這里實現(xiàn)Service接口方法的具本實現(xiàn),并實現(xiàn)商務(wù)邏輯。該類為了支持Spring的依賴注入功能,需要實現(xiàn)一個setXxxDAO()的方法,這樣類就可以利用注入來的DAO進行數(shù)處理。在這一層利用Spring的事務(wù)管理,

29、對這層的方法進行事務(wù)聲明管理。</p><p>  DAO接口:這里定義DAO數(shù)據(jù)訪問層的接口,給業(yè)務(wù)層Service調(diào)用。</p><p>  DAO接口實現(xiàn):這里具體實現(xiàn)DAO接口的所有方法,只進行數(shù)據(jù)的保存、讀取、更新等動作,不牽涉事務(wù)。該類繼承Spring的org.springframework.orm.hibernate3.support.HibernateDaoSupport類

30、,可以不再理會Hibernate的API,即可進行Hibernate方式的數(shù)據(jù)操作??梢宰尨a更簡潔,有條理。</p><p>  Spring:這是系統(tǒng)的中心部分,這里在一個XML配置文件中定義了大部分的系統(tǒng)Bean,并對它們進行集中管理。定義了DAO層、Service層的所有類。定義了事務(wù),并且定義了方法的事務(wù)策略。</p><p>  2.2三個框架的詳細介紹</p>

31、<p><b>  Struts技術(shù)</b></p><p>  Struts是采用Java Servlet/JavaServer Pages技術(shù),開發(fā)Web應(yīng)用程序的開放源碼的framework。 采用Struts能開發(fā)出基于MVC(Model-View-Controller)設(shè)計模式的應(yīng)用構(gòu)架。struts框架具有組件的模塊化,靈活性和重用性的優(yōu)點,同時簡化了基于MVC的web

32、應(yīng)用程序的開發(fā),Struts實現(xiàn)的重點在C(Controller),包括ActionServlet/RequestProcessor和我們定制的Action,也為V(View)提供了一系列定制標簽(Custom Tag)。</p><p>  Struts流程:服務(wù)器啟動后,根據(jù)web.xml加載ActionServlet讀取struts-config.xml文件內(nèi)容到內(nèi)存。 以登陸為例:第一次進login.js

33、p會先實例化Form、把默認值(String默認為空字符串,整形默認為0)賦給表單元素。 輸入用戶名密碼提交表單、提交到action屬性的login.do,通過ActionServlet讀struts-config.xml文件找到 action下的path屬性找到.do,通過name屬性找form-beans中的form-bean的name屬性得到ActionForm的包名類名,先實例化form,把表單的值填充給form,調(diào)用form的

34、validate方法驗證、ActionErrors返回null表示驗證通過,否則失敗返回input指定的頁面.驗證通過會實例化Action,執(zhí)行Action的excute方法。</p><p><b>  Spring技術(shù)</b></p><p>  與 Struts 相似,Spring 可以作為一個 MVC 實現(xiàn)。這兩種框架都具有自己的優(yōu)點和缺點,盡管大部分人同意

35、Struts 在 MVC 方面仍然是最好的。很多開發(fā)團隊已經(jīng)學會在時間緊迫的時候利用 Struts 作為構(gòu)造高品質(zhì)軟件的基礎(chǔ)。Struts 具有如此大的推動力,以至于開發(fā)團隊寧愿整合 Spring 框架的特性,而不愿意轉(zhuǎn)換成 Spring MVC。沒必要進行轉(zhuǎn)換對您來說是一個好消息。Spring 架構(gòu)允許您將 Struts 作為 Web 框架連接到基于 Spring 的業(yè)務(wù)和持久層</p><p>  Sprin

36、g:功能強大的基于javaBeans的配置管理,它使組織應(yīng)用變得容易和迅速, Spring是一個輕型容器(light-weight container),其核心是Bean工廠(Bean Factory),用以構(gòu)造我們所需要的M(Model)。在此基礎(chǔ)之上,Spring提供了AOP(Aspect-Oriented Programming, 面向?qū)用娴木幊蹋┑膶崿F(xiàn),用它來提供非管理環(huán)境下申明方式的事務(wù)、安全等服務(wù);對Bean工廠的擴展App

37、licationContext更加方便我們實現(xiàn)J2EE的應(yīng)用;DAO/ORM的實現(xiàn)方便我們進行數(shù)據(jù)庫的開發(fā);Web MVC和Spring Web提供了Java Web應(yīng)用的框架或與其他流行的Web框架進行集成。</p><p>  Spring是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,S

38、pring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 </p><p>  ◆目的:解決企業(yè)應(yīng)用開發(fā)的復雜性 </p><p>  ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能 </p><p>  ◆范圍:任何Java應(yīng)用 </p><p> 

39、 Spring是全面的和模塊化的。Spring有分層的體系結(jié)構(gòu),這意味著你能選擇使用它孤立的任何部分,它的架構(gòu)仍然是內(nèi)在穩(wěn)定的。</p><p>  Hibernate技術(shù)</p><p>  Hibernate是一個開放源代碼的對象關(guān)系映射框架(即“數(shù)據(jù)庫-對象”映像解決方案框架),它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 H

40、ibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p>  Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。

41、這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務(wù)控制。</p><p><b>  3. 需求分析</b></p><p><b>  3.1功能性需求:</b></p><p>  3.11功能性需求分類:</p><p><b>  3.1

42、2用例圖</b></p><p>  學生選課系統(tǒng)總用例圖:</p><p><b>  用戶注冊用例圖:</b></p><p>  課程信息和專業(yè)具體管理用例圖:</p><p><b>  選課功能用例圖:</b></p><p>  查看已選課程用例圖:&

43、lt;/p><p><b>  賬號管理用例圖:</b></p><p><b>  3.13用例描述:</b></p><p><b>  1. 用戶登錄</b></p><p><b>  1.0 用例名稱:</b></p><p>

44、;<b>  中文名稱:用戶登錄</b></p><p>  功能:驗證用戶的身份。</p><p><b>  1.1 簡要說明:</b></p><p>  本用例的功能主要是用于確保用戶在提供正確的驗證信息之后,可以進一步使用本系統(tǒng)。</p><p><b>  1.2 事件流:&l

45、t;/b></p><p>  1.2.1 基本流:</p><p>  1 用戶請求使用本系統(tǒng)。</p><p>  2 系統(tǒng)顯示用戶登錄信息輸入界面。</p><p>  3 用戶輸入登錄名,密碼并確認操作。</p><p>  4 系統(tǒng)驗證用戶登錄信息,如果登錄信息驗證沒有通過,系統(tǒng)顯示提醒信息,并轉(zhuǎn)向基本

46、流2,如果驗證通過,系統(tǒng)顯示系統(tǒng)操作主界面。</p><p>  1.2.2 備選流:</p><p>  1 用戶可以在沒有登錄成功之前的任意時候要求放棄登錄。</p><p>  2 系統(tǒng)結(jié)束用戶登錄信息輸入界面的顯示。</p><p><b>  3 退出系統(tǒng)。</b></p><p>&l

47、t;b>  1.3 特殊需求:</b></p><p><b>  無</b></p><p><b>  1.4 前置條件:</b></p><p>  1 請求使用本系統(tǒng)。</p><p><b>  1.5 后置條件:</b></p>&l

48、t;p>  1 用戶登錄成功,可以使用系統(tǒng)提供的功能。</p><p><b>  1.6 附加說明:</b></p><p><b>  無</b></p><p><b>  2. 用戶注冊</b></p><p><b>  2.0 用例名稱:</b

49、></p><p><b>  中文名稱:用戶注冊</b></p><p>  功能:新用戶進行注冊</p><p><b>  2.1 簡要說明:</b></p><p>  本用例的功能主要是用于新用戶進行注冊,方能使用本系統(tǒng)。</p><p><b> 

50、 2.2 事件流:</b></p><p>  2.2.1 基本流:</p><p><b>  1 用戶請求注冊。</b></p><p>  2 用戶點擊注冊進入注冊信息界面。</p><p>  3 用戶輸入注冊信息,并確認操作。</p><p>  4 系統(tǒng)驗證用戶注冊信息,如

51、果注冊信息驗證沒有通過,系統(tǒng)顯示提醒已經(jīng)存在的用戶信息,并轉(zhuǎn)向基本流2,如果注冊通過,系統(tǒng)則進入用戶基本信息填寫。</p><p>  2.2.2 備選流:</p><p><b>  1重置注冊信息</b></p><p><b>  2.3 特殊需求:</b></p><p><b>

52、  無</b></p><p><b>  2.4 前置條件:</b></p><p>  1 請求使用本系統(tǒng)。</p><p><b>  2.5 后置條件:</b></p><p>  1 用戶注冊成功,可以使用系統(tǒng)提供的功能。</p><p><b&g

53、t;  2.6 附加說明:</b></p><p><b>  無</b></p><p>  3. 課程信息和專業(yè)管理</p><p><b>  3.0 用例名稱:</b></p><p>  中文名稱:課程信息和專業(yè)管理</p><p>  功能:用于用戶對

54、課程信息的管理 還有對專業(yè)的管理</p><p><b>  3.1 簡要說明:</b></p><p>  本用例的功能主要是用于課程信息和專業(yè)的查詢、添加等相應(yīng)功能進行管理。</p><p><b>  3.2 事件流:</b></p><p>  3.2.1 基本流:</p>&

55、lt;p>  1 用戶請求登陸管理頁面。</p><p>  2 用戶點擊專業(yè)管理進入專業(yè)管理頁面。</p><p>  用戶對專業(yè)的是否已結(jié)業(yè)進行判斷??梢蕴砑有碌膶I(yè)。</p><p>  點擊添加新的專業(yè)進入新專業(yè)的設(shè)置頁面。</p><p>  添加完新專業(yè)點擊專業(yè)管理則可以看到新添加的專業(yè)</p><p&g

56、t;  3.用戶點擊課程信息進入課程信息管理頁面.</p><p>  用戶對課程信息可以進行查詢,添加新的課程。</p><p>  點擊添加新的課程進入課程有關(guān)信息填寫頁面。</p><p>  添加完新的課程在選課信息將有新的課程顯示。</p><p>  點擊課程顯示里面的每門課程名稱則可以顯示每門課程的詳細信息包括授課教師屬于哪個專

57、業(yè)等等。在這里也可以設(shè)置該門課程的屬性是否為可選。</p><p>  3.2.2 備選流:</p><p>  1重置專業(yè)和課程信息</p><p><b>  3.3 特殊需求:</b></p><p><b>  無</b></p><p><b>  3.4

58、 前置條件:</b></p><p>  1 進入了增加新的專業(yè)和課程判斷信息是否填寫正確。。</p><p><b>  3.5 后置條件:</b></p><p>  1 專業(yè)和課程添加成功將在專業(yè)頁面和課程頁面顯示所添加的內(nèi)容。</p><p><b>  3.6 附加說明:</b>

59、;</p><p><b>  無</b></p><p><b>  4. 學生選課</b></p><p><b>  4.0 用例名稱:</b></p><p><b>  中文名稱:學生選課</b></p><p>  功能

60、:選課學生進行選課</p><p><b>  4.1 簡要說明:</b></p><p>  本用例的功能主要是用于學生進行選課。</p><p><b>  4.2 事件流:</b></p><p>  4.2.1 基本流:</p><p>  1系統(tǒng)安排專業(yè)學生的課程&

61、lt;/p><p><b>  2 學生請求選課。</b></p><p>  3 單擊選課連接進入選課界面。</p><p>  4 如果系統(tǒng)安排了本專業(yè)的學生所要選擇的課程,則學生可以看到自己要選擇的課程,點擊選擇則可以選課成功,如果系統(tǒng)未安排該專業(yè)的學生需要選課,則不會顯示有課程要選。</p><p>  4.2.2

62、備選流:</p><p>  如果學生沒有課程選擇,則是該學生專業(yè)還沒有安排課程,所有要等該專業(yè)安排課程以后才能進行選課。</p><p><b>  4.3 特殊需求:</b></p><p>  必須要有課程學生才能進行選修</p><p><b>  4.4 前置條件:</b></p&g

63、t;<p>  1 本專業(yè)安排了課程。</p><p><b>  4.5 后置條件:</b></p><p>  1 學生選課成功,并顯示。</p><p><b>  4.6 附加說明:</b></p><p><b>  無</b></p>&

64、lt;p><b>  5. 學生查看選課</b></p><p><b>  5.0 用例名稱:</b></p><p>  中文名稱:查看已選課程</p><p>  功能:學生對選課進行查詢</p><p><b>  5.1 簡要說明:</b></p>

65、<p>  本用例的功能主要是用于學生確認是否已經(jīng)選課成功。</p><p><b>  5.2 事件流:</b></p><p>  5.2.1 基本流:</p><p><b>  1學生請求查看選課</b></p><p>  2 單擊選課查詢,進入查詢選課頁面。</p>

66、;<p>  3 選課成功則顯示該門課程,選課未成功則不能顯示。</p><p>  5.2.2 備選流:</p><p>  如果未有選課信息提示說明還沒有選好課程,應(yīng)該返回選擇課程頁面進行選課以后再進行查詢。</p><p><b>  5.3 特殊需求:</b></p><p><b>  

67、無</b></p><p><b>  5.4 前置條件:</b></p><p><b>  5.5 后置條件:</b></p><p><b>  無</b></p><p><b>  5.6 附加說明:</b></p>&

68、lt;p><b>  無</b></p><p>  6. 學生選課信息統(tǒng)計</p><p><b>  6.0 用例名稱:</b></p><p>  中文名稱:選課信息的統(tǒng)計</p><p>  功能:對學生的選課信息進行統(tǒng)計。</p><p><b> 

69、 6.1 簡要說明:</b></p><p>  本用例的功能主要是用于查看所有學生的選課情況。</p><p><b>  6.2 事件流:</b></p><p>  6.2.1 基本流:</p><p>  1查看所有課程的選課情況和學生的選課信息</p><p>  2 單擊選

70、課信息,進入選課信息頁面。</p><p>  3 點擊查看則可以顯示所有選擇這門課程的學生名單。</p><p>  4 搜索課程或者學生對選課信息進行查詢。</p><p>  6.2.2 備選流:</p><p><b>  無</b></p><p><b>  6.3 特殊需求

71、:</b></p><p>  必須管理員身份才能使用此功能</p><p><b>  6.4 前置條件:</b></p><p>  有專業(yè)開課和學生進行選課</p><p><b>  6.5 后置條件:</b></p><p><b>  無&l

72、t;/b></p><p><b>  6.6 附加說明:</b></p><p><b>  無</b></p><p><b>  7修改密碼</b></p><p><b>  7.0 用例名稱:</b></p><p>

73、;  中文名稱:修改用戶密碼 </p><p>  功能:用于系統(tǒng)用戶修改自己的密碼,以確保系統(tǒng)的安全性。</p><p><b>  7.1 簡要說明:</b></p><p>  本用例的功能主要是允許用戶修改自己的密碼。</p><p><b>  7.2 事件流:</b></p>

74、<p>  7.2.1 基本流:</p><p>  1 用戶請求修改自己的密碼。</p><p>  2 系統(tǒng)顯示密碼修改界面。</p><p>  3 用戶輸入舊密碼、新密碼。</p><p>  4 系統(tǒng)對舊密碼進行驗證,再次要求用戶輸入新密碼的確認密碼。</p><p>  5 用戶輸入新密碼確認

75、密碼。</p><p>  6 系統(tǒng)比較新密碼和新密碼確認密碼,根據(jù)比較結(jié)果執(zhí)行下面的相應(yīng)操作。</p><p>  新密碼和新密碼確認密碼相符,繼續(xù)執(zhí)行下一步驟。</p><p>  新密碼和新密碼確認密碼不相符,返回基本流3。</p><p>  7 系統(tǒng)修改用戶密碼,并提醒用戶密碼修改已成功。</p><p> 

76、 8 用戶要求結(jié)束用戶密碼修改任務(wù)。</p><p>  9 系統(tǒng)結(jié)束用戶密碼修改界面的顯示。</p><p><b>  7.3 前置條件:</b></p><p>  1 進入本系統(tǒng)的主界面。</p><p><b>  7.4 后置條件:</b></p><p>  1

77、 系統(tǒng)成功保存用戶的新密碼,新密碼下次登錄生效。</p><p>  3.2非功能性需求:</p><p>  3.21 用戶界面需求</p><p>  3.22 軟硬件環(huán)境需求</p><p>  3.23 產(chǎn)品質(zhì)量需求</p><p><b>  4. 可行性分析</b></p>

78、<p><b>  4.1編寫目的</b></p><p>  為了給軟件開發(fā)企業(yè)的決策層提供是否進行項目實施的參考依據(jù),現(xiàn)以文件的形式分析項目的風險、項目需要的投資與效益。方便讀者概要的了解此軟件系統(tǒng)。</p><p>  4.2開發(fā)系統(tǒng)的技術(shù)可行性</p><p>  學生選課系統(tǒng)是一款管理系統(tǒng),系統(tǒng)囊括了專業(yè)管理和課程管理的

79、基本過程。系統(tǒng)覆蓋學生的選課、查看、修改密碼等各個環(huán)節(jié),軟件的各個模塊操作界面簡單、實用,用戶可以在最短的時間內(nèi)掌握系統(tǒng)的使用方法。用戶可以在最短時間內(nèi)找到自己所需要的信息。系統(tǒng)采用如今已廣泛被人們接受的B/S結(jié)構(gòu),可以通過Internet協(xié)同工作,數(shù)據(jù)共享。系統(tǒng)軟件采用現(xiàn)在流行且技術(shù)很成熟的框架Struts + hibernate+Spring+MySQL平臺進行開發(fā)并實現(xiàn)??梢赃M行高效的管理,提高工作效率。參考《學生選課系統(tǒng)統(tǒng)需求說

80、明書》,本系統(tǒng)具有以下特點:</p><p>  具有良好的系統(tǒng)性能,友好的用戶界面。</p><p>  較高的處理效率,便于使用和維護。</p><p>  采用成熟的技術(shù)開發(fā),全系統(tǒng)具有較高的技術(shù)水平</p><p>  盡可能地簡化選課的管理工作,提高工作效率</p><p>  4.3開發(fā)系統(tǒng)的法律可行性&l

81、t;/p><p>  開發(fā)本系統(tǒng)是為了高校選課的高效管理,并實現(xiàn)對決策的支持。在開發(fā)的過程中完全自主開發(fā),不會出現(xiàn)侵權(quán)問題。另外也會使用正版的軟件來開發(fā)系統(tǒng)和運行系統(tǒng)。開發(fā)出的新系統(tǒng)的工作流程也是完全符合藥品行業(yè)的標準,完全在法律的允許范圍之內(nèi)。</p><p>  4.3社會條件上的可行性</p><p>  絡(luò)的普及,網(wǎng)絡(luò)也越來越受到人們的喜愛,這也為新系統(tǒng)實現(xiàn)后的

82、運行提供了一個大的環(huán)境。</p><p><b>  5. 系統(tǒng)設(shè)計</b></p><p><b>  5.1 系統(tǒng)目標</b></p><p>  根據(jù)《高校選課系統(tǒng)需求說明書》,制定是系統(tǒng)目標如下:</p><p>  靈活的人機交互界面,操作簡單方便,界面簡潔美觀。</p>&

83、lt;p>  系統(tǒng)提供中、英文語言,實現(xiàn)國際化。</p><p><b>  學生進行網(wǎng)上選課</b></p><p>  管理員對課程與專業(yè)信息進行維護。</p><p><b>  統(tǒng)計信息。</b></p><p><b>  修改個人密碼。。</b></p&

84、gt;<p>  系統(tǒng)運行穩(wěn)定,安全可靠</p><p>  5.2 系統(tǒng)功能結(jié)構(gòu)</p><p>  高校學生選課系統(tǒng)的功能結(jié)構(gòu)如圖1-1所示:</p><p>  圖1-1 學生選課系統(tǒng)功能結(jié)構(gòu)圖</p><p><b>  5.3 系統(tǒng)流程圖</b></p><p>  根據(jù)學

85、生選課系統(tǒng)的操作流程,系統(tǒng)的流程圖如圖1-2、1-3所示</p><p>  圖1-2 學生選課系統(tǒng)流程圖1</p><p>  圖1-3 學生選課系統(tǒng)流程圖2</p><p><b>  6.數(shù)據(jù)庫設(shè)計</b></p><p>  6.1數(shù)據(jù)庫中表的設(shè)計</p><p>  本系統(tǒng)定義的數(shù)據(jù)庫包

86、括:表tb_course、表tb_specialty、表tb_stucourse、表tb_stuuser、表tb_userlogin.</p><p>  tb_course表:主要用來保存于課程有關(guān)的信息,其字段名稱、類型、描述如圖2-1</p><p>  圖2-1表 tb_course</p><p>  tb_specialty表主要用來保存與專業(yè)有關(guān)的信息

87、,其字段名稱、類型、描述如圖2-2</p><p><b>  t</b></p><p>  圖2-2表tb_specialty</p><p>  tb_stucourse表:由于會有多個學生選擇多門課程,所以學生與課程的關(guān)系為多對多,而該表就是用于關(guān)聯(lián)學生與課程多對多關(guān)系。其字段名稱、類型、描述如圖2-3</p><p

88、>  圖2-3 tb_stucourse表</p><p>  表tb_stuuser主要用來保存學生的基本信息,其字段名稱、類型、描述如圖2-4</p><p>  圖2-4表tb_stuuser</p><p>  表tb_userlogin表主要用于保存登陸信息,其字段名稱、類型、描述如圖2-5</p><p>  圖2-5表tb

89、_userlogin</p><p><b>  7.系統(tǒng)架構(gòu)設(shè)計</b></p><p>  7.1 邏輯分層結(jié)構(gòu)設(shè)計</p><p>  本系統(tǒng)采用Struts + hibernate+Spring+MySQL平臺進行開發(fā)并實現(xiàn),總共由4層結(jié)構(gòu)組成,分別為表示層、業(yè)務(wù)層、持久層、數(shù)據(jù)庫層,完全遵循MVC的模式。其中表示層和業(yè)務(wù)層由strut

90、s框架組成,表示層用于提供程序與用戶交互的界面,項目中主要通過JSP、ActionForm、Struts標簽庫進行展示;業(yè)務(wù)邏輯層用于處理程序中的各種業(yè)務(wù)邏輯,項目中通過Struts框架的中央控制器及Action對象對業(yè)務(wù)請求進行處理;持久層由hibernate框架組成,負責應(yīng)用程序與關(guān)系模型數(shù)據(jù)庫之間的操作;MySQL負責數(shù)據(jù)庫層,具體實現(xiàn)大致如圖3-1</p><p>  圖3-1 業(yè)務(wù)邏輯分層結(jié)構(gòu)圖<

91、/p><p>  7.2 實體對象設(shè)計</p><p>  本系統(tǒng)實體映射就是將數(shù)據(jù)表中的字段映射為Java類中對應(yīng)類型的變量,然后為這些變量增加 setter與getter方法,用于存取變量的值,由于在存取數(shù)據(jù)庫的時候我們使用了Hibernate框架,因此還需要編寫關(guān)于數(shù)據(jù)表中字段與實體類中的變量的hbm.xml配置文件。在高校學生選課系統(tǒng)中所有的實體類與映像文件全部存放在com.jwy.d

92、to包中</p><p><b>  用戶登陸信息:</b></p><p>  UserLogin.java為用戶登陸信息實體類,用于封裝部門信息。</p><p>  UserLogin.hbm.xml實體關(guān)系映射配置文件,在該文件中定義UserLogin實體類中的屬性與tb_userlogin表的關(guān)系,其中主鍵列ID的生成方式為自動增長。

93、</p><p><b>  專業(yè)信息:</b></p><p>  Specialty為專業(yè)信息實體類,用于映射專業(yè)信息表中的字段。</p><p>  Specialty.hbn.xml為實體關(guān)系映射配置文件,在該文件中將Specialty類與數(shù)據(jù)庫中的tb_ specialty表進行關(guān)聯(lián)映射,其中主鍵列ID的生成方式為自動增長。</

94、p><p><b>  課程信息:</b></p><p>  Course.java為課程信息實體類,用于映射課程表中的字段。</p><p>  Course.java.hbm.xml實體關(guān)系映射配置文件,在該文件中將Course類中的屬性與數(shù)據(jù)表tb_course的字段進行映射,其中主鍵列ID的生成方式為自動增長。</p>&l

95、t;p><b>  學生信息:</b></p><p>  StuUser.java為學生信息實體類,用于映射學生信息表中的字段。</p><p>  StuUser.hbm.xml實體關(guān)系映射配置文件,將實體類StuUser類中的屬性與tb_stuuser表中的字段進行映射,其中ID列為主鍵列,生成方式為用戶指定。</p><p>  

96、學生與課程關(guān)聯(lián)信息:</p><p>  StuCourse.java為學生與課程關(guān)聯(lián)信息表的實體映射類。</p><p>  StuCourse.hbm.xml實體關(guān)系映射配置文件,用于映射實體類StuCourse中的屬性與數(shù)據(jù)表tb_ StuCourse中的對應(yīng)關(guān)系。</p><p>  7.3設(shè)計操作數(shù)據(jù)庫的接口與實現(xiàn)類</p><p>

97、;  5.31用戶登陸信息DOA與接口IUserLoginDao</p><p>  IUserLoginDao接口中主要定義了對用戶登陸信息表進行操作的方法,其中包括注冊新用戶以及通過各種條件驗證用戶身份和修改用戶密碼的方法。</p><p>  5.32用戶登錄信息DAO與接口實現(xiàn)類UserLoginDao</p><p>  UserLoginDao類繼承了H

98、ibernateDaoSupport類,實現(xiàn)了IUserLoginDao借口中聲明的方法,并且通過使用注視形式的事物與HibernateTemplate模板來對數(shù)據(jù)表進行操作。</p><p>  5.33專業(yè)信息DAO接口ISpecialtyDao</p><p>  ISpecialtyDao接口定于了用于對專業(yè)信息表進行操作的方法,其中包括增加新專業(yè)信息的方法insert()、將指定

99、編號的專業(yè)設(shè)為已經(jīng)結(jié)業(yè)的方法updateIsFinish()、按指定專業(yè)編號查詢專業(yè)信息的方法findById()、查詢所有專業(yè)信息的方法findByAll()以及查詢所有未結(jié)業(yè)專業(yè)信息的方法findStubyAll().</p><p>  5.34專業(yè)信息DAO接口實現(xiàn)類SpecialtyDao</p><p>  SpecialtyDao類繼承了HibernateDaoSupport

100、類,實現(xiàn)了ISpecialtyDao借口中聲明的方法,并且通過使用注釋形式的事物與HibernateTemplate模板來對數(shù)據(jù)表進行操作。</p><p>  5.35課程信息DAO接口ICourseDao</p><p>  在ICourseDao接口中定義了對課程信息表進行操作的方法,其中主要是根據(jù)不同條件查詢課程信息的方法。</p><p>  5.36課程

101、信息DAO借口實現(xiàn)類CourseDao</p><p>  CourseDao類繼承了HibernateDaoSupport類,是想了ICourseDao接口中聲明的方法,并且通過使用注視形式的事物與HibernateTemplate模板來對數(shù)據(jù)表進行操作。</p><p>  5.37學生信息DAO接口IStuUserDao</p><p>  IStuUserD

102、ao接口用于定義對學生信息表進行操作的方法,其中insert()方法用于增加一個新的用戶信息,findById()方法用于按照指定的編號查找學生信息,findSelect()方法用于查詢學生可以選擇的課程,findSelected()方法用于查詢學生已經(jīng)選擇過的課程信息.</p><p>  5.38學生信息DAO接口實現(xiàn)類StuUserDao</p><p>  StuUserDao類繼

103、承了HibernateDaoSupport類,實現(xiàn)了IStuUserDao接口中聲明的方法,并且通過使用注釋形式的事物與HibernateTemplate模板來對數(shù)據(jù)表進行操作。</p><p><b>  8.運行設(shè)計</b></p><p><b>  8.1 運行環(huán)境</b></p><p><b>  1

104、. 硬件環(huán)境要求</b></p><p><b>  (1)客戶機要求</b></p><p>  本系統(tǒng)對客戶端的要求不高,一般的硬件環(huán)境就可滿足要求,參考配置如下:</p><p>  CPU: Celeron(R) 1.8GHz</p><p><b>  內(nèi)存:DDR 1G</b&g

105、t;</p><p>  硬盤:120G 7200轉(zhuǎn)/min</p><p>  8.2運行模塊的組合</p><p><b>  9.系統(tǒng)詳細設(shè)計</b></p><p><b>  9.1總體設(shè)計</b></p><p><b>  9.11設(shè)計原則</

106、b></p><p>  (1)可靠性 系統(tǒng)應(yīng)該滿足可靠性設(shè)計要求,并能保證系統(tǒng)長期安全的運行;</p><p> ?。?)安全性 系統(tǒng)應(yīng)該具有必要的安全保護和密碼保護措施;</p><p>  (3)容錯性 系統(tǒng)應(yīng)該具有容錯能量,有抗干擾能量。對各類用戶的誤操作有提示或者自動消除能量;</p><p>  (4)實用性 注重運用成熟而

107、且實用的技術(shù),使系統(tǒng)能能產(chǎn)生良好的社會效益和經(jīng)濟效益;</p><p> ?。?)易操作性 堅持最終面向用戶的原則,建立友好的用戶界面,使用戶操作簡單直觀,易于掌握。</p><p><b>  9.12軟件結(jié)構(gòu)</b></p><p>  該系統(tǒng)按照不同的功能可以劃分為用戶管理模塊,學生模塊和管理模塊。系統(tǒng)功能結(jié)果圖如下:</p>

108、<p><b>  9.2詳細設(shè)計</b></p><p><b>  9.21界面設(shè)計</b></p><p> ?。?)通過如下的打登錄界面,能夠保護系統(tǒng)的安全性:</p><p> ?。?)下面是管理員系統(tǒng)的主界面,通過菜單可以實現(xiàn)各個功能模塊:</p><p> ?。?)下面是

109、學生系統(tǒng)的主頁面,通過菜單實現(xiàn)各個功能:</p><p>  9.3系統(tǒng)功能模塊設(shè)計</p><p><b>  9.31用戶模塊</b></p><p><b>  (1)用戶注冊流程</b></p><p>  用戶注冊流程功能主要針對學生用戶,學生注冊的具體流程如下圖所示。進入注冊頁面后輸入登

110、錄賬號等注冊信息,然后系統(tǒng)會判斷用戶輸入的登錄賬號是否已被占用,如果被占用則返回注冊頁面并給出提示;如果沒被占用。則把用戶信息寫入數(shù)據(jù)庫。如何進入輸入用戶基本信息頁面。</p><p>  (2)用戶注冊JSP頁面</p><p>  在系統(tǒng)首頁中單擊“新用戶注冊”超鏈接,就進入到reg.jsp頁面。其運行效果如下:</p><p>  在該頁面中使用Strus的標

111、簽庫創(chuàng)建表單對象并在表單對象中分別加入用戶名,密碼,確認密碼以及電子郵箱等表單元素用于輸入信息,然后通過reg.do請求用戶注冊控制器中的注冊新用戶的方法來注冊一個新用戶</p><p>  用戶注冊成功后會進入到學生基本信息頁面——addStruInfo.jsp,如圖:</p><p>  填寫基本信息頁面中,需要用戶輸入個人信息以及選擇所學專業(yè)。</p><p>

112、;<b> ?。?)用戶登錄流程</b></p><p><b>  用戶流程圖如下:</b></p><p> ?。?)用戶登錄JSP頁面</p><p>  用戶登錄頁面index.jsp也是該系統(tǒng)的首頁,主要用于輸入用戶登錄信息,進行登錄操作,頁面運行效果如下:</p><p><b&g

113、t; ?。?)密碼修改流程</b></p><p>  密碼修改流程圖如下:</p><p> ?。?)密碼修改JSP頁面</p><p>  用戶選擇密碼修改連接進入密碼修改JSP頁面:</p><p><b>  9.32管理模塊</b></p><p>  管理模塊主要實現(xiàn)了管理

114、專業(yè)信息,課程信息以及對學生選課情況進行統(tǒng)計輸出的功能。在此模塊中使用了一個框架頁面manager.jsp,其代碼如下:</p><p>  <frameset rows="240,*,80" frameborder="no" border="0" framespacing="0"></p><p>

115、;  <frame src="manager/top.jsp" name="top" scrolling="No" noresize="noresize" id="topFrame" /></p><p>  <frameset cols="*,955,*" framebord

116、er="no" border="0" framespacing="0"></p><p>  <frame src="manager/left.jsp" name="left" scrolling="No" noresize="noresize" id="

117、;left" /></p><p>  <frame src="manager/main.jsp" name="main" noresize="noresize" id="main" /></p><p>  <frame src="manager/right.jsp

118、" name="right" scrolling="No" noresize="noresize" id="right" /></p><p>  </frameset></p><p>  <frame src="manager/bottom.jsp" n

119、ame="bottom" scrolling="No"</p><p>  noresize="noresize" id="bottomFrame" /></p><p>  </frameset></p><p>  其中topFrame部分用于顯示管理模塊的主菜單頁

120、面top.jsp,該頁使用了熱點地圖技術(shù)將圖片中的固定區(qū)域設(shè)置為超鏈接。</p><p><b>  頁面運行結(jié)果如下:</b></p><p><b>  專業(yè)管理流程</b></p><p>  專業(yè)管理的流程圖如下:</p><p><b> ?。?)專業(yè)管理頁面</b>

121、</p><p>  在top.jsp頁面中單擊“專業(yè)管理”超鏈接,將進入showSpecialty.jsp頁面,其中顯示了所有的專業(yè)信息。如下圖所示。通過“設(shè)置為已結(jié)業(yè)”超鏈接可以將對應(yīng)的專業(yè)設(shè)置為已結(jié)業(yè),這樣新用戶就不能注冊為該專業(yè)的學生了。</p><p>  showSpecialty.jsp頁面直接使用EL表達式讀取保存在請求中的專業(yè)信息,并將其顯示在頁面中</p>

122、<p>  單擊“增加新專業(yè)”按鈕可以進入增加一個新的專業(yè)頁面addSpecialty.jsp,在該頁面中輸入新專業(yè)信息后,點擊“確定”按鈕,即可新建一個專業(yè)。</p><p><b> ?。?)課程管理流程</b></p><p><b>  該流程圖如下:</b></p><p><b>  (4

123、)課程管理頁面</b></p><p>  課程管理包括3個頁面,即按照指定條件搜索課程頁面showCourse.jsp,增加新課程頁面addCourse.jsp以及顯示課程詳細信息并將課程設(shè)置為不可選頁面courseInfo.jsp。</p><p>  showCourse.jsp頁面根據(jù)用戶輸入的條件搜索符合條件的課程,并顯示。</p><p>&

124、lt;b>  頁面運行效果如下:</b></p><p>  在該頁面中單擊“增加新課程”按鈕,將進入到addCourse.jsp頁面,此頁面主要用于創(chuàng)建新的課程</p><p>  該頁面運行效果如下:</p><p>  另外單擊查詢出來的課程名稱,將進入courseInfo.jsp頁面。該頁面主要用于查詢課程的詳細信息,也可在其中通過<

125、logic:equal>標簽來判斷此課程學生師傅可以選擇,如果可選,則通過“設(shè)置為不可選”超鏈接將課程設(shè)置為不可選</p><p><b>  (5)信息統(tǒng)計流程</b></p><p><b>  該流程圖如下:</b></p><p><b> ?。?)信息統(tǒng)計頁面</b></p>

126、;<p>  信息統(tǒng)計頁面主要由用于搜索課程信息的showStat,jsp頁面與顯示聽課學生的stuList.jsp頁面構(gòu)成。在showStat.jsp頁面中,按照專業(yè),授課教師姓名以及課程名稱搜索出滿足添加的課程,并顯示在頁面中</p><p>  該頁面運行效果如下:</p><p>  單擊“上課學員名單”列中某一課程對應(yīng)的“查看”按鈕后,程序?qū)⒄{(diào)用專業(yè)管理控制器中的s

溫馨提示

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

評論

0/150

提交評論