版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、公交查询系统的设计与实现班级: 12 物联网工程学号: 1201141057姓名:郑秀成日期:2014 年 12 月 15 日.引言随着因特网发展的日新月异, 人们利用网络实现资源共享以及协同工作越来越成为时代的潮流,使用各种网上的软件方便生活,已经成为了一个不可扭转的趋势。以此设计题目为目的, 选择郑州市作为实践对象, 以郑州市公交系统为基础, 再利用所学知识,熟练运用开发工具后,开发一个郑州市手机公交线路查询软件,并且尽可能将其开发为一个方便大众使用的公交线路查询软件。而且在当今公交出行线路多数是通过 PC 机查询获得的,但是假想一下在公交出行线路走到一半的时候计划有所变化,公交出行线路需
2、要有所调整,那么如何能够动态掌握线路信息显得尤为重要, 而且将来对生活的满意度也不仅仅是百姓致富安居乐业就足以,而是逐渐趋向于一个更人性化的服务。城市交通服务以及附属的一些服务一直都在不断的随着社会的进步而进步,这些服务从最开始的直接人力服务转向技术型服务,如电话询问,路牌等,然而这些服务总是有比较大的局限性,即纵然你知道了这条路该怎么走,下条路线该通到哪却不知,于是开发这个手机公交线路查询软件,可在手机上随时随地对公交线路进行查询,对用户将要出行的路线了如指掌,这对用户来说可以省去很多麻烦,节省不少时间。本次毕业设计结合郑州市公交线路系统开发一个郑州公交线路手机查询软件 , 服务于大众。.目
3、录第一章需求分析与概要设计 .11.1可行性分析 .11.2需求分析 . .11.2.1系统功能需求 .21.2.2服务器端需求分析 .21.2.3客户端需求分析 .31.2.4开发环境及工具需求分析.41.3概要设计 .51.3.1开发流程 .51.3.2系统数据流图 .51.3.3系统整体结构说明 .61.3.4系统功能模块的划分 .7第二章 模式设计.102.1C/S 模式简介 .102.2B/S 模式简介 .102.3B/S-C/S 模式 .112.3.1B/S-C/S模式定义 .112.3.2B/S-C/S模式特点 .12第三章 数据库设计 .133.1数据库结构 .133.2服务器
4、数据库设计: .133.3客户端数据库设计: .173.3.1SQLite简介 .173.3.2数据库设计 .18第四章 系统测试.204.1系统测试方案 .204.2性能分析 .20总结 .21.第一章 需求分析与概要设计1.1可行性分析可行性分析是对系统进行全面、 概要的分析。 它的任务是确定项目开发时是否必要和可行。它的主要目标是:进一步明确系统的目标、规模和功能,对系统开发背景、必要性和意义进行调查分析, 并且提出系统的逻辑模型和各种可能的方案,从而为系统开发项目的决策提供科学依据。主要从三个方面进行研究:(1)技术可行性:以现有技术进行系统开发及系统实施,是完全可行的。首先,从自身来
5、分析,经过 2 年多的学习已经初步掌握了JSP控件、 SQL数据库等方面的编程技巧,对该软件的设计并不存在技术上的难点。 第二方面,在设计这个系统之前,我进行了一系列先期调研, 查阅了有关使用 JSP进行数据库开发方面的论著、教材和论文,更多是利用网络的便利条件,从网上查阅了北京、上海、广州、昆明等大型城市的公交查询系统,并认真地对其进行了分析研究,由于时间紧, 任务重,我没有更多的时间来开发完整的系统, 所以就以查询作为这个系统的核心。其次,从数据库方面来分析, 也是可行的。 系统所建立的数据库表中包含有五个字段:bus_number,bus_station1,bus_station2,bu
6、s_station3,bus_station4。 bus_number 用 来存放车 次, bus_station1,bus_station2,bus_station3,bus_station4这四个字段用来存放站点。(2)经济可行性:从这方面来说,本系统的开发作为课题来说不需要什么经济投入,因此来说也是可行的。(3)营运可行性 : 国内很早就开始应用公交查询系统,我国大部分城市都有公交查询系统。那么从这方面来说是可行的。1.2 需求分析手机公交线路查询软件最基本的功能是能够有效的为用户提供查询服务,在最短的时间内给用户一条或多条到达目标地的路径。 整个查询过程中, 只有数据信息是依靠服务器同
7、步获取, 其余功能均在手机端完成。 在此分别对手机公交线路查询软件的服务器端和客户端做需求分析。.系统功能需求本系统的用户包括用户和管理员两类,其中管理人员对此系统进行数据的修改、删除、查找、添加路线以及发布公交动态等功能。而用户则可运用本系统合理有效的查询路线、安排行程。功能规划:本系统有两大功能:查询功能以及更新维护功能。其中查询功能包括站站查询功能、车次查询功能、公交站点车次查询三项基本功能。功能描述:a. 站站查询:乘客通过输入起点和终点的站名,那么通过这两个车站的所有车次就会显示出来供乘客选择合适的乘车路线b. 车次查询:乘客通过输入公交车车次就可以查询出该车次经过的所有站点,乘客可
8、以根据站点来选择自己的乘车路线c. 公交站点车次查询:这种方案一般针对不城市公交不熟悉的人,通过输入站点或者车次就可以同时显示站点和车次两种信息,根据这个就可以选出最佳的乘车方案。d. 更新维护:管理员负责对公交路线修改和更新,以及系统的维护,同时公布最新的变动信息(包括车次变动和价格变动等)或者有关城市公交的新闻对性能的一般性规定:1 灵活性:当要对系统进行添加数据或删除、更新等操作时,可以容易地对系统进行操作,并且不影响系统的正常运行,更不会有任何出错的现象。2 数据精确 : 因为此数据为系统内部数据, 所以要求不能有误差。3 时间特性 : 系统应有即时性 , 能尽快查询出所需结果服务器端
9、需求分析服务器作为后台, 需要专业人员对服务器操作和维护, 一般情况可由非专业人员借助管理软件对服务器进行常规维护。 服务器可以通过数据库同步, 为客户端数据库提供数据。通过仔细分析服务器需求之后,服务器端要完成以下功能:1、服务器后台管理功能服务器后台管理是针对数据库进行操作,具有增、删、改、查功能。2、数据同步功能。采用 Servlet技术,响应客户端请求, 返回给客户端一端数据流, 该数据流按照 Xml 语言规范写入数据流。服务器端功能模块划分如图所示。.图服务器端功能模块图客户端需求分析客户端主要是手机, 用户无法通过手机对本地数据库进行操作, 也无法对服务器数据库操作,管理员可以通过
10、手机浏览器登录到服务器管理员页面对数据库进行操作,可以使用一些功能。 该软件应满足若干要求, 比如能够随时掌握公交信息,动态更新最新数据等。 也要考虑作为手机软件可能会出现查询速度慢, 数据流量过大, 过度依赖服务器等问题。 通过仔细分析用户需求之后, 该软件要完成以下功能:1、查询线路功能获得线路经过的每个站点信息以及线路的票价信息和发车时间信息。2、地图查询功能借助 GoogleMap,完成公交查询并显示地图线路。3、数据更新功能服务器响应客户端请求返回一段数据流,客户端接收此数据流后,按照Xml语言规范对数据流进行解析,解析后将数据存入客户端数据库。4、意见反馈功能通过手机邮件将意见发送
11、到管理员的邮箱。.客户端功能模块划分如图所示。图客户端功能模块图开发环境及工具需求分析服务器端开发环境,以 windows7 操作系统为开发平台,用 Tomcat6.0 做为服务器, Mysql5.0 作为数据源, JSP 作为开发工具, Dreamweaver8.0 作为辅助开发工具,运行在一般的 PC机上即可。客户端开发环境, 以 Android 手机操作系统为开发平台, 用 Android 手机操作系统自带的 SQLite 作为数据源。 Java 语言和 Xml 语言作为开发工具, Eclipse3.5 作为辅助开发工具。整个 Android 手机操作系统是在 Android SDK 提
12、供的虚拟机中运行,该虚拟机运行在 windows7 操作系统上,所以客户端的开发是在 windows7 操作系统上运行的 Android 操作系统中进行的二次开发。.1.3 概要设计开发流程开发流程如图所示。调查研究确定功能编写程序调试程序运行测试优化完善图开发流程图系统数据流图系统数据流程如图所示。图系统数据流图.系统整体结构说明该系统包括前台和后台两部分,主要包括用登陆、站点输入、线路输出、站点修改、线路更新等功能。系统的整体功能模块图如图所示:公交查询系统前台查询系统后台管理系统管车消本查用次息本理站询户管发站员导模留理布导登航块言模模航陆块块查按查添修删方询询加改除法方结车车车进式果次
13、次次行原输信信信查则出息息息询图整体功能模块图.系统功能模块的划分公交查询系统功能划分模块如下:1)查询系统模块该模块实现公交查询功能。可实现按起点中转站终点查询查询和按线路查询两种查询方式。开始用户录入站点信息BeigenSpotName,EndSpotName等于当但前站点在 *view 查询站点相同的车次是否直达YN在*view 查询站生成乘车方案点相同的车次显示乘车方案结束图查询系统模块.2)录入系统模块该模块实现数据的录入、 修改、删除功能。 该模块由公交站点管理与公交线路管理两部分组成 . 详细设计视图如图录入系统模块所示:开始用户录入地图信息将用户输入信息传入mapOperate
14、YmapOperate 的参数是否漫游生成漫游方案NYmapOperate 的参数是否放大生成放大方案NYmapOperate 的参数是否缩小生成缩小方案NYmapOperate 的参N数是否是测距生成测距方案显示乘车方案结束图录入系统模块.3)信息输入输出模块如图所示:开始用户点击地图判断用户输入的正确性Y将用户信息传入 inforShow根据 inforShow 的内容显示具体线路结束N提示用户输入有误终止操作图信息输出模块.第二章模式设计2.1 C/S 模式简介精简的说: C/S 模式是一种三层结构的系统 , 第一层在客户机上安装了客户机应用程序 , 第二层在服务器上安装服务器管理程序,
15、第三层是数据访问层。在 C/S 模式的工作过程中 , 客户机程序发出请求 , 服务器程序接收并且处理客户机程序提出的请求 , 然后返回结果。C/S 模式特点:(1)C/S 模式将应用与服务分离 , 系统具有稳定性和灵活性(2)C/S 模式配备的是点对点的结构模式, 适用于局域网 , 有可靠的安全性(3) 由于客户端实现与服务器端的直接连接 , 没有中间环节 , 因此响应速度快(4) 在 C/S 模式中 , 作为客户机的计算机都要安装客户机程序 , 一旦软件系统升每台客户机都要安装客户机程序 , 系统升级和维护较为复杂发。2.2 B/S模式简介精简的说: B/S 模式是一种从传统的三层C/S 模
16、式发展起来的新的网络结构模式,其本质也是三层结构的C/S 模式。在用户的计算机上安装浏览器软件,在服务器上存放数据并且安装服务应用程序,服务器有WWW服务器和文件服务器等。用户通过浏览器访问服务器,进行信息浏览、文件传输和电子邮件等服务。B/S 模式特点:(1) 系统开发、维护、升级方便每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可, 用户计算机上的浏览器软件不需要修改, 系统开发和升级维护方便。(2)B/S模式具有很强的开放性在 B/S 模式下,用户通过通用的浏览器进行访问,系统开放性好。(3)B/S 模式的结构易于扩展由于 Web的平台无关性,B/S 模式的结构可以任意扩展,
17、可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统。(4) 用户使用方便 B/S 模式的应用软件都是基于 Web浏览器的,而 Web浏览器的界面是类似的。对于无用户交换功能的页面。 用户接触的界面都是一致的,用户使用方便。.2.3 B/S-C/S模式模式定义B/S-C/S 模式是将 B/S 模式和 C/S 模式组合而来的,吸取这两种模式的优点,达到互补的作用。B/S 模式和 C/S 模式都是三层结构, B/S 模式第一层是表现层,第二层是业务逻辑层,第三层是数据访问层。 C/S 模式三层结构中第一层是客户端与 B/S 模式中的第一层不一样,其余两层相同。在 B/S 模
18、式和 C/S模式数据访问过程和业务逻辑处理过程中是在服务器端完成,用户只需接受服务器返回的结果。 在 B/S-C/S 模式中,一部分数据访问过程和业务逻辑处理过程在客户端完成, 另外一部分数据访问过程和业务逻辑处理过程在服务器端完成。 本手机公交线路查询软件一部分功能只要依靠手机本地数据库就可以实现,令外一部分功能需要借助互联网实现。目前不论是手机硬件还是计算机硬件, 更新速度很快, 而且硬件的配置水平也越来越高,在硬件条件允许的情况下把一部分业务处理、 数据访问的过程放在客户端去完成,那么对服务器的硬件要求就会低一些,甚至一些高性能的 PC机就可以作为服务器。 从整个作业量来看, 本质上是把
19、作业量往客户端多分摊一部分,降低服务器的作业量,因此,对客户端的硬件要求是比较高的。B/S-C/S 模式结构如图所示。图模式结构图.本软件系统采用 B/S-C/S 模式,系统框架如图所示。浏览器客户端地图软件管理员身份认证管理软件服务器请求客户端请求Google服务器管理员身份认证更新管理员数据库同步数据库数据库图 2.3.2系统框架图模式特点B/S-C/S 模式在继承了 B/S 模式和 C/S 模式的优点之后,还具有以下特点:(1) 可靠性高1、 客户端不必完全依赖于服务器,即便脱离服务器,还有手机数据库的支持,可以继续使用一部分功能。2、客户端的数据丢失的时候,可以采用数据库同步的方式从服
20、务器获得新的数据信息。(2) 省资源一部分作业在客户端完成, 服务器的访问量和作业量都会减少, 省资源,维护起来会更加方便。.第三章数据库设计3.1数据库结构服务器数据库为总数据源, 每一个客户端都拥有独立的小型数据库。 客户端数据库信息从服务器端同步获得。服务器的数据库是基于Mysql 建立,客户端数据库是基于SQLite 建立。数据库体系结构如图所示。图数据库体系结构图3.2服务器数据库设计:用户的需求具体体现在对各种信息的提供、保存、更新和查询等方面。因此,一个满足要求的数据库必须充分满足对各种信息的输入输出需要。公交查询系统应满足以下信息需求:管理员必须先登录系统后台管理才能对系统中线
21、路、站点等信息进行添加、删除、修改等工作。普通用户不需进行注册就可以直接查询相关信息。一辆公交车经过多个站点。每个站点有多辆公交叫信息。一辆公交只有一条行驶线路。一条线路包括多个站点。综合上面对网上购物系统数据库的需求分析, 考虑到未来功能上的扩展, 设计如下的数据项结构:管理员信息包括的数据项:帐号、姓名和密码。公交车信息包括的数据项:线路号、始发时间、末班时间、车辆等级、车辆类型、始发站、 终点站。站点信息包括的数据项:站点名称、要经过的线路号。线路信息包括的数据项:线路号、线路中包括的站点号。.通过上面数据库的需求分析可知, 该系统的实体有管理员实体、 公交车实体、 线路实体、站点实体。
22、管理员实体如图所示:管理员PasswordNumName图管理员实体图公交车实体图如图所示:公交车BusNumEndTimeBeigenStBeigenTimeEndStBusStateBusLevel图公交车实体图.线路实体如图所示:线路LineNumNoteBeigenStEndSt图线路实体图站点实体图如图所示:站点StNameStNote图站点实体图.各实体间关系的E-R 图如图所示:1添加、删管理员除、修改1n站点m添加、删包括除、修改nn线路1行驶1公交车mnnm查询用户查询图 3.2.5各实体间关系E-R 图根据上面的 E-R 图,本软件服务器端定义的arashmen 数据库设计
23、了以下 4张 表 : 站 点 表 : station( 表2) 、 线 路 表 : routes( 表3)、发车时间表 :departuretime(表 4) 、票表 :fare(表 5)。本软件服务器数据库所包含的表的描述如表1。表 3.1 管理员信息表数据名称字段类型说明Account文本管理员帐号Name文本管理员姓名PassWord文本管理员密码线路的信息表如表3.2 所示:表 3.2线路信息表数据名称字段类型说明LineName文本线路名称BeigenSt文本起始站点EndSt文本终止站点Note文本线路信息.公交车的信息表如表3.3 所示:表 3.3 公交车信息表数据名称字段类型说
24、明BusNum文本公交线路号BeigenSt文本始发站EndSt文本终点站BusLevel文本公交等级BusState文本公交类型BeigenTime文本始发时间EndTime文本末班时间站点的信息表如表3.4 所示:表 3.4站点信息表数据名称字段类型说明StName文本站点名称StNote文本站点信息3.3客户端数据库设计:简介Android 数据库使用的是 SQLiteDatabase ,我们来简单的介绍下 Android 平台上的 SQLiteDatabase 。SQLite 是一款轻型的数据库,是遵守 ACID的关联式数据库管理系统,它的设计目标是嵌入式的, 而且目前已经在很多嵌入式
25、产品中使用了它, 它占用资源非常的低,在嵌入式设备中,可能只需要几百K 的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl 、PHP、Java 等,还有 ODBC接口,同样比起 Mysql 、PostgreSQL 这两款世界著名开源的数据库管理系统来讲,它的处理速度比他们都快。该软件数据库的建立是完全在 Android 平台上执行 Java 代码,通过 DVM编译来建立的,没有什么辅助工具,由于整个 SQLite 数据库是非可视化操作,所有对数据库的操作都是通过执行 Java 代码实现,在完成其查询功能的时候没有使用数据库
26、高级编程, 较为麻烦的关节是在如何有机的将客户端数据库整体结构实现出来,实现过程是无可视界面, 也没有数据库辅助工具情况下,整个过程很抽象。且表的设计应尽量简单,不要有错综复杂的关系,每张表都是独立的,不存在任何约束,数据库也是独立数据库,不采用Android 特有的可共享数据库。.数据库设计E-R 关系如图所示。线路全径线路名称ID站点站点名线路线路名称线路名称发车时间是否为分段票价ID计费ID首班末班全程票价发车时间发车时间图客户端数据库E-R 图根据上面的 E-R 图,本软件客户端定义的arashmen 数据库中包含以下4 张表 : 站 点 表 : station(表7) 、 线 路 表
27、 : routes(表8) 、 发 车 时 间表 :departuretime(表 9) 、票表 :fare(表 10) 。本软件服务器数据库所包含的表的描述如表6。表 3.6 数据库概况表表名描述主要字段stations(站点表 )保存站点信息ID, stationroutes(线路表 )保存线路信息ID, RouteName, ContentDeparturetime保存首班发车时间RouteName( 发车时间表 )保存末班发车时间FirstDepartureTime,LastDepartureTimefare( 票价信息表 )保存公交线路票价信息ID, isFixed, FullFar
28、e.表 3.7站点表字段名数据类型长度主键/外键默认值描述idInt4PKID,自动增长StationVarchar50站点名称表 3.8线路表字段名数据类型长度主键/外键默认值描述RouteNameChar20PK线路名称ContentLongText线路全径表 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年鹰潭市社区工作者招聘考试备考试题及答案详解
- 2026年淮安市网格员招聘考试备考试题及答案详解
- 山东省济宁市2025-2026学年七年级上学期期末语文试题(解析版)
- 2025年第一批国网甘肃省电力公司招聘高校毕业生工作安排笔试历年参考题库附带答案详解
- 2025年福州市长乐区城市投资发展集团有限公司公开招聘笔试历年参考题库附带答案详解
- 2025年甘肃省定西市渭源县渭河源景区招聘35人笔试历年参考题库附带答案详解
- 2025年珙县县属国有企业面向社会公开招聘工作人员笔试历年参考题库附带答案详解
- 2025年湖南宁远县城乡水务集团有限公司公开招聘见习生4人笔试历年参考题库附带答案详解
- 2025年海南电网有限责任公司社会招聘19人笔试历年参考题库附带答案详解
- 2025年浙江湖州市会计学会招聘1人笔试历年参考题库附带答案详解
- 2026年专职安全员C2证题库及答案解析
- 2026年广东省深圳市罗湖区中考化学二模试卷(含答案)
- 2025-2030年记忆棉护腰垫企业制定与实施新质生产力战略分析研究报告
- 惠民政策精准落地与效果评估实施方案
- 2026山东济南新旧动能转换起步区招聘40人备考题库及答案详解(真题汇编)
- 2026年青海省西宁市八年级地理生物会考考试题库(含答案)
- 江苏2026国家电网招聘考试-电工类综合能力试题(含答案)
- 微专题13 分式方程的含参问题
- 雨课堂学堂在线学堂云《岭南乐器的乐种学阐释(星海音乐学院)》单元测试考核答案
- 胆总管癌的治疗方案培训指南
- 2023建筑结构弹塑性分析技术规程
评论
0/150
提交评论