1、智能公交管理系统的分析与设计*智能公交管理系统摘要:*智能公交管理系统可以辅助*公交车公司车辆、公交线路和司机进行管理,用户对车次进行查询,用户为公交公司留言。本文首先介绍了系统开发的背景和意义以及系统的解决方案;然后介绍了主要的设计方法和现在最流行的MVC开发模式及系统开发中所用到软件,系统的需求分析和数据库设计;最后对各功能模块详细设计、界面设计与代码实现进行了说明。*智能公交管理系统由车次查询、车次更新、会员中心、留言板、管理员等模块组成。系统采用了流行的MVC三层架构,分为表示层、功能层和数据层,这既提高了系统的安全性与可靠性,又使系统具有较好的扩展性。在系统的具体实现中,采用了Jav
2、aEE体系中比较成熟的JSP+Struts+JDBC架构进行设计,以MyEclipse6.5作为开发平台,采用JSP设计用户界面,以SQLServer2005作为后台数据库。关键词:智能公交管理系统;SQLServer;JSPIntelligentPublicTransportManagementSystemAbstract:Intelligentpublictransportmanagementsystemof*canassist*Buscompanycar,busroutesanddriverstomanage,trainuserstoquerytheuserforthebuscompan
3、yamessage.Thispaperdescribesthebackgroundandsignifycanceofsystemdevelopmentandsystemsolutions;thendescribesthemaindesignmethodsandisnowthemostpopularMVCdevelopmentmodelandareusedinsoftwaresystemdevelopment,systemrequirementsanalysisanddatabasedesign;Finally,thefunctionmoduledetaileddesign,interfaced
4、esignandimplementationofthecodearedescribed.Intelligentpublictransportmanagementsystemof*bythetrainnumber,trainupdates,membercenter,messageboards,administratorsandothermodules.SystemusesthepopularMVCthree-tierstructureisdividedintopresentationlayer,functionallayerandthedatalayer,whichnotonlyimproves
5、systemsecurityandreliability,andthesystemhasgoodscalability.Concreterealizationofthesystem,usingaJavaEEsystemmorematureJSP+Struts+JDBCarchitecturedesignedtoMyEclipse6.5asadevelopmentplatform,userinterfacedesignusingJSPtoSQLServer2005astheback-enddatabase.Keywords:IntelligentPublicTransportManagement
6、System;SQLServer;JSP前言 1第1章 关键技术简介 31.1B/S结构 31.2JavaEE 41.3SQLServer 51.4Struts2 61.5MVC模式 61.6MyEclipse 71.7Tomcat 81.8MicrosoftOfficeVisio 8第2章 系统分析 92.1功能需求 92.2性能需求 10第3章 系统设计 123.1系统模块设计 123.2实体类设计 143.3数据库设计 153.3.1数据库表 15第4章系统实现 194.1开发环境配置 194.1.1数据表创建 194.1.2数据源的配置 194.1.3Struts2的配置 204.2首
7、页 214.3车次查询模块 21车次查询页面 214.4车次更新模块 23车次更新页面 234.5留言板模块 24留言板主页面 244.6会员中心模块 254.6.1会员注册页面 254.6.2会员登录页面 264.7管理员模块 274.7.1会员登录 274.7.2系统用户管理 284.7.3公交信息管理 294.7.3注册会员管理 31第5章系统测试 325.1测试线路查询 325.1.1测试数据设计 325.1.2测试过程 325.2测试修改管理员密码 335.2.1测试数据设计 335.2.2测试过程 335.3测试对公交信息进行管理 345.3.1测试数据设计 345.3.2测试过程
8、 345.4测试总结 36结束语 37参考文献 38致谢 40前言十二五期间,*市将发展六大智能产业,实施八大应用工程,最终实现社会管理信息化、居民生活智慧化、装备制造智能化、智能技术产业化当“智慧”与一个城市有了千丝万缕的联系,我们不妨先大胆展望下未来可能出现的情景:在单位用手机就可以远程遥控家里的电器;用手机上网就能查询公交车何时能够到达;在家动动鼠标就能选饭店、预先点好菜;不出家门能在电视上实现预约挂号、医疗急救等。当这一切不再只是梦想,再过几年,以及包括医疗、教育、交通、生态环境、政务、企业管理等领域的各种应用都将成为现实。“智慧城市”建设,是以城市建设运行系统的充分整合与业务高效协同
9、为目标,充分运用感知技术、信息技术和通信技术手段,对获取的有一定标准规范的、城市发展建设中的海量数据信息进行智能处理和分析,对公众服务、社会管理、产业发展等活动的各种需求做出智能化响应和智能化决策支持,从而构建起城市发展的智能环境和全新城市形态。智慧城市的发展目标:实现社会管理信息化、居民生活智慧化、装备制造智能化、智能技术产业化。*智能公交管理系统就是基于这种现状下产生的,人们将足不出户,就可以了解到现在所要乘坐的公交车到达哪一站、从某一站如何转乘车到达另一站,而这些操作将不再需要亲自到站台,只需轻轻点击鼠标即可,这与“智慧*”息息相关。*智能公交管理系统可以优化公交乘客的乘车信息服务,改善
10、公交公司管理和运营调度。智能公交管理便于为线路调整、规划等方面的决策提供基础数据信息。所谓智能公交管理系统,就是在公交网络分配、公交调度、预测算法等关键理论研究的前提下,利用系统工程的理论和方法,将现代通信、信息、电子、控制、计算机、网络等新技术集成应用于公共交通系统,通过构建现代的信息管理系统和控制调模式,实现公共交通调度、运营、管理的信息化、现代化和智能化,增强公交企业管理水平和服务水平,提高公交企业的运营效率和效益;同时为出行者提供更加安全、舒服、使捷的公共交通服务信息服务。从而吸引居民采用公交方式出行,缓解城市交通拥挤,有效解决城市交通问题,创造更大的社会和经济效益。作为智能交通系统研
11、究的一项重要内容,*智能公交管理系统主要以出行者和公交企业为服务对象。对于出行者而言,智能公交管理系统通过采集与处理动态数据(如:客流量、交通流量、公交车辆位置、公交站点候车状况等)从而实现规划出行、最优路径选择、换乘路线、最佳出行时间的目的。对于公交企业而言,智能公交管理系统主要实现对公交车辆的动态监控、实时调度、科学和理等功能,并实现公交企业自身的现代化、信息化管理,从而提高公交服务水平和公交企业的经营效益。本系统由于硬件的需求有限,以提供对出行者的功能为主。第1章 关键技术简介*智能公交管理系统采用B/S结构进行设计,SQLServer作为后台数据库,采用Java和JSP作为开发语言,使
12、用MyEclipse作为程序开发平台,开发过程运用Struts2,遵循MVC的三层架构。使用MicrosoftOfficeVisio应用软件,画出系统用例图、顺序图等。1.1B/S结构*智能公交管理系统采用B/S结构进行设计,整个系统分为3层:1.表示层:用户接口部分,担负着用户与系统间的对话功能。主要用于检查用户的键盘输入和运算结果的输出。现在都采用图形用户接口,便于用户直观操作。2.功能层:实现业务逻辑功能的算法和处理。处理表示层的输入或调用数据层返回数据结果。功能层主要包括业务功能和数据功能两部分。业务功能在功能层内部就可以解决,数据功能必须依靠与数据层的交互才可以完成。3.数据层:对数
13、据库中数据的管理。三层架构的优点如下:1.提高程序的可维护性:三层架构层次分明,一旦运行出现问题,可以快速的判断是哪一层的问题,利于维护。2.可以合理快速的开发:因为三层之间除了调用没有其他关联,只需先把三层之间的接口定义好,则程序员可以并行开发,提高了开发速度。3.提高了系统安全性:每层都有安全设置,即使表示层被攻破,下一层的安全还有保障。4.提高了系统的扩展性:三层结构最大的好处是在扩展应用系统时,改动的部分不会影响大局,同时满足用户对新增功能的需求。1.2JavaEE*智能公交管理系统采用采用了JavaEE体系中比较成熟的JSP+Struts+JDBC架构。JavaEE将企业应用程序划分
14、为多个不同的层,并在每一个层上定义对应的组件来实现它。典型的JavaEE结构的应用程序包括四层:客户层、表示逻辑层(Web层)、业务逻辑层和企业信息系统层。JavaEE客户层可以是网络浏览器也可以是桌面应用程序。表示逻辑层(Web层)、业务逻辑层都位于应用服务器上,它们都是由一些JavaEE标准组件JSP、Servlet、EJB等来实现,这些组件运行在实现了JavaEE标准的应用服务器上,以实现特定的表现逻辑和业务逻辑。企业信息系统层主要用于企业信息的存储管理,主要包括数据库系统、电子邮件系统、目录服务等。JavaEE应用程序组件经常需要访问企业信息系统层来获取所需的数据信息。JavaEE体系
15、结构的实施可显着的提高企业应用系统的可移植性、安全性、可伸缩性、负载平衡和可重用性。JavaEE本身是一个为企业分布式应用的开发提供的标准。JavaEE作为一个企业分布式应用开发标准,主要体现在以下两个方面:JavaEE规范了分布式组件的开发标准。JavaEE包含的分布式组件有JSP、Servlet、EJB等。JavaEE标准规定了这些分布式组件应该实现哪些接口,应该提供哪些方法。JavaEE规范了分布式组件运行环境-容器所提供服务的标准。分布式组件的运行环境称为容器,容器通过标准的服务来支持分布式组件的运行。不同的分布式组件由不同的容器来支撑运行。如JSP-Servlet运行在Web容器中,
16、EJB组件运行在EJB容器中。JavaEE规范中,容器实现的标准服务有JDBC、JMS等JavaEE为满足开发多层体系结构的企业级应用需求,提出“组件-容器”的编程思想。JavaEE应用的基本软件单位是JavaEE组件。所有的JavaEE组件都运行唉特定的运行环境中。作为一个企业分布式应用开发标准,JavaEE最终由一系列的企业应用开发技术来实现。JavaEE技术框架可以分为三部分:组件技术、服务技术和通信技术。JavaEE体系结构具有以下优点:1.独立于硬件和操作系统2.坚持面向对象的设计原则3.灵活性、可移植性和互操作性4.轻松的企业信息系统集成1.3SQLServerSQL是英文Stru
17、cturedQueryLanguage的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。Microsoft公司推出了SQLServer2000,SQLServer2005,SQLServer2008,SQLServer2012以及企业版的数据库平台。MicrosoftSQLServer2005是一个全面的数据库平台,MicrosoftSQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使开发者可以构建和管理用于业务的高可用和高性能的数据应用
18、程序。MicrosoftSQLServer2005优点:1.拥有了真正的表和索引数据分区技术。数据分区技术极大加强了表的可伸缩性和可管理性,使得SQLServer处理海量数据的能力有了质的飞跃2.可编程性。CLR集成,可以轻松利用开发语言的优势,如其面向对象的封装、继承和多态特性,编写出那些需要对数据进行复杂数值计算或逻辑的代码,如字符串处理,数据加密算法,XML数据操作等等。3.T-SQL语言增强4.安全。SQLServer2005每一层都使用证书、非对称密钥和对称密钥的组合对它下面的一层进行加密,提高了密钥安全性。5.快照隔离。解决系统出现的阻塞或死锁现象。6.全文搜索增强。全文检索引擎使
19、用共享内存和SQLServer进行数据大规模并发交互,而不是原来基于逐行的方式。7.复制增强。采用对等复制在复制参与者之间建立某种程度的负载平衡。8.异步处理能力。它为数据库应用程序增加了可靠、可扩展、分布式异步功能异步编程,允许程序仅仅在资源可用时才去执行占用大量资源的任务。1.4Struts2Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目Struts流程并在2004年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产
20、品。Struts2是Struts的升级与改进,是在Struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。其全新的Struts2的体系结构与Struts1的体系结构差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2的变化很小。当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(Act
21、ionContextCleanUp)过滤器,然后经过Otherfilters(SiteMesh,etc),接下来需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求那个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。接下来FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager)从配置文件中读取配置信息(Struts.xml),然后创建ActionInvocation对象,ActionInvocation在调
22、用Action之前会依次的调用所用配置拦截器(InterceptorN)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result,Result会调用一些模版(JSP)来呈现页面,之后拦截器(InterceptorN)会在被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和(核心控制器)(FilterDispatcher)1.5MVC模式MVC是Model(模型)、View(视图)和Controller(控制)的缩写。MVC模式的目的就是实现Web系统
23、的职能分工。Model层实现系统中的业务逻辑,通常可以用JavaBean来实现。View层用于与用户的交互,通常用JSP来实现。Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。在MVC模式中,三个层各司其职。所以一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码即可,而不会影响到其它层中的代码,这样有利于开发中的分工。在MVC模式中,由于按层把系统开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层中的JSP,对业务熟悉的开发人员可开发业务层,而其它开发人
24、员可开发控制层。有利于组件的重用,分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面。1.6MyEclipseMyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse
25、是一个十分优秀的用于开发Java,JavaEE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属Eclipse开发工具。对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的
26、扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。1.7TomcatTomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。在Tomcat中,应用程序的部署很简单,用户只需将WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。在浏览器中访问JSP时,通常第一次会很慢,因
27、为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于FTP(即FileTransferProtocol),可以在远程通过Web部署和撤销应用(本地也可以)。1.8MicrosoftOfficeVisioOfficeVisio2010便于IT和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。使用具有专业外观的OfficeVisio2010图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的
28、业务决策。MicrosoftOfficeVisio可以创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。第2章 系统分析系统分析作用是:帮助人们理解政策系统及对不同的政策系统加以比较;鼓励人们对系统的不同部分进行同时的研究;使人们注意系统中的结构和层次的特点;开拓新的研究领域,增加新的知识;突出未知东西的探索,使人们从过去和现在的基础上了解未来;使人们转换视角,从不同的角度或侧面看问题;迫使人们在考虑目标和解决问题的要求时,出同时注意考虑协调、控制、分析水平和贯彻执行的问题;诱导新的发现,注意进行从目的到手段的全面调查等。系统分析方法是指把要解决的问题作为一个系统,对系统要素
29、进行综合分析,找出解决问题的可行方案的咨询方法。2.1功能需求*智能公交管理系统是“*智慧城市规划建设”的一个重要组成部分,乘坐公共交通工具出行是缓解交通压力的有效手段。为了方便市民能够方便、快捷的了解到当前公交线路的状况,以及换乘线路的选择,方便于公交公司对公交线路定期更换的管理等等。*智能公交管理系统是以公交查询为主要功能的公交管理系统。用户进入系统的后,可以根据公交线路对公交站台进行查询,也可根据起点站和终点站,查询最短公交线路,其中包括中转车详细信息等;用户可以在车次更新界面,查看最新公交站点以及其站台名的详细信息;用户可以运用留言板进行留言,也可以使用QQ、邮箱等工具给管理员留言,管
30、理员会根据这些提议,更改系统的相关信息;本系统为用户设置了一个会员中心模块,用户可以进行注册、登录操作,用户登录后,可以对自己的信息进行设置、更改。经过以上分析并结合对*智能公交管理系统的实际调研,确定该系统应实现的系统功能用例图。其中各个用例的功能如下:1.会员中心:包括用户的注册、登录、注销功能。2.车次查询:包括对固定车次进行查询、公交转乘进行查询。3.车次更新:包括车次更新后,用户能够及时的了解到所有车次的详细信息,包括车次名、车次详细等。4.留言板:用户对本系统进行留言,也可使用QQ、邮箱、博客等方式进行留言管理。图2-1系统功能用例图2.2性能需求1灵活性系统采用三层式架构设计开发
31、,体系更加灵活,当用户的需求在某些方面发生变化时,设计的软件就需要做适当的调整,灵活性非常大。2安全性系统的安全性包括保密性、完整性和可用性,该系统需用户输入用户名及密码才能登录并使用。如果用户名及密码输入错误,就会提示登录失败,用户就无法使用该系统。3实用性该系统基本上适用于各中小型企业,当企业遇到问题的时候,系统就会提供各种有效的解决方案来帮助企业解决问题。4可维护性系统要求负责人每季度维护一下,查看系统的使用情况,维护的目的是要保证系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用,维护要有计划、有组织的进行。第3章 系统设计系统设计是将问题转换为解决方案的创造性过程,对
32、解决方案的描述也称为系统设计。设计一个系统,就是确定满足一组特定需求的构件集以及构件之间的接口。3.1系统模块设计根据需求列表和功能相似的原则,将整个系统分成五个模块:车次查询、车次更新、留言板、会员中心、管理员。下面具体介绍这些模块所包含的内容。1.车次查询模块:对公交线路进行查询。如图3-1所示:图3-1车次查询模块顺序图2.车次更新模块:查看所有公交线路的公交站点。如图3-2所示:图3-2车次更新模块顺序图3.留言板模块:对本站点提出相交建议,进行留言。如图3-3所示:图3-3留言板模块顺序图4.会员中心模块:会员登录、注册管理,会员的本信息管理。如图3-4所示:图3-4会员中心模块顺序
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1