旅游民宿系统设计毕业设计-论文
武汉纺织大学管理学院
学年论文
(2016 —2017 学年第二学期)
题 目:基于Java 的旅游民宿系统设计
─────────────
专 业:信息管理与信息系统
────────────
班 级: 信管11401
────────────
姓 名:
────────────
指导教师:
────────────
序 号:22
2017年9月 25日
学年论文开题报告
摘 要
随着现代科技社会的不断发展,网络技术的不断进步,从基于PC 机的传统上网方式转向移动互联网已经成为一个趋势。移动互联网在经过多年的发展,正在形成稳定的市场服务格局。根据移动互联网的特点来看,手机客户端将是影响移动互联网发展的重要因素。手机客户端是指移动互联网企业为方便用户使用,而特别定制研发的特殊终端应用。
本文设计实现的无线旅游客户端就是基于这样的一款实例应用的软件。用户可以通过该客户端进行旅游行程、线路、景点、规划以及加密下载,并通过手机实现导航或地图引导到景点,景点内自助导游。本客户端软件系统在开发过程中基于C/S架构、J2ME 平台,利用Java 语言编写。主要是实现对服务器的数据请求、解析和显示的功能。本系统所访问的服务器为中国移动无线旅游服务器,故由中国移动客户给出需求说明,说明书包括了协议框架和接口说明。客户端就是通过这些接口来访问服务器的数据。
关键词:旅游,民宿,智能化推荐,客户端,C/S
ABSTRACT
Now science and technology with the continuous development of society, the network technology advances, from based on PC's traditional Internet way to mobile Internet has become a trend. Mobile Internet is trying to form stable market service pattern. According to the characteristics of the mobile Internet, mobile phone to see the client will affect the development of mobile. Mobile phone a client is refers to the mobile Internet enterprise for the convenience of use, and custom made special terminal application development.
This paper introduces the design of the realization of the wireless tourism client is based on such a example of application software. The user can through the client Tours, lines, planning and encryption, and through the
Cell phone download cell realize navigation or map to attractions, attractions in guide self-help guide. The client software in the process of system development based on C/S structure, used J2ME platform, Java language. Mainly is to realize the server data request, analysis and display the function. This system visits the server for China mobile wireless tourism, the description given that include the framework and interface specifications. The client is through these interfaces for accessing the server data.
Key Words : Tourism; Homestay; AI recommendation; Client; C/S
目 录
第1章 引 言 .................................................. 9
1.1 课题背景 ................................................ 9
1.2 国内外研究现状及趋势 .................................... 9
1.3本课题研究的意义 ........................................ 10
1.4本课题的研究方法 ........................................ 11
第2章 技术基础 .............................................. 12
2.1 开发语言及环境 ......................................... 12
2.2 开发语言简介 ........................................... 12
2.3 J2ME平台介绍 ........................................... 14
2.4 JSON介绍 ............................................... 14
2.5 客户端软件格式 ......................................... 15
第3章 需求分析 .............................................. 16
3.1系统设计概要 ............................................ 16
3.2 软件体系结构 ........................................... 16
3.3软件功能模块设计与划分 .................................. 17
3.3.1 景点模块 .......................................... 17
3.3.2 线路模块 .......................................... 18
3.3.3 排行模块 .......................................... 18
3.3.4 搜索模块 .......................................... 18
3.3.5 评论模块 .......................................... 19
3.3.6 功能模块图 ........................................ 19
3.4 客户端系统流程图 ....................................... 20
第4章 数据需求分析 .......................................... 21
4.1数据来源 ................................................ 21
4.2 相关规定 ............................................... 21
4.2.1 HTTP请求格式 ...................................... 21
4.2.2 GET与POST 区别 .................................... 21
第5章 系统原型设计与实现 . ................................... 23
5.1 软件启动页面 ........................................... 23
5.2 搜索 .................................................... 24
5.3 评论 .................................................... 24
5.4 民宿 .................................................... 25
第6章 软件测试 .............................................. 26
6.1 测试项目 ............................................... 26
6.1.1 搜索 .............................................. 26
6.1.2 评论 .............................................. 26
第7章 结论 .................................................. 27 参考文献 . ..................................................... 28
第1章 引 言
1.1 课题背景
随着3G 和4G 和4G 时代的到来,手机上网已经慢慢进入人们的生活,谈到未来基于手机上的无线互联网的发展趋势究竟是手机客户端上网还是手机ap 上网,目前这个阶段还很难过早的下定论。但是有一点是可以肯定的,那就是用户体验的好坏将直接决定这两者的前途命运。利用手机wap 上网,第一次则需要手动输入网址,当然可以将该网页保存为标签,之后也可以做到较为方便的访问。在手机上完成输入网址或者在众多保存的标签中查找需要的网址,确实是需要一定时间的。而客户端软件,虽然需要在手机上安装才能使用,但是仍然是登入互联网最便捷的方式,扼守着移动互联网的第一入口,为企业进入营销时代开辟了一条康庄大道。目前,无线互联网行业以手机客户端为主的产品很多。手机客户端为企业提供完善、便捷、多样、高效的移动营销。当中以手机客户端产生的产业发展迅猛,例如中国移动,中国联通,中国电信支持的完美e 端是专门为企业提供定制手机客户端的。他通过为企业提高定制手机客户端,手机应用即可自己实现便捷、有效的移动营销。
本无线旅游客户端正是由中国移动提出,由本人所签公司(东信和平智能卡股份有限公司)负责开发的软件,为用户获取信息提供便捷的方式。
1.2 国内外研究现状及趋势
现在已经进入3G 和4G 移动互联网时代,在所有开通3G 和4G 的国家中,目前为止,日本和韩国是3G 和4G 数据业务做的最成功的。日本是全球最早提供3G 和4G 业务的国家之一,2001年开始引入日本整个移动通信网络中,有超过85%的3G 和4G 用户,其中有超过88%是移动用户。韩国不论是语音市场的增值业务(如彩铃),还是手机电视、手机音乐、手机游戏和手机定位等3G 和4G 数据业务都发展的很好。截至2008年11月底,韩国3G 和4G 用户数量约为1586万人,占移动通信用户总数的34.95%,比欧美国家28%的平均水平高很多。在韩国,无线互联网的发展至今特别迅速。
目前,手机客户端软件处于一个成长的阶段,内置式重要的推广方式,终端厂商为增值自身产品的附加值会内置应用软件。软件服务运营商为推广自身增值业务与终端厂商合作,终端厂商与各方厂商合作越来越紧密,随着智能手机逐渐变成一个信息化终端、娱乐
化终端,移动运营商的主营收入更将可能由此向数据业务及其他的增值业务靠拢。目前,虽然手机应用软件产品层出不穷,但是产品承载的业务还比较单调,主要是音视频下载、信息资讯查询、位置服务等几种业务。而本系统则属于位置服务的增值业务。
1.3本课题研究的意义
大众旅游时代的到来,使旅游日益成为现代人类社会主要的休闲放松的生活方式和社会经济活动,旅游业已成为全球经济发展中势头最强劲和规模最大的产业之一,日益凸显它在国民经济中的重要地位。旅游业的发展以整个国民经济发展水平为基础并受其制约,同时又直接或间接地促进国民经济有关部门的发展。正因为旅游对于民生对于国家经济发展的重要性,建立一个无线旅游系统的手机客户端对于了解景点资讯,促进旅游业发展以及提高旅游质量都是很有必要的,也使得管理信息化。顺应了社会信息化和潮流化。
和传统移动互联网相比,手机客户端主要有如下优势:
第一、移动(无线)互联网操作不便,内容同质化较为严重,需要客户端帮助用户简化操作。移动(无线)互联网依赖于手机载体,因此在屏幕尺寸、输入方式等方面,一直存在着限制。内容摆放混乱,且同质化严重,是一直困扰用户的问题。而客户端的使用,使得用户只需要在本地进行操作,且客户端上提供了更为友好的界面和更多的功能,用户不必费心思去输入网址和复杂的点击操作,即可得到所需信息。
第二、客户端操作可以节约用户上网费用。
由于用户下载了客户端,可以对自己所关注的内容直接操作,而不必再每次进入下载首页,或者打开不必要的网页,减少流量费用。目前是以流量进行计算收费的移动互联网时期,减少流量对于用户而言,是很重要的问题。虽然流量包月制减轻了用户的负担,但多数用户仍会关心如何减少不必要的浪费。
第三、客户端应用便于形成用户使用粘性。
通过客户端的使用,用户将习惯于一种操作模式,这种应用上的习惯,将直接形成用户的粘性,减少用户流失。对于移动互联网发展而言,无疑用户是最为宝贵的财富,追求稳定的用户数量,是现阶段移动互联网企业的首要问题。
1.4本课题的研究方法
本课题在开发过程中,基于中国移动提供的中国移动无线旅游平台与手机客户端软件接口规范来完成客户端的开发。本项目是由本人所签订的公司给出,共由4个人来开发完成。本人参与了从需求获取到整个项目的概要设计、详细设计、代码编写以及测试的整个过程。在这个过程中,公司侧重于让新人体会一个完整项目的开发流程。而这些,应该比仅仅参与代码的开发来的更加至关重要,并且我们从中学到了很多的知识。为我从应届毕业生到职业人搭建了很好的桥梁。
本人在开发无线旅游客户端的过程中,前期主要是对知识的储备,学习有关Java 和J2ME 的相关知识,以及软件工程中学习的开发软件的理论。并在同事的引导下参与项目的各个环节,主要是通过不断加强理论学习,由本人设计并实现公司分配的模块,并在遇到难以解决的问题时,向同事请教的方式完成本次毕业设计任务。
第2章 技术基础
2.1 开发语言及环境
操作系统:Windows 7 应用技术:J2ME ,java ,JSON 开发平台:J2ME
2.2 开发语言简介
J2ME 平台主要是用Java 进行开发。Java 是由Sun Microsystems公司于1995年5月推出的Java 程序设计语言和java 平台的总称。Java 平台是由Java 虚拟机(Java Virtual Machine )和Java 应用编程接口(Application Programming Interface 简称API )构成。Java 应用编程接口为Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java 平台之后,Java 应用程序就可运行。现在Java 平台已经嵌入了几乎所有操作系统。这样Java 程序可以只编译一次,就可以在各种系统中运行。Java 应用编程接口已经从1.1x 版发展到1.2版。目前常用的Java 平台基于Java1.5,最近版本为Java1.7。
Java 是一种简单的、面向对象的、分布式的、解释型的、健壮安全的、结构中立的、可移植的、性能优异的、多线程的动态语言。
Java 分为三个体系JavaSE(Java2 Platform Standard Edition,Java 平台标准版) ,JavaEE(Java 2 Platform,Enterprise Edition ,Java 平台企业版) ,JavaME(Java 2 Platform Micro Edition,Java 平台微型版) 。本客户端采用J2ME 平台。
Java 语言的主要有以下特性:
(1)Java 语言是简单的。它和C 语言和C++很接近,但又丢去了C 中很少使用和很难理解的特性。
(2)Java 是面向对象的。它提供了类、接口和继承等原语,为了简单起见,只支持类之间的单继承,并支持类与接口之间的实现机制。Java 语言全面支持动态
绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java 语言是一个纯的面向对象程序设计语言。
(3)Java 语言是分布式的。Java 语言支持Internet 的应用开发,在基本的Java 应用编程接口中有一个网络应用编程接口。它提供了应用网络编程接口的类库,包括URL 、URLConnection 、Socket 、ServerSocket 等。
(4)Java语言是健壮的。Java 的强类型机制、异常处理、废料的自动收集等是Java 程序健壮的重要保证。对指针的丢弃是Java 明智的选择。Java 的安全机制使得Java 更加健壮。
(5)Java 语言是安全的。Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类ClassLoader ),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager )让Java 应用设置安全哨兵。
(6)Java 语言是体系结构中立的。Java 程序(后缀为java 的文件)在Java 平台上被编译为体系结构中立的字节码格式(后缀为class 的文件), 然后可以在实现这个Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
(7)Java 语言是可移植的。这种可移植性源于体系结构的中立性,另外Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用Java 实现的,Java 的运行环境是用ANSI C实现的。
(8)Java 语言是解释型的。如前所述,Java 程序在Java 平台上被编译为字节码格式,然后可以在实现这个Java 平台的任何系统中运行。在运行时,Java 平台中的Java 解释器对这些字节码进行解释执行,执行过程中需要的类在连接阶段被载入到运行环境中。
(9)Java 是高性能的。与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
(10)Java 是多线程的。在Java 语言中,线程是一种特殊的对象,它必须由Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用Thread(Runnable) 的构造子类实现了Runnable 接口的对象包装成一个线程,其二,
从Thread 类派生出子类并重写run 方法,使用该子类创建的对象即为线程。值得注意的是Thread 类已经实现了Runnable 接口,因此,任何一个线程均有它的run 方法,而run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized )。
(11)Java 语言是动态的。Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
2.3 J2ME平台介绍
J2ME 为在移动设备和嵌入式设备上运行的应用程序提供一个健壮且灵活的环境。J2ME 包括灵活的用户界面、健壮的安全模式、许多内置的网络协议以及对可以动态下载联网和离线应用程序的丰富支持。记忆J2ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。开发J2ME 程序一般不需要特别的开发工具,开发者只需要装上Java JDK及下载免费的Sun Java Wireless Toolkit 2.xx系类开发包,就可以开始编写J2ME 程序、编译以及测试。
2.4 JSON介绍
JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-2623rd Edition – December 1999)的子集。JSON 采用完全独力的文本格式,但是也使用了类似于C 语言家族的习惯(包括C 、C++、C#、Java 、JavaScript 、Perl 、Python 等)。这些特性使JSON 成为理想的数据交换语言。
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“, ”(逗号)分隔。 数组是值(value )的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“, ”(逗号)分隔。
值(value )可以是双引号括起来的字符串(string )、数值(number)、 true、
false 、null 、对象(object )或者数组(array )。这些结构可以嵌套。
字符串(string )是由双引号包围的任意数量Unicode 字符的集合,使用反斜线转义。一个字符(character )即一个单独的字符串(character string )。除去一些编码细节,以下描述了完整的语言。
字符串(string )与C 或者Java 的字符串非常相似。除去未曾使用的八进制与十六进制格式,数值(number )也与C 或者Java 的数值非常相似。空白可以加入到任何符号之间。
JSON 和HTML 的区别:
可读性:JSON 和XML 的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。
可扩展性:XML 天生有很好的扩展性,JSON 当然也有,没有什么是XML 能扩展,JSON 不能的。
编码难性:XML 有丰富的编码工具,比如Dom4j 、JDom 等,JSON 也有json.org 提供的工具,但是JSON 的编码明显比XML 容易许多。
2.5 客户端软件格式
手机客户端格式,顾名思义就是手机软件的格式。目前:手机客户端软件的格式主要包括:JAR 、JAD 、sis 、sisx 、cab 、mmpkg 、apk 共七种格式。其中,sis 是S60v1—v2 UIQ 平台系统的客户端格式,sisx 是S60v3平台系统的客户端格式,cab 是SMmartphone 平台系统的客户端软件格式,mmpkg 是OS X packare苹果操作平台系统的客户端软件格式,apk 是Google android平台系统。受主流趋势影响, 现在安卓和苹果的客户端比较大众, 因此, 本客户端的软件格式是基于J2ME 平台开发的apk 格式。
第3章 需求分析
3.1系统设计概要
无线旅游是指用户通过手机客户端软件进行旅游行程、线路、景点、规划以及加密下载,并通过手机实现导航或地图引导到景点,景点内自助导游的一款位置业务。那么作为这样一款软件,提供足够的信息量是前提。目前,无线旅游网站中省内景点已达到接近600多个,省内景点数量已超过同城网、携程网、去哪儿网、中国风景名胜网等国内位居前列的旅游类网站。
除了信息量大以外,本软件还率先提供了将旅途行程、线路、景点加密成固定格式的文件并下发到手机的服务,并在手机中提供了同互联网上基本一致的展现效果。免去了客户用纸和短彩信等方式记录的不便,实现了旅途规划随身走。出发后全程地图指导和导航,用户使用手机中的旅游软件或WAP 方式可以在旅途中查看使用地图导引行车路线或导航服务,这对自驾车客户非常方便。并且在用户进入景区后,景区内多个景点都有导游词介绍。
同时在民宿区域提供很多不同价位、不同风格的民宿房间,满足不同的需求。让在旅途中也能享受家的舒适。所有房东都是经过官方认证,安全、卫生等都是有官方保障的。
3.2 软件体系结构
本系统是基于C/S模式开发的,即客户端/服务器结构,是20世纪80年代末逐步成长起来的一种模式,是软件体系结构的一种,C/S结构的关键在于功能的分布,一些放在客户端上执行,另一些放在服务器上执行。功能的分布在于减少计算机系统的各种瓶颈问题。如图3-1为软件总结设计的框架图:
图3-1 设计框架图
3.3软件功能模块设计与划分
无线旅游是用户通过手机客户端软件进行旅游行程、线路、景点规划及下载,并通过手机实现导航或地图引导到景点、景点内自助导游的功能。本软件的功能分为五个模块,包括景点、线路、排行、搜索和评论等,每个模块完成自己的任务。各模块之间的划分遵从高内聚,低耦合的划分原则,有利于项目开发的更好完成。以下分别论述各个模块的功能。
3.3.1 景点模块
景点模块主要是对景点的基本信息的介绍,用户可以查看该景点的图片、设施、线路、评论并且可以实现导航去景点的功能。以下是对景点模块功能的详细论述。
景点文件下载:应用程序启动后,在网站上订购的景点,将会自动开始下载。如果订购了多个景点,将按照顺序下载。景点下载完成后,将排列在“已下载”列表中,用户可以点击查看景点文件详情,对于下载队列中没有下载完成的文件,客户端提供断点续传功能。
查看景点文件:用户可以查看景点文件内包含的景点简介、景点下的所有景观、景点下的所有设施、景点下的所有游览线路、景点的图片、景点在地图上的位置、景点的评论。
查看景观详情:针对景点下的每个景观,可以查看景观的简介、景观图片和景观的评论。
查看设施详情:针对景点下的每个设施,可以查看设施的简介、设施的图片和设施的评论。
景点内导游:可以选择某条游览线路,查看该游览线路的导游图,并可以使用此游览线路进行导游,手工或自动切换到当前所在的景观,显示并朗读当前景观的文字介绍,并配有图片和评论。
导航到景点:用户可以使用导航功能导航或路径指引到此景点,关于导航功能的要求请参见地图功能部分。
对景点、景观、设施进行评论:用户可以对景点、景观、设施发表自己的评论。
3.3.2 线路模块
对很多游客来说,提前规划好旅行线路至关重要。此模块可以实现线路文件下载和查看线路文件。以下是对线路模块功能的详细论述。
线路文件下载:应用程序启动后,在网站上订购的线路,将会自动开始下载。如果订购了多个线路,将按照顺序下载。线路下载完成后,将排列在“已下载”列表中,用户可以点击查看线路文件详情。对于下载队列中没有下载完成的文件,客户端提供断点续传功能。
查看线路文件:用户可以查看线路文件内包含的组成线路的所有景点详情、行程计划、行程亮点、食宿推荐、预估费用、贴心提示。
3.3.3 排行模块
本模块共有四种排行机制,包括推荐排行、评论指数排行、最新发布排行、下载排行。对于感兴趣的景点,用户可以选择下载该景点,或者将该旅游景点加入收藏夹,以后希望下载的时候再从收藏夹中触发下载。
3.3.4 搜索模块
用户可以搜索感兴趣的景点并下载使用。主要有两种搜索方式:多种条件的复合搜索、根据景点名称或所在城市进行搜索。对于用户感兴趣的景点,用户可以选择下载该景点,或者将该旅游景点加入到收藏夹中,以后希望下载的时候再从收藏中触发下载。以下是对该模块功能的详细论述。
用户可以在搜索结果列表中点击结果进行下载使用并付费。点击结果列表后,进入景
点的内容索引页,列出有关景点的各项信息,包括景点的简介、景点内的景观数、设施数等。用户点击查看景点的景观、设施、游览线路、图片、及使用导航去景点功能,均将提示用户下载景点,并提示收费信息。
用户选择“下载”后,进入景点下载页,开始下载景点。景点下载完成后,用户将收到一条计费通知短信。
3.3.5 评论模块
用户可以对自己游览过的景点,设施等进行评价,包括自己的游玩感受分享给其他用户,也可以查看到其他用户的评论内容。
3.3.6 功能模块图
本客户端软件的功能模块图如图3-2所示:
图 3-2 功能模块图
3.4 客户端系统流程图
图3-3 软件景点查看流程图
图3-4 软件民宿查看流程图