版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 由于社會在不斷發(fā)展,互聯(lián)網(wǎng)已經(jīng)被千千萬萬的家庭所接收,公交查詢在日常生活中占有很重要的位置。通過對公交信息管理系統(tǒng)的現(xiàn)狀分析,考慮如何在日常生活中充分利用網(wǎng)絡(luò)和計算機(jī)的優(yōu)勢, 使公交信息既能夠得到及時有效的查詢,又能得到高效的管理,并節(jié)省日常生活中的時間、提高效率。
2、 </p><p> 本系統(tǒng)應(yīng)用B/S結(jié)構(gòu),MVC模式采用S2SH框架技術(shù)編寫,采用MySQL作為后臺數(shù)據(jù)庫。本系統(tǒng)論文的前言部分主要介紹了與該系統(tǒng)相關(guān)的國內(nèi)外現(xiàn)狀以及開發(fā)該系統(tǒng)在需求上,技術(shù)上的可行性,并介紹該系統(tǒng)開發(fā)用到的一些關(guān)鍵性的技術(shù);當(dāng)確定需求后,該論文的系統(tǒng)設(shè)計部分就介紹了具體該怎么去設(shè)計并實(shí)現(xiàn)該系統(tǒng)。然后該系統(tǒng)論文的系統(tǒng)實(shí)現(xiàn)部分再介紹具體實(shí)現(xiàn)的細(xì)節(jié)了。</p><p&
3、gt; 該系統(tǒng)主要功能包括公交車線路信息查詢,公交車論壇,公交新聞,公交車線路圖,資源上傳下載,用戶留言,乘車指南,論壇管理,新聞管理,圖片管理,資源管理,留言管理,維護(hù)個人信息等功能。</p><p> 關(guān)鍵詞:公交信息管理,B/S結(jié)構(gòu) ,S2SH框架 ,MySQL數(shù)據(jù)庫 </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頁面和表示組件4</p><p> 2.2.3 Controller: ActionServlet和ActionMapping5</p><p> 2.3 Struts2簡介5</p><p> 2.4 MySQL數(shù)據(jù)庫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ù)庫的選擇9</p><p> 3.2 系統(tǒng)功能需求9</p><p> 3.2.1 總體需求10</p><p> 3.2.2
14、 各模塊設(shè)計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)確性和及時性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è)計14</p><p> 4.1系統(tǒng)用例圖設(shè)計14</p><p> 4.1.1系統(tǒng)前臺用例圖14</p><p
16、> 4.1.2系統(tǒng)后臺用例圖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ù)庫設(shè)計18</p><p> 4.5.1數(shù)據(jù)庫設(shè)計原則18</p><p>
17、 4.5.2數(shù)據(jù)表結(jié)構(gòu)設(shè)計19</p><p> 第五章 詳細(xì)設(shè)計與實(shí)現(xiàn)22</p><p> 5.1系統(tǒng)的活動圖22</p><p> 5.1.1會員注冊模塊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用戶登錄注冊模塊的實(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> 第六章 軟件測試50</p><p> 6.1軟件測試的目的及意義50</p><p> 6.2測試的方法50</p>&l
22、t;p> 6.3測試用例51</p><p> 6.3.1 注冊測試用例51</p><p> 6.3.2 登陸測試用例51</p><p> 6.3.3 公交查詢功能測試用例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è)。它是城市社會和經(jīng)濟(jì)活動的重要組成部分。伴隨著國民經(jīng)濟(jì)和城市建設(shè)的快速發(fā)展,城市經(jīng)濟(jì)的繁榮,人口的增加,城市必須解決好人們出行的需求
24、。城市公交直接關(guān)系著城市的經(jīng)濟(jì)發(fā)展和居民生活,對城市經(jīng)濟(jì)具有全局性、先導(dǎo)性的影響,城市公交以其方便、快捷、容量大而成為城市交通的主體。但是隨著公交系統(tǒng)的龐大,人們很難得到準(zhǔn)確的公交信息,這樣給一些人的出行就帶來了不便。</p><p> 現(xiàn)階段,人們的出入方式主要還是來源于城市公交,特別是對于那些到外地出差、打工,進(jìn)行商業(yè)有關(guān)或其他事情需要在外地進(jìn)行短暫停留的人而言,公交對他們是必不可少的,但是對于那個不屬于自
25、己所熟悉的城市,坐公交也是一個很大的難題,因此,開發(fā)一個公交查詢系統(tǒng)就顯得非常的重要。</p><p> 隨著城市經(jīng)濟(jì)的發(fā)展、規(guī)模的擴(kuò)大以及人口的增長,城市交通問題日益突出。降低出行時間將使所有的公交利用者產(chǎn)生效益,快速的交通、更好的信息及更好的市場可以提高公交的形象,能夠增加公交乘坐者。城市公共交通運(yùn)輸以其覆蓋面廣、經(jīng)濟(jì)、快捷的特點(diǎn),成為絕大多數(shù)出行者的首選方式,也是各地城市政府大力發(fā)展的一種交通方式。本地市
26、民特別是外來旅游、出差、就醫(yī)等急需了解本地道路情況的人可以利用本系統(tǒng)方便快捷的查詢出所有符合他們要求的公交路線,對他們的出行和生活提供幫助。 設(shè)計公交信息管理系統(tǒng)能夠方便城市公交管理者對公交線路進(jìn)行管理,及時更新最新的線路信息,市民在使用時能夠掌握實(shí)時的公交線路狀況,也方便了使用者直接的信息交流,對于城市公共交通的發(fā)展是有利的。</p><p><b> 1.2目的及意義</b></
27、p><p> 應(yīng)廣大城市市民查詢公交信息的需求,公交公司對城市公交線路等信息的管理需求,開發(fā)一套公交信息管理系統(tǒng)。主要針對用戶和管理員,用戶在此系統(tǒng)可以對所要了解的公交線路進(jìn)行查詢,對公交服務(wù)中存在的問題提出建議,對服務(wù)中的不合理行為進(jìn)行投訴,參與用戶之間的討論等;而管理員主要負(fù)責(zé)后臺的管理,管理員不需要運(yùn)用傳統(tǒng)的方式進(jìn)行紛繁復(fù)雜的操作,使用本系統(tǒng),管理員登錄后可以對線路信息、用戶信息、留言信息等進(jìn)行添加、刪除、查
28、詢和修改功能。此系統(tǒng)將以簡潔、易懂的界面呈現(xiàn)給用戶,目標(biāo)能夠使每一個用戶易于操作,減少不必要的業(yè)務(wù)邏輯,提高該系統(tǒng)的利用率和運(yùn)行、維護(hù)效率。</p><p> 設(shè)計本系統(tǒng)的目的在于掌握MVC設(shè)計模式及該模式下三種對象的設(shè)計方法,掌握面向?qū)ο笤O(shè)計(Object-Oriented Design,OOD)方法的步驟。系統(tǒng)的首要目標(biāo)是能夠滿足目前的業(yè)務(wù)功能需要,并確保系統(tǒng)切換平滑、運(yùn)行穩(wěn)定;對于service的編寫,通
29、過參數(shù)配置等形式,實(shí)現(xiàn)其應(yīng)具備的控制功能,并具有良好的可擴(kuò)展性,提高service的復(fù)用性;對于HTML界面的編寫,以簡潔、輕快明了、規(guī)范性為目標(biāo),使其呈現(xiàn)的效果多、豐富;對于JavaBean的編寫使其具有對數(shù)據(jù)進(jìn)行增、刪、改、查、參數(shù)初始化的業(yè)務(wù)邏輯。</p><p> 1.3課題研究的內(nèi)容</p><p> 本文共分為六大章,其中分為課題來源到系統(tǒng)開發(fā)的相關(guān)技術(shù)、系統(tǒng)分析、總體設(shè)計
30、等等。通過每一章的闡述對公交信息管理系統(tǒng)做出了詳細(xì)的講解和分析。</p><p> 前言 本章主要闡述了公交信息管理系統(tǒng)的課題來源背景及課題研究的目的 與意義。</p><p> 開發(fā)相關(guān)技術(shù) 本章主要介紹了該系統(tǒng)在什么環(huán)境中運(yùn)行,運(yùn)用的開發(fā)語言以及相關(guān)的技術(shù)簡介等。</p><p> 需求分析 本章主要根據(jù)公交企業(yè)管理信息的過程和特點(diǎn),以
31、及客戶的需求,對系統(tǒng)的功能進(jìn)行設(shè)計,并對系統(tǒng)的可行性作了分析。</p><p> 總體設(shè)計 本章主要闡述了公交信息管理系統(tǒng)的系統(tǒng)結(jié)構(gòu)設(shè)計、功能模塊圖、數(shù)據(jù)庫設(shè)計、邏輯設(shè)計及物理設(shè)計等。</p><p> 詳細(xì)設(shè)計與實(shí)現(xiàn) 本章主要闡述了前臺界面和后臺管理模塊的設(shè)計與代碼編寫。</p><p> 系統(tǒng)測試 本章主要是對系統(tǒng)進(jìn)行測試,對本系統(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ù)可以以一種簡捷而快速的方法生成Web頁面。使用JSP技術(shù)的Web頁面可以很容易地顯示動態(tài)內(nèi)容。JSP技術(shù)的設(shè)計目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷
33、,而這些應(yīng)用程序能夠與各種Web服務(wù)器、應(yīng)用服務(wù)器、瀏覽器和開發(fā)工具共同工作。 </p><p> JSP技術(shù)不是惟一的動態(tài)網(wǎng)頁技術(shù),也不是第一個,在JSP技術(shù)出現(xiàn)之前就已經(jīng)存在幾種優(yōu)秀的動態(tài)網(wǎng)頁技術(shù),如CGI、ASP等。下面結(jié)合這些技術(shù)的介紹,講述動態(tài)網(wǎng)頁技術(shù)的發(fā)展和JSP技術(shù)的誕生。JSP具有以下優(yōu)點(diǎn):</p><p> 1.簡便性和有效性 JSP動態(tài)網(wǎng)頁的編寫與一般的靜態(tài)H
34、TML的網(wǎng)頁編寫是十分相似的。只是在原來的HTML網(wǎng)頁中加入一些JSP專有的標(biāo)簽,或是一些腳本程序(此項(xiàng)不是必需的)。這樣,一個熟悉HTML網(wǎng)頁編寫的設(shè)計人員可以很容易進(jìn)行JSP網(wǎng)頁的開發(fā)。而且開發(fā)人員完全可以不自己編寫腳本程序,而只是通過JSP獨(dú)有的標(biāo)簽使用別人已寫好的部件來實(shí)現(xiàn)動態(tài)網(wǎng)頁的編寫。這樣,一個不熟悉腳本語言的網(wǎng)頁開發(fā)者,完全可以利用JSP做出漂亮的動態(tài)網(wǎng)頁。而這在其他的動態(tài)網(wǎng)頁開發(fā)中是不可實(shí)現(xiàn)的。 </p>
35、<p> 2.程序的獨(dú)立性 JSP是Java API家族的一部分,它擁有一般的Java程序的跨平臺的特性。換句話說,就是擁有程序的對平臺的獨(dú)立性,即Write once,Run anywhere!。 </p><p> 3.程序的兼容性 JSP中的動態(tài)內(nèi)容可以各種形式進(jìn)行顯示,所以它可以為各種客戶提供服務(wù),即從使用HTML/DHTML的瀏覽器,到使用WML的各種手提無線設(shè)備(例如,移動電話
36、和個人數(shù)字設(shè)備PDA),再到使用XML的B2B應(yīng)用,都可以使用JSP的動態(tài)頁面。 </p><p> 4.程序的可重用性 在JSP頁面中可以不直接將腳本程序嵌入,而只是將動態(tài)的交互部分作為一個部件加以引用。這樣,一旦這樣的一個部件寫好,它可以為多個程序重復(fù)引用,實(shí)現(xiàn)了程序的可重用性。現(xiàn)在,大量的標(biāo)準(zhǔn)JavaBeans程序庫就是一個很好的例證。</p><p> 2.2 MVC模式
37、</p><p> MVC(Model/View/Controller)模式是國外用的比較多的一種設(shè)計模式,最早是在Smaltalk中出現(xiàn)的。MVC包括三類對象,簡單地說,Model是應(yīng)用對象,View是它在屏幕上的表示,Controller定義用戶界面對用戶輸入的響應(yīng)方式[6]。 </p><p> MVC設(shè)計模式中“模型“指的是真正完成任務(wù)的代碼。對大多數(shù)Web應(yīng)用程序來說,功能比
38、界面感覺更重要。在模型同界面相分離的情況下,代碼即可實(shí)現(xiàn)可管理性和可重用性。模型通常也被稱作”業(yè)務(wù)邏輯“。 </p><p> 所謂“視圖“其實(shí)就是使用界面。在MVC模式下,在通常的設(shè)計前提下界面任務(wù)并不大。當(dāng)然,視圖應(yīng)該具有一定功能性并遵守可用性的約束,但視圖不應(yīng)當(dāng)處理數(shù)據(jù)。事實(shí)上,界面的每一部分都只能包含采集數(shù)據(jù)的足夠邏輯,并把它傳遞給設(shè)計模式中的其他組成部分以進(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ì)分為兩個概念 -- 系統(tǒng)的內(nèi)部狀態(tài), 能夠改變狀態(tài)的行為。用語法術(shù)語來說,我們可以把狀態(tài)信息當(dāng)作名詞(事物),把行為當(dāng)作動詞(事物狀態(tài)的改變)。 通常說來,你的應(yīng)用程序?qū)⑾到y(tǒng)內(nèi)部的狀態(tài)表示為一組一個或多個的JavaBeans,使用屬性(properties)來表示狀態(tài)的細(xì)節(jié)。依賴于你的應(yīng)用程序的復(fù)雜度,這些beans可以是自包含的(以某種方式知道怎樣永久地保存它們的狀態(tài)信息),或者可以是正面的(facades),知道當(dāng)被
41、請求時怎樣從外部數(shù)據(jù)源(例如數(shù)據(jù)庫)中取得信息。Entity EJB通常也用來表示內(nèi)部狀態(tài)。 </p><p> 大型應(yīng)用程序經(jīng)常將系統(tǒng)可能的商業(yè)邏輯行為表示為可以被維護(hù)狀態(tài)信息的beans調(diào)用的方法。舉個例子,你有一個為每個當(dāng)前用戶保存在session中的購物車bean,里面是表示當(dāng)前用戶決定購買物品的屬性。這個bean有一個checkOut()方法用來驗(yàn)證用戶的信用卡,將定單發(fā)給庫房以選擇貨品和出貨。別的系
42、統(tǒng)分別地表示同樣的行為,或許使用Session EJB。 在一些小型應(yīng)用程序中,同樣的行為又可能嵌入到作為Controller一部分的 Action 類中。這在邏輯非常簡單或者并不想要在其它環(huán)境中重用這些商業(yè)邏輯時是恰當(dāng)?shù)?。Struts框架支持所有這些方法,但建議將商業(yè)邏輯(“做什么“)和 Action 類(“決定做什么”)分離開。</p><p> 2.2.2 View: JSP頁面和表示組件 </p&
43、gt;<p> 基于Struts的應(yīng)用程序中的 View 部分通常使用JSP技術(shù)來構(gòu)建。JSP頁面包含通常稱為“模版文本”的靜態(tài)HTML(或XML)文本,加上插入的基于對特殊行為標(biāo)記解釋的動態(tài)內(nèi)容。JSP環(huán)境包括了其用途由JSP規(guī)范來描述的一套標(biāo)準(zhǔn)的行為標(biāo)記,例如 <jsp:useBean> 。另外,還有一個用來定義你自己標(biāo)記的標(biāo)準(zhǔn)機(jī)制,這些自定義的標(biāo)記組織在“定制標(biāo)記庫”中。 Struts包括了一個廣闊的便
44、于創(chuàng)建用戶界面,并且充分國際化的定制標(biāo)記庫,與作為系統(tǒng) Model 部分一部分的ActionForm beans美妙地相互配合。這些標(biāo)記的使用將在后面做詳細(xì)討論。 除了JSP頁面和其包含的行為及定制標(biāo)記,商業(yè)對象經(jīng)常需要能夠基于它們在被請求時的當(dāng)前狀態(tài)將自己處理成HTML(或XML)。從這些對象處理過的輸出可以很容易地使用 <jsp:include> 標(biāo)準(zhǔn)行為標(biāo)記包括在結(jié)果的JSP頁面中。 </p><p
45、> 2.2.3 Controller: ActionServlet和ActionMapping </p><p> 應(yīng)用程序的 Controller 部分集中于從客戶端接收請求(典型情況下是一個運(yùn)行瀏覽器的用戶),決定執(zhí)行什么商業(yè)邏輯功能,然后將產(chǎn)生下一步用戶界面的責(zé)任委派給一個適當(dāng)?shù)腣iew組件。在Struts中,controller的基本組件是一個 ActionServlet 類的servlet。這
46、個servlet通過定義一組映射(由Java接口 ActionMapping 描述)來配置。每個映射定義一個與所請求的URI相匹配的路徑和一個 Action 類(一個實(shí)現(xiàn) Action 接口的類)完整的類名,這個類負(fù)責(zé)執(zhí)行預(yù)期的商業(yè)邏輯,然后將控制分派給適當(dāng)?shù)腣iew組件來創(chuàng)建響應(yīng)。 Struts也支持使用包含有運(yùn)行框架所必需的標(biāo)準(zhǔn)屬性之外的附加屬性的 ActionMapping 類的能力。這允許你保存特定于你的應(yīng)用程序的附加信息,同時
47、仍可利用框架其余的特性。另外,Struts允許你定義控制將重定向到的邏輯名,這樣一個行為方法可以請求“主菜單”頁面(舉例),而不需要知道相應(yīng)的JSP頁面的實(shí)際名字是什么。這個功能極大地幫助你分離控制邏輯(下一步做什么)和顯示邏輯(相應(yīng)的頁面的名稱是什么)。</p><p> 2.3 Struts2簡介</p><p> Struts2是以Webwork的設(shè)計思想為核心,吸收了Strut
48、s1的優(yōu)點(diǎn),因此,可以認(rèn)為Struts2是Struts1和Webwork結(jié)合的產(chǎn)物。</p><p> Struts2既然是從Struts1發(fā)展而來,但實(shí)際上Struts2與Struts1在框架的設(shè)計思想上面還是有很大的區(qū)別,Struts2是以WebWork的設(shè)計思想為核心,為什么Struts2不沿用Struts1的設(shè)計思想,畢竟Struts1在目前的企業(yè)應(yī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的時候看的出來,Action必須實(shí)現(xiàn)Struts的Action類而Struts2之所以以WebWork的設(shè)計思想為其核心,一點(diǎn)就是最近WebWork的上升勢頭,再就是WebWork沒有Struts1
50、上面的那些缺點(diǎn),更符合MVC的設(shè)計思想,也更利于代碼的復(fù)用?;谝陨辖榻B可以看的出,Struts2體系結(jié)構(gòu)與Struts1的體系結(jié)構(gòu)有很大的差別,Struts1是使用ActionServlet做為其中心處理器,Struts2則使用一個攔截器(Filt</p><p> Struts2的簡單處理流程如下: 1)瀏覽器發(fā)送請求。 2)中心處理器根據(jù)struts.xml文件查找對應(yīng)的處理請求的Action類。 3)W
51、ebWork的攔截器鏈自動對請求應(yīng)用通用功能,例如:WorkFlow、Validation等功能。 4)如果Struts.xml文件中配置Method參數(shù),則調(diào)用Method參數(shù)對應(yīng)的Action類中的Method方法,否則調(diào)用通用的Execute方法來處理用戶請求。 5)將Action類中的對應(yīng)方法返回的結(jié)果響應(yīng)給瀏覽器。</p><p> Struts2與Struts1對比 :1)Action類的實(shí)現(xiàn)方式:
52、 Struts1的Action在實(shí)現(xiàn)的時候必須擴(kuò)展Action類或者Action的子類,Struts2的Action類實(shí)現(xiàn)的時候可以不用實(shí)現(xiàn)任何類和接口,雖然Struts2中提供一個ActionSupport類,但是,不是必須的。 2)Struts1的Action類是單例模式,必須設(shè)計成線程安全的,Struts2則為每一個請求產(chǎn)生一個實(shí)例。 3)Struts1的Action類依賴與Servlet API,從其execute的方法簽名可看
53、出,execute方法有兩個Servlet的參數(shù)HttpServletRequest和HttpServletResponse,Struts2則不依賴于Servlet API。 4)以為Struts1依賴于Servlet API這些Web元素,因此對Struts1的Action進(jìn)行測試的時候是很困難的,需要借助與其他的測試工具,Struts2的Action可以象測試其他的一些Model層的Service類一樣進(jìn)行測試。 5)Struts1
54、的Action與View通過ActionForm或者</p><p> 2.4 MySQL數(shù)據(jù)庫</p><p> MySQL是一個精巧的SQL數(shù)據(jù)庫管理系統(tǒng),雖然它不是開放源代碼的產(chǎn)品,但在某些情況下你可以自由使用。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和PHP/PERL結(jié)合,為
55、建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強(qiáng)大動力。</p><p> MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。SQL(結(jié)構(gòu)化查詢語言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫語言。MySQL是以一個客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成。 </p><p> SQL是一種標(biāo)準(zhǔn)化的語言,它使得存儲、更新和存取信息更容易。例如,你能用S
56、QL語言為一個網(wǎng)站檢索產(chǎn)品信息及存儲顧客信息,同時MySQL也足夠快和靈活以允許你存儲記錄文件和圖像。 </p><p> MySQL 主要目標(biāo)是快速、健壯和易用,自1996年以來,我們一直都在使用MySQL,其環(huán)境有超過 40 個數(shù)據(jù)庫,包含 10,000個表,其中500多個表超過7百萬行,這大約有100 個GB字節(jié)的關(guān)鍵應(yīng)用數(shù)據(jù)。 </p><p> MySQL數(shù)據(jù)庫的主
57、要功能只在組織和管理很龐大或復(fù)雜的信息和基于WEB的庫存查詢請求不僅僅為客戶提供信息,而且還可以為您自己使用數(shù)據(jù)庫可以提供如下功能: </p><p> 減少記錄編檔的時間 </p><p><b> 減小記錄檢索時間</b></p><p><b> 靈活的查找序列 </b></p><
58、p><b> 靈活的輸出格式</b></p><p> 多個用戶同時訪問記錄 </p><p><b> 第三章 需求分析</b></p><p><b> 3.1 技術(shù)支持</b></p><p> 3.1.1 系統(tǒng)框架的選擇</p>&l
59、t;p> 一個信息管理系統(tǒng)的框架結(jié)構(gòu)是否合理,對該系統(tǒng)的性能、使用效率和安全都具有至關(guān)重要的影響,因此在進(jìn)行公交信息管理系統(tǒng)總體設(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框架對持久層提供支持,業(yè)務(wù)層用Spring支持。</p><p> 采用上述開發(fā)模型,不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)</p><p> 務(wù)邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動,并且數(shù)據(jù)庫的變化也不會對前端有所影響,大大提
61、高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團(tuán)隊成員并行工作,大大提高了開發(fā)效率。</p><p> 圖3-1 S2SH框架結(jié)構(gòu)</p><p> 主流的s2sh(struts2,hibernate,spring)技術(shù)構(gòu)架。相對于老系統(tǒng)有諸多優(yōu)勢,如:</p><p> 典型的三層構(gòu)架體現(xiàn)MVC(模型Model,視圖View和控制)思想,可以讓開發(fā)
62、人員減輕重新建立解決復(fù)雜問題方案的負(fù)擔(dān)和精力。便于敏捷開發(fā)出新的需求,降低開發(fā)時間成本。 </p><p> 良好的可擴(kuò)展性,ssh主流技術(shù)有強(qiáng)大的用戶社區(qū)支持它,所以該框架擴(kuò)展性非常強(qiáng),針對特殊應(yīng)用時具有良好的可插拔性,避免大部分因技術(shù)問題不能實(shí)現(xiàn)的功能。 </p><p> 良好的可維護(hù)性,業(yè)務(wù)系統(tǒng)經(jīng)常會有新需求,三層構(gòu)架因?yàn)檫壿媽雍驼宫F(xiàn)層的合理分離,可使需求修改的風(fēng)險降低到最
63、低。隨著新技術(shù)的流行或系統(tǒng)的老化,系統(tǒng)可能需要重構(gòu),s2sh構(gòu)架重構(gòu)成功率要比其他構(gòu)架高很多。 </p><p> 優(yōu)秀的解耦性,很少有軟件產(chǎn)品的需求從一開始就完全是固定的??蛻魧浖枨螅请S著軟件開發(fā)過程的深入,不斷明晰起來的。因此,常常遇到軟件開發(fā)到一定程度時,由于客戶對軟件需求發(fā)生了變化,使得軟件的實(shí)現(xiàn)不得不隨之改變。s2sh三層構(gòu)架,控制層依賴于業(yè)務(wù)邏輯層,但絕不與任何具體的業(yè)務(wù)邏輯組件耦合,只與接
64、口耦合;同樣,業(yè)務(wù)邏輯層依賴于DAO層,也不會與任何具體的DAO組件耦合,而是面向接口編程。采用這種方式的軟件實(shí)現(xiàn),即使軟件的部分發(fā)生改變,其他部分也不會改變。</p><p> 3.1.2 數(shù)據(jù)庫的選擇</p><p> 數(shù)據(jù)庫從最初的數(shù)據(jù)文件的簡單集合發(fā)展到今天的大型數(shù)據(jù)庫管理系統(tǒng)已經(jīng)成為我們?nèi)粘I钪胁豢扇鄙俚慕M成部分。如果不借助數(shù)據(jù)庫的幫助,許多簡單的工作將變得冗長乏味,甚至難
65、以實(shí)現(xiàn)。尤其是象銀行、院校和圖書館這樣的大型組織更加依靠數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)其正常的運(yùn)作。再看互聯(lián)網(wǎng)上,從搜索引擎到在線商場,從網(wǎng)上聊天到郵件列表,都離不開數(shù)據(jù)庫。 目前,市面上的數(shù)據(jù)庫產(chǎn)品多種多樣,從大型企業(yè)的解決方案到中小企業(yè)或個人用戶的小型應(yīng)用系統(tǒng),可以滿足用戶的多樣化需求。</p><p> 這里,本系統(tǒng)使用的MySQL數(shù)據(jù)庫是眾多的關(guān)系型數(shù)據(jù)庫產(chǎn)品中的一個,相比較其它系統(tǒng)而言,MySQL數(shù)據(jù)庫可以稱得上是目
66、前運(yùn)行速度最快的SQL語言數(shù)據(jù)庫。除了具有許多其它數(shù)據(jù)庫所不具備的功能和選擇之外,MySQL數(shù)據(jù)庫是一種完全免費(fèi)的產(chǎn)品,用戶可以直接從網(wǎng)上下載數(shù)據(jù)庫,用于個人或商業(yè)用途,而不必支付任何費(fèi)用。 </p><p> MySQL是一種高性能的數(shù)據(jù)庫,它可以和市場下任何同類的產(chǎn)品競爭。為什么使用MySQL, 因?yàn)槿缦略?</p><p> 速度快。MySQL本身并不復(fù)雜,且本系統(tǒng)需要信息的
67、及時更新,數(shù)據(jù)庫本身并不龐大。</p><p> 可升級性。MySQL能夠同時處理無限數(shù)量的擁護(hù)和5億個紀(jì)錄</p><p> 簡單性。MySQL的核心是一個小而快速的數(shù)據(jù)庫,面向那些了解數(shù)據(jù)庫工作的人員,是他們能夠有效的工作和編寫高級功能。</p><p> 價值。MySQL是遵循GPL協(xié)議的自由軟件,可以免費(fèi)下載并且使用它。</p><
68、p> 可移植性。因?yàn)镸ySQL是開放源代碼的自由軟件,可以運(yùn)行于所有的平臺。</p><p> 如今,包括Siemens和Silicon Graphics這樣的國際知名公司也開始把MySQL作為其數(shù)據(jù)庫管理系統(tǒng),這就更加證明了MySQL數(shù)據(jù)庫的優(yōu)越性能和廣闊的市場發(fā)展前景。</p><p> 3.2 系統(tǒng)功能需求</p><p> 以往由于公交企業(yè)與市
69、民地理位置的分離,致使公交企業(yè)與市民之間的溝通產(chǎn)生空間上的阻隔,不能靈活、高效的進(jìn)行信息查詢工作。如何解決公交企業(yè)與市民的遠(yuǎn)程溝通問題,提高工作效率是設(shè)計這個系統(tǒng)的主要初衷。公交查詢的應(yīng)用很好的解決這個問題。能夠充分解決公交企業(yè)與市民之聞的地理問題。但是建立基于互聯(lián)網(wǎng)上的公交查詢系統(tǒng)還涉及到技術(shù)上、安全上、可靠性等問題,基于此提出課題的研究。為了方便市民查詢公交,了解更多公交方面的信息,本系統(tǒng)將會有以下功能:用戶登錄注冊模塊,公交查詢模
70、塊,公交新聞模塊,公交論壇模塊,公交線路圖瀏覽模塊,資源上傳下載模塊,用戶留言模塊,和公交車乘車指南模塊,為了方便管理員管理,對應(yīng)的模塊都設(shè)計了相應(yīng)的后臺管理。</p><p> 3.2.1 總體需求</p><p><b> 在系統(tǒng)功能方面</b></p><p> 公交信息管理系統(tǒng)要求具有良好的可維護(hù)性和擴(kuò)展性,即隨公交線路的增加與刪
71、除,系統(tǒng)能夠及時進(jìn)行數(shù)據(jù)庫的修改。</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)限與角色對應(yīng),一個角色可以包含多個用戶,一個用戶可以有多個角色。</p><p> 提供多模塊管理功能,管理員可以實(shí)現(xiàn)對用戶,公交新聞,公交線路信息,公交線路圖,下載資源等信息的增刪改查操作。</p><p> 3.2.2 各模塊設(shè)計</p><p> 用戶登錄注
73、冊模塊,當(dāng)用戶是以游客身份登錄時,只能進(jìn)行公交查詢,新聞瀏覽,和圖片瀏覽,系統(tǒng)介紹,和用戶注冊操作。只有當(dāng)注冊成為系統(tǒng)會員后,才能擁有該系統(tǒng)前臺所有功能的使用。對與后臺管理服務(wù),只有管理員登錄,才能使用其功能。</p><p> 公交查詢模塊,一般用戶對于查詢有3種需要,一種是直接輸入公交線路查詢,查詢該線路經(jīng)過哪些站點(diǎn),一種是輸入站點(diǎn)名稱查詢,查詢哪些線路經(jīng)過該站點(diǎn),還有一種是輸入起點(diǎn)和終點(diǎn)站查詢,查詢換乘路
74、線。為了方便用戶查詢,本系統(tǒng)將會滿足用戶的3種查詢條件,一種是直接輸入公交線路查詢,一種是輸出站點(diǎn)名稱查詢,還有一種是輸入起點(diǎn)和終點(diǎn)站查詢,對于后面那一種查詢條件,本系統(tǒng)提供所有滿足該條件的一次換乘方案供用戶選擇。對于該公交查詢的換乘算法方面,目前查詢效率的瓶頸就是在與數(shù)據(jù)庫進(jìn)行交互的時候。為了解決這種問題,該系統(tǒng)對于數(shù)據(jù)庫查詢只做簡單查詢,將更復(fù)雜的算法邏輯放到業(yè)務(wù)邏輯層里面去實(shí)現(xiàn)。比如一次換乘查詢,對于數(shù)據(jù)庫操作只查出滿足該起點(diǎn)和終
75、點(diǎn)的相關(guān)線路,然后再業(yè)務(wù)邏輯層去篩選其中符號條件的結(jié)果。這樣做會在SQL語句上有大量簡化,使系統(tǒng)對數(shù)據(jù)庫查詢性能提交很多。同時,為了方便管理員管理,后臺有專門的公交站點(diǎn)管理,可以進(jìn)對線路進(jìn)行增,刪,改,查的操作。</p><p> 公交新聞模塊,主要是發(fā)布一些最新的公交方面的新聞給用戶瀏覽,以便用戶知道有關(guān)公交信息方面的一些重大新聞,或線路變更的一些通知,同時提供后臺對新聞的管理。</p><
76、;p> 公交論壇模塊,用于會員使用,登錄的會員可以在論壇里面發(fā)帖,回帖,討論或者發(fā)表一些關(guān)于公交方面的信息。發(fā)帖主要是指發(fā)表一個標(biāo)題,然后登錄用戶就可以看到,并進(jìn)行發(fā)言。同時為了方便對一些用戶不良發(fā)言的管理,在后臺設(shè)計了該功能的管理模塊,該模塊可以刪帖,也可以單獨(dú)刪除其中一用戶的發(fā)言。</p><p> 公交線路圖模塊,主要是為了方便用戶在使用本系統(tǒng)時,能夠更直觀的看到相應(yīng)線路的地圖信息,同時為了方便管
77、理,也設(shè)計了一個管理模塊,對圖片進(jìn)行管理。</p><p> 資源上傳下載模塊,這里會提供一些有關(guān)資源列表供感興趣的會員下載,同時也允許會員上傳資源,但是為了防止會員上傳不良信息,在后臺開發(fā)一個資源管理模塊,方便管理員管理資源。</p><p> 用戶留言模塊,如果會員對該系統(tǒng)有什么意見或者建議,可以通過該模塊發(fā)留言給管理員,用戶只需要輸入標(biāo)題,和發(fā)言內(nèi)容就行。同時為了方便管理員查詢留
78、言,在后臺有個留言管理模塊,該模塊使管理員可以查看不同用戶的留言,同時也可以給該用戶回復(fù),然后該留言的用戶可以在前臺改模塊里面查詢管理員的回復(fù)。</p><p> 乘車指南模塊,主要介紹了城市各學(xué)校、醫(yī)院、商場等主要客流流動站點(diǎn)的相關(guān)公交車乘坐方式,更方便用戶在使用本系統(tǒng)時找到符合查詢的信息。</p><p> 3.2.3 數(shù)據(jù)流圖</p><p> 圖3-2
79、 系統(tǒng)后臺數(shù)據(jù)流圖</p><p> 圖3-3 系統(tǒng)前臺數(shù)據(jù)流圖</p><p> 3.3 系統(tǒng)非功能需求</p><p> 為了保證系統(tǒ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ī)軟硬件技術(shù)、系統(tǒng)開發(fā)人員的水平、用戶管理與使用的能力等。</p><p> Java的相關(guān)技術(shù)已經(jīng)相當(dāng)成熟,并且基于MVC模式能夠很好的簡化項(xiàng)目,使得項(xiàng)目的開發(fā)和維護(hù)都有很好的前提。技術(shù)可行性分析要考慮如下幾個方面:</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ù)庫技術(shù)等;對網(wǎng)絡(luò)組建和系統(tǒng)開發(fā)理論有較好的掌握,故有能力開發(fā)實(shí)現(xiàn)該業(yè)務(wù)系統(tǒng)。</p><p> (3)開發(fā)環(huán)境: JAVA語言的所有特點(diǎn):跨平臺性、安全性高、可移植性好、
82、可擴(kuò)展性高并且是編譯性語言,使程序設(shè)計者可以很方便地建立自己的系統(tǒng)。在JSP頁面的對提交信息的校驗(yàn)利用了strut2。操作平臺:Windows Vista HomeBasic;開發(fā)環(huán)境:myclipse6.0;開發(fā)語言:Jsp、JAVA、Java Bean??蚣埽篠2SH;調(diào)試環(huán)境:IE8.0、Tomcat6、myclipse6.0。數(shù)據(jù)庫運(yùn)行環(huán)境:mysql5.1。</p><p> 鑒于以上的分析,系統(tǒng)的建
83、設(shè)在技術(shù)上完全可行。</p><p> 3.3.2管理可行性</p><p> MVC模式使得任務(wù)管理系統(tǒng)有了很好的松耦合性,這樣使得各個模塊之間能夠更好的獨(dú)立完成,更加便于管理。所以在管理上考慮本系統(tǒng)的建設(shè)是完全可行的。</p><p> 3.3.3系統(tǒng)準(zhǔn)確性和及時性</p><p> 系統(tǒng)處理的準(zhǔn)確性和及時性是系統(tǒng)的必要性能。在系
84、統(tǒng)設(shè)計和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足企業(yè)對信息處理的需求。</p><p> 由于公交信息管理系統(tǒng)的公交查詢功能對于整個系統(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)上查詢的用戶查詢的需求也會不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個開放系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補(bǔ)、替換完成系統(tǒng)的升級和更新?lián)Q代。</p><p> 3.3
86、.5系統(tǒng)易用性和易維護(hù)性</p><p> 公交信息管理系統(tǒng)是直接面對使用人員的,而使用人員往往對計算機(jī)并不時非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。</p><p> 公交信息管理系統(tǒng)中涉及到的數(shù)據(jù)是公交公司的相當(dāng)重
87、要的信息,系統(tǒng)要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)的備份,日常的安全管理,系統(tǒng)意外崩潰時數(shù)據(jù)的恢復(fù)等工作。</p><p> 3.3.6系統(tǒng)的響應(yīng)速度</p><p> 公交信息管理系統(tǒng)在日常處理中的響應(yīng)速度為秒級,達(dá)到實(shí)時要求,以及時反饋信息。在進(jìn)行統(tǒng)計分析時,根據(jù)所需數(shù)據(jù)量的不同而從秒級到分鐘級,原則是保證操作人員不會因?yàn)樗俣葐栴}而影響工作效率。</p><p
88、><b> 第四章 總體設(shè)計</b></p><p> 4.1系統(tǒng)用例圖設(shè)計</p><p> 用例圖(Use Case Diagram)是由軟件需求分析到最終實(shí)現(xiàn)的第一步,它描述人們?nèi)绾问褂靡粋€系統(tǒng)。用例視圖顯示誰是相關(guān)的用戶、用戶希望系統(tǒng)提供什么樣的服務(wù),以及用戶需要為系統(tǒng)提供的服務(wù),以便使系統(tǒng)的用戶更容易理解這些元素的用途,也便于軟件開發(fā)人員最終實(shí)
89、現(xiàn)這些元素。用例圖在各種開發(fā)活動中被廣泛的應(yīng)用,但是它最常用來描述系統(tǒng)及子系統(tǒng)。</p><p> 當(dāng)用例視圖在外部用戶出現(xiàn)以前出現(xiàn)時,它捕獲到系統(tǒng)、子系統(tǒng)或類的行為。它將系統(tǒng)功能劃分成對參與者(即系統(tǒng)的理想用戶)有用的需求。而交互部分被稱作用例。用例使用系統(tǒng)與一個或者多個參與者之間的一系列消息來描述系統(tǒng)中的交互。</p><p> 4.1.1系統(tǒng)前臺用例圖</p>&l
90、t;p> 系統(tǒng)前臺主用戶主要分兩種角色,一種是游客,一種是會員,游客和會員分別有不同的權(quán)限。</p><p> 圖4-1 系統(tǒng)前臺用例圖</p><p> 4.1.2系統(tǒng)后臺用例圖</p><p> 后臺用戶為管理員,只有以管理員身份登錄,才能對后臺功能進(jìn)行操作。</p><p> 圖4-2 系統(tǒng)后臺用例圖</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)行的留言信息,管理員在后臺可以查看、回復(fù)或者刪除,用戶實(shí)體與留言板實(shí)體的關(guān)系是一對多關(guān)系,一個用戶可以多次留言,每條留言只屬于一個用戶。</p><p> 圖4-4 留言模塊局部E-R圖</p><p> 2.論壇模塊局部E-R圖,該圖所包括的實(shí)體主要有:論壇主頁、論壇子頁、管理員和用戶。管理員和用戶都可以在論壇模塊中創(chuàng)建論壇或參與其他主題的論壇并發(fā)帖,
93、每一次發(fā)帖信息都記錄在論壇子頁表中。</p><p> 圖4-5 論壇模塊局部E-R圖</p><p><b> 4.4系統(tǒng)流程圖</b></p><p> 該圖介紹了兩種不同的用戶在使用本系統(tǒng)時的活動事務(wù),用戶在訪問本系統(tǒng)首頁后可以選擇是否登陸,未進(jìn)行注冊的用戶可以選擇是否注冊,若未登陸且不注冊則只能使用本系統(tǒng)前臺的一部分功能。當(dāng)用戶
94、選擇注冊時需要填寫必要的個人信息,注冊成后跳轉(zhuǎn)回登陸頁面進(jìn)行登陸,登陸成功后則能使用系統(tǒng)前臺的全部功能。</p><p> 圖4-6 用戶登錄流程圖</p><p><b> 4.5數(shù)據(jù)庫設(shè)計</b></p><p> 4.5.1數(shù)據(jù)庫設(shè)計原則</p><p> 數(shù)據(jù)庫設(shè)計是管理信息系統(tǒng)中的重要部分,設(shè)計質(zhì)量的
95、好壞、數(shù)據(jù)結(jié)構(gòu)的優(yōu)劣將直接影響到管理系統(tǒng)的性能。在設(shè)計數(shù)據(jù)庫系統(tǒng)時,應(yīng)遵循以下原則:</p><p><b> 一、數(shù)據(jù)共享性</b></p><p> 數(shù)據(jù)庫是為多個用戶群、多種應(yīng)用目的而建立的,需要同時為不同部門、不同專業(yè)的多用戶服務(wù),要求數(shù)據(jù)有共享性。</p><p><b> 二、數(shù)據(jù)獨(dú)立性</b></
96、p><p> 數(shù)據(jù)庫的數(shù)據(jù)與應(yīng)用要互相獨(dú)立,不僅要求物理數(shù)據(jù)有獨(dú)立性,而且還要求邏輯數(shù)據(jù)有獨(dú)立性。當(dāng)存儲結(jié)構(gòu)和存儲方法有改變時,不會引起邏輯數(shù)據(jù)結(jié)構(gòu)的變化,應(yīng)用程序也不必重寫;總體邏輯數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時,其局部邏輯數(shù)據(jù)結(jié)構(gòu)可以不變[5]。</p><p><b> 三、最小冗余性</b></p><p> 數(shù)據(jù)庫是多種性質(zhì)不同數(shù)據(jù)文件的統(tǒng)一體
97、,為使多用戶充分共享,要求響應(yīng)速度快,數(shù)據(jù)冗余盡可能限制在小范圍內(nèi)。</p><p><b> 四、安全性</b></p><p> 考慮數(shù)據(jù)庫為多用戶、多目的服務(wù)和充分共享,必須嚴(yán)格控制數(shù)據(jù)共享范圍和數(shù)據(jù)使用的合法權(quán)限,確保數(shù)據(jù)的安全,并要防止泄密。</p><p><b> 五、完整性</b></p>
98、<p> 數(shù)據(jù)庫的完整性指數(shù)據(jù)的正確性、有效性、一致性和時間性。</p><p> 六、靈活性和可恢復(fù)性</p><p> 對數(shù)據(jù)庫的數(shù)據(jù)可按不同的途徑和方法靈活地進(jìn)行檢索和存?。徊⒈阌谛薷暮蛿U(kuò)充,當(dāng)數(shù)據(jù)受到意外破壞時能很快地得到恢復(fù)。</p><p> 4.5.2數(shù)據(jù)表結(jié)構(gòu)設(shè)計</p><p><b> 1
99、.公交新聞信息表</b></p><p> 表4-1 公交新聞信息表</p><p><b> 2.管理員信息表</b></p><p> 表4-2 管理員信息表</p><p><b> 3.會員信息表</b></p><p> 表4-3 會員信
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è)計與實(shí)現(xiàn)</p><p> 在系統(tǒng)的生命周期中,經(jīng)過系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計等階段以后,便開始系統(tǒng)實(shí)現(xiàn)階段。系統(tǒng)實(shí)現(xiàn)是以系統(tǒng)分析和系統(tǒng)設(shè)計文檔資料為依據(jù)的。系統(tǒng)開發(fā)者只有通過系統(tǒng)開發(fā)文檔,對
103、系統(tǒng)的目標(biāo)、系統(tǒng)的總體結(jié)構(gòu)、數(shù)據(jù)庫的設(shè)計等有明確理解和認(rèn)識以后,才能開始系統(tǒng)的實(shí)現(xiàn)活動。系統(tǒng)實(shí)現(xiàn)階段要繼承此前各階段的工作成果,將技術(shù)設(shè)計轉(zhuǎn)化為物理實(shí)現(xiàn),因此系統(tǒng)實(shí)現(xiàn)的成果是系統(tǒng)分析和系統(tǒng)設(shè)計的結(jié)晶。系統(tǒng)實(shí)現(xiàn)作為最后的物理實(shí)現(xiàn)階段,對于系統(tǒng)的質(zhì)量、可靠性以及可維護(hù)性有著十分重要的影響。</p><p><b> 5.1系統(tǒng)的活動圖</b></p><p> 活動圖
104、是UML中描述系統(tǒng)動態(tài)行為的圖之一,用于展現(xiàn)參與行為的類的活動或動作。在UML里,活動圖本質(zhì)上就是流程圖,它描述系統(tǒng)的活動、判斷點(diǎn)和分支等?;顒邮窃跔顟B(tài)機(jī)中一個非原子的執(zhí)行,它由一系列的動作組成,動作由可執(zhí)行的原子計算組成,這些計算能夠使系統(tǒng)的狀態(tài)發(fā)生變化或返回一個值。</p><p> 5.1.1會員注冊模塊</p><p> 會員注冊活動圖如圖5-1所示。</p>&
105、lt;p> 圖5-1 會員注冊活動圖</p><p><b> 5.1.2登陸模塊</b></p><p> 登陸活動圖如圖5-2所示。</p><p> 圖5-2 登陸活動圖</p><p> 5.2系統(tǒng)框架關(guān)鍵配置</p><p> 本系統(tǒng)是由Spring2.5,Hibe
106、rnate3.2,Struts2.1三個開源框架集成搭建而成,里面,使用該集成框架最核心的東西就是配置文件,無論是數(shù)據(jù)庫持久化連接,還是事務(wù)管理機(jī)制,或者對象工廠創(chuàng)建對象,都是通過配置文件來管理或者實(shí)現(xiàn)的。這里列舉了3個比較重要的配置文件。</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)不會顯得過于復(fù)雜,這樣的好處是便于維護(hù)配置文件,同時能更好的實(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)簽顯示模式常量,這里選定為簡單 --></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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計--公交查詢系統(tǒng)
- 公交查詢系統(tǒng)畢業(yè)設(shè)計
- 城市公交查詢系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)論文-城市公交查詢系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計--公交查詢系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 公交查詢系統(tǒng)設(shè)計
- 公交查詢系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計---城市公交查詢系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 公交查詢系統(tǒng)畢業(yè)論文
- 公交查詢系統(tǒng)畢業(yè)論文 (2)
- 智能公交查詢系統(tǒng)--論文
- 畢業(yè)論文---城市公交查詢系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 城市公交查詢系統(tǒng)的設(shè)計與實(shí)現(xiàn)畢業(yè)論文
- 畢業(yè)論文——城市公交查詢系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 基于.net的城市公交查詢系統(tǒng)的設(shè)計與實(shí)現(xiàn)—免費(fèi)畢業(yè)設(shè)計論文
- 城市公交查詢系統(tǒng)的設(shè)計與實(shí)現(xiàn)畢業(yè)論文
- 計算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計---公交查詢系統(tǒng)
- 畢業(yè)設(shè)計----基于.net的城市公交查詢系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 畢業(yè)論文(設(shè)計)基于web的城市公交查詢系統(tǒng)設(shè)計與實(shí)現(xiàn)
- 畢業(yè)設(shè)計--公交系統(tǒng)查詢
評論
0/150
提交評論