基于JavaWeb和Mysql的旅游信息管理系统设计与实现
摘 要
经济在发展,生产总值GDP也会往上跑,生活质量也会上升一个等级,也是因为这一个原因,人们可以选择各种各样的方式去丰富自己的生活,旅游当然是里面不可或缺的一员。现在的人们都喜欢旅游并且把它当做是一种乐趣,这是一种很理想的放松自己的生活方式。但是在火车站买票会造成时间上的一定损失以及各种的不方便,加上对各个地方景点信息的不熟悉,导致在这一方面会浪费太多的时间。现在互联网的发展是非常迅速的,基本上贯彻到了我们生活的各个角落,因而一个能够线上购票的旅游系统是十分需要的。
旅游信息管理系统是用JAVA语言开发的,运用了Mysql数据库,前端页面使用了JSP+JavaScript+CSS进行设计。通过SSM框架,对JSP页面进行动态设计,保证了它的可维护性。
关键词 :JAVA;旅游;互联网;SSM
1 绪论
1.1 设计背景
经济的发展速度越来越快,生活水平也跟着提了上去,我们可以选择我们所喜欢的方式去享受生活。旅游是这个时代背景下享受生活的不可或缺的代名词,人们需要旅游这一种休闲方式去完全的放松自己。在信息快速发展的互联网信息化时代,我们不能在出发前才去询问一切的相关出行信息,这是非常耗费时间的一种做法。旅游业的兴起带来的是游客的增多,这也会导致管理者的工作量加重,不仅浪费我们的人力物力和时间,效率也非常的低下。因此需要一个旅游信息管理系统来解决这个问题,可以快速高效的了解所要旅行的目的地的信息,节约了时间,提高了效率。
1.2 设计意义
通过本系统的开发,用户可以进入网站首页,注册并登陆了解相关旅游信息,也可以在线购票。为了使用户能高效、方便、快捷地了解想要查询的信息,网页内有简单的查询地点的功能。同时,为了方便用户,此系统设置了网站内的新闻信息,获取信息更高效。管理者可以减少服务量并大大提高了工作效率,用户在此过程中也可以节省时间和大量的人力物力。这是一种大家都喜欢的双赢局面。
1.3 设计思路
-
市场调研 :采取调查问卷、座谈会等方式,分析总结数据
-
系统需求分析 :首先剖析系统所需要用到的一些基本功能,系统要实现的功能及可能遇到的难点难题
-
概要设计 :使用Windows系统和选择Java编程语言来进行设计,同时进行数据库的设计
-
详细设计 :首先划分系统模块、设计总体框图;然后分析模块需求、抽象出实现功能模块的各个类;再设计类的属性、方法;最后进行系统界面的设计、美化
-
编码实现 :依照上一步的详细设计,编码写好项目功能
-
系统测试总结 :对有的每一个功能都写出测试的例子,依据测试的例子进行每一项测试
-
修复bug :当测试完成后,依据结果来修复各模块或大或小的bug
-
毕业设计完善 :最后通过导师的指导,依据自身具体的毕业实习情况,对此次毕业设计项目进行完善和修改
2 需求分析
2.1 需求描述
本系统有权限管理,区分管理员和用户权限。拥有管理员权限的用户将具有有旅行社管理,评价管理,订单管理,用户管理,酒店管理,类目管理,团目管理全部功能。用户有可以注册登录,添加购物车和个人信息修改,订单管理,预订商品的功能。
2.2 用例建模
拥有管理员权限的用户将具有景点栏目、新闻栏目、网站用户、订单管理等一系列管理权限。管理员登录后可以对用户及景点的信息进行增删改查,对订单的管理。该功能的实例见图2-1:
用户有订单管理,购物车管理,修改个人基本信息的功能。该功能的实例见下图2-2:
2.3 用例描述
2.3.1 用户管理用例描述
- 用户管理用例描述
- 用例编号:CASE01
- 用例名称:用户管理
- 用例描述:系统管理员对用户的信息进行CRUD操作
- 前置条件:系统管理员成功登录系统
- 后置条件:系统管理员对用户模块进行了操作:添加用户信息,修改用户信息,删除用户信息或查看用户信息的操作
-
活动步骤
- 系统管理员登录系统
- 系统以分页模式显示用户列表(每页10条)
- 系统管理用户点中【新增用户】,弹出新建用户界面,管理权限用户输入用户信息,点中【提交保存】,系统对输入的信息进行验证,将合法的信息保存,然后显示新增后的用户列表
- 拥有管理员权限的用户在用户列表中选中一个用户,点中【修改】,弹出用户修改界面,显示用户的当前信息,管理员更改用户信息,点击【提交修改】,系统对输入的信息进行验证,将合法的信息保存,然后显示修改后的用户列表
- 系统管理员登录后可以看到所有用户的列表,可以查看所有用户的相关信息
- 系统管理员在用户列表中选择某个用户,点击【删除】,弹出删除提示框,当用户确定删除后,系统将当前用户信息删除,并返回到用户列表,显示删除后的用户列表
- 扩展点:管理员在登录时进入的是后台管理页面,拥有所有权限
-
数据格式:用户信息(用户ID、用户名、姓名、用户电话、身份证号、地址)
-
景点管理用例描述
- 用例编号:CASE02
- 用例名称:团目管理
- 用例描述:系统管理员对团目的信息进行CRUD操作
- 前置条件:系统管理员成功登录系统
- 后置条件:系统管理员对景点管理模块进行了操作:添加团目信息,修改团目信息,删除团目信息或者查看团目信息
-
活动步骤
- 系统管理员登录系统
- 系统以分页模式显示景点信息(每页10条)
- 系统管理点击【添加旅游团目】按钮,弹出新增团目界面,系统管理员上传图片,输入相关信息,点击【提交保存】,系统对输入的信息进行验证,将合法的信息保存,然后显示新增后的景点列表
- 系统管理员在景点列表中选择某个团目,点击【修改】,弹出团目信息修改界面,显示团目的当前信息,管理员更改景点信息,点击【提交修改】,系统对输入的信息进行验证,将合法的信息保存,然后显示修改后的景点列表
- 系统管理员在团目列表中选择某个团目信息,点击标题,弹出团目信息界面,显示团目的当前信息
- 系统管理员在团目信息列表中选择某个团目,点击【删除】,弹出删除提示框,点击【确定】,系统将当前团目信息删除,并返回到团目列表,显示删除后的团目列表
- 可以进行【加入热销】和【移出热销】的操作,【加入新品】和【移出新品】的操作,显示在前端页面
- 扩展点:只有管理员可以对团目信息进行增删改查等相关操作
- 数据格式:景点信息(图片、名称、介绍、时间、价格、类目、旅行社)
3 系统设计
3.1 数据库设计
数据库的的设计主要从路线表出发,除了登录表所有的表都与之有所关联。因此其他各个表都应该创建与之关联的外键,建立外键约束。
-
所有的主键都必须为 not null
-
创建关联时明确好一对一,多对一,一对多的关系
3.1.1 概念模型
旅游信息系统概念模型图见下图3-1:
3.1.2 逻辑模型
旅游信息系统逻辑模型图见下图3-2:
3.1.3 物理模型
旅游信息系统物理模型图见下图3-3:
3.1.4 系统功能结构图
旅游信息系统功能结构图见下图3-4:
3.1.5 数据库脚本
sql
/*
Navicat MySQL Data Transfer
Source Server : localMySQL
Source Server Version : 50553
Source Host : localhost:3306
Source Database : yiyu
Target Server Type : MYSQL
Target Server Version : 50553
File Encoding : 65001
Date: 2018-06-15 08:47:29
*/
SET FOREIGN_KEY_CHECKS=0;
-- Table structure for admins
DROP TABLE IF EXISTS `admins`;
CREATE TABLE `admins` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`realname` varchar(255) DEFAULT NULL,
`phone` varchar(20) DEFAULT NULL,
`roleId` tinyint(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
-- Records of admins
-- Table structure for comment
DROP TABLE IF EXISTS `comment`;
CREATE TABLE `comment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '评价时间',
`text` varchar(2000) DEFAULT NULL COMMENT '评价内容',
`status` tinyint(1) DEFAULT NULL COMMENT '评价状态(0-待评价,1已评价)',
`orderId` int(11) DEFAULT NULL COMMENT '订单ID',
`userId` int(11) DEFAULT NULL,
`username` varchar(255) DEFAULT NULL,
`checkStatus` tinyint(2) DEFAULT NULL COMMENT '审核状态',
`adminId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;
-- Records of comment
-- Table structure for goods
DROP TABLE IF EXISTS `goods`;
CREATE TABLE `goods` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL COMMENT '名称',
`cover` varchar(255) DEFAULT NULL COMMENT '封面',
`image1` varchar(255) DEFAULT NULL COMMENT '细节图片1',
`image2` varchar(255) DEFAULT NULL COMMENT '细节图片2',
`price` int(11) DEFAULT NULL COMMENT '价格',
`intro` varchar(255) DEFAULT NULL COMMENT '介绍',
`stock` int(11) DEFAULT '0' COMMENT '库存',
`type_id` int(11) DEFAULT NULL COMMENT '分类',
`travel_id` int(11) DEFAULT NULL COMMENT '旅行社',
`beginDate` date DEFAULT NULL,
`endDate` date DEFAULT NULL,
`adminId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8;
-- Records of goods
-- Table structure for hotel
DROP TABLE IF EXISTS `hotel`;
CREATE TABLE `hotel` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`hotelName` varchar(255) DEFAULT NULL,
`hotelAddress` varchar(255) DEFAULT NULL,
`hotelPhone` varchar(25) DEFAULT NULL,
`hotelRemark` varchar(10000) DEFAULT NULL,
`price` int(11) DEFAULT NULL,
`image` varchar(255) DEFAULT NULL,
`stock` int(11) DEFAULT NULL COMMENT '人数',
`adminId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
-- Records of hotel
-- Table structure for items
DROP TABLE IF EXISTS `items`;
CREATE TABLE `items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`price` int(11) DEFAULT NULL COMMENT '价格',
`amount` int(11) DEFAULT NULL COMMENT '数量',
`order_id` int(11) DEFAULT NULL COMMENT '订单id',
`good_id` int(11) DEFAULT NULL COMMENT '团目id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8;
-- Records of items
-- Table structure for itemshotel
DROP TABLE IF EXISTS `itemshotel`;
CREATE TABLE `itemshotel` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`price` int(11) DEFAULT NULL COMMENT '购买时价格',
`amount` int(11) DEFAULT NULL COMMENT '购买数量',
`order_id` int(11) DEFAULT NULL COMMENT '订单id',
`hotel_id` int(11) DEFAULT NULL COMMENT '团目id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
-- Records of itemshotel
-- Table structure for orders
DROP TABLE IF EXISTS `orders`;
CREATE TABLE `orders` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`total` int(11) DEFAULT NULL COMMENT '总价',
`amount` int(11) DEFAULT NULL COMMENT '总数',
`status` tinyint(4) DEFAULT '1' COMMENT '订单状态(1未付款/2已付款/3已发货/4已完成)',
`paytype` tinyint(4) DEFAULT '0' COMMENT '支付方式 (1微信/2支付宝/3货到付款)',
`name` varchar(255) DEFAULT NULL COMMENT '收货人',
`phone` varchar(255) DEFAULT NULL COMMENT '收货电话',
`address` varchar(255) DEFAULT NULL COMMENT '收货地址',
`systime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '下单时间',
`user_id` int(11) DEFAULT NULL COMMENT '下单用户',
`commentStatus` tinyint(2) DEFAULT NULL COMMENT '1未评价/2已评价',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8;
-- Records of orders
-- Table structure for role
DROP TABLE IF EXISTS `role`;
CREATE TABLE `role` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
-- Records of role
-- Table structure for tops
DROP TABLE IF EXISTS `tops`;
CREATE TABLE `tops` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` tinyint(4) DEFAULT NULL COMMENT '推荐类型(1条幅/2大图/3小图)',
`good_id` int(11) DEFAULT NULL COMMENT '项目id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COMMENT='首页推荐商品';
-- Records of tops
-- Table structure for travel
DROP TABLE IF EXISTS `travel`;
CREATE TABLE `travel` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`travelAddress` varchar(255) DEFAULT NULL,
`travelCode` varchar(50) DEFAULT NULL COMMENT '邮编',
`travelName` varchar(255) DEFAULT NULL,
`travelPhone` varchar(20) DEFAULT NULL,
`travelRemark` varchar(10000) DEFAULT NULL,
`adminId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8;
-- Records of travel
-- Table structure for types
DROP TABLE IF EXISTS `types`;
CREATE TABLE `types` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
-- Records of types
-- Table structure for users
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL COMMENT '用户名',
`password` varchar(255) DEFAULT NULL COMMENT '密码',
`name` varchar(255) DEFAULT NULL COMMENT '收货人',
`phone` varchar(25) DEFAULT NULL COMMENT '收货电话',
`address` varchar(255) DEFAULT NULL COMMENT '收货地址',
`idCard` varchar(255) DEFAULT NULL,
`register` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`sex` tinyint(1) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
-- Records of users
3.2 系统架构设计
采用MVP的设计模式,使用JSP页面实现视图。com.controller存放所有的Action类,起到控制器的效果;com.dao进行数据库操作;com.entity存放所有的实体类;com.mapper存放数据库语句;com.Service对业务逻辑进行处理;com.util为公共类。
4 产品实现
4.1 管理员登录模块实现
4.1.1 界面设计
管理员登录界面
管理员登录成功页面
4.1.2 功能实现
下面是管理员实现登录的Controller层、DAO层、Service层主要代码图:
4.2 用户登录模块实现
4.2.1 界面设计
用户登录界面
用户登录成功界面
4.2.2 功能实现
下面是用户登录的Controller层、DAO层、Service层主要代码图:
5 产品测试
5.1 测试方法与策略
对系统采用实际操作的方法,对系统的每个功能都进行了增删改查的相关操作,查看是否出现了什么问题,再对系统进行优化和改善。
5.2 管理员模块测试
5.3 用户模块测试
6 结论
6.1 毕业设计成果特点
旅游信息管理系统的设计思路较为清晰,页面的设计也是非常人性化,对大众比较友好,操作的话会非常方便快捷。
在这个互联网发展迅速的信息化时代,效率就显得非常重要。而旅游信息管理系统的出现也是从一定程度上解决了这个问题。让数据拥有时效性和及时性,同时也节约了人力和物力,降低了成本。
6.2 设计成果的实用价值或应用前景
此系统是为旅游信息服务而进行开发设计的,设计的主要思路为:让用户能注册登录,而且能够进行购买预订等的操作。系统区分权限管理,有系统管理员和用户两个权限。当管理员登录时,能够对用户和类目的进行操作管理,也能够对订单及酒店进行管理等操作。用户使用本系统进行登录,可以预订团目 ,旅行社和酒店等操作。本系统基于SSM,界面整洁人性化,非常方便于广大用户的使用。
6.3 不足之处或遗留未予解决的问题
本次开发遇到了许许多多或大或小的Bug,基本上都是自己通过多次的设置断点进行调试,不能解决的话用搜索引擎以及博客系统进行解决,解决不了的时候会请教老师和同学。在这一段解决Bug的过程中也是收获了不少东西。
虽然遇到了不少的Bug,但是基本上都解决了。本系统的功能比较完好,用户的基本需求也能够满足,但由于自己的技术水平的局限性,当前的系统依然缺乏一些东西。自然而然的,本系统也一定还存在着许多未知的问题等着去解决。这些局限性在日后会慢慢解决,逐渐争取让客户满意。
参考文献
[1] 孙飞显,孙俊玲,马杰.《MySQL数据实用教程》.清华大学出版社.2015年11月第一版.
[2] 谢英辉.《HTML+CSS+JavaScript网页客户端程序设计》.电子工业出版社,2014年1月.
[3] 崔敬东,徐雷.《Java程序设计基础教程》.清华大学出版社,2016年1月.
[4] 罗谦. 试谈Java语言的Mysql数据库连接实现与处理[J]. 信息科学,2014(8):105.
[5] 秦鑫. 旅游管理网站系统的设计与实现[D]. 大连:大连理工大学,2013.
[6] 李洋. SSM框架在Web应用开发中的设计与实现[J]. 计算机技术与发展,2016,26(12):190-194.
[7] 肖祥林. 基于SSM的毕业设计管理系统设计与实现[J]. 电子科技,2016,29(10):115-117.
[8] 杨桂才. 在线商品销售系统的设计与实现[D]. 云南大学, 2015.
[9] 付岩. 旅游信息管理系统[D]. 内蒙古大学, 2009.
[10] 丁圣. 面向LED显示屏的新农村综合信息服务系统的分析与设计[D]. 云南大学, 2014.
[11] 张姝. 重点项目工程管理系统的设计与实现[D]. 西安电子科技大学, 2017.
[12] 冷若雁. 安顺学院工资管理信息系统分析与设计[D]. 云南大学, 2015.
[13] 马捷 李俊民. 地理信息系统在区域旅游中的应用[D]. 安阳师范学院学报, 2003.
[14] 张跃辉. 基于RBAC通用授权管理系统的研究和实现[D]. 电子科技大学, 2012.
[15] 庄国贤. 电力调度监控信号事项分析系统的分析与设计[D]. 云南大学, 2014.
[16] 方辉. 基于ASPNET的在线学位论文评审系统设计与实现[D]. 广西师范大学, 2017.
[17] 杨婧媛. 统一用户信息管理服务框架的设计与实现[D]. 北京邮电大学, 2015.
[18] 刘铭昊. 旅游信息管理系统与旅游网站设计[D]. 天津大学, 2017.
参考文献
- 酒店资源管理预订系统的设计与实现(南京大学·朱世杰)
- 基于J2EE的旅游信息服务系统(吉林大学·杨桂霞)
- 基于B/S架构的酒店管理系统的设计与实现(电子科技大学·耿立博)
- 山西省旅游集散中心信息管理系统设计与实现(大连理工大学·郭凯)
- 基于Web Service的旅游管理系统的设计与实现(北京邮电大学·李琳)
- 云麓山庄酒店管理系统设计与实现(电子科技大学·郑可)
- 旅游资源与线路管理系统的设计与实现(山东大学·孙杰)
- 旅游管理系统的设计与实现(东北大学·王宇慧)
- 旅行社散客安排系统的设计与开发(电子科技大学·郭红梅)
- 基于Java Web的小型酒店管理系统(大连理工大学·徐耀荣)
- 旅游电子商务系统的设计与实现(东南大学·杨俊)
- 基于.NET的在线旅游产品系统设计与应用(吉林大学·关子南)
- 基于Jave ME的旅游服务预订系统的设计与实现(中国海洋大学·房玮)
- 基于SaaS模式的旅游服务系统的设计与实现(复旦大学·李霞)
- 旅行社散客安排系统的设计与开发(电子科技大学·郭红梅)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码项目助手 ,原文地址:https://m.bishedaima.com/yuanma/35313.html