2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩59頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  由于社會(huì)在不斷發(fā)展,互聯(lián)網(wǎng)已經(jīng)被千千萬(wàn)萬(wàn)的家庭所接收,公交查詢?cè)谌粘I钪姓加泻苤匾奈恢?。通過對(duì)公交信息管理系統(tǒng)的現(xiàn)狀分析,考慮如何在日常生活中充分利用網(wǎng)絡(luò)和計(jì)算機(jī)的優(yōu)勢(shì), 使公交信息既能夠得到及時(shí)有效的查詢,又能得到高效的管理,并節(jié)省日常生活中的時(shí)間、提高效率。

2、 </p><p>  本系統(tǒng)應(yīng)用B/S結(jié)構(gòu),MVC模式采用S2SH框架技術(shù)編寫,采用MySQL作為后臺(tái)數(shù)據(jù)庫(kù)。本系統(tǒng)論文的前言部分主要介紹了與該系統(tǒng)相關(guān)的國(guó)內(nèi)外現(xiàn)狀以及開發(fā)該系統(tǒng)在需求上,技術(shù)上的可行性,并介紹該系統(tǒng)開發(fā)用到的一些關(guān)鍵性的技術(shù);當(dāng)確定需求后,該論文的系統(tǒng)設(shè)計(jì)部分就介紹了具體該怎么去設(shè)計(jì)并實(shí)現(xiàn)該系統(tǒng)。然后該系統(tǒng)論文的系統(tǒng)實(shí)現(xiàn)部分再介紹具體實(shí)現(xiàn)的細(xì)節(jié)了。</p><p&

3、gt;  該系統(tǒng)主要功能包括公交車線路信息查詢,公交車論壇,公交新聞,公交車線路圖,資源上傳下載,用戶留言,乘車指南,論壇管理,新聞管理,圖片管理,資源管理,留言管理,維護(hù)個(gè)人信息等功能。</p><p>  關(guān)鍵詞:公交信息管理,B/S結(jié)構(gòu) ,S2SH框架 ,MySQL數(shù)據(jù)庫(kù) </p><p><b>  ABSTRACT</b></p><

4、p>  With the development of the society, the internet has been accepted by millions of families. Through analyzing the present situation of the bus information management system, to consider how to make full use of In

5、ternet in our daily life and the advantage of computer, both to make the bus information, timely and effective query and can get efficient management, and save the time and improve efficiency of daily life.</p>&l

6、t;p>  The system applied B/S structure, MVC pattern written by S2SH frame technology.The foreword of thesis of bus system introduces somthings about the system at home and abroad,and the Demand feasibility and the tec

7、hnical feasibility of developing the system.There are also introduce some key technology about this system.After confirm the demand,the part of the system design of thesis can tell us how to do the system.And then,the pa

8、rt of system implementation of the thesis let us know that how to cod</p><p>  The system main function includes bus information query, bus BBS, news, bus image center, resource upload and download, user mes

9、sages, system introduction, BBS management, news management, image management, resource management, message management, maintenance of personal information, and other functions. </p><p>  Keyword: The bus in

10、formation management, B/S structure, S2SH framework, MySQL Database </p><p><b>  目 錄</b></p><p><b>  第一章 概述1</b></p><p><b>  1.1開發(fā)背景1</b><

11、/p><p>  1.2目的及意義1</p><p>  1.3課題研究的內(nèi)容2</p><p>  第二章 系統(tǒng)開發(fā)的相關(guān)技術(shù)3</p><p>  2.1 JSP技術(shù)3</p><p>  2.2 MVC模式3</p><p>  2.2.1 Model: 系統(tǒng)狀態(tài)和商業(yè)邏輯Java

12、Beans4</p><p>  2.2.2 View: JSP頁(yè)面和表示組件4</p><p>  2.2.3 Controller: ActionServlet和ActionMapping5</p><p>  2.3 Struts2簡(jiǎn)介5</p><p>  2.4 MySQL數(shù)據(jù)庫(kù)6</p><p>

13、  第三章 需求分析8</p><p>  3.1 技術(shù)支持8</p><p>  3.1.1 系統(tǒng)框架的選擇8</p><p>  3.1.2 數(shù)據(jù)庫(kù)的選擇9</p><p>  3.2 系統(tǒng)功能需求9</p><p>  3.2.1 總體需求10</p><p>  3.2.2

14、 各模塊設(shè)計(jì)10</p><p>  3.2.3 數(shù)據(jù)流圖11</p><p>  3.3 系統(tǒng)非功能需求12</p><p>  3.3.1技術(shù)可行性12</p><p>  3.3.2管理可行性13</p><p>  3.3.3系統(tǒng)準(zhǔn)確性和及時(shí)性13</p><p>  3.3

15、.4系統(tǒng)開放性和可擴(kuò)充性13</p><p>  3.3.5系統(tǒng)易用性和易維護(hù)性13</p><p>  3.3.6系統(tǒng)的響應(yīng)速度13</p><p>  第四章 總體設(shè)計(jì)14</p><p>  4.1系統(tǒng)用例圖設(shè)計(jì)14</p><p>  4.1.1系統(tǒng)前臺(tái)用例圖14</p><p

16、>  4.1.2系統(tǒng)后臺(tái)用例圖15</p><p>  4.2系統(tǒng)模塊劃分圖15</p><p>  4.3系統(tǒng)E-R圖16</p><p>  4.4系統(tǒng)流程圖17</p><p>  4.5數(shù)據(jù)庫(kù)設(shè)計(jì)18</p><p>  4.5.1數(shù)據(jù)庫(kù)設(shè)計(jì)原則18</p><p> 

17、 4.5.2數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)19</p><p>  第五章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)22</p><p>  5.1系統(tǒng)的活動(dòng)圖22</p><p>  5.1.1會(huì)員注冊(cè)模塊22</p><p>  5.1.2登陸模塊22</p><p>  5.2系統(tǒng)框架關(guān)鍵配置23</p><p> 

18、 5.2.1 Struts2關(guān)鍵配置23</p><p>  5.2.2 Spring事務(wù)管理配置24</p><p>  5.2.3 Hibernate持久化配置25</p><p>  5.3各功能模塊實(shí)現(xiàn)26</p><p>  5.3.1用戶登錄注冊(cè)模塊的實(shí)現(xiàn)26</p><p>  5.3.2公交查

19、詢模塊的實(shí)現(xiàn)28</p><p>  5.3.3公交論壇模塊的實(shí)現(xiàn)32</p><p>  5.3.4公交新聞模塊的實(shí)現(xiàn)33</p><p>  5.3.5公交線路圖模塊的實(shí)現(xiàn)34</p><p>  5.3.6資源上傳下載模塊的實(shí)現(xiàn)35</p><p>  5.3.7用戶留言模塊的實(shí)現(xiàn)37</p&g

20、t;<p>  5.3.8乘車指南模塊的實(shí)現(xiàn)39</p><p>  5.3.9線路管理模塊的實(shí)現(xiàn)39</p><p>  5.3.10論壇管理模塊的實(shí)現(xiàn)42</p><p>  5.3.11新聞管理模塊的實(shí)現(xiàn)43</p><p>  5.3.12圖片管理模塊的實(shí)現(xiàn)45</p><p>  5.

21、3.13資源管理模塊的實(shí)現(xiàn)46</p><p>  5.3.14留言管理模塊的實(shí)現(xiàn)47</p><p>  5.3.15用戶管理模塊的實(shí)現(xiàn)48</p><p>  第六章 軟件測(cè)試50</p><p>  6.1軟件測(cè)試的目的及意義50</p><p>  6.2測(cè)試的方法50</p>&l

22、t;p>  6.3測(cè)試用例51</p><p>  6.3.1 注冊(cè)測(cè)試用例51</p><p>  6.3.2 登陸測(cè)試用例51</p><p>  6.3.3 公交查詢功能測(cè)試用例52</p><p><b>  謝 辭54</b></p><p><b>  參考

23、文獻(xiàn)55</b></p><p><b>  第一章 概述</b></p><p><b>  1.1開發(fā)背景</b></p><p>  城市公交是專門服務(wù)于市民出行的客運(yùn)企業(yè)。它是城市社會(huì)和經(jīng)濟(jì)活動(dòng)的重要組成部分。伴隨著國(guó)民經(jīng)濟(jì)和城市建設(shè)的快速發(fā)展,城市經(jīng)濟(jì)的繁榮,人口的增加,城市必須解決好人們出行的需求

24、。城市公交直接關(guān)系著城市的經(jīng)濟(jì)發(fā)展和居民生活,對(duì)城市經(jīng)濟(jì)具有全局性、先導(dǎo)性的影響,城市公交以其方便、快捷、容量大而成為城市交通的主體。但是隨著公交系統(tǒng)的龐大,人們很難得到準(zhǔn)確的公交信息,這樣給一些人的出行就帶來了不便。</p><p>  現(xiàn)階段,人們的出入方式主要還是來源于城市公交,特別是對(duì)于那些到外地出差、打工,進(jìn)行商業(yè)有關(guān)或其他事情需要在外地進(jìn)行短暫停留的人而言,公交對(duì)他們是必不可少的,但是對(duì)于那個(gè)不屬于自

25、己所熟悉的城市,坐公交也是一個(gè)很大的難題,因此,開發(fā)一個(gè)公交查詢系統(tǒng)就顯得非常的重要。</p><p>  隨著城市經(jīng)濟(jì)的發(fā)展、規(guī)模的擴(kuò)大以及人口的增長(zhǎng),城市交通問題日益突出。降低出行時(shí)間將使所有的公交利用者產(chǎn)生效益,快速的交通、更好的信息及更好的市場(chǎng)可以提高公交的形象,能夠增加公交乘坐者。城市公共交通運(yùn)輸以其覆蓋面廣、經(jīng)濟(jì)、快捷的特點(diǎn),成為絕大多數(shù)出行者的首選方式,也是各地城市政府大力發(fā)展的一種交通方式。本地市

26、民特別是外來旅游、出差、就醫(yī)等急需了解本地道路情況的人可以利用本系統(tǒng)方便快捷的查詢出所有符合他們要求的公交路線,對(duì)他們的出行和生活提供幫助。 設(shè)計(jì)公交信息管理系統(tǒng)能夠方便城市公交管理者對(duì)公交線路進(jìn)行管理,及時(shí)更新最新的線路信息,市民在使用時(shí)能夠掌握實(shí)時(shí)的公交線路狀況,也方便了使用者直接的信息交流,對(duì)于城市公共交通的發(fā)展是有利的。</p><p><b>  1.2目的及意義</b></

27、p><p>  應(yīng)廣大城市市民查詢公交信息的需求,公交公司對(duì)城市公交線路等信息的管理需求,開發(fā)一套公交信息管理系統(tǒng)。主要針對(duì)用戶和管理員,用戶在此系統(tǒng)可以對(duì)所要了解的公交線路進(jìn)行查詢,對(duì)公交服務(wù)中存在的問題提出建議,對(duì)服務(wù)中的不合理行為進(jìn)行投訴,參與用戶之間的討論等;而管理員主要負(fù)責(zé)后臺(tái)的管理,管理員不需要運(yùn)用傳統(tǒng)的方式進(jìn)行紛繁復(fù)雜的操作,使用本系統(tǒng),管理員登錄后可以對(duì)線路信息、用戶信息、留言信息等進(jìn)行添加、刪除、查

28、詢和修改功能。此系統(tǒng)將以簡(jiǎn)潔、易懂的界面呈現(xiàn)給用戶,目標(biāo)能夠使每一個(gè)用戶易于操作,減少不必要的業(yè)務(wù)邏輯,提高該系統(tǒng)的利用率和運(yùn)行、維護(hù)效率。</p><p>  設(shè)計(jì)本系統(tǒng)的目的在于掌握MVC設(shè)計(jì)模式及該模式下三種對(duì)象的設(shè)計(jì)方法,掌握面向?qū)ο笤O(shè)計(jì)(Object-Oriented Design,OOD)方法的步驟。系統(tǒng)的首要目標(biāo)是能夠滿足目前的業(yè)務(wù)功能需要,并確保系統(tǒng)切換平滑、運(yùn)行穩(wěn)定;對(duì)于service的編寫,通

29、過參數(shù)配置等形式,實(shí)現(xiàn)其應(yīng)具備的控制功能,并具有良好的可擴(kuò)展性,提高service的復(fù)用性;對(duì)于HTML界面的編寫,以簡(jiǎn)潔、輕快明了、規(guī)范性為目標(biāo),使其呈現(xiàn)的效果多、豐富;對(duì)于JavaBean的編寫使其具有對(duì)數(shù)據(jù)進(jìn)行增、刪、改、查、參數(shù)初始化的業(yè)務(wù)邏輯。</p><p>  1.3課題研究的內(nèi)容</p><p>  本文共分為六大章,其中分為課題來源到系統(tǒng)開發(fā)的相關(guān)技術(shù)、系統(tǒng)分析、總體設(shè)計(jì)

30、等等。通過每一章的闡述對(duì)公交信息管理系統(tǒng)做出了詳細(xì)的講解和分析。</p><p>  前言 本章主要闡述了公交信息管理系統(tǒng)的課題來源背景及課題研究的目的 與意義。</p><p>  開發(fā)相關(guān)技術(shù) 本章主要介紹了該系統(tǒng)在什么環(huán)境中運(yùn)行,運(yùn)用的開發(fā)語(yǔ)言以及相關(guān)的技術(shù)簡(jiǎn)介等。</p><p>  需求分析 本章主要根據(jù)公交企業(yè)管理信息的過程和特點(diǎn),以

31、及客戶的需求,對(duì)系統(tǒng)的功能進(jìn)行設(shè)計(jì),并對(duì)系統(tǒng)的可行性作了分析。</p><p>  總體設(shè)計(jì) 本章主要闡述了公交信息管理系統(tǒng)的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、功能模塊圖、數(shù)據(jù)庫(kù)設(shè)計(jì)、邏輯設(shè)計(jì)及物理設(shè)計(jì)等。</p><p>  詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 本章主要闡述了前臺(tái)界面和后臺(tái)管理模塊的設(shè)計(jì)與代碼編寫。</p><p>  系統(tǒng)測(cè)試 本章主要是對(duì)系統(tǒng)進(jìn)行測(cè)試,對(duì)本系統(tǒng)進(jìn)行總結(jié),并提出遇到的問

32、題及系統(tǒng)中的不足之處。</p><p><b>  系統(tǒng)開發(fā)的相關(guān)技術(shù)</b></p><p><b>  2.1 JSP技術(shù)</b></p><p>  JSP技術(shù)可以以一種簡(jiǎn)捷而快速的方法生成Web頁(yè)面。使用JSP技術(shù)的Web頁(yè)面可以很容易地顯示動(dòng)態(tài)內(nèi)容。JSP技術(shù)的設(shè)計(jì)目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷

33、,而這些應(yīng)用程序能夠與各種Web服務(wù)器、應(yīng)用服務(wù)器、瀏覽器和開發(fā)工具共同工作。 </p><p>  JSP技術(shù)不是惟一的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),也不是第一個(gè),在JSP技術(shù)出現(xiàn)之前就已經(jīng)存在幾種優(yōu)秀的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),如CGI、ASP等。下面結(jié)合這些技術(shù)的介紹,講述動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)的發(fā)展和JSP技術(shù)的誕生。JSP具有以下優(yōu)點(diǎn):</p><p>  1.簡(jiǎn)便性和有效性 JSP動(dòng)態(tài)網(wǎng)頁(yè)的編寫與一般的靜態(tài)H

34、TML的網(wǎng)頁(yè)編寫是十分相似的。只是在原來的HTML網(wǎng)頁(yè)中加入一些JSP專有的標(biāo)簽,或是一些腳本程序(此項(xiàng)不是必需的)。這樣,一個(gè)熟悉HTML網(wǎng)頁(yè)編寫的設(shè)計(jì)人員可以很容易進(jìn)行JSP網(wǎng)頁(yè)的開發(fā)。而且開發(fā)人員完全可以不自己編寫腳本程序,而只是通過JSP獨(dú)有的標(biāo)簽使用別人已寫好的部件來實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)的編寫。這樣,一個(gè)不熟悉腳本語(yǔ)言的網(wǎng)頁(yè)開發(fā)者,完全可以利用JSP做出漂亮的動(dòng)態(tài)網(wǎng)頁(yè)。而這在其他的動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)中是不可實(shí)現(xiàn)的。 </p>

35、<p>  2.程序的獨(dú)立性 JSP是Java API家族的一部分,它擁有一般的Java程序的跨平臺(tái)的特性。換句話說,就是擁有程序的對(duì)平臺(tái)的獨(dú)立性,即Write once,Run anywhere!。 </p><p>  3.程序的兼容性 JSP中的動(dòng)態(tài)內(nèi)容可以各種形式進(jìn)行顯示,所以它可以為各種客戶提供服務(wù),即從使用HTML/DHTML的瀏覽器,到使用WML的各種手提無(wú)線設(shè)備(例如,移動(dòng)電話

36、和個(gè)人數(shù)字設(shè)備PDA),再到使用XML的B2B應(yīng)用,都可以使用JSP的動(dòng)態(tài)頁(yè)面。 </p><p>  4.程序的可重用性 在JSP頁(yè)面中可以不直接將腳本程序嵌入,而只是將動(dòng)態(tài)的交互部分作為一個(gè)部件加以引用。這樣,一旦這樣的一個(gè)部件寫好,它可以為多個(gè)程序重復(fù)引用,實(shí)現(xiàn)了程序的可重用性。現(xiàn)在,大量的標(biāo)準(zhǔn)JavaBeans程序庫(kù)就是一個(gè)很好的例證。</p><p>  2.2 MVC模式

37、</p><p>  MVC(Model/View/Controller)模式是國(guó)外用的比較多的一種設(shè)計(jì)模式,最早是在Smaltalk中出現(xiàn)的。MVC包括三類對(duì)象,簡(jiǎn)單地說,Model是應(yīng)用對(duì)象,View是它在屏幕上的表示,Controller定義用戶界面對(duì)用戶輸入的響應(yīng)方式[6]。 </p><p>  MVC設(shè)計(jì)模式中“模型“指的是真正完成任務(wù)的代碼。對(duì)大多數(shù)Web應(yīng)用程序來說,功能比

38、界面感覺更重要。在模型同界面相分離的情況下,代碼即可實(shí)現(xiàn)可管理性和可重用性。模型通常也被稱作”業(yè)務(wù)邏輯“。 </p><p>  所謂“視圖“其實(shí)就是使用界面。在MVC模式下,在通常的設(shè)計(jì)前提下界面任務(wù)并不大。當(dāng)然,視圖應(yīng)該具有一定功能性并遵守可用性的約束,但視圖不應(yīng)當(dāng)處理數(shù)據(jù)。事實(shí)上,界面的每一部分都只能包含采集數(shù)據(jù)的足夠邏輯,并把它傳遞給設(shè)計(jì)模式中的其他組成部分以進(jìn)行處理。 </p><p

39、>  “控制器”控制著模型和視圖之間的交互過程。它決定著向用戶返回怎樣的視圖,檢查通過界面輸入的信息以及選擇處理輸入信息的模型。 </p><p>  在JSP開發(fā)中,最常使用Model2。Model2實(shí)際上就符合MVC模式。</p><p>  2.2.1 Model: 系統(tǒng)狀態(tài)和商業(yè)邏輯JavaBeans </p><p>  基于MVC的系統(tǒng)中的 Mod

40、el 部分可以細(xì)分為兩個(gè)概念 -- 系統(tǒng)的內(nèi)部狀態(tài), 能夠改變狀態(tài)的行為。用語(yǔ)法術(shù)語(yǔ)來說,我們可以把狀態(tài)信息當(dāng)作名詞(事物),把行為當(dāng)作動(dòng)詞(事物狀態(tài)的改變)。 通常說來,你的應(yīng)用程序?qū)⑾到y(tǒng)內(nèi)部的狀態(tài)表示為一組一個(gè)或多個(gè)的JavaBeans,使用屬性(properties)來表示狀態(tài)的細(xì)節(jié)。依賴于你的應(yīng)用程序的復(fù)雜度,這些beans可以是自包含的(以某種方式知道怎樣永久地保存它們的狀態(tài)信息),或者可以是正面的(facades),知道當(dāng)被

41、請(qǐng)求時(shí)怎樣從外部數(shù)據(jù)源(例如數(shù)據(jù)庫(kù))中取得信息。Entity EJB通常也用來表示內(nèi)部狀態(tài)。 </p><p>  大型應(yīng)用程序經(jīng)常將系統(tǒng)可能的商業(yè)邏輯行為表示為可以被維護(hù)狀態(tài)信息的beans調(diào)用的方法。舉個(gè)例子,你有一個(gè)為每個(gè)當(dāng)前用戶保存在session中的購(gòu)物車bean,里面是表示當(dāng)前用戶決定購(gòu)買物品的屬性。這個(gè)bean有一個(gè)checkOut()方法用來驗(yàn)證用戶的信用卡,將定單發(fā)給庫(kù)房以選擇貨品和出貨。別的系

42、統(tǒng)分別地表示同樣的行為,或許使用Session EJB。 在一些小型應(yīng)用程序中,同樣的行為又可能嵌入到作為Controller一部分的 Action 類中。這在邏輯非常簡(jiǎn)單或者并不想要在其它環(huán)境中重用這些商業(yè)邏輯時(shí)是恰當(dāng)?shù)?。Struts框架支持所有這些方法,但建議將商業(yè)邏輯(“做什么“)和 Action 類(“決定做什么”)分離開。</p><p>  2.2.2 View: JSP頁(yè)面和表示組件 </p&

43、gt;<p>  基于Struts的應(yīng)用程序中的 View 部分通常使用JSP技術(shù)來構(gòu)建。JSP頁(yè)面包含通常稱為“模版文本”的靜態(tài)HTML(或XML)文本,加上插入的基于對(duì)特殊行為標(biāo)記解釋的動(dòng)態(tài)內(nèi)容。JSP環(huán)境包括了其用途由JSP規(guī)范來描述的一套標(biāo)準(zhǔn)的行為標(biāo)記,例如 <jsp:useBean> 。另外,還有一個(gè)用來定義你自己標(biāo)記的標(biāo)準(zhǔn)機(jī)制,這些自定義的標(biāo)記組織在“定制標(biāo)記庫(kù)”中。 Struts包括了一個(gè)廣闊的便

44、于創(chuàng)建用戶界面,并且充分國(guó)際化的定制標(biāo)記庫(kù),與作為系統(tǒng) Model 部分一部分的ActionForm beans美妙地相互配合。這些標(biāo)記的使用將在后面做詳細(xì)討論。 除了JSP頁(yè)面和其包含的行為及定制標(biāo)記,商業(yè)對(duì)象經(jīng)常需要能夠基于它們?cè)诒徽?qǐng)求時(shí)的當(dāng)前狀態(tài)將自己處理成HTML(或XML)。從這些對(duì)象處理過的輸出可以很容易地使用 <jsp:include> 標(biāo)準(zhǔn)行為標(biāo)記包括在結(jié)果的JSP頁(yè)面中。 </p><p

45、>  2.2.3 Controller: ActionServlet和ActionMapping </p><p>  應(yīng)用程序的 Controller 部分集中于從客戶端接收請(qǐng)求(典型情況下是一個(gè)運(yùn)行瀏覽器的用戶),決定執(zhí)行什么商業(yè)邏輯功能,然后將產(chǎn)生下一步用戶界面的責(zé)任委派給一個(gè)適當(dāng)?shù)腣iew組件。在Struts中,controller的基本組件是一個(gè) ActionServlet 類的servlet。這

46、個(gè)servlet通過定義一組映射(由Java接口 ActionMapping 描述)來配置。每個(gè)映射定義一個(gè)與所請(qǐng)求的URI相匹配的路徑和一個(gè) Action 類(一個(gè)實(shí)現(xiàn) Action 接口的類)完整的類名,這個(gè)類負(fù)責(zé)執(zhí)行預(yù)期的商業(yè)邏輯,然后將控制分派給適當(dāng)?shù)腣iew組件來創(chuàng)建響應(yīng)。 Struts也支持使用包含有運(yùn)行框架所必需的標(biāo)準(zhǔn)屬性之外的附加屬性的 ActionMapping 類的能力。這允許你保存特定于你的應(yīng)用程序的附加信息,同時(shí)

47、仍可利用框架其余的特性。另外,Struts允許你定義控制將重定向到的邏輯名,這樣一個(gè)行為方法可以請(qǐng)求“主菜單”頁(yè)面(舉例),而不需要知道相應(yīng)的JSP頁(yè)面的實(shí)際名字是什么。這個(gè)功能極大地幫助你分離控制邏輯(下一步做什么)和顯示邏輯(相應(yīng)的頁(yè)面的名稱是什么)。</p><p>  2.3 Struts2簡(jiǎn)介</p><p>  Struts2是以Webwork的設(shè)計(jì)思想為核心,吸收了Strut

48、s1的優(yōu)點(diǎn),因此,可以認(rèn)為Struts2是Struts1和Webwork結(jié)合的產(chǎn)物。</p><p>  Struts2既然是從Struts1發(fā)展而來,但實(shí)際上Struts2與Struts1在框架的設(shè)計(jì)思想上面還是有很大的區(qū)別,Struts2是以WebWork的設(shè)計(jì)思想為核心,為什么Struts2不沿用Struts1的設(shè)計(jì)思想,畢竟Struts1在目前的企業(yè)應(yīng)用中還是有非常大的市場(chǎng)在的,那么,來看下Struts1

49、的一些缺點(diǎn)吧: 1)支持的表現(xiàn)層技術(shù)單一。 2)與Servlet API嚴(yán)重耦合,這點(diǎn)可以從Action的Execute的方法聲明里面就可以看的出來。 3)代碼依賴Struts1 API,有侵入性,這點(diǎn)可以從寫Action類和FormBean的時(shí)候看的出來,Action必須實(shí)現(xiàn)Struts的Action類而Struts2之所以以WebWork的設(shè)計(jì)思想為其核心,一點(diǎn)就是最近WebWork的上升勢(shì)頭,再就是WebWork沒有Struts1

50、上面的那些缺點(diǎn),更符合MVC的設(shè)計(jì)思想,也更利于代碼的復(fù)用?;谝陨辖榻B可以看的出,Struts2體系結(jié)構(gòu)與Struts1的體系結(jié)構(gòu)有很大的差別,Struts1是使用ActionServlet做為其中心處理器,Struts2則使用一個(gè)攔截器(Filt</p><p>  Struts2的簡(jiǎn)單處理流程如下: 1)瀏覽器發(fā)送請(qǐng)求。 2)中心處理器根據(jù)struts.xml文件查找對(duì)應(yīng)的處理請(qǐng)求的Action類。 3)W

51、ebWork的攔截器鏈自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能,例如:WorkFlow、Validation等功能。 4)如果Struts.xml文件中配置Method參數(shù),則調(diào)用Method參數(shù)對(duì)應(yīng)的Action類中的Method方法,否則調(diào)用通用的Execute方法來處理用戶請(qǐng)求。 5)將Action類中的對(duì)應(yīng)方法返回的結(jié)果響應(yīng)給瀏覽器。</p><p>  Struts2與Struts1對(duì)比 :1)Action類的實(shí)現(xiàn)方式:

52、 Struts1的Action在實(shí)現(xiàn)的時(shí)候必須擴(kuò)展Action類或者Action的子類,Struts2的Action類實(shí)現(xiàn)的時(shí)候可以不用實(shí)現(xiàn)任何類和接口,雖然Struts2中提供一個(gè)ActionSupport類,但是,不是必須的。 2)Struts1的Action類是單例模式,必須設(shè)計(jì)成線程安全的,Struts2則為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)實(shí)例。 3)Struts1的Action類依賴與Servlet API,從其execute的方法簽名可看

53、出,execute方法有兩個(gè)Servlet的參數(shù)HttpServletRequest和HttpServletResponse,Struts2則不依賴于Servlet API。 4)以為Struts1依賴于Servlet API這些Web元素,因此對(duì)Struts1的Action進(jìn)行測(cè)試的時(shí)候是很困難的,需要借助與其他的測(cè)試工具,Struts2的Action可以象測(cè)試其他的一些Model層的Service類一樣進(jìn)行測(cè)試。 5)Struts1

54、的Action與View通過ActionForm或者</p><p>  2.4 MySQL數(shù)據(jù)庫(kù)</p><p>  MySQL是一個(gè)精巧的SQL數(shù)據(jù)庫(kù)管理系統(tǒng),雖然它不是開放源代碼的產(chǎn)品,但在某些情況下你可以自由使用。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和PHP/PERL結(jié)合,為

55、建立基于數(shù)據(jù)庫(kù)的動(dòng)態(tài)網(wǎng)站提供了強(qiáng)大動(dòng)力。</p><p>  MySQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫(kù)服務(wù)器。SQL(結(jié)構(gòu)化查詢語(yǔ)言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)語(yǔ)言。MySQL是以一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個(gè)服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫(kù)組成。 </p><p>  SQL是一種標(biāo)準(zhǔn)化的語(yǔ)言,它使得存儲(chǔ)、更新和存取信息更容易。例如,你能用S

56、QL語(yǔ)言為一個(gè)網(wǎng)站檢索產(chǎn)品信息及存儲(chǔ)顧客信息,同時(shí)MySQL也足夠快和靈活以允許你存儲(chǔ)記錄文件和圖像。 </p><p>  MySQL 主要目標(biāo)是快速、健壯和易用,自1996年以來,我們一直都在使用MySQL,其環(huán)境有超過 40 個(gè)數(shù)據(jù)庫(kù),包含 10,000個(gè)表,其中500多個(gè)表超過7百萬(wàn)行,這大約有100 個(gè)GB字節(jié)的關(guān)鍵應(yīng)用數(shù)據(jù)。 </p><p>  MySQL數(shù)據(jù)庫(kù)的主

57、要功能只在組織和管理很龐大或復(fù)雜的信息和基于WEB的庫(kù)存查詢請(qǐng)求不僅僅為客戶提供信息,而且還可以為您自己使用數(shù)據(jù)庫(kù)可以提供如下功能: </p><p>  減少記錄編檔的時(shí)間 </p><p><b>  減小記錄檢索時(shí)間</b></p><p><b>  靈活的查找序列 </b></p><

58、p><b>  靈活的輸出格式</b></p><p>  多個(gè)用戶同時(shí)訪問記錄 </p><p><b>  第三章 需求分析</b></p><p><b>  3.1 技術(shù)支持</b></p><p>  3.1.1 系統(tǒng)框架的選擇</p>&l

59、t;p>  一個(gè)信息管理系統(tǒng)的框架結(jié)構(gòu)是否合理,對(duì)該系統(tǒng)的性能、使用效率和安全都具有至關(guān)重要的影響,因此在進(jìn)行公交信息管理系統(tǒng)總體設(shè)計(jì)時(shí),首先應(yīng)確定使用哪種系統(tǒng)框架比較合理?;诒竟恍畔⒐芾硐到y(tǒng)的特性,達(dá)到方便的信息管理和信息查詢,本系統(tǒng)使用S2SH框架結(jié)構(gòu),即(struts2,hibernate,spring)技術(shù)構(gòu)架。</p><p>  系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層

60、。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,利用Hibernate框架對(duì)持久層提供支持,業(yè)務(wù)層用Spring支持。</p><p>  采用上述開發(fā)模型,不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)</p><p>  務(wù)邏輯層與持久層的分離。這樣無(wú)論前端如何變化,模型層只需很少的改動(dòng),并且數(shù)據(jù)庫(kù)的變化也不會(huì)對(duì)前端有所影響,大大提

61、高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團(tuán)隊(duì)成員并行工作,大大提高了開發(fā)效率。</p><p>  圖3-1 S2SH框架結(jié)構(gòu)</p><p>  主流的s2sh(struts2,hibernate,spring)技術(shù)構(gòu)架。相對(duì)于老系統(tǒng)有諸多優(yōu)勢(shì),如:</p><p>  典型的三層構(gòu)架體現(xiàn)MVC(模型Model,視圖View和控制)思想,可以讓開發(fā)

62、人員減輕重新建立解決復(fù)雜問題方案的負(fù)擔(dān)和精力。便于敏捷開發(fā)出新的需求,降低開發(fā)時(shí)間成本。 </p><p>  良好的可擴(kuò)展性,ssh主流技術(shù)有強(qiáng)大的用戶社區(qū)支持它,所以該框架擴(kuò)展性非常強(qiáng),針對(duì)特殊應(yīng)用時(shí)具有良好的可插拔性,避免大部分因技術(shù)問題不能實(shí)現(xiàn)的功能。 </p><p>  良好的可維護(hù)性,業(yè)務(wù)系統(tǒng)經(jīng)常會(huì)有新需求,三層構(gòu)架因?yàn)檫壿媽雍驼宫F(xiàn)層的合理分離,可使需求修改的風(fēng)險(xiǎn)降低到最

63、低。隨著新技術(shù)的流行或系統(tǒng)的老化,系統(tǒng)可能需要重構(gòu),s2sh構(gòu)架重構(gòu)成功率要比其他構(gòu)架高很多。 </p><p>  優(yōu)秀的解耦性,很少有軟件產(chǎn)品的需求從一開始就完全是固定的??蛻魧?duì)軟件需求,是隨著軟件開發(fā)過程的深入,不斷明晰起來的。因此,常常遇到軟件開發(fā)到一定程度時(shí),由于客戶對(duì)軟件需求發(fā)生了變化,使得軟件的實(shí)現(xiàn)不得不隨之改變。s2sh三層構(gòu)架,控制層依賴于業(yè)務(wù)邏輯層,但絕不與任何具體的業(yè)務(wù)邏輯組件耦合,只與接

64、口耦合;同樣,業(yè)務(wù)邏輯層依賴于DAO層,也不會(huì)與任何具體的DAO組件耦合,而是面向接口編程。采用這種方式的軟件實(shí)現(xiàn),即使軟件的部分發(fā)生改變,其他部分也不會(huì)改變。</p><p>  3.1.2 數(shù)據(jù)庫(kù)的選擇</p><p>  數(shù)據(jù)庫(kù)從最初的數(shù)據(jù)文件的簡(jiǎn)單集合發(fā)展到今天的大型數(shù)據(jù)庫(kù)管理系統(tǒng)已經(jīng)成為我們?nèi)粘I钪胁豢扇鄙俚慕M成部分。如果不借助數(shù)據(jù)庫(kù)的幫助,許多簡(jiǎn)單的工作將變得冗長(zhǎng)乏味,甚至難

65、以實(shí)現(xiàn)。尤其是象銀行、院校和圖書館這樣的大型組織更加依靠數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)其正常的運(yùn)作。再看互聯(lián)網(wǎng)上,從搜索引擎到在線商場(chǎng),從網(wǎng)上聊天到郵件列表,都離不開數(shù)據(jù)庫(kù)。 目前,市面上的數(shù)據(jù)庫(kù)產(chǎn)品多種多樣,從大型企業(yè)的解決方案到中小企業(yè)或個(gè)人用戶的小型應(yīng)用系統(tǒng),可以滿足用戶的多樣化需求。</p><p>  這里,本系統(tǒng)使用的MySQL數(shù)據(jù)庫(kù)是眾多的關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品中的一個(gè),相比較其它系統(tǒng)而言,MySQL數(shù)據(jù)庫(kù)可以稱得上是目

66、前運(yùn)行速度最快的SQL語(yǔ)言數(shù)據(jù)庫(kù)。除了具有許多其它數(shù)據(jù)庫(kù)所不具備的功能和選擇之外,MySQL數(shù)據(jù)庫(kù)是一種完全免費(fèi)的產(chǎn)品,用戶可以直接從網(wǎng)上下載數(shù)據(jù)庫(kù),用于個(gè)人或商業(yè)用途,而不必支付任何費(fèi)用。 </p><p>  MySQL是一種高性能的數(shù)據(jù)庫(kù),它可以和市場(chǎng)下任何同類的產(chǎn)品競(jìng)爭(zhēng)。為什么使用MySQL, 因?yàn)槿缦略?</p><p>  速度快。MySQL本身并不復(fù)雜,且本系統(tǒng)需要信息的

67、及時(shí)更新,數(shù)據(jù)庫(kù)本身并不龐大。</p><p>  可升級(jí)性。MySQL能夠同時(shí)處理無(wú)限數(shù)量的擁護(hù)和5億個(gè)紀(jì)錄</p><p>  簡(jiǎn)單性。MySQL的核心是一個(gè)小而快速的數(shù)據(jù)庫(kù),面向那些了解數(shù)據(jù)庫(kù)工作的人員,是他們能夠有效的工作和編寫高級(jí)功能。</p><p>  價(jià)值。MySQL是遵循GPL協(xié)議的自由軟件,可以免費(fèi)下載并且使用它。</p><

68、p>  可移植性。因?yàn)镸ySQL是開放源代碼的自由軟件,可以運(yùn)行于所有的平臺(tái)。</p><p>  如今,包括Siemens和Silicon Graphics這樣的國(guó)際知名公司也開始把MySQL作為其數(shù)據(jù)庫(kù)管理系統(tǒng),這就更加證明了MySQL數(shù)據(jù)庫(kù)的優(yōu)越性能和廣闊的市場(chǎng)發(fā)展前景。</p><p>  3.2 系統(tǒng)功能需求</p><p>  以往由于公交企業(yè)與市

69、民地理位置的分離,致使公交企業(yè)與市民之間的溝通產(chǎn)生空間上的阻隔,不能靈活、高效的進(jìn)行信息查詢工作。如何解決公交企業(yè)與市民的遠(yuǎn)程溝通問題,提高工作效率是設(shè)計(jì)這個(gè)系統(tǒng)的主要初衷。公交查詢的應(yīng)用很好的解決這個(gè)問題。能夠充分解決公交企業(yè)與市民之聞的地理問題。但是建立基于互聯(lián)網(wǎng)上的公交查詢系統(tǒng)還涉及到技術(shù)上、安全上、可靠性等問題,基于此提出課題的研究。為了方便市民查詢公交,了解更多公交方面的信息,本系統(tǒng)將會(huì)有以下功能:用戶登錄注冊(cè)模塊,公交查詢模

70、塊,公交新聞模塊,公交論壇模塊,公交線路圖瀏覽模塊,資源上傳下載模塊,用戶留言模塊,和公交車乘車指南模塊,為了方便管理員管理,對(duì)應(yīng)的模塊都設(shè)計(jì)了相應(yīng)的后臺(tái)管理。</p><p>  3.2.1 總體需求</p><p><b>  在系統(tǒng)功能方面</b></p><p>  公交信息管理系統(tǒng)要求具有良好的可維護(hù)性和擴(kuò)展性,即隨公交線路的增加與刪

71、除,系統(tǒng)能夠及時(shí)進(jìn)行數(shù)據(jù)庫(kù)的修改。</p><p>  公交信息管理系統(tǒng)在內(nèi)容方面能夠提供豐富的內(nèi)容顯示模塊。</p><p>  公交信息管理系統(tǒng)在與用戶交流方面能夠建立留言板或論壇模塊。</p><p>  公交信息管理系統(tǒng)在資源共享方面能夠提供供用戶下載使用的相關(guān)資源。</p><p><b>  在系統(tǒng)管理方面</b&

72、gt;</p><p>  提供角色管理功能,將系統(tǒng)權(quán)限與用戶權(quán)限分開,權(quán)限與角色對(duì)應(yīng),一個(gè)角色可以包含多個(gè)用戶,一個(gè)用戶可以有多個(gè)角色。</p><p>  提供多模塊管理功能,管理員可以實(shí)現(xiàn)對(duì)用戶,公交新聞,公交線路信息,公交線路圖,下載資源等信息的增刪改查操作。</p><p>  3.2.2 各模塊設(shè)計(jì)</p><p>  用戶登錄注

73、冊(cè)模塊,當(dāng)用戶是以游客身份登錄時(shí),只能進(jìn)行公交查詢,新聞瀏覽,和圖片瀏覽,系統(tǒng)介紹,和用戶注冊(cè)操作。只有當(dāng)注冊(cè)成為系統(tǒng)會(huì)員后,才能擁有該系統(tǒng)前臺(tái)所有功能的使用。對(duì)與后臺(tái)管理服務(wù),只有管理員登錄,才能使用其功能。</p><p>  公交查詢模塊,一般用戶對(duì)于查詢有3種需要,一種是直接輸入公交線路查詢,查詢?cè)摼€路經(jīng)過哪些站點(diǎn),一種是輸入站點(diǎn)名稱查詢,查詢哪些線路經(jīng)過該站點(diǎn),還有一種是輸入起點(diǎn)和終點(diǎn)站查詢,查詢換乘路

74、線。為了方便用戶查詢,本系統(tǒng)將會(huì)滿足用戶的3種查詢條件,一種是直接輸入公交線路查詢,一種是輸出站點(diǎn)名稱查詢,還有一種是輸入起點(diǎn)和終點(diǎn)站查詢,對(duì)于后面那一種查詢條件,本系統(tǒng)提供所有滿足該條件的一次換乘方案供用戶選擇。對(duì)于該公交查詢的換乘算法方面,目前查詢效率的瓶頸就是在與數(shù)據(jù)庫(kù)進(jìn)行交互的時(shí)候。為了解決這種問題,該系統(tǒng)對(duì)于數(shù)據(jù)庫(kù)查詢只做簡(jiǎn)單查詢,將更復(fù)雜的算法邏輯放到業(yè)務(wù)邏輯層里面去實(shí)現(xiàn)。比如一次換乘查詢,對(duì)于數(shù)據(jù)庫(kù)操作只查出滿足該起點(diǎn)和終

75、點(diǎn)的相關(guān)線路,然后再業(yè)務(wù)邏輯層去篩選其中符號(hào)條件的結(jié)果。這樣做會(huì)在SQL語(yǔ)句上有大量簡(jiǎn)化,使系統(tǒng)對(duì)數(shù)據(jù)庫(kù)查詢性能提交很多。同時(shí),為了方便管理員管理,后臺(tái)有專門的公交站點(diǎn)管理,可以進(jìn)對(duì)線路進(jìn)行增,刪,改,查的操作。</p><p>  公交新聞模塊,主要是發(fā)布一些最新的公交方面的新聞給用戶瀏覽,以便用戶知道有關(guān)公交信息方面的一些重大新聞,或線路變更的一些通知,同時(shí)提供后臺(tái)對(duì)新聞的管理。</p><

76、;p>  公交論壇模塊,用于會(huì)員使用,登錄的會(huì)員可以在論壇里面發(fā)帖,回帖,討論或者發(fā)表一些關(guān)于公交方面的信息。發(fā)帖主要是指發(fā)表一個(gè)標(biāo)題,然后登錄用戶就可以看到,并進(jìn)行發(fā)言。同時(shí)為了方便對(duì)一些用戶不良發(fā)言的管理,在后臺(tái)設(shè)計(jì)了該功能的管理模塊,該模塊可以刪帖,也可以單獨(dú)刪除其中一用戶的發(fā)言。</p><p>  公交線路圖模塊,主要是為了方便用戶在使用本系統(tǒng)時(shí),能夠更直觀的看到相應(yīng)線路的地圖信息,同時(shí)為了方便管

77、理,也設(shè)計(jì)了一個(gè)管理模塊,對(duì)圖片進(jìn)行管理。</p><p>  資源上傳下載模塊,這里會(huì)提供一些有關(guān)資源列表供感興趣的會(huì)員下載,同時(shí)也允許會(huì)員上傳資源,但是為了防止會(huì)員上傳不良信息,在后臺(tái)開發(fā)一個(gè)資源管理模塊,方便管理員管理資源。</p><p>  用戶留言模塊,如果會(huì)員對(duì)該系統(tǒng)有什么意見或者建議,可以通過該模塊發(fā)留言給管理員,用戶只需要輸入標(biāo)題,和發(fā)言內(nèi)容就行。同時(shí)為了方便管理員查詢留

78、言,在后臺(tái)有個(gè)留言管理模塊,該模塊使管理員可以查看不同用戶的留言,同時(shí)也可以給該用戶回復(fù),然后該留言的用戶可以在前臺(tái)改模塊里面查詢管理員的回復(fù)。</p><p>  乘車指南模塊,主要介紹了城市各學(xué)校、醫(yī)院、商場(chǎng)等主要客流流動(dòng)站點(diǎn)的相關(guān)公交車乘坐方式,更方便用戶在使用本系統(tǒng)時(shí)找到符合查詢的信息。</p><p>  3.2.3 數(shù)據(jù)流圖</p><p>  圖3-2

79、 系統(tǒng)后臺(tái)數(shù)據(jù)流圖</p><p>  圖3-3 系統(tǒng)前臺(tái)數(shù)據(jù)流圖</p><p>  3.3 系統(tǒng)非功能需求</p><p>  為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,公交信息管理系統(tǒng)還應(yīng)該滿足以下的性能需求:</p><p>  3.3.1技術(shù)可行性</p><p>  技術(shù)可行性是指為實(shí)現(xiàn)系統(tǒng)目標(biāo),

80、所需要的技術(shù)保證。系統(tǒng)開發(fā)所需要的技術(shù)主要有計(jì)算機(jī)軟硬件技術(shù)、系統(tǒng)開發(fā)人員的水平、用戶管理與使用的能力等。</p><p>  Java的相關(guān)技術(shù)已經(jīng)相當(dāng)成熟,并且基于MVC模式能夠很好的簡(jiǎn)化項(xiàng)目,使得項(xiàng)目的開發(fā)和維護(hù)都有很好的前提。技術(shù)可行性分析要考慮如下幾個(gè)方面:</p><p> ?。?)軟硬件需要的可滿足性:硬件環(huán)境:2.10GHz/500G/2048MB/160G/,軟件環(huán)境:W

81、indows JDK1.6/Tomcat 6.0/mysql 5.1。</p><p> ?。?)系統(tǒng)開發(fā)人員水平:本系統(tǒng)開發(fā)者已能熟練操作Java、s2sh并且有一定的美術(shù)功底;掌握網(wǎng)絡(luò)互聯(lián)技術(shù)、網(wǎng)絡(luò)安全技術(shù)、網(wǎng)絡(luò)數(shù)據(jù)庫(kù)技術(shù)等;對(duì)網(wǎng)絡(luò)組建和系統(tǒng)開發(fā)理論有較好的掌握,故有能力開發(fā)實(shí)現(xiàn)該業(yè)務(wù)系統(tǒng)。</p><p> ?。?)開發(fā)環(huán)境: JAVA語(yǔ)言的所有特點(diǎn):跨平臺(tái)性、安全性高、可移植性好、

82、可擴(kuò)展性高并且是編譯性語(yǔ)言,使程序設(shè)計(jì)者可以很方便地建立自己的系統(tǒng)。在JSP頁(yè)面的對(duì)提交信息的校驗(yàn)利用了strut2。操作平臺(tái):Windows Vista HomeBasic;開發(fā)環(huán)境:myclipse6.0;開發(fā)語(yǔ)言:Jsp、JAVA、Java Bean??蚣埽篠2SH;調(diào)試環(huán)境:IE8.0、Tomcat6、myclipse6.0。數(shù)據(jù)庫(kù)運(yùn)行環(huán)境:mysql5.1。</p><p>  鑒于以上的分析,系統(tǒng)的建

83、設(shè)在技術(shù)上完全可行。</p><p>  3.3.2管理可行性</p><p>  MVC模式使得任務(wù)管理系統(tǒng)有了很好的松耦合性,這樣使得各個(gè)模塊之間能夠更好的獨(dú)立完成,更加便于管理。所以在管理上考慮本系統(tǒng)的建設(shè)是完全可行的。</p><p>  3.3.3系統(tǒng)準(zhǔn)確性和及時(shí)性</p><p>  系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系

84、統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足企業(yè)對(duì)信息處理的需求。</p><p>  由于公交信息管理系統(tǒng)的公交查詢功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來源,其準(zhǔn)確性很大程度上決定了公交信息管理系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性。</p><p>  3.3.4系統(tǒng)開放性和可擴(kuò)充性&

85、lt;/p><p>  公交信息管理系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如網(wǎng)上查詢的用戶查詢的需求也會(huì)不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī)范,可以簡(jiǎn)單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補(bǔ)、替換完成系統(tǒng)的升級(jí)和更新?lián)Q代。</p><p>  3.3

86、.5系統(tǒng)易用性和易維護(hù)性</p><p>  公交信息管理系統(tǒng)是直接面對(duì)使用人員的,而使用人員往往對(duì)計(jì)算機(jī)并不時(shí)非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語(yǔ)和中文信息的界面;針對(duì)用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對(duì)系統(tǒng)熟悉的過程。</p><p>  公交信息管理系統(tǒng)中涉及到的數(shù)據(jù)是公交公司的相當(dāng)重

87、要的信息,系統(tǒng)要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)的備份,日常的安全管理,系統(tǒng)意外崩潰時(shí)數(shù)據(jù)的恢復(fù)等工作。</p><p>  3.3.6系統(tǒng)的響應(yīng)速度</p><p>  公交信息管理系統(tǒng)在日常處理中的響應(yīng)速度為秒級(jí),達(dá)到實(shí)時(shí)要求,以及時(shí)反饋信息。在進(jìn)行統(tǒng)計(jì)分析時(shí),根據(jù)所需數(shù)據(jù)量的不同而從秒級(jí)到分鐘級(jí),原則是保證操作人員不會(huì)因?yàn)樗俣葐栴}而影響工作效率。</p><p

88、><b>  第四章 總體設(shè)計(jì)</b></p><p>  4.1系統(tǒng)用例圖設(shè)計(jì)</p><p>  用例圖(Use Case Diagram)是由軟件需求分析到最終實(shí)現(xiàn)的第一步,它描述人們?nèi)绾问褂靡粋€(gè)系統(tǒng)。用例視圖顯示誰(shuí)是相關(guān)的用戶、用戶希望系統(tǒng)提供什么樣的服務(wù),以及用戶需要為系統(tǒng)提供的服務(wù),以便使系統(tǒng)的用戶更容易理解這些元素的用途,也便于軟件開發(fā)人員最終實(shí)

89、現(xiàn)這些元素。用例圖在各種開發(fā)活動(dòng)中被廣泛的應(yīng)用,但是它最常用來描述系統(tǒng)及子系統(tǒng)。</p><p>  當(dāng)用例視圖在外部用戶出現(xiàn)以前出現(xiàn)時(shí),它捕獲到系統(tǒng)、子系統(tǒng)或類的行為。它將系統(tǒng)功能劃分成對(duì)參與者(即系統(tǒng)的理想用戶)有用的需求。而交互部分被稱作用例。用例使用系統(tǒng)與一個(gè)或者多個(gè)參與者之間的一系列消息來描述系統(tǒng)中的交互。</p><p>  4.1.1系統(tǒng)前臺(tái)用例圖</p>&l

90、t;p>  系統(tǒng)前臺(tái)主用戶主要分兩種角色,一種是游客,一種是會(huì)員,游客和會(huì)員分別有不同的權(quán)限。</p><p>  圖4-1 系統(tǒng)前臺(tái)用例圖</p><p>  4.1.2系統(tǒng)后臺(tái)用例圖</p><p>  后臺(tái)用戶為管理員,只有以管理員身份登錄,才能對(duì)后臺(tái)功能進(jìn)行操作。</p><p>  圖4-2 系統(tǒng)后臺(tái)用例圖</p&g

91、t;<p>  4.2系統(tǒng)模塊劃分圖</p><p>  根據(jù)需求調(diào)研結(jié)果確定本系統(tǒng)主要包括以下功能模塊,如圖所示:</p><p>  圖4-3 系統(tǒng)功能模塊劃分圖</p><p><b>  4.3系統(tǒng)E-R圖</b></p><p>  1.留言板模塊局部E-R圖,該圖的實(shí)體為管理員、用戶和留言板。

92、留言板里記錄的每條信息是用戶進(jìn)行的留言信息,管理員在后臺(tái)可以查看、回復(fù)或者刪除,用戶實(shí)體與留言板實(shí)體的關(guān)系是一對(duì)多關(guān)系,一個(gè)用戶可以多次留言,每條留言只屬于一個(gè)用戶。</p><p>  圖4-4 留言模塊局部E-R圖</p><p>  2.論壇模塊局部E-R圖,該圖所包括的實(shí)體主要有:論壇主頁(yè)、論壇子頁(yè)、管理員和用戶。管理員和用戶都可以在論壇模塊中創(chuàng)建論壇或參與其他主題的論壇并發(fā)帖,

93、每一次發(fā)帖信息都記錄在論壇子頁(yè)表中。</p><p>  圖4-5 論壇模塊局部E-R圖</p><p><b>  4.4系統(tǒng)流程圖</b></p><p>  該圖介紹了兩種不同的用戶在使用本系統(tǒng)時(shí)的活動(dòng)事務(wù),用戶在訪問本系統(tǒng)首頁(yè)后可以選擇是否登陸,未進(jìn)行注冊(cè)的用戶可以選擇是否注冊(cè),若未登陸且不注冊(cè)則只能使用本系統(tǒng)前臺(tái)的一部分功能。當(dāng)用戶

94、選擇注冊(cè)時(shí)需要填寫必要的個(gè)人信息,注冊(cè)成后跳轉(zhuǎn)回登陸頁(yè)面進(jìn)行登陸,登陸成功后則能使用系統(tǒng)前臺(tái)的全部功能。</p><p>  圖4-6 用戶登錄流程圖</p><p><b>  4.5數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  4.5.1數(shù)據(jù)庫(kù)設(shè)計(jì)原則</p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是管理信息系統(tǒng)中的重要部分,設(shè)計(jì)質(zhì)量的

95、好壞、數(shù)據(jù)結(jié)構(gòu)的優(yōu)劣將直接影響到管理系統(tǒng)的性能。在設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí),應(yīng)遵循以下原則:</p><p><b>  一、數(shù)據(jù)共享性</b></p><p>  數(shù)據(jù)庫(kù)是為多個(gè)用戶群、多種應(yīng)用目的而建立的,需要同時(shí)為不同部門、不同專業(yè)的多用戶服務(wù),要求數(shù)據(jù)有共享性。</p><p><b>  二、數(shù)據(jù)獨(dú)立性</b></

96、p><p>  數(shù)據(jù)庫(kù)的數(shù)據(jù)與應(yīng)用要互相獨(dú)立,不僅要求物理數(shù)據(jù)有獨(dú)立性,而且還要求邏輯數(shù)據(jù)有獨(dú)立性。當(dāng)存儲(chǔ)結(jié)構(gòu)和存儲(chǔ)方法有改變時(shí),不會(huì)引起邏輯數(shù)據(jù)結(jié)構(gòu)的變化,應(yīng)用程序也不必重寫;總體邏輯數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時(shí),其局部邏輯數(shù)據(jù)結(jié)構(gòu)可以不變[5]。</p><p><b>  三、最小冗余性</b></p><p>  數(shù)據(jù)庫(kù)是多種性質(zhì)不同數(shù)據(jù)文件的統(tǒng)一體

97、,為使多用戶充分共享,要求響應(yīng)速度快,數(shù)據(jù)冗余盡可能限制在小范圍內(nèi)。</p><p><b>  四、安全性</b></p><p>  考慮數(shù)據(jù)庫(kù)為多用戶、多目的服務(wù)和充分共享,必須嚴(yán)格控制數(shù)據(jù)共享范圍和數(shù)據(jù)使用的合法權(quán)限,確保數(shù)據(jù)的安全,并要防止泄密。</p><p><b>  五、完整性</b></p>

98、<p>  數(shù)據(jù)庫(kù)的完整性指數(shù)據(jù)的正確性、有效性、一致性和時(shí)間性。</p><p>  六、靈活性和可恢復(fù)性</p><p>  對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)可按不同的途徑和方法靈活地進(jìn)行檢索和存??;并便于修改和擴(kuò)充,當(dāng)數(shù)據(jù)受到意外破壞時(shí)能很快地得到恢復(fù)。</p><p>  4.5.2數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)</p><p><b>  1

99、.公交新聞信息表</b></p><p>  表4-1 公交新聞信息表</p><p><b>  2.管理員信息表</b></p><p>  表4-2 管理員信息表</p><p><b>  3.會(huì)員信息表</b></p><p>  表4-3 會(huì)員信

100、息表</p><p><b>  4.用戶留言信息表</b></p><p>  表4-4 用戶留言信息表</p><p><b>  5.圖片信息表</b></p><p>  表4-5 圖片信息表</p><p><b>  6.公交線路信息表</b&

101、gt;</p><p>  表4-6 公交線路信息表</p><p><b>  7.論壇主表</b></p><p>  表4-7 論壇主表</p><p><b>  8.論壇子表</b></p><p>  表4-8 論壇子表</p><p&g

102、t;<b>  9.資源表</b></p><p><b>  表4-9 資源表</b></p><p>  第五章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p>  在系統(tǒng)的生命周期中,經(jīng)過系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)等階段以后,便開始系統(tǒng)實(shí)現(xiàn)階段。系統(tǒng)實(shí)現(xiàn)是以系統(tǒng)分析和系統(tǒng)設(shè)計(jì)文檔資料為依據(jù)的。系統(tǒng)開發(fā)者只有通過系統(tǒng)開發(fā)文檔,對(duì)

103、系統(tǒng)的目標(biāo)、系統(tǒng)的總體結(jié)構(gòu)、數(shù)據(jù)庫(kù)的設(shè)計(jì)等有明確理解和認(rèn)識(shí)以后,才能開始系統(tǒng)的實(shí)現(xiàn)活動(dòng)。系統(tǒng)實(shí)現(xiàn)階段要繼承此前各階段的工作成果,將技術(shù)設(shè)計(jì)轉(zhuǎn)化為物理實(shí)現(xiàn),因此系統(tǒng)實(shí)現(xiàn)的成果是系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的結(jié)晶。系統(tǒng)實(shí)現(xiàn)作為最后的物理實(shí)現(xiàn)階段,對(duì)于系統(tǒng)的質(zhì)量、可靠性以及可維護(hù)性有著十分重要的影響。</p><p><b>  5.1系統(tǒng)的活動(dòng)圖</b></p><p>  活動(dòng)圖

104、是UML中描述系統(tǒng)動(dòng)態(tài)行為的圖之一,用于展現(xiàn)參與行為的類的活動(dòng)或動(dòng)作。在UML里,活動(dòng)圖本質(zhì)上就是流程圖,它描述系統(tǒng)的活動(dòng)、判斷點(diǎn)和分支等?;顒?dòng)是在狀態(tài)機(jī)中一個(gè)非原子的執(zhí)行,它由一系列的動(dòng)作組成,動(dòng)作由可執(zhí)行的原子計(jì)算組成,這些計(jì)算能夠使系統(tǒng)的狀態(tài)發(fā)生變化或返回一個(gè)值。</p><p>  5.1.1會(huì)員注冊(cè)模塊</p><p>  會(huì)員注冊(cè)活動(dòng)圖如圖5-1所示。</p>&

105、lt;p>  圖5-1 會(huì)員注冊(cè)活動(dòng)圖</p><p><b>  5.1.2登陸模塊</b></p><p>  登陸活動(dòng)圖如圖5-2所示。</p><p>  圖5-2 登陸活動(dòng)圖</p><p>  5.2系統(tǒng)框架關(guān)鍵配置</p><p>  本系統(tǒng)是由Spring2.5,Hibe

106、rnate3.2,Struts2.1三個(gè)開源框架集成搭建而成,里面,使用該集成框架最核心的東西就是配置文件,無(wú)論是數(shù)據(jù)庫(kù)持久化連接,還是事務(wù)管理機(jī)制,或者對(duì)象工廠創(chuàng)建對(duì)象,都是通過配置文件來管理或者實(shí)現(xiàn)的。這里列舉了3個(gè)比較重要的配置文件。</p><p>  5.2.1 Struts2關(guān)鍵配置</p><p>  Struts2 里面最關(guān)鍵的配置就是通過spring管理action,和與

107、aciton控制轉(zhuǎn)向的配置,為了更好實(shí)現(xiàn)模塊化開發(fā),struts2 默認(rèn)文件配置里面還可以引用其他struts配置文件,從而使struts配置文件里面的結(jié)構(gòu)不會(huì)顯得過于復(fù)雜,這樣的好處是便于維護(hù)配置文件,同時(shí)能更好的實(shí)現(xiàn)模塊化開發(fā)</p><p>  Struts2關(guān)鍵配置</p><p><b>  <struts></b></p><

108、;p>  <!-- UTF-8編碼 --></p><p>  <constant name="struts.i18n.encoding" value="UTF-8"/></p><p>  <!-- 通過Spring管理Struts --></p><p>  <constan

109、t name="struts.objectFactory" value="spring"/></p><p>  <!-- struts2的UI標(biāo)簽顯示模式常量,這里選定為簡(jiǎn)單 --></p><p>  <constant name="struts.ui.theme" value="simple

110、"></constant></p><p>  <package name="default" extends="struts-default"> </p><p>  <action name="login" class="com.action.UserAction&quo

111、t; method="login"></p><p>  <result name="input">/index.jsp</result></p><p>  <resultname="failure">/WEB-INF/jsp/manage/Login_M.jsp</result&

112、gt;</p><p>  <resultname="success">/WEB-INF/jsp/manage/index.jsp</result></p><p><b>  </action></b></p><p>  <actionname="enterAgain&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論