摘 要:為了方便游客出行,提高景區(qū)工作效率,本文設計了一種基于MVC模式的旅游管理與推廣系統(tǒng)。本文對旅游行業(yè)對信息化的需求進行了分析,并給出了系統(tǒng)框架與數據庫的整體設計以及關鍵技術的介紹,在此基礎上對各模塊的詳細設計進行了闡述。
關鍵詞:MVC;旅游管理系統(tǒng);數據庫;系統(tǒng)設計
中圖分類號:TP319;F592.6 文獻標識碼:A 文章編號:2096-4706(2018)08-0110-04
Abstract:In order to facilitate tourists to travel and improve the efficiency of scenic spots,this paper designs a tourism management and promotion system based on MVC mode. This paper analyzes the demand for information in the tourism industry,the system framework and the overall design of the database as well as the introduction of the key technologies are given. On the basis of this,the detailed design of each module is expounded.
Keywords:MVC;tourism management system;database;system design
0 引 言
隨著國民生活水平的逐漸提高,外出旅游已經成為人們休閑放松的一種重要形式。近年來,國內旅游市場高速增長,據統(tǒng)計,2017年全年國內旅游人數50.01億人次,比上年同期增長12.8%,其中城鎮(zhèn)居民36.77億人次,農村居民13.24億人次。[1]隨著旅游人數的不斷增加,現代化信息技術也飛躍發(fā)展,旅游行業(yè)與互聯網的結合無疑會使人們出行更加方便。游客通過網絡可以方便地查詢旅游線路,查詢景點周邊住宿與美食,極大地節(jié)省了游客的時間。
目前景區(qū)管理在大部分景區(qū)內已經實現了信息化,但在交通、飲食、景區(qū)等多方面的整合方面還需進一步推進。為了使游客有更好的旅游體驗,有更多的旅游選擇,信息化的旅游管理系統(tǒng)成為方便游客、造福大眾的重要工具?;贛VC模式的旅游管理與推廣系統(tǒng)相比傳統(tǒng)的管理系統(tǒng),不僅可以方便游客制定旅游規(guī)劃,更能讓游客深入了解景區(qū)的具體情況。平臺的推廣功能可以提高企業(yè)的知名度,增加企業(yè)在行業(yè)中的競爭力,是一個既方便游客,又促進企業(yè)發(fā)展的工具。
1 需求分析與系統(tǒng)設計
1.1 需求分析
系統(tǒng)需求分析是項目開發(fā)的基礎,一個良好的系統(tǒng)應該以提升用戶體驗為目標,滿足用戶需求為根本來進行功能設計?;贛VC模式的旅游管理與推廣系統(tǒng)可分為客戶端與管理端兩部分,主要應該具有以下功能:
1.1.1 客戶端
客戶端提供了用戶使用的各種功能,主要包含以下功能模塊:(1)會員模塊:包括用戶注冊和登錄、資料和密碼修改、游記管理、收藏管理及訂單管理功能;(2)線路模塊:包括線路信息查看、線路收藏與預定功能;(3)景點模塊:包括景點信息查看與收藏、景點門票預定功能;(4)游記模塊:包括游記查看與點評、游記搜索、分享及評論功能;(5)訂單模塊:包括機票預訂、火車票預訂以及導游預定等功能。
1.1.2 管理端
系統(tǒng)的功能模塊框圖如圖1所示。系統(tǒng)分為客戶端與管理端,其下又有各種功能模塊。
管理端是供管理員使用,從后臺來管理系統(tǒng)的信息數據,主要包含以下功能模塊:(1)會員模塊:包括會員信息修改及用戶凍結;(2)信息模塊:主要為對用戶反饋的處理;(3)訂單模塊:包括對火車票訂單、機票訂單及導游訂單的處理;(4)資源模塊:包括圖片管理及地區(qū)管理功能;(5)基礎數據模塊:包括旅游線路管理、景點信息管理、導游信息管理及游記信息管理模塊。
1.2 系統(tǒng)設計
基于MVC模式的旅游管理與推廣系統(tǒng)使用B/S架構,Server端完成事務邏輯處理,Browser端主要負責界面表示與極少一部分的邏輯處理。本系統(tǒng)在整體框架上采用了MVC模式,即Model(模型)-View(視圖)-Controller(控制器)模式,該模式是1970年TrygveReenskaug[2]在Smalltalk-80系統(tǒng)上首次提出的,其中M(模型)用于處理數據邏輯的部分,通常負責數據與數據庫的操作;V(視圖)處理數據顯示的部分,通常是依據模型數據創(chuàng)建的;C(控制器)處理用戶交互的部分,接受用戶輸入并調用相應的模型去處理請求,再調用相應的視圖顯示返回的數據。MVC模式實現了顯示與邏輯功能模塊的分離,降低了程序的耦合性,提高了程序的重用性與可維護性,降低了程序開發(fā)的難度且有利于軟件的工程化管理,使開發(fā)人員能夠對程序間錯綜復雜的關系進行正確的處理[3],是目前最流行的Web系統(tǒng)設計模式。
本系統(tǒng)是以業(yè)務驅動為核心,而對于一個優(yōu)秀系統(tǒng)而言,數據是尤其重要的一部分,所以數據庫的設計更顯得尤為關鍵。數據庫設計一般按照步驟可分為6個階段:(1)需求分析;(2)概念結構設計;(3)邏輯結構設計;(4)物理結構設計;(5)數據庫實施;(6)數據庫的運行和維護。
在需求分析階段,需要綜合用戶對于應用的需求,形成數據流程圖(DFD);在概念設計階段,應形成獨立于硬件環(huán)境的實體-聯系圖(E-R圖),同時應保持模型的易理解性與擴展性;到了邏輯設計階段,需要將E-R圖轉換成具體的數據模型,確定數據之間的依賴關系,再建立相應的視圖,形成數據的外模式;在物理設計階段,會根據DBMS的特點以及需要,進行數據庫的物理存儲結構的選取,形成數據庫的內模式。本系統(tǒng)數據庫構成用戶模塊的部分表結構圖,如圖2所示。
本系統(tǒng)共有114張表,每張表對應不同的實體,每個實體具有不同的屬性,各表之間會根據系統(tǒng)業(yè)務需求的不同,對應不同的關系(一對一、一對多、多對多),一個優(yōu)秀的數據庫設計能使系統(tǒng)更加穩(wěn)定,開發(fā)更加便捷。
2 系統(tǒng)架構與關鍵技術
2.1 SSM框架
本系統(tǒng)采用的SSM(Spring +SpringMVC+MyBatis)框架,是目前主流的JavaEE企業(yè)級開發(fā)框架,框架中封裝了大量普通項目中需要重復書寫的代碼,使調用過程更加簡便,極大地方便了程序的開發(fā)。
Spring框架是一種為了解決企業(yè)應用開發(fā)復雜性而創(chuàng)建的框架,主要優(yōu)勢是可以使系統(tǒng)實現分層,達到松耦合的特點。Spring最主要的核心為面向切面編程(Aspect Oriented Programming,AOP)和反轉控制(Inversion of Control,IoC),在本系統(tǒng)中,主要使用IOC容器來實現對象的控制,完成對象的注入。Spring的優(yōu)點主要體現在其能夠簡化開發(fā)過程,支持AOP以及聲明式事務,對各種優(yōu)秀框架的集成以及更加方便的測試過程。Spring框架由7個基礎模塊組成[4],各模塊既能單獨存在,也可以和其他模塊聯合存在,各個模塊是在核心容器之上建立的,使得用戶可以根據自己的項目需求來挑選合適的模塊加入到項目中。
SpringMVC是Spring提供的一個用于構件Web應用的MVC框架,它是一種請求驅動的Web框架,核心為處理器映射(HandlerMapping)和視圖解析器(ViewResolver),通過HandlerMapping選擇相應的控制器來相應地處理請求,使用ViewResolver選擇相應的視圖來渲染結果,使得處理請求與視圖的選擇之間實現松耦合。
Mybatis是一個Java持久層的框架,可以使用XML描述符或注解來配置和映射原生信息,將Java對象映射到數據庫中的記錄。[5]其優(yōu)點在于框架簡單小巧,用戶可以自己編寫SQL語句,進行SQL優(yōu)化,使用更加靈活。相比較其他持久層框架(如Hibernate),Mybatis具有自由、靈活的特點,所以它更適用于需求多變的項目場景。
2.2 MySQL
MySQL是一種關系型數據庫管理系統(tǒng),相比較其他數據庫管理系統(tǒng)如Oracle,SQLServer等,MySQL具有體積小、速度快,免費開源且可根據自身情況定制功能等特點,使得大量中小型企業(yè)將其作為數據庫的首選。[6]MySQL具有多語言支持的特點,如C/C++、Java、PHP等多種編程語言,為其提供了API,使用更加簡便,且其核心程序完全使用多線程編程,使得運行效率更高。
2.3 Tomcat
Tomcat服務器是一種輕量級的JavaWeb服務器,是一種JavaServlet和JSP容器,適用于中小型且并發(fā)訪問用戶不多的JavaWeb應用,具有免費開源、移植性好、配置簡單的特點。Tomcat可以將訪問的JSP文件編譯成一個Servlet,Servlet再將相應的數據發(fā)送給瀏覽器,完成請求的處理。
3 詳細功能設計
該旅游管理與推廣系統(tǒng)從構成上分為前臺客戶端和后臺管理端兩部分,客戶端面向的是客戶,應該以操作簡單、界面美觀、功能完善為設計目標;而管理端面向的是管理員,應該以方便管理、界面簡潔為設計目標,根據面向使用者的不同,系統(tǒng)設計也不同。
3.1 前臺客戶端設計
前臺客戶端的使用者為廣大用戶,所以系統(tǒng)界面的設計顯得尤其重要,一個優(yōu)秀的系統(tǒng)界面應該方便用戶的操作,提高用戶的使用體驗,以達到吸引用戶的目的。首頁作為用戶訪問的第一個頁面,應該包括系統(tǒng)的所有主要模塊,并顯示在界面最顯眼的位置,使用戶能迅速找到需要的功能。下面詳細介紹前臺系統(tǒng)功能中的會員模塊、線路模塊與訂單模塊。
3.1.1 會員模塊
會員模塊主要包括關于會員個人信息的各種功能,首先是注冊登錄功能。未注冊的用戶只能使用部分系統(tǒng)功能,如瀏覽信息等,而需要使用更多的功能,如預定門票、購買車票等功能時,只有登錄之后才能使用。會員在登錄之后可以在“個人中心”查看個人信息以及修改個人信息與密碼,還可以查看用戶的訂單信息。
3.1.2 線路模塊
線路模塊為旅游管理與推廣系統(tǒng)的核心業(yè)務之一,該模塊為用戶提供了旅游線路信息查看、線路篩選、線路預定等功能。在線路列表中可根據旅游類型(如周邊游、國內游、出境游等)、旅游天數進行線路篩選;在線路詳細信息界面中包括行程的詳細介紹、費用說明、行程預定、用戶評價等功能。
3.1.3 訂單模塊
訂單模塊是貫穿整個系統(tǒng)的一個模塊,所有產生訂單信息的功能均屬于該模塊,該模塊包括旅游線路的預定、景點門票購買、機票與火車票的預定、導游預定等業(yè)務產生的訂單信息。產生的訂單詳細信息可在會員中心的“我的訂單”中查看,根據不同的業(yè)務產生的訂單分別顯示各自的訂單詳情。
3.2 后臺管理端設計
后臺管理端的使用者為系統(tǒng)的管理員,所以在界面設計上與客戶端不同,它不需要有炫麗的界面,只需有完善的管理功能以及合理的功能分類即可,能方便管理員高效地對系統(tǒng)進行管理。下面主要介紹系統(tǒng)后臺中的會員模塊、資源模塊與基礎數據模塊。
3.2.1 會員模塊
會員模塊是管理員對網站的會員賬號信息進行管理的部分,包括用戶信息查看、密碼初始化以及用戶凍結。用戶信息查看功能可以查看每個用戶的詳細信息,當用戶忘記密碼或者賬戶被盜時,可以聯系管理員進行密碼重置操作,如果發(fā)現用戶賬戶異常可通過用戶凍結功能暫時將用戶鎖定,凍結的用戶不能再進行賬戶相關操作。
3.2.2 資源模塊
資源模塊主要對整個系統(tǒng)中的圖片以及地區(qū)進行管理。系統(tǒng)中圖片包括用戶上傳的圖片、景點中的圖片、線路中的圖片以及導游圖片等,按照類別分別顯示,管理員可以對這些圖片進行刪除、修改等操作,防止用戶上傳違規(guī)圖片,達到規(guī)范系統(tǒng)環(huán)境的目的。地區(qū)管理是對系統(tǒng)中涉及的地理位置以及商圈進行管理,包括添加、刪除、修改等功能,實現地區(qū)的精確管理。
3.2.3 基礎數據模塊
基礎數據模塊為系統(tǒng)核心數據的管理,包括線路基礎數據、景點基礎數據、導游基礎數據、游記基礎數據。基礎數據為配置模塊框架的數據,為支撐模塊的核心內容,管理員通過對基礎數據的配置完成模塊信息管理。例如:線路基礎數據包括線路類型(周邊游、出境游等)、線路主題(美食游、蜜月游等),景點基礎數據為配置景點類型等數據。
4 系統(tǒng)實現
首先是系統(tǒng)首頁,系統(tǒng)首頁是進入系統(tǒng)后的第一個頁面,其界面展示如圖3所示。
后臺管理端為管理員操作的部分,其界面展示如圖4所示。
5 結 論
為了使旅游產業(yè)現代化和信息化,響應國家對“互聯網+旅游”的新產業(yè)模式的政策號召,旅游管理與推廣系統(tǒng)應運而生。本文設計了基于MVC模式的旅途管理與推廣系統(tǒng),分析了用戶對系統(tǒng)的需求,完成了系統(tǒng)的數據庫設計,對系統(tǒng)的總體框架與關鍵技術進行了介紹,并給出了系統(tǒng)的界面實現結果。
參考文獻:
[1] 中華人民共和國文化和旅游部.2017年全年旅游市場及綜合貢獻數據報告 [OL].[2018-02-06].http://www.cnta.gov.cn/zwgk/lysj/201802/t20180206_855832.shtml.
[2] Reenskaug,T.(1979)MODELS—VIEWS—CONTRO LLERS.Technical Note,Xerox PARC [OL].[2018-05-06].http://heim.ifi.uio.no/~trygver/mvc/index.html.
[3] 李展飛.Web軟件系統(tǒng)開發(fā)框架設計在MVC模式的實現 [J].電子技術與軟件工程,2017(8):61.
[4] Spring官網,Spring框架使用手冊.https://docs.spring.io/spring/docs/4.3.18.BUILD-SNAPSHOT/ spring-framework-reference/htmlsingle/.
[5] abatis官網,MyBatis簡介.http://www.mybatis.org/mybatis-3/zh/index.html.
[6] 吳晶.基于Web的旅游管理系統(tǒng)的設計與實現 [J].電子設計工程,2016,24(18):34-36+43.
作者簡介:劉旭宏(1990-),男,漢族,陜西西安人,碩士。研究方向:計算機技術。