ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:839.85KB ,
资源ID:17458656      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17458656.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(城镇公交车管理系统毕业论文文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

城镇公交车管理系统毕业论文文档格式.docx

1、2.功能需求系统面对的参与者主要有两大类,一是广大市民;二是公交运营公司。从广大市民角度分析:主要针对系统的前台,用户可以申请会员,可以浏览公交运营公司发布的最新新闻和规章制度等信息。会员用户可以发表寻物启事、失物招领、投诉和修改个人信息等功能。进一步实现和公交运营公司的交互。除此之外所有用户都可以查询公交线路、车次及站点等详细信息。这为用户的出行带来了极大的方便。从公交运营公司的角度分析:除了可以使用前台的所有功能外,主要针对后台管理系统,管理分为两个角色,管理员和超级管理员,其中超级管理员可以分配管理员账号等功能,具有更高级别的权限。其中管理员可以对本公司的基本信息进行维护,像公司地址、公

2、司版权声明和许可协议内容等。具体包括车次维护、站点维护、线路维护和线路的查询,这主要是对车辆数据的维护;除此之外管理员要对前台用户申请的会员进行审核,通过之后会员才会正式对用户开放,同样会员发布的失物招领、寻物启事和投诉等信息也都会先提交管理员审核,通过方可生效;最后一点就是公交运营公司的超级管理员可以对所有的管理员进行审核和维护,这在一定程度上完善了管理体制也符合公司的管理体制。3.数据需求1车辆的基本信息车辆的基本信息包括线路名称、起点站和终点站、首末班车时间、空调票价、标准票价和IC卡类型等信息。2站点的基本信息站点的基本信息包括站点名称、副站点名称(站点缩写)和辅助站点名称(站点附近建

3、筑物名称)等。3线路的基本信息线路基本信息包括车次名称(车辆名称)、当前线路下的所有站点名称和上行、下行类别信息。4会员的基本信息会员信息包括用户名(登陆使用)、登陆密码、找回密码的提示问题及答案、真实姓名、性别、邮箱地址和联系方式(手机或座机等)。5失误和寻物的基本信息失误和寻物的信息基本相同,其中包括物品名称、物品种类、物品简单描述、物品详细描述、捡取地点和时间(丢失地点和时间)、联系人、联系方式(手机或座机等)以及备注信息等。6投诉的基本信息投诉的基本信息包括投诉内容和投诉人(允许匿名)等。7公交新闻的基本信息公交新闻的基本信息包括新闻标题和新闻内容(规章制度)等信息。8公交运营公司的基

4、本信息公交运营公司的基本信息包括公司名称、许可协议内容、公司E_Mail、公司联系电话、公司地址和公司备注信息等。9管理员的基本信息管理员的基本信息包括管理员用户名、登陆密码、管理员权限(管理员或超级管理员)和是否可以(是否可以登陆系统)。第三章数据库设计1.数据库的概念当人们从不同的角度来描述这一概念时就有不同的定义。例如,称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又如称数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。严格地说,数据库是

5、“按照数据结构来组织、存储和管理数据的仓库”。本系统将使用一直以来使用都最为广泛的关系模型作为数据库的建设依据。在用户的观点下,关系模型中数据的逻辑结构是一张二维表,一个关系对应通常说的一张表,并且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如Oracle,SQL Server 2000等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。2.数据库的选择从资金和功能两方面考虑的话还有一个更具吸引力的功能强大的中小型免费数据库MySQL,本

6、系统采用的这个功能完善而又小巧的数据库。MySQL是一个真正的多用户、多线程SQL数据库服务器,它有较好的数据承载能力,一个环境有超过40个数据库,包含10000个表,其中500多个表超过7百万行记录,总数据大约有100GB的数据库系统可以很好的被MySQL所支持,而MySQL本身不会像Oracle那样对系统及硬盘空间有很高的要求。这也是本系统选用MySQL作为后台数据库系统的一个重要原因之一。3.PowerDesigner介绍PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用PowerDesign

7、er可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设备模型进行控制。4.系统数据库设计模型图1公交运营公司表图2用户投诉表图3寻物表和会员表及关系图4管理员、公交新闻和失误表之间的关系图5车辆、站点和车次表之间关系第四章技术介绍1.JAVA语言现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行,使用最多,最为先进的可用作企业级开发语言的产品有SUN公司的Java、Microsoft公司的Visual Basic、Microsoft公司的Visual C、Borland公司的Delphi

8、和Powersoft公司的PowerBulider等。在目前市场上这些众多的程序开发工具中,有些强调语言的弹性与执行效率;有些偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的不同需求。我的网站选择Java语言开发,其原因基于以下几点:Java是一种简单的、面向对象的、分布式的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的语言。1简单Java的风格类似于C+,并且摒弃了C+中容易引发程序错误的地方,如指针和内存管理。 此外Java提供了丰富的类库。2面向对象面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的。

9、Java支持静态和动态风格的代码继承及重用。3分布式Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。4健壮Java致力于检查程序在编译和运行时的错误。Java自己操纵内存减少了内存出错的可能性。Java提供Null指针检测数组边界、检测异常出口、字节代码校验。5安全Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C+功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。6可移植

10、Java的可移植性一直是Java程序设计师们的精神指标,也是Java之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是JVM的技术。JAVA编译器产生的目标代码(J-Code) 是针对一种并不存在的CPU-JAVA虚拟机(JAVA Virtual Machine),而不是某一实际的CPU。JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。7高性能Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300000个过程。翻译目标代码的速度与C/C+的性能没什么区别。8多线程Java支持多线程,多线程功能使得在一个程序

11、里可同时执行多个小任务。线程,有时也称小进程,是一个大进程里分出来的小的独立的进程。9多态Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C+语言进行面向对象程序设计所无法实现的。Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。2.Struts框架Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的

12、技术水准。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。这个框架之所以叫Struts,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件工程师使用Struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的

13、选择。Struts流程为服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。登陆举例,第一次进login.jsp会先实例化Form、把默认值(String默认为空字符串,整形默认为0)赋给表单元素。输入用户名密码提交表单、提交到action属性的login.do,通过ActionServlet读struts-config.xml文件找到 action下的path属性找到.do,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调

14、用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的excute方法。3.Hibernate框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久

15、化的重任。Hibernate的核心接口一共有五个,分别为Session、SessionFactory、Transaction、Query和Configuration。这五个接口在任何开发中都会用到,通过这些接口不仅可以对持久化对象进行存取,还能进行事务控制。4.Spring框架Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring提供

16、了Ioc(控制反转)和Aop(面向切面编程)两大模块,其中我们可以借助DI依赖注入和Aop的声明式事务给我们的系统增色。5.Ajax技术国内通常的读音为“阿贾克斯”和阿贾克斯足球队读音一样。Web应用的交互如Flickr, Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于网页的Web应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。 虽然大部分开发人员在过去使用过XMLHttp或者使用Iframe来加载数据,但仅到现在我们才看到传统的开

17、发人员和公司开始采用这些技术。就像新的编程语言或模型伴随着更多的痛苦,开发人员需要学习新的技巧及如何最好利用这些新技术。系统中使用了基于Ajax的JQuery框架,使之为系统增色不少,增强了用户体验,因此许多正规的验证方式和验证风格得以实现。6.SQL语句SQL(Structure Query Language结构化查询语言)自1974年被提出,至今已经是世界上最流行的关系数据库的标准语言。SQL语言的分类DDL(Data Definition Language)数据定义语言,其作用包括创建数据库对象、删除数据库对象、修改数据库对象(create、drop、alter)。DML(Data Ma

18、nipulation Language)数据操纵语言,其作用包括查找数据信息、插入数据信息、删除数据信息、更改数据信息(select、insert、delete、update)。DCL(Data Control Language)数据控制语言,作用主要对是授权数据库对象(grant、revoke)。7.开发环境操作系统:Windows XP运行环境:JDK 6.0、IE6.0开发工具:MyEclipse 6.0、Dreamweaver 8.0、Photoshop 9、PowerDesigner 12、Rose、Flash 8等数据库:MySQL 5.0服务器:Tomcat 6.0第五章详细设计

19、1.系统体系结构图公交管理系统分为前后台系统,前台包括浏览和发布功能;后台包括浏览、发布和管理维护功能。2.前台系统首页公交管理系统前台首页显示所有模块的概要,其中会员登陆可以实现局部刷新效果,可以达到很好的用户体验效果,可以进行会员的申请、密码找回或登陆。会员登陆前只能进行信息的浏览,而不能发布信息。3.前台登陆界面4.会员中心界面登陆成功之后,可以进入会员中心,会员可以修改个人信息、发布寻物启事、失物招领信息,也可以发布投诉信息,当这些信息被管理员审核通过后会显示到前台供用户查看。5.后台管理审核界面6.会员发布寻物启事界面会员发布信息的时候可以查看自己之前发不过的对应的信息列表,当然是不

20、可以看到其他会员发布的信息的。7公交查询流程图前后台查询原理基本相同,都可以根据站点、车次和首末站点进行查询。根据站点查询:查询出所有经过指定站点的公交车线路,并且可以通过点击车次功能,显示线路详细列表。并且该功能支持模糊查询。根据线路查询:查询出指定车次的线路,可以显示线路的详细情况列表。根据首末站点查询:可以查询出经过两个站点的所有的车次,第一级页面会显示出所有的直通车线路;当点击换成查询的时候,可以查询所有的换成线路车次出行方案。7.查询线路界面通过显示结果可以看出,我们可以通过滚动条查看上行或下行线路的详细情况。8.线路维护界面由界面可以看出,线路的添加需要有车次、站点和路线类型组成。

21、其中车次是使用选择按钮通过弹出页面选择,然后自动填出车次名称;站点的选择是通过点击选择站点,然后从弹出框中选中若干站点,有界面可以看出站点要求全部选中然后才可以添加线路信息,其中界面中提供了全部选中和上移、下移站点顺序的功能,最后有选择上行和下行路线的选项。9.管理员维护界面界面中可以看到有的记录后边是可用或不可用,不可以代表不能登陆到后台系统,只有超级管理员审核通过后该管理员才可以登陆系统;管理员可以修改自己的基本信息,不能修改权限;超级管理员可以修改自己的基本信息和权限;超级管理员可以修改其他管理员的权限但是不能修改其他管理员的基本信息。这保证了每个人的个人信息的安全。第六章 总结在前面几

22、章中,我们对公交管理系统的建设过程从需求分析、设计、实现等阶段分别做了介绍。本系统实现了会员注册、登录、站点管理、车辆管理、线路管理、会员管理、管理员管理、公交新闻管理和公交运营公司的管理等功能。本文对所选择的开发语言做了介绍,本系统在开发过程中采用Struts、Hibernate、Spring三大框架相结合,并且结合JQuery框架为系统的界面无刷新提供了很好的支持,利用Spring的声明式事务管理,不同于以往开发过程中所使用的编程式事务管理,在这一点上,本文也做了详细的介绍。此外,在项目的开发过程中采用规范的软件工程的开发流程,因此在需求分析及数据库设计部分做了大量的工作,这些对本系统后期

23、的编码过程起到了指导作用,在本文中也有所体现。本系统也将会在今后的应用中逐步完善,做到尽善尽美。致谢本论文最终能顺利完成,首先应感谢我们的两位导师张晓玲和石彦杰老师,虽然他们在我们的项目中没有扮演重要角色,但是他们的思想和学习方法以及开发、解决问题的思想却正是我们的项目得以完成的法宝。他们教授的学习方法和他们的工作态度都深深地影响着我们。参考文献1 (美) Bruce Eckel,陈昊鹏 译,Java编程思想第四版 机械工业出版社 2007.062 孙卫琴,精通Struts:基于MVC的Java Web设计与开发 电子工业出版社 2004.083 孙卫琴,精通Hibernate 2006.06

24、4 (美)普雷斯曼 著,郑人杰 等译,软件工程:实践者的研究方法 2007.015 张孝祥Java就业培训教程 清华大学出版社 2003.09附录一 数据库连接用Hibernate连接数据库可通过直接编写Hibernate的配置文件来实现,由于本网站采用Struts,Hibernate,Spring三者相结合,所以本网站在处理与数据库连接时,直接将Hibernate配置文件中连接数据库的代码注入到Spring的配置文件中,包括需要加载相应的数据库驱动,与所用数据库建立连接的URL,数据库的用户名以及密码。property name=driverClassNamevaluecom.mysql.j

25、dbc.Driver/propertyurljdbc:mysql:/localhost:3306/workinfodbusernameroot1234将此数据库的连接注入到Spring的操作缓存中,并且通过Spring的配置文件将Hibernate中持久化类所对应的映射文件进行注入。sessionFactory class=org.springframework.orm.hibernate3.LocalSessionFactoryBeanref bean= /mappingResourceslistcom/data/hibernate/Admin.hbm.xmlcom/data/hiberna

26、te/Company.hbm.xmlcom/data/hibernate/Employee.hbm.xmlsessionFactory 在应用程序中通常只需存在一个实例,因而 sessionFactory 底层的 dataSource 可以使用 Spring 的 IoC 注入,之后再将sessionFactory注入相依赖的对象之中。附件二 声明式事务Spring 的声明式的事务管理依赖于它的 AOP 框架来完成,使用声明式的事务管理的好处是,事务管理不侵入开发的组件,即事务管理的相关 API 可以不用介入程序之中,DAO 对象不会意识到正在事务管理之中。将事务的管理和业务逻辑相分离,正是我们

27、一直以来想要达到的目标,因为事务管理是属于系统层面的服务,而不是业务逻辑的一部分,在以往的编程过程中,我们要大量的考虑在何种情况下操作有可能不会完全成功,需要对事务进行回滚操作,使数据保存一致状态。而有了Spring的声明式事务管理,如果想要改变事务管理策略的话,只需要在Spring的配置文件中重新配置即可。Spring的声明式的事务管理通过动态代理,针对接口进行管理,那么就首先要求进行指定业务逻辑的类要现实相应的接口,动态代理再通过对接口的管理,现实了对继承该接口的类中的指定方法的事务管理。AdminDAOProxyorg.TransactionProxyFactoryBeantransactionManager/prope

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1