版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、公交查询系统的设 计与实现班级:12物联网工程学号:1201141057姓名:郑秀成日期:2014年12月15日引言随着因特网发展的日新月异, 人们利用网络实现资源共享以及协同工作越来越成为 时代的潮流,使用各种网上的软件方便生活,已经成为了一个不可扭转的趋势。以此设 计题目为目的, 选择郑州市作为实践对象, 以郑州市公交系统为基础, 再利用所学知识, 熟练运用开发工具后,开发一个郑州市手机公交线路查询软件,并且尽可能将其开发为 一个方便大众使用的公交线路查询软件。而且在当今公交出行线路多数是通过 PC 机查询获得的,但是假想一下在公交出行 线路走到一半的时候计划有所变化,公交出行线路需要有所
2、调整,那么如何能够动态掌 握线路信息显得尤为重要, 而且将来对生活的满意度也不仅仅是百姓致富安居乐业就足 以,而是逐渐趋向于一个更人性化的服务。城市交通服务以及附属的一些服务一直都在 不断的随着社会的进步而进步,这些服务从最开始的直接人力服务转向技术型服务,如 电话询问,路牌等,然而这些服务总是有比较大的局限性,即纵然你知道了这条路该怎 么走,下条路线该通到哪却不知,于是开发这个手机公交线路查询软件,可在手机上随 时随地对公交线路进行查询,对用户将要出行的路线了如指掌,这对用户来说可以省去 很多麻烦,节省不少时间。本次毕业设计结合郑州市公交线路系统开发一个郑州公交线 路手机查询软件 ,服务于大
3、众目录第一章 需求分析与概要设计 1.1.1 可行性分析 1.1.2 需求分析 系统功能需求 服务器端需求分析 客户端需求分析 开发环境及工具需求分析 6.1.3 概要设计 开发流程 系统数据流图 系统整体结构说明 系统功能模块的划分 9.第二章 模式设计 C/S 模式简介 1.32.2 B/S 模式简介 B/S-C/S 模式 B/S-C/S模式定义 B/S-C/S模式特点 1.6第三章 数据库设计
4、1.83.1 数据库结构 服务器数据库设计: 1.83.3 客户端数据库设计: SQLite 简介 数据库设计 2.5.第四章 系统测试 系统测试方案 2.94.2 性能分析 3.0.总结 3.1.第一章 需求分析与概要设计1.1 可行性分析可行性分析是对系统进行全面、 概要的分析。 它的任务是确定项目开发时是 否必要和可行。它的主要目标是:进一步明确系统的目标、规模和功能,对系统 开发背景、 必要性和意义进行调查分析, 并且提出系统的逻辑模型和各种可能的 方案,从而为系统开发项目的决策提供科学依据。 主要从三个方面进行研究:
5、 (1) 技术可行性:以现有技术进行系统开发及系统实施,是完全可行的。首先,从自 身来分析,经过2年多的学习已经初步掌握了 JSP控件、SQL数据库等方面的 编程技巧, 对该软件的设计并不存在技术上的难点。 第二方面, 在设计这个系统 之前,我进行了一系列先期调研,查阅了有关使用JSP进行数据库开发方面的论 著、教材和论文, 更多是利用网络的便利条件, 从网上查阅了北京、 上海、广州、 昆明等大型城市的公交查询系统,并认真地对其进行了分析研究,由于时间紧 , 任务重,我没有更多的时间来开发完整的系统, 所以就以查询作为这个系统的核 心。其次,从数据库方面来分析,也是可行的。系统所建立的数据库表
6、中包含有 五 个 字 段 : bus_number,bus_station1, bus_station2, bus_station3, bus_station4 。 bus_number 用来存放车次, bus_station1, bus_station2, bus_station3, bus_station4 这四个字段用来存放站点。( 2)经济可行性:从 这方面来说, 本系统的开发作为课题来说不需要什么经济投入, 因此来说也是可 行的。( 3)营运可行性 :国内很早就开始应用公交查询系统,我国大部分城市都有公交查询系统。那么从这方面来说是可行的1.2需求分析手机公交线路查询软件最基本的功能
7、是能够有效的为用户提供查询服务,在最短的时间内给用户一条或多条到达目标地的路径。整个查询过程中,只有数据信息是依靠服务器同步获取,其余功能均在手机端完成。在此分别对手机公交线 路查询软件的服务器端和客户端做需求分析。1.2.1系统功能需求本系统的用户包括用户和管理员两类,其中管理人员对此系统进行数据的 修改、删除、查找、添加路线以及发布公交动态等功能。而用户则可运用本系 统合理有效的查询路线、安排行程。功能规划:本系统有两大功能:查询功能以及更新维护功能。其中查询功能包括站站查询功能、车次查询功能、公交站点车次查询三项基本功能。功能描述:a. 站站查询:乘客通过输入起点和终点的站名,那么通过这
8、两个车站的所有车 次就会显示出来供乘客选择合适的乘车路线b. 车次查询:乘客通过输入公交车车次就可以查询出该车次经过的所有站点, 乘客可以根据站点来选择自己的乘车路线c. 公交站点车次查询:这种方案一般针对不城市公交不熟悉的人,通过输入站点或者车次就可以同时显示站点和车次两种信息,根据这个就可以选出最佳的乘车方案。d. 更新维护:管理员负责对公交路线修改和更新,以及系统的维护,同时公布最新的变动信息(包括车次变动和价格变动等)或者有关城市公交的新闻对性能的一般性规定:1 灵活性:当要对系统进行添加数据或删除、更新等操作时,可以容易地对系统进行操作,并且不影响系统的正常运行,更不会有任何出错的现
9、象。2 数据精确 : 因为此数据为系统内部数据 ,所以要求不能有误差。3 时间特性 : 系统应有即时性 ,能尽快查询出所需结果1.2.2 服务器端需求分析服务器作为后台, 需要专业人员对服务器操作和维护, 一般情况可由非专业 人员借助管理软件对服务器进行常规维护。 服务器可以通过数据库同步, 为客户 端数据库提供数据。通过仔细分析服务器需求之后,服务器端要完成以下功能:1、服务器后台管理功能服务器后台管理是针对数据库进行操作,具有增、删、改、查功能。2、数据同步功能。采用 Servlet 技术,响应客户端请求,返回给客户端一端数据流,该数据流 按照 Xml 语言规范写入数据流。服务器端功能模块
10、划分如图 1.1.1 所示图1.2.1服务器端功能模块图1.2.3客户端需求分析客户端主要是手机,用户无法通过手机对本地数据库进行操作, 也无法对服 务器数据库操作,管理员可以通过手机浏览器登录到服务器管理员页面对数据库 进行操作,可以使用一些功能。该软件应满足若干要求,比如能够随时掌握公交 信息,动态更新最新数据等。也要考虑作为手机软件可能会出现查询速度慢,数据流量过大,过度依赖服务器等问题。通过仔细分析用户需求之后,该软件要完 成以下功能:1、查询线路功能获得线路经过的每个站点信息以及线路的票价信息和发车时间信息。2、地图查询功能借助GoogleMap,完成公交查询并显示地图线路。3、数据
11、更新功能服务器响应客户端请求返回一段数据流,客户端接收此数据流后,按照Xml语言规范对数据流进行解析,解析后将数据存入客户端数据库。4、意见反馈功能通过手机邮件将意见发送到管理员的邮箱。客户端功能模块划分如图1.1.2所示图1.2.2客户端功能模块图124开发环境及工具需求分析服务器端开发环境,以windows7操作系统为开发平台,用Tomcat6.0做 为服务器,Mysql5.0作为数据源,JSP作为开发工具,Dreamweaver8.0 作为 辅助开发工具,运行在一般的 PC机上即可。客户端开发环境,以An droid手机操作系统为开发平台,用 An droid手机 操作系统自带的SQLi
12、te作为数据源。Java语言和Xml语言作为开发工具, Eclipse3.5作为辅助开发工具。整个An droid手机操作系统是在An droid SDK 提供的虚拟机中运行,该虚拟机运行在win dows7 操作系统上,所以客户端的开发是在win dows7操作系统上运行的An droid操作系统中进行的二次开发。1.3概要设计1.3.1开发流程开发流程如图1.3.1所示调查研究匚二;/确定功能卜编写程序调试程序卡/ 运行测试优化完善图1.3.1开发流程图1.3.2系统数据流图系统数据流程如图1.3.2所示川户蚪曲功確玛.块華疲町息更斷|A7 rM輕川户茂询 厂、 略线方塞# 公交邃诲柬统图
13、1.3.2系统数据流图133系统整体结构说明该系统包括前台和后台两部分,主要包括用登陆、站点输入、线路输出、站点修改、线路更新等功能。系统的整体功能模块图如图1.2.3所示:本 站 导 航查 询 模 块用户留亠一一口一 *查询方式原则按方法进行查询查询结果输出管 理 员 登 陆车次管理模块消息发布模块-*添加车次信息修改车次信息删除车次信息本站导航图 1.3.3 整体功能模块图1.3.4 系统功能模块的划分公交查询系统功能划分模块如下:1)查询系统模块 该模块实现公交查询功能。可实现按起点中转站终点查询查询 和按线路查询两种查询方式。图1.3.4查询系统模块2)录入系统模块 该模块实现数据的录
14、入、修改、删除功能。该模块由公交站点管理与公交线路管理两部分组成详细设计视图如图1.3.5录入系统模块所示:开始用户录入地图信息将用户输入信息传入mapOperate生成漫游方案NmapOperate 的 参数是否漫游mapOperate I参数是否放大生成放大方案YN参数是否缩小生成缩小方案NmapOperate 的Y1生成测距方案mapOperate 的参 数是否是测距显示乘车方案图125录入系统模块3)信息输入输出模块如图1.3.6所示:开始F用户点击地图判断用户输N入的正确性Y结束图1.3.6信息输出模块第二章 模式设计2.1 C/S 模式简介精简的说: C/S 模式是一种三层结构的系
15、统 ,第一层在客户机上安装了客户 机应用程序 ,第二层在服务器上安装服务器管理程序,第三层是数据访问层。在 C/S 模式的工作过程中 ,客户机程序发出请求 ,服务器程序接收并且处理客户机程 序提出的请求 ,然后返回结果。C/S 模式特点:(1) C/S 模式将应用与服务分离 ,系统具有稳定性和灵活性(2) C/S 模式配备的是点对点的结构模式 ,适用于局域网 ,有可靠的安全性(3) 由于客户端实现与服务器端的直接连接 ,没有中间环节 ,因此响应速度快(4) 在 C/S 模式中,作为客户机的计算机都要安装客户机程序 ,一旦软件系统升 每台客户机都要安装客户机程序 ,系统升级和维护较为复杂发。2.
16、2 B/S 模式简介精简的说:B/S模式是一种从传统的三层C/S模式发展起来的新的网络结构 模式,其本质也是三层结构的 C/S 模式。在用户的计算机上安装浏览器软件, 在服务器上存放数据并且安装服务应用程序,服务器有 WWW 服务器和文件服 务器等。用户通过浏览器访问服务器, 进行信息浏览、 文件传输和电子邮件等服 务。B/S 模式特点:(1) 系统开发、维护、升级方便 每当服务器应用程序升级时,只要在服务 器上升级服务应用程序即可, 用户计算机上的浏览器软件不需要修改, 系统开发 和升级维护方便。(2)B/S 模式具有很强的开放性 在 B/S 模式下,用户通过通用的浏览器进 行访问,系统开放
17、性好。(3)B/S 模式的结构易于扩展 由于 Web 的平台无关性, B/S 模式的结构可 以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上 万个用户的大型系统。(4) 用户使用方便 B/S 模式的应用软件都是基于 Web 浏览器的,而 Web 浏览器的界面是类似的。 对于无用户交换功能的页面。 用户接触的界面都是一致 的,用户使用方便。2.3 B/S-C/S 模式2.3.1 B/S-C/S 模式定义B/S-C/S 模式是将 B/S 模式和 C/S 模式组合而来的,吸取这两种模式的优 点,达到互补的作用。B/S 模式和 C/S 模式都是三层结构, B/S 模式第一层是表现
18、层, 第二层是业 务逻辑层,第三层是数据访问层。 C/S 模式三层结构中第一层是客户端与 B/S 模式中的第一层不一样,其余两层相同。在 B/S 模式和 C/S 模式数据访问过程和业务逻辑处理过程中是在服务器端 完成,用户只需接受服务器返回的结果。在 B/S-C/S 模式中,一部分数据访问 过程和业务逻辑处理过程在客户端完成,另外一部分数据访问过程和业务逻辑处 理过程在服务器端完成。本手机公交线路查询软件一部分功能只要依靠手机本地 数据库就可以实现,令外一部分功能需要借助互联网实现。目前不论是手机硬件还是计算机硬件, 更新速度很快,而且硬件的配置水平 也越来越高,在硬件条件允许的情况下把一部分
19、业务处理、数据访问的过程放在客户端去完成,那么对服务器的硬件要求就会低一些,甚至一些高性能的PC机就可以作为服务器。从整个作业量来看,本质上是把作业量往客户端多分摊一部 分,降低服务器的作业量,因此,对客户端的硬件要求是比较高的。B/S-C/S模式结构如图2.3.1所示。图2.3.1 B/S-C/S模式结构图本软件系统采用B/S-C/S模式,系统框架如图2.3.2所示图2.3.2系统框架图2.3.2 B/S-C/S 模式特点B/S-C/S模式在继承了 B/S模式和C/S模式的优点之后,还具有以下特点: (1)可靠性高1、客户端不必完全依赖于服务器,即便脱离服务器,还有手机数据库的支 持,可以继
20、续使用一部分功能。2、客户端的数据丢失的时候,可以采用数据库同步的方式从服务器获得新 的数据信息。(2)省资源一部分作业在客户端完成, 服务器的访问量和作业量都会减少, 省资源, 维 护起来会更加方便。第三章数据库设计3.1数据库结构服务器数据库为总数据源,每一个客户端都拥有独立的小型数据库。 客户端 数据库信息从服务器端同步获得。SQLite 建立。图3.1.1数据库体系结构图3.2 服务器数据库设计:用户的需求具体体现在对各种信息的提供、保存、更新和查询等方面。因此,一个满足要求的数据库必须充分满足对各种信息的输入输出需要。公交查询系统应满足以下信息需求:管理员必须先登录系统后台管理才能对
21、系统中线路、站点等信息进行添加、删除、修改等工作。普通用户不需进行注册就可以直接查询相关信息。一辆公交车经过多个站点。每个站点有多辆公交叫信息。一辆公交只有一条行驶线路。一条线路包括多个站点。综合上面对网上购物系统数据库的需求分析,考虑到未来功能上的扩展,设计如下的数据项结构:管理员信息包括的数据项:帐号、姓名和密码。公交车信息包括的数据项:线路号、始发时间、末班时间、车辆等级、车辆类型、 始发站、终点站。站点信息包括的数据项:站点名称、要经过的线路号。 线路信息包括的数据项:线路号、线路中包括的站点号。通过上面数据库的需求分析可知,该系统的实体有管理员实体、公交车实体、线路实体、 站点实体。
22、管理员实体如图3.2.1所示:管理员PasswordNumName图3.2.1管理员实体图公交车实体图如图 322所示:公交车EndStBusStateBusLevel图3.2.2公交车实体图线路实体如图323所示:Lin eNumBeige nSt线路NoteEn dSt图323线路实体图站点实体图如图3.2.4所示:站点StNoteStName图3.2.4站点实体图各实体间关系的 E-R图如图325所示:nn线路公交车11mn图3.2.5各实体间关系E-R图根据上面的E-R图,本软件服务器端定义的arashmen数据库设计了以下4张表:站点表:station(表2)、线路表:routes(
23、表 3)、发车时间表:departuretime( 表 4)、票表:fare(表 5)。本软件服务器数据库所包含的表的描述如表1。表3.1管理员信息表数据名称字段类型说明Acco unt文本管理员帐号Name文本管理员姓名Password文本管理员密码线路的信息表如表3.2所示:表3.2线路信息表数据名称字段类型说明Lin eName文本线路名称Beige nSt文本起始站点En dSt文本终止站点Note文本线路信息公交车的信息表如表3.3所示:表3.3公交车信息表数据名称字段类型说明BusNum文本公交线路号Beige nSt文本始发站En dSt文本终点站BusLevel文本公交等级Bu
24、sState文本公交类型Beige nTime文本始发时间En dTime文本末班时间站点的信息表如表3.4所示:表3.4站点信息表数据名称字段类型说明StName文本站点名称StNote文本站点信息3.3 客户端数据库设计:3.3.1 SQLite 简介Android 数据库使用的是 SQLiteDatabase ,我们来简单的介绍下 Android 平台上的 SQLiteDatabase 。SQLite 是一款轻型的数据库,是遵守 ACID 的关联式数据库管理系统,它 的设计目标是嵌入式的, 而且目前已经在很多嵌入式产品中使用了它, 它占用资 源非常的低,在嵌入式设备中,可能只需要几百 K
25、 的内存就够了。它能够支持 Windows/Linux/Unix 等等主流的操作系统,同时能够跟很多程序语言相结合, 比如 Tcl、PHP 、Java 等,还有 ODBC 接口,同样比起 Mysql 、PostgreSQL 这 两款世界著名开源的数据库管理系统来讲,它的处理速度比他们都快。该软件数据库的建立是完全在 Android 平台上执行 Java 代码,通过 DVM 编译来建立的,没有什么辅助工具,由于整个 SQLite 数据库是非可视化操作, 所有对数据库的操作都是通过执行 Java 代码实现,在完成其查询功能的时候没 有使用数据库高级编程, 较为麻烦的关节是在如何有机的将客户端数据库
26、整体结 构实现出来, 实现过程是无可视界面, 也没有数据库辅助工具情况下, 整个过程 很抽象。且表的设计应尽量简单,不要有错综复杂的关系,每张表都是独立的, 不存在任何约束,数据库也是独立数据库,不采用 Android 特有的可共享数据 库。3.3.2 数据库设计E-R 关系如图 3.3.1 所示图3.3.1客户端数据库E-R图根据上面的E-R图,本软件客户端定义的arashmen数据库中包含以下4 张表:站点表:station(表7)、线路表:routes(表 8)、发车时间 表:departuretime( 表 9)、票表:fare(表 10)。本软件服务器数据库所包含的表的描述如表6。表
27、3.6数据库概况表表名描述主要字段stations(站点表)保存站点信息ID,stationroutes(线路表)保存线路信息ID, RouteName , ContentDeparturetime保存首班发车时间RouteName(发车时间表)保存末班发车时间FirstDepartureTime, LastDepartureTimefare(票价信息表)保存公交线路票价信息ID, isFixed , FullFare表3.7站点表字段名数据类型长度主键/外键默认值描述idInt4PKID,自动增长Stati onVarchar50站点名称表3.8线路表字段名数据类型长度主键/外键默认值描述R
28、outeNameChar20PK线路名称ContentLon gText线路全径表3.9发车时间表字段名数据类型长度主键/外键默认值描述idInt4PKID,自动增长RouteNameChar20FK线路名称FirstDepartureTimeTime首班发车时间LastDepartureTimeTime末班发车时间表3.10票价信息表字段名数据类型长度主键/外键默认值 描述idInt4PKID,自动增长RouteNameChar20FK线路名称isFixedFareChar5是否为分段计费FullFareDouble8全程票价第四章 系统测试4.1 系统测试方案根据本程序的实际情况,进行了如下测试:1) 输入异常数据或进行异常操作在主页面中输入与车次无关的站点信息, 系统将对所输入的信息与数据库中 的信息作比较, 如果没有找到相对应的信息, 则系统显示为空。 当用户没有输入 任何字符的时候, 系统会提示用户输入相应的信息, 以便查询。 只有符合数据库 中的信息,才能进行相应的查找。2) 灾难恢复性测试由于本系统需要一个数据库作为数据存储的平台, 所以当数据库遭到破坏的 时候就无法运行, 所以管理员在日常的添加、 修改和删除前都要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淮阴师范学院《政治学原理》2021-2022学年第一学期期末试卷
- 淮阴工学院《天然药物绿色制备技术》2022-2023学年第一学期期末试卷
- DB4420+T+55-2024《龙舟竞渡文化体验服务指南》
- DB2310-T 149-2024铃兰分株育苗技术规程
- 有关招聘计划锦集五篇
- 专业领域学习技巧探讨座谈会考核试卷
- 宠物行为问题诊断与矫正考核试卷
- 农药制造的质量保障与质量控制考核试卷
- 木材采运管理中的协同与协调机制考核试卷
- 弹射玩具企业品牌竞争力提升考核试卷
- 2024至2030年中国大米市场调查及发展趋势研究报告
- 3.1列代数式表示数量关系(第2课时 列代数式) 课件 2024-2025学年七年级数学上册 (人教版2024)
- 土壤污染重点监管单位隐患排查技术指南第4部分:医药制造业
- 变压器二手买卖合同范本2024年
- 2024年全国高考Ⅰ卷英语试题及答案
- 个人不再信访承诺书
- 2024年山西航空产业集团限公司校园招聘(高频重点提升专题训练)共500题附带答案详解
- NB-T 10436-2020 电动汽车快速更换电池箱冷却接口通.用技术要求
- 毓璜顶医院出院记录
- 人教版高中地理选择性必修1第一章地球的运动单元检测含答案
- xf124-2013正压式消防空气呼吸器标准
评论
0/150
提交评论