Android的旅游景点展示与导航软件的设计与实现毕业论文.docx
《Android的旅游景点展示与导航软件的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《Android的旅游景点展示与导航软件的设计与实现毕业论文.docx(66页珍藏版)》请在冰豆网上搜索。
Android的旅游景点展示与导航软件的设计与实现毕业论文
Android的旅游景点展示与导航软件的设计与实现毕业论文目录
1项目概述
1.1现系统的概述
当今社会,工作强度的增加,工作之余的节假日,旅游渐渐成为人们休闲娱乐的一个主要方式。
旅游不仅是对身心的一种放松,更是对祖国大好风光的一种领略。
旅游是一项综合性游览观光活动,人们为达到度假、休闲、娱乐、探险、求知等目的,出游于城市、地区和国家之间。
葫芦岛作为一个国家级园林城市和中国优秀旅游城市,被誉为关外第一市,北京后花园。
近年来,在改革开放和市场经济的新形势下,到葫芦岛来旅游的国内外游客日渐增多,在这种情况下,有关葫芦岛Android的旅游景点展示与导航软件就顺势而生。
与此同时,随着信息行业的飞速发展。
在这种前提下,开发一种基于Android系统的葫芦岛旅游景点展示与导航软件移动应用,对方便游客出行、提高旅游服务质量、打造高端旅游服务业、加快发展旅游事业可以更全面的了解葫芦岛的城市风光,以一种别样的方式来给大家呈现葫芦岛各方面的奇特好玩之处。
与此同时,该应用的交互性,更是对传统网站、以及手机应用的一大突破,让来自世界各地的游客都具有自己独特的旅游方式,更是对葫芦岛当地的旅游业一个很好的宣传。
因此,无论是对天南地北的游客还是对葫芦岛当地的旅游业。
1.2功能模块及界面信息
应用主要包括的功能模块如下:
1)SlidingMenu:
侧滑菜单
登录:
登录界面。
手机号注册登录。
分享:
将软件分享给好友
设置:
设置APP的一些功能
2)MainActivity:
主页面
位置:
定位您当前位置
出行必读:
您游玩葫芦岛的一些Tip
景点:
展示葫芦岛著名景点
美食:
葫芦岛特产和葫芦岛饭店
住宿:
葫芦岛中大型旅店
购物:
葫芦岛购物地点
活动:
葫芦岛热门的活动
路线推荐:
游玩的路线
3)景点详情:
包括景点位置、景点开放时间、景点价格以及景点介绍
4)路线规划:
旅游景点的位置以及如何到达附近的旅游景点
功能模块如下图1-1所示。
图1-1应用程序功能模块图
Fig1-1DiagramoftheCompany’sOrganizationalStructure
1.3业务流程描述
业务流程图的绘制是按照业务的实际处理步骤和过程进行的。
业务流程图是一种系统分析人员都懂的共同语言,用来描述系统组织结构、业务流程。
业务流程图符号说明如下:
表1-1业务流程图符号
Tab1-1Thesymbolsofoperationalflowchart
用户可以下载APP,打开APP查看葫芦岛的一些游玩信息。
登录用户可以进行评论和门票预订。
服务器和葫芦岛景点合作,对景点信息进行审核。
审核通过发布到APP。
系统业务流程图如图1-2所示。
图1-2系统业务流程图
Fig1-12SystemServiceflowchart
2需求分析
现在人们越来越依赖手机,手机也越来越智能,当人们外出旅行的时候,人们更喜欢用手机去查一些景点信息,但是互联网上的信息鱼龙混杂,用户查询起来比较繁杂,一款集成了旅游景点、美食、住宿功能的APP可以给用户很大的帮助,也能促进旅游业的健康发展。
2.1总体目标
站在用户的角度,该应用要涵盖用户在葫芦岛的衣食住行四大方面,并且操作简单,功能直观。
对于旅游景点,要包括景区的所有信息,并且保证信息的准确性。
该应用主要实现如下目标:
(1)操作简单方便,界面简洁美观。
(2)注册快捷,智能登录。
(3)景区点评,景区预约。
(4)系统维护性强。
(5)系统扩展性强。
(6)涉及金额,应用安全性高。
2.2具体目标
2.2.1APP端
界面功能直观,用户需要哪个功能清晰可见。
登录使用用户手机号登录,方便快捷。
方便用户预约门票获取通知。
定位使用XX地图定位精度可以保证。
路线规划,方便用户知道附近的旅游景点
2.2.2服务器端
管理员对景区信息进行审核,如果审核正确无误,将加入到数据库中,公开对用户进行展示。
管理员实时监控用户对景区的评论信息,如果某景区信息虚假,管理员可以直接删除该景区信息。
2.3系统功能建模
系统功能建模所采用的工具是数据流图和数据字典,用于表达系统内部数据运动以及对数据的描述和定义。
2.3.1系统数据流图
数据流图也称为数据流程图,是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。
数据流图的基本组成成分:
数据流:
是由一组固定成分的数据组成,表示数据的流向。
值得注意的是,数据流图中描述的是数据流,而不是控制流。
除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。
加工:
加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。
每个加工都有一个名字和编号。
编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。
数据存储:
数据存储表示暂时存储的数据。
每个数据存储都有一个名字。
外部实体:
外部实体是存在于软件系统之外的人员或组织,他指出数据所需要的发源地或系统所产生的数据的归属地。
本文中符号的对应关系见表2-1。
表2-1数据流程图符号
Tab2-1Dataflowchartsymbol
图形符号
名称
说明
外部实体
记述除系统之外的数据提供或数据获得的组织机构或个人,在方框内部填入实体名称。
处理
记述某种业务的手工或计算机处理,其中,PM区记述处理标号,C区记述处理名称。
数据存储
记述与处理有关的数据存储,DN区记述存储的标号,S区记述存储数据的名称。
F
数据流
记述数据流的流动方向,FM记述数据流的名称。
图2-1系统顶层数据流图
Fig2-1Systemtopleveldataflowdiagrams
图2-2用户管理一级细化数据流图
Fig2-2Usermanagementinfirstlevelrefiningdataflowdiagram
图2-3用户管理二级细化数据流图
Fig2-3Usermanagementinsecondlevelrefiningdataflowdiagram
图2-4评论信息管理一级细化数据流图
Fig2-4CommentInformationmanagementinfirstlevelrefiningdataflowdiagram
图2-5评论信息二级细化数据流图
Fig2-5Commentofinformationinsecondlevelrefiningdataflowdiagram
图2-6景点信息管理一级细化数据流图
Fig2-6ScenicofInformationmanagementinfirstlevelrefiningdataflowdiagram
图2-7景点信息二级细化数据流图
Fig2-7Scenicofinformationinsecondlevelrefiningdataflowdiagram
图2-8美食信息管理一级细化数据流图
Fig2-8FoodofInformationmanagementinfirstlevelrefiningdataflowdiagram
图2-9美食信息二级细化数据流图
Fig2-9Foodofinformationinsecondlevelrefiningdataflowdiagram
图2-10住宿信息管理一级细化数据流图
Fig2-10HotelofInformationmanagementinfirstlevelrefiningdataflowdiagram
图2-11住宿信息二级细化数据流图
Fig2-11Hotelofinformationinsecondlevelrefiningdataflowdiagram
图2-12购物信息管理一级细化数据流图
Fig2-12ShoppingofInformationmanagementinfirstlevelrefiningdataflowdiagram
图2-13购物信息二级细化数据流图
Fig2-13Shoppingofinformationinsecondlevelrefiningdataflowdiagram
2.3.2数据字典
数据字典(Datadictionary)是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。
数据字典是数据库的重要部分,它存放有数据库所用的有关信息,对用户来说是一组只读的表。
数据字典内容包括数据库中所有模式对象的信息,如表、视图、簇及索引等;分配多少空间;当前使用了多少空间等;列的缺省值;约束信息的完整性;用户的名字;用户及角色被授予的权限;用户访问或使用的审计信息;其他产生的数据库信息。
数据库数据字典是一组表和视图结构。
它们存放在SYSTEM表空间中。
数据库数据字典不仅是每个数据库的中心。
而且对每个用户也是非常重要的信息。
用户可以用SQL语句访问数据库数据字典。
(1)数据项
名字:
用户
别名:
UserName
描述:
用来表示用户的唯一标识
数据类型:
varchar
长度:
50
名字:
密码
别名:
Password
描述:
登录密码
数据类型:
varchar
长度:
50
(2)数据存储
名字:
个人用户信息表
描述:
个人用户基本信息
编号:
D1
组成:
用户名、密码、电话。
名字:
评论信息表
描述:
评论基本信息
编号:
D2
组成:
评论时间、评论内容、评分、评论景点ID、评论用户ID。
名字:
景点信息表
描述:
景点基本信息
编号:
D3
组成:
景点名称、景点简介、景点开放时间、景点地址、景点价钱
名字:
美食信息表
描述:
美食基本信息
编号:
D4
组成:
美食名称、美食简介。
名字:
住宿信息表
描述:
住宿基本信息
编号:
D5
组成:
旅馆名称、旅馆简介、旅馆价钱、旅馆地址、旅馆评分。
名字:
购物信息表
描述:
购物基本信息
编号:
D6
组成:
特产名称、特产简介。
(3)数据流
名字:
个人用户信息
描述:
个人用户基本信息
编号:
F1
组成:
用户编号、用户名、密码、电话、邮箱等。
名字:
评论信息
描述:
用户评论基本信息
编号:
F2
组成:
评论内容、评论时间、评分、评论ID。
名字:
景点信息
描述:
景点基本信息
编号:
F3
组成:
景点名称、景点简介、景点开放时间、景点地址、景点价钱。
名字:
美食信息
描述:
美食基本信息
编号:
F4
组成:
美食名称、美食简介。
名字:
住宿信息
描述:
住宿基本信息
编号:
F5
组成:
旅馆名称、旅馆简介、旅馆价钱、旅馆地址、旅馆评分等。
名字:
购物信息
描述:
购物基本信息
编号:
F6
组成:
特产名称、特产简介等。
(4)数据处理
名字:
用户管理
描述:
管理用户信息
编号:
P1
连接数据流:
用户信息
名字:
评论信息管理
描述:
管理用户评论信息
编号:
P2
连接数据流:
评论信息
名字:
景点信息管理
描述:
管理景点信息
编号:
P3
连接数据流:
景点信息
名字:
美食信息管理
描述:
管理美食信息
编号:
P4
连接数据流:
美食信息
名字:
住宿信息管理
描述:
管理住宿信息
编号:
P5
连接数据流:
住宿信息
名字:
购物信息管理
描述:
管理购物信息
编号:
P6
连接数据流:
购物信息
2.4系统数据模型
通过对需求的分析、流程的设计以及对系统功能结构的确定,规划出系统中使用的数据库所需的六大实体对象,分别为景点信息实体、美食信息实体、住宿信息实体、购物信息实体、评论信息实体、用户信息实体。
表2-2E-R图符号约定
Tab2-2E-Rchartmarkagreement
符号含义
符号
说明
实体
表示实体集
属性
表示属性
联系
表示联系集
线段
将实体连接到属性或联系集
图2-14景点信息实体E-R图
Fig2-14ScenicofinformationentityE-Rdiagram
图2-15美食信息实体E-R图
Fig2-15OptionsavailableinformationentityE-Rdiagram
图2-16餐馆信息实体E-R图
Fig2-16RestaurantofinformationentityE-Rdiagram
图2-17旅馆信息实体E-R图
Fig2-17HotelofinformationentityE-Rdiagram
图2-18评论信息实体E-R图
Fig2-18CommentofinformationentityE-Rdiagram
图2-19个人用户实体E-R图
Fig2-19IndividualuserentityE-Rdiagram
图2-20葫芦岛信息实体E-R图
Fig2-20HuludaoofinformationentityE-Rdiagram
图2-21系统管理员实体E-R图
Fig2-221ThesystemadministratorentityE-Rdiagram
图2-22系统综合E-R图
Fig2-22E-Rdiagramintegratedsystem
表2-3实体及其属性表
Tab2-4Entityandpropertysheet
实体名称
属性
景点信息
景点名称,景点简介,景点开放时间,景点价格,景点地址,景点经纬度。
美食信息
美食名称,美食简介。
餐馆信息
餐馆名称,餐馆简介,餐馆地址,餐馆价钱。
旅馆信息
旅馆名称,旅馆简介,旅馆地址,旅馆价钱。
用户信息
用户名称(用户手机号),密码。
购物信息
特产名称,特产简介。
评论信息
评论内容,评论时间,评分,评论ID。
3概要设计
总体设计即系统的物理设计,它包括:
系统的结构设计、代码设计、数据库设计、以及软硬件配置等内容。
3.1体系结构设计
根据该系统的的特点,可以将其分为APP端和服务器端两个部分设计。
APP端主要实现的功能为浏览信息、用户登录,经典的导航、预约门票。
服务器端主要实现功能为信息审核,信息发布。
图3-1APP端功能结构图
Fig3-1TheAPPsystemfunctionstructuredrawing
图3-2后台系统功能结构图
Fig3-2Thebackgroundsystemfunctionstructure
3.2外部接口
3.2.1景点界面
景点信息是从服务器端获取的JSON信息,安卓客户端进行解析。
“http:
//192.168.1.108:
8080/BYSJ/servlet/GetJson?
type=”其中192.168.1.108为本机IP地址,type表示请求的是哪个功能模块的数据,其中1代表景点、2代表美食、3代表餐馆、4代表住宿、5代表购物。
3.2.2软件接口
使用数据库操作类中的createCon方法来进行对数据库的连接和访问操作。
3.3代码设计
3.3.1代码设计原则
代码是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号形式表示信息的明确规则体系。
代码设计的原则包括唯一确定性、简单性和易识别性、可扩充性与合理性、规范性等。
综上所述代码设计的原则如下:
(1)唯一性:
一个对象只能赋予它唯一的代码。
(2)简单性:
代码命名要简单直观。
(3)易识别性:
为便于记忆、减少出错,代码应当逻辑性强,表意明确。
(4)可扩充性:
不需要变动原代码体系,可直接追加新代码,以适应系统发展。
(5)合理性:
必须在逻辑上满足应用需要,在结构上与处理方法相一致。
(6)规范性:
尽可能采用现有的国标、部标编码,结构统一。
3.3.2系统所需代码设计
(1)数据代码和布局代码
JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负。
XML天生有很好的扩展性,JSON当然也有,没有什么是XML可以扩展而JSON却不能扩展的。
不过JSON在Javascript主场作战,可以存储Javascript复合对象,有着xml不可比拟的优势。
XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有提供的工具。
无工具的情况下,相信熟练的开发人员一样能很快的写出想要的xml文档和JSON字符串,不过,xml文档要多很多结构上的字符。
XML的解析方式有两种:
一是通过文档模型解析,也就是通过父标签索引出一组标记。
例如:
xmlData.getElementsByTagName("tagName"),但是这样是要在预先知道文档结构的情况下使用,无法进行通用的封装。
另外一种方法是遍历节点(document以及childNodes)。
这个可以通过递归来实现,不过解析出来的数据仍旧是形式各异,往往也不能满足预先的要求。
而如果不知道JSON的结构而去解析JSON的话,那简直是噩梦。
费时费力不说,代码也会变得冗余拖沓,得到的结果也不尽人意。
但是这样也不影响众多前台开发人员选择JSON。
因为json.js中的toJSONString()就可以看到JSON的字符串结构。
当然不是使用这个字符串,这样仍旧是噩梦。
常用JSON的人看到这个字符串之后,就对JSON的结构很明了了,就更容易的操作JSON。
(2)功能模块代码
功能模块采用的是java代码。
用java代码加载各自功能的布局,进行数据加载和事件分发操作。
Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。
3.4数据库设计
3.4.1关系模式设计
(1)景点信息,包括数据项:
景点编号、景点名称、景点图片、景点简介、景点地址、景点开放时间、景点价钱等。
(2)美食信息,包括数据项:
美食编号、美食名称、美食简介等。
(3)餐馆信息,包括数据项:
餐馆编号、餐馆名称、餐馆简介、餐馆地址、餐馆价钱等。
(4)旅馆信息,包括数据项:
旅馆编号、旅馆名称、旅馆简介、旅馆地址、旅馆价钱等。
(5)个人信息,包括数据项:
个人编号、用户名、密码。
(6)评论信息,包括数据项:
评论内容、评论时间、评分、对应用户ID、对用景点ID。
3.4.2数据库物理结构设计
表3-1景点信息表
Tab3-1Scenicofinformationtable
字段名称
数据类型
字段大小
允许空
说明
ID
int
255
景点编号
sname
varchar
255
景点名称
pic_url
varchar
255
景点图片
desc
varchar
255
景点简介
avg
varchar
255
景点评分
count
varchar
255
评分总数
map_x
varchar
255
景点精度
map_y
varchar
255
景点维度
address
varchar
255
景点地址
opening_hours
varchar
255
景点开放时间
price
varchar
255
景点价格
表3-2美食信息表
Tab3-2Foodofinformationtable
字段名称
数据类型
字段大小
允许空
说明
ID
Int
4
美食编号
sname
varchar
255
美食名称
desc
varchar
255
美食简介
pic_url
varchar
255
美食图片
表3-3餐馆信息表
Tab3-3Restaurantofinformationtable
字段名称
数据类型
字段大小
允许空
说明
ID
int
255
餐馆编号
sname
varchar
255
餐馆名称
avg
vrchar
255
餐馆评分
price
varchar
255
餐馆价钱
address
varchar
255
餐馆地址
tel
varchar
255
餐馆电话
map_x
varchar
255
餐馆精度
map_y
varchar
255
餐馆纬度
表3-4旅馆信息表
Tab3-4Hotelofinformationtable
字段名称
数据类型
字段大小
允许空
说明
ID
int
255
旅馆编号
sname
varchar
255
旅馆名称
avg
varchar
255
旅馆评分
price
varchar
255
旅馆价钱
address
varchar
255
旅馆地址
tel
varchar
255
旅馆电话
map_x
varchar
255
旅馆精度
map_y
varchar
255
旅馆纬度
pic_url
varchar
255
旅馆图片
表3-5个人信息表
Tab3-5Userofinformationtable
字段名称
数据类型
字段大小
允许空
说明
ID
int
4
用户编号
username
varchar
255
用户名
password
varchar
255
用户密码
token
varchar
255
用户标识
表3-6评论信息表
Tab3-6Commentofinformationtable
字段名称
数据类型
字段大小
允许空
说明
ID
int
255
评论编号
content
varchar
评论内容
userType
varchar