首页 基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD_毕业设计论文

基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD_毕业设计论文

举报
开通vip

基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD_毕业设计论文基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD_毕业设计论文 天津职业技术师范大学 Tianjin University of Technology and Education 基于S2SH的城市公交查询系统 -----车次、站点及换乘查询和OD Urban Public Transport Query System Based On S2SH -- Trips, Site And Transfer Inquiries And OD 专业班级:软件0901 学生姓名: 指导教师: ...

基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD_毕业设计论文
基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD_毕业设计论文 天津职业技术师范大学 Tianjin University of Technology and Education 基于S2SH的城市公交查询系统 -----车次、站点及换乘查询和OD Urban Public Transport Query System Based On S2SH -- Trips, Site And Transfer Inquiries And OD 专业班级:软件0901 学生姓名: 指导教师: 学 院:信息技术工程学院 2013 年 6月 摘 要 今城市改造日益加快,公交线路也不断增多,使得交通的便捷性难上加难,给出行人员选择出行乘车线路造成一定的困难,特别是在旅游城市,游客在乘公交车时选择线路比较困难,它不仅可以给市民游客的乘车提供向导,同时可以对外展现城市的现代风貌,体现出一个城市公交信息数字化和信息化的发展水平。所以本系统拥有非常成熟的市场。 该公交路线查询系统采用Java、JSP作为前台的应用程序开发语言、采用DIV+CSS布局进一步美化页面。利用MySQL创建后台的数据库,在MyEclipse10.0的开发环境下采用S2SH(Struts2 + Hibernate + Spring)整合框架技术进行开发,三层MVC结构提高了系统扩展性和易维护性。从而实现了六大功能:查询功能、OD调查分析功能、用户登录注册功能、用户个人中心、车次管理和公告管理。 该公交路线查询系统,旨在利用需要建立一个以高效的公交数据库为基础的、面向公交线路的在线公交车线路查询系统。 关键字:公交路线查询系统;S2SH框架;OD调查 ABSTRACT This urban transformation ever-accelerating, bus lines have continued to increase, making the convenience of transportation even more difficult to travelers choose to travel by car line may cause some difficulty, especially in the tourist city, tourists bus line comparisondifficulties, it can not only ride to the public visitors wizard can begin to show the modern style of the city, reflecting the level of a city bus digitization of information and the development of information technology. So the system has a very mature market. The bus route query system using Java, JSP as a foreground application development language, DIV + CSS layout further beautify the page. MySQL to create a background database development environment in MyEclipse10.0 S2SH (Struts2 + Hibernate + Spring) integration framework technology development the three MVC structure to improve the system scalability and ease of maintenance. In order to achieve the six functions: query function, the OD investigation and analysis functions, user login registration function, the user's personal center, train management and announcements management. The bus route inquiry system, designed to take advantage of the need to establish an efficient public transport database-based, online bus line query system for bus lines. Key Words: The Bus route query the system; S2SH framework; OD survey 目 录 1 绪论 ...............................................................................................................................1 1.1 项目背景 .............................................................................................................1 1.2 课题内容 .............................................................................................................1 1.3 课题意义与目的 ..................................................................................................2 2 系统的开发工具和关键技术 ........................................................................................3 2.1 开发与运行环境 ..................................................................................................3 2.1.1 MyEclipse10 ................................................................................................3 2.1.2 Tomcat6.0 ....................................................................................................3 2.1.3 MySQL6.0 ...................................................................................................3 2.2 相关技术 .............................................................................................................4 2.2.1 Struts2框架 .................................................................................................4 2.2.2 Hibernate框架 ............................................................................................4 2.2.3 Spring框架 .................................................................................................5 3 需求分析 .......................................................................................................................6 3.1 功能需求 .............................................................................................................6 3.1.1 查询功能 ....................................................................................................6 3.1.2 OD管理 ......................................................................................................6 3.1.3 功能用例 ....................................................................................................7 3.2性能需求 ..............................................................................................................7 3.2.1 系统处理的准确性和及时性 .....................................................................7 3.2.2 系统的开方性和可扩充性 .........................................................................8 3.2.3 系统的易用性和易维护性 .........................................................................8 3.2.4 系统的响应速度 ........................................................................................8 4 系统设计 .......................................................................................................................9 4.1 系统框架设计 ......................................................................................................9 4.2 系统功能图 ..........................................................................................................9 4.3 数据库的设计 .................................................................................................... 10 4.3.1 概念模型设计 .......................................................................................... 11 4.3.2 逻辑结构设计 .......................................................................................... 13 5 系统的详细设计与实现 .............................................................................................. 16 5.1 查询功能的设计和实现 .................................................................................... 16 5.1.1 车次查询的设计和实现 ........................................................................... 16 5.1.2 站点查询的设计和实现 ........................................................................... 17 5.1.3 换乘查询的设计和实现 ........................................................................... 18 5.2 OD模块的设计和实现 ...................................................................................... 21 5.2.1 用户OD调查的设计和实现 ................................................................... 21 5.2.2 后台OD生成的设计和实现 ................................................................... 22 6 测试 ............................................................................................................................. 24 6.1 概念和意义 ........................................................................................................ 24 6.2 单元测试 ........................................................................................................... 24 6.3 本系统测试描述 ................................................................................................ 26 总 结 ......................................................................................................................... 27 参考文献 ......................................................................................................................... 28 致 谢 ......................................................................................................................... 29 天津职业技术师范大学2013届本科生毕业设计 1 绪论 1.1 项目背景 随着城市日新月异的发展,城市的规模不断扩大。为了满足发展的需要,城市公共交通运输的覆盖面越来越广,公交线路也日渐增多,成为绝大多数出行者的首选方式。这在给人们的出行带来了极大便利的同时。但是随着公交系统的庞大,人们很难得到准确的公交信息,这样给一些人的出行就带来了不便。因此,急需一个方便、快捷的公交信息查询方式。本系统通过浏览器查询,实现中心控制、自动更新、更多的查询方式等等更多更强大的功能。 西方国家对这一点重视的较早,如美国、日本、加拿大、英国、法国等国家都投入了较大的人力和物力从事智能公共交通系统研究,并已取得了显著的成果,建立了一种在公交网络的基础上,运用计算机网络技术、数据库技术、通信技术、电子技术、智能卡技术等先进科学技术,形成集智能化调度、公交电子收费、信息服务、网络通信于一体的公共交通规划管理系统。其中的公共交通优化系统对公交线网布局、公交线路配置、站点布置、发车间隔确定、票价制定等进行设计和优化,从规划方面提高公交服务水平。 而我国城市公交乘客信息系统的发展处还于一个落后的水平,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。乘客可以获得的公交信息很少,而且获取方式以常规手段为主,一般获得公交信息的方式局限于电话,交通图,向熟人问讯等常规方式,获得线路、站点等基本信息。另外乘客出行过程中获得信息困难,除少数几个城市乘客可以通过分布于城市中的若干电子站牌获得些公交车辆的运营信急以外,在其它城市,“出行中”的乘客无法获得仟何信息。 所以从国内公交信息与规划的发展需求和国外发展趋来看,需要建立一个以高效的公交数据库为基础的、面向公交线路的在线公交车线路查询系统。 1.2 课题内容 我国城市公交乘客信息系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少,为了解决这种问题,加快发展城市公交信息化,设计一个城市公交查询系统是具有一定实际应用意义的。本系统采用了功能强大的Java语言与Mysql数据库的完美结合,提供用户一个完全开放的查询平台。管理员经过统一身份认证后可以对公交线路及站点进行添加、删除、修改等功能。用户进入相关页面后可以根据个人需要进行站点换乘查询、公交线路查询、公交站点查询功能。 本系统包含六大功能:查询功能、OD调查分析功能、用户登录注册功能、用户 1 天津职业技术师范大学2013届本科生毕业设计 个人中心、车次管理和公告管理。本文实现了系统的两大功能:查询功能和OD调查分析功能。模块与模块之间存在很强的逻辑关系,是按照对客户关系的管理的 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 而设计。例如查询功能中含有车次查寻、站点查询和换成查询。这些查询帮助用户更快地寻找到合适的路线。OD调查分析功能根据来自用户的数据分析出该站点的OD矩阵信息为公交规划提供依据。 1.3 课题意义与目的 公交查询系统是近两年出现的新生事物,每个城市的发展状况也是良莠不齐。目前的公交查询系统,基本上具备一下功能:采用车站站点查询、车次查询、站至站查询三种查询形式,不仅能够查询到各条线路的起止点,同时还能够分析出换乘车辆情况。 OD调查可以帮助弄清交通源和交通源之间的关系,获取道路网上交通流的构成、流量、流向、车辆起讫点,从而推求目标年的交通量,为交通规划等工作提供基础数据;为调整和改善道路系统功能 ,从系统和政策上对近远期工程项目排序提供依据;客观分析评价交通出行特征,特别是公交服务水平,为提高公交运行效率、制定相关政策提供依据。 2 天津职业技术师范大学2013届本科生毕业设计 2 系统的开发工具和关键技术 这一阶段主要描述系统的开发工具、运行环境和相关技术。 2.1 开发与运行环境 本系统利用MyEclipse 10为后台代码的开发工具,apache-tomcat-6.0.35为运行服务器,MySQL 5.5.30作为后台的数据库管理。 2.1.1 Myeclipse10 MyEclipse 10 版本使用最高级的桌面和Web开发技术,包括 HTML5 和 Java EE 6,支持 JPA 2.0、JSF 2.0 、Eclipselink 2.1 以及 OpenJPA 2.0. 它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能。完整支持HTML、Struts2、JSP、CSS、Javascript、Spring、SQL和Hibernate。 2.1.2 Tomcat6.0 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat6支持最新的Servlet3.0和JSP2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。 Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 2.1.3 MySQL 5.5 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。为多种 3 天津职业技术师范大学2013届本科生毕业设计 编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。 2.2 相关技术 本系统采用S2SH(Struts2 + Spring + Hibernate)整合框架技术进行开发,它也是本系统的关键技术,下面对三个框架进行介绍。 2.2.1 Struts2框架 Struts2是在WebWork这个框架基础上发展起来的,它不是struts1的升级,它在实现原理和编程应用上与struts1都完全不同,可以说是彻底抛弃了struts1的架构。虽然WebWork在设计上却是要比struts1先进,但由于用户习惯问题,所以很难被普及,只有挂羊头卖狗肉才会被市场逐步接受,基于这些原因,WebWork开发团队与Struts1开发团队开始合作,借struts1之名,行WebWork之实,推出了Struts2。 Struts2相比struts1的劣势: struts1是老牌框架,应用很广泛,有很好的群众基础,开发人员比较好招,项目开发的风险小,成本更低~struts2虽然基于Webwork框架,但是应用人群虽多,相对不成熟,未知的风险和变化还很多,开发人员相对不好招,使用它开发项目的风险系数更大,用人成本更高~ Struts2相比struts1的优势: struts2毕竟是站在前辈的基础设计出来,它会改善和完善struts1中的一些缺陷,struts1中的一些悬而未决问题在struts2得到了解决。 当表示层有了MVC模式,程序开发就会变得有章可循。 2.2.2 Hibernate框架 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 Hibernate 中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存。 4 天津职业技术师范大学2013届本科生毕业设计 2.2.3 Spring框架 Spring是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。 [5]从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 Spring有如下的特点: (1)方便解耦,简化开发 通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。 (2)AOP编程的支持 通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。 (3)声明式事务的支持 在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。 (4)方便程序的测试 可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。 (5)方便集成各种优秀框架 Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate)等的直接支持。 (6)降低Java EE API的使用难度 Spring对很多难用的Java EE API(如JDBC,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。 (7)Java源码是经典学习范例 Spring的源码设计精妙、结构清晰。Spring框架源码无疑是Java技术的最佳实践范例。如果想在短时间内迅速提高自己的Java技术水平和应用开发水平,学习和研究Spring源码将会使你收到意想不到的效果。 5 天津职业技术师范大学2013届本科生毕业设计 3 需求分析 需求分析阶段基本任务是准确地回答“系统必须做什么?”这个问题。下面对系统进行功能需求和性能需求分析,确定系统功能。 3.1 功能需求 城市公交查询系统为了能够为公司创造更多的财富,我国城市公交乘客信息系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少。为了解决这种问题加快发展城市公交信息化设计一个城市公交查询系统是具有一定实际应用意义的。 本文在本系统中涉及了查询功能、OD管理两个功能模块。下面对这两个功能模块进行需求分析。 3.1.1 查询功能 查询功能是整个系统的核心功能,良好的查询算法是提高性能的必要的方式,可以极大提高用户的体验和减少系统的压力。 (1)站点查询 通过站定可以得到经过此站点的所有车次和其详细信息。 (2)车次查询 输入相应的车次信息,可以获得该车次的详细信息。 (3)换乘查询 可以查询直达车、一次换乘车和二次换乘车。一个良好的城市内部交通,最多只要经过两次换乘就可以从一个地点到达另一个地点,所以能够实现两次换成就可以了。本系统便实现到了二次换乘。 3.1.2 OD管理 公交出行空间分布的客流OD 矩阵是城市公共交通线网布设和优化的基本依据。传统公交 OD 调查 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 是在乘客上车时发放调查表格,按照自己的出行起终点如实填写表格, 然后在下车时回收表格。这在实际操作时有些困难, 因此本系统采用网上调查的方式进行OD调查,是的OD调查更急便捷。 6 天津职业技术师范大学2013届本科生毕业设计 3.1.3 功能用例 3.2性能需求 为了保证系统能够长期、安全、稳定、可靠、高效的运行,城市公交查询系统应该满足以下的性能需求: 3.2.1 系统处理的准确性和及时性 7 天津职业技术师范大学2013届本科生毕业设计 系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。由于公交查询系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而车票数量和时间又影响企业的决策活动,其准确性很大程度上决定了公交查询系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。 3.2.2 系统的开放性和系统的可扩充性 公交查询系统在开发过程中,应该充分考虑以后的可扩充性。例如网上查询的用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。 3.2.3 系统的易用性和易维护性 公交查询系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。公交查询系统中涉及到的数据是公交公司的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。 3.2.4 系统的响应速度 公交查询系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。 8 天津职业技术师范大学2013届本科生毕业设计 4 系统设计 4.1 系统框架设计 在B/S这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构,大多数或主要的业务逻辑都存在在服务器端,因此,B/S结构的系统不需要安装客户端软件,它运行在客户端的浏览器之上,系统升级或维护时只需更新服务器端软件即可,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。 B/S结构系统的产生为系统面对无限未知用户提供了可能。 以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。 系统在实施过程中,表现层使用Struts,负责页面数据提取,页面动作相应;业务层使用Spring,主要负责业务逻辑的对象创建,表示层的Action的创建,以及持久层的DAO的创建;Hibernate负责把内存中的数据对象保存到数据库中,完成数据持久化的重任。由于SSH框架是采用J2EE平台技术封装出来的可复用的软件开发框架,主要的目的是提高软件的可扩展性、可维护性和复用性,并能提高软件的开发效率。 4.2 系统功能图 该图清楚的表现了系统所能够实现的功能,如图4-2所示。本人在本系统中涉及了查询功能和OD管理两个功能模块。 9 天津职业技术师范大学2013届本科生毕业设计 注册和登录 修改个人密码 用户管理 收藏管理 关注管理 发表留言 留言管理 查看留言 删除留言 站点查询 查询管理 车次查询 换乘查询 公交查询系统 用户OD调查 OD管理 后台OD生成 线路管理 邮件通知 车次管理 车次管理 发布公告 公告管理 修改公告 图4-1系统功能图 10 天津职业技术师范大学2013届本科生毕业设计 4.3 数据库的设计 4.3.1 概念模型设计 概念模型是对信息世界建模,所以概念模型应该能够方便、准确的表示出信息世界中的常用概念。概念模型的使用方法很多,其中最为著名的是P.P.S.Chen于1976 联系方法,该方法用E-R图来描述现实世界的概念模型。通过对本文年提出的实体- 涉及的查询功能和OD管理这两大模块的需求分析,现列出了该系统的局部E-R图和各个实体图(车次实体、站点实体等)。 图4-2数据库schema 站点 站点编号 站点名称 附近地区 、 图4-3 站点实体 11 天津职业技术师范大学2013届本科生毕业设计 车次 车次编号 冬季停车时间 夏季发车时间 冬季发车时间 夏季停车时间 频率 票价 图4-4 车次实体 用户 用户邮箱 昵称 密码 图4-5 用户实体 管理员 管理员编号 密码 图4-6 管理员实体 关注 用户邮箱 车次编号 图4-7 关注实体 收藏 用户邮箱 终点站编号 起始站编号 12 天津职业技术师范大学2013届本科生毕业设计 图4-8 收藏实体 公告 管理员编号 公告编号 发布时间 公告主题 公告内容 图4-9 公告实体 留言 动态编号 用户邮箱 动态内容 发布时间 图4-10 即时动态实体 4.3.2 逻辑结构设计 (1)关系模式 站点(站点编号,站点名称,附近地区) 车次(车次编号,夏季发车时间,夏季停车时间,冬季发车时间,冬季停车时间, 区间,发车时间间隔,票价) 车次-站点(车次编号,站点编号,站点顺序) 用户(用户邮箱,昵称,密码) 管理员(管理员编号,密码) 关注(用户邮箱,车次编号) 收藏(用户邮箱,起始站编号,终点站编号) 公告表(公告编号,公告主题,公告内容,发布时间,管理员编号) 留言表(留言编号,用户邮箱,留言内容,发布时间) OD(车次编号,用户邮箱,起始站编号,终点站编号,频率) 13 天津职业技术师范大学2013届本科生毕业设计 (2)关系模式的实现 表4-1 站点表(stop) 字段名 字段中文名 数据类型 长度 可否为空 id 站点编号 int 10 name 站点名称 varchar 20 near 附近地区 varchar 100 YES -2 车次表(line) 4 字段名 字段中文名 数据类型 长度 可否为空 id 车次编号 varchar 10 sstime 夏季发车时间 datetime setime 夏季停车时间 datetime wstime 冬季发车时间 datetime wetime 冬季停车时间 datetime region 区间 varchar 50 fre 发车时间间隔 varchar 2 price 票价 double 表4-3 车次-站点表(line_stop) 字段名 字段中文名 数据类型 长度 可否为空 line_id 车次编号 varchar 10 stop_id 站点编号 int 10 seq 此线站点次序 int 表4-4 用户表(user) 字段名 字段中文名 数据类型 长度 可否为空 email 用户邮箱 varrchar 50 nickname 昵称 varchar 50 password 密码 varchar 50 表4-5 公告表(notice) 字段名 字段中文 数据类型 长度 可否为空 id 公告编号 int 10 theme 公告主题 varchar 50 context 公告内容 nvarchar 500 date 发布时间 datetime jobnu 管理员编号 varchar 50 14 天津职业技术师范大学2013届本科生毕业设计 表4-6 收藏表(collection) 字段名 字段中文名 数据类型 长度 可否为空 email 用户邮箱 varchar 50 Ostop_id 起始站编号 int 10 Dstop_id 终点站编号 int 10 表4-7 留言动态表(activity_feed) 字段名 字段中文名 数据类型 长度 可否为空 id 留言编号 int 10 email 用户邮箱 varchar 50 context 留言内容 varchar 500 date 发布时间 date 4 表4-8 OD表(od_survey) 字段名 字段中文名 数据类型 长度 可否为空 line_id 车次编号 varchar 10 email 用户邮箱 varchar 50 ostop_id 起始站编号 int 10 dstop_id 终点站编号 int 10 fre 月乘车次数 int 10 表4-9 关注表(attention) 字段名 字段中文名 数据类型 长度 可否为空 email 用户邮箱 varchar 50 line_id 车次编号 varchar 50 表4-10 管理员表(admin) 字段名 字段中文名 数据类型 长度 可否为空 Jobnu 管理员编号 varchar 10 password 密码 varchar 50 15 天津职业技术师范大学2013届本科生毕业设计 5 系统的详细设计与实现 这一阶段的根本目标是确定怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而把这个描述用程序实现出来。下面对本文实现的两个模块进行详细设计与实现。 5.1 查询功能的设计与实现 查询功能块分为车次查询、站点查询和换乘查询。其中换乘查询包括直达车查询、一次换乘查询和二次换乘查询,可实现模糊查询和关联点查询。首页index.jsp即为查询页。 5.1.1 车次查询的设计与实现 用户进入首页后,选择“车次查询”标签。输入相应的车次信息如“001”路公 ”即可查询001路公交车的详细信息。车次查询界面如图5-1交车,即可输入“001 所示: 图5-1车次查询界面 001路公交车查询成功时如图5-2所示: 图5-2车次查询成功界面 009路公交车查询失败时如图5-3所示: 图5-3车次查询失败界面 16 天津职业技术师范大学2013届本科生毕业设计 车次查询的流程图: 开始 输入要查询车次 N 查询 车 次 Y 显示结 结束 果 实现车次查询功能的主要是从line表获得车次的信息和从line_stop表中获得其关联站点的信息,及站点在此车次的中的次序信息。 String hql="from LineStop ls Where ls.line.id = '"+id+"' order by ls.seq"; List lineStopList = (List) baseDao.query(hql); return lineStopList; 5.1.2 站点查询的设计与实现 选择“站点查询”标签输入想要查询的站点信息即可。站点查询界面如图5-4所示: 图5-4站点查询界面 B站点查询成功的如图5-5所示: Z站点查询失败如图5-6所示: 17 图5-5站点查询成功界面 天津职业技术师范大学2013届本科生毕业设计 图5-6站点查询失败界面 站点查询流程图: 开始 输入要查询站点 查询 N 站点 Y 显示结结束 果 实现站点查询功能的主要是从line_stop表中根据站点信息获得车次的信息,再 遍历所有的车次信息从line_stop表中获得其关联站点的信息,便可得到经过目标站 点的所有车次的详细信息。代码如下: String hql="from LineStop ls Where ls.stop.name like '%"+name+"%'"; List lineStopList = (List) baseDao.query(hql); return lineStopList; String hql="from LineStop ls Where ls.line.id = '"+id+"' order by ls.seq"; List lineStopList = (List) baseDao.query(hql); return lineStopList; llls = new ArrayList>(); //遍历得到站点的得到车次的名称 for(LineStop lineStop :lls){ llls.add(lineStopService.getStopByLineId(lineStop.getLine().getId()); } 5.1.3 换乘查询的设计与实现 在首页选择“换乘查询”标签输入想要查询的起始站点和目的站点的信息即可。 18 天津职业技术师范大学2013届本科生毕业设计 换乘查询界面如图5-7所示: 图5-7站点查询成功界面 如查询B站点 到K站点的路线信息结果如图5-8所示: 图5-8换乘查询成功界面 换乘查询流程图: 开始 输入要起始站点 N 查询 路线 Y 显示结 结束 果 换成查询包括直达车查询、一次换乘和二次换乘并包含模糊查询,以及如何选出 19 天津职业技术师范大学2013届本科生毕业设计 最短路径。具体实现如下: 直达线路可以根据两个站点名获取两个站点各自的id,这里定义为sid,eid。分 别求出经过两个站点的车次的集合,这两个集合的交集就是直达路线的集合列表。代 码如下: String hql = "SELECT lsA FROM LineStop lsA,LineStop lsB WHERE lsA.stop.id = "+sid+" and lsB.stop.id = "+eid+" and lsA.line.id = lsB.line.id"; 一次换乘首先可以根据两个站点名获取两个站点各自的id,这里定义为 sid,eid。然后查找两个站点通过直达方式各自能够到达的站点集合,最后他们的交 集就是换乘站点。查到换乘站点,在通过直达线路的查询方式,便可获得详细的线路 信息。代码如下: String hql1 = "select ls1.stop from LineStop ls1 where ls1.line in( select ls11.line from LineStop ls11 where ls11.stop.id = "+sid+")"; String hql2 = "select ls2.stop from LineStop ls2 where ls2.line in( select ls22.line from LineStop ls22 where ls22.stop.id = "+eid+")"; String hql3 = "select DISTINCT ls3.stop from LineStop ls3,LineStop ls4 where ls3.stop in("+hql1+") and ls4.stop in("+hql2+") and ls3.stop.id = ls4.stop.id"; 二次换乘可以根据两个站点名获取两个站点各自的id,这里定义为sid,eid 算法的中心思想是:站点sid能够通过直达到达的所有站点集合S,站点eid能够通过 直达到达的所有站点集合E,S和E之间有直达的线路。这样子我们找到了作为中间换 乘的线路,对列举的的每一条假设命名为X线,下一步就是找出可以从站点sid到达X 任意一个站点的直达线路、和可以从站点eid到达X任意一个站点的直达线路即可。 那么与前面的算法相似,我们在站点1所有能够到达的站点中去寻找和线路X相交的站 点,然后再去找这两个点的线路找到站点了,下面就是根据已经解决的直达查询找线 路了。代码如下: //得到经过 起点 的 路线 String hql1 = "select ls1.line from LineStop ls1 where ls1.stop.id="+sid; //得到经过 终点 的 路线 String hql2 = "select ls2.line from LineStop ls2 where ls2.stop.id="+eid; //得到经过 起点 的 路线所有站点 的集合stops1 String hql3 = "select distinct ls3.stop from LineStop ls3 where ls3.line in("+hql1+")"; //得到经过 终点 的 路线所有站点 的集合stops2 String hql4 = "select distinct ls4.stop from LineStop ls4 where ls4.line 20 天津职业技术师范大学2013届本科生毕业设计 in("+hql2+")"; //经过集合stops1所有站点的路线集合lines1 String hql5 = "select distinct ls5.line from LineStop ls5 where ls5.stop in("+hql3+")"; //经过集合stops2所有站点的路线集合lines2 String hql6 = "select distinct ls6.line from LineStop ls6 where ls6.stop in("+hql4+")"; //从集合lines1 和 集合lines2中找到 id 相同的line 即为中间line String hql7 = "select distinct ls7.line from LineStop ls7,LineStop ls8 where ls7.line in("+hql5+") and ls8.line in("+hql6+") and ls7.line.id = ls8.line.id"; 得到最短路径是通过实现接口Comparable的compareTo方法实现的。 5.2 OD模块的设计与实现 OD的实现分为两部分,第一部分在用户的个人中心中选择“参与OD调查”进入 OD调查界面,可以根个人情况填写简单的OD调查内容即可。第二部分在后台管理界 面,管理员点击OD调查结果,选择相应的车次,便可查看相应车次的OD情况。 5.2.1 用户OD调查的设计与实现 用户端的参与OD调查页面,界面如图5-8所示: 图5-8 OD调查界面 乘车区间的选择通过是通过选择不同的路线以ajax的方式从后台获取,可以避 免输入错误的站点信息。可在odsurvey.jsp中查看前台代码。在OdAction.java查 看后台代码。 21 天津职业技术师范大学2013届本科生毕业设计 用户OD调查流程图: 开始 用户登录 进入个人中心 进入OD调查 录入数据,保存 保存 图5-8 OD调查界面 5.2.2后台OD生成的设计与实现 管理员在后台可以选择想要查看的车次,便可生成该车次的OD矩阵,为城市公 交的规划提供一些参考。如查看001路公交车的OD情况,便看选择001。产生结果 如图5-9所示: 图5-9 001路公交车OD矩阵结果图 查看OD流程图: 开始 进入OD管理 结束 选择要查看车次的OD 显示结果 22 天津职业技术师范大学2013届本科生毕业设计 实现保存处理OD生成功能的后台代码在OdAction类中的result()方法,该方法首先将该车次的所有站点查询出来,在一次遍历这些站点。在od_survey表中根据车次信息个站点信息便可以得到相应的发生量和吸引量。再将矩阵存入二维数组即可。具体代码如下: ls = lineStopService.getStopByLineId(lineId); odItems = new ArrayList() ; int n= ls.size();//长度; od = new int[n+1][n+1]; //构造od矩阵表 for(int i=0;i 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。 6.1 概念和意义 测试的概念:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为:目的是发现程序的错误;任务是通过在计算机上执行程序,暴露程序中潜在的错误。 测试的意义: 1)系统测试的环境是软件真实运行环境的最逼真模拟。系统测试中,各部分研制完成的真实设备逐渐替代了模拟器,是软件从未有过的运行环境。有关真实性的一类错误,包括外围设备接口、输入/输出、或多处理器设备之间的接口不相容,整个系统的时序匹配等,在这种运行环境下能得到比较全面的暴露。 2)通常系统测试的困难在于不容易从系统目标直接生成测试用例。而系统测试由系统人员组织,从系统完成任务的角度测试,软件在系统测试下获得了系统任务下直接的“测试实例”,这对检验软件是否满足系统任务要求是非常有意义的。 6.2 单元测试 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。下面进行部分测试用例。 (1)站点查询测试用例如表6-1所示。 (2)车次查询测试用例如表6-2所示。 (3)换乘查询测试用例如表6-3所示。 (4)OD调查测试用例如表6-4所示。 24 天津职业技术师范大学2013届本科生毕业设计 表6-1站点查询测试用例 编制人 甘一蒙 测试名称 站点查询测试用例 测试目的 成功查询出含有该站点的车次 测试条件说明 用户查询站点 测试步骤 输入要查询的站点名称。点击查询,如果存在则显示正确结果。 要是不存在则输出查询的站点不存在。 期待输出结果 显示符合查询条件的含有该站点车次信息 实际输出结果 显示符合查询条件的含有该站点车次信息 测试结果 , 通过 ? 不通过 ? 无法测试 测试人员 甘一蒙 测试时间 2013-6-8 表6-2车次查询测试用例 编制人 甘一蒙 测试名称 车次查询测试用例 测试目的 成功查询出含有该车次,显示详细信息 测试条件说明 用户查询车次 测试步骤 输入要查询的车次名称。点击查询,如果存在则输出正确结果。 要是不存在则输出查询的车次不存在。 期待输出结果 显示符合查询条件的车次详细信息 实际输出结果 显示符合查询条件的车次详细信息 测试结果 , 通过 ? 不通过 ? 无法测试 测试人员 甘一蒙 测试时间 2013-6-8 表6-3换乘查询测试用例 编制人 甘一蒙 测试名称 换乘查询测试用例 测试目的 成功、正确地查询出两点间的路线 测试条件说明 用户查询两站点间的路线 测试步骤 输入要查询的起始站点和目的站点,点击查询。如果存在乘车路 线,则输出正确结果。要是不存在则输出路线不存在。 期待输出结果 显示符合查询条件的乘车详细信息 实际输出结果 显示符合查询条件的乘车详细信息 测试结果 , 通过 ? 不通过 ? 无法测试 测试人员 甘一蒙 测试时间 2013-6-8 25 天津职业技术师范大学2013届本科生毕业设计 表6-4 OD调查测试用例 编制人 甘一蒙 测试名称 OD调查测试用例 测试目的 成功、正确地输入OD信息 测试条件说明 用户输入OD信息 测试步骤 输入自己的乘车信息,提交即可。 期待输出结果 成功显示输入的OD信息 实际输出结果 成功显示输入的OD信息 测试结果 , 通过 ? 不通过 ? 无法测试 测试人员 甘一蒙 测试时间 2013-6-8 6.3 本系统测试描述 为了让公交查询系统能够更稳定畅快的运行,系统进行了很多黑盒测试和白盒测试来确定系统的不足和需要弥补的地方。 首先是黑盒测试,让很多用户多次使用的本系统进行公交查询,然后记录下系统使用中的缺陷、用户的感受和需要改进的地方。对于系统的完善和用户体验有着很大的帮助 其次是白盒测试,这些主要是开发人员在开发的过程中使用的各种白盒测试手段,如单元测试对系统的局部代码或功能进行测试。使得系统的在开发的过程中及时发现问题,及时修改。 26 天津职业技术师范大学2013届本科生毕业设计 总 结 本系统设计的是以客户为中心而设计的客户关系管理系统。系统采用Java、JSP作为前台的应用程序开发语言、采用DIV+CSS布局进一步美化页面。利用MySQL创建后台的数据库,在MyEclipse10.0的开发环境下采用S2SH整合框架技术进行开发。 本系统从实际需求出发,包含了查询功能、OD调查分析功能、用户登录注册功能、用户个人中心、车次管理和公告管理。在数据库设计方面,还有待改进,数据库设计也可采用别的形式,比如:我可以用一个字段作为站点字段,另一个字段作为经过该站点的车次字段,我只要找到经过某个站点最多的车次,就可以设计该字段的类型以及长度。那么就可以避免因数据过长而被截断的问题了。 系统的智能化程度不高,改进方案是根据起点站、终点站来确定那条路线,给出几种乘车方案。这需要算法的设计~ 毕业设计的 心得体会 决胜全面小康心得体会学党史心得下载党史学习心得下载军训心得免费下载党史学习心得下载 与收获:历经数个月的毕业设计将近尾声,在这几个月内,体会颇深。从资料查找到课题的设计、分析、数据库的设计、界面的设计、代码的编写、程序的调试等让我深感编写出一个令人满意的系统是那么不容易~也深感自己的知识还很欠缺。系统在调试过程中经过了无数次的修改,才最终定型的。感到最大的收获就是平时的努力,终于有了收获。内心当中有一种充实感。在设计过程中遇到了不少的麻烦,也烦恼过,也想放弃,但最终还是走下来了。虽然其中有一些困难现在还没有得到解决,但是我却总结了一个比解决这些困难更重要的东西,那就是:遇到困难,我们要做的不是去怕它,而是想法去找寻解决困难的方法。 27 天津职业技术师范大学2013届本科生毕业设计 参考文献 [1] 苏朝晖.客户关系管理中客户关系的建立与维护(第2版).北京:清华大学出版 社,2010. [2] 周洁如,庄晖(21世纪创新管理教材•现代客户关系管理,上海:上海交通大学 出版社,2008. [3] 张弛.基于Spring开源框架的校园CRM系统的设计与实现,北京:北京邮电大学, 2007. [4] Rod Johnson等,Spring框架高级编程,北京:机械工业出版社,2006. [5] 王永毅.管理信息系统设计与实现[M].北京:清华大学出版社,200 [6] 赵松涛(SQL Server2005系统管理实录(北京:电子工业出版社,2006. 著. 至简SSH:精通Java Web实用开发技术(Struts+Spring+Hibernate). [7] 高洪岩 北京:电子工业出版社2009. [8] 陈戈止.信息系统与管理[M].成都:西南财经大学出版社,2001:206-321 [9] 明日科技(JSP开发技术大全(北京:人民邮电出版社,2007. [10] 曹晨(基于UML的仓储管理系统分析与设计(电子工程师,2007. [11] 丁宝康.数据库原理[M].北京:经济科学出版社,2000:330-360 [12] Ou, J., et al. Design and research on teaching platform of stage task using JavaEE. 2012. Chongqing, China. [13] Lin, P., H. Wen and S. Zhou. Design and implementation of job-search system based on javaEE. 2010. Hong Kong, China. [14] Li, M. and H. Wang. A device management system based on JAVAEE Web. 2009. Wuhan, China. [15] Kachru, S. and E.F. Gehringer. A comparison of j2ee and. net as platforms for teaching web services. 2004. [26] Abdellatif, T. and F. Boyer. A node allocation system for deploying JavaEE systems on Grids. 2009. Hammemet, Tunisia 1-330 [17]Jeffery Hoilo & Robert Bois. Making SaaS a Reality in PLM. AMR Research. [18]Beth Enslow. Software as a Service Buyer is Guide. AberdeenGroup,2008. [19] Caig Walls.Spring in Action,北京:人民邮电出版社,2006. 28 天津职业技术师范大学2013届本科生毕业设计 致 谢 这次毕业设计得到了很多老师和同学的帮助。同时,感谢所有任课老师和所有同学在这几年来给我的指导和帮助,是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有的老师培养出越来越多的优秀人才,桃李满天下 另外,感谢校方给予我这样一次机会,能够独立地完成一个课题,并在这个过程当中,给予我们各种方便,使我们在即将离校的最后一段时间里,能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。再一次对我的母校表示感谢。 感谢在整个毕业设计期间和我密切合作的同学,和曾经在各个方面给予过我帮助的伙伴们,在大学生活即将结束的最后的日子里,我们再一次演绎了团结合作的童话,把一个庞大的,从来没有上手的课题,圆满地完成了。正是因为有了你们的帮助,才让我不仅学到了本次课题所涉及的新知识,更让我感觉到了知识以外的东西,那就是团结的力量。 最后,感谢所有在这次毕业设计中给予过我帮助的人。 对上述老师同学们,再一次真诚地表示感谢~ 29
本文档为【基于S2SH的城市公交查询系统——车次、站点及换乘查询和OD_毕业设计论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_180829
暂无简介~
格式:doc
大小:220KB
软件:Word
页数:44
分类:生活休闲
上传时间:2018-10-25
浏览量:21