基于MVC模式的旅游管理与推广系统设计和实现

2018-10-21 10:52刘旭宏
现代信息科技 2018年8期
关键词:系统设计数据库

摘 要:为了方便游客出行,提高景区工作效率,本文设计了一种基于MVC模式的旅游管理与推广系统。本文对旅游行业对信息化的需求进行了分析,并给出了系统框架与数据库的整体设计以及关键技术的介绍,在此基础上对各模块的详细设计进行了阐述。

关键词:MVC;旅游管理系统;数据库;系统设计

中图分类号: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 引 言

随着国民生活水平的逐渐提高,外出旅游已经成为人们休闲放松的一种重要形式。近年来,国内旅游市场高速增长,据统计,2017年全年国内旅游人数50.01亿人次,比上年同期增长12.8%,其中城镇居民36.77亿人次,农村居民13.24亿人次。[1]随着旅游人数的不断增加,现代化信息技术也飞跃发展,旅游行业与互联网的结合无疑会使人们出行更加方便。游客通过网络可以方便地查询旅游线路,查询景点周边住宿与美食,极大地节省了游客的时间。

目前景区管理在大部分景区内已经实现了信息化,但在交通、饮食、景区等多方面的整合方面还需进一步推进。为了使游客有更好的旅游体验,有更多的旅游选择,信息化的旅游管理系统成为方便游客、造福大众的重要工具。基于MVC模式的旅游管理与推广系统相比传统的管理系统,不仅可以方便游客制定旅游规划,更能让游客深入了解景区的具体情况。平台的推广功能可以提高企业的知名度,增加企业在行业中的竞争力,是一个既方便游客,又促进企业发展的工具。

1 需求分析与系统设计

1.1 需求分析

系统需求分析是项目开发的基础,一个良好的系统应该以提升用户体验为目标,满足用户需求为根本来进行功能设计。基于MVC模式的旅游管理与推广系统可分为客户端与管理端两部分,主要应该具有以下功能:

1.1.1 客户端

客户端提供了用户使用的各种功能,主要包含以下功能模块:(1)会员模块:包括用户注册和登录、资料和密码修改、游记管理、收藏管理及订单管理功能;(2)线路模块:包括线路信息查看、线路收藏与预定功能;(3)景点模块:包括景点信息查看与收藏、景点门票预定功能;(4)游记模块:包括游记查看与点评、游记搜索、分享及评论功能;(5)订单模块:包括机票预订、火车票预订以及导游预定等功能。

1.1.2 管理端

系统的功能模块框图如图1所示。系统分为客户端与管理端,其下又有各种功能模块。

管理端是供管理员使用,从后台来管理系统的信息数据,主要包含以下功能模块:(1)会员模块:包括会员信息修改及用户冻结;(2)信息模块:主要为对用户反馈的处理;(3)订单模块:包括对火车票订单、机票订单及导游订单的处理;(4)资源模块:包括图片管理及地区管理功能;(5)基础数据模块:包括旅游线路管理、景点信息管理、导游信息管理及游记信息管理模块。

1.2 系统设计

基于MVC模式的旅游管理与推广系统使用B/S架构,Server端完成事務逻辑处理,Browser端主要负责界面表示与极少一部分的逻辑处理。本系统在整体框架上采用了MVC模式,即Model(模型)-View(视图)-Controller(控制器)模式,该模式是1970年TrygveReenskaug[2]在Smalltalk-80系统上首次提出的,其中M(模型)用于处理数据逻辑的部分,通常负责数据与数据库的操作;V(视图)处理数据显示的部分,通常是依据模型数据创建的;C(控制器)处理用户交互的部分,接受用户输入并调用相应的模型去处理请求,再调用相应的视图显示返回的数据。MVC模式实现了显示与逻辑功能模块的分离,降低了程序的耦合性,提高了程序的重用性与可维护性,降低了程序开发的难度且有利于软件的工程化管理,使开发人员能够对程序间错综复杂的关系进行正确的处理[3],是目前最流行的Web系统设计模式。

本系统是以业务驱动为核心,而对于一个优秀系统而言,数据是尤其重要的一部分,所以数据库的设计更显得尤为关键。数据库设计一般按照步骤可分为6个阶段:(1)需求分析;(2)概念结构设计;(3)逻辑结构设计;(4)物理结构设计;(5)数据库实施;(6)数据库的运行和维护。

在需求分析阶段,需要综合用户对于应用的需求,形成数据流程图(DFD);在概念设计阶段,应形成独立于硬件环境的实体-联系图(E-R图),同时应保持模型的易理解性与扩展性;到了逻辑设计阶段,需要将E-R图转换成具体的数据模型,确定数据之间的依赖关系,再建立相应的视图,形成数据的外模式;在物理设计阶段,会根据DBMS的特点以及需要,进行数据库的物理存储结构的选取,形成数据库的内模式。本系统数据库构成用户模块的部分表结构图,如图2所示。

本系统共有114张表,每张表对应不同的实体,每个实体具有不同的属性,各表之间会根据系统业务需求的不同,对应不同的关系(一对一、一对多、多对多),一个优秀的数据库设计能使系统更加稳定,开发更加便捷。

2 系统架构与关键技术

2.1 SSM框架

本系统采用的SSM(Spring +SpringMVC+MyBatis)框架,是目前主流的JavaEE企业级开发框架,框架中封装了大量普通项目中需要重复书写的代码,使调用过程更加简便,极大地方便了程序的开发。

Spring框架是一种为了解决企业应用开发复杂性而创建的框架,主要优势是可以使系统实现分层,达到松耦合的特点。Spring最主要的核心为面向切面编程(Aspect Oriented Programming,AOP)和反转控制(Inversion of Control,IoC),在本系统中,主要使用IOC容器来实现对象的控制,完成对象的注入。Spring的优点主要体现在其能够简化开发过程,支持AOP以及声明式事务,对各种优秀框架的集成以及更加方便的测试过程。Spring框架由7个基础模块组成[4],各模块既能单独存在,也可以和其他模块联合存在,各个模块是在核心容器之上建立的,使得用户可以根据自己的项目需求来挑选合适的模块加入到项目中。

SpringMVC是Spring提供的一个用于构件Web应用的MVC框架,它是一种请求驱动的Web框架,核心为处理器映射(HandlerMapping)和视图解析器(ViewResolver),通过HandlerMapping选择相应的控制器来相应地处理请求,使用ViewResolver选择相应的视图来渲染结果,使得处理请求与视图的选择之间实现松耦合。

Mybatis是一个Java持久层的框架,可以使用XML描述符或注解来配置和映射原生信息,将Java对象映射到数据库中的记录。[5]其优点在于框架简单小巧,用户可以自己编写SQL语句,进行SQL优化,使用更加灵活。相比较其他持久层框架(如Hibernate),Mybatis具有自由、灵活的特点,所以它更适用于需求多變的项目场景。

2.2 MySQL

MySQL是一种关系型数据库管理系统,相比较其他数据库管理系统如Oracle,SQLServer等,MySQL具有体积小、速度快,免费开源且可根据自身情况定制功能等特点,使得大量中小型企业将其作为数据库的首选。[6]MySQL具有多语言支持的特点,如C/C++、Java、PHP等多种编程语言,为其提供了API,使用更加简便,且其核心程序完全使用多线程编程,使得运行效率更高。

2.3 Tomcat

Tomcat服务器是一种轻量级的JavaWeb服务器,是一种JavaServlet和JSP容器,适用于中小型且并发访问用户不多的JavaWeb应用,具有免费开源、移植性好、配置简单的特点。Tomcat可以将访问的JSP文件编译成一个Servlet,Servlet再将相应的数据发送给浏览器,完成请求的处理。

3 详细功能设计

该旅游管理与推广系统从构成上分为前台客户端和后台管理端两部分,客户端面向的是客户,应该以操作简单、界面美观、功能完善为设计目标;而管理端面向的是管理员,应该以方便管理、界面简洁为设计目标,根据面向使用者的不同,系统设计也不同。

3.1 前台客户端设计

前台客户端的使用者为广大用户,所以系统界面的设计显得尤其重要,一个优秀的系统界面应该方便用户的操作,提高用户的使用体验,以达到吸引用户的目的。首页作为用户访问的第一个页面,应该包括系统的所有主要模块,并显示在界面最显眼的位置,使用户能迅速找到需要的功能。下面详细介绍前台系统功能中的会员模块、线路模块与订单模块。

3.1.1 会员模块

会员模块主要包括关于会员个人信息的各种功能,首先是注册登录功能。未注册的用户只能使用部分系统功能,如浏览信息等,而需要使用更多的功能,如预定门票、购买车票等功能时,只有登录之后才能使用。会员在登录之后可以在“个人中心”查看个人信息以及修改个人信息与密码,还可以查看用户的订单信息。

3.1.2 线路模块

线路模块为旅游管理与推广系统的核心业务之一,该模块为用户提供了旅游线路信息查看、线路筛选、线路预定等功能。在线路列表中可根据旅游类型(如周边游、国内游、出境游等)、旅游天数进行线路筛选;在线路详细信息界面中包括行程的详细介绍、费用说明、行程预定、用户评价等功能。

3.1.3 订单模块

订单模块是贯穿整个系统的一个模块,所有产生订单信息的功能均属于该模块,该模块包括旅游线路的预定、景点门票购买、机票与火车票的预定、导游预定等业务产生的订单信息。产生的订单详细信息可在会员中心的“我的订单”中查看,根据不同的业务产生的订单分别显示各自的订单详情。

3.2 后台管理端设计

后台管理端的使用者为系统的管理员,所以在界面设计上与客户端不同,它不需要有炫丽的界面,只需有完善的管理功能以及合理的功能分类即可,能方便管理员高效地对系统进行管理。下面主要介绍系统后台中的会员模块、资源模块与基础数据模块。

3.2.1 会员模块

会员模块是管理员对网站的会员账号信息进行管理的部分,包括用户信息查看、密码初始化以及用户冻结。用户信息查看功能可以查看每个用户的详细信息,当用户忘记密码或者账户被盗时,可以联系管理员进行密码重置操作,如果发现用户账户异常可通过用户冻结功能暂时将用户锁定,冻结的用户不能再进行账户相关操作。

3.2.2 资源模块

资源模块主要对整个系统中的图片以及地区进行管理。系统中图片包括用户上传的图片、景点中的图片、线路中的图片以及导游图片等,按照类别分别显示,管理员可以对这些图片进行删除、修改等操作,防止用户上传违规图片,达到规范系统环境的目的。地区管理是对系统中涉及的地理位置以及商圈进行管理,包括添加、删除、修改等功能,实现地区的精确管理。

3.2.3 基础数据模块

基础数据模块为系统核心数据的管理,包括线路基础数据、景点基础数据、导游基础数据、游记基础数据。基础数据为配置模块框架的数据,为支撑模块的核心内容,管理员通过对基础数据的配置完成模块信息管理。例如:线路基础数据包括线路类型(周边游、出境游等)、线路主题(美食游、蜜月游等),景点基础数据为配置景点类型等数据。

4 系统实现

首先是系统首页,系统首页是进入系统后的第一个页面,其界面展示如图3所示。

后台管理端为管理员操作的部分,其界面展示如图4所示。

5 结 论

为了使旅游产业现代化和信息化,响应国家对“互联网+旅游”的新产业模式的政策号召,旅游管理与推广系统应运而生。本文设计了基于MVC模式的旅途管理与推广系统,分析了用户对系统的需求,完成了系统的数据库设计,对系统的总体框架与关键技术进行了介绍,并给出了系统的界面实现结果。

参考文献:

[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软件系统开发框架设计在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的旅游管理系统的设计与实现 [J].电子设计工程,2016,24(18):34-36+43.

作者简介:刘旭宏(1990-),男,汉族,陕西西安人,硕士。研究方向:计算机技术。

猜你喜欢
系统设计数据库
数据库
一种基于SATA硬盘阵列的数据存储与控制系统设计研究
目标特性测量雷达平台建设构想
数据库
数据库
数据库