毕业设计django旅游管理系统

摘 要

经济的进步必然会带动旅游业的发展,祖国各地也纷纷打造绿色旅游业,促进当地经济的发展,但是,随着旅游人数的增加和景点的增多,各种信息管理起来也愈发的困难。管理部门希望利用管理系统对旅游景点、酒店、线路、套餐、新闻等进行介绍,用来推动旅游业的经济收入。本旅游管理系统使用高效的数据存储方法,通过计算机网络来传播旅游信息,为游客带来前所未有的体验。通过旅游管理系统可以改变目前旅游管理效率低下的问题,提高了旅游经济收入。
旅游管理系统使用Django技术、结合Html进行前后台开发,创建动态的网页,数据库存储在Mysql数据库中。通过旅游管理系统的需求分析,设计旅游管理系统功能,最后完成Django的编码并进行测试,完善旅游管理系统功能。旅游管理系统包括了旅游者的注册登录、酒店管理、景点管理和预订管理等功能。

关键词:旅游景点;套餐;Django;景点预订

Abstract
Economic progress will inevitably lead to the development of tourism, all parts of the motherland have to build green tourism to promote the development of local economy. However, with the increase of the number of tourists and the number of scenic spots, it is increasingly difficult to manage all kinds of information. The management department hopes to use the management system to introduce the tourist attractions, hotels, routes, packages, news, etc., so as to promote the economic income of the tourism industry. The tourism management system uses efficient data storage methods to spread tourism information through the computer network, bringing unprecedented experience for tourists. Through the tourism management system, the problem of low efficiency of tourism management can be changed, and the tourism economic income can be improved.
The tourism management system uses Django technology and HTML to develop the front and back platform, creates dynamic web pages, and stores the database in MySQL database. Through the demand analysis of tourism management system, the function of tourism management system is designed. At last, the coding of Django is completed and tested to improve the function of tourism management system. The tourism management system includes the registration and login of tourists, hotel management, scenic spot management and reservation management.

Keywords: tourist attractions; package; Django; scenic spot reservation

目 录

摘 要 I
Abstract II
1 绪论 1
1.1 选题背景 1
1.2 国内外研究现状 1
1.2.1国内研究现状 1
1.2.2国外研究现状 2
1.3 目的和意义 2
1.4 研究方法和内容 2
1.4.1研究的方法 2
1.4.2设计的内容 3
2 相关技术 4
2.1 系统编程环境 4
2.2 PyCharm的简介 4
2.3 MySQL数据库 5
2.4 Django技术 5
3 系统分析 7
3.1 应用需求分析 7
3.1.1 前台功能需求 7
3.1.2 后台功能需求 7
3.2 非功能需求分析 9
3.3 可行性分析 10
3.3.1技术可行性 10
3.3.2操作可行性 10
3.3.3经济可行性 10
3.3.4时间可行性 11
4系统设计 12
4.1 系统体系结构 12
4.2 概要设计 12
4.3 系统功能设计 13
4.3.1前台功能设计 13
4.3.2后台功能设计 13
4.4 数据库设计 14
4.4.1概念结构设计 14
4.4.3逻辑结构设计 16
5 系统实现 19
5.1 前台实现 19
5.1.系统首页 19
5.1.2景点模块 19
5.1.3酒店模块 20
5.1.4景点预订 21
5.1.5我的模块 21
5.2 后台实现 22
5.2.1管理员登录 22
5.2.2景点管理 23
5.2.3线路管理实现 23
5.2.4订单管理实现 24
第六章 系统测试 26
6.1 测试目的 26
6.2 测试内容 26
6.3 测试结论 28
总结 29
致 谢 30
参考文献 31

1 绪论

1.1选题背景
在我国技术持续发展的同时,信息技术的发展也日渐成熟,世人对它的依赖性也变得越来越高,人们开始借助电脑来对旅游、攻略等进行管理。从世界上第一台电脑出现至今,其发展已经完全超出了人们的想象。它在带给人们便利的同时,也使人们的生活发生了极大变化,如今电脑已完全融入了人们生活的各个方面,也因此出现了很多的管理系统。人类社会渐渐开始进入信息时代,网络成了当下媒体传播的重要场所。在互联网飞速发展的潮流中,旅游管理系统为相关部门的管理人员提供了高效服务。
结合目前信息化技术,开发一个旅游管理系统势在必行,系统充分利用数据库技术,存储大量的景点数据,利用网络资源,推广一个稳定、内容丰富的平台。将旅游资讯和景点结合,改变传统管理模式,方便旅游者获取信息,给出行带来参考资讯。
旅游管理系统信息具有及时性,方便性,受到旅游者的喜爱。目前,我国旅游业发展快速,年轻人工作压力大,选择旅游解压的用户越来越多。网络的普及也改变了旅游者的获取信息的方式,习惯在网络上寻找攻略和景点介绍,旅游管理系统可以推出应的景点介绍信息,帮助旅游者快速获取信息,提高旅游乐趣。
1.2国内外研究现状
1.2.1国内研究现状
国内的旅游管理系统在互联网出现之初已经发展起来,经过一段时间的积累。目前有不少大规模的综合性的旅游管理系统,为旅游者的出行带来便捷。管理层希望通过网站为用户提供"吃住行游"全方位的服务,满足用户的基本需求,提高体验服务。具调查,我国的互联网普及率达到90%以上,具有旅游需求的居民也达到50%,面对这么庞大的用户群,开展网上服务成为各大型企业必争的蛋糕。但是,一些中小型旅游管理系统出现的问题比较多,许多旅游内容更新慢,信息老旧,缺乏动态交互等。对于一些专业的区域性旅游,网上涉及的内容也较少,对于需要全面掌握旅游信息的专业驴友来说,知识面还很缺乏。
1.2.2国外研究现状
在国外发达国家,旅游业发展较早,许多旅游景点开发的也比较成熟。体系也比较健全,围绕旅游的附加配套灵活多样,一些中小规模的景点,其完善性甚至超过了规模较大的地方,因为小景点更容易管理,数据量相对较少。据统计,在电子商务销售额中,其中旅游相关的销售额占据20%,全球超过20万个旅游公司提供旅游服务。
1.3目的和意义
随着互联网的发展,旅游业成为主题,各种旅游类网站不在局限于信息的发布。结合用户的需求,提供旅游推荐、旅游交互、攻略信息等。旅游业是我国经济支柱,是个绿色产业。金山银山不如绿水青山,依托独特位置发展旅游是地方管理者必做项目。
旅游管理系统是为了让更多的人了解景点文化,吸引旅游者观光。为旅游者提供导向,避免麻烦,节省力气,所以,建立旅游管理系统是很有必要的。

1.4 研究方法和内容
1.4.1研究的方法
根据当前旅游管理系统的特点,收集相关需求。整理旅游管理系统的功能特点,实现本系统。按照要求,系统使用Django和MYSQL开发,所以选择使用Eclipse来开发,先安装环境,创建软件目录。在服务器Python中,建立项目。数据库Mysql中进行数据交换,完成功能。
具体方法流程如下:
第一,先采集相关地区的景点资源,收集精美图片。对系统进行背景分析。
第二,确定需求后,对系统功能进行设计,针对不同的功能,了解需要使用的的技术,学习并运用相关技术。
第三,配置Django开发语句的环境,搭建旅游管理系统运行条件。
第四,完成系统详细设计,数据库数据等文档。
第五,完成旅游管理系统的编码,进行测试。

1.4.2设计的内容
旅游管理系统包括前台和后台,先通过设计后台,把数据保存到数据库中后,对系统的信息进行查询,然后显示到旅游管理系统中。
系统主要功能包括:
1、旅游者信息的注册、登录。前台游客通过注册的用户名和密码进行登录。
2、旅游景点管理。信息的查询,信息保存在数据库中,管理员通过后台对景点信息进行管理,前台显示。
3、景点预订管理。旅游线路是旅游管理系统重要信息,前台用户可以查看某个地方的景点介绍,从而为旅游进行安排计划。管理员管理管理景点预订信息。
4、旅游酒店管理。旅游酒店是旅游管理系统重要信息,前台用户可以查看某个地方的酒店介绍,从而提前安排旅游。

2 相关技术

2.1 系统编程环境
旅游管理系统使用Python开发,后台使用Django技术,数据库使用Mysql技术,工具使用PyCharm软件。基于B/S架构,满足客户要求。
电脑使用的是操作系统为win7 64位,配置电脑服务器使用Python3.6版本,具体见表2-1所示。
表2-1旅游管理系统硬件需求表
旅游管理系统硬件需求
电脑CPU要求 双核I3以上
电脑内存要求 4G
电脑硬盘要求 100G
旅游管理系统软件需求
旅游管理系统操作系统 Windows7
旅游管理系统开发工具 PyCharm
旅游管理系统服务器 Python3.6
旅游管理系统数据库 MYSQL
旅游管理系统开发语言 Django语言
旅游管理系统浏览器 360浏览器

2.2 PyCharm的简介
旅游管理系统服务器管理端使用Django开发,服务器获取页面的请求,执行程序段,然后返回信息给HTML,其中通过程序段获取数据、参数等内容。Django代码也是在服务器端执行,得到HTML后返回给客户。用Django技术,将内容和显示分离,业务逻辑封装在后台中,不影响内容的生成。在服务器端,处理HTML标识和脚本。绝大多数页面依赖于可重用的组件,加速了编写代码,优化了框架结构。
开发工具使用PyCharm平台,PyCharm功能完善,对企业级项目支持友好。目前,支持PYTHON、Django等开发,在PyCharm集成的环境中,包括了不同的版本,对应的服务器版本不同,往往版本高的开发环境对应的服务器版本也较高。PyCharm还具有丰富的工具,可以快速的生成框架基础代码,提高开发效率。PyCharm开发过程中,支持许多快捷键,如使用Ctrl+1 快速修复、Ctrl+D 删除当前行、Ctrl+F8 切换到下一个View、Ctrl+Shift+/ 自动注释代码、Ctrl+Shift+F 格式化当前代码、Alt+Shift+R 重命名等。
2.3 MySQL数据库
旅游管理系统使用Mysql开发,MySQL是中小型的关系型数据库。关系型数据库是指在数据库表中,存在各种关联,保存数据时,通过外键的关系把各种事务数据存储到表中,而查询的时候,可以通过创建视图或者关联的SQL语句获取结果。
MySQL它分为社区版和商业版,体积小、速度快、开源、跨平台,一般中小型企业网站或者管理系统都选择Mysql。但是,MySQL和大型数据库相比,显得规模小、功能有限,但是对于数据量要求不是太高的网站,完全可以胜任。目前大型数据库有Oracle、SQL Server等,安装繁琐,配置复杂,体量大,价格昂贵。
MYSQL使用C和C++编写,提供了代码可移植性。支持多种操作系统,如Windows、Linux、Mac OS等。为多种编程语言提供了访问方法,支持多线程,优化SQL查询方法,提高检索效率。能够作为一个库而嵌入到其他的软件中,支持多种存储引。
2.4 Django技术
旅游管理系统客户端需要发布到Django,通过浏览器进行显示。Django使用Web开发工具,可以实现本地同步文件,编译预览,上传,发布等一整套流程。
Django和服务器端通过JSON进行传递数据,JSON是数据格式的标准,目前在JS项目中广泛使用。JSON是轻量级的,完全独立存储数据,简洁清晰的结构,可以最大效率的提高效率。和传统的XML相比,JSON不遑相让,XML作为传统的数据标签格式,运用在各种情况下。有丰富的编码工具,XML的解析可以通过文档解析、遍历节点解析。使用递归方法进行。JSON也具有此功能,在不同的语言中,均支持JSON的解析,通过对象和JSON格式友好的传递。
JSON比XML更容易传输,但是却没有XML好预览,特别数据量大的时候,无法查找。但是通过一些工具,如BeJson可以解决这个问题,方便的查看JSON数据内容。BeJson具有JSON格式化校验、JSON视图、 压缩转义、JSON在线编辑、在线发送JSON数据、JSON着色、JSON-XML互转、JSON-VIEW、它和xml一样都是一种数据交换格式。

3 系统分析

3.1 应用需求分析
通过对旅游管理系统的分析,分析总结出系统包括两种类型的用户,一个是前台游客,还有一个是后台的管理员用户。后台管理员在这个系统中具备最高的管理权限,他主要实现对旅游管理系统的后台数据信息的控制和管理。前台游客在本网站中的角色就是需要查看信息,在线留言等。从系统功能划分,主要包括前台模块和后台管理模块2个功能模块,每个大的功能模块下面划分了很多的小的功能模块。
3.1.1 前台功能需求
旅游管理系统前台功能主要为游客提供可以参考的旅游信息,包括公告信息、景点信息、酒店、线路、套餐信息等,会员还可以进行预订信息,在线留言。用户用例图如3.1所示:
在这里插入图片描述

图3.1 用户用例图

3.1.2 后台功能需求
旅游管理系统的后台是对信息进行管理的, 实现了旅游景点、酒店、线路、套餐、新闻等的管理。后台管理用例图如3.2所示:
在这里插入图片描述

图3.2 后台管理用例图
根据系统用例图,得到以下用例规约。用户登录管理用例规约如表3-1所示。
表3-1 用户登录
编号 lvyou001
名称 旅游管理系统登录
描述 登录包括管理员登录和会员登录,通过旅游管理系统页面进行登录。
前置事件 服务器运行、网络正常
后置事件 根据权限进行操作





用户输入 系统操作
1、在用户名栏目输入账号、密码栏目中输入密码。 2、验证用户名输入情况,过滤特殊字符,如select、delete等关键字。验证失败执行a1。
3、验证密码情况,长度不能小于6位,包括字母和数字等。验证失败执行a1.
4、在登录页面点击登录。 5. 得到数据库数据结果后,通过验证。

	6. 验证用户权限,根据设置的权限情况,显示操作界面。

子事件流 A1.提示用户错误信息。
异常情况 清空登录信息,注销系统。

景点信息管理用例规约如表3-2所示:
表3-2 景点信息管理表
编号 lvyou002
名称 旅游管理系统景点管理
描述 对景点管理。包括景点的录入、景点的查询、景点的修改、景点的删除以及景点相关联的其它操作。
前置事件 服务器运行、网络正常
后置事件 在界面进行相关操作后,数据库信息发生变化。




用户输入	系统操作
1、在景点信息录入页面,输入所有的景点信息,并保存。在景点查询页面,查询所有的景点信息。在景点修改页面,更新内容并保存。景点的列表中,点击删除,根据提示进行删除操作。	2、在景点录入页面,通过客户端验证方法,验证输入是否正确,并到数据库验证是否重复录入,验证失败,执行子事件流a1步骤。通过验证,保存景点记录到数据库。

3、景点信息查询页面中,加载数据库的景点信息。
4、在景点修改页面,通过客户端验证方法,验证输入是否正确,验证失败,执行子事件流a1步骤。通过验证,更新景点记录到数据库。
5、删除景点操作,并更新数据库记录,遇到有外键关联记录,执行子事件流a2步骤。

子事件流 a1. 提示用户重新输入景点的信息,注意特殊字符和不能为空的情况。
a2. 提示先删除关联的记录。
异常情况 跳转到主面。

3.2 非功能需求分析
分析旅游管理系统的用户使用情况,整理系统所有性能要求,估算系统性能要求。预计系统最大访问量,对系统的数据库链接量,带宽访问量进行控制。对系统的技术参数进行设置,规划与探索系统并发要求等。
分析系统功能,对各项功能的设计分析和实现,达到整体性要求。系统数据库和程序实现具有条理化,系统业务清晰。另外,系统的编程规范统一,界面风格统一,系统数据库维护间隔统一,只有做到整体规划和要求,才能更好的持续性。
旅游管理系统的安全性主要是系统的数据安全性,保证系统数据的完整和安全。在系统设计上,对必要信息进行加密,放在被窃取;系统访问控制,对于非法用户,禁止访问;对于数据库要定期备份;在网络传输上,使用专门的服务器和宽带线路进行搭建。尽最大可能的保证数据安全。
旅游管理系统的开发不是一次开发后就一成不变的,后期需要改变业务规则,升级维护其它功能等。所以,系统结构选择B/S的,只需要在服务器上就可以维护升级,不需要关心客户端。另外,在功能和系统架构设计上,对应数据字段,需要单独设计为数据库表,后期维护表数据即可,对应创建的需求功能,如用户管理,可以设计额外的接口实现数据的导入或者导出。
3.3 可行性分析
3.3.1技术可行性
技术可行性分析是对开发旅游管理系统的技术可行性评估,提前进行规范,现在适合的技术,可以事半功倍。
系统使用Django和MYSQL数据库。Django是比较成熟的语言,开发系统具有很多优势,完全开源免费。Django是嵌入在HTML中的,在服务器运行后,进行解释。Django具有独特的语法,执行效率高,因为Django代码是在服务器端执行的。Django的引擎机制会把执行后的结果保存到客户端内存中,当用户再次访问这个页面时,直接从内存读取,运行速度快。
Django是网络编程语言,对于本系统的开发作为合适,在技术上具有可行性。
3.3.2操作可行性
操作可行性主要考虑开发系统后,是否操作方便,是否可以解决现有的问题,是否可以提高相应的效率。本系统使用web模式,通过浏览器即可访问,操作简单。进入系统后,通过主页的菜单快速的进入各个子功能,通过鼠标和键盘就可以完成各种事项。在操作上具有可行性。
3.3.3经济可行性
经济比较包括两个方面,投入和收益。投入上包括开发系统需要的人力成本和服务器硬件成本。投入很少。而收益上,开发旅游管理系统后可以使用多年,并可以分析给其它景区使用,投入使用一年的收益都将大于投入,所以,在经济上可行。
3.3.4时间可行性
计划使用两个月完成系统的分析、设计、实现和实施。通过前期的调研,完成系统时间需要一个月时间即可,考虑到后期的修改和实施,预留了足够的时间,所以,开发旅游管理系统时间上可行。

4系统设计

4.1 系统体系结构
本旅游管理系统的设计及开发采用了流行的B/S模式,架构是Django集中管理;包括三个层次,界面层、逻辑层和数据层。
视图层使用HTML开发,后台使用Django操作数据库返回数据,显示数据。在分层的开发模式中,视图层可以和控制层分开开发,通过接口实现相互调用。
旅游管理系统的控制器层主要来获取视图层的响应,并可以单独实现业务逻辑层进行调用,也可以在业务逻辑层中直接实现相关逻辑进行数据处理,判断结果返回到界面层。
数据层是比较简单的层次,和数据库表进行对应,一个数据库表往往对应一个实体类,创建模型层后,编程人员不需要关注数据库,通过模型即可明确对应的字段信息。

4.2 概要设计
旅游管理系统为用户旅游提供信息、进行在线预订的信息管理系统,为旅游者提供了方便,节省了大量的时间和精力。
旅游管理系统主要应用微信开发者工具,MYSQL数据库和PyCharm开发工具完成开发。
旅游管理系统的功能流程是用户登录后,对信息进行管理。所以,设计了用户登录界面和管理信息的主界面。登录界面包括用户输入信息,管理界面主要是菜单页面的设计。
主界面包括头部的logo、用户登录信息、系统退出链接。左侧的菜单,菜单是根据用户的权限进行控制,没有权限的用户不显示对应的功能。点击菜单,内容也显示到右侧栏。

4.3 系统功能设计
4.3.1前台功能设计
旅游管理系统前台功能包括用户注册与登录、预订、旅游景点、酒店、线路、套餐、新闻进行查询,系统功能结构如图4.1所示。
在这里插入图片描述

图4.1 系统前台功能结构图

用户功能:用户通过前台系统注册、登录,登录后可预订景点。
信息查询:用户在搜索栏可查询旅游景点、酒店、线路、套餐。
公告查看:用户查看旅游相关的公告信息,以便做好攻略。
4.3.2后台功能设计
旅游管理系统后台功能包括景点、线路、公告信息管理、预定信息、系统管理,系统功能结构如图4.2所示。
在这里插入图片描述

图4.2 系统后台功能结构图

管理员对旅游者信息的注册信息进行管理,旅游景点管理。信息的查询,信息保存在数据库中,管理员通过后台对景点信息进行管理,前台显示。管理员管理攻略信息、评论信息和公告信息。

4.4 数据库设计
4.4.1概念结构设计
景点信息实体图如4-3所示:
在这里插入图片描述

图4-3 景点实体图例
预订信息实体图如4-4所示:
在这里插入图片描述

图4-4 预订实体图例
酒店信息实体图如4-5所示:
在这里插入图片描述

图4-5 酒店实体图例

本系统数据库设计的E-R图如图4-6所示:
在这里插入图片描述

图4-6 系统总E-R图
4.4.3逻辑结构设计
本系统的数据表如下:
表4.1 公告信息表
序号 字段名 类型 长度 默认值 允许空 主键 外键 说明
序号1 Idgg 数字 8 无 不为空 √ 无 ID
序号 2 Titlegg 字符 50 无 可为空 无 无 名称,50字符内
序号 3 Contentgg 文本 无 可为空 无 无 内容,可为长字符
序号 4 Addtimegg 日期 20 无 可为空 无 无 时间,日期格式
序号 5 Leibiegg 字符 20 无 可为空 无 类别,外键,和类别关联

用户信息表用来存放用户的信息,其中USER_ID是多个表的外键,所以在需要在程序逻辑上进行完整性约束。
表4.2 用户信息表
序号 字段名 类型 长度 默认值 允许空 主键 外键 说明
序号1 USER_IDyh 字符 20 无 不为空 √ 用户ID
序号 2 USER_NAMEyh 字符 20 无 可为空 无 无 用户姓名,20字符内
序号 3 pwdyh 字符 20 无 可为空 无 无 用户密码,20字符内
序号 4 Addtimeyh 日期 2 无 可为空 无 无 添加的时间,日期格式

订票信息表是用来存放电子票信息的。
表4.3 订票信息表
序号 字段名 类型 长度 默认值 允许空 主键 外键 说明
序号1 Iddp 数字 无 不为空 √ √ 项目ID
序号 2 Namedp 字符 50 无 可为空 无 无 用户ID
序号 3 Piaojiadp 整数 20 无 可为空 无 无 票价,整数
序号 4 Shuliangdp 整数 20 无 可为空 无 无 数量,整数
序号 5 Smdp 字符 200 无 可为空 无 无 含义:说明

酒店信息表用来存放酒店信息的。
表4.4 酒店信息表
序号 字段名 类型 长度 默认值 允许空 主键 外键 说明
序号1 Idjp 数字 2 无 不为空 √ 主键
序号 2 Bhjp 字符 20 无 可为空 无 无 含义:编号
序号 3 Mcjp 字符 2 无 可为空 无 无 含义:名称
序号 4 Picjp 字符 20 无 不为空 无 无 含义:图片
序号 5 Memojp 字符 20 无 可为空 无 无 含义:说明

景点信息表用来存放景点信息的。
表4.5 景点信息表
序号 字段名 类型 长度 默认值 允许空 主键 外键 说明
序号1 Idjd 数字 2 无 不为空 √ 主键
序号 2 Bhjd 字符 20 无 可为空 无 无 含义:编号
序号 3 Mcjd 数字 2 无 可为空 无 无 含义:景点名称
序号 4 Pricejd 整数 20 无 可为空 无 无 含义:价格
序号 5 Addjd 字符 20 无 可为空 无 无 含义:地址
序号 6 Picjd 字符 20 无 不为空 无 无 含义:图片
序号 7 Memojd 字符 20 无 可为空 无 无 含义:说明

留言信息表用来存放留言信息的。
表4.6 留言信息表
序号 字段名 类型 长度 默认值 允许空 主键 外键 说明
序号1 ARITCLEIDly 数字 8 无 不为空 √ ID
序号 2 ARTICLECONTENTly 字符 3000 无 可为空 无 无 问题内容
序号 3 SORTly 数字 8 无 可为空 无 无 类别
序号 4 READNUMly 数字 8 无 可为空 无 无 已读次数
序号 5 REPLYNUMly 数字 8 无 可为空 无 无 回复次数
序号 6 AUTHORly 字符 20 无 不为空 无 无 发帖人或回复人
序号 7 PARENTIDly 数字 8 无 可为空 无 无 代表回复的是哪个贴,0表示首发
序号 8 ENTRYdataly 日期 无 可为空 无 无 发布日期或回复日期
序号 9 LOGIDly 数字 8 无 可为空 无 无 日志ID

5 系统实现

5.1 前台实现
5.1.系统首页
网站首页包括导航信息、图片信息和用户注册登录功能,还提供了站内搜索,使用关键字进行信息的搜索。 首页界面如5.1所示:
在这里插入图片描述

图5.1 网站首页
首页提供了景点列表信息,景点列表信息是从服务器端获取。通过服务器端数据库操作方法,查询景点数据库信息,把景点列表保存到list集合,然后转换为json格式的数据,Django通过回调函数得到json后,格式化数据,并显示到html表格中。
5.1.2景点模块
对景区线路的情况进行记录,记录其名称,具体地址,时间,价格等事项。旅游景点信息如5.1所示:
在这里插入图片描述

图5.1 旅游景点模块
旅游景点数据是从景点列表传递过来,景点列表的ID值代表了具体景点信息,通过ID查询景点集合的model对象数据,并把数据绑定到lable标签中,并显示到界面。景点具体信息不需要从服务器再次获取,这样节省了宽带资源。当点击另外一个景点信息后,可以再次通过ID获取。
5.1.3酒店模块
对景区酒店的情况进行管理,前台用户可根据名称查看其详细情况,实现了增加、删除等功能。酒店模块界面如5.3所示:
在这里插入图片描述

图5.3 酒店模块
首先创建酒店界面,输入酒店信息,通过add方法,把当前的页面数据传递到服务器,服务器通过数据库的保存方法,把酒店数据保存到数据库表中,并返回保存成功的信息。
在酒店列表页面,通过findViewById方法获取信息,在服务器action方法中,实例化酒店实体类,然后查询酒店信息表数据是否具有信息,然后查询成功的结果赋予给json对象,在服务器端,对json数据进行解析,得到返回的结果信息并进行酒店显示。
5.1.4景点预订
用户登录后,可以进行预订门票,没有登录的用户不能预订。预订后,在我的订单中可以查看到历史订单信息。并可以查看预订的价格和状态信息。界面如5.4所示:
在这里插入图片描述

图5.4 我的预订
首先创建订单界面,输入订单信息,通过add方法,把当前的页面数据传递到服务器,服务器通过数据库的保存方法,把订单数据保存到数据库表中,并返回保存成功的信息。
5.1.5我的模块
我的模块包括我的收藏,我的信息修改和密码信息以及系统退出。界面如5.5所示:
在这里插入图片描述

图5.5 我的模块
在个人信息个修改密码中,都是对个人的信息进行数据库修改操作。在修改界面,调用userUpdate方法,通过和服务器的URL链接,通过http协议传递到服务器端。在服务器action方法中,实例化用户实体类,然后查询用户信息表数据是否具有信息,然后对用户信息进行修改,调用数据库修改方法,修改成功后,返回修改成功的结果赋予给json对象,在服务器端,对json数据进行解析,得到返回的结果信息,返回给界面用户,提示修改成功操作。
5.2 后台实现
5.2.1管理员登录
管理员登录界面设计如下图5.6所示。
在这里插入图片描述

图 5.6 管理员登录界面
使用form表单制作登录,账号和密码为input输入文本框,登录按钮为button,点击登录后,调用check方法,check是js验证。验证用户是否输入信息,通过alert进行提示消息,通过验证后,把表格信息进行提交。调用查询的方法,通过返回的结果判断用户是否登录成功。
5.2.2景点管理
管理员成功登录后台管理界面,选择旅游管理系统的景点管理,出现景点列表。在景点信息管理页面,管理员可以添加、修改、查询及删除景点信息。景点管理如下图5.7所示。
在这里插入图片描述

图 5.7 景点管理界面
点击景点管理链接,录入景点信息。在景点信息添加界面,填写信息后,通过客户端验证后,提交数据到数据库。后台对景点信息进行保存操作,保存数据就,在数据库中可以查看到刚才录入的数据。录入景点信息后,在景点列表中,通过后台查询方法,把所有的景点信息读取到集合对象,把集合对象通过html的方式显示到界面。查询有两种类型,一个是查询所有的景点集合,也可以通过条件查询景点,实现的sql语句不同而已,最终实现的流程一样。在列表中,可以对景点信息进行删除,删除前,需要提示信息,是否确定删除。这一步骤的提示属于客户端控制,当确定删除后,调用服务器端删除方法,实现数据库数据删除,并刷新景点列表。
5.2.3线路管理实现
管理员成功登录后台管理界面,选择旅游管理系统的线路管理,出现线路列表。在线路信息管理页面,管理员可以删除线路信息。线路管理如下图5.8所示。
在这里插入图片描述

图 5.8 线路管理界面
查询有两种类型,一个是查询所有的线路集合,也可以通过条件查询线路,实现的sql语句不同而已,最终实现的流程一样。在列表中,可以对线路信息进行删除,删除前,需要提示信息,是否确定删除。这一步骤的提示属于客户端控制,当确定删除后,调用服务器端删除方法,实现数据库数据删除,并刷新线路列表。
5.2.4订单管理实现
管理员成功登录后台管理界面,选择旅游管理系统的订单管理,出现订单列表。在订单信息管理页面,管理员可以管理订单信息。订单管理如下图5.9所示。
在这里插入图片描述

图 5.9 订单界面
在订单列表中,可以对订单信息进退回、或者通过,通过前,需要提示信息,是否确定通过。这一步骤的提示属于客户端控制,当确定通过后,调用服务器端通过方法,实现数据库数据表状态的修改,并刷新订单列表。

第六章 系统测试

6.1 测试目的
对系统进行测试的目的就是找出程序中已有的错误,测试若是成功的话,就能够找出从设计到开发完成整个过程部潜在的错误,使开发人员在系统投入使用之前有机会纠正其错误,进而降低成本支出,减少时间损耗。我们期望尽可能使用更短的时间和人员来完成此次系统测试,并达到验证其可用性的目的。同时在每个开发环节都必须做测试,对已有系统的风险有清楚的认知并对其进行评估,做到防范风险,控制风险。与此同时,还可以安排一些用户试使用,以此来提高系统的稳定性、安全性,高度的关键在于尽可能多的找出问题并将其解决。因系统开发较为复杂,并且不确定性较高,因此开发时的所有环节都有可能产生错误,而应对之法则是将测试落实到开发的整个过程中,以此来达到错误早发现,早纠正和消除的目的。

6.2 测试内容
旅游管理系统包括了多个功能,下面对各主要功能进行测试用例说明。
旅游管理系统的景点管理测试用例如下:
表6.1 新建景点信息测试用例
用户测试 旅游管理系统 版本 V1.0.0
功能模块 景点管理 测试员
编号 NO2021-001 测试时间
测试目的 景点信息功能,是否满足最初的需求,包括字段,操作流程等
测试数据 界面录入
步骤 测试过程 测试结果
NO1 准备景点信息,在景点界面录入相关信息,提交景点,并查看数据是否成功保存。 通过
NO2 修改景点信息,在景点修改界面,查看景点信息是否加载完全,修改所有的信息后,查看数据是否保存。 通过
NO3 删除景点信息,根据编号删除对应的景点,查看是否删除删除。 通过
NO4 查询景点信息,在景点列表查看是否加载所有的数据库记录。 通过
NO5 景点信息排序,根据主键或者名称进行排序。 通过

旅游管理系统的公告管理测试用例如下:
表6.2 新建公告信息测试用例
用户测试 旅游管理系统 版本 V1.0.0
功能模块 公告管理 测试员
编号 NO2020-001 测试时间
测试目的 公告信息功能,是否满足最初的需求,包括字段,操作流程等
测试数据 界面录入
步骤 测试过程 测试结果
NO1 准备公告信息,在公告界面录入相关信息,提交公告,并查看数据是否成功保存。 通过
NO2 修改公告信息,在公告修改界面,查看公告信息是否加载完全,修改所有的信息后,查看数据是否保存。 通过
NO3 删除公告信息,根据编号删除对应的公告,查看是否删除删除。 通过
NO4 查询公告信息,在公告列表查看是否加载所有的数据库记录。 通过
NO5 公告信息排序,根据主键或者名称进行排序。 通过

旅游管理系统的线路管理测试用例如下:
表6.3 新建线路信息测试用例
用户测试 旅游管理系统 版本 V1.0.0
功能模块 线路管理 测试员
编号 NO2020-003 测试时间
测试目的 线路信息功能,是否满足最初的需求,包括字段,操作流程等
测试数据 界面录入
步骤 测试过程 测试结果
NO1 准备线路信息,在线路界面录入相关信息,提交线路,并查看数据是否成功保存。 通过
NO2 修改线路信息,在线路修改界面,查看线路信息是否加载完全,修改所有的信息后,查看数据是否保存。 通过
NO3 删除线路信息,根据编号删除对应的线路,查看是否删除删除。 通过
NO4 查询线路信息,在线路列表查看是否加载所有的数据库记录。 通过
NO5 线路信息排序,根据主键或者名称进行排序。 通过

6.3 测试结论
通过对测试用例的测试,并对bug进行了修改,完善了旅游管理系统的功能,对照系统需求分析,完成了系统开发任务,符合了开发需求。

总结

经过4个月的努力,在学习了Django编程和数据库,对其有一定了解的情况下,完成了旅游管理系统的设计与实现。本文主要讨论了前台各模块功能设计,工作原理,程序实现等问题。系统基本实现了旅游信息管理与查询、用户注册、评论等功能。同时,系统对用户进行了分级管理,提高了系统的安全性。
通过这次毕业设计,让我感受了软件开发的整个过程。毕业设计不仅是对我工作中所学知识的一个综合运用,也是一次增长知识和经验的好机会,同时也使我学会了许多处理、解决问题的方法,大大提高了自己的动手能力,为在工作岗位上走得更远打下了良好的基础。
在此次设计过程中遇到不少问题,本文中实现的各模块还存在着许多的漏洞,对数据的保密性、完整性也未曾考虑,因此在以后的学习和开发中还有待改善和加强。在这次编程的过程中,我查阅了大量的书籍,在网上也查了不少资料,使我学到了不少知识与实际的动手能力,熟悉了网站制作的整个过程,提高了认识和学习新事物的能力,特别是增强了自己在程序设计方面动手实践能力,这些对于未来的工作无疑将是一笔宝贵的财富。

致 谢

在本次毕业设计过程中,得到了指导老师的指导与支持。在此特别感谢老师的大力帮助。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我们小组顺利完成这次毕业设计起到了关键性的作用。

参考文献

[1] 李燕. 基于Django和MVVM模式的户外教育与服务平台研建[D].北京林业大学,2019.
[2] 顾新萍. 基于Django的智能家居控制系统设计与实现[D].青岛大学,2019.
[3] 孟永焱. 基于微信的移动互联网智能交互系统的设计[D].北京邮电大学,2019.
[4] 郑超亚. 基于Django的信息技术答题系统设计与开发[D].中央民族大学,2019.
[5] 汪峰. 在线课堂Django的设计与实现[D].西北民族大学,2019.
[6] 康健. 电影推荐系统Django的设计与实现[D].西北民族大学,2019.
[7] 郝磊. 网络商城Django的设计与实现[D].西北民族大学,2019.
[8] 公磊, 周聪. 基于微信的移动终端应用程序开发与研究[J]. 计算机与现代化, 2018(08):22-25.
[9] 何晶.以SSH框架与jQuery技术为基础的Django-Web开发应用探讨[J].计算机产品与流通,2019(11):104-105.
[10] 王志辉.Django语言在计算机软件开发中的应用[J].电子技术与软件工程,2019(20):42-43.
[11] 陈宇收.MySQL数据库备份方案研究[J].电脑编程技巧与维护,2018(10):109-110+130.
[12]韦美雁,段华斌,周新林.大数据环境下的MySQL优化技术探讨[J].现代计算机(专业版),2018(30):68-72.
[13] 张继东.MySQL数据库基于JSP的访问技术[J].电子技术与软件工程,2017(15):169.
[14] 王丽娟,靳继红.基于MySQL的查询优化技术研究[J].电脑知识与技术,2017,13(30):35-36.
[16] Hua Yuan,Hualin Xu,Yu Qian,Yan Li. Make your travel smarter: Summarizing urban tourism information from massive blog data[J]. International Journal of Information Management,2016,36(6).
[16] Siyuan Du,Hua Zhang,Hualin Xu,Jirui Yang,Oscar Tu. To make the travel healthier: a new tourism personalized route recommendation algorithm[J]. Journal of Ambient Intelligence and Humanized Computing,2019,10(9)

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值