《手机公交线路查询系统高等教育自考试本科毕业论文1.doc》由会员分享,可在线阅读,更多相关《手机公交线路查询系统高等教育自考试本科毕业论文1.doc(38页珍藏版)》请在三一办公上搜索。
1、 湖南省高等教育自学考试本科生毕业论文(设计) 题 目: d 学生姓名:a a 考籍号: 912705425110 专业: 自动化 指导教师:a a手机公交线路查询系统 摘 要: 手机公交车线路查询系统分为两个部分,一部分是基于B/S结构,利用web来维护管理数据库以及实现查询功能,另一部分是基于C/S结构,利用Android手机作为客户端来实现查询功能。本设计中B/S结构部分是以Tomcat作为服务器,以Eclipse工具来设计开发,利用Servlet技术来实现内部功能,使用MySQL作为基础数据库,用户可以输入查询条件查得相应的公交车线路信息,而管理者可以在用户的基础上对公交车信息进行公交
2、车线路信息的增加、删除、修改和查询。设计中C/S结构部分的系统,利用Eclipse工具以及ADT插件进行开发,此部分系统是Android手机应用程序,该程序可以通过手机查询得到公交车线路的信息实现查询功能。本系统功能上可以满足现在的实际要求,具有很好的实际意义。关键词:公交车;B/S-C/S结构;安卓 Mobile Phone Bus Line Query SystemAbstract:Mobile phone bus line query system is divided into two parts, one part is based on the B/S structure, usi
3、ng web to manage database and realize the function of query, the other part is based on the C/S structure, using Android mobile phone as a client to implement query function. The design of B/S structure is part of the Tomcat as a server, use the Eclipse tool to design and development the code, use S
4、ervlet Technology to realize the internal function, use MySQL as a database, the user can enter the query corresponding investigations of the bus route information , and management can be based on user system manage the bus line information to increase, delete, modify and query. Design of C/S struct
5、ure part of the system, using the Eclipse tool and ADT plugin develop the code, this part of the system is Android mobile phone application program, the program through mobile phone inquiries bus line information and realize the query function. This system can satisfy the actual request now, and hav
6、e good practical significance. 分享到 翻译结果重试抱歉,系统响应超时,请稍后再试支持中英、中日在线互译 支持网页翻译,在输入框输入网页地址即可 提供一键清空、复制功能、支持双语对照查看,使您体验更加流畅 Key words: Bus ;B/S-C/S Structure; Android 目录手机公交线路查询系统1第1章 绪论51.1研究背景及目的51.2 国内外研究的现状及发展趋势展望6第2章 相关技术与基础知识82.1 B/S结构82.2 C/S结构92.3 B/S-C/S模式92.4 连接数据库技术112.5 Java Servlet技术与JavaServ
7、er Pages(JSP)112.6 Android简介122.7 数据交互技术WebService+SOAP13第3章 需求分析与设计153.1 系统功能模块设计153.2 本设计中的查询方式与核心算法163.3 服务器端需求分析183.4 客户端需求分析183.5 开发环境及工具需求分析193.6 概要设计20第4章 数据库设计214.1数据库结构214.2服务器数据库设计214.3客户端数据库设计234.4 系统数据流程24第5章 系统详细设计与实现255.1 服务器端的详细设计255.2 后台管理模式255.3 服务器端功能实现255.5 客户端的详细设计31第6章 结论34致 谢35
8、参 考 文 献36第1章 绪论1.1研究背景及目的 当下,计算机技术在迅猛的发展,其技术已经应用在各个行业领域了。随着计算机技术的发展,公交车信息化已经成为不可避免的发展趋势,使公交车网络信息化得到了很大程度的实现,在网络上查询公交车线路已经成为人们在城市出行前的必备科目之一。随着城市的迅速发展,当下城市化脚步越来越快,人们出行选择有很多,但城市公交车任然是人们普遍采用的一种出行方式。而大量人口涌入城市,使得公交车的乘客量存在前所未有的压力。因此,如何使人们出行后能够随时随地的掌控公交车信息,从而正确的、迅速的搭乘公交车成为需要考虑的问题。 从市场调研看:大多数人使用着智能手机,在车站缺少很多
9、必要的公交车信息。若是乘客利用智能手机安装一款专门为乘客而设计的软件,可以使得公交车信息化得到大大的提高。试想一下:乘客可以利用软件获取从公交车司机处反馈的信息,通过了解公交车司机的信息反馈,那么乘客可以通过反馈信息解决自己搭乘公交车的选择。公交车司机只要反馈当前在某某站,利用软件内部算法实现智能计算到站时间,更多的反馈一下公交车座位情况,这样乘客可以作出更合理的选择。 当人们去外地旅游,或去陌生城市出差等等,搭乘公交车便更加成为一个问题。人们通常通过看站牌,上网查询来选择适合自己的公交车线路。但人们的出行往往会随时而变化,若这个时候可以利用手机查询线路,则可以带来更多的方便了。用手机查询公交
10、车线路解决了必须依靠电脑来查询线路,不能随时随地查询的局限性,而且可以利用应用软件来获得更多的信息。可以为乘客节约时间,方便乘客在陌生的城市、地点找到正确的公交车线路。对用户将要出行的路线直观的显示在手机上,这对用户来说可以省去很多麻烦,节省不少时间。本次毕业设计开发一个公交线路手机查询软件,服务于大众,为大众出行旅游提供方便。1.2 国内外研究的现状及发展趋势展望 在公共交通的研究方面,发达国家走在世界的前列并取得了很大的研究成果。尤其是在最近几十年,随着计算机技术的进步和地理信息系统技术的发展。发达国家广泛应用地理信息系统技术在公共交通的规划和管理之中。洛衫机市交通委员会研究建立了企业级的
11、公交地理信息系统系统,服务于公共交通的规划、运营、管理和效益评定。加拿大的卡尔加市也建立了企业级的交通地理信息系统。1996年美国联邦公共交通管理局还专门发布了适用于公共交通的地理信息系统国家规范,通过规范交通地理信息系统数据来推动交通地理信息系统技术在公共交通中的应用。 此外,日本、英国、法国、韩国等国家也投入了大量的人力和物力从事交通地理信息系统的建设和研究,并取得了显著的成果。建立了一种在对公共交通网络优化的基础上,运用系统工程理论将交通流诱导技术、差分GPS定位技术、地理信息系统技术、地图匹配技术、电子技术以及智能卡技术等先进技术进行集成,形成集信息服务、网络通讯于一体的先进的公交规划
12、管理体系16。 近年来,我国的公交查询系统不断的发展,很多城市都拥有公交线路查询系统,网络上也可以下载到许多不同的版本。不过公交查询系统在发展的同时也存在一些问题,需要不断地改进和完善。 在早期的公交查询系统脱离网络,只是一种供人下载后方可查询的程序,是一种单机程序。这样查询的信息是不够准确,得到的信息也不够及时。在网络出现之后,随之而开发的网络公交车线路查询系统比早期的则先进很多。在信息反馈上,信息的准确性,以及信息更新的快速性,都是早起版本不可比拟的。 在很多的公交车线路查询系统中,有一部分公交查询系统,它们只是简单地将各个线路和站点的信息一一罗列出来,让用户自己去一条条查找。而真正意义上
13、的公交查询系统应该是用户输入想要查询的内容,系统能够自动查询出结果,而不是靠用户人工进行查询,查询系统需要更加智能化。还有一部分网上的公交查询系统,它们的系统功能比较完善,实现站点、线路查询以及换乘查询,更加完善一点的系统还有电子地图查询等功能,但是对城市有代表性的地点介绍和查询的功能,做得好的比较少。 还有就是手机上的公交查询系统,可以采用短消息的形式进行查询,但也有一定的局限性。硬件方面,比如遇到服务器、网络繁忙时或者信号盲区,导致用户请求长时间得不到回应。软件方面,运营商不一定提供此类的查询服务。现行的公交车系统或多或少都还是存在一些缺陷的。但是随着技术的更新以及不断的改进,相信可以做出
14、更人性化、更完善的公交查询工具。 在这个公交车查询网,以及Android手机版本,是在公交车线路查询做的比较好的。有站点换乘,公交车线路,公交站点的三种查询方式,同时,他调用百度的API来直观的显示公交车线路。不仅如此,此网站相应的扩展了其他的相关信息查询,可以说是在公交车线路查询方面做得很好的网站。其下载应的数据包,在手机查询方面可以实现单机查询线路信息的功能。 该公交车查询系统的特点是: 1可以直观的显示地图线路;2 可以实现复杂的换乘站点查询;3 数据库的信息量大;4 同步实现了手机查询;5 有客户纠错功能,可以在线线路纠错。不足归纳起来主要有以下几个方面: 1线路直观显示并不能完全实现
15、;2 手机端的功能并不完善;第2章 相关技术与基础知识 整个系统采用了两种结构,B/S结构与C/S结构。其代码都是采用java语言编写。 服务端用java语言编写,用com.mysql.jdbc.Driver驱动包连接MySQL数据库。采用Web页面来对数据库进行操作。 B/S结构的Web网页作为后台,可以用于维护系统的数据库和查询线路信息的功能。其中用到了Java Servlet技术与JavaServer Pages(JSP)技术来实现普通静态HTML和动态HTML。2.1 B/S结构 精简的说:B/S模式是一种从传统的三层C/S模式发展起来的新的网络结构模式,其本质也是三层结构的C/S模式
16、。在用户的计算机上安装浏览器软件,在服务器上存放数据并且安装服务应用程序,服务器有WWW服务器和文件服务器等。用户通过浏览器访问服务器,进行信息浏览、文件传输和电子邮件等服务 。 B/S模式特点: (1)系统开发、维护、升级方便 每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便。 (2)B/S模式具有很强的开放性 在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好。 (3)B/S模式的结构易于扩展 由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用
17、户的大型系统。 (4)用户使用方便 B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。对于无用户交换功能的页面。用户接触的界面都是一致的,用户使用方便。2.2 C/S结构 精简的说:C/S模式是一种三层结构的系统,第一层在客户机上安装了客户机应用程序,第二层在服务器上安装服务器管理程序,第三层是数据访问层。在C/S模式的工作过程中,客户机程序发出请求,服务器程序接收并且处理客户机程序提出的请求,然后返回结果。 C/S模式特点: (1)C/S模式将应用与服务分离,系统具有稳定性和灵活性 (2)C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性 (3)由于客户
18、端实现与服务器端的直接连接,没有中间环节,因此响应速度快 (4)在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升每台客户机都要安装客户机程序,系统升级和维护较为复杂发。 2.3 B/S-C/S模式 B/S-C/S模式定义:B/S-C/S模式是将B/S模式和C/S模式组合而来的,吸取这两种模式的优点,达到互补的作用。 B/S模式和C/S模式都是三层结构,B/S模式第一层是表现层,第二层是业务逻辑层,第三层是数据访问层。C/S模式三层结构中第一层是客户端与B/S模式中的第一层不一样,其余两层相同。 在B/S模式和C/S模式数据访问过程和业务逻辑处理过程中是在服务器端完成,用户只
19、需接受服务器返回的结果。在B/S-C/S模式中,一部分数据访问过程和业务逻辑处理过程在客户端完成,另外一部分数据访问过程和业务逻辑处理过程在服务器端完成。本手机公交线路查询软件一部分功能只要依靠手机本地数据库就可以实现,令外一部分功能需要借助互联网实现。 目前不论是手机硬件还是计算机硬件,更新速度很快,而且硬件的配置水平也越来越高,在硬件条件允许的情况下把一部分业务处理、数据访问的过程放在客户端去完成,那么对服务器的硬件要求就会低一些,甚至一些高性能的PC机就可以作为服务器。从整个作业量来看,本质上是把作业量往客户端多分摊一部分,降低服务器的作业量,因此,对客户端的硬件要求是比较高的。 B/S
20、-C/S模式结构如图3.2.1所示。 图2.1 B/S-C/S模式结构图 本软件系统采用B/S-C/S模式,系统框架如图3.2.2所示。图2.2 系统框架图 B/S-C/S模式特点 B/S-C/S模式在继承了B/S模式和C/S模式的优点之后,还具有以下特点: 1) 可靠性高 :客户端不必完全依赖于服务器,即便脱离服务器,还有手机数据库的支持,可以继续使用一部分功能;客户端的数据丢失的时候,可以采用数据库同步的方式从服务器获得新的数据信息。 2) 省资源 :一部分作业在客户端完成,服务器的访问量和作业量都会减少,省资源,维护起来会更加方便。2.4 连接数据库技术 利用com.mysql.jdbc
21、.Driver驱动包连接到本地的loudidb数据库,对数据库进行操作。 在调用DriverManager的getConnection方法连接数据库之前,保证相应的Driver类已经被加载到 jvm中,并且完成了类的初始化工作就行了,而具体是怎样实现这个功能却是没有讲究的。连接数据库一般的主要包含一下七个步骤: 1、创建一个以JDBC连接数据库的程序,包含7个步骤: 2、提供JDBC连接的URL 3、创建数据库的连接 4、创建一个Statement 5、执行SQL语句 6、处理结果 7、关闭JDBC对象 2.5 Java Servlet技术与JavaServer Pages(JSP) Java
22、 Servlet程序在服务器端运行,动态地生成Web页面。 Java Servlet具有以下特点: 高效:在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而在Servlet中,每个请求由一个轻量级的Java线程处理(而不是重量级的操作系统进程)。在传统CGI中,如果有N个并发的对同一CGI程序的请求,则该CGI程序的代码在内存中重复装载了N次;而对于Servlet,处理请求的是N个线程,只需要一份Servlet类代码。在性能优化方面,Servlet也比CGI有着更多的选择,比如缓冲以前的计算结果,保持数据库连接的
23、活动,等等。 方便:Servlet提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。功能强大:在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。可移植性好:Servlet用Java编写,Servlet API具有完善的标准。因此,为I-Planet Enterprise Server写的Servlet无需任何实质上的改动即可移植到Apache、Mic
24、rosoft IIS或者WebStar。几乎所有的主流服务器都直接或通过插件支持Servlet。节省投资:不仅有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。 JSP及其特点: JavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术。 许多由CGI程序生成的页面大部分仍旧是静态HTML,动态内容只在页面中有限的几个部分出现。但是包括Servlet在内的大多数CGI技术及其变种,总是通过程序生成整个页面。JSP使得我们可以分别创建这两个部
25、分。 JSP和纯Servlet相比:JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用 println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地 分开:比如,由页面设计专家进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。2.6 Android简介 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完
26、整的移动软件。目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。Android早期由原名为Android的公司开发,谷歌在2005年收购Android.Inc后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Andro
27、id已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。2.7 数据交互技术WebService+SOAP一 什么是WebService?WebService简单来说就是为应用程序提供一个网络接口,其他应用程序(可以是桌面应用程序或网络应用程序),通过这个接口来调用服务商提供的程序(一般是由客户端发送数据,服务器端接收数
28、据并作出相应处理后返回数据),来达到数据交互和分布式处理的效果,并且他通过wsdl、soap等标准实现交互,是一种与语言,平台无关的交互技术。二 什么是SOAP? SOAP:简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。 SOAP 包括四个部分:1) SOAP 封装:它定义了一个框架 , 该
29、框架描述了消息中的内容是什么,谁应当处理它以及它是可选的还是必须的。2) SOAP 编码规则:它定义了一种序列化的机制,用于交换应用程序所定义的数据类型的实例。3) SOAP RPC 表示:它定义了用于表示远程过程调用和应答的协定。4) SOAP 绑定:定义了一种使用底层传输协议来完成在节点间交换SOAP封装的约定。SOAP 消息基本上是从发送端到接收端的单向传输,但它们常常结合起来执行类似于请求、应答的模式。所有的 SOAP 消息都使用 XML 编码。一条 SOAP 消息就是一个包含有一个必需的 SOAP 的封装包,一个可选的 SOAP 标头和一个必需的 SOAP 体块的 XML 文档。把
30、SOAP 绑定到 HTTP 提供了同时利用 SOAP 的样式和分散的灵活性的特点以及 HTTP 的丰富的特征库的优点。在HTTP上传送 SOAP 并不是说 SOAP 会覆盖现有的 HTTP 语义,而是 HTTP 上的 SOAP 语义会自然的映射到 HTTP 语义。在使用 HTTP 作为协议绑定的场合中, RPC 请求映射到 HTTP 请求上,而 RPC 应答映射到 HTTP 应答。然而,在 RPC 上使用 SOAP 并不仅限于 HTTP 协议绑定。SOAP也可以绑定到TCP和UDP协议上。 第3章 需求分析与设计 随着现在社会的发展,现时城市交通公交线路的增加,人们对外出乘车时如何选择公交车次
31、和路线而困惑。人们都避免不了要到某些城市去做一些事情。一旦你对这个市不熟悉,你的出门就会举步维艰。因此,开发一个城市的公交车查询系统就显得十分必要。 本系统的开发目的主要是向公交车用户提供公交的相关信息查询,为他们的出行提供相关的线路查询和选择。包括提供全部线路的具体情况(途经站点、早班和末班车时间、票价、里程、线路类型等)查,各个站点所有的线路查询,站点与站点之间的线路查询等等。 3.1 系统功能模块设计手机公交车线路查询系统包括B/S模式Web查询管理服务器、C/S模式手机应用程序两个大模块,每个大模块下又包含若干个小模块。图3.1 系统功能模块图3.2 本设计中的查询方式与核心算法 查询
32、方式:1)根据时间范围来查询:在相应的时间范围之内,查询出在该时间段内工作的线路,将线路相关信息罗列出来;2)根据站点名称查询:根据站点名称查询出经过该站点的所有线路信息,将相关的线路信息罗列出来;3)根据线路名称查询:根据线路名称查询该线路的信息,将线路信息罗列出来;4)根据站点至站点查询:根据两个站点名称查询,出发站点名称,目的站点名称查询得出最优路线,将如何乘车的线路信息罗列出来。 核心算法: 假设乘客从A站乘公交车去B站, 首先, 看A站是否有公交车直接到B站。如果有一条或多条直达公交线路, 则从中选择线路距离最短的公交车, 如图3.2( a) 。如果没有, 则看经过A站的公交车和经过
33、B站的公交车有没有交叉点, 若有交叉点C, 则选择在交叉点C转车到达B站, 如图3.2( b) 。如果经过A站的公交车和经过B站的公交车没有交叉点, 则先乘经过A站的某一路公交车到达某一站C, 看经过C站的公交车与经过B站的公交车有没有交叉点D,若有, 则在D站转车到达B站, 如图3.2( c) 。另外, 有可能存在多种两次换乘的方案,如图3.2( d) 所示。此时, 需要判断哪种方案距离最短, 然后选择距离最短方案。如果经过C站的公交车与经过B站的公交车没有交叉点, 说明经过两次换乘还不能从A站到达B站, 则停止搜索。图3.2 公交线路网以上有四种查询方式,但最为核心的是第四种站站查询方式,
34、其中查询最优线路的算法如下:(1) 从输入的出发站点A,目的站点B开始;(2) 在公交车站点数据库中查处经过站点A的公交车线路(L(i),i=1,2,3,m m为正整数),以及经过站点B的公交车线路(S(j),j=1,2,3,n n为正整数);(3) 判断L(i)=S(j),若有复合等式的,则该公交车线路则为最优线路,输出相应的结果则可;若是有多条满足条件,则根据从A到B所经过的站点数目多少来判断最优线路,输出经过站点最少的线路;(4) 从公交线路数据库中查出经过站点A的公交线路L( i) 的站点E( i, g) ( i= 1, 2, 3, , m; g = 1, 2, 3, nm, n为正整
35、数) , 以及经过站点B的公交线路S( j ) 的站点F( j , h) ( j= 1, 2, 3, , p; h= 1, 2, 3, , q;p, q为正整数) ;(5) 判断是否有E(i, g) = F(j, h) 。若有一个站点满足要求, 该站点即为一次换乘的站点。从A站点出发, 在该站点换乘即可以到达B站点。可能有一对或多对公交线路满足要求, 从中选择一对距离最短的公交线路即为最优线路, 输出结果。若有几个站点满足要求, 则先分别求出每一个站点的距离最短的换乘方案,然后比较各换乘方案的距离, 选择所有方案中距离最短的换乘方案即为最优线路, 输出结果。若没有, 继续;(6) 从公交站点数
36、据库中查得经过E( i, g) 的公交线路T( k) ( k= 1, 2, , mm为正整数) , 从公交线路数据库中查得线路T( k) 的站点G( k, w) ( k= 1, 2, ,m; w= 1, 2, , nm, n为正整数) ;(7) 判断是否有G( k, w) = F( j, h) 。若有某个站点F满足要求, 则站点F为第二个换乘站点。从起始站点A经过一次换乘( 假设换乘点为站点E) , 可以到达站点E, 从站点E可以换乘公交车F直达目的站点B。按照步骤(4)(5)(6)的方法求出从起始站点A到站点E的一次换乘的最优线路, 在按照(2)(3)的方法求出从站点E到目的站点的最优线路。
37、两个换乘站点和两段最优线路即组成了从起始站点A到目的站点B的最优线路。若有多个站点满足G( k, w) =F(j, h) , 则分别求出各站点的最优换乘方案, 比较各方案的线路距离, 选择一种距离最短的换乘方案作为最后的结果。输出结果;(8) 将上三种输出结果比较, 选出最优一条线路, 输出结果并结束运算;(9) 如果上述步骤没有找到合适的公交线路, 则输出“没有找到转车次数不超过两次的公交线路”, 结束运算。3.3 服务器端需求分析 服务器作为后台,需要专业人员对服务器操作和维护,一般情况可由非专业人员借助管理软件对服务器进行常规维护。服务器可以通过数据库同步,为客户端数据库提供数据。通过仔
38、细分析服务器需求之后,服务器端要完成以下功能: 1、服务器后台管理功能 服务器后台管理是针对数据库进行操作,具有增、删、改、查功能。 2、数据同步功能。 采用Servlet技术,响应客户端请求,返回给客户端一端数据流,该数据流按照Xml语言规范写入数据流。 服务器端功能模块划分如图3.3所示。 图 3.3 服务器端功能模块图 3.4 客户端需求分析 客户端主要是手机,用户无法通过手机对本地数据库进行操作,也无法对服务器数据库操作,管理员可以通过手机浏览器登录到服务器管理员页面对数据库进行操作,可以使用一些功能。该软件应满足若干要求,比如能够随时掌握公交信息,动态更新最新数据等。也要考虑作为手机
39、软件可能会出现查询速度慢,数据流量过大,过度依赖服务器等问题。通过仔细分析用户需求之后,该软件要完成以下功能: 1、查询线路功能 获得线路经过的每个站点信息以及线路的票价信息和发车时间信息。 2、数据更新功能 服务器响应客户端请求返回一段数据流,客户端接收此数据流后,按照Xml语言规范对数据流进行解析,解析后将数据存入客户端数据库。 客户端功能模块划分如图3.4所示。图3.4 客户端功能模块图 3.5 开发环境及工具需求分析 服务器端开发环境,以windows xp操作系统为开发平台,用Tomcat6.0做为服务器,MySQL5.0作为数据源,JSP、Servlet作为开发工具,Eclipse
40、 j2ee、Dreamweaver插件作为辅助开发工具,运行在一般的PC机上即可。 客户端开发环境,以Android手机操作系统为开发平台,用Android手机操作系统自带的SQLite作为数据源。Java语言和Xml语言作为开发工具,Eclipse3.5+adt插件作为辅助开发工具。整个Android手机操作系统是在Android SDK提供的虚拟机中运行,该虚拟机运行在windows xp操作系统上,所以客户端的开发是在windows xp操作系统上运行的Android操作系统中进行的二次开发。 3.6 概要设计 手机公交车线路查询系统主要功能是实现对线路信息的查询,把用户输入的信息(如:
41、时间、站点、线路名称、站站名称)作为查询的条件,然后从数据库中筛选出正确结果。整个设计流程从实际生活中调查研究出所需要实现的功能需求报告,由需求报告来确定系统所需要实现的功能,然后再编写程序来实现相应的功能。开发流程如图3.5所示。图3.5 开发流程图 第4章 数据库设计4.1数据库结构 服务器数据库为总数据源,每一个客户端都拥有独立的小型数据库。客户端数据库信息从服务器端同步获得。 服务器的数据库是基于MySQL建立,客户端数据库是基于SQLite建立。 数据库体系结构如图4.1所示。图4.1 数据库体系结构图 4.2服务器数据库设计E-R关系如图4.2所示。 图4.2 服务器数据E-R图
42、根据上面的E-R图,本软件服务器端定义的loudiDB数据库设计了以下3张表:站点表:STATIONS(表4.2)、线路表:ROUTES(表4.3)、用户信息表:USERS(表4.4)本软件服务器数据库所包含的表的描述如表4.1。 表4.1 数据库概况表 表名描述关键字STATIONS保存站点信息ID,STATION,PASSBUSROUTES保存线路信息ID,ROUTENAME,CONTENT,FIRSTSTA,LASTSTA,FIRSTTIME,LASTTIME,MAXWAITTIMEUSERS用户信息USERNAME,PASSWD,EMAIL,GRADE 服务器的所有表名,以及相应表的描
43、述,以及关键字说明。表4.2 站点表 站点表(STATIONS)结构,其中id为主键,自增长、station为站点名、passbus为经过该站点的线路名,以-分隔。表4.3 线路表 线路表(ROUTES)结构,其中routename为线路名称、content为线路全径、firstSta为始发站、lastSta为终点站、firstatime为首发班车时间、lasttime为末班车时间、maxwaittime为发车间隔时间。4.4 用户信息表 用户信息表(USERS)结构,其中id为主键,自增长、username为用户名、passwd为密码、email为注册邮箱、grade为级别。4.3客户端数据
44、库设计客户端数据库是Android自带的SQLite数据库,其中所有的表信息都同步来自服务器端的源数据库。其中的表与服务器端的表相同包括站点表:STATIONS(表4.2)、线路表:ROUTES(表4.3)、用户信息表:USERS(表4.4)。4.4 系统数据流程 进入系统开始就就伴随着与数据库的连接、数据交互。在登录系统时需要身份认证,此时用户输入相应的帐号、密码,点击登录时,系统需要将用户输入的帐号、密码与数据库中用户表(USERS表)进行对比。若以管理员身份登录成功,则可以进行增加线路信息、修改线路信息、删除线路信息、查询线路信息。 在Android手机端,则需要首先更新数据,然后再开始
45、相应的查询。 系统数据流程如图4.1所示。图4.1 系统数据流第5章 系统详细设计与实现5.1 服务器端的详细设计 服务器端包括Web网页查询线路信息,以及管理后台数据库的功能。其操作全部用Web来完成。其功能使用Servlet实现,其中也利用了JSP的技术。5.2 后台管理模式 后台制作使用JSP完成。基本管理流程如图5.1所示。 图5.1 管理流程图5.3 服务器端功能实现通过管理员模式进入管理员添加线路页面,可以添加公交线路名称,首班发车时间,末班发车时间,线路全径等实现对后台数据库的维护。系统演示:注册页面图5.2 注册页面 注册页面输入相应的注册信息注册即可。若注册成功则显示注册成功以及相关注册信息,否则显示注册失败。图5.3 登录页面 登录页面,用户可以以管理员帐号admin登录,或者以其他用户登录。 以管理员用户登录添加线路页面如图5.4所示:图5.4 添加页面 添加线路,输入线路名称、线路全径、首班时间、末班车时间、发车时间,点击添加线路则把相应的数据插入routes、stations两个表中。 添加成功如图5.5所示:图5.5 添加线路页面 通过管理员模式进入管理员修改、删除线路页面,可以对已经添加成功的公交线路信息修改并保存,也可以直接在该页面删除数据。修改、删除线路页面如图5.6所示。 图5.6 删除页
链接地址:https://www.31ppt.com/p-4024624.html