畢業(yè)設計論文---ibm認證管理系統(tǒng)的設計與實現(xiàn)_第1頁
已閱讀1頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  畢業(yè)設計(論文)說明書</p><p>  學 院 軟件學院 </p><p>  專 業(yè) 軟件工程 </p><p>  年 級 07級 </p><p>  姓 名 </p><p>  指導教師

2、</p><p><b>  年 月 日</b></p><p>  畢業(yè)設計(論文)任務書</p><p>  一、原始依據(jù)(包括設計或論文的工作基礎、研究條件、應用環(huán)境、工作目的等。)</p><p>  IBM與天津大學每年都會聯(lián)合舉辦若干場IBM全球認證考試,其中包括考試的預告,報名,收費管理,到考試輔導,成

3、績管理,用戶信息管理等需要一套完整的管理系統(tǒng)。另外,隨著部分與IBM合建的課程由IBM頒發(fā)結(jié)課證書,結(jié)課證書的申請、發(fā)放等全程也需要有一套管理系統(tǒng)。本題目正是針對上述需求提出。</p><p>  Web系統(tǒng)的開發(fā)在業(yè)界已經(jīng)有了相當長的時間。這么長時間以來,web系統(tǒng)的開發(fā)已經(jīng)有了比較成熟的架構(gòu)。尤其是基于JAVA的web系統(tǒng),業(yè)界已經(jīng)有了一套相當成熟的整合開發(fā)框架。SSH(struts+spring+hiber

4、nate)整合框架在多年的實踐應用中,已經(jīng)發(fā)展的相當成熟了。而基于SSH的四層架構(gòu)(表示層、控制層、業(yè)務邏輯層、持久化層)也是得到了業(yè)界的認可?;诖?,本系統(tǒng)的研發(fā)已經(jīng)有了堅實的基礎。</p><p>  本系統(tǒng)計劃在windows XP下做開發(fā)。由于是基于java的web系統(tǒng),所以可以具有跨平臺的優(yōu)勢。本系統(tǒng)的服務器計劃采用tomcat,雖然tomcat處理靜態(tài)資源的效率不是很高,但是作為專注java的web服

5、務器,在處理jsp請求方面還是非常高效的。如后期項目有性能要求的話,可以在線上采用apache處理靜態(tài)資源,jsp請求由apache轉(zhuǎn)發(fā)tomcat處理的模式。作為專為java開發(fā)的集成開發(fā)環(huán)境eclipse,自然是本項目的集成開發(fā)環(huán)境。數(shù)據(jù)庫方面計劃采用開源的mysql。</p><p>  本系統(tǒng)計劃部署在天津大學內(nèi)網(wǎng)當中,供本校師生處理與IBM相關(guān)認證考試。</p><p><

6、b>  二、參考文獻</b></p><p>  [1]豐華,于松波等.Eclipse開發(fā)技術(shù)詳解[M].北京:中國鐵道出版社,2010.11</p><p>  [2]計磊,李里,周偉.J2EE-Eclipse Struts Hibernate Spring整合應用 [M].北京:人民郵電出版社,2006.8</p><p>  [3] 郭善飛.

7、基于j2ee spring框架的web services研究與開發(fā)[D].北京:北京郵電大學,2008.</p><p>  [4]王國輝.Java Web開發(fā)實戰(zhàn)寶典[M].北京:清華大學出版社,2010.1</p><p>  [5]李興華.Java開發(fā)實戰(zhàn)經(jīng)典[M].北京:清華大學出版社,2010.1</p><p>  [6] Bruce Eckel. Th

8、inking in java[M]. China Machine press, 2002.</p><p>  [7]Erich Gamma.Design pattern[M].China Machine press,2003.1</p><p>  [8]陳丹丹,蘇宇等.SQL語言參考大全[M].北京:人民郵電出版社,2008.10</p><p>  [9]高洪

9、巖等.至簡SSH:精通JAVA WEB開發(fā)技術(shù)[M].北京:電子工業(yè)出版社,2009.8</p><p>  [10]孫鑫.Servlet JSP深入詳解[M].北京:電子工業(yè)出版社,2008.8</p><p>  三、設計(研究)內(nèi)容和要求(包括設計或研究內(nèi)容、主要指標與技術(shù)參數(shù),并根據(jù)課題性質(zhì)對學生提出具體要求。)</p><p>  課題主要的研究內(nèi)容有以下

10、幾點:第一,報名管理。主要包括學生完成在線報名。第二,收費管理,主要包括收費的確認。第三,考試輔導管理,主要包括老師完成考試輔導資料的上傳,學生可以進行下載等功能。第四,成績管理,主要包括學生可以通過此系統(tǒng)查詢自己的所有IBM考試的成績。第五,用戶信息管理,主要包括學生老師在此系統(tǒng)上進行個人信息的更新,查詢等。第六,IBM合建的課程結(jié)課證書的申請、發(fā)放管理。主要包括,學生可以通過此系統(tǒng)申請結(jié)課證書,并查看證書申請?zhí)幚磉M度。</p&

11、gt;<p>  課題所研發(fā)的系統(tǒng)響應要求在5s以內(nèi)完成,能承受500以上用戶的并發(fā)度,并且要有完善的權(quán)限控制。</p><p>  課題計劃采用JavaEE技術(shù)開發(fā),客戶端基于瀏覽器。要求熟悉HTML/CSS/JavaScript等客戶端技術(shù),最好對Flash、 Ajax和HTML5等技術(shù)有一定了解以便開發(fā)富客戶端。服務器端使用輕量級Java框架,主要有Struts2, Spring, Hiber

12、nate等技術(shù),可能還會用到工作流技術(shù)、POI報表生成、Lucene全文檢索等技術(shù)。要求熟悉常用關(guān)系型數(shù)據(jù)庫和SQL語言。</p><p><b>  指導教師(簽字)</b></p><p><b>  年 月 日</b></p><p>  審題小組組長(簽字)</p><p><

13、b>  年 月 日</b></p><p>  畢業(yè)設計(論文)開題報告</p><p><b>  摘  要</b></p><p>  IBM與天津大學每年都會聯(lián)合舉辦若干場IBM全球認證考試,其中包括考試的預告,報名,收費管理,到考試輔導,成績管理,用戶信息管理等需要一套完整的管理系統(tǒng)。另外,隨著部分與IBM合建

14、的課程由IBM頒發(fā)結(jié)課證書,結(jié)課證書的申請、發(fā)放等全程也需要有一套管理系統(tǒng)。所以本課題以管理IBM所有相關(guān)認證考試的整個流程為目標。</p><p>  本論文首先從系統(tǒng)采用的技術(shù)、架構(gòu)、框架、數(shù)據(jù)庫等方面對課題研究的技術(shù)背景進行了闡述。然后,根據(jù)軟件項目的開發(fā)流程,從需求分析、系統(tǒng)設計、詳細設計和測試幾個方面詳細闡述了課題研究的整個過程。需求分析從功能需求、非功能需求兩個方面闡述了本系統(tǒng)的需求分析成果。系統(tǒng)分析

15、部分從系統(tǒng)架構(gòu)、業(yè)務用例和數(shù)據(jù)庫幾個方面闡述了本系統(tǒng)的總體設計?;贛VC的系統(tǒng)分層架構(gòu)便是在這一章詳細闡述的。詳細設計部分選取系統(tǒng)的關(guān)鍵功能的詳細設計作為代表進行闡述。這一部分闡述了struts攔截器、spring AOP等技術(shù)在本系統(tǒng)關(guān)鍵功能里的應用。測試部分對系統(tǒng)的測試情況進行了闡述。</p><p>  關(guān)鍵詞:認證考試;架構(gòu);框架;MVC;</p><p><b>  

16、攔截器;AOP</b></p><p><b>  ABSTRACT</b></p><p>  IBM and Tianjin University jointly organized a number of IBM Global Certification Tests every year. Teachers and students need a m

17、anagement system to manage the Exam-related matters including notice of the test, registration, fee management, test counseling, performance management and information management. And the courses established with IBM als

18、o need a system to manage the asking and issuancing of the certificate of guitar lessons. Therefore, the topics’s objectives is managing the entire pr</p><p>  The paper begins by describing the technology,

19、architecture, framework and database used by the system. Then, according to the software project development process, the paper describes the Requirement analysis, system design, detailed design and test in order. Requir

20、ement analysis describes the system requirement analysis from two aspect the functional requirements, and non-functional requirements. The system analysis describes the system's overall design from three aspect the s

21、ystem architectur</p><p>  Key words:Certification Test;architecture;framework;requirement analysis;</p><p>  MVC;struts;spring;AOP</p><p><b>  目□□錄</b></p><p

22、> ?。ㄈ枴⒑隗w、居中、目錄兩字空兩格、與正文空一行)</p><p>  □□第一章□□(空兩格)☆☆☆(小三號、宋體)…………×</p><p>  □□□1.1□☆☆☆☆(空一格、四號宋體)………………………×</p><p>  □□□1.2□☆☆☆☆…………………………………………………×</p><

23、;p>  □□□1.3□☆☆☆☆…………………………………………………×</p><p><b>  ………………</b></p><p>  □□第四章□□(空兩格)☆☆☆(小三號、宋體)…………×</p><p>  □□□4.1□☆☆☆☆…………………………………………………×</p>&

24、lt;p>  □□□4.2□☆☆☆☆…………………………………………………×</p><p><b>  ………………</b></p><p>  □□參考文獻(小三號、宋體)…………………………………×</p><p>  □□附錄(小三號、宋體)………………………………………×</p>&l

25、t;p>  □□外文資料(小三號、宋體)</p><p>  □□中文譯文(小三號、宋體)</p><p>  □□致謝(小三號、宋體)</p><p><b>  第一章 概述</b></p><p>  1.1 IBM認證管理系統(tǒng)研究背景及意義</p><p>  IBM與天津大學每年

26、都會聯(lián)合舉辦若干場IBM全球認證考試。由于起初的規(guī)模無論是從考試數(shù)量還是參考人數(shù)方面來講并不是太大,所以從考試的預告,報名、收費管理,到考試輔導,成績管理,用戶信息管理等都是由相關(guān)老師或?qū)W生人工進行管理。</p><p>  隨著IBM與天津大學合作的深入開展,在天津大學舉辦的IBM全球認證考試無論從數(shù)量上還是規(guī)模上都有了很大的發(fā)展。但是,現(xiàn)在仍然還是沿用以前的來方法來管理考試相關(guān)的事情。相應的也就出現(xiàn)了許多之前

27、沒有預見到的問題。例如,由于報名是由人工進行管理,而且報名人數(shù)較多,所以很容易造成報名周期過長,如此發(fā)展下去甚至有可能會影響考試的正常進行。又譬如,由于考試數(shù)量的增多,經(jīng)常造成考試之間的連接過于緊密,甚至是重疊,這很容易讓人工管理考試的方式出現(xiàn)混亂。諸如此類的問題不勝枚舉。</p><p>  雖然,一開始用這種管理方式?jīng)]什么問題,但是,現(xiàn)在看來,這種管理方式無論是從人力投入上來說還是從時間投入上來說,都已經(jīng)不能

28、適應現(xiàn)在的規(guī)模了,所以現(xiàn)在急需一套完整的現(xiàn)代化的管理系統(tǒng)來完成IBM全球認證考試的相關(guān)事務管理。</p><p>  另外,隨著部分與IBM合建的課程由IBM頒發(fā)結(jié)課證書,結(jié)課證書的申請、發(fā)放等全程也需要有一套管理系統(tǒng)。</p><p>  1.2 考試管理系統(tǒng)國內(nèi)外發(fā)展狀況</p><p>  國際上,考試相關(guān)事務的管理的曾經(jīng)也是主要靠人工管理。但是,在一些大規(guī)模

29、的考試中,這種人工管理的方式也曝露出了越來越多的問題。人們越發(fā)的認識到,一個現(xiàn)代化的完備的考試管理系統(tǒng)在大規(guī)模的考試中是必不可少的。</p><p>  認識到這一點之后,人們也在不斷地做著嘗試。</p><p>  倚靠網(wǎng)絡,基于CS架構(gòu)的考試管理系統(tǒng)也就應運而生。這種架構(gòu)的考試管理系統(tǒng)的出現(xiàn),極大地提高了考試管理的效率,并且極大地方便了考試相關(guān)人員的活動。但是,隨著基于CS架構(gòu)的考試管

30、理系統(tǒng)應用的深入,也暴露了一些它存在的問題。譬如,系統(tǒng)的部署問題。不僅考試管理系統(tǒng)的服務器要部署考試管理系統(tǒng),而且,每臺與考試管理系統(tǒng)相關(guān)的電腦都要安裝考試管理系統(tǒng)的客戶端程序。而且,這種部署并不是一勞永逸的。一旦客戶端要升級的話,這又是一項不小的任務。鑒于此,人們在享受著考試管理系統(tǒng)帶來的種種好處的時候,也在時刻思考著考試管理系統(tǒng)的改進問題。</p><p>  與此同時,另外一種系統(tǒng)架構(gòu)方式悄然的發(fā)展了起來,

31、這就是基于web的BS架構(gòu)。這種架構(gòu)雖然從本質(zhì)上說是CS架構(gòu)的改進版本,但是這種架構(gòu)的客戶端無需安裝,只要系統(tǒng)的機器上有一個web瀏覽器就可以訪問服務。這種架構(gòu)極大地簡化了系統(tǒng)的部署升級過程。也正是因為這一點,BS架構(gòu)很快的在諸多領域取代了傳統(tǒng)的CS架構(gòu)的系統(tǒng)。</p><p>  基于web的BS架構(gòu)的興起,給正在掙扎于傳統(tǒng)CS架構(gòu)考試管理系統(tǒng)的人們一盞明燈。考試管理系統(tǒng)的開發(fā)很快的就順應潮流的發(fā)展,轉(zhuǎn)向了BS

32、架構(gòu)。相應的,考試管理系統(tǒng)的部署難,維護難的問題也就迎刃而解了。考試管理系統(tǒng)的發(fā)展也就步入了一個全新的階段。</p><p>  1.3 研究的主要任務</p><p>  本課題以管理IBM所有相關(guān)認證考試的整個流程為目標。</p><p>  主要的研究內(nèi)容有以下幾點:第一,報名管理。主要包括學生完成在線報名。第二,收費管理,主要包括收費的確認。第三,考試輔導管

33、理,主要包括老師完成考試輔導資料的上傳,學生可以進行下載等功能。第四,成績管理,主要包括學生可以通過此系統(tǒng)查詢自己的所有IBM考試的成績。第五,用戶信息管理,主要包括學生老師在此系統(tǒng)上進行個人信息的更新,查詢等。第六,IBM合建的課程結(jié)課證書的申請、發(fā)放管理。主要包括,學生可以通過此系統(tǒng)申請結(jié)課證書,并查看證書申請?zhí)幚磉M度。</p><p>  1.4 論文內(nèi)容概述</p><p>  本

34、論文是以IBM認證考試管理系統(tǒng)的開發(fā)為背景,論述了IBM認證考試管理系統(tǒng)的概念、結(jié)構(gòu)及系統(tǒng)開發(fā)的基本原理和方法,全文共分為八章,分別是概述、開發(fā)技術(shù)背景、需求分析、系統(tǒng)分析、詳細設計、測試、總結(jié)與展望等。</p><p>  概述部分概要講述了本課題的研究背景、國內(nèi)外發(fā)展狀況、主要研究任務等。</p><p>  開發(fā)技術(shù)背景主要講述了本系統(tǒng)開發(fā)技術(shù)的選擇。這一章主要從系統(tǒng)基本架構(gòu)、開發(fā)技

35、術(shù)、系統(tǒng)分層架構(gòu)、框架等幾個方面的技術(shù)選擇來闡述的。</p><p>  需求分析部分主要講述了本系統(tǒng)的需求分析成果。這一章主要從系統(tǒng)的背景、功能需求、非功能需求三個方面進行闡述。</p><p>  系統(tǒng)分析部分主要講述了本系統(tǒng)整體結(jié)構(gòu)的設計。這一章主要從系統(tǒng)架構(gòu)設計,業(yè)務用例分析、類及接口設計、數(shù)據(jù)庫設計等幾個方面進行闡述。</p><p>  詳細設計部分主要

36、講述了本系統(tǒng)的模塊的詳細設計。這一章主要選取了系統(tǒng)的關(guān)鍵模塊作為代表進行了闡述。</p><p>  測試部分主要講述了本系統(tǒng)的測試方案設計、測試結(jié)果、測試出的bug的解決情況。</p><p>  總結(jié)與展望部分主要講述了本課題研究過程中的感受以及收獲等。</p><p>  第二章 開發(fā)技術(shù)背景</p><p>  2.1 系統(tǒng)基本架構(gòu)

37、</p><p>  考試管理系統(tǒng)的開發(fā)起初大都是基于CS架構(gòu)的形式的。</p><p>  CS架構(gòu),即Client/Server (客戶機/服務器) 結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。</p><p>  但是CS架構(gòu)的缺陷也是很明顯的,

38、那就是部署難,維護難。每一臺系統(tǒng)的機器都需要安裝客戶端才可進行管理操作。光是部署系統(tǒng)就是一項不小的工作。而且,如果將來客戶端進行升級的話,那將又是一次不亞于系統(tǒng)部署工作量的工作。</p><p>  基于web的BS架構(gòu)出現(xiàn),無疑是受困于CS架構(gòu)缺陷的考試管理系統(tǒng)開發(fā)者的福音。</p><p>  BS架構(gòu)即瀏覽器和服務器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者

39、改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(Server)實現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。</p><p>  B/S結(jié)構(gòu)最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護。系統(tǒng)的擴展性非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。&l

40、t;/p><p>  正是因為BS架構(gòu)的這些優(yōu)勢,考試管理系統(tǒng)開發(fā)者也迅速的從CS架構(gòu)過渡到了BS架構(gòu)。</p><p>  本系統(tǒng)作為考試管理系統(tǒng)的一種,毫無疑問的選擇了BS架構(gòu)。</p><p><b>  2.2 開發(fā)技術(shù)</b></p><p>  雖然本系統(tǒng)基于web的BS架構(gòu)。但是,在web開發(fā)領域仍然有三大主流

41、的開發(fā)技術(shù),這就是ASP(Active Server Pages),JSP(Java Server Pages),PHP (Hypertext Preprocessor)。</p><p>  在web開發(fā)剛剛興起的時代,各種技術(shù)迅速崛起。但是,經(jīng)過時間的考驗,只有這三種技術(shù)獲得了市場的認可。這三種技術(shù)雖各有所長,但是經(jīng)過長時間的競爭,卻未能將任何一方擊倒。反倒是在長時間的競爭中,各自培養(yǎng)起了一批忠實的用戶。沒有

42、一種技術(shù)能夠滿足所有的需求,這也正是web開發(fā)領域出現(xiàn)三種技術(shù)鼎立的原因。所以,在特定的情境下選擇最適合的技術(shù)才是最重要的。</p><p>  ASP是一個WEB服務器端的開發(fā)環(huán)境,利用它可以產(chǎn)生和執(zhí)行動態(tài)的、互動的、高性能的WEB服務應用程序。ASP采用腳本語言VB(Java )作為自己的開發(fā)語言。</p><p>  PHP是一種跨平臺的服務器端的嵌入式腳本語言。它大量地借用C,Ja

43、va和Perl語言的語法,并耦合PHP自己的特性,使WEB開發(fā)者能夠快速地寫出動態(tài)產(chǎn)生頁面。它支持目前絕大多數(shù)數(shù)據(jù)庫。而且,PHP是完全免費的,開源的,你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。</p><p>  JSP是Sun公司推出的新一代網(wǎng)站開發(fā)語言,Sun公司借助自己在Java上的不凡造詣,使JSP迅速成長為主流web開發(fā)技術(shù)之一。Java Sever Pages依托Serverlet

44、和JavaBean,使得完成功能強大的網(wǎng)站變得輕而易舉。</p><p>  從總體上來說,三者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。但JSP代碼被編譯成Servlet并由Java虛擬機解釋執(zhí)行,這種編譯操作僅在對JSP頁面的第一次請求時發(fā)生。在ASP、PHP、JSP環(huán)境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的HTML頁面只依賴于Web服

45、務器,而ASP、PHP、JSP頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到HTML代碼中,然后一起發(fā)送給瀏覽器。</p><p>  雖然,總體上這三種技術(shù)提供了大體相同的功能,但是每種技術(shù)的實現(xiàn)細節(jié)還是有很大區(qū)別的。</p><p>  ASP使用VB、J等簡單易懂的腳本語言,結(jié)合HTML代碼,即可快速地完成網(wǎng)站的應用程序。ASP無須compile編譯,容易編

46、寫,可在服務器端直接執(zhí)行。并且,ASP與瀏覽器無關(guān)(Browser Independence), 客戶端只要使用可執(zhí)行HTML碼的瀏覽器,瀏覽Active Server Pages的網(wǎng)頁內(nèi)容。Active ServerPages 所使用的腳本語言(VB 、J)均在WEB服務器端執(zhí)行,客戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。</p><p>  更重要的是ASP的拓展性。Active Server Pa

47、ges與任何ActiveX ing語言兼容。除了可使除了可使用VB或J語言來設計外,還可通過plug-in的方式,使用由第三方所提供的其它腳本語言,譬如REXX 、Perl、Tcl等。腳本引擎是處理腳本程序的COM(Component Object Model)對象。ActiveX Server Components(ActiveX 服務器組件)具有無限可擴充性??梢允褂肰isual Basic、Java 、Visual C++ 、CO

48、BOL等程序設計語言來編寫你所需要的ActiveX Server Component 。</p><p>  PHP可以編譯成具有與許多數(shù)據(jù)庫相連接的函數(shù)。PHP與MySQL是現(xiàn)在絕佳的群組合。你還可以自己編寫外圍的函數(shù)去間接存取數(shù)據(jù)庫。通過這樣的途徑當你更換使用的數(shù)據(jù)庫時,可以輕松地修改編碼以適應這樣的變化。PHPLIB就是最常用的可以提供一般事務需要的一系列基庫。</p><p>  

49、PHP提供了類和對象?;趙eb的編程工作非常需要面向?qū)ο缶幊棠芰?。PHP支持構(gòu)造器、提取類等。 </p><p>  JSP將內(nèi)容的產(chǎn)生和顯示進行分離。用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來產(chǎn)生頁面上的動態(tài)內(nèi)容。產(chǎn)生內(nèi)容的邏輯被封裝在標識和JavaBeans群組件中,并且捆綁在小腳本中,所有的腳本在服務器端執(zhí)行。如果核心邏輯被封

50、裝在標識和Beans中,那么其它人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的產(chǎn)生。在服務器端,JSP引擎解釋JSP標識,產(chǎn)生所請求的內(nèi)容(例如,通過存取JavaBeans群組件,使用JDBC技術(shù)存取數(shù)據(jù)庫),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。</p><p>  JSP強調(diào)可重用的

51、群組件。絕大多數(shù)JSP頁面依賴于可重用且跨平臺的組件(如:JavaBeans或者Enterprise JavaBeans)來執(zhí)行應用程序所要求的更為復雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者用戶團體所使用。基于組件的方法加速了總體開發(fā)過程,并且使得各種群組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。</p><p>  JSP采用標識簡化頁面開發(fā)。We

52、b頁面開發(fā)人員不會都是熟悉腳本語言的程序設計人員。Java Server Pages多功能,這些功能是在易用的、與JSP相關(guān)的XML標識中進行動態(tài)內(nèi)容產(chǎn)生所需要的。標準的JSP標識能夠存取和實例化JavaBeans組件,設定或者檢索群組件屬性,下載Applet,以及執(zhí)行用其它方法更難于編碼和耗時的功能。</p><p>  通過開發(fā)定制化標識庫,JSP技術(shù)是可以擴展的。今后,第三方開發(fā)人員和其

53、它人員可以為常用功能建立自己的標識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標識一樣的執(zhí)行特定功能的構(gòu)件來工作。</p><p>  JSP技術(shù)很容易整合到多種應用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴展到能夠支持企業(yè)級的分布式應用。作為采用Java技術(shù)家族的一部分,以及Java 2EE的一個成員,JSP技術(shù)能夠支持高度復雜的基于Web的應用。</p><p>  由于JSP

54、頁面的內(nèi)置腳本語言是基于Java程序設計語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術(shù)的所有好處,包括健壯的存儲管理和安全性。</p><p>  作為Java平臺的一部分,JSP擁有Java程序設計語言“一次編寫,各處執(zhí)行”的特點。隨著越來越多的供貨商將JSP支持加入到他們的產(chǎn)品中,您可以使用自己所選擇的服務器和工具,修改工具或服務器并不影響目前的應用。</

55、p><p>  這三種技術(shù)從應用范圍上來說也各有不同。</p><p>  ASP是Microsoft開發(fā)的動態(tài)網(wǎng)頁語言,也繼承了微軟產(chǎn)品的一貫傳統(tǒng),只能執(zhí)行于微軟的服務器產(chǎn)品,IIS(Internet Information Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的組件來

56、支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的群組合來擴充,Unix下的COM實現(xiàn)起來非常困難。</p><p>  PHP3可在Windows,Unix,Linux的Web服務器上正常執(zhí)行,還支持IIS,Apache等一般的Web服務器,用戶更換平臺時,無需變換PHP3代碼,可即拿即用。</p><p>  JSP同PHP3類似,幾乎可以執(zhí)行于所有平臺。如WinNT,Li

57、nux,Unix。在NT下IIS通過一個外加服務器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服務器Apache已經(jīng)能夠支持JSP。由于Apache廣泛應用在NT、Unix和Linux上,因此JSP有更廣泛的執(zhí)行平臺。雖然現(xiàn)在NT操作系統(tǒng)占了很大的市場份額,但是在服務器方面Unix的優(yōu)勢仍然很大,而新崛起的Linux更是來勢不小。從一個平臺移植到另外一個平臺,JSP和JavaBean甚至不用重新編譯,因為Jav

58、a字節(jié)碼都是標準的與平臺無關(guān)的。</p><p>  從性能上來說,三種技術(shù)也不盡相同。</p><p>  對這三種語言分別做回圈性能測試及存取Oracle數(shù)據(jù)庫測試。在循環(huán)性能測試中,JSP只用了令人吃驚的四秒鐘就結(jié)束了20000*20000的回圈。而ASP、PHP測試的是2000*2000循環(huán)(少一個數(shù)量級),卻分別用了63秒和84秒。(參考PHPLIB)。數(shù)據(jù)庫測試中,三者分別對

59、Oracle 8 進行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP則 需要 73 秒。</p><p>  就本考試管理系統(tǒng)來說,由于只是天津大學的IBM認證考試管理,所以用戶規(guī)模大概在一千左右,并發(fā)度一般不會超過一百。所以,本考試管理系統(tǒng)對性能上的要求不高,三種技術(shù)在這方面都可以滿足需求。</p><p>

60、;  從應用范圍上來說,本考試管理系統(tǒng)應該是部署在校內(nèi)的Linux服務器上,但是,考慮到該系統(tǒng)將來部署環(huán)境變化的可能,所以,該系統(tǒng)要具有比較高的可移植性。在這一方面,ASP就不符合需求了。</p><p>  本考試管理系統(tǒng),從功能上來說,PHP、JSP技術(shù)大體都可以滿足。但是考慮到本系統(tǒng)只是第一版,以后進行升級的可能性很大,所以,本系統(tǒng)要具有較好的拓展性。在拓展性這一方面,PHP就遠不如JSP了。</p&

61、gt;<p>  所以,經(jīng)過仔細分析三種技術(shù)的優(yōu)劣所在,并仔細考量過本系統(tǒng)的特性,本系統(tǒng)決定采用JSP進行開發(fā)。</p><p>  數(shù)據(jù)庫方面,現(xiàn)在業(yè)界主流的數(shù)據(jù)庫管理系統(tǒng)有MS SQL SERVER、DB2、ORACLE、MySQL等。</p><p>  從性能上來說,本系統(tǒng)用戶量較小,并發(fā)度較低,所以,對性能方面要求不高,所以,這幾個數(shù)據(jù)庫管理系統(tǒng)都能滿足需求。從可移

62、植性來說,本系統(tǒng)應該是部署在Linux環(huán)境下,并且以后變更部署環(huán)境的可能性較大,所以要求具有較高的可移植性。MS SQL SERVER由于只支持微軟平臺,所以不符合要求。從成本方面來考慮,本系統(tǒng)只是校內(nèi)自己使用的系統(tǒng),投入成本不能太高,所以,只有開源的MYSQl符合需求了。</p><p>  綜上,本系統(tǒng)決定采用JSP+MYSQL進行開發(fā)。</p><p>  2.3 系統(tǒng)分層架構(gòu)<

63、;/p><p>  本系統(tǒng)作為一個典型的web系統(tǒng),當然無可置疑的選擇了MVC架構(gòu)。</p><p>  大部分用過程語言比如ASP、PHP開發(fā)出來的Web應用,初始的開發(fā)模板就是混合層的數(shù)據(jù)編程。例如,直接向數(shù)據(jù)庫發(fā)送請求并用HTML顯示,開發(fā)速度往往比較快,但由于數(shù)據(jù)頁面的分離不是很直接,因而很難體現(xiàn)出業(yè)務模型的樣子或者模型的重用性。產(chǎn)品設計彈性力度很小,很難滿足用戶的變化性需求。<

64、/p><p>  MVC要求對應用分層,雖然要花費額外的工作,但產(chǎn)品的結(jié)構(gòu)清晰,產(chǎn)品的應用通過模型可以得到更好地體現(xiàn)。MVC架構(gòu)的系統(tǒng)使得多個視圖可以對應一個模型。對于擁有多種視圖的web應用來說,這幾乎是必不可少的。再次,由于一個應用被分離為多層,因此有時改變其中的一層就能滿足應用的改變。這點對于系統(tǒng)更新頻繁的文本應用來說,也是很重要的。最后,它還有利于軟件工程化管理。由于不同的層各司其職,每一層不同的應用具有某些

65、相同的特征,有利于通過工程化、工具化產(chǎn)生管理程序代碼。</p><p>  所以,要想做出一個具有高拓展性,高質(zhì)量的系統(tǒng),是一定要選擇MVC架構(gòu)的。</p><p>  雖然,MVC已經(jīng)將系統(tǒng)劃分為三層架構(gòu),但是,為了進一步提高系統(tǒng)的拓展性,本系統(tǒng)決定將MVC的三層架構(gòu)進一步細分,將MODEL劃分為業(yè)務邏輯層和持久化層。持久化層只負責與數(shù)據(jù)庫相關(guān)操作的處理,業(yè)務邏輯層只負責業(yè)務邏輯相關(guān)操作

66、的處理。這樣,系統(tǒng)的架構(gòu)就大體分為四層,詳情見圖2-1。</p><p>  圖2-1 系統(tǒng)分層架構(gòu)圖</p><p><b>  2.4 系統(tǒng)框架</b></p><p>  雖然,本系統(tǒng)已經(jīng)選定基于MVC的四層架構(gòu),但是JSP本身并沒有提供MVC分層架構(gòu)方面的支持。如果要想自己實現(xiàn)MVC分層架構(gòu),這又將是一項不小的工作量。綜合考慮時間、效率

67、問題,本系統(tǒng)決定采用業(yè)界成熟的JAVA開發(fā)框架--struts來完成MVC分層架構(gòu)。</p><p>  struts開放源碼框架是為了使開發(fā)者在構(gòu)建基于Java Servlet和JavaServer Pages(JSP)技術(shù)的Web應用時更加容易。Struts框架為開放者提供了一個統(tǒng)一的標準框架,通過使用Struts作為基礎,開發(fā)者能夠更專注于應用程序的商業(yè)邏輯。struts框架本身是使用Java Servle

68、t和JavaServer Pages技術(shù)的一種Model-View-Controller(MVC)實現(xiàn)。struts框架結(jié)構(gòu)見圖2-2。</p><p>  圖2-2 struts框架結(jié)構(gòu)</p><p>  本系統(tǒng)通過使用struts能夠輕松地實現(xiàn)系統(tǒng)的MVC分層架構(gòu),而無需理會底層的實現(xiàn)細節(jié)。另一方面,struts提供的強大的參數(shù)傳遞機制以及強大的標簽庫將讓系統(tǒng)的開發(fā)事半功倍。還值得一

69、提的是,struts還提供了AOP(Aspect Oriented Programming)機制的實現(xiàn)—攔截器。這樣,我們就可以輕松利用struts的攔截器完成系統(tǒng)的權(quán)限控制。</p><p>  雖然,已經(jīng)選定了struts作為系統(tǒng)的開發(fā)框架,但是,作為一個具有高拓展性的系統(tǒng),就必須要盡可能的降低系統(tǒng)架構(gòu)層與層間的耦合度。所以,本系統(tǒng)采用spring框架,依托spring容器的依賴注入,來降低系統(tǒng)層與層間的耦合

70、度。具體來講就是,在業(yè)務邏輯層和持久化層的類都抽象出接口,而調(diào)用業(yè)務邏輯層和持久化層的地方,都調(diào)用相應的接口,所有類的實例化都依靠spring的依賴注入機制。這樣就極大地降低了系統(tǒng)層與層間的耦合度。假定,如果我們要修改系統(tǒng)業(yè)務邏輯層的實現(xiàn),我們只需要定義一個新的類,實現(xiàn)相應的接口,然后在spring的配置文件將該接口的類改為新定義的類就好了。在整個過程中,本系統(tǒng)無需改動任何類,任何代碼。這對于系統(tǒng)拓展性的提升可以說是飛躍性的。另一方面,

71、spring也提供了AOP思想的實現(xiàn)。由于本系統(tǒng)控制層、業(yè)務邏輯層、持久化層的類都是spring容器依賴注入的,所以本系統(tǒng)可以利用spring的AOP實現(xiàn)完成一些系統(tǒng)關(guān)鍵操作的日志輸出。</p><p>  另外,在持久化層,本系統(tǒng)計劃使用JDBC與MYSQL進行交互。另外,為提高開發(fā)效率,本系統(tǒng)還將使用hibernate框架,以簡化數(shù)據(jù)庫的操作。Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC

72、進行了非常輕量級的對象封裝,對數(shù)據(jù)庫表與javabean進行映射,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫,而不必去編寫底層的SQL語句,極大地提高了開發(fā)效率。</p><p>  綜上,本系統(tǒng)將采用SSH(struts+spring+hibernate)整合框架進行開發(fā)。</p><p><b>  2.5 其它技術(shù)</b></p>

73、<p>  在表示層,本系統(tǒng)將不僅僅采用HTML、JAVASCRIPT,還采用業(yè)界主流的DIV+CSS網(wǎng)頁布局方法,以實現(xiàn)內(nèi)容與表現(xiàn)相分離。這樣,更有利于系統(tǒng)的維護與二次開發(fā)。</p><p>  另外,為提高用戶體驗,本系統(tǒng)還使用了基于AJAX技術(shù)的框架DWR來進行一些客戶端與服務器的動態(tài)交互。</p><p>  綜上,整個系統(tǒng)的技術(shù)架構(gòu)已經(jīng)全部決定好了,整體如圖2-3。&

74、lt;/p><p>  圖2-3 系統(tǒng)技術(shù)架構(gòu)圖</p><p><b>  第三章 需求分析</b></p><p><b>  3.1 背景</b></p><p>  3.1.1 系統(tǒng)功能概述</p><p>  本系統(tǒng)以管理IBM所有相關(guān)認證考試的整個流程為目標。用戶必

75、須登錄才能使用本系統(tǒng)的相關(guān)功能。教師用戶登陸后能夠編輯自己的信息,導入用戶,進行考試管理及考試資料管理,還可以進行報名收費管理。學生用戶登錄后能夠編輯自己的信息,考試報名,查看考場、成績,申請證書等。</p><p>  本系統(tǒng)整體上包括五個功能模塊:用戶管理模塊、考試管理模塊、報名收費管理模塊、考試資料管理模塊、成績證書管理模塊。</p><p>  用戶管理模塊包括:用戶登錄注銷、用戶

76、信息編輯、用戶導入、修改密碼四個子功能。</p><p>  考試管理模塊包括:考試發(fā)布、編輯考試信息、取消考試三個子功能。</p><p>  報名收費管理模塊包括:學生報名、收費確認、考場發(fā)布三個子功能。</p><p>  考試資料管理模塊包括:上傳資料、下載資料兩個子功能。</p><p>  成績證書管理模塊包括:成績獲取、證書申請

77、、證書申請進度查詢?nèi)齻€子功能。</p><p>  3.1.2 用戶特征</p><p>  本系統(tǒng)有兩種用戶:學生用戶、教師用戶。</p><p>  教師用戶主要是天津大學的教職工,此類用戶一般具有較高的教育水平,并且對計算機知識有一定的了解,具有熟練的計算機日常操作。對本系統(tǒng)具有較高的使用頻度。</p><p>  學生用戶主要是天津大

78、學的在校生,此類用戶一般具有較高的教育水平,并且對計算機知識有一定的了解,具有熟練的計算機日常操作。對本系統(tǒng)具有較高的使用頻度。</p><p>  3.1.3 系統(tǒng)環(huán)境</p><p><b>  客戶端:</b></p><p>  操作系統(tǒng):Windows 或Linux均可</p><p>  瀏覽器:IE 7.0

79、.5730.11及以上或與之兼容的瀏覽器</p><p><b>  服務器端:</b></p><p>  操作系統(tǒng):Windows或Linux均可</p><p>  web服務器:Tomcat6.0.30及以上</p><p>  數(shù)據(jù)庫:MYSQL 5.0.22及以上</p><p>  

80、3.1.4 系統(tǒng)限制</p><p>  本系統(tǒng)顯示速度要求:每次更換頁面,應在5s內(nèi)完成。</p><p><b>  3.2 功能需求</b></p><p>  3.2.1 用戶管理功能</p><p>  用戶管理模塊實現(xiàn)的功能主要是用戶的登陸注銷,用戶信息的編輯。教師和學生兩種角色都可以使用這些功能。另外,教師

81、用戶還可以導入用戶到系統(tǒng)中。詳情見圖3-2。</p><p>  圖 3-2 用戶管理模塊用例圖</p><p>  3.2.2 考試管理功能</p><p>  考試管理模塊實現(xiàn)的功能主要是教師用戶用來發(fā)布新的認證考試,編輯已發(fā)布的認證考試以及取消認證考試等考試相關(guān)管理工作。學生用戶不具備使用該功能模塊的權(quán)限。詳情見圖3-3。</p><p

82、>  圖3-3 考試管理模塊用例圖</p><p>  3.2.3 報名收費管理功能</p><p>  報名收費管理模塊主要是學生用戶進行考試報名,查看考場;教師用戶進行收費確認,考場分配等相關(guān)工作。報名、收費確認、安排考場、查看考場等相關(guān)功能都要使用到考試管理模塊以獲取相關(guān)操作的考試信息。詳情見圖3-4。</p><p>  圖3-4 報名收費管理用例圖

83、</p><p>  3.2.4 考試資料管理功能</p><p>  考試資料管理模塊主要是教師上傳、下載考試輔導資料,學生下載考試輔導資料等。對于此功能模塊,教師具有所有操作的權(quán)限,而學生只具有下載資料的權(quán)限。另外,上傳、下載資料兩個功能都要用到考試管理模塊以獲取相關(guān)操作的考試信息。詳情見圖3-5。</p><p>  圖3-5 考試資料管理用例圖</p

84、><p>  3.2.5 成績證書管理功能</p><p>  成績證書管理模塊主要是與其他系統(tǒng)聯(lián)動,導入用戶考試成績以及證書申請進度,學生用戶可以通過本系統(tǒng)查詢自己的考試成績以及證書申請進度。成績導入以及證書申請進度導入都是被動的,由其他系統(tǒng)調(diào)用本系統(tǒng)的相關(guān)接口實現(xiàn)。</p><p>  成績導入、成績查詢兩個模塊要用到成績管理模塊以獲取相關(guān)的考試信息。證書導入、申請

85、證書、進度查詢?nèi)齻€模塊要用到證書管理模塊以獲取相關(guān)證書信息。詳情見圖3-6.</p><p>  圖 3-6 成績證書管理用例圖</p><p>  3.3 非功能性需求</p><p><b>  3.3.1 可靠性</b></p><p>  平均故障時間(MTBF):預計為平均一年一次。</p>&l

86、t;p>  平均修復時間(MTBR):最大為十二小時。十二小時內(nèi)一定可以修復,平均Wie6小時。</p><p>  錯誤率:預計錯誤率為每千行3%。</p><p><b>  3.3.2 穩(wěn)定性</b></p><p>  系統(tǒng)響應為及時響應,但是由于存在原子操作鎖,所以對一般操作的響應平均時間應該3秒之內(nèi)。</p>&

87、lt;p><b>  3.3.3 可用性</b></p><p>  使用時間:本系統(tǒng)可用性較高,可用性時間比為99%(1%為預測中可能崩潰的時間);</p><p>  吞吐量:本系統(tǒng)事務量視用戶的多少而定</p><p>  維護訪問權(quán)限:本系統(tǒng)分為兩類用戶:包括教師、學生。未登錄用戶不能進行任何操作。教師和學生都能夠編輯自己的信息,

88、下載考試資料。只有教師能夠?qū)胗脩?、進行考試管理、收費確認等。只有學生能夠報名考試,查看成績、申請證書等。</p><p><b>  3.3.4 安全性</b></p><p>  對于系統(tǒng)的重要數(shù)據(jù)都有密碼保護,具有一定的安全性。用戶信息的保密性較高,在線交互信息進行分類保密。系統(tǒng)的運行環(huán)境要求網(wǎng)絡安全設置,PC防火墻設置等,保證對于一般威脅能夠預防及保護作用。&

89、lt;/p><p><b>  3.3.5 容錯性</b></p><p>  用戶輸錯數(shù)據(jù)都有提示信息,具有較好的容錯性能。</p><p><b>  第四章 系統(tǒng)分析</b></p><p>  4.1 系統(tǒng)架構(gòu)設計</p><p>  4.1.1 分層架構(gòu)設計</

90、p><p>  本系統(tǒng)將采用第二章所講述的四層架構(gòu)設計,這四層分別是表示層、控制層、業(yè)務邏輯層、持久化層。詳情請見圖4-1。</p><p>  本系統(tǒng)的架構(gòu)設計是基于MVC設計思想的三層架構(gòu)的優(yōu)化?;贛VC設計模式的三層架構(gòu)是將系統(tǒng)自上而下劃分為表示層、控制層、持久化層?;谌龑蛹軜?gòu)的系統(tǒng),通常會將業(yè)務邏輯相關(guān)的處理放到持久化層來完成。也就是說,系統(tǒng)的業(yè)務邏輯相關(guān)的處理是與系統(tǒng)的持久化層糾

91、結(jié)在一起的。當系統(tǒng)的底層數(shù)據(jù)結(jié)構(gòu)要作調(diào)整時,即便是系統(tǒng)的業(yè)務邏輯沒發(fā)生變化,也必然會牽扯到系統(tǒng)的業(yè)務邏輯。反之,系統(tǒng)的業(yè)務邏輯發(fā)生變化時,即便是系統(tǒng)的底層數(shù)據(jù)結(jié)構(gòu)沒有變化,也必然會被牽扯到其中。這樣的設計,很不利于系統(tǒng)的將來的升級維護。另一方面,控制層很經(jīng)常會調(diào)用到相同的業(yè)務邏輯,將業(yè)務邏輯與持久化層綁定的話,很不利于代碼的重用。</p><p>  所以,本系統(tǒng)將持久化層拆分為業(yè)務邏輯層和持久化層,一方面提高了

92、系統(tǒng)的可拓展性,另一方面也提高了代碼重用度和開發(fā)效率。</p><p>  圖4-1 系統(tǒng)分層架構(gòu)圖</p><p>  4.1.2 功能架構(gòu)設計</p><p>  本系統(tǒng)以管理IBM所有相關(guān)認證考試的整個流程為目標。用戶必須登錄才能使用本系統(tǒng)的相關(guān)功能。教師用戶登陸后能夠編輯自己的信息,導入用戶,進行考試管理及考試資料管理,還可以進行報名收費管理。學生用戶登錄后

93、能夠編輯自己的信息,考試報名,查看考場、成績,申請證書等。</p><p>  本系統(tǒng)整體上包括五個功能模塊:用戶管理模塊、考試管理模塊、報名收費管理模塊、考試資料管理模塊、成績證書管理模塊。詳情請見圖4-2。</p><p>  用戶管理模塊包括:用戶登錄注銷、用戶信息編輯、用戶導入、修改密碼四個子功能。</p><p>  考試管理模塊包括:考試發(fā)布、編輯考試信

94、息、取消考試三個子功能。</p><p>  報名收費管理模塊包括:學生報名、收費確認、考場發(fā)布三個子功能。</p><p>  考試資料管理模塊包括:上傳資料、下載資料兩個子功能。</p><p>  成績證書管理模塊包括:成績獲取、證書申請、證書申請進度查詢?nèi)齻€子功能。</p><p>  圖 4-2 系統(tǒng)功能架構(gòu)圖</p>

95、<p>  4.1.3 部署架構(gòu)設計</p><p>  本系統(tǒng)采用業(yè)界主流的B/S架構(gòu)。這種架構(gòu)下,用戶工作界面是通過web瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),主要事務邏輯在服務器端(Server)實現(xiàn)。</p><p>  B/S結(jié)構(gòu)的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護。系統(tǒng)的擴展性非

96、常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。</p><p>  基于B/S架構(gòu)的系統(tǒng)的部署相應的也就非常的簡單了。只要在服務器上部署好本系統(tǒng)后,用戶只需在瀏覽器地址欄輸入服務器的域名,就可以訪問本系統(tǒng)了。瀏覽器會自動調(diào)用DNS服務解析到部署了本系統(tǒng)所在服務器的IP,然后向該服務器發(fā)出請求。詳情見圖4-3。</p><p>  圖4-3 系統(tǒng)部署圖</p&g

97、t;<p>  4.2 系統(tǒng)業(yè)務用例分析</p><p>  4.2.1 導入用戶用例分析</p><p>  導入用戶用例實現(xiàn)的功能是教師用戶通過excel表導入新用戶到系統(tǒng)中。這個功能設計為只有教師用戶能夠使用。詳情見圖4-4A 導入用戶時序圖和圖4-4B導入用戶協(xié)作圖。</p><p>  該用例的主要流程如下:</p><p

98、>  教師用戶請求導入用戶界面。</p><p>  用戶控制器加載導入用戶界面。</p><p>  用戶控制器返回導入用戶界面給瀏覽器。</p><p>  用戶提交表單給用戶控制器。</p><p>  用戶控制器將excel表內(nèi)的用戶列表插入到用戶。</p><p>  用戶控制器返回導入用戶成功給瀏覽器

99、。</p><p>  圖4-4(a) 導入用戶</p><p>  圖4-4(b) 導入用戶</p><p>  4.2.2 考試報名用例分析</p><p>  考試報名用例實現(xiàn)的功能是學生通過本系統(tǒng)完成報名IBM認證考試的報名。本功能設計為只有學生用戶能夠使用。詳情見圖4-5A 學生報名時序圖和圖4-5B學生報名協(xié)作圖。</p&g

100、t;<p>  該用例的主要流程如下:</p><p>  學生請求報名考試頁面。</p><p>  報名收費控制器向報名界面類請求加載頁面。</p><p>  報名收費控制器向考試類請求考試列表。</p><p>  報名收費控制器返回報名頁面給瀏覽器。</p><p>  學生提交表單給報名收費控

101、制器。</p><p>  報名收費控制器將報名信息插入到報名信息。</p><p>  報名收費控制器返回報名成功信息給瀏覽器。</p><p>  圖4-5(a) 考試報名</p><p>  圖4-5(b) 考試報名</p><p>  4.2.3 上傳資料用例分析</p><p>  上

102、傳資料用例實現(xiàn)的是教師通過本系統(tǒng)考試輔導資料的上傳。本功能設計為只有教師能夠使用。詳情見圖4-6A 上傳資料時序圖和圖4-6B上傳資料協(xié)作圖。</p><p>  該用例的主要流程如下:</p><p>  教師請求上傳資料界面。</p><p>  考試資料控制器向上傳資料界面類請求加載頁面。</p><p>  考試資料控制器向考試類請求

103、考試列表。</p><p>  考試資料控制器返回上傳資料界面給瀏覽器。</p><p>  教師提交表單給考試資料控制器。</p><p>  考試資料控制器將上傳的考試資料添加到考試資料中。</p><p>  考試資料控制器返回上傳成功給瀏覽器。</p><p>  圖4-6(a) 上傳資料</p>

104、<p>  圖4-6(b) 上傳資料</p><p>  4.3 系統(tǒng)數(shù)據(jù)庫設計</p><p>  4.3.1 數(shù)據(jù)庫整體設計</p><p>  根據(jù)本系統(tǒng)的功能性需求,可以大致抽象出這樣幾個實體集:教師、學生、課程、考試、分數(shù)、資源。</p><p>  本系統(tǒng)采用業(yè)界主流的權(quán)限管理機制。將每個用戶劃分到不同的組,將系統(tǒng)的不

105、同功能劃歸到不同的權(quán)限,每個組擁有各自的權(quán)限集合。這樣就又在原來的基礎上增加了兩個實體集:組、權(quán)限。</p><p>  另外,本系統(tǒng)有兩個用戶角色:教師、學生。這兩個用戶角色有著許多共同的屬性,所以,本系統(tǒng)將其一般化成為用戶,讓教師、學生繼承用戶實體集。這樣就又多了一個實體集:用戶。</p><p>  這幾個實體集通過聯(lián)系集聯(lián)系到一起,就構(gòu)建起了本系統(tǒng)的數(shù)據(jù)庫。詳情見圖4-4.<

106、/p><p>  圖4-7 系統(tǒng)數(shù)據(jù)庫E-R圖</p><p>  4.3.2 數(shù)據(jù)庫表設計</p><p>  如圖4-4系統(tǒng)數(shù)據(jù)庫E-R圖所示, 本系統(tǒng)有九個實體集,六個聯(lián)系集。</p><p>  將實體集、聯(lián)系集轉(zhuǎn)化成數(shù)據(jù)庫表的過程中,一對一關(guān)系、多對一關(guān)系、一對多關(guān)系的實體集、聯(lián)系集合并到一個表中。</p><p&g

107、t;  分數(shù)與用戶的聯(lián)系集是多對一關(guān)系,所以該聯(lián)系集與分數(shù)合并為一個數(shù)據(jù)庫表。</p><p>  課程和考試與分數(shù)的聯(lián)系集是多對一關(guān)系,所以該聯(lián)系集與分數(shù)合并為一個數(shù)據(jù)庫表。</p><p>  考試與資源的聯(lián)系集是一對多關(guān)系,所以該聯(lián)系集與資源合并為一個數(shù)據(jù)庫表。</p><p>  這樣,從系統(tǒng)數(shù)據(jù)庫E-R圖就抽象出十二個數(shù)據(jù)庫表:user、student、t

108、eacher、group、user_group、permission、group_permission、course、test、user_test、mark、resouce。</p><p>  4.3.3 數(shù)據(jù)庫表詳細設計</p><p>  數(shù)據(jù)庫表總體設計如上節(jié)所述,為十二個表。本節(jié)將詳細闡述一下數(shù)據(jù)庫關(guān)鍵表的設計情況。</p><p>  user表主要記錄

109、用戶的基本信息。這些信息是教師和學生都會擁有的,如姓名、郵箱、電話等。教師和學生分別所具有的信息分別放在student、teacher兩個表里。詳情見表4-1 數(shù)據(jù)庫user表說明。</p><p>  表4-1 數(shù)據(jù)庫user表說明</p><p>  test表主要記錄了IBM認證考試的相關(guān)信息,主要包括考試名稱、考試時長、描述等。由于IBM認證考試是在一定時間內(nèi)開放的,可以自己決定具

110、體考試時間,所以其中還定義了考試開始日期以及結(jié)束日期。另外,為了方便老師控制考試報名的開放、關(guān)閉,還定義了一個考試狀態(tài)屬性。詳情見表4-2 數(shù)據(jù)庫test表說明。</p><p>  表4-2 數(shù)據(jù)庫test表說明</p><p>  user_test表記錄了學生報名考試的信息,主要包括用戶id、報名考試id、考試時間等。本系統(tǒng)還有安排、查看考場信息的功能,所以本表還加入了考場、座位號屬

溫馨提示

  • 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

提交評論