JAVA公交查询系统设计与实现.docx
- 文档编号:28403277
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:18
- 大小:26.92KB
JAVA公交查询系统设计与实现.docx
《JAVA公交查询系统设计与实现.docx》由会员分享,可在线阅读,更多相关《JAVA公交查询系统设计与实现.docx(18页珍藏版)》请在冰豆网上搜索。
JAVA公交查询系统设计与实现
摘 要
如今计算机网络发展非常迅速,时间的重要性对于人们来说不言而喻,人们出行越来越注重时间的节约,城市公交已经成为出行的一种主要的方式,本文结合公交运行的实际来对公交查询信息系统进行可行性研究,通过详实的问题定义与需求分析并且进行了合理的设计,提出了在B/S模式下的三层体系结构,应用了当前最流行的Eclispe开发环境,后台采用了以目前最稳定的SQLServer2005数据库为开发平台。
目前,该信息系统已经完成了模块的需求分析、数据库设计以及应用程序设计的工作,并且主要模块运行有效、稳定。
该系统可以帮助查询人员找到能最快到达目的地,并且节约费用。
通过浏览器查询,通过计算机网络全面联网,实现中心控制、自动更新、更多的查询方式、和GIS系统的互联互通等等更多更强大的功能。
从这方面来说,此系统具有美好的应用前景。
关键词:
管理信息系统,B/S结构,数据库,WEB服务器,JSP
第一章 绪 论
数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于60年代末。
现已形成相当规模的理论体系和实用技术。
优秀的数据库设计是应用成功的基石。
万万丈高楼平地起,数据库设计如同高楼的基石,是开发高品质应用的前提。
1.1数据库技术
1.1.1 数据库体系结构
数据的体系结构分成三级:
内部级(Internal),概念级(Conceptual)和外部级(External)。
这个三级结构有时也称为“三级模式结构”。
1)外部级:
最接近用户,是单个用户所能看到的数据特性。
单个用户使用的数据视图的描述称为“外模式”。
2)概念级:
涉及到所有用户的数据定义、是全局的数据视图。
全局视图的描述称为“概念模式”。
3)内部级:
最接近于物理存储设备,涉及到实际数据存储的结构物理存储数据视图的描述称为“内模式”。
数据库的三级模式结构是数据的三个抽象级别。
它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。
1.1.2 数据库管理信息系统(DBMS)
数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。
DBMS是数据库系统的核心组成部分。
对数据库的一切操作,包括定义、查询、更新及各种控制,都是通过DBMS进行的。
在不同的计算机系统中,由于缺乏统一的标准,即使同种数据模型的DBMS,它们在用户接口、系统功能方面也常常是不相同的。
用户对数据库进行操作,是由DBMS把操作从应用程序带到外部级、概念级、再导向内部级,进而操作存储器中的数据。
DBMS的主要目标,是使数据作为一种可管理的资源处理。
DBMS的主要功能为:
1) 数据库定义功能:
DBMS提供数据定义语言(DDL)定义数据库的三级结构,包括外模式、概念模式、内模式及基相互之间的映象,定义数据的完整性、安全控制等约束。
因此,在DBMS中应包括DDL的编译程序。
2)数据库的操纵功能:
DBMS提供数据操纵语言(DML)实现对数据库中数据的操作。
基本的数据操作分成两类四种:
检索(查询)、更新(插入、删除、修改)3)数据库的保护功能:
数据库中的数据是信息社会的战略资源,对数据的保护是至关重要的大事。
4)数据库的恢复:
在数据库被破坏或数据不正确时,系统有能力把数据库恢复到正确的状态。
5)数据库的并发控制:
DBMS的并发控制子系统能防止错误发生,正确处理好多用户、多任务环境下的并发操作。
6)数据库的完整性控制:
保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作。
7)数据库的安全性控制:
防止XX的用户蓄谋或无意地存取数据库中的数据,以免数据的泄露、更改或破坏。
8)数据库的存储管理:
把各种DML语句转换成低层的文件系统命令,起到数据的存储、检索和更新的作用。
9)数据库的维护功能:
它有许多实用程序提供给数据库管理员:
数据装载程序备份程序文件重组织程序性能监控程序10)数据字典:
数据库系统中存放三级结构定义的数据库称为数据字典(DD)。
对数据库的操作都要通过访问DD才能实现,通常DD中还存放数据库运行时的统计信息。
1.2 公交查询系统
1.2.1 计算机网络
计算机网络是指将多台具有独立功能的计算机,通过通信线路和通信设备连接起来,在网络软件的支持下实现数据通信和资源共享的计算机系统。
计算机网络的规模有大有小,大的可以覆盖全球,小的仅局限于一个办公室。
现在一般按照网络覆盖的地理范围将计算机网络分为三类:
局域网(LAN)、城域网(MAN)、广域网(WAN)。
1.2.2系统功能
1)基于浏览器(B/S模式)的公交线路分类查询;
2)数据的录入、修改、添加、删除。
1.2.3系统运行环境该系统采用Browser/Server模式进行设计:
在服务器上运行Web发布服务器、数据库程序,服务器操作系统为WindowsNT/2000/XP/2003server,客户机操作为Windows9×/NT/2000/XP/2003,其上运行浏览器程序,服务器和客户机可为同一设备。
1.2.4系统开发工具该系统采用JDKJava环境进行开发,数据库服务器为SQLServer2000,WEB发布服务器为TomcatServer;客户端使用浏览器运行程序,整个系统调试成功。
1.2.5现状与前景
公交查询系统现状分析:
鉴于中国目前的经济发展状况,中国人出行还是以公交车为主,所以每个城市的公交系统都比较庞大发达。
公交查询系统是近两年出现的新生事物,每个城市的发展状况也是良莠不齐。
目前的公交查询系统,基本上具备一下功能:
采用车站站点查询、车次查询、路线分析查询三种查询形式,不仅能够查询到各条线路的起停站点,同时还能够分析出换乘车辆情况。
公交查询系统的发展前景:
未来的公交查询系统,将是基于B/S架构,通过浏览器查询,通过计算机网络全面联网,实现中心控制、自动更新、更多的查询方式、和GIS系统的互联互通等等更多更强大的功能。
1.3 本文所作的工作
数据的三级模式结构:
内部级,外部级和概念级。
数据库系统的系统结构保证了数据库系统中能够具有较高的逻辑独立性和物理独立性。
数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。
DBMS是数据库系统的核心组成部分。
对数据库的一切操作,包括定义、操纵、保护恢复及并发性,安全性和完整性等各种控制以及存储和维护等功能,是通过DBMS进行的。
本文首先介绍了城市公交查询系统的应用背景、开发环境以及选用的开发工具与数据库的关系,阐明了计算机互联网络的概念。
并对数据库的体系结构、DBMS进行了介绍;介绍关系型数据库的基本概念,着重说明了几个关键概念的定义;然后对SQL语言作了一个介绍说明;从特点和功能入手,介绍Java、JSP;并且介绍了B/S模式的概念、特点;用软件工程的方法分析城市公交查询系统,对整个系统进行了需求分析、功能模块划分,并通过ER图对数据库进行概念设计;对城市公交查询系统的具体设计,描述了查询、录入模块的实现过程。
最后,在结束语的总结部分指出了系统的亮点以及不足之处,简单介绍了自己开发过程中的体会与心得:
在摸索中实践,在实践中摸索。
第二章 基于Eclispe平台下的开发技术
Java是SunMicrosystems于1995年推出的高级编程语言,Java领域的JavaSE、JavaEE技术已发展成为同C#和.NET平分天下的应用软件开发平台和技术。
在Sun正式发布JSP(JavaServerPages)之后,这种新的Web应用开发技术很快引起了人们的关注。
JSP为创建高度动态的Web应用提供了一个独特的开发环境。
按照Sun的说法,JSP能够适应市场上包括ApacheWebServer,IIS4.0在内的85%的服务器产品。
当今比较流行的软件技术研发模式是C/S和B/S的体系结构。
C/S(Client/Server)结构,即客户机和服务器结构。
通过C/S可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
Eclipse这样功能完整且成熟的开发环境,是由蓝色巨人IBM所释出。
IBM花了4千万美金来开发这个IDE(IntegratedDevelopmentEnvironment)。
第一版1.0在2001年11月释出,随后逐渐受到欢迎。
Eclipse已经成为开放原始码计划(OpenSourceProject),大部分的开发扔然掌握在IBM手中,但是有一部份由eclipse.org的软件联盟主导。
2.1B/S结构介绍
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起而对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现。
大大简化了客户端电脑载荷,减少了系统维护与升级的成本和工作量,降低了用户的总体成本。
B/S方式可以形成所谓三层以上的结构。
B/S结构是一次到位开发,能实现不同人员,从不同地点,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更为方便、快捷、高效。
B/S工作机制如图3-1所示:
传统的C/S架构(客户机/服务器,Client/Server)方式中,业务逻辑位于客户端,每完成一项事务,都要频繁地访问数据库,使得网络上数据流量非常大,对于慢速连接的用户,甚至无法使用。
图2.1B/S工作机制
2.2Java程序框架
为弥补上述C/S架构的缺陷,人们发展出了三层或多层架构:
客户机—中间件(应用服务器)—数据库服务器(Client—Middleware—DatabaseServer)。
在这种架构中,业务逻辑放置于中间件服务器上,大量的数据流也位于中间件和数据库之间,而客户机只是简单地发出请求,中间件接受请求后进行事务处理并将处理的结果返回给客户机,这一类型的客户机也称之为“廋客户”。
B/S架构实际上是三层架构的一种,所不同的是客户端就是目前几乎每台电脑中都有的网络浏览器,而中间件则是Web应用服务器。
注意到主要的业务逻辑均由位于Web应用服务器上的Servlet和JSP程序或EJB来处理。
2.3B/S架构具备极大的优越性
1)面向电子商务时代的技术
将来所有的应用系统几乎都在互联网或企业内部广域网上运行,发展电子商务成为企业不可避免的信息化道路。
B/S架构的软件正是电子商务的基石,正是这类软件使得移动办公和分布式协同工作真正成为现实。
无论在世界的那个角落,只需要一台可以联网的设备(计算机、PDA甚至手机)都可以方便地与客户联系和与他人协同工作。
2)软件操作、维护和升级方式的革命
软件系统的改进和升级越来越频繁,B/S架构的产品在维护和升级方面具备显著的优势。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只对服务器进行,通过远程连接服务器,异地的运维人员甚至于可以做到远程维护和升级,这对人力、时间、费用的节省是相当惊人的。
所有的客户端只是浏览器,所有的操作都和上网浏览网页类似,使用者接受的培训也仅限于业务逻辑而无需将大量精力浪费学习软件操作上。
第三章 公交查询系统设计分析
根据数据库系统生存期的设计方法,从数据库应用系统和开发的全过程来考虑将数据库应用系统设计分为以下几个阶段:
1)规划;
2)需求分析;
3)概念设计;
4)逻辑设计;
5)物理设计
3.1应用需求分析
要设计一个良好的公交查询系统,就必须首先明确该应用环境对系统的要求。
公交查询系统的应用背景为:
方便市民搭乘公交车出行;手动(目前)、自动(将来)、及时更新查询数据。
因此,该系统需满足以下几方面需求:
1)问题分析
(1)功能需求:
该模块实现公交查询功能。
该模块实现数据的录入、修改、删除功能。
(2)性能需求:
系统的相应时间不能超过10ms
(3)出错处理需求:
当输入的信息不全,或格式不正确时,提示出错信息。
2)问题描述
(1)信息要求:
可实现按起点-中转站-终点查询查询和按线路查询两种查询方式。
(2)处理要求:
该模块实现数据的录入、修改、删除功能。
该模块由公交站点管理与公交线路管理两部分组成.
(3)安全性与完整性要求。
用户进入系统前必须登陆,输入密码,经服务器确认后放开进入系统。
(暂未实现)
3)数据的更新修改:
更新:
系统允许管理员级别的用户对数据进行更新、修改并且存盘操作;编辑:
系统允许管理员级别的用户对数据进行编辑、删除的操作,保证现库的真实性与实时性。
4)打印输出(暂未实现):
系统可以将用户查询到的内容动态地生成报表,并打印输出。
3.2系统功能模块划分
公交查询系统功能划分模块如下:
1)查询系统模块该模块实现公交查询功能。
可实现按起点-中转站-终点查询查询和按线路查询两种查询方式。
详细设计视图如图3-1
图3-1查询系统模块
2)录入系统模块该模块实现数据的录入、修改、删除功能。
该模块由公交站点管理与公交线路管理两部分组成.详细设计视图如图3-2录入系统模块所示:
图3-2录入系统模块
2)信息输入输出模块如图3-3所示:
图3-3信息输入输出模块
3.3 系统数据库设计
3.3.1概念设计概念设计的目标是产生反映城市公交查询系统需求的数据库概念结构,即概念模式。
概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的。
1)ER模型ER模型是对现实世界的一种抽象。
它的主要成分是实体、联系和属性。
使
用这三种成分,我们可以建立许多应用环境的ER模型。
2) ER模型的操作在利用ER模型进行数据库概念设计的过程中,常常需要对ER图进行种种
变换。
这些变换又称为ER模型的操作,包括实体类型、联系类型和属性的分裂、合并和增删等等。
3)利用ER方法的数据库概念设计利用ER方法进行数据库的概念设计,可以分成三步进行:
首先设计局部ER模式,然后把各局部ER模式综合成一个全局ER模式,最后对全局ER模式进行优化,得到最终的ER模式,即概念模式。
设计局部的ER模式通常,一个数据库系统都是为多个不同用户服务的。
各个用户对数据的观点可能不一样,信息处理需求也可能不同。
在设计数据库概念结构时,为了更好地模拟现实世界,一个有效的策略是“分而治之”,即先分别考虑各个用户的信息需求,形成局部概念结构,然后再综合成全局结构。
在ER方法中,局部概念结构又称为局部ER模式,其图形表示称为ER图(如图4-5)。
实体和属性的定义如下:
站点(站点编号,站点名称,站点类别)线路(线路编号,始发时间,终发时间,备注)线路站点对应(线路编号,站点名称)
图3-4实体和属性用例
4)联系定义
ER模型的“联系”用于刻画实体之间的关联。
一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。
若有联系,进一步确定是1:
N,M:
N,还是1:
1等。
还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。
图3-5E/R图的表示
5)设计全局ER模式
所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。
全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。
(1)确定公共实体类型为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。
在这一步中我们仅根据实体类型名和键枕认定公共实体类型。
一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。
(2)局部ER模式的合并合并的原则是:
首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。
(3)消除冲突冲突分为三类:
属性冲突、结构冲突、命名冲突。
设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。
(4)全局ER模式的优化在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。
一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:
实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。
3.3.2逻辑设计
本系统初步定义了4个视图,具体视图设计及实例如下:
1)公交车信息的视图设计(如图4-6):
用途:
输入公交车号
输出对应公交车所有信息
图3-6公交车信息的视图设计
2)公交车信息实例(如图4-7):
图3-7公交车信息实例
车站信息视图设计(如图4-8):
输入:
车站号
输出:
对应车站所有信息
图3-8车站信息视图设计
车站信息实例(如图3-9)
图3-9车站信息实例
3)公交车――站点查询视图(如图3-10):
输入:
公交车号
输出:
公交车经过的所有站点
图3-10公交车――站点查询视图
4)站点――公交车查询视图(如图4-11):
输入:
经过站点
输出:
对应公交车号
图3-11站点――公交车查询视图
第四章 公交查询系统设计分析
4.1 查询模块的功能实现
公交查询模块是用户与系统进行交互的直接媒介。
除了要完成用户的请求外,更需要从用户的角度出发,以人为本。
设计出人性化的交互页面。
查询模块主要有文本框和提交按钮组合而成。
从实际出发对于公交查询系统而言,用户输入始发站,终点站后提交请求,后台数据库查询系统为系统列出符合条件的公交班次。
当用户发现填写有误时,点击重填按钮,文本框自动清空。
当然,用户还可以选择第二种查询方式:
选择要查询的线路,提交后用户自动列出该路公交车所路经的站点。
公交查询系统运行界面如图4-1所示:
图4-1公交查询系统运行界面
关键代码如下:
connection=DataConnectionManager.getInstance().getConnection();
try{
routes=route_Manager.selectes(connection);
}catch(Exceptione){
throwe;
}finally{
if(connection!
=null){
connection.close();
connection=null;
}
}
--
functionloginSubmit(theObj)
{
if(theObj.fromStep.value==""&&theObj.toStep.value!
="")
{
alert("始发站不能为空");
theObj.fromStep.focus();
returnfalse;
}
elseif(theObj.fromStep.value!
=""&&theObj.toStep.value=="")
{
alert("终点站不能为空");
theObj.toStep.focus();
returnfalse;
}
elseif(theObj.fromStep.value==""&&theObj.toStep.value=="")
{
alert("始发站和终点站不能为空");
theObj.fromStep.focus();
returnfalse;
}
returntrue;
}
//-->
--
body{font-size:
9pt}
table{font-size:
9pt}
a:
active{font-size:
9pt;color:
#000000;}
A:
hover{font-size:
9pt;COLOR:
#000000;TEXT-DECORATION:
none}
a:
link{font-size:
9pt;color:
#000000;}
a:
visited{font-size:
9pt;color:
#000000;}
-->
4.2 管理更新的功能实现
管理更新功能是针对系统维护而设计的。
随着城市现代化的发展,公路部分线路也会有相应的变化。
为使本系统能跟上发展,与现实保持同步,管理更新功能也是举足轻重的。
其中包括站点管理和线路管理。
在数据库中每条公交线路都有其相应的站点,没路公交车都有其相应的公交线路。
当现实中的某个因素改变时,数据库中的记录也要有相应同步的变化。
站点管理就是对路线上的站点进行相应的更新。
输入相应的站点序号,站点名称和类型后点击保存系统将数据录入数据库当中。
现实中的某些站点更改时在站点列表中点击删除即可。
站点管理界面如图5.2.1所示:
图4-2公交站点管理截图
公交站点管理主要代码如下:
useBeanclass="com.lanyuer.util.JspParamReader"id="readerscope="request"" /> <% reader.setRequest(request); Liststopsets=null; Connectionconnection; com.lanyuer.route.stopset_Managerstopset_Manager= com.lanyuer.route.stopset_Manager.getInstance(); com.lanyuer.route.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 公交查询 系统 设计 实现