基于java城市公交查询系统的设计与实现毕业答辩论文.docx
- 文档编号:23276200
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:49
- 大小:406.11KB
基于java城市公交查询系统的设计与实现毕业答辩论文.docx
《基于java城市公交查询系统的设计与实现毕业答辩论文.docx》由会员分享,可在线阅读,更多相关《基于java城市公交查询系统的设计与实现毕业答辩论文.docx(49页珍藏版)》请在冰豆网上搜索。
基于java城市公交查询系统的设计与实现毕业答辩论文
基于java城市公交查询系统的设计与实现毕业答辩论文
太原公交查询系统的设计与实现
学生姓名:
指导教师:
1[摘要]公交查询系统是为了方便人们查询公交的信息,并且能够及时的做到信息更新,其主要是要做到方便人们的使用,信息的可维护性和程序的稳定性。
本系统采用了JSP编程语言,数据库使用Mysql。
计算机技术不断发展,逐渐适应用于各领域,给人们的学习工作生活带来了便利,在公交查询系统也是这样。
纸质的公交指南或繁杂的网络版公交指南,都在不同程度上限制了市民出行的方便性。
本论文介绍的是一个城市的公交查询系统,方便市民用最简约的方式,查询到最实用的公交信息。
本论文是在此系统经过测试并且所有功能都实现的基础上完成的,主要涉及软件,数据库与网络技术等。
[关键词]城市公交查询系统;数据库;JSP;SSH
1Abstract:
Thiscitybusesinquirysystemaimstomaketheresidentinquirecitybusesinformationmoreconvenientandmustachievetheinformationnottoolag,butitsmainideaisthesystemadministrateuser-friendly,thedataprocessesreliability,themaintainability,aswellasproceduretoughness.ThesystemusestheJSPprogramminglanguageandMYSQLasdatabase.Alongwithcomputertechnology'sunceasingdevelopment,thecomputerappliesineachbigdomain,andhasbroughttheenormousconveniencetopeople'slife,thecitybusesreferralsystemisalso.Thedepartedpapercitybusesguideorthenumerousanddiverseonlineeditioncitybusesguide,haslimitedtheconvenienceswhichinthedifferentprocedurewhenaresidentgoesonajourney.Thisthesisintroducesacitybusesreferralsystem,byfacilitatestheresidentwiththebriefestwayandinquiresthemostusefulcitybusesinformation.Thisthesisthatisbasedonthesystemhasbeentestedandfunctionsallcometruemainlyinvolvessoftware,databaseandnetworkingandsoon.
1Keywords:
CityBusesinquirysystem;Databases;JSP;SSH
1概述
1.1项目开发背景和现状的研究
1.1.1开发背景
随着城市建设的飞速发展,生活节奏的加快,公交系统对城市来说越来越重要。
而政府在这方面的投入也是加大了力度,城市中的公交系统也是日益完善,公交系统的不断更新,却又导致了市民无法从原来的公交指南上看到现如今的信息,从而产生了很多不必要的麻烦。
所以需要提供一个高效的公交查询系统,才是问题的根本所在。
现在,随着计算机技术和通信技术的发展,与网络相结合是现如今的重要发展方向,特别是在网络普及,上网极为方便的网络信息时代,通过上网来查询公交信息是公交查询系统的发展方向。
1.1.2研究现状
公交查询系统是为了方便人们查询公交的一些信息,并且能够做到信息的及时更新,主要是要方便人们的使用,信息的可维护性和程序的稳定性。
本系统采用JSP,数据库使用的是Mysql。
计算机技术的不断发展,逐渐适应用于各领域,给人们的学习工作生活带来了便利,在公交查询系统也是这样。
纸质的公交指南或繁杂的网络版公交指南,都在不同程度上限制了市民出行的方便性。
本论文介绍的是一个城市的公交查询系统,方便市民用最简约的方式,查询到最实用的公交信息。
1.2项目开发目的与意义
1.2.1系统开发的目标
本系统是基于J2EE的公交查询系统,其中包括了公交查询系统的基本功能,并提供了用户留言的功能,方便根据用户提供的留言信息或是提出的建议对系统进行修改和完善,并提供了管理员用户后台维护公交信息的功能,做到能够实时添加和删除公交车次站点。
除主要功能以外本系统还附带发布寻物启示与失物招领模块,方便用户。
本系统目标是方便市民进行公交信息查询,并且要做到信息不滞后,其主要思想是做到系统管理的人性化,数据处理的可靠性,可维护性,以及程序的健壮性[2]。
系统提供了用户留言的功能,根据用户提供的留言信息或提出的建议提高公交公司的服务质量。
基于J2EE的城市公交查询系统,它采用B/S模式。
该系统不仅可以用于公交公司管理系统中,也可以单独作为公交管理系统的一个模块存在,并可以制作成城市公交信息系统查询网,放置于城市的主要场所[3]。
这样不仅可以体现出一个城市的智能公交系统的水平,更显示出城市的数字化,信息化水平。
1.2.2系统开发的意义
Internet是城市公交信息查询系统得以实现的基础。
在当今社会,网络大为普及,上网极为方便,通过网络查询公交信息更是城市公交信息查询系统的发展方向,与网络相结合是大势所趋[4]。
城市公交信息查询系统旨在应用现代的信息网络化为广大乘客提供一种方便快捷的乘车线路服务,让网络惠及更多的人。
提高市民的出行效率,促进社会的和谐。
本论文主要涉及软件,数据库与网络技术等。
涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。
1.3本论文研究的主要内容
本论文采用软件工程思想来进行城市公交信息查询系统的设计与实现。
首先,介绍当前形势下大多数城市公交路线查询系统存在的诸多问题。
在此基础上提出本系统的现实意义以及必要性。
对城市公交信息查询系统进行了可行性分析,确定了本系统的功能、性能、界面等。
其次,对城市公交信息查询系统进行模块分解,确定软件结构,模块功能和模块间的接口,以及数据库的设计。
及根据需求分析中提出的思路来设计系统,对各个模块的设计进行了描述。
然后给出了城市公交信息查询系统的整体结构图以及各个模块的实现流程图以及数据库设计时需要的表结构。
再次,对本系统进行详细设计,在此基础上对各个模块的实现进行了介绍,给出了本系统的效果图,并且对重要功能给出了主要代码。
最后,对系统进行了测试及分析。
本文对软件测试的概念和方法进行了概要说明,并对系统的设计和实现进行了总结,提出了对城市公交信息查询系统的展望和具体的改进建议。
2需求分析
2.1需求分析
2.1.1系统需求
由于本系统面向广大市民和公交公司管理本系统等非计算机专业人士的需求,因此要求硬件配置不能太高,任何一个普通的计算机用户都能很快的熟悉整个软件的使用。
本系统要做到所耗费的资源常小,任何用户只需要在一般的电脑上面,就能够通过浏览器使用这个软件。
公交公司管理人员能够简单、方便、快捷、远程的实现对系统实时维护和管理。
2.1.2技术需求
本系统是以互联网为基础,采用SSH框架MySQL数据库开发模式,服务器采用Tomcat6.0。
服务器由数据库服务器、Web服务器等服务器组成,通过客户端网络连接进行系统的管理和维护,数据库服务器中的数据要实现实时更新,数据库要可靠稳定。
2.1.3安全需求
本系统面向社会,因此对系统的安全性有较高的要求。
对数据库要设置不同的用户权限,数据的操作需要用户身份验证,只有取得合法的身份才能进行操作,还应避免数据并发现象,防止数据库无法响应操作。
2.1.4维护需求
本系统采用B/S结构,系统更新、升级只需要在服务器端实现。
在进行系统维护时,只需远程登录服务器,减少了维护的成本和周期。
2.2系统可行性分析
2.2.1技术可行性
现在,随着计算机技术和通信技术的发展,与网络相结合是以后的重要发展方向,特别是在网络大为普及,上网极为方便的网络信息时代,通过网络查询公交信息更是公交查询系统的发展方向。
特别是在网络大为普及,上网极为方便的网络信息时代,通过网络查询公交信息更是查询系统的发展方向。
基于Web的新型公交信息查询系统,数据信息更新更为准确、及时,用户可以利用计算机、手机等平台通过有限或无线的网络连接方式对系统进行访问,得到快捷的服务[5]。
SSH(Spring+Struts2+Hibernate)框架中hibernate提供了多种常用的数据库应用程序,通过少量代码的编写,就能够实现数据库的访问[6]。
系统采用MYSQL作为开发数据库。
MYSQL是一种客户机/服务器结构的关系数据库管理系统[7]。
在技术难度方面,有指导老师的指导、周围同学的热心帮助,加上对很多相关文献的参考,能够解决开发过程中所遇到的困难。
因此,技术是可行的。
2.2.2经济可行性
如今,随着计算机的大量普及,各种软件的开发成本越来越低,价格也越来越底。
本系统也是这样,开发成本较低,只是需要一台配置一般的计算机,该系统运行时占计算机的资源也不多,但并不会因为开发成本低而造成系统功能性能的下降。
相反,随着计算机技术的发展,各种实用软件的性能日渐提高。
任务管理系统廉价的开发成本,却能够为用户带来相当大的实惠和方便。
主要表现在:
1.本系统可以说是一个拥有多种实用功能的系统,它集成了多种功能,具有较强的实用性和方便性。
2.本系统的运行可以大大提高查询信息的效率,减少不必要的人力和物力。
2.3功能分析
要设计一个良好的公交查询系统,就必须首先明确该应用环境对系统的要求。
公交查询系统的应用背景为:
方便市民搭乘公交车出行;手动(目前)、自动(将来)、及时更新查询数据。
2.3.1查询功能分析
系统需要提供几种不同方式的查询手段,以实现灵活方便地管理整个系统。
其中包括:
线路查询:
可以获得要查询公交所通过的所有站点。
站点查询:
通过输入指定站点查询经过该站点的公交车。
公交换乘模块:
主要体现那些不可直达需要转车的线路的所有换发。
2.3.2数据的更新以及修改分析
更新:
系统允许管理员级别的用户对数据进行更新、修改并且存盘操作。
编辑:
系统允许管理员级别的用户对数据进行编辑、删除的操作,保证数据的真实性与实时性。
系统采用采用B/S(Browser/Server)结构。
整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据[8]。
通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据,如图2-1所示。
图2–1系统模式图
系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过JSP网页完成[9]。
而系统内部复杂的业务逻辑主要通过JavaBean的组件(Component)实现,JavaBean组件在WWW服务器上运行,通过JSP返回到客户浏览器。
通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。
在服务器端,系统使用JDBC中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。
本系统使用JSP技术作为表现手段,服务器采用Tomcat6.0作为JSP引擎,系统业务逻辑由JavaBean组件完成,使用JDBC3.0驱动程序访问数据库[10]。
由于系统测试需要成熟的数据库支持,因此系统采用MySQL数据库作为数据库服务器。
3系统关键技术
3.1JSP技术
JSP是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网页技术[11]。
JSP技术在多个方面加速了动态Web页面的开发。
与微软公司的ASP技术相比,JSP具有如下优点:
1.开放的技术:
JSP技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。
相比之下,JSP技术主要依赖MICROSOFT支持。
2.平台和服务器的独立性:
JSP编写的代码可运行在任何符合JAVA语法结构的环境中。
这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。
3.开放的开发过程,开放的源码:
自1995年以来,SUN用开放过程方法同国际JAVA组织合作开发和修改JAVA技术和规范。
4.JSP标记可扩充性:
JSP技术能够为开发者扩展JSP标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。
5.JSP跨平台的可重用性:
JSP组件(EJB,JavaBean或定制的JSP标记)都是跨平台可重用的。
3.2JavaBean技术
JSP作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类JSP应用程序中,JSP+JavaBean的组合成为了一种事实上最常见的JSP程序的标准[12]。
JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。
在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。
对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。
JavaBean通过Java虚拟机(JavaVirtualMachine)可以得到正确的执行,具有平台无关性[13]。
一个JavaBean有三个部分组成:
1.属性(Property)
Bean的属性就是对象的属性,但提供了属性读取和设置的接口支持。
例如一个时钟Bean可以有时区和镇铃属性,日历Bean可以有年份和月份属性。
每个属性通常遵守简单的方法命名规则。
这样可以很方便的找出Bean提供的属性,然后查询属性值或改变属性值,对Bean进行操作。
2.方法(Method)
由于Bean本身是Java对象,调用这个对象的方法是与其交互作用的唯一途径。
JavaBean严格遵守面向对象的类设计逻辑,不让外界访问其任何实例字段(没有Public字段)。
这样,方法调用的是接触Bean的唯一途径。
3.事件(Event)
Bean与其他软件组件交流信息的主要方式是发送和接收事件。
这与对象之间通过消息通信类似。
JavaBean传统的应用在于可视化的领域,如AWT下的应用。
自从JSP诞生后,JavaBean更多的应用在非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。
利用非可视化JavaBean,来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序(如JSP)的分离,使得系统具有更好的健壮性和灵活性。
3.3JDBC技术
JDBC是Java的开发者——Sun的JavaSoft公司制定的Java数据库连接JavaDataBaseConnectivity技术的简称,是为各种常用数据库提供无缝联接的技术[14]。
JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。
JDBC有一个非常独特的动态连接结构,它使得系统模块化。
使用JDBC来完成对数据库的访问包括以下四个主要组件:
Java的应用程序、JDBC驱动器管理器、驱动器和数据源。
简单地说,JDBC能完成下列三件事:
1.同一个数据库建立连接;
2.向数据库发送SQL语句;
2.处理数据库返回的结果。
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。
它由一些Java语言写的类、界面组成。
JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。
也就是说,开发人员可以不必写一个程序访问MySQL,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。
用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。
不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。
Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!
[15]”。
Java具有健壮、安全、易用等特性,而且支持自动网上下载,是一种很好的与数据库线连接而使用的编程语言。
它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。
JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web页,页中带有能访问远端数据库的Applet。
或者企业可以通过JDBC让全部的职工(他们可以使用不同的操作系统,如Windows,UNIX)在Internet上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。
3.4Struts2技术
Struts2虽然是在Struts1的基础上发展起来的,但它实质上是以WebWork为核心的,其次它为传统的Struts1注入了WebWork的先进设计理念,是在Struts和WebWork的技术基础上进行合并后的一种全新框架。
它全新的体系结构与Struts1的体系结构差别很大,Struts2以WebWork为核心,在Struts2中大量使用拦截器机制来处理用户请求,采用这种设计的优势表现在:
业务逻辑控制器能够与ServletAPI完全分离,避免了Struts1与ServletAPI的严重耦合。
Struts2对Struts1进行了巨大的改进,主要表现在以下几个方面:
1.线程模型方面:
Struts2的Action是一个请求对应一个实例,而Struts1用一个Action的实例处理所有的请求,它的Action工作在单例模式,存在线程安全问题。
2.Action实现方面:
Struts1要求统一扩展自Action类,而Struts2中可以是一个普通的POJO(PlainOldJavaObjects)。
POJO指简单的Java对象,实际就是普通JavaBeans。
3.Servlet依赖方面:
Struts1的Action依赖于ServletAPI,例如Action的execute方法的参数包括request和response对象,使得程序难以测试,而Struts2的Action不再依赖于ServletAPI,便于测试。
4.封装请求参数:
在Struts1中强制使用ActionForm对象封装请求参数而在Struts2中可以直接使用Action的属性或者选择使用JavaBean来封装要请求的参数。
5.在数据校验方面:
Struts1中支持覆盖validate方法或者使用Validator框架,而在Struts2中支持重写validate方法或者使用XWork的验证框架。
6.在Action执行控制方面:
Struts1支持每一个模块对应一个请求处理,但是模块中的所有Action必须共享相同的生命周期,而Struts2支持通过拦截器堆栈为每一个Action创建不同的生命周期。
3.5Hibernate技术
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得开发人员可以随意的使用对象编程思想来操纵数据库,最具特色的是它可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任[16]。
Hibernate核心接口简介:
Hibernate核心接口:
Hibernate核心接口有Session、SessionFactory、Transaction、Query、Criteria和Configuration等6个。
通过这六个核心接口,不仅可以对持久化对象进行存取,还能够进行事物控制。
以下是对这6个核心接口的介绍:
Session接口:
该接口负责执行持久化对象的CRUD(CreateReadUpdateDelete)操作,需要特别指出的是Session对象时非线程安全的。
SessionFactory接口:
该接口负责初始化Hibernate。
它的职能是负责创建Session对象,并充当数据存储的代理。
这里用到了工厂模式,需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够了,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
Transaction接口:
该接口负责事物相关的操作。
它是可选的,开发人员可以根据自己的需要来编写自己的底层事物处理代码。
Query和Criteria接口:
Query和Criteria接口负责各种数据库查询。
它们可以使用SQL语句和HQL语言两种方式,本系统采用SQL语句。
3.6JavaScript技术
JavaScript是适应动态网页制作的需要而诞生的一种脚本语言。
它具有交互性,能够包含更多活跃的元素,如今已经广泛地应用于Internet网页制作[17]。
JavaScript是由Netscape公司开发的一种脚本语言(ScriptingLanguage)。
在HTML基础上,使用JavaScript可以开发交互式网页。
它的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更精彩的内容。
JavaScript可以嵌入到HTML文件中,它的出现增强了网页的互动性,JavaScript简化了HTML文段中的有规律重复的部分,缩短了网页加载时间。
3.7MVC设计模式
MVC模式是目前广泛流行的设计模式,包括三类对象。
它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器[18]。
3.7.1模型(Model)
模型就是业务流程、状态的处理以及业务规则的制定,业务流程的处理过程对其它层来说就是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
业务模型的设计可以说是MVC最主要的核心。
目前流行的EJB模型就是一个典型的应用,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件。
在MVC的三个部件中,模型处理的任务最多。
模型的好处在于代码可以被多个视图重用,因此简化了代码。
3.7.2试图(View)
视图代表用户交互界面,对于Web应用来说,可以概括为HTML界面。
由于一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 城市 公交查询 系统 设计 实现 毕业 答辩 论文