




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、目 錄 摘 要.2 Abstract.3 第 1 章 緒論.4 1.1 開發(fā)背景.4 1.2 系統(tǒng)開發(fā)的目標與期望.4 1.3 系統(tǒng)主要研究工作.5 第 2 章 系統(tǒng)開發(fā)工具和環(huán)境.6 2.1 前臺技術 JSP .6 2.2 后臺數(shù)據(jù)庫選擇 MySQL5.0 .6 2.3 系統(tǒng)開發(fā) SSH 框架技術.7 2.4 系統(tǒng)的開發(fā)環(huán)境.7 第 3 章 需求分析和總體設計.8 3.1 系統(tǒng)需求分析.8 3.2 系統(tǒng)的總體設計 .8 第 4 章 系統(tǒng)數(shù)據(jù)庫設計.14 4.1 數(shù)據(jù)庫需求分析.14 4.2 數(shù)據(jù)庫概念結構設計 .14 4.3 數(shù)據(jù)庫邏輯結構設計 .17 第 5 章 詳細設計與實現(xiàn).20 5.
2、1 用戶登錄界面設計.20 5.2 用戶注冊界面設計.20 5.3 景點信息窗體的設計.24 5.4 特色美食信息窗體的設計.29 5.5 網(wǎng)友游記信息窗體的設計.30 5.6 旅游問答信息窗體的設計.31 5.7 后臺系統(tǒng)說明窗體的設計.32 第 6 章 測試與維護.36 6.1 軟件測試概述.36 6.2 系統(tǒng)測試的內(nèi)容.37 6.3 軟件維護.40 結 論.44 致 謝.45 參考文獻.46 河南省旅游資源管理系統(tǒng)的設計與實現(xiàn) 軟件工程 劉曉敏 摘 要 隨著 INTERNET 技術的發(fā)展,互聯(lián)網(wǎng)在中國逐步普及,人們對網(wǎng)絡的需求也 日益增長,利用計算機實現(xiàn)旅游資源的管理勢在必行。本系統(tǒng)從初
3、步調(diào)查開始,詳細 介紹了需求分析、流程和數(shù)據(jù)分析,并進行了系統(tǒng)總體結構設計和數(shù)據(jù)庫設計. 系 統(tǒng)采用 DREAMWEAVER 編寫 JSP 腳本,MySQL5.0 建立數(shù)據(jù)庫,從界面簡潔、實 用的要求出發(fā),采用 SSH 框架完成了旅游資源管理工作的主要部分,包括旅游資源 和用戶的信息瀏覽,添加,修改,刪除,查詢等,并且實現(xiàn)了一些變量的取值,保 存和統(tǒng)計。 旅游資源管理系統(tǒng)是對旅游信息資源進行管理的系統(tǒng)。隨著旅游資源在種類 和數(shù)量上的增多,以及涉及的方面相對較廣,旅游資源的管理難度也在增大。伴隨 計算機的普及,人們也愿意并習慣通過計算機來獲取信息資源,人們可以在最短的 時間內(nèi)獲信息,然后擬定適合
4、自己的旅游方案,既節(jié)省人力物力又提高工作效率, 達到了事半功倍的效果。 因此,本文就詳細的設計了一個旅游資源管理系統(tǒng),把旅游中的一些相關 的詳細信息囊括其中,盡量使整個管理系統(tǒng)層次鮮明,概括清楚。在閱讀完本文后 你將能夠清楚的了解到一個旅游資源管理系統(tǒng)的具體設計和實現(xiàn)過程。 【關鍵詞關鍵詞】:旅游資源管理 SSH JSP MySQL5.O Abstract With the development of INTERNET technology, the gradual popularization of Internet in China, people on the network grow
5、ing demand, by using computer to realize the management of tourism resources be imperative. The system started from the preliminary investigation, a detailed needs analysis, process and data flow analysis, and the overall structure of the system design and database design. System using DREAMWEAVER w
6、rite JSP scripts, MySQL5.0 to establish database, the interface simple, practical requirement, completion tour resources management work of main part, including the tourism resources and users information browse, add, modify, delete, query, and the realization of some value, save and statistics. Tou
7、rism information management system of tourism information resources management system. With the tourism information in type and quantity increase, and refers to the relatively wide, tourism information management difficulty also is in increase. With the popularity of computers, people are willing to
8、 and used by the computer to access the information resources, people can be in the shortest possible time to obtain information, and then draw up their own tourism program, saving manpower and material resources and improve work efficiency, achieve a multiplier effect. Therefore, this paper details
9、 the design of a management system of tourism resources, the tourism in of some related information include among them, try to make the whole management system distinct levels, generalize clear. Having read this paper you will be able to see clearly a tourism resource management system design and im
10、plementation of specific process 【Key words】: tourism resource management system SSH JSP MySQL5.O 第第 1 章章 緒論緒論 信息時代已經(jīng)來臨,互連網(wǎng)的觸角早已覆蓋了這個世界的每個角落,如今, 旅游資源的網(wǎng)絡化,已經(jīng)成為一種在信息時代生存的必要手段。 1.1 開發(fā)背景開發(fā)背景 隨著社會的高速發(fā)展,人們生活水平的不斷提高,以及工作節(jié)奏的加快,旅游 逐漸成為一個熱門的話題,因為其形式的多樣,涉及的面比較廣,成為人們放松壓 力,調(diào)節(jié)情緒的首要選擇。我國的計算機技術誕生于 20 世紀 40 年代,起步晚但是
11、 發(fā)展非常迅速,雖然把計算機引入管理的領域也就只有短短的 30 年,但是,卻給管 理領域帶來了翻天覆地的變化。伴隨計算機的普及,人們也愿意并習慣通過計算機 來獲取信息資源,人們可以在最短的時間內(nèi)獲取旅游信息,然后擬定適合自己的旅 游方案,大大的節(jié)省自己的時間、精力,獲得最大限度的身心滿足。 傳統(tǒng)的管理方法采用的是人管理人的方法,由相關人員去制定一些規(guī)定并監(jiān)督 執(zhí)行,這當然會給管理帶來很多的主觀性,而傳統(tǒng)的旅游信息管理也是采用人力的 自然管理和紙制記錄。在查詢,更新時都是由人一條一條的記錄,這樣不僅需要大 量的人力還需要大量的辦公用品。這必然造成對人力和物力的浪費,而且由于工作 量大并且繁瑣,就
12、會帶來效率方面的低下,而這些就會無形地使利潤下滑。 河南省旅游資源管理系統(tǒng)正是在這樣的背景下應運而生了?,F(xiàn)實的要求是旅游 資源管理需要一個既可以節(jié)省人力物力又可以節(jié)省財力,并且在同等時間的基礎上 提高效率,從而提高整個利潤。旅游資源管理系統(tǒng)采取的是資源分類管理的理念, 根據(jù)旅游所涉及的方方面面的具體要求進行系統(tǒng)開發(fā)的。 河南省旅游信息管理信息系統(tǒng)是以客戶機/服務器(Client/Server,C/S)結構為基礎。 當客戶發(fā)出請求后服務器會快速的對其的請求作出響應并解決其請求。這就解決了 在人力方面的浪費。由于請求和解決請求的過程都是通過計算機完成的這樣就解決 了人力的繁瑣,還避免了傳統(tǒng)管理方法
13、的一些由于人的疏忽造成的錯誤。提高了工 作的正確率和可靠性。 本次畢業(yè)設計開發(fā)的河南省旅游資源管理系統(tǒng)具體內(nèi)容包括:系統(tǒng)用戶模塊、 旅游景點模塊、特色美食模塊、網(wǎng)友游記模塊和旅游問答模塊。并在這些模塊中完 成了各個環(huán)節(jié)的添加、修改、刪除、查詢等功能。 河南省旅游資源管理系統(tǒng)設計的方面很廣,除了可以找到相關的旅游信息外, 還可以查詢到景點相關的信息等,使得查找數(shù)據(jù)變的簡單,不必大量沉浸在書籍和 相關影印的材料里,為搜集資料提供便利。而且在網(wǎng)上的信息更新及時,不會出現(xiàn) 現(xiàn)實和實際不符的情況,這也是相對于傳統(tǒng)管理的優(yōu)勢所在。 1 1. .2 2 系系統(tǒng)統(tǒng)開發(fā)的目標與開發(fā)的目標與期望期望 河南省旅游資
14、源管理系統(tǒng)設計開發(fā)的宗旨是減少人力、提高效率。所以,在設 計上是盡量涉及到和旅游相關的方方面面,這樣在提高效率的基礎上也提高了可靠 性和完整性。 本論文研究的是河南省旅游信息的具體設計開發(fā)應用。具體的設計包括:系統(tǒng) 用戶模塊、旅游景點模塊、特色美食模塊、網(wǎng)友游記模塊和旅游問答模塊。在這些 模塊中實現(xiàn)了添加、刪除、修改、查詢的功能。 1.3 系統(tǒng)主要研究工作系統(tǒng)主要研究工作 河南省旅游資源管理系統(tǒng)的制作目的是完成一個有易擴展、穩(wěn)定、安全、操作 簡單方便、界面友好等特點的交互平臺,課題主要工作有: (1)設計方案所采用的系統(tǒng)技術、工具和系統(tǒng)的用戶、角色、權限管理、資源信 息的管理、各類資料共享、數(shù)
15、據(jù)庫系統(tǒng)的管理等。 (2)制作資源管理系統(tǒng)的設計思想。如數(shù)據(jù)的采集、學習信息化的思路等等。 第第 2 章章 系統(tǒng)開發(fā)工具和環(huán)境系統(tǒng)開發(fā)工具和環(huán)境 開發(fā)工具的選擇對一個系統(tǒng)來說很重要,既決定了開發(fā)人員的開發(fā)效率,也對 頁面的美觀和操控性起著重要作用,同時也對軟件產(chǎn)品的易維護性和擴充性有著重 要影響。 2.1 前臺技術前臺技術 JSP JSP 技術使用 Java 編程語言編寫類 XML 的 tags 和 scriptlets,來封裝產(chǎn)生動態(tài) 網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過 tags 和 scriptlets 訪問存在于服務端的資源的應用邏 輯。JSP 將網(wǎng)頁邏輯與網(wǎng)頁設計顯示分離,支持可重用的基于組
16、件的設計,使基于 Web 的應用程序的開發(fā)變得迅速和容易。其特性包括: 一次編寫,到處運行。 系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中 進行系統(tǒng)部署,在任意環(huán)境中擴展。 強大的可伸縮性。從只有一個小的 jar 文件即可運行 Servlet/JSP,到由多臺服務 器進行集群和負載均衡,到多臺 Application 進行事務處理,消息處理,一臺服務器 到無數(shù)臺服務器,Java 顯示了一個巨大的生命力。 2.2 后臺數(shù)據(jù)庫的選擇后臺數(shù)據(jù)庫的選擇 MySQL5.0 MySQL5.0是一種開放源代碼的關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS) ,MySQL 數(shù)據(jù) 庫系統(tǒng)使用最常用
17、的數(shù)據(jù)庫管理語言-結構化查詢語言(SQL)進行數(shù)據(jù)庫管理。 主要特性有: 1. 性能的提高:mysql5.0 采用了新的數(shù)據(jù)存儲架構,單個數(shù)據(jù)表的容量比 4.0 高出很多,并且在進行數(shù)據(jù)檢索時性能更高。 2. 支持自定義的過程:mysql5.0 可以讓您自己添加函數(shù),這跟 sqlserver 的自定 義函數(shù)類似,您可以將一些常用的功能寫成函數(shù),調(diào)用時就像調(diào)用 mysql 的系統(tǒng)函 數(shù)一樣,非常方便。 3. 支持存儲過程:用戶只需要寫 一次存儲過程就可以立刻使用許多應用程序 來調(diào)用該過程,從而實現(xiàn)特定的業(yè)務邏輯流程。數(shù)據(jù)庫管理員也可以通過標準的管 理函數(shù)來處理不同版本中的數(shù)據(jù)庫資源,比如數(shù)據(jù)庫結
18、構 和安全權限等。 。 4. 支持觸發(fā)器:觸發(fā)器可以讓您的數(shù)據(jù)庫在發(fā)生特定的事件時,自動執(zhí)行特定 的操作,如調(diào)用一些函數(shù),存儲過程等;觸發(fā)器對保證數(shù)據(jù)的統(tǒng)一性、減少數(shù)據(jù)庫 管理員的工作方面有很好的幫助。 5. 支持視圖:您可以將幾個表的某幾個列組成一個視圖,方便查詢,免除每次 都用 join 語句從關聯(lián)表讀取相數(shù)據(jù)。 6. 支持本地化:對數(shù)種不同字符集的全面支持,包括 latin1 (cp1252)、 german、big5、ujis 等,并提供了 Unicode 支持。 2.3 SSH 框架技術框架技術 SSH 為 struts+spring+hibernate 的一個集成框架,是目前較流行
19、的一種 JAVA Web 應用程序開源框架。 集成 SSH 框架的系統(tǒng)從職責上分為四層:表示層、業(yè)務邏輯層、數(shù)據(jù)持久層 和域模塊層,以幫助開發(fā)人員在短期內(nèi)搭建結構清晰、可復用性好、維護方便的 Web 應用程序。其中使用 Struts 作為系統(tǒng)的整體基礎架構,負責 MVC 的分離,在 Struts 框架的模型部分,利用 Hibernate 框架對持久層提供支持,業(yè)務層用 Spring 支 持。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實現(xiàn) 為基本的 Java 對象,然后編寫基本的 DAO 接口,并給出 Hibernate 的 DAO 實現(xiàn), 采用 Hibernate 架構實
20、現(xiàn)的 DAO 類來實現(xiàn) Java 類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后 由 Spring 完成業(yè)務邏輯。 系統(tǒng)的基本業(yè)務流程是: 在表示層中,首先通過 JSP 頁面實現(xiàn)交互界面,負責 傳送請求(Request)和接收響應(Response),然后 Struts 根據(jù)配置文件(struts-config.xml) ActionServlet 接收到的 Request 委派給相應的 Action 處理。在業(yè)務層中,管理服務 組件的 Spring IoC 容器負責向 Action 提供業(yè)務模型(Model)組件和該組件的協(xié)作對象 數(shù)據(jù)處理(DAO)組件完成業(yè)務邏輯,并提供事務處理、緩沖池等容器組件以提升
21、系 統(tǒng)性能和保證數(shù)據(jù)的完整性。而在持久層中,則依賴于 Hibernate 的對象化映射和數(shù) 據(jù)庫交互,處理 DAO 組件請求的數(shù)據(jù),并返回處理結果。 采用上述開發(fā)模型, 不僅實現(xiàn)了視圖、控制器與模型的徹底分離,而且還實現(xiàn)了業(yè)務邏輯層與持久層的 分離。這樣無論前端如何變化,模型層只需很少的改動,并且數(shù)據(jù)庫的變化也不會 對前端有所影響,大大提高了系統(tǒng)的可復用性。而且由于不同層之間耦合度小,有 利于團隊成員并行工作,大大提高了開發(fā)效率。 2.4 系統(tǒng)的開發(fā)環(huán)境系統(tǒng)的開發(fā)環(huán)境 本次開發(fā)的河南省旅游資源管理系統(tǒng)對操作系統(tǒng)的要求如下: (1)硬件要求: CPU:最低 Intel Pentium II 50
22、0 MHz。 磁盤空間:250MB(完全安裝) ,155MB(快速安裝) 。 內(nèi)存:128MB(最好 256MB 以上) 。 顯示:1024*768,256 色 (2)軟件要求: Windows 2000 以上的操作系統(tǒng)。 Dreamweaver 8 Myeclipse 8.5。 Mysql 5.0。 第第 3 章章 需求分析和總體設計需求分析和總體設計 3.1 系統(tǒng)需求分析 3.1.1 總體需求概述 根據(jù)旅游資源管理的需求,我們對景點、旅游常見問題和河南省特色美食等旅 游相關信息的進行管理。主要包括景點資源的管理、河南省特色美食管理以及網(wǎng)友 游記管理等幾個方面的內(nèi)容。這幾方面內(nèi)容中包括信息的
23、錄入和查詢,以及信息的 實時更新。 管理員針對信息的變更,對相關信息進行管理,保證信息的最新性和準確性, 易于日常的操作和維護。 3.1.2 需求的具體分析 根據(jù)總體功能需求特將具體功能需求描述如下: (1)旅游信息的功能需求: 用戶可以對景點信息進行瀏覽,并根據(jù)景點所在區(qū)域和景點類型進行查詢。 系統(tǒng)管理員根據(jù)景點信息的更新,進行添加、修改和刪除的操作。 (2)信息服務的功能需求: 因為本系統(tǒng)是針對河南地區(qū)的旅游系統(tǒng),所以為方便用戶對景點信息的了 解,在 本系統(tǒng)中提供了相應的河南特色美食、游記瀏覽和旅游問答等模塊。 3.2 系統(tǒng)的總體設計 3.2.1 系統(tǒng)的模塊劃分 根據(jù)對系統(tǒng)需求的分析,可以
24、把系統(tǒng)劃分:系統(tǒng)用戶管理模塊、系統(tǒng)管理員管 理模塊、景點信息模塊、特色美食信息模塊、網(wǎng)友游記模塊、旅游問答模塊、退出 系統(tǒng)模塊。 (如圖 3-1 所示) 。 系統(tǒng)總體模塊 景 點 信 息 管 理 模 塊 特 色 美 食 管 理 模 塊 網(wǎng) 友 游 記 管 理 模 塊 旅 游 問 答 管 理 模 塊 系 統(tǒng) 用 戶 管 理 模 塊 系 統(tǒng) 管 理 員 管 理 模 塊 圖 3-1 系統(tǒng)總體模塊圖 退 出 系 統(tǒng) 模 塊 3.2.2 各模塊功能設計 (1)系統(tǒng)管理員管理模塊 系統(tǒng)管理員管理模塊主要是對系統(tǒng)管理員信息進行維護。包括: 管理員信息的查詢:瀏覽管理員的相關信息。 管理員信息的添加:添加新的
25、管理員使其成為系統(tǒng)管理員。 密碼修改:用戶名為主鍵,不可修改,只可以修改密碼。 管理員的刪除:根據(jù)用戶名刪除系統(tǒng)用戶的信息。 系統(tǒng)管理員模塊中各子模塊的實際意義是使系統(tǒng)的訪問量增大,管理員的增多 可以方便系統(tǒng)更好的管理和維護。 (如圖 3-2 所示) 。 管理員信息管理 管 理 員 信 息 查 詢 管 理 員 密 碼 修 改 管 理 員 添 加 管 理 員 刪 除 圖 3-2 系統(tǒng)管理員功能模塊 (2)系統(tǒng)用戶管理模塊 系統(tǒng)用戶管理模塊主要是對系統(tǒng)用戶信息進行維護。包括: 系統(tǒng)用戶信息的查詢:管理員瀏覽系統(tǒng)用戶的相關信息。 系統(tǒng)用戶信息的添加:添加新的系統(tǒng)用戶。 密碼修改:用戶名為主鍵,不可修
26、改,只可以修改密碼。 系統(tǒng)用戶的刪除:根據(jù)用戶名刪除系統(tǒng)用戶的信息。 系統(tǒng)用戶管理模塊中各子模塊的實際意義是使系統(tǒng)管理員可以更方便對系統(tǒng)用 戶信息進行管理和維護。 (如圖 3-2 所示) 。 系統(tǒng)用戶信息管理 系 統(tǒng) 用 戶 信 息 查 詢 系 統(tǒng) 用 戶 密 碼 修 改 系 統(tǒng) 用 戶 信 息 添 加 系 統(tǒng) 用 戶 信 息 刪 除 圖 3-3 系統(tǒng)用戶管理功能模塊 (3)景點信息管理模塊 景點信息管理模塊包括:景點信息查詢模塊、景點信息添加模塊、景點信息修 改模塊和景點信息刪除模塊。具體功能如下: 景點信息查詢:根據(jù)旅游信息景點的類型或所在地,或者景點所屬類型進行相 應的查詢。也可以直接查
27、詢?nèi)烤包c信息。 景點信息添加:對新的景點信息進行錄入。 景點信息修改:對景點信息的變更做出及時的修改。 景點信息刪除:對景點信息進行刪除。 景點信息管理模塊中各子模塊的實際意義是當管理員在管理旅游信息的時候, 可以快速、便捷地將景點信息添加的系統(tǒng)中,同時對信息進行維護和管理,并與數(shù) 據(jù)庫中數(shù)據(jù)相連接,這樣不僅方便游客瀏覽,還提高了信息的準確性。管理員還可 以對景點信息進行查詢,確保景點中信息的準確性、及時性,從而保證系統(tǒng)的準確 性和完整性。 (如圖 3-3 所示) 。 旅游信息管理 旅 游 信 息 查 詢 旅 游 信 息 添 加 旅 游 信 息 修 改 旅 游 信 息 刪 除 圖 3-4 旅
28、游信息功能模塊 (4)特色美食信息管理模塊 主要是對河南省特色美食的信息進行管理和維護。 特色美食信息模塊包括:特色美食信息查詢模塊、添加模塊、修改模塊和刪除 模塊,具體功能如下: 特色美食信息查詢:根據(jù)特色美食所在地,進行相應的查詢。也可以直接查詢 河南省全部特色美食的信息。 特色美食信息添加:添加新加入的特色美食信息。 特色美食信息修改:對于各特色美食相關信息的變更做出及時的修改。 特色美食信息刪除:對于特色美食信息進行刪除。 特色美食信息管理模塊中各子模塊的實際意義是當管理員在管理特色美食信息 的時候,可以快速、便捷地將特色美食信息添加的系統(tǒng)中,同時對信息進行維護和 管理,提高信息的準確
29、性。管理員還可以直接對特色美食信息進行查詢,確保特色 美食信息的準確性,從而保證系統(tǒng)的準確性和完整性。信息的添加和修改與后臺數(shù) 據(jù)庫進行動態(tài)的連接。 (如圖 3-4 所示) 。 特色美食信息管理 特 色 美 食 信 息 查 詢 特 色 美 食 信 息 添 加 特 色 美 食 信 息 修 改 特 色 美 食 信 息 刪 除 圖 3-5 特色美食信息功能模塊 (5)旅游問答信息管理模塊 主要對旅游常見問題信息進行管理和維護。 旅游問答信息管理模塊包括: 旅游常見問題的添加:用戶可以提出旅游相關問題。 旅游常見問題的查詢:可以查詢所有相關信息。 旅游常見問題的刪除:管理員對非法旅游相關問答進行刪除操
30、作。 旅游問答信息管理 旅 游 問 答 信 息 查 詢 旅 游 問 答 信 息 修 改 圖 3-6 旅游問答信息功能模塊 旅 游 問 答 信 息 刪 除 (6)網(wǎng)友游記信息管理模塊 主要對網(wǎng)友游記信息進行管理和維護。 網(wǎng)友游記信息管理模塊包括: 網(wǎng)友游記信息添加:管理員添加網(wǎng)友游記相關信息。 網(wǎng)友游記信息瀏覽:系統(tǒng)用戶可以瀏覽所有網(wǎng)友游記相關信息。 網(wǎng)友游記信息刪除:管理員對一些進行刪除操作。 網(wǎng)友游記信息管理 網(wǎng) 友 游 記 信 息 瀏 覽 網(wǎng) 友 游 記 信 息 添 加 圖 3-7 網(wǎng)友游記信息功能模塊 網(wǎng) 友 游 記 信 息 刪 除 (7)退出系統(tǒng)模塊 系統(tǒng)用戶可以根據(jù)自己的需要來進行注
31、銷系統(tǒng)。注銷系統(tǒng)時會出現(xiàn)提示對話框, 選擇確定后系統(tǒng)就會安全的退出了。 第 4 章 系統(tǒng)數(shù)據(jù)庫設計 本系統(tǒng)使用的是 MySQL 5.0 數(shù)據(jù)庫管理系統(tǒng),下面詳細地介紹一下本系統(tǒng)的數(shù) 據(jù)庫結構設計與實現(xiàn)。 4.1 數(shù)據(jù)庫需求分析數(shù)據(jù)庫需求分析 進行整個數(shù)據(jù)庫設計必須準確了解與分析用戶需求(包括數(shù)據(jù)和處理) 。用戶需 求分析是整個設計過程的基礎,是最困難、最耗費時間的一步。作為最基本的需求 分析做得是否充分與準確,決定了在其構建數(shù)據(jù)庫的速度和質(zhì)量。 用戶的需求具體體現(xiàn)在各種信息的提供、存儲、更新和查詢方面,這就要求數(shù) 據(jù)庫結構能充分滿足各種信息的輸出與輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結構及數(shù)據(jù)處理 的流程
32、,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設計打下基礎。以這種思想作為 設計策略,河南省旅游資源管理系統(tǒng)至少有以下 5 項需求: 用戶表:包括的數(shù)據(jù)項有用戶姓名、密碼、權限等。 景點信息表:包括的數(shù)據(jù)項有景點所屬地、所屬類型、景點圖片等。 特色美食信息表:包括的數(shù)據(jù)項有圖片、所屬地等。 網(wǎng)友游記信息表:包括的數(shù)據(jù)項有網(wǎng)友名、游記內(nèi)容等。 旅游問題信息表:包括的數(shù)據(jù)項有登陸用戶名、問題、編入時間等。 旅游回答信息表:包括的數(shù)據(jù)項有登錄用戶名、回答、編入時間等。 4.2 數(shù)據(jù)庫概念結構設計數(shù)據(jù)庫概念結構設計 概念結構設計是將分析得出的用戶需求信息抽象為概念模型的過程。即在需求 分析的基礎上,設計出能夠
33、滿足用戶需求的各種實體以及它們之間的相互關聯(lián)的概 念結構設計模型。這樣才能更好、更準確的用某一 DBMS 實現(xiàn)這一些需求,這是整 個數(shù)據(jù)庫設計的關鍵。 概念結構的主要特點是能真實、充分地反映現(xiàn)實世界,容易理解、更改,容易 向關系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。描述概念模型的有力工具是 E-R 模型。 本網(wǎng)站根據(jù)上面的需求分析和數(shù)據(jù)庫設計規(guī)劃得出的實體有:用戶實體,景區(qū)實體, 美食實體,游記實體、旅游問題實體、旅游回答實體。部分對應實體的 E-R 圖,如 圖 3.9 所示。 特色美食 編輯時間 美食 描述 美食名稱編號 圖片 圖 4-1 特色美食實體屬性圖 所屬地 景點 編入時間 所屬地 所屬類
34、型 景點描述 景點名稱 編號 景點概述 圖 4-2 景點實體屬性圖 景點圖片 系統(tǒng)用戶 編號 權限性別 密碼 圖 4-3 系統(tǒng)用戶信息實體屬性圖 用戶名 郵箱 游記 游記概述 游記內(nèi)容 發(fā)表者 游記編號 圖 4-4 游記實體屬性圖 問題 提問者 問題狀態(tài) 問題 問題編號 圖 4-5 問題實體屬性圖 回答 對應問題編號 回答 回答者 回答編號 圖 4-6 回答實體屬性圖 4.3 數(shù)據(jù)庫邏輯結構設計數(shù)據(jù)庫邏輯結構設計 概念結構是獨立于任何一種數(shù)據(jù)模型的信息結構。邏輯結構設計的任務就是把 概念結構設計階段設計好的基本 E-R 圖轉(zhuǎn)換為與選用 DBMS 產(chǎn)品所支持的數(shù)據(jù)模型 相符合的邏輯結構。 設計邏
35、輯結構時一般要分 3 步進行: (1)將概念結構轉(zhuǎn)換為一般的關系、網(wǎng)狀、層次模型; (2)將轉(zhuǎn)換來的關系、網(wǎng)狀、層次模型向特定的 DBMS 支持下的數(shù)據(jù)模型轉(zhuǎn)換; (3)對數(shù)據(jù)模型進行優(yōu)化。 將以上的數(shù)據(jù)庫概念結構設計轉(zhuǎn)換為關系模型。數(shù)據(jù)庫表格以用戶信息表、景 點信息表和特色美食信息表等為例,設計結果如下: 表表 4.1 用戶信息表用戶信息表(user) 字段名字段類型 字段大小索引 用戶編號 (userID) 自動編號 長整型Maintained(主關鍵字) 用戶名 (username) 文本 30 密碼(password)文本20 權限(popedom)長整形10 性別(sex)文本10
36、郵箱(email)文本30 表表 4.2 景區(qū)信息表景區(qū)信息表(scenic) 字段名字段類型 字段大小索引 編號(ID)自動編號10Maintained(主關鍵字) 所屬地 (address) 文本 20 所屬類型(sort)文本 30 名稱(name)文本50 描述 (description) 文本200 圖片(photo)文本50 概述(summary)文本50 錄入時間 (edittime) 日期/時間 表表 4.3 旅游問題信息表旅游問題信息表(question) 字段名字段類型 字段大小索引 編號(quesID)自動編號10Maintained(主關鍵字) 問題(question)
37、文本 100 提問者(twz)文本30 狀態(tài)(status)文本1 表表 4.4 旅游回答信息表旅游回答信息表(answer) 字段名字段類型 字段大小索引 編號(answerID)自動編號10Maintained(主關鍵字) 回答(answer)文本 100 回答者(hwz)文本30 問題編號(qID)長整形10Foreign key 表表 4.5 網(wǎng)友游記信息表網(wǎng)友游記信息表(answer) 字段名字段類型 字段大小索引 編號 (voyagesID) 自動編號 10Maintained(主關鍵字) 游記(voyages)文本 1000 發(fā)表者(fbz)文本30 概述(summary)文本1
38、00 表表 4.6 特色美食信息表特色美食信息表(delicious) 字段名字段類型 字段大小索引 編號(ID)自動編號10Maintained(主關鍵字) 名稱(name)文本 100 圖片(photo)文本50 所屬地 (address) 文本100 編入時間 (edittime) date 描述 (description) 文本1000 第 5 章 詳細設計與實現(xiàn) 5.1 用戶登錄界面設計 用戶登錄包括:登錄賬戶,登陸密碼。 當用戶登錄后由管理員核對該用戶的名稱和密碼是否正確,如果無誤的話用 戶可以通過檢查直接進入網(wǎng)站的其它頁面進行瀏覽和訂購 圖 5-1 系統(tǒng)用戶登陸界面 提交按鈕部分
39、代碼如下: package action; import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import pojo.User; import service.UserService; public class UserLogin extends ActionSupport private static final long serialVersionUID = L; private String username;
40、private String password; private UserService userService; public String getUsername() return username; public void setUsername(String username) this.username = username; public String getPassword() return password; public void setPassword(String password) this.password = password; public UserService
41、 getUserService() return userService; public void setUserService(UserService userService) this.userService = userService; SuppressWarnings(unchecked) public String execute() throws Exception User user = new User(); user.setUsername(username); user.setPassword(password); if(userService.isLogin(user)
42、Map session = ActionContext.getContext().getSession(); session.put(username, username); this.addActionMessage(登錄成功!); return success; else this.addActionMessage(登錄失敗!); return input; 5.2 用戶注冊界面的設計 用戶注冊包括:登錄賬戶,登錄密碼,性別,權限,電子郵件等。 注冊成功后,才可以訪問本站的其他頁面。 圖 5-2 系統(tǒng)用戶注冊界面 部分代碼如下: public String execute() throws
43、 Exception /將所有的參數(shù)組合成一個 User 對象 User user = new User(); user.setUsername(username); user.setPassword(password); user.setPasswordConfirm(passwordConfirm); user.setEmail(email); user.setSex(sex); user.setPopedom(popedom); if(userService.addUser(user) /保存成功 this.addActionMessage(添加用戶成功!); else this.add
44、ActionMessage(用戶被占用,請重新輸入用戶名); return success; 5.3 景點信息窗體的設計 景點信息查詢窗體(如圖 5-3 所示)當打開窗體的后,可以根據(jù)景點所在地或 是景點類型進行查詢。 圖 5-3 景點信息主界面 部分代碼如下: package action; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import ja
45、va.util.Date; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import pojo.Scenic; import service.ScenicService; public class ScenicAdd extends ActionSupport /* * */ private static final long serialVersionUID = -L; private ScenicService scenicService; pri
46、vate String address; private String name; private String photo; private String description; private Date edittime; private String summary; private String sort; private File uploadFile;/用來封裝上傳的文件 private String uploadFileContentType;/用來封裝上傳文件的類型 private String uploadFileFileName;/用來封裝上傳文件的文件名 public
47、File getUploadFile() /獲得上傳文件 return uploadFile; public void setUploadFile(File uploadFile) /設置上傳文件 this.uploadFile = uploadFile; public String getUploadFileContentType() /獲得上傳文件類型 return uploadFileContentType; public void setUploadFileContentType(String uploadFileContentType) this.uploadFileContentT
48、ype = uploadFileContentType;/設置上傳文件類型 public String getUploadFileFileName() /獲得上傳文件名 return uploadFileFileName; public void setUploadFileFileName(String uploadFileFileName) this.uploadFileFileName = uploadFileFileName;/設置上傳文件名 public String execute() throws Exception InputStream is = new FileInputSt
49、ream(uploadFile);/文件輸入流 String uploadPath = ServletActionContext.getServletContext() .getRealPath(/upload);/ 設置上傳文件目錄 File toFile = new File(uploadPath, this.getUploadFileFileName();/ 設置目標文 件 OutputStream os = new FileOutputStream(toFile);/ 創(chuàng)建一個輸出流 byte buffer = new byte1024;/設置緩存 int length = 0; wh
50、ile (length = is.read(buffer) 0) /讀取 myFile 文件輸出到 toFile 文件中 os.write(buffer, 0, length); is.close();/關閉輸入流 os.close();/關閉輸出流 Scenic scenic=new Scenic(); scenic.setPhoto(photo); /將所有的參數(shù)組合成一個 User 對象 scenic.getAddress(); scenic.getDescription(); scenic.getEdittime(); scenic.getName(); scenic.getPhoto
51、(); scenic.getSummary(); scenic.getSort(); if(scenicService.addScenic(scenic) /保存成功 this.addActionMessage(添加景點信息成功!); else this.addActionMessage(景點被占用,請重新輸入景點名); return success; public void setScenicService(ScenicService scenicService) this.scenicService = scenicService; public ScenicService getScen
52、icService() return scenicService; public void setAddress(String address) this.address = address; public String getAddress() return address; public void setName(String name) = name; public String getName() return name; public void setDescription(String description) this.description = descri
53、ption; public String getDescription() return description; public void setEdittime(Date edittime) this.edittime = edittime; public Date getEdittime() return edittime; public String getPhoto() return photo; public void setSummary(String summary) this.summary = summary; public String getSummary() retur
54、n summary; public void setSort(String sort) this.sort = sort; public String getSort() return sort; 景點信息添加窗體(如圖 5-4 所示)當打開窗體的后,管理員可以對景點信息進行 更新。 圖 5-4 景點添加主界面 5.4 特色美食信息窗體的設計 特色美食窗體打開后,可以對河南省各個地區(qū)的特色美食信息進行瀏覽。 圖 5-5 特色美食主界面 部分代碼如下: package dao; import java.util.List; import pojo.Delicious; public interf
55、ace DeliDAO public void saveDeli(Delicious delicious);/保存信息 public List queryAll();/查詢所有信息 public Voyages queryBydeliID(int deliID);/根據(jù) ID 號查詢信息 public void deleteDeli(Delicious delicious);/刪除信息 package service; import java.util.List; import pojo.Delicious; public interface DeliService public boolea
56、n addDeli(Delicious delicious);/添加 public List findAll();/查找所有 public boolean deleteDeli(int deliID);/刪除 5.5 網(wǎng)友游記信息窗體的設計 網(wǎng)友游記窗體打開后,可以對網(wǎng)友發(fā)布的游記信息進行瀏覽。 圖 5-6 網(wǎng)友游記主界面 部分代碼如下: package dao; import java.util.List; import pojo.Voyages; public interface VoyaDAO public void saveVoya(Voyages voyages);/保存游記信息 p
57、ublic List queryAll();/查詢所有游記信息 public Voyages queryByvoyaID(int voyaID);/根據(jù) ID 號查詢游記信息 public void deleteVoya(Voyages voyages);/刪除游記信息 package service; import java.util.List; import pojo.Voyages; public interface VoyaService public boolean addVoya(Voyages voyages);/添加游記 public List findAll();/查找所有游
58、記 public boolean deleteVoya(int voyaID);/刪除游記 5.6 旅游問答信息窗體的設計旅游問答信息窗體的設計 旅游問答窗體打開后,系統(tǒng)用戶可提出一些旅游常見的相關問題并查詢相應回答。 圖 5-7 旅游問答主界面 部分代碼如下: package dao; import java.util.List; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import pojo.Question; public class QuesDAOImpl extends Hibern
59、ateDaoSupport implements QuesDAO public void saveQues(Question question) /保存用戶方法 this.getHibernateTemplate().save(question); SuppressWarnings(unchecked) public Question queryByquesID(int quesID) /根據(jù)用戶名查找 List list = this.getHibernateTemplate(). find(from question where quesID = ?,quesID); if(list.si
60、ze() = 0)/判斷查詢集合是否為空 return null; else return list.get(0);/返回第一個用戶 SuppressWarnings(unchecked) public List queryAll() /根據(jù)權限查詢所有用戶 List list = this.getHibernateTemplate().find(from question); return list; public void deleteQues(Question question) /刪除用戶 this.getHibernateTemplate().delete(question); 5.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 心胸外科護理查房
- 小螃蟹陶藝課件
- 消化道出血的護理常規(guī)
- 腸穿孔病人的護理查房
- 冠狀動脈起源異常的健康宣教
- 《紅樓夢》主題探討 人物形象及寫人藝術(分層練習)-2024-2025學年高一語文(統(tǒng)編版必修下冊)解析版
- 縱隔膿腫的健康宣教
- 肌內(nèi)血管瘤的健康宣教
- 開學前培訓內(nèi)容
- 生產(chǎn)部管理評審輸入資料
- 《上一堂樸素的語文課》讀書交流1
- 工程經(jīng)濟與項目管理(慕課版)
- 某國企2023年度經(jīng)營管理工作總結和2024年工作思路
- 配電工程投標方案(完整技術標)
- 幼兒行為觀察與分析案例教程第2版全套教學課件
- 初中政治答題卡模板A4
- 普通心理學第六版PPT完整全套教學課件
- 北師大版八年級數(shù)學下冊 (圖形的平移)圖形的平移與旋轉(zhuǎn)新課件
- 危險化學品運輸安全講解
- 第二幼兒園-精準資助工作流程
- 一例糖尿病酮癥酸中毒個案護理
評論
0/150
提交評論