基于jspjava網(wǎng)絡(luò)教學(xué)平臺(tái)系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)樣本_第1頁(yè)
基于jspjava網(wǎng)絡(luò)教學(xué)平臺(tái)系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)樣本_第2頁(yè)
基于jspjava網(wǎng)絡(luò)教學(xué)平臺(tái)系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)樣本_第3頁(yè)
基于jspjava網(wǎng)絡(luò)教學(xué)平臺(tái)系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)樣本_第4頁(yè)
基于jspjava網(wǎng)絡(luò)教學(xué)平臺(tái)系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)樣本_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)之處,請(qǐng)聯(lián)系改正或者刪除。畢業(yè)設(shè)計(jì)( 論文) 基于jsp( java) 網(wǎng)絡(luò)教學(xué)平臺(tái)系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)摘 要遠(yuǎn)程教育作為現(xiàn)代教育技術(shù)的形式, 給教育思想與技術(shù)帶來(lái)了革命性的變革, 己經(jīng)成為現(xiàn)代教育的必然要求。遠(yuǎn)程教育要得以順利、 高效的實(shí)施, 必然離不開(kāi)高效的管理與支撐平臺(tái)環(huán)境。構(gòu)建基于Java技術(shù)的網(wǎng)絡(luò)教學(xué)管理系統(tǒng)是進(jìn)行遠(yuǎn)程教學(xué)的迫切需要.本文首先介紹了遠(yuǎn)程教育的發(fā)展?fàn)顩r, 面向?qū)ο蟮南到y(tǒng)開(kāi)發(fā)平臺(tái)以及對(duì)Web應(yīng)用系統(tǒng)的支持, 對(duì)象建模語(yǔ)言UML的基本知識(shí)。然后主要介紹了以UML為建模語(yǔ)言, 開(kāi)發(fā)基于JSP/Servlet的網(wǎng)絡(luò)教學(xué)管理系統(tǒng)的過(guò)程使用用例圖, 順序

2、圖和活動(dòng)圖來(lái)尋找用戶需求, 明確用例中對(duì)象之間的關(guān)系, 從而建立系統(tǒng)的用例模型; 分析類(lèi), 確定了系統(tǒng)中的對(duì)象抽象成類(lèi): 這樣完成了系統(tǒng)分析。在系統(tǒng)設(shè)計(jì)過(guò)程中, 首先設(shè)計(jì)系統(tǒng)構(gòu)架, 劃分功能模塊, 并給出功能設(shè)計(jì)。在功能設(shè)計(jì)中, 構(gòu)建設(shè)計(jì)類(lèi), 運(yùn)用設(shè)計(jì)類(lèi)順序圖, 類(lèi)圖來(lái)實(shí)現(xiàn)了系統(tǒng)的設(shè)計(jì)模型。數(shù)據(jù)庫(kù)設(shè)計(jì)給出數(shù)據(jù)庫(kù)模型和數(shù)據(jù)庫(kù)中各個(gè)表的字段結(jié)構(gòu)。最后一章對(duì)系統(tǒng)關(guān)鍵實(shí)現(xiàn)做了探討, 分別實(shí)現(xiàn)了用戶身份鑒別, 會(huì)話跟蹤, 數(shù)據(jù)庫(kù)連接池和數(shù)據(jù)優(yōu)化并對(duì)系統(tǒng)安全作出說(shuō)明。本文對(duì)如何運(yùn)用面向?qū)ο蟮姆椒▉?lái)快速高效的開(kāi)發(fā)一個(gè)復(fù)用性良好的安全的網(wǎng)絡(luò)應(yīng)用程序提供了一個(gè)良好的思路。關(guān)鍵詞: 遠(yuǎn)程教育,教學(xué)管理,UML,網(wǎng)

3、絡(luò)教學(xué)AbstractAs a representation of contemporary education, remote education, which has brought the traditional education revolutionary ideas and technologies and optimized the educational resources, has been the trend of the contemporary education. Remote education cant run well without an efficient

4、management platform. To architect a teaching management system through internet based on JSP/Servlet becomes very important.The paper first introduces the development of remote education, the object-oriented development platform JSP and the brief knowledge of UML. Then a detailed introduction is giv

5、en on the development process of a teaching management system through internet based on JSP with UML as modeling language. Constructing use case model through using use case diagram, sequence diagram and activity diagram to make clear users requirement and the relation between objects in use case. T

6、hrough analysing classes to confirm the objects in system and abstract them to classes. So the analysis of system is completed. Among the design process of system, designing the system architecture, partitioning the system to several subsystem and function models according to use cases and giving th

7、e function design of one subsystem. The function design includes the classes design and the following sequence diagram and class diagram. Database design involves a database logic model and the structure of all labels. In the end,I implement some key technologies of system such as users identity ,se

8、ssion track, database pool ,data process optimizing and system security. To ensure security, a reliable and practical security policy, in which container based declarative security is dominant and programmatic security is complementary, is given respectively to the web tier, EJI tier and data tier o

9、f the system according to the system framework .This article also supplies a good idea on how to develope reusable and safe web application quickly with object-oriented methodology.Key words: remote education, leaching management, JSP, UML目 錄 TOC o 1-3 h z HYPERLINK l _Toc 1 引言 PAGEREF _Toc h 1 HYPE

10、RLINK l _Toc 1.1 網(wǎng)絡(luò)教學(xué)系統(tǒng)的技術(shù) PAGEREF _Toc h 1 HYPERLINK l _Toc 1.2 本系統(tǒng)的特點(diǎn)和意義 PAGEREF _Toc h 2 HYPERLINK l _Toc 2 系統(tǒng)核心技術(shù)特點(diǎn) PAGEREF _Toc h 2 HYPERLINK l _Toc 2.1 web系統(tǒng)應(yīng)用研究 PAGEREF _Toc h 2 HYPERLINK l _Toc 2.1.1 N層體系結(jié)構(gòu) PAGEREF _Toc h 2 HYPERLINK l _Toc 2.1.2 基于組件開(kāi)發(fā) PAGEREF _Toc h 3 HYPERLINK l _Toc 2.2

11、JSP/Servlet對(duì)web應(yīng)用系統(tǒng)的支持 PAGEREF _Toc h 3 HYPERLINK l _Toc 3 系統(tǒng)分析 PAGEREF _Toc h 4 HYPERLINK l _Toc 3.1 用例分析 PAGEREF _Toc h 4 HYPERLINK l _Toc 3.2 用例建模 PAGEREF _Toc h 5 HYPERLINK l _Toc 3.2.1 標(biāo)識(shí)參與者 PAGEREF _Toc h 6 HYPERLINK l _Toc 3.2.2 用例圖 PAGEREF _Toc h 6 HYPERLINK l _Toc 3.2.3 順序圖 PAGEREF _Toc h 7

12、 HYPERLINK l _Toc 3.2.4 活動(dòng)圖 PAGEREF _Toc h 8 HYPERLINK l _Toc 3.3 分析類(lèi) PAGEREF _Toc h 10 HYPERLINK l _Toc 3.3.1 邊界類(lèi) PAGEREF _Toc h 10 HYPERLINK l _Toc 3.3.2 實(shí)體類(lèi) PAGEREF _Toc h 10 HYPERLINK l _Toc 3.3.3 控制類(lèi) PAGEREF _Toc h 11 HYPERLINK l _Toc 4 系統(tǒng)設(shè)計(jì) PAGEREF _Toc h 12 HYPERLINK l _Toc 4.1 體系結(jié)構(gòu)設(shè)計(jì) PAGEREF

13、 _Toc h 12 HYPERLINK l _Toc 4.2 系統(tǒng)功能設(shè)計(jì) PAGEREF _Toc h 13 HYPERLINK l _Toc 4.2.1 功能模塊劃分 PAGEREF _Toc h 13 HYPERLINK l _Toc 4.2.2 功能實(shí)現(xiàn)設(shè)計(jì) PAGEREF _Toc h 15 HYPERLINK l _Toc 4.2.3 用例設(shè)計(jì) PAGEREF _Toc h 18 HYPERLINK l _Toc 4.3 數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc h 19 HYPERLINK l _Toc 4.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)原則 PAGEREF _Toc h 19 HYPERLI

14、NK l _Toc 4.3.2 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc h 20 HYPERLINK l _Toc 5 關(guān)鍵技術(shù)及實(shí)現(xiàn) PAGEREF _Toc h 22 HYPERLINK l _Toc 5.1 用戶身份鑒別 PAGEREF _Toc h 22 HYPERLINK l _Toc 5.2 對(duì)會(huì)話的跟蹤和處理 PAGEREF _Toc h 23 HYPERLINK l _Toc 5.3 數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn) PAGEREF _Toc h 24 HYPERLINK l _Toc 5.4 數(shù)據(jù)訪問(wèn)優(yōu)化實(shí)現(xiàn) PAGEREF _Toc h 26 HYPERLINK l _Toc 5.5

15、系統(tǒng)安全實(shí)現(xiàn) PAGEREF _Toc h 27 HYPERLINK l _Toc 5.5.1 網(wǎng)絡(luò)層安全 PAGEREF _Toc h 27 HYPERLINK l _Toc 5.5.2 數(shù)據(jù)層安全 PAGEREF _Toc h 28 HYPERLINK l _Toc 6 結(jié)束語(yǔ) PAGEREF _Toc h 28 HYPERLINK l _Toc 參考文獻(xiàn) PAGEREF _Toc h 291 引言1.1 網(wǎng)絡(luò)教學(xué)系統(tǒng)的技術(shù)基于Internet的網(wǎng)絡(luò)教學(xué)系統(tǒng)是現(xiàn)代遠(yuǎn)程教育的方向, 支持網(wǎng)上教學(xué)的教學(xué)管理系統(tǒng)在其中扮演著重要角色。網(wǎng)絡(luò)教學(xué)的目標(biāo)是培養(yǎng)合格的人才, 完成既定的教學(xué)任務(wù)和實(shí)現(xiàn)國(guó)家

16、規(guī)定的教學(xué)目標(biāo)。教學(xué)管理居于一個(gè)至關(guān)里要的地位, 它起著調(diào)配教學(xué)資源、 組織教學(xué)活動(dòng)、 總結(jié)教學(xué)數(shù)據(jù)等重要作用。教學(xué)管理系統(tǒng)使得教學(xué)能夠順利實(shí)施, 也可實(shí)現(xiàn)整個(gè)教學(xué)管理過(guò)程的現(xiàn)代化和管理的規(guī)范化, 另外還能及時(shí)、 準(zhǔn)確地反映教學(xué)現(xiàn)狀, 分析教學(xué)效果。建立一個(gè)經(jīng)過(guò)Internet實(shí)現(xiàn)教學(xué)信息發(fā)布和師生交流、 網(wǎng)上選課。并能實(shí)現(xiàn)教師授課和課酬管理的基于網(wǎng)絡(luò)的教學(xué)管理系統(tǒng), 是十分必要的, 也是切實(shí)可行的。我們的思路正是構(gòu)建一種如圖1-1所示的基于 Web的開(kāi)放式網(wǎng)絡(luò)教學(xué)管理系統(tǒng)。圖1-1系統(tǒng)實(shí)例圖基于上述的分析, 為了實(shí)現(xiàn)這樣一個(gè)開(kāi)放式的網(wǎng)絡(luò)教學(xué)管理系統(tǒng), 我們采用了這樣的一個(gè)技術(shù)體系: 本系統(tǒng)是

17、依照J(rèn)2EE(Java 2Enterprise Edition)標(biāo)準(zhǔn), 綜合采用JSPIServlet, , JDBC等Java相關(guān)技術(shù)開(kāi)發(fā)的大型網(wǎng)絡(luò)應(yīng)用軟件。系統(tǒng)的開(kāi)發(fā)建立在 Web服務(wù)器(Web Server)、 應(yīng)用服務(wù)器(ApplicationServer)和數(shù)據(jù)庫(kù)服務(wù)器的多層架構(gòu)之上。這種多層結(jié)構(gòu)可將數(shù)據(jù)處理的業(yè)務(wù)邏輯、 用戶界面、 內(nèi)容顯示等部分分開(kāi), 從而使系統(tǒng)的業(yè)務(wù)邏輯集中于Application層次: 利用JavaBean服務(wù)器組件的可重用性和跨平臺(tái)性, 能夠快速開(kāi)發(fā)和二次開(kāi)發(fā)出復(fù)雜的大型平臺(tái)應(yīng)用程序, 以適應(yīng)多種用戶的不同需求。因此, 該平臺(tái)具有極佳的可靠性、 可管理性和可

18、擴(kuò)展性。1.2 本系統(tǒng)的特點(diǎn)和意義本系統(tǒng)具有通用性, 可適用于各類(lèi)學(xué)校、 成人教育, 職業(yè)培訓(xùn)和技術(shù)培訓(xùn)等機(jī)構(gòu)在遠(yuǎn)程教育平臺(tái)上進(jìn)行教學(xué)管理, 是對(duì)傳統(tǒng)教育管理模式的改革和創(chuàng)新, 其推廣使用對(duì)于教學(xué)管理的改革, 實(shí)現(xiàn)開(kāi)放式教育管理, 擴(kuò)大受教育面。有限的師資發(fā)揮更大的作用等方面具有重要的意義。本系統(tǒng)具有以下主要特點(diǎn): (1) 通用性強(qiáng)。能適用于各種機(jī)構(gòu)的網(wǎng)絡(luò)教學(xué)管理。(2) 實(shí)現(xiàn)時(shí)間和空間的分布性。在教學(xué)管理方面, 節(jié)約大量的人力物力, 提高了效率。(3) 資源庫(kù)的標(biāo)準(zhǔn)化, 使得在 Intemet上能夠比較容易的和使用其它平臺(tái)的機(jī)構(gòu)之間共享資源, 從而做到互通有無(wú), 真正實(shí)現(xiàn)系統(tǒng)的開(kāi)放性??偟膩?lái)

19、說(shuō), 筆者經(jīng)歷了本課題的系統(tǒng)分析、 設(shè)計(jì)、 實(shí)現(xiàn)的開(kāi)發(fā)周期, 構(gòu)建起一個(gè)開(kāi)放性的網(wǎng)絡(luò)教學(xué)管理系統(tǒng), 基本上完成了課題研究的目標(biāo)。在課題研發(fā)期間, 獨(dú)立完成了本系統(tǒng)的業(yè)務(wù)需求分析, 建立了用例模型, 并對(duì)對(duì)象模型進(jìn)行了詳細(xì)設(shè)計(jì)以及對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)。在下面幾章中, 將會(huì)詳細(xì)介紹本課題的設(shè)計(jì)與分析過(guò)程, 以及系統(tǒng)關(guān)鍵技術(shù)的實(shí)現(xiàn)。2 系統(tǒng)核心技術(shù)特點(diǎn)2.1 web系統(tǒng)應(yīng)用研究2.1.1 N層體系結(jié)構(gòu)90年代初, 傳統(tǒng)的企業(yè)信息系統(tǒng)(EIS)供應(yīng)商為滿足用戶要求從二層的C/S應(yīng)用模型轉(zhuǎn)向更為靈活的三層或N層(n-tier)應(yīng)用模型。N層 (n-tier )結(jié)構(gòu)能夠取得更好的整體平衡, 它將表示邏輯與業(yè)務(wù)邏

20、輯從底層數(shù)據(jù)中分離開(kāi)來(lái)。不斷增長(zhǎng)的Intranet企業(yè)應(yīng)用也積極倡導(dǎo)輕量級(jí), 便于部署的客戶端。需要注意的是, N層中的每一層并不意味著就是軟件中單獨(dú)的一個(gè)部分, 雖然也可能是這樣的層, 首先與軟件中分離方法有關(guān)。軟件內(nèi)的不同的層在邏輯上也有區(qū)別, 但能夠共存于一臺(tái)機(jī)器上, 或者跨越多臺(tái)機(jī)器進(jìn)行分布。下面是使用N層結(jié)構(gòu)的特點(diǎn): (1)加快開(kāi)發(fā)過(guò)程, 降低開(kāi)發(fā)成本: 經(jīng)過(guò)重用現(xiàn)有、 預(yù)先測(cè)試過(guò)的業(yè)務(wù)組件和數(shù)據(jù)訪問(wèn)組件, 能夠更快的開(kāi)發(fā)新的應(yīng)用程序。(2)隔離了由于改變帶來(lái)的影響: 只要接口保持不變, 一個(gè)層上的改變不會(huì)影響其它層上的組件。(3)更容易管理改變: 例如, 一個(gè)業(yè)務(wù)組件駐留在業(yè)務(wù)層(

21、該業(yè)務(wù)組件位于一個(gè)或多個(gè)專(zhuān)用服務(wù)器上), 那么我們能夠很容易地用它的新版本替換舊版本, 而不用替換不同城市甚至全球范圍內(nèi)的上百或上千的客戶端應(yīng)用程序了。2.1.2 基于組件開(kāi)發(fā)組件提供了比單純的類(lèi)更祖粒度的問(wèn)題封裝方法。接口封裝了組件提供的服務(wù), 隱藏了實(shí)現(xiàn)細(xì)節(jié)的可見(jiàn)性。因此組件間耦合更為松散。由于組件表示一個(gè)或多個(gè)較細(xì)粒度類(lèi)的邏輯集合, 且被定義在較高級(jí)別, 具有較粗粒度級(jí), 因此一個(gè)組件能夠直接封裝一個(gè)己經(jīng)劃分的問(wèn)題, 該問(wèn)題更直接地產(chǎn)生于分析和設(shè)計(jì)模型。組件經(jīng)過(guò)組件模型定義實(shí)現(xiàn)互換性和兼容性。組件模型的接口定義了其它代碼和組件之間的關(guān)系。其它代碼實(shí)體能夠是容器、 應(yīng)用程序代碼、 其它組件

22、、 其它組件模型以及一些專(zhuān)門(mén)服務(wù)提供商。近年來(lái), 人們開(kāi)發(fā)了各種不同的組件模型, 例如, Microsoft的ActiveX、 后來(lái)的COM, Sun Microsystems的applet和 JavaBean。組件為企業(yè)開(kāi)發(fā)提供了許多方便。建立在面向?qū)ο筌浖烷_(kāi)發(fā)概念之上的組件提供了一個(gè)更高級(jí)的開(kāi)發(fā)模型, 而且能加速企業(yè)應(yīng)用程序的建立。而且, 系統(tǒng)質(zhì)量也會(huì)被加強(qiáng), 因?yàn)檫@會(huì)促使商業(yè)組件的生產(chǎn)商集中于提高組件的質(zhì)量并提供有很好文檔的接口, 這樣就不要求內(nèi)部人員具有很好的特定底層實(shí)現(xiàn)技術(shù)的知識(shí)和與實(shí)現(xiàn)服務(wù)相關(guān)的知識(shí)。2.2 JSP/Servlet對(duì)web應(yīng)用系統(tǒng)的支持JSP對(duì)web應(yīng)用系統(tǒng)提供了

23、以下功能的支持: 用戶交互: 基于Web的Java小應(yīng)用程序(Applet)和桌面應(yīng)用客戶程序能夠使用基于Java的GUI技術(shù)創(chuàng)立, 并能駐留在獨(dú)立的J2 SE環(huán)境或J2EE環(huán)境中。傳統(tǒng)的非面向Java的Web瀏覽應(yīng)用程序能夠與基于J2EE的 Web服務(wù)器一起使用。除此以外, 非基于 Java的客戶程序也能夠使用分布式通信技術(shù), 如CORBA,DCOM及TCP/IP與服務(wù)器組件進(jìn)行通信。數(shù)據(jù)使能: Java數(shù)據(jù)庫(kù)連接(JDBC)方法用于與數(shù)據(jù)庫(kù)通信。J2EE, Web, EJB應(yīng)用程序, 以及應(yīng)用程序客戶程序都使用JDBC API.運(yùn)行于J2 EE環(huán)境之外獨(dú)立的Java企業(yè)應(yīng)用程序都能夠使用J

24、DBC API。系統(tǒng)保證: 各種系統(tǒng)保證屬性, 如可靠性、 可用性、 可維護(hù)性、 保護(hù)性和安全性是系統(tǒng)重要的特性, 基于Java的企業(yè)環(huán)境封裝了許多具有不同API的安全服務(wù), CORBA也在 CORBA安全服務(wù)規(guī)范中定義了安全服務(wù), 對(duì)于在應(yīng)用環(huán)境中的安全互操作特別有用。Web使能: 雖然HTML己經(jīng)是最典型的創(chuàng)立Web頁(yè)面的格式, 但XML卻是用于描述Web頁(yè)面內(nèi)所需要的數(shù)據(jù)和控制更靈活的、 更可擴(kuò)展的機(jī)制。Java ServIet和JavaServerPages是接收基于Web的請(qǐng)求和產(chǎn)生基于HTML或基于XML響應(yīng)的標(biāo)準(zhǔn)J2EE機(jī)制。Web使能應(yīng)用程序也可利用各種全局服務(wù)用于分布通信、

25、通信服務(wù)以及保證服務(wù)。應(yīng)用程序使能: XML也能用于使系統(tǒng)應(yīng)用能與外部系統(tǒng)的其它應(yīng)用程序通信。各種各樣的應(yīng)用集成技術(shù)也是應(yīng)用程序使能的一部分。經(jīng)過(guò)上述機(jī)制, 我們會(huì)得到如下應(yīng)用需求原則: ( 1) 將應(yīng)用程序劃分為多層(tier), 以構(gòu)建可伸縮的大型企業(yè)級(jí)應(yīng)用。( 2) 將系統(tǒng)分解為相正確粗粒度組件, 以便于快速開(kāi)發(fā)。因此, 能夠用”層(tier)+組件十服務(wù)”來(lái)描述JSP/Servlet對(duì) web應(yīng)用系統(tǒng)的支持。3 系統(tǒng)分析系統(tǒng)分析是軟件工程的重要階段, 是所有開(kāi)發(fā)的依據(jù)。在系統(tǒng)分析階段, 經(jīng)過(guò)對(duì)系統(tǒng)的綜合研究, 對(duì)問(wèn)題域進(jìn)行抽象, 準(zhǔn)確的理解系統(tǒng)需求和系統(tǒng)內(nèi)部運(yùn)行機(jī)制, 有助于準(zhǔn)確的掌握

26、系統(tǒng)的需求, 從而正確的定義問(wèn)題域, 確定軟件開(kāi)發(fā)的具體內(nèi)容。對(duì)系統(tǒng)的分析過(guò)程采用面向?qū)ο蠓治?OOA),應(yīng)用可視化面向?qū)ο蠼<夹g(shù)UML(統(tǒng)一建模語(yǔ)言, Unified Modeling Language)建立系統(tǒng)模型。3.1 用例分析用例是從用戶和業(yè)務(wù)的角度來(lái)描述系統(tǒng)提供需要執(zhí)行的功能。下面列出了本系統(tǒng)主要的用例: (1) 教師信息查詢學(xué)生和管理員為了解教師情況而查看教師信息.(2) 教師信息錄入與維護(hù)由教師本人錄入自己的基本信息, 包括教育背景、 研究方向、 科研成果以及發(fā)表論文, 專(zhuān)著和獲獎(jiǎng)等方面的情況。并由教師本人對(duì)信息進(jìn)行修改和維護(hù)。(3) 學(xué)生信息查看教師和管理員查看學(xué)生信息,

27、了解基本情況。(4) 發(fā)布教學(xué)公告管理員在網(wǎng)站的主頁(yè)上發(fā)布教學(xué)公告信息。包括課程名稱、 開(kāi)課時(shí)間、 起止日期、 主講教師等。經(jīng)過(guò)設(shè)置鏈接還能查看課程的詳細(xì)介紹。(5) 教學(xué)公告維護(hù)管理員不定期的更新教學(xué)公告并對(duì)此進(jìn)行維護(hù)。(6) 課程資源瀏覽學(xué)生能夠查詢課程內(nèi)容, 了解課程的章節(jié)目錄等信息.(7) 課程資源管理任課教師錄入新的課程資源信息或者修改、 刪除舊的課程資源。(8) 學(xué)生選課,加入到某個(gè)選課班學(xué)生在查看了系統(tǒng)發(fā)布的教學(xué)公告之后, 根據(jù)自己的實(shí)際情況和興趣選取要求學(xué)習(xí)的課程。學(xué)生在選定課程之后, 未繳納相應(yīng)的費(fèi)用之前, 能夠?qū)x課內(nèi)容進(jìn)行修改.(9) 成績(jī)查詢學(xué)生經(jīng)過(guò)查詢條件可隨時(shí)查看自

28、己的考試成績(jī)。(10) 成績(jī)管理教師錄入學(xué)生的考試成績(jī), 評(píng)定成績(jī)等級(jí), 更改或刪除學(xué)生成績(jī)。學(xué)生查詢成績(jī)。(11) 作業(yè)管理教師對(duì)選課班進(jìn)入作業(yè)任務(wù)的發(fā)布, 批改, 統(tǒng)計(jì), 查詢。學(xué)生可在線做作業(yè), 提交作業(yè), 查看批改結(jié)果。(12)在線答疑學(xué)生在線提問(wèn), 教師在線答疑。(13)在線測(cè)試教師利用系統(tǒng)生成考卷并發(fā)布出去。學(xué)生在線答卷并由系統(tǒng)自動(dòng)評(píng)分。(12) 消息提醒對(duì)教師布置作業(yè), 在線答疑, 在線測(cè)試進(jìn)行短消息提醒。(11)用戶登錄使用本系統(tǒng)的用戶必須登錄才能進(jìn)入本系統(tǒng)查看信息, 匿名用戶不具有訪問(wèn)權(quán)限。(12) 用戶注銷(xiāo)用戶退出本系統(tǒng)。3.2 用例建模用例模型描述的是外部執(zhí)行者(Acto

29、r)所理解的系統(tǒng)功能。它的建立是系統(tǒng)開(kāi)發(fā)者和用戶重復(fù)討論的結(jié)果, 表明了開(kāi)發(fā)者和用戶對(duì)需求規(guī)格達(dá)成的共識(shí)。在需求分析階段, 能夠用用例來(lái)捕獲用戶需求, 以描述對(duì)系統(tǒng)感興趣的外部角色及其對(duì)系統(tǒng)(用例)的功能要求。3.2.1 標(biāo)識(shí)參與者參與者是指系統(tǒng)的分類(lèi)用戶, 分別代表一個(gè)唯一的角色。對(duì)本系統(tǒng)來(lái)說(shuō), 存在相互聯(lián)系如下3類(lèi)用戶: 管理員: 經(jīng)過(guò)系統(tǒng)管理學(xué)生檔案, 維護(hù)學(xué)生選課內(nèi)容, 發(fā)布教學(xué)公告, 成績(jī)管理, 以及數(shù)據(jù)備份恢復(fù)工作等等。管理員是系統(tǒng)中權(quán)限最大的用戶, 業(yè)務(wù)范圍幾乎涉及所有方面。教師: 經(jīng)過(guò)系統(tǒng)管理自己的基本信息, 查看課程資源, 查看選課情況。業(yè)務(wù)范圍為與自己和教學(xué)相關(guān)的信息。學(xué)生

30、: 經(jīng)過(guò)系統(tǒng)查看教學(xué)公告、 教師信息和課程資源信息, 查看成績(jī)。業(yè)務(wù)范圍為與教學(xué)相關(guān)的信息3.2.2 用例圖用例圖(Use Case)是參與者(系統(tǒng)外部用戶)所能觀察到的系統(tǒng)功能的模型圖, 它描述參與者與系統(tǒng)提供的用例之間的某種聯(lián)系。用例圖就是從參與者的角度描述出系統(tǒng)中的用例和參與者, 以及用例與參與者之間的關(guān)系(哪個(gè)參與者參與了哪個(gè)用便的執(zhí)行).根據(jù)上面的用例分析, 得到系統(tǒng)的用例圖如下面3張圖所示: 圖3-1超級(jí)管理員用例圖圖3-2教師用例圖圖3-3學(xué)生用例圖所有用戶都包括用戶登錄和注銷(xiāo)這兩個(gè)用例, 圖中未畫(huà)出。3.2.3 順序圖為進(jìn)一步說(shuō)明系統(tǒng)需求, 能夠經(jīng)過(guò)順序圖、 協(xié)作圖和活動(dòng)圖來(lái)描

31、述用例之間或用例內(nèi)部的動(dòng)態(tài)關(guān)系。這里我使用了順序圖和活動(dòng)圖, 將陸續(xù)介紹。用例是一種真正的文本描述, 主要用于解釋。順序圖用于更準(zhǔn)確地、 以技術(shù)語(yǔ)表示用例。按照參與者與系統(tǒng)的交互關(guān)系來(lái)描述用例就能夠做到這一點(diǎn)。順序圖(Sequence Diagram)是UML中一種重要的動(dòng)態(tài)視圖, 它是以時(shí)間順序顯示對(duì)象交互的圖, 它顯示了參與交互的對(duì)象和所交換消息的順序, 是一種交互關(guān)系, 并強(qiáng)調(diào)了交互發(fā)生的時(shí)間順序。這里我給出的例子是學(xué)生選課順序圖。圖3-4學(xué)生加入選課班順序圖3.2.4 活動(dòng)圖活動(dòng)圖的主要作用是表示系統(tǒng)的業(yè)務(wù)工作流和并發(fā)處理過(guò)程。它能夠更容易顯示參與者的決定和系統(tǒng)異常所要執(zhí)行的多條路徑,

32、 而這用順序圖是難以表示的。活動(dòng)圖在概念上與流程圖相似, 用它來(lái)為工作流程建模, 以及用來(lái)圖解用例的動(dòng)態(tài)行為和操作的詳細(xì)設(shè)計(jì)是很有用的。一旦一個(gè)活動(dòng)完成, 執(zhí)行就轉(zhuǎn)到由活動(dòng)的有效轉(zhuǎn)移所確定的下一種狀態(tài)。在活動(dòng)圖中, 泳道可用于在一個(gè)活動(dòng)圖中顯示多個(gè)對(duì)象, 以及它們?nèi)绾卧谝黄鹜瓿烧麄€(gè)用例。根據(jù)需求分析為系統(tǒng)的核心業(yè)務(wù)繪制活動(dòng)圖, 明確在業(yè)務(wù)工作流中參與者與系統(tǒng)各用例之間以及系統(tǒng)用例之間可能的交互。用例能夠認(rèn)為是獲得對(duì)參與者有用的東西, 而需執(zhí)行的步驟, 順序圖和活動(dòng)圖對(duì)精確標(biāo)識(shí)和理解用例行為都是有用的。圖3-5學(xué)生流程活動(dòng)圖圖3-6教師流程活動(dòng)圖3.3 分析類(lèi)根據(jù)用例模型, 我們抽象出系統(tǒng)中的對(duì)

33、象和類(lèi)。系統(tǒng)中存在三種類(lèi): 邊界類(lèi)、 控制類(lèi)和實(shí)體類(lèi), 每一種類(lèi)在系統(tǒng)模型中執(zhí)行一定的作用口。3.3.1 邊界類(lèi)在系統(tǒng)模型中, 邊界類(lèi)表示系統(tǒng)內(nèi)部工作方式與其周?chē)h(huán)境之間的各種交互作用。包括: 經(jīng)過(guò)圖形化用戶界面與用戶交互, 與其它參與者交互(如代表其它系統(tǒng)的參與者), 與設(shè)備通信等。使用邊界類(lèi)的優(yōu)點(diǎn)之一是: 它們能夠把系統(tǒng)的其余部分與外界環(huán)境隔離和屏蔽起來(lái)( 見(jiàn)表3.1) 。表3.1系統(tǒng)邊界類(lèi)邊界類(lèi)名稱邊界類(lèi)職責(zé)主頁(yè)面顯示最新教學(xué)公告和其它相關(guān)信息鏈接登錄頁(yè)面允許用戶輸入有效的帳號(hào)和密碼, 檢驗(yàn)用戶身份注銷(xiāo)頁(yè)面允許用戶退出系統(tǒng)教師信息列表頁(yè)面允許學(xué)生查看教師信息, 管理員可刪除信息教師信息輸

34、入頁(yè)面允許教師輸入個(gè)人信息教師信息編輯頁(yè)面允許教師對(duì)個(gè)人信息進(jìn)行編輯、 修改教師信息查詢頁(yè)面允許所有用戶查詢教師信息教師信息查詢結(jié)果頁(yè)面顯示查詢結(jié)果課程資源列表頁(yè)面允許教師和學(xué)生查看課程信息, 管理員可刪除信息課程資源輸入頁(yè)面允許管理員輸入課程信息課程資源編輯頁(yè)面允許管理員對(duì)課程信息進(jìn)行編輯、 修改課程資源查詢頁(yè)面允許所有用戶查詢課程資源課程資源查詢結(jié)果頁(yè)面顯示查詢結(jié)果學(xué)生信息查看頁(yè)面允許管理員和教師查看學(xué)生信息教學(xué)公告發(fā)布頁(yè)面允許管理員設(shè)置開(kāi)課信息并發(fā)布開(kāi)課信息列表頁(yè)面允許學(xué)生和教師查看開(kāi)課的詳細(xì)信息, 管理員可刪除信息開(kāi)課信息編輯頁(yè)面允許管理員更改開(kāi)課信息選課頁(yè)面允許學(xué)生選課選課信息查看頁(yè)

35、面允許學(xué)生查看自己的選課內(nèi)容并對(duì)此修改成績(jī)查詢頁(yè)面允許學(xué)生查詢自己的考試成績(jī)成績(jī)查詢結(jié)果頁(yè)面顯示查詢結(jié)果成績(jī)錄入頁(yè)面允許管理員輸入學(xué)生的考試成績(jī)成績(jī)修改頁(yè)面允許管理員修改學(xué)生的成績(jī)信息發(fā)布頁(yè)面允許管理員發(fā)布教學(xué)信息3.3.2 實(shí)體類(lèi)實(shí)體對(duì)象表示對(duì)系統(tǒng)的重要信息。它們一般是持久的, 并能在一個(gè)延續(xù)的時(shí)期內(nèi)存在。它們的主要的目的是表示和管理系統(tǒng)內(nèi)的信息。實(shí)體類(lèi)一般表示為一種邏輯的數(shù)據(jù)結(jié)構(gòu)( 見(jiàn)表3.2) 。表3.2系統(tǒng)實(shí)體類(lèi)實(shí)體類(lèi)名稱實(shí)體類(lèi)屬性用戶基本信息用戶名、 編號(hào)、 用戶類(lèi)別、 登錄密碼教師基本信息姓名、 編號(hào)、 性別、 出生年月、 身份證號(hào)、 學(xué)歷、 職稱、 原屬學(xué)校、 電子郵件、 從教時(shí)

36、間、 研究方向、 主講課程教師業(yè)績(jī) 成果名稱、 獲獎(jiǎng)等級(jí)、 獲獎(jiǎng)時(shí)間、 著作名稱、 出版社、 出版時(shí)間、 論文名稱課程資源信息課程名稱、 課程編號(hào)、 教材名稱、 所屬學(xué)科、 學(xué)時(shí)數(shù)、 培訓(xùn)類(lèi)型、 課件介紹信息、 視頻文件名、 章節(jié)目錄選課信息選課名稱、 課程編號(hào)、 選課學(xué)生姓名、 選課時(shí)間開(kāi)課信息開(kāi)課名稱、 課程編號(hào)、 授課時(shí)間、 主講教師、 信息發(fā)布時(shí)間成績(jī)單課程名稱、 課程編號(hào)、 學(xué)生姓名、 學(xué)生編號(hào)、 考試成績(jī)、 成績(jī)等級(jí)3.3.3 控制類(lèi)控制類(lèi)用于系統(tǒng)內(nèi)的模型行為, 用于對(duì)某一個(gè)具體的用例相關(guān)的控制或者其它業(yè)務(wù)邏輯建模。一般將協(xié)調(diào)、 排序等事物處理或者涉及多個(gè)對(duì)象的復(fù)雜事務(wù)邏輯隔離在一

37、個(gè)或多個(gè)控制類(lèi)中( 見(jiàn)表3.3) 。表3.3系統(tǒng)控制類(lèi)控制類(lèi)名稱控制類(lèi)職責(zé)用戶登錄響應(yīng)用戶登錄請(qǐng)求, 檢驗(yàn)用戶身份的合法性用戶注銷(xiāo)用戶退出系統(tǒng)教師信息查看對(duì)學(xué)生提出的教師信息查詢請(qǐng)求進(jìn)行處理增加教師信息對(duì)教師提出的增加個(gè)人信息請(qǐng)求進(jìn)行處理編輯教師信息對(duì)教師提出的編輯個(gè)人信息請(qǐng)求進(jìn)行處理教師信息列表對(duì)顯示教師信息列表請(qǐng)求進(jìn)行處理刪除教師信息對(duì)刪除教師信息請(qǐng)求進(jìn)行處理課程資源查看對(duì)學(xué)生提出的課程信息查詢請(qǐng)求進(jìn)行處理增加課程資源對(duì)管理員提出的增加課程信息請(qǐng)求進(jìn)行處理編輯課程資源對(duì)管理員提出的編輯課程信息請(qǐng)求進(jìn)行處理課程資源列表對(duì)顯示課程資源列表請(qǐng)求進(jìn)行處理刪除課程資源對(duì)刪除課程資源請(qǐng)求進(jìn)行處理學(xué)生信

38、息查看對(duì)教師和管理員提出的學(xué)生信息查詢請(qǐng)求進(jìn)行處理教學(xué)公告發(fā)布對(duì)管理員提出的新增開(kāi)課信息請(qǐng)求進(jìn)行處理開(kāi)課信息查看對(duì)學(xué)生和教師提出的開(kāi)課信息查看請(qǐng)求進(jìn)行處理編輯開(kāi)課信息對(duì)管理員提出的編輯開(kāi)課信息請(qǐng)求進(jìn)行處理選課對(duì)學(xué)生提出的選課請(qǐng)求進(jìn)行處理選課內(nèi)容查看對(duì)學(xué)生提出的查看自己的選課內(nèi)容請(qǐng)求進(jìn)行處理成績(jī)查詢對(duì)學(xué)生提出的成績(jī)查詢請(qǐng)求進(jìn)行處理成績(jī)錄入對(duì)管理員提出的新增成績(jī)請(qǐng)求進(jìn)行處理成績(jī)修改對(duì)管理員提出的修改成績(jī)請(qǐng)求進(jìn)行處理4 系統(tǒng)設(shè)計(jì)4.1 體系結(jié)構(gòu)設(shè)計(jì)一個(gè)體系就是各部分一起定義整個(gè)系統(tǒng)的藍(lán)圖: 結(jié)構(gòu), 接口和通信技術(shù)。使用體系結(jié)構(gòu)有這樣一些意義: (1) 軟件分解成更小的塊, 有助于理解、 管理、 開(kāi)發(fā)

39、和維護(hù)軟件; (2) 軟件體系結(jié)構(gòu)能夠幫助基于組件開(kāi)發(fā); (3) 使用被驗(yàn)證的體系結(jié)構(gòu), 便于管理軟件的性能和保證質(zhì)量; (4) 經(jīng)過(guò)正確的體系結(jié)構(gòu)能夠更好地實(shí)現(xiàn)重用性; (5) 正式的體系結(jié)構(gòu)會(huì)使系統(tǒng)很脆弱, 難以升級(jí)和實(shí)現(xiàn)收縮, 等等。本系統(tǒng)采用MVC(Modet-View-Control)2的模式來(lái)設(shè)計(jì)系統(tǒng)結(jié)構(gòu)并利用JSP/Servlet的技術(shù)來(lái)實(shí)現(xiàn)。本著業(yè)務(wù)邏輯和表現(xiàn)邏輯分離, 對(duì)系統(tǒng)資源進(jìn)行合理有效管理, 優(yōu)化系統(tǒng)性能的指導(dǎo)思想, 設(shè)計(jì)總體框架如圖4-1所示。圖4-1采用MVC設(shè)計(jì)模式的J2EE框架系統(tǒng)的各組成部分如下: (1) 客戶層: 在本系統(tǒng)中主要是Web瀏覽器。(2) web

40、層: 所有的用戶界面的開(kāi)發(fā)和簡(jiǎn)單的業(yè)務(wù)邏輯都在這層得到實(shí)現(xiàn)??紤]到JSP能夠嵌人HTML中, 開(kāi)發(fā)容易和產(chǎn)生的用戶界面靈活等優(yōu)點(diǎn), 故本系統(tǒng)采用 JSP實(shí)現(xiàn)用戶界面, 而簡(jiǎn)單的業(yè)務(wù)邏輯一般都由Servlet來(lái)開(kāi)發(fā), 響應(yīng)用戶的查詢等請(qǐng)求并調(diào)用業(yè)務(wù)邏輯層的JavaBean組件來(lái)實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯。(3) 業(yè)務(wù)邏輯層: 這一層主要由EJB組件的開(kāi)發(fā)來(lái)實(shí)現(xiàn)。會(huì)話Bean的主要任務(wù)是處理商務(wù)邏輯, 客戶端交互, 返回給它計(jì)算結(jié)果等: 而實(shí)體Bean的主要任務(wù)是表示數(shù)據(jù)庫(kù)中的數(shù)據(jù), 用來(lái)完成據(jù)庫(kù)的訪問(wèn)。實(shí)體Bean是經(jīng)過(guò)JDBC訪問(wèn)數(shù)據(jù)庫(kù), 完成記錄插入、 查找和刪除等操作。(4) 數(shù)據(jù)層: 負(fù)責(zé)數(shù)據(jù)的

41、存儲(chǔ)管理、 安全性管理和完整性管理等各種數(shù)據(jù)庫(kù)服務(wù), 存放系統(tǒng)中的持久性的數(shù)據(jù)信息。系統(tǒng)采用瀏覽器服務(wù)器模型(Browser/Server)。一般的, 客戶經(jīng)過(guò)瀏覽器發(fā)送HTTP請(qǐng)求給服務(wù)器端Web服務(wù)器, Web服務(wù)器接收該請(qǐng)求而且進(jìn)行相應(yīng)處理, 然后將處理后的結(jié)果返回到客戶的瀏覽器中。在客戶端, 瀏覽器中呈現(xiàn)的正是該系統(tǒng)的視圖部分。系統(tǒng)將很好地結(jié)合使用JSP與Servlet, 由JSP把用戶提出的httpRequest送達(dá)Servlet, Servlet根據(jù)請(qǐng)求的類(lèi)型不同分別進(jìn)行不同的處理, 選擇不同的操作模塊, 具體地說(shuō)比如說(shuō)對(duì)數(shù)據(jù)庫(kù)的讀寫(xiě)更新查詢操作等, Servlet處理完這些比較復(fù)

42、雜的請(qǐng)求之后, 選定JSP頁(yè)面把最后的結(jié)果回應(yīng)給使用者, 此時(shí)的JSP就只是起到了視圖的作用, 并不做邏輯上運(yùn)算只是將控制器方面?zhèn)鬟^(guò)來(lái)的資料展示給用戶而己。系統(tǒng)中的業(yè)務(wù)層中主要是JavaBean組件, 它們負(fù)責(zé)接收由servlet傳來(lái)的請(qǐng)求并對(duì)此進(jìn)行處理, 比如連接數(shù)據(jù)庫(kù)執(zhí)行查詢等操作, JavaBean組件稱為系統(tǒng)的模型 (Model)。4.2 系統(tǒng)功能設(shè)計(jì)4.2.1 功能模塊劃分網(wǎng)絡(luò)教學(xué)系統(tǒng)是一個(gè)綜合性的教學(xué)管理應(yīng)用系統(tǒng), 它包含一個(gè)教育系統(tǒng)的很多方面, 這些方面不是孤立的而是相互聯(lián)系的。本網(wǎng)絡(luò)教學(xué)系統(tǒng)作為網(wǎng)絡(luò)教學(xué)的一個(gè)重要支撐平臺(tái), 從功能上來(lái)看, 分為網(wǎng)絡(luò)課程管理系統(tǒng)、 系統(tǒng)管理和信息

43、交流管理三個(gè)子系統(tǒng)。課程管理子系統(tǒng)包括學(xué)生選課管理、 課程資源管理、 教學(xué)公告管理等功能。整個(gè)系統(tǒng)的功能結(jié)構(gòu)如圖4-2所示。教學(xué)平臺(tái)網(wǎng)絡(luò)教學(xué)教學(xué)平臺(tái)網(wǎng)絡(luò)教學(xué)平臺(tái)系統(tǒng)設(shè)置管理子系統(tǒng)網(wǎng)絡(luò)教學(xué)管理子系統(tǒng)信息交流子系統(tǒng)系統(tǒng)機(jī)構(gòu)設(shè)置系統(tǒng)用戶管理息角色, 權(quán)限管理系統(tǒng)日志管理數(shù)據(jù)庫(kù)操作學(xué)期管理課程管理在線短消息成績(jī)查詢班級(jí)管理教學(xué)信息發(fā)布網(wǎng)絡(luò)教學(xué)教學(xué)論壇圖4-2系統(tǒng)功能結(jié)構(gòu)圖對(duì)各子系統(tǒng)功能模塊的詳細(xì)描述如下: ( 1) 網(wǎng)絡(luò)教學(xué)管理學(xué)生選課管理: 學(xué)生根據(jù)自己的實(shí)際情況選取要求學(xué)習(xí)的課程的選課班級(jí)。管理員對(duì)學(xué)生選課的內(nèi)容進(jìn)行維護(hù), 教師能夠查看,審核自己所教課程的選課情況。課程資源管理: 課程資源信息包括

44、課程名稱、 課程類(lèi)別、 在線備課,在線瀏覽課件。所有注冊(cè)登錄的用戶都能夠?yàn)g覽和查詢?cè)撔畔? 管理員和教師執(zhí)行對(duì)課程信息的維護(hù)功能。教學(xué)公告發(fā)布: 管理員發(fā)布某門(mén)課程的教學(xué)公告。教學(xué)公告的詳細(xì)信息包括課程名稱、 開(kāi)課時(shí)間、 起止日期、 主講教師等。經(jīng)過(guò)設(shè)置鏈接還能查看課程的詳細(xì)介紹。管理員對(duì)教學(xué)公告進(jìn)行維護(hù)。學(xué)生成績(jī)管理: 包括成績(jī)錄入、 修改、 成績(jī)統(tǒng)計(jì)與查詢。成績(jī)統(tǒng)計(jì)是對(duì)各門(mén)課程平均成績(jī)的計(jì)算以及各分?jǐn)?shù)段人數(shù)的統(tǒng)計(jì); 成績(jī)查詢則能夠檢索和查看任何一位學(xué)生的成績(jī)。學(xué)生只能查詢自己的考試成績(jī), 其它功能由管理員執(zhí)行。( 2) 個(gè)人信息管理教師檔案管理: 包括教師信息的錄入、 更新、 查詢、 刪除

45、等功能。這里的教師信息主要包括教師的教育背景、 研究方向、 科研成果以及發(fā)表論文, 專(zhuān)著和獲獎(jiǎng)等方面的情況。只有教師本人才能對(duì)自己的信息進(jìn)行修改。管理員可執(zhí)行刪除功能。學(xué)生檔案查看: 提供教師和管理員對(duì)學(xué)生信息的查看功能。( 3) 系統(tǒng)管理用戶登錄和用戶注銷(xiāo)。下面給出系統(tǒng)的詳細(xì)功能設(shè)計(jì)。4.2.2 功能實(shí)現(xiàn)設(shè)計(jì)( 1) 類(lèi)設(shè)計(jì) = 1 * GB3 邊界類(lèi)邊界類(lèi)設(shè)計(jì)為ISP頁(yè)面, 主要有以下邊界類(lèi), 如表4.1所示: 表4.1邊界類(lèi)設(shè)計(jì)功能模塊頁(yè)面課程管理學(xué)生選課管理Choosecourse.jsp(選課頁(yè)面)Viewchoosecourse.jsp(查看選課內(nèi)容頁(yè)面)ChoosecourseE

46、dit.jsp(選課修改頁(yè)面)課程資源管理Course.jsp(課程資源列表頁(yè)面)Addcoursejsp(新增課程資源頁(yè)面)Editcourse.jsp(編輯課程資源頁(yè)面)CourseSeek.jsp(課程查詢頁(yè)面)Courseseekresult.jsp(課程查詢結(jié)果頁(yè)面)教學(xué)公告管理Addteachcourse.jsp(發(fā)布教學(xué)公告頁(yè)面)TeachcourseList.jsp(開(kāi)課信息列表頁(yè)面)TeachcourseSeek.jsp(查詢頁(yè)面)TeachcourseSeekresult.jsp(查詢結(jié)果頁(yè)面)Editteachcourse.jsp(編輯開(kāi)課信息頁(yè)面)成績(jī)管理Marklnp

47、ut.jsp(成績(jī)錄入頁(yè)面)MarkSeekjsp(成績(jī)查詢頁(yè)面)MarkEdit jsp(成績(jī)修改頁(yè)面)MarkSeekResult.jsp(查詢結(jié)果頁(yè)面)教師檔案管理個(gè)人信息管理Teacherlnfolnput.jsp(教師信息輸入頁(yè)面)TeacherlnfoEdit.jsp(教師信息修改頁(yè)面)TeacherlnfoList.jsp(教師信息列表頁(yè)面)TeacherlnfoSeek.jsp(教師信息查詢頁(yè)面)TeacherlnfoSeekResult.jsp(查詢結(jié)果頁(yè)面)學(xué)生檔案查看StulnfoListjsp(學(xué)生信息列表頁(yè)面)StulnfoSeekjSP(學(xué)生信息查詢頁(yè)面)Stuln

48、foSeekResult.jsp(查詢結(jié)果頁(yè)面)用戶登錄注銷(xiāo)用戶登錄Login.jsp(登錄頁(yè)面)Main.jsp(主頁(yè)面)用戶注銷(xiāo)Logoutjsp(注銷(xiāo)頁(yè)面) = 2 * GB3 實(shí)體類(lèi)實(shí)體類(lèi)設(shè)計(jì)為實(shí)體Bean, 實(shí)體組件是存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)模型, 代表了數(shù)據(jù)庫(kù)中業(yè)務(wù)數(shù)據(jù)的對(duì)象視圖, 并提供了訪問(wèn)和操作數(shù)據(jù)的對(duì)象封裝。實(shí)體組件具有持久性1, 支持多用戶的共享訪問(wèn)。使用實(shí)體組件作為業(yè)務(wù)數(shù)據(jù)的對(duì)象視圖, 客戶端能夠經(jīng)過(guò)實(shí)體組件提供的接口間接地實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)業(yè)務(wù)數(shù)據(jù)的訪問(wèn)與操作。 = 3 * GB3 控制類(lèi)我們使用實(shí)體組件封裝了業(yè)務(wù)數(shù)據(jù), 用處理特定業(yè)務(wù)功能的會(huì)話組件來(lái)封裝與該業(yè)務(wù)操作相關(guān)

49、的實(shí)體組件。由特定的會(huì)話組件控制和協(xié)調(diào)各實(shí)體組件之間的交互, 把數(shù)據(jù)查詢、 更新和新增的業(yè)務(wù)操作遷移到業(yè)務(wù)功能層來(lái)處理。從而向客戶端提供了一個(gè)簡(jiǎn)單的功能接口, 減少了經(jīng)過(guò)網(wǎng)絡(luò)和跨越服務(wù)層之間的遠(yuǎn)程通訊, 同時(shí)也避免了把實(shí)體組件對(duì)象直接暴露給遠(yuǎn)程的客戶端, 降低了兩層之間的耦合程度。因此在本子系統(tǒng)中設(shè)計(jì)了下面這些控制類(lèi)如表4.3: 表4.3控制類(lèi)設(shè)計(jì)功能模塊控制類(lèi)名稱操作課程資源管理CourseUstSevlet顯示課程資源列表CourseSeekSevlet查詢課程資源CourseAddSevlet增加課程資源CourseEditSevlet編輯課程資源CourseDeleteSevlet刪除

50、課程資源CourseControlSevlet前端請(qǐng)求總控制器CourseBean封裝所有對(duì)課程資源的操作教學(xué)公告管理TeachCourseListSevlet顯示開(kāi)課信息列表TeachCourseSeekSevlet查詢開(kāi)課信息TeachCourseAddSevlet增加開(kāi)課信息并提交發(fā)布TeachCourseEditSevlet編輯開(kāi)課信息TeachCourseDeleteSeviet刪除開(kāi)課信息TeachCourseControlSevlet前端請(qǐng)求總控制器TeachCourseBean封裝所有對(duì)開(kāi)課信息的操作學(xué)生選課管理ChooseCourseServlet學(xué)生選課提交ChooseCo

51、urseViewServlet查看選課內(nèi)容ChooseCourseEditServlet修改選課內(nèi)容ChooseCourseControlServlet前端請(qǐng)求總控制器ChooseCourseBean封裝所有對(duì)選課信息的操作成績(jī)管理MarkAddServlet添加成績(jī)MarkSeekServlet查詢成績(jī)MarkEditServlet修改成績(jī)MarkDeleteServiel刪除成績(jī)MarkControlServlet前端請(qǐng)求總控制器MarkBean封裝所有對(duì)成績(jī)的操作教師信息管理TeacherEditServlet修改教師信息TeacherSeekServlet查詢教師信息TeacherDe

52、leteSeNlet刪除教師信息TeacherListServlet顯示教師信息列表TeacherControlServlet前端請(qǐng)求總控制器TeacherBean封裝所有對(duì)教師信息的操作學(xué)生信息查看StuListServlet學(xué)生信息列表顯示StuSeekServlet學(xué)生信息查詢系統(tǒng)管理LoginServlet用戶登錄控制UserBean身份驗(yàn)證LogoutServlet用戶注銷(xiāo)顯示開(kāi)課信息列表入口參數(shù): 無(wú)返回結(jié)果: 結(jié)果集查詢開(kāi)課信息入口參數(shù): 無(wú)查詢條件 類(lèi)型: 字符串返回結(jié)果: 結(jié)果集增加開(kāi)課信息入口參數(shù): 開(kāi)課名稱 類(lèi)型: 字符串開(kāi)課日期 類(lèi)型: 日期型主講教師 類(lèi)型: 字符串收

53、費(fèi)數(shù)目 類(lèi)型: 整型返回結(jié)果: 布爾型如果添加成功, 返回TRUE, 否則返回FALSE.編輯開(kāi)課信息入口參數(shù): 開(kāi)課名稱 類(lèi)型: 字符串開(kāi)課日期 類(lèi)型: 日期型主講教師 類(lèi)型: 字符串收費(fèi)數(shù)目 類(lèi)型: 整型返回結(jié)果: 布爾型如果修改成功, 返回TRUE, 否則返回FALSE.刪除開(kāi)課信息入口參數(shù): 課程編號(hào) 類(lèi)型: 字符串返回結(jié)果: 布爾型如果刪除成功, 返回TRUE, 否則返回FALSE.4.2.3 用例設(shè)計(jì)設(shè)計(jì)用例是為了識(shí)別類(lèi)或者子系統(tǒng), 其實(shí)例去執(zhí)行用例的事件流。定義對(duì)設(shè)計(jì)對(duì)象或子系統(tǒng)及其接口的操作需求, 為用例捕獲實(shí)現(xiàn)性需求。UML提供了版類(lèi)(stereotype)這個(gè)擴(kuò)展機(jī)制來(lái)區(qū)分

54、不同類(lèi)型的類(lèi)。UML的創(chuàng)始人Jacobson定義了三種類(lèi)型的版類(lèi)對(duì)象類(lèi)(stereotype object types): 邊界對(duì)象(boundary object)、 實(shí)體對(duì)象(entity object)和控制對(duì)象(control object)。在ROSE中, 能夠設(shè)置類(lèi)的stereotyp。域?yàn)楹? 這個(gè)階段我們得到系統(tǒng)的類(lèi)圖和詳細(xì)的順序圖。對(duì)JSP以及JavaBean組件我們現(xiàn)在都能夠用類(lèi)為它們建模, 方便類(lèi)圖和序列圖中的表示, 對(duì)于系統(tǒng)中的用例, 能夠根據(jù)設(shè)計(jì)類(lèi)來(lái)進(jìn)一步細(xì)化其順序圖, 下面顯示了發(fā)布教學(xué)公告和學(xué)生選課用例的細(xì)化順序圖。圖4-3學(xué)生選課細(xì)化順序圖在類(lèi)圖中我們能夠看到在

55、用例實(shí)現(xiàn)的過(guò)程中所涉及到的類(lèi)以及它們之間的關(guān)系, 這些類(lèi)之間的關(guān)系是這些類(lèi)產(chǎn)生代碼的基礎(chǔ)。同一JSP網(wǎng)頁(yè)被分解成兩個(gè)部分: 客戶頁(yè)和服務(wù)器頁(yè)其中后者和前者的關(guān)系是構(gòu)建和被構(gòu)建的關(guān)系(即圖4-7中的Build的關(guān)系)。當(dāng)網(wǎng)頁(yè)中的表單中的內(nèi)容需要提交到Servlet時(shí), 表單和它們的關(guān)系是提交的關(guān)系, 調(diào)用Servlet的doPost()或doGet()方法。在UML的語(yǔ)法中類(lèi)之間的關(guān)系主要分為以下兒種: 協(xié)作、 依賴、 泛化、 實(shí)現(xiàn)、 積聚。協(xié)作關(guān)系在Java語(yǔ)法中表現(xiàn)為一個(gè)類(lèi)對(duì)另一個(gè)類(lèi)的引用, 如圖4-4所示。圖4-4發(fā)布教學(xué)公告類(lèi)圖4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)4.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)原則( 1) 一致性

56、原則對(duì)信息進(jìn)行統(tǒng)一、 系統(tǒng)的分析與設(shè)計(jì), 協(xié)調(diào)好各數(shù)據(jù)源, 做到”數(shù)出一門(mén)”、 ”算法統(tǒng)一”、 ”度量一致”。保證系統(tǒng)數(shù)據(jù)的一致性和有效性。( 2) 完整性原則數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)的正確性和相容性。要防止合法用戶使用數(shù)據(jù)庫(kù)時(shí)向數(shù)據(jù)庫(kù)加入不合語(yǔ)義的數(shù)據(jù)。對(duì)輸入到數(shù)據(jù)庫(kù)中的數(shù)據(jù)要有審核和約束機(jī)制。( 3) 安全性原則數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù), 防止非法用戶使用數(shù)據(jù)庫(kù)或合法用戶非法使用數(shù)據(jù)庫(kù)造成數(shù)據(jù)泄露、 更改或破壞.要有認(rèn)證和授權(quán)機(jī)制。( 4) 可伸縮性原則數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì)應(yīng)充分考慮發(fā)展的需要、 移植的孺要, 具有良好的擴(kuò)展性、 伸縮性和適度冗余。( 5) 規(guī)范化數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)遵循規(guī)范化理論,

57、 規(guī)范化程度過(guò)低的關(guān)系, 可能會(huì)存在插入、 刪除異常、 修改復(fù)雜、 數(shù)據(jù)冗余等問(wèn)題, 解決的方法就是對(duì)關(guān)系模式進(jìn)行分解或合并(A范化), 轉(zhuǎn)換成高級(jí)范式。規(guī)范化一共有六個(gè)級(jí)別: 1NF, 2NF, 3NF. BCNF, 4NF, 5NF。但也應(yīng)當(dāng)注意到, 并不是規(guī)范化程度越高的關(guān)系就越好,在具體應(yīng)用時(shí), 到底規(guī)范化進(jìn)行到什么程度需要權(quán)衡利弊。一般而言, 做到第三范式(3NF)就足夠了。4.3.2 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)網(wǎng)絡(luò)教學(xué)管理系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)遵循以上原則, 數(shù)據(jù)庫(kù)中的表包括用戶信息、 教師基本信息、 課程資源信息、 選課信息、 開(kāi)課信息、 學(xué)期信息、 課件信息、 作業(yè)信息等,設(shè)計(jì)各表的數(shù)據(jù)結(jié)構(gòu)如下

58、: 表5-1: 教師學(xué)生信息表字段名類(lèi)型說(shuō)明idint(11)自動(dòng)增加, 主鍵userIDvarchar(50)用戶登錄IDpasswordvarchar(50)登錄密碼userNamevarchar(50)真實(shí)姓名deptBHvarchar(50)用戶所在部門(mén)編號(hào)( 外鍵) userLeveltinyint(3)用戶類(lèi)型roleBHvarchar(50)用戶所屬角色編號(hào)( 外鍵) isLockedtinyint(1)用戶審核標(biāo)識(shí)表5-2: 系統(tǒng)機(jī)構(gòu)表字段名類(lèi)型說(shuō)明DeptBHvarchar(50)部門(mén)編號(hào)Depnamevarchar(50)部門(mén)名稱表5-3: 學(xué)期信息表字段名類(lèi)型說(shuō)明idin

59、t(11)自動(dòng)增加, 主鍵termNamevarchar(50)學(xué)期名稱startTimedate開(kāi)始時(shí)間endTimedate結(jié)束時(shí)間表5-4: 課程信息表字段名類(lèi)型說(shuō)明idint(11)自動(dòng)增加, 主鍵courseNamevarchar(30)課程名稱isUsedtinyint(1)是否可用, 0: 不可用, 1可用introtext課程介紹表5-5: 選課班級(jí)信息表字段名類(lèi)型說(shuō)明idint(11)自動(dòng)增加, 主鍵classNamevarchar(30)班級(jí)名稱teachervarchar(30)任課教師courseidsmallint(6)講授課程termtinyint(3)上課學(xué)期pe

60、rsonCounttinyint(3)班級(jí)人數(shù)periodvarchar(50)每周上課時(shí)間表5-6: 選課班級(jí)-學(xué)生信息表字段名類(lèi)型說(shuō)明idint(11)自動(dòng)增加, 主鍵ClassidInt(11)選課班級(jí)StudidInt(11)學(xué)生ID表5-7: 布置作業(yè)信息表字段名類(lèi)型說(shuō)明idint(11)自動(dòng)增加, 主鍵titlevarchar(200)作業(yè)標(biāo)題teachervarchar(50)布置作業(yè)教師classidsmallint(6)交作業(yè)班級(jí)subtimedate發(fā)布作業(yè)時(shí)間deadLineTimedate最后交作業(yè)時(shí)間introtext,作業(yè)內(nèi)容attachvarchar(100)作業(yè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論