公交查询系统毕业设计论文

上传人:无*** 文档编号:82077247 上传时间:2022-04-28 格式:DOC 页数:68 大小:3.20MB
收藏 版权申诉 举报 下载
公交查询系统毕业设计论文_第1页
第1页 / 共68页
公交查询系统毕业设计论文_第2页
第2页 / 共68页
公交查询系统毕业设计论文_第3页
第3页 / 共68页
资源描述:

《公交查询系统毕业设计论文》由会员分享,可在线阅读,更多相关《公交查询系统毕业设计论文(68页珍藏版)》请在装配图网上搜索。

1、 摘 要由于社会在不断发展,互联网已经被千千万万的家庭所接收,公交查询在日常生活中占有很重要的位置。通过对公交信息管理系统的现状分析,考虑如何在日常生活中充分利用网络和计算机的优势, 使公交信息既能够得到及时有效的查询,又能得到高效的管理,并节省日常生活中的时间、提高效率。 本系统应用B/S结构,MVC模式采用S2SH框架技术编写,采用MySQL作为后台数据库。本系统论文的前言部分主要介绍了与该系统相关的国内外现状以及开发该系统在需求上,技术上的可行性,并介绍该系统开发用到的一些关键性的技术;当确定需求后,该论文的系统设计部分就介绍了具体该怎么去设计并实现该系统。然后该系统论文的系统实现部分再

2、介绍具体实现的细节了。该系统主要功能包括公交车线路信息查询,公交车论坛,公交新闻,公交车线路图,资源上传下载,用户留言,乘车指南,论坛管理,新闻管理,图片管理,资源管理,留言管理,维护个人信息等功能。关键词:公交信息管理,B/S结构 ,S2SH框架 ,MySQL数据库 ABSTRACTWith the development of the society, the internet has been accepted by millions of families. Through analyzing the present situation of the bus information m

3、anagement system, to consider how to make full use of Internet in our daily life and the advantage of computer, both to make the bus information, timely and effective query and can get efficient management, and save the time and improve efficiency of daily life.The system applied B/S structure, MVC

4、pattern written by S2SH frame technology.The foreword of thesis of bus system introduces somthings about the system at home and abroad,and the Demand feasibility and the technical feasibility of developing the system.There are also introduce some key technology about this system.After confirm the de

5、mand,the part of the system design of thesis can tell us how to do the system.And then,the part of system implementation of the thesis let us know that how to coding to implements the system.The system main function includes bus information query, bus BBS, news, bus image center, resource upload and

6、 download, user messages, system introduction, BBS management, news management, image management, resource management, message management, maintenance of personal information, and other functions. Keyword: The bus information management, B/S structure, S2SH framework, MySQL Database 毕业设计(论文)原创性声明和使用

7、授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学

8、校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被

9、查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤

10、情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设

11、计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优

12、良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教

13、研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日目 录第一章 概述11.1开发背景11.2目的及意义11.3课题研究的内容2第二章 系统开发的相关技术32.1 JSP技术32.2 MVC模式32.2.1 Model: 系统状态和商业逻辑JavaBeans42.2.2 View: JSP页面和表示组件42.2.3 Controller: ActionServlet和ActionMapping52.3 Struts2简介52.4 MySQL数据库6第三章 需求分析83.1 技术支持83.1.1 系统框架的选择83.1.2 数据库的选择93.2 系统功能需求9

14、3.2.1 总体需求103.2.2 各模块设计103.2.3 数据流图113.3 系统非功能需求123.3.1技术可行性123.3.2管理可行性133.3.3系统准确性和及时性133.3.4系统开放性和可扩充性133.3.5系统易用性和易维护性133.3.6系统的响应速度13第四章 总体设计144.1系统用例图设计144.1.1系统前台用例图144.1.2系统后台用例图154.2系统模块划分图154.3系统E-R图164.4系统流程图174.5数据库设计184.5.1数据库设计原则184.5.2数据表结构设计19第五章 详细设计与实现225.1系统的活动图225.1.1会员注册模块225.1.

15、2登陆模块225.2系统框架关键配置235.2.1 Struts2关键配置235.2.2 Spring事务管理配置245.2.3 Hibernate持久化配置255.3各功能模块实现265.3.1用户登录注册模块的实现265.3.2公交查询模块的实现285.3.3公交论坛模块的实现325.3.4公交新闻模块的实现335.3.5公交线路图模块的实现345.3.6资源上传下载模块的实现355.3.7用户留言模块的实现375.3.8乘车指南模块的实现395.3.9线路管理模块的实现395.3.10论坛管理模块的实现425.3.11新闻管理模块的实现435.3.12图片管理模块的实现455.3.13资

16、源管理模块的实现465.3.14留言管理模块的实现475.3.15用户管理模块的实现48第六章 软件测试506.1软件测试的目的及意义506.2测试的方法506.3测试用例516.3.1 注册测试用例516.3.2 登陆测试用例516.3.3 公交查询功能测试用例52谢 辞54参考文献55第一章 概述1.1开发背景城市公交是专门服务于市民出行的客运企业。它是城市社会和经济活动的重要组成部分。伴随着国民经济和城市建设的快速发展,城市经济的繁荣,人口的增加,城市必须解决好人们出行的需求。城市公交直接关系着城市的经济发展和居民生活,对城市经济具有全局性、先导性的影响,城市公交以其方便、快捷、容量大而

17、成为城市交通的主体。但是随着公交系统的庞大,人们很难得到准确的公交信息,这样给一些人的出行就带来了不便。现阶段,人们的出入方式主要还是来源于城市公交,特别是对于那些到外地出差、打工,进行商业有关或其他事情需要在外地进行短暂停留的人而言,公交对他们是必不可少的,但是对于那个不属于自己所熟悉的城市,坐公交也是一个很大的难题,因此,开发一个公交查询系统就显得非常的重要。随着城市经济的发展、规模的扩大以及人口的增长,城市交通问题日益突出。降低出行时间将使所有的公交利用者产生效益,快速的交通、更好的信息及更好的市场可以提高公交的形象,能够增加公交乘坐者。城市公共交通运输以其覆盖面广、经济、快捷的特点,成

18、为绝大多数出行者的首选方式,也是各地城市政府大力发展的一种交通方式。本地市民特别是外来旅游、出差、就医等急需了解本地道路情况的人可以利用本系统方便快捷的查询出所有符合他们要求的公交路线,对他们的出行和生活提供帮助。 设计公交信息管理系统能够方便城市公交管理者对公交线路进行管理,及时更新最新的线路信息,市民在使用时能够掌握实时的公交线路状况,也方便了使用者直接的信息交流,对于城市公共交通的发展是有利的。1.2目的及意义应广大城市市民查询公交信息的需求,公交公司对城市公交线路等信息的管理需求,开发一套公交信息管理系统。主要针对用户和管理员,用户在此系统可以对所要了解的公交线路进行查询,对公交服务中

19、存在的问题提出建议,对服务中的不合理行为进行投诉,参与用户之间的讨论等;而管理员主要负责后台的管理,管理员不需要运用传统的方式进行纷繁复杂的操作,使用本系统,管理员登录后可以对线路信息、用户信息、留言信息等进行添加、删除、查询和修改功能。此系统将以简洁、易懂的界面呈现给用户,目标能够使每一个用户易于操作,减少不必要的业务逻辑,提高该系统的利用率和运行、维护效率。设计本系统的目的在于掌握MVC设计模式及该模式下三种对象的设计方法,掌握面向对象设计(Object-Oriented Design,OOD)方法的步骤。系统的首要目标是能够满足目前的业务功能需要,并确保系统切换平滑、运行稳定;对于ser

20、vice的编写,通过参数配置等形式,实现其应具备的控制功能,并具有良好的可扩展性,提高service的复用性;对于HTML界面的编写,以简洁、轻快明了、规范性为目标,使其呈现的效果多、丰富;对于JavaBean的编写使其具有对数据进行增、删、改、查、参数初始化的业务逻辑。1.3课题研究的内容本文共分为六大章,其中分为课题来源到系统开发的相关技术、系统分析、总体设计等等。通过每一章的阐述对公交信息管理系统做出了详细的讲解和分析。第一章、 前言 本章主要阐述了公交信息管理系统的课题来源背景及课题研究的目的 与意义。第二章、 开发相关技术 本章主要介绍了该系统在什么环境中运行,运用的开发语言以及相关

21、的技术简介等。第三章、 需求分析 本章主要根据公交企业管理信息的过程和特点,以及客户的需求,对系统的功能进行设计,并对系统的可行性作了分析。第四章、 总体设计 本章主要阐述了公交信息管理系统的系统结构设计、功能模块图、数据库设计、逻辑设计及物理设计等。第五章、 详细设计与实现 本章主要阐述了前台界面和后台管理模块的设计与代码编写。第六章、 系统测试 本章主要是对系统进行测试,对本系统进行总结,并提出遇到的问题及系统中的不足之处。第二章 系统开发的相关技术2.1 JSP技术JSP技术可以以一种简捷而快速的方法生成Web页面。使用JSP技术的Web页面可以很容易地显示动态内容。JSP技术的设计目的

22、是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器、应用服务器、浏览器和开发工具共同工作。 JSP技术不是惟一的动态网页技术,也不是第一个,在JSP技术出现之前就已经存在几种优秀的动态网页技术,如CGI、ASP等。下面结合这些技术的介绍,讲述动态网页技术的发展和JSP技术的诞生。JSP具有以下优点: 1简便性和有效性 JSP动态网页的编写与一般的静态HTML的网页编写是十分相似的。只是在原来的HTML网页中加入一些JSP专有的标签,或是一些脚本程序(此项不是必需的)。这样,一个熟悉HTML网页编写的设计人员可以很容易进行JSP网页的开发。而且开发人员完全可以不自

23、己编写脚本程序,而只是通过JSP独有的标签使用别人已写好的部件来实现动态网页的编写。这样,一个不熟悉脚本语言的网页开发者,完全可以利用JSP做出漂亮的动态网页。而这在其他的动态网页开发中是不可实现的。 2程序的独立性 JSP是Java API家族的一部分,它拥有一般的Java程序的跨平台的特性。换句话说,就是拥有程序的对平台的独立性,即Write once,Run anywhere!。 3程序的兼容性 JSP中的动态内容可以各种形式进行显示,所以它可以为各种客户提供服务,即从使用HTML/DHTML的浏览器,到使用WML的各种手提无线设备(例如,移动电话和个人数字设备PDA),再到使用XML的

24、B2B应用,都可以使用JSP的动态页面。 4程序的可重用性 在JSP页面中可以不直接将脚本程序嵌入,而只是将动态的交互部分作为一个部件加以引用。这样,一旦这样的一个部件写好,它可以为多个程序重复引用,实现了程序的可重用性。现在,大量的标准JavaBeans程序库就是一个很好的例证。2.2 MVC模式MVC(Model/View/Controller)模式是国外用的比较多的一种设计模式,最早是在Smaltalk中出现的。MVC包括三类对象,简单地说,Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式6。 MVC设计模式中“模型“指的是真正完成任

25、务的代码。对大多数Web应用程序来说,功能比界面感觉更重要。在模型同界面相分离的情况下,代码即可实现可管理性和可重用性。模型通常也被称作”业务逻辑“。 所谓“视图“其实就是使用界面。在MVC模式下,在通常的设计前提下界面任务并不大。当然,视图应该具有一定功能性并遵守可用性的约束,但视图不应当处理数据。事实上,界面的每一部分都只能包含采集数据的足够逻辑,并把它传递给设计模式中的其他组成部分以进行处理。 “控制器”控制着模型和视图之间的交互过程。它决定着向用户返回怎样的视图,检查通过界面输入的信息以及选择处理输入信息的模型。 在JSP开发中,最常使用Model2。Model2实际上就符合MVC模式

26、。 2.2.1 Model: 系统状态和商业逻辑JavaBeans 基于MVC的系统中的 Model 部分可以细分为两个概念 - 系统的内部状态, 能够改变状态的行为。用语法术语来说,我们可以把状态信息当作名词(事物),把行为当作动词(事物状态的改变)。 通常说来,你的应用程序将系统内部的状态表示为一组一个或多个的JavaBeans,使用属性(properties)来表示状态的细节。依赖于你的应用程序的复杂度,这些beans可以是自包含的(以某种方式知道怎样永久地保存它们的状态信息),或者可以是正面的(facades),知道当被请求时怎样从外部数据源(例如数据库)中取得信息。Entity EJ

27、B通常也用来表示内部状态。 大型应用程序经常将系统可能的商业逻辑行为表示为可以被维护状态信息的beans调用的方法。举个例子,你有一个为每个当前用户保存在session中的购物车bean,里面是表示当前用户决定购买物品的属性。这个bean有一个checkOut()方法用来验证用户的信用卡,将定单发给库房以选择货品和出货。别的系统分别地表示同样的行为,或许使用Session EJB。 在一些小型应用程序中,同样的行为又可能嵌入到作为Controller一部分的 Action 类中。这在逻辑非常简单或者并不想要在其它环境中重用这些商业逻辑时是恰当的。Struts框架支持所有这些方法,但建议将商业逻

28、辑(“做什么“)和 Action 类(“决定做什么”)分离开。 2.2.2 View: JSP页面和表示组件 基于Struts的应用程序中的 View 部分通常使用JSP技术来构建。JSP页面包含通常称为“模版文本”的静态HTML(或XML)文本,加上插入的基于对特殊行为标记解释的动态内容。JSP环境包括了其用途由JSP规范来描述的一套标准的行为标记,例如 。另外,还有一个用来定义你自己标记的标准机制,这些自定义的标记组织在“定制标记库”中。 Struts包括了一个广阔的便于创建用户界面,并且充分国际化的定制标记库,与作为系统 Model 部分一部分的ActionForm beans美妙地相互

29、配合。这些标记的使用将在后面做详细讨论。 除了JSP页面和其包含的行为及定制标记,商业对象经常需要能够基于它们在被请求时的当前状态将自己处理成HTML(或XML)。从这些对象处理过的输出可以很容易地使用 标准行为标记包括在结果的JSP页面中。 2.2.3 Controller: ActionServlet和ActionMapping 应用程序的 Controller 部分集中于从客户端接收请求(典型情况下是一个运行浏览器的用户),决定执行什么商业逻辑功能,然后将产生下一步用户界面的责任委派给一个适当的View组件。在Struts中,controller的基本组件是一个 ActionServle

30、t 类的servlet。这个servlet通过定义一组映射(由Java接口 ActionMapping 描述)来配置。每个映射定义一个与所请求的URI相匹配的路径和一个 Action 类(一个实现 Action 接口的类)完整的类名,这个类负责执行预期的商业逻辑,然后将控制分派给适当的View组件来创建响应。 Struts也支持使用包含有运行框架所必需的标准属性之外的附加属性的 ActionMapping 类的能力。这允许你保存特定于你的应用程序的附加信息,同时仍可利用框架其余的特性。另外,Struts允许你定义控制将重定向到的逻辑名,这样一个行为方法可以请求“主菜单”页面(举例),而不需要知

31、道相应的JSP页面的实际名字是什么。这个功能极大地帮助你分离控制逻辑(下一步做什么)和显示逻辑(相应的页面的名称是什么)。2.3 Struts2简介Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。Struts2既然是从Struts1发展而来,但实际上Struts2与Struts1在框架的设计思想上面还是有很大的区别,Struts2是以WebWork的设计思想为核心,为什么Struts2不沿用Struts1的设计思想,毕竟Struts1在目前的企业应用中还是有非常大的市场在的,那么,来看下Str

32、uts1的一些缺点吧: 1)支持的表现层技术单一。 2)与Servlet API严重耦合,这点可以从Action的Execute的方法声明里面就可以看的出来。 3)代码依赖Struts1 API,有侵入性,这点可以从写Action类和FormBean的时候看的出来,Action必须实现Struts的Action类而Struts2之所以以WebWork的设计思想为其核心,一点就是最近WebWork的上升势头,再就是WebWork没有Struts1上面的那些缺点,更符合MVC的设计思想,也更利于代码的复用。基于以上介绍可以看的出,Struts2体系结构与Struts1的体系结构有很大的差别,Str

33、uts1是使用ActionServlet做为其中心处理器,Struts2则使用一个拦截器(FilterDispatcher)做为其中心处理器,这样做的一个好处就是将Action类和Servlet API进行了分离。 Struts2的简单处理流程如下: 1)浏览器发送请求。 2)中心处理器根据struts.xml文件查找对应的处理请求的Action类。 3)WebWork的拦截器链自动对请求应用通用功能,例如:WorkFlow、Validation等功能。 4)如果Struts.xml文件中配置Method参数,则调用Method参数对应的Action类中的Method方法,否则调用通用的Exe

34、cute方法来处理用户请求。 5)将Action类中的对应方法返回的结果响应给浏览器。Struts2与Struts1对比 :1)Action类的实现方式: Struts1的Action在实现的时候必须扩展Action类或者Action的子类,Struts2的Action类实现的时候可以不用实现任何类和接口,虽然Struts2中提供一个ActionSupport类,但是,不是必须的。 2)Struts1的Action类是单例模式,必须设计成线程安全的,Struts2则为每一个请求产生一个实例。 3)Struts1的Action类依赖与Servlet API,从其execute的方法签名可看出,e

35、xecute方法有两个Servlet的参数HttpServletRequest和HttpServletResponse,Struts2则不依赖于Servlet API。 4)以为Struts1依赖于Servlet API这些Web元素,因此对Struts1的Action进行测试的时候是很困难的,需要借助与其他的测试工具,Struts2的Action可以象测试其他的一些Model层的Service类一样进行测试。 5)Struts1的Action与View通过ActionForm或者其子类进行数据传递,虽然也有LazyValidationForm这样的ActionForm的出现,但是,还是不能像

36、其他层面那样通过一个简单的POJO进行数据传递,而Struts2将这样的奢望变成了现实。 6)Struts1绑定了JSTL,为页面的编写带来方便,Struts2整合了ONGL,也可以使用JSTL,因此,Struts2下的表达式语言更加强大四、Struts2与WebWork对比 Struts2实际上就是WebWork2.3,不过,Struts2还是与WebWork有少许的差别: 1)Struts2不再支持内置IOC容器,改用Spring的IOC容器 2)Struts2对于Webwork的一些Ajax的特性的标签改用Dojo进行替换。2.4 MySQL数据库MySQL是一个精巧的SQL数据库管理系

37、统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。 SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品

38、信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。 MySQL 主要目标是快速、健壮和易用,自1996年以来,我们一直都在使用MySQL,其环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个GB字节的关键应用数据。 MySQL数据库的主要功能只在组织和管理很庞大或复杂的信息和基于WEB的库存查询请求不仅仅为客户提供信息,而且还可以为您自己使用数据库可以提供如下功能: 1) 减少记录编档的时间 2) 减小记录检索时间3) 灵活的查找序列 4) 灵活的输出格式5) 多个用户同时访问记录 第三章 需求分析3.1 技术支持3.

39、1.1 系统框架的选择一个信息管理系统的框架结构是否合理,对该系统的性能、使用效率和安全都具有至关重要的影响,因此在进行公交信息管理系统总体设计时,首先应确定使用哪种系统框架比较合理。基于本公交信息管理系统的特性,达到方便的信息管理和信息查询,本系统使用S2SH框架结构,即(struts2,hibernate,spring)技术构架。系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务层用Spring支持。采用上述开发模型,不仅实现了视图、控制

40、器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。图3-1 S2SH框架结构主流的s2sh(struts2,hibernate,spring)技术构架。相对于老系统有诸多优势,如:1. 典型的三层构架体现MVC(模型Model,视图View和控制)思想,可以让开发人员减轻重新建立解决复杂问题方案的负担和精力。便于敏捷开发出新的需求,降低开发时间成本。 2. 良好的可扩展性,ssh主流技术有强大的用户社区支持它

41、,所以该框架扩展性非常强,针对特殊应用时具有良好的可插拔性,避免大部分因技术问题不能实现的功能。 3. 良好的可维护性,业务系统经常会有新需求,三层构架因为逻辑层和展现层的合理分离,可使需求修改的风险降低到最低。随着新技术的流行或系统的老化,系统可能需要重构,s2sh构架重构成功率要比其他构架高很多。 4. 优秀的解耦性,很少有软件产品的需求从一开始就完全是固定的。客户对软件需求,是随着软件开发过程的深入,不断明晰起来的。因此,常常遇到软件开发到一定程度时,由于客户对软件需求发生了变化,使得软件的实现不得不随之改变。s2sh三层构架,控制层依赖于业务逻辑层,但绝不与任何具体的业务逻辑组件耦合,

42、只与接口耦合;同样,业务逻辑层依赖于DAO层,也不会与任何具体的DAO组件耦合,而是面向接口编程。采用这种方式的软件实现,即使软件的部分发生改变,其他部分也不会改变。3.1.2 数据库的选择数据库从最初的数据文件的简单集合发展到今天的大型数据库管理系统已经成为我们日常生活中不可缺少的组成部分。如果不借助数据库的帮助,许多简单的工作将变得冗长乏味,甚至难以实现。尤其是象银行、院校和图书馆这样的大型组织更加依靠数据库系统实现其正常的运作。再看互联网上,从搜索引擎到在线商场,从网上聊天到邮件列表,都离不开数据库。 目前,市面上的数据库产品多种多样,从大型企业的解决方案到中小企业或个人用户的小型应用系

43、统,可以满足用户的多样化需求。这里,本系统使用的MySQL数据库是众多的关系型数据库产品中的一个,相比较其它系统而言,MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用。 MySQL是一种高性能的数据库,它可以和市场下任何同类的产品竞争。为什么使用MySQL, 因为如下原因:1. 速度快。MySQL本身并不复杂,且本系统需要信息的及时更新,数据库本身并不庞大。2. 可升级性。MySQL能够同时处理无限数量的拥护和5亿个纪录3.

44、简单性。MySQL的核心是一个小而快速的数据库,面向那些了解数据库工作的人员,是他们能够有效的工作和编写高级功能。4. 价值。MySQL是遵循GPL协议的自由软件,可以免费下载并且使用它。5. 可移植性。因为MySQL是开放源代码的自由软件,可以运行于所有的平台。如今,包括Siemens和Silicon Graphics这样的国际知名公司也开始把MySQL作为其数据库管理系统,这就更加证明了MySQL数据库的优越性能和广阔的市场发展前景。3.2 系统功能需求以往由于公交企业与市民地理位置的分离,致使公交企业与市民之间的沟通产生空间上的阻隔,不能灵活、高效的进行信息查询工作。如何解决公交企业与市

45、民的远程沟通问题,提高工作效率是设计这个系统的主要初衷。公交查询的应用很好的解决这个问题。能够充分解决公交企业与市民之闻的地理问题。但是建立基于互联网上的公交查询系统还涉及到技术上、安全上、可靠性等问题,基于此提出课题的研究。为了方便市民查询公交,了解更多公交方面的信息,本系统将会有以下功能:用户登录注册模块,公交查询模块,公交新闻模块,公交论坛模块,公交线路图浏览模块,资源上传下载模块,用户留言模块,和公交车乘车指南模块,为了方便管理员管理,对应的模块都设计了相应的后台管理。3.2.1 总体需求1. 在系统功能方面1) 公交信息管理系统要求具有良好的可维护性和扩展性,即随公交线路的增加与删除

46、,系统能够及时进行数据库的修改。2) 公交信息管理系统在内容方面能够提供丰富的内容显示模块。3) 公交信息管理系统在与用户交流方面能够建立留言板或论坛模块。4) 公交信息管理系统在资源共享方面能够提供供用户下载使用的相关资源。2. 在系统管理方面1) 提供角色管理功能,将系统权限与用户权限分开,权限与角色对应,一个角色可以包含多个用户,一个用户可以有多个角色。2) 提供多模块管理功能,管理员可以实现对用户,公交新闻,公交线路信息,公交线路图,下载资源等信息的增删改查操作。3.2.2 各模块设计1. 用户登录注册模块,当用户是以游客身份登录时,只能进行公交查询,新闻浏览,和图片浏览,系统介绍,和

47、用户注册操作。只有当注册成为系统会员后,才能拥有该系统前台所有功能的使用。对与后台管理服务,只有管理员登录,才能使用其功能。2. 公交查询模块,一般用户对于查询有3种需要,一种是直接输入公交线路查询,查询该线路经过哪些站点,一种是输入站点名称查询,查询哪些线路经过该站点,还有一种是输入起点和终点站查询,查询换乘路线。为了方便用户查询,本系统将会满足用户的3种查询条件,一种是直接输入公交线路查询,一种是输出站点名称查询,还有一种是输入起点和终点站查询,对于后面那一种查询条件,本系统提供所有满足该条件的一次换乘方案供用户选择。对于该公交查询的换乘算法方面,目前查询效率的瓶颈就是在与数据库进行交互的

48、时候。为了解决这种问题,该系统对于数据库查询只做简单查询,将更复杂的算法逻辑放到业务逻辑层里面去实现。比如一次换乘查询,对于数据库操作只查出满足该起点和终点的相关线路,然后再业务逻辑层去筛选其中符号条件的结果。这样做会在SQL语句上有大量简化,使系统对数据库查询性能提交很多。同时,为了方便管理员管理,后台有专门的公交站点管理,可以进对线路进行增,删,改,查的操作。3. 公交新闻模块,主要是发布一些最新的公交方面的新闻给用户浏览,以便用户知道有关公交信息方面的一些重大新闻,或线路变更的一些通知,同时提供后台对新闻的管理。4. 公交论坛模块,用于会员使用,登录的会员可以在论坛里面发帖,回帖,讨论或

49、者发表一些关于公交方面的信息。发帖主要是指发表一个标题,然后登录用户就可以看到,并进行发言。同时为了方便对一些用户不良发言的管理,在后台设计了该功能的管理模块,该模块可以删帖,也可以单独删除其中一用户的发言。5. 公交线路图模块,主要是为了方便用户在使用本系统时,能够更直观的看到相应线路的地图信息,同时为了方便管理,也设计了一个管理模块,对图片进行管理。6. 资源上传下载模块,这里会提供一些有关资源列表供感兴趣的会员下载,同时也允许会员上传资源,但是为了防止会员上传不良信息,在后台开发一个资源管理模块,方便管理员管理资源。7. 用户留言模块,如果会员对该系统有什么意见或者建议,可以通过该模块发

50、留言给管理员,用户只需要输入标题,和发言内容就行。同时为了方便管理员查询留言,在后台有个留言管理模块,该模块使管理员可以查看不同用户的留言,同时也可以给该用户回复,然后该留言的用户可以在前台改模块里面查询管理员的回复。8. 乘车指南模块,主要介绍了城市各学校、医院、商场等主要客流流动站点的相关公交车乘坐方式,更方便用户在使用本系统时找到符合查询的信息。3.2.3 数据流图管理员操作线路信息线路信息表下载上传资源资源管理表操作事务上传下载资源查询输入信息输出信息新闻新闻信息表操作图片信息图片信息表操作留言信息留言信息表操作用户信息表事务操作论坛信息表事务图3-2 系统后台数据流图用户查询输入结果

51、线路信息表注册个人信息用户信息表登陆登陆信息留言留言信息表用户留言上传资源信息表资源信息下载事务资源浏览线路图表发言论坛信息表图3-3 系统前台数据流图3.3 系统非功能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,公交信息管理系统还应该满足以下的性能需求:3.3.1技术可行性技术可行性是指为实现系统目标,所需要的技术保证。系统开发所需要的技术主要有计算机软硬件技术、系统开发人员的水平、用户管理与使用的能力等。Java的相关技术已经相当成熟,并且基于MVC模式能够很好的简化项目,使得项目的开发和维护都有很好的前提。技术可行性分析要考虑如下几个方面:(1)软硬件需要的可满足性:硬件环境

52、:2.10GHz/500G/2048MB/160G/,软件环境:Windows JDK1.6/Tomcat 6.0/mysql 5.1。(2)系统开发人员水平:本系统开发者已能熟练操作Java、s2sh并且有一定的美术功底;掌握网络互联技术、网络安全技术、网络数据库技术等;对网络组建和系统开发理论有较好的掌握,故有能力开发实现该业务系统。(3)开发环境: JAVA语言的所有特点:跨平台性、安全性高、可移植性好、可扩展性高并且是编译性语言,使程序设计者可以很方便地建立自己的系统。在JSP页面的对提交信息的校验利用了strut2。操作平台:Windows Vista HomeBasic;开发环境:

53、myclipse6.0;开发语言:Jsp、JAVA、Java Bean。框架:S2SH;调试环境:IE8.0、Tomcat6、myclipse6.0。数据库运行环境:mysql5.1。鉴于以上的分析,系统的建设在技术上完全可行。3.3.2管理可行性MVC模式使得任务管理系统有了很好的松耦合性,这样使得各个模块之间能够更好的独立完成,更加便于管理。所以在管理上考虑本系统的建设是完全可行的。3.3.3系统准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。由于公交信息管理系

54、统的公交查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,其准确性很大程度上决定了公交信息管理系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。3.3.4系统开放性和可扩充性公交信息管理系统在开发过程中,应该充分考虑以后的可扩充性。例如网上查询的用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3.3.5系统易用性和易维护性公交信息管理系统

55、是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。公交信息管理系统中涉及到的数据是公交公司的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。3.3.6系统的响应速度公交信息管理系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速

56、度问题而影响工作效率。第四章 总体设计4.1系统用例图设计用例图(Use Case Diagram)是由软件需求分析到最终实现的第一步,它描述人们如何使用一个系统。用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最终实现这些元素。用例图在各种开发活动中被广泛的应用,但是它最常用来描述系统及子系统。当用例视图在外部用户出现以前出现时,它捕获到系统、子系统或类的行为。它将系统功能划分成对参与者(即系统的理想用户)有用的需求。而交互部分被称作用例。用例使用系统与一个或者多个参与者之间的一系列消息来描述

57、系统中的交互。4.1.1系统前台用例图系统前台主用户主要分两种角色,一种是游客,一种是会员,游客和会员分别有不同的权限。 图4-1 系统前台用例图4.1.2系统后台用例图后台用户为管理员,只有以管理员身份登录,才能对后台功能进行操作。图4-2 系统后台用例图4.2系统模块划分图根据需求调研结果确定本系统主要包括以下功能模块,如图所示:公交信息管理系统系统前台系统后台用户登录注册公交查询公交论坛公交线路管理论坛管理新闻管理公交新闻公交线路图资源上传下载用户留言图片管理资源管理留言管理图4-3 系统功能模块划分图4.3系统E-R图1.留言板模块局部E-R图,该图的实体为管理员、用户和留言板。留言板

58、里记录的每条信息是用户进行的留言信息,管理员在后台可以查看、回复或者删除,用户实体与留言板实体的关系是一对多关系,一个用户可以多次留言,每条留言只属于一个用户。真实名管理员登录名密码用户密码地址邮箱IDID登录名管理留言ID标题留言人内容时间回复回复人留言板1nm1图4-4 留言模块局部E-R图2.论坛模块局部E-R图,该图所包括的实体主要有:论坛主页、论坛子页、管理员和用户。管理员和用户都可以在论坛模块中创建论坛或参与其他主题的论坛并发帖,每一次发帖信息都记录在论坛子页表中。论坛主页论坛子页组成管理员用户创建发帖ID标题创建人创建时间主表IDID内容留言人发帖时间ID登录名密码ID登陆用户名真实姓名密码地址电子邮箱1n111m1m图4-5 论坛模块局部E-R图4.4系统流程图该图介绍了两种不同的用户在使用本系统时的活动事务,用户在访问本系统首页后可以选择是否登陆,未进行注册的用户可以选择是否注册,若未登陆且不注册则只能使用本系统前台的一部分功能。当用户选择注册时需要填写必要的个人信息,注册成后跳转回登陆页面进行登陆,登陆成功后则能使用系统前台的全部功能。开 始进入系统首页用户登录是否注 册是填写注册信息成 功否只使用部分功能否否使用前台全部功能图4-6 用户登录流程图

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!