基于移动端的旅游导航设计与实现开题报告
2020-06-02 19:49:54
1. 研究目的与意义(文献综述包含参考文献)
一、 系统开发的背景及意义
1.1 旅游导航系统的市场趋势
随着Internet技术的发展,互联网在中国逐步普及,人们对网络的需求日益增长,利用移动设备实现旅游资源的管理势在必行。同时,手持设备、智能手机的普及,搭载Android操作系统的智能手机也已经走进了千家万户,其上的各种应用程序,极大的丰富了人们的生活。且Android软硬件功能提升空间巨大,开发性良好,作为智能型手机服务的操作系统拥有庞大的潜在消费者群。其中,手机导航系统作为一项新型的手机应用服务,为人们出行带来了巨大便利。
1.2 发展现状
在我国,旅游产业虽属新兴产业,但已成为我国经济支柱产业之一。经过多年的发展,我国旅游业的产业形象日益鲜明,产业规模也在不断壮大,毫无悬念的在我国发展速度最快行业中占据一席之地。因此对旅游用APP的需求,将越来越大。但目前许多旅游用APP只提供单一的订票功能或导航功能,不能够同时满足用户的多方面需求。传统的导航软件功能过于单一,只为人们提供轨迹记录,路线选择等,使用户在使用时选择单一,信息匮乏。而单一的旅游订票系统,又无法为用户提供路线规划,使用起来也很不方便。因此,如何更有效率的精确查找到规划交通路线、目的地景区介绍以及附近景点推荐等,将是本课题主要的研究内容。
本设计将应用自己所学的知识以及拓展阅读相关文档资料,设计一个基于Android操作系统的旅游导航系统,实现类似于全能导游的功能,便利用户的出行,着重提升用户体验。
1.3 系统开发意义
在上述的背景下,本系统将充分考虑到提高旅游服务的质量,最大的满足游客的体验,并将无线互联网技术可移动性的优点充分的发挥出来,在移动终端实现在旅游景点的自动导游装置。手机作为现在最常用的移动终端,并且随着4G技术的普及,为本系统在实现和推广上提供有利的现实基础。对于传统的旅游业种可以提供的服务,本系统可以更好的满足游客个性化的需要,同时也能很好的缓解导游资源不足的问题。特别是旅游高峰期,一种自助式的、智能的旅游导航系统就会被更加的需要。它基本上可以替代到传统上跟随游客的导游,每个游客都会自己单独的终端,不仅降低了旅行花费,更大大便利了旅游出行。
本文所研究的手机旅游导航系统在导航功能中,主要包括了自我定位,路线查询,路线导航,附近搜索以及实时路况等实用的功能。除此之外,还有订票功能、文章推送、动态展示、攻略介绍等诸多功能。根据Android系统的特性,着重分析应用程序的构建与开发、系统架构等。并基于此背景,深入研究和分析Android平台下导航系统的相关实现技术,并在该平台下完成导航系统的开发工作。同时,按照软件工程理论,对导航系统在需求的分析,概要设计,详细设计,测试,部署等各个方面将进行详细阐述。系统在实用性以及性能上将多做改进,优化系统的框架以及数据库设计,使其相较于大多数同类产品,在性能上能有独特的优势,在设计与实现上尽可能的做到简洁实用而又功能完备。
通过移动通信技术与服务器相连, 本系统便于统一管理旅游信息以及和游客进行直接的沟通。同时,通过GPS定位系统可以方便的让游客定位自己的位置,并且可以查看其他游客情况避开景点人流高峰和自动识别游客位置进行景点介绍。
本系统将不仅仅是一款开源的手机操作系统,更会是一整套符合移动终端的平台系统,其中包括操作系统、中间件和应用程序。全部系统都是用Andriod Studio实现,使系统可以逻辑简单稳定。系统设计将遵循标准的软件开发过程,按照需求分析、概要设计、详细设计、系统实现和测试层次化开发。其中在本课题中将主要对系统的需求分析、详细设计和系统实现上进行详细说明,在需求分析的说明中使用UML的用况图对系统的需求分析进行详细的描述。且随着计算机技术的飞速发展,现在的嵌入式设备的性能已经可以轻松的运行多媒体程序。如果将多媒体技术加入到旅游导航系统中,可以让游客对景点有更直观更深刻的感觉。多媒体技术是在旅游导航系统中提高用户体验,增加旅游质量的全新挑战。
二、系统要实现的功能
计划在Andriod Studio平台下,开发实现此旅游导航系统,具有的功能如下:
用户类型 | 功能 |
游客 | 注册、登陆、浏览及查询 |
会员 |
登陆、浏览及查询、导航、订购、个人中心 |
管理员 | 登陆、查看订单、发布消息、审核 |
三、 系统实现工具和技术
3.1 Andriod Studio开发工具
Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
Android Studio基于JetBrains IntelliJ IDEA,为Android开发特殊定制,并在Windows、OS X和Linux平台上均可运行。
3.2 数据库MySQL
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
3.3 Java技术
Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
任职于太阳微系统的詹姆斯#183;高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通讯。由于这些智能化家电的市场需求没有预期的高,甲骨文公司放弃了该项计划。随着1990年代互联网的发展, Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
Java编程语言的风格十分接近C 语言。继承了C 语言面向对象技术的核心,Java舍弃了C 语言中容易引起错误的指针,改以引用取代,同时移除原C 与原来运算符重载,也移除多重继承特性,改用接口取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对Java语言的解释是:”Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”
Java不同于一般的编译语言和直译语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了”一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的运行速度有了大幅提升。
与传统型态不同, Sun公司在推出Java时就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。”Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.NET平台以及模仿Java的C#语言。后来Sun公司被甲骨文公司并购,Java也随之成为甲骨文公司的产品。
3.4 MVC系统设计模式
(1)目的
该系统按照MVC的软件设计模式进行设计的,将系统分为了服务器端的数据访问存储层、手机端的业务逻辑层和手机端的显示层。数据访问存储层使用该平台下通用的JDBC技术,向下提供对不同数据库的访问控制,向上隐藏具体的数据访问方式,起到了很好的模块化分层作用,方便日后的系统维护和重用。
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。使用MVC设计模式能够使得开发人员可以把精力集中在如何解决实际业务问题上。
在详细设计中根据MVC设计方式分开了系统的显示、控制器和数据模式功能。在服务器端承担了系统的数据模式和部分控制器的功能主要是体现了:接受执行手机端请求功能;聊天室信息转发功能;数据库访问功能。在手机客户端主要承担了系统的控制器部分的功能主要体现了:连接服务器功能;聊天功能;命令管理功能。用户界面主要承担了系统的显示功能被分为三个层次:登录界面,用户主界面和功能界面。
(2)优点
耦合性低:视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
模型是自包含的,并且与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。如果把数据库从MySQL移植到Oracle,或者改变基于RDBMS数据源到LDAP,只需改变模型即可。一旦正确的实现了模型,不管数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的松耦合的构件。
重用性高:随着技术的不断进步,需要用越来越多的方式来访问应用程序。MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码,因为多个视图能共享一个模型,它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。由于已经将数据和业务规则从表示层分开,所以可以最大化的重用代码了。模型也有状态管理和数据持久性处理的功能。
生命周期成本低:MVC使开发和维护用户接口的技术含量降低。
部署快:使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。
可维护性高:分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
有利软件工程化管理:由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。控制器也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。
四、参考文献
[1]李天文.GPS原理及运用[M].
北京:科学出版社,2014.1
[2]中国人民解放军总装备部军事训练教材编辑工作委员会.
GPS技术玉应用[M].北京:国防出版社,2014.2
[3]章健,谭丽华.GPS智能交通引导系统导航[M].
北京:人民邮电出版社,2015.11
[4]赵冬青,吕志平.基于Map工nfo的车载GPS与GIS[M].
北京:人民邮电出版社,2014.9
[5]王广云,郭秉义.差分GPS定位技术与应用[M].
北京:电子工业出版社,2013.9
[6]何伟,杨宗德,张兵.基于SymbianOS的手机开发与应用[M].
北京:人民邮电出版社,2013.6
[7]李晓莹.增强型GSM的演进数据业务介绍[J].
北京:电子工业出版社,2013.4
[8]殷福忠,孙立明.以”3s”集成技术为基础的”LBS”极地应用研究[M].
北京:电子工业出版社,2014.7
[9]李峰.Symbian OS游戏引擎的研究和应用[M].
成都:西安交通大学出版社,2012.9
[10]刘志成.基于Sprite类的游戏动画的实现[M].
北京:中国铁道出版社,2014.3
[11]胡伟.Android系统架构及其驱动研究[M].
广州光比电视大学学报,2015.1
[12]陈凯.三维游戏引擎的设计与实现[M].
浙江:浙江大学出版社,2015.5
[13]杨宣科.人工智能寻路算法及其在游戏中的应用研究[M].
长沙:中南大学出版社,2013.6
[14]刘昌平,樊明玉.Android手机的轻量级访问控制[M].
北京:人民邮电出版社,2014.6
[15]耿东久,索岳.基于Android手机的远程访问和控制系统[J],
2015,(04):
[16]任勇金.浅谈WIFI技术及其发展前景[J].信息通信,
2012,(03):55-58
[17]FRANKEL S.Establishing wireless robust security networks[M],
NIST.2015,(19):144-146
[18]牟式标,楼越升.基于工程项目的Android设计研究 [J],
2012,(07):5-8
[19]郝波.基于Android的海南自助旅游系统开发[J],2012,(22):34-36
[20]余成峰,李戴萍,毛永华.Android 3.0内存管理机制分析[M].
计算机应用与软件,北京:人民邮电出版社,2013.5
2. 研究的基本内容、问题解决措施及方案
本课题要研究或解决的问题:开发一个基于android平台的旅游导航系统。
该酒店预订系统的用户有三类:游客、会员、管理员
游客模式包括的功能如下: