城市公交查询系统毕业论文Word文档下载推荐.docx
- 文档编号:17751251
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:40
- 大小:1.27MB
城市公交查询系统毕业论文Word文档下载推荐.docx
《城市公交查询系统毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《城市公交查询系统毕业论文Word文档下载推荐.docx(40页珍藏版)》请在冰豆网上搜索。
无论是PSTN、DDN、帧中继、X.25、ISDN、还是CATV、ADSL,浏览器/服务器结构均能适应。
(7)安全性好。
防火墙技术保证了浏览器/服务器结构的安全性。
2.2JSP技术简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。
目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
2.3Tomcat简介
Tomcat服务器是一个免费的开放源代码的Web应用服务器,是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;
而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。
另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
不过,Tomcat处理静态HTML的能力不如Apache服务器。
2.3MyEclipse简介
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1.J2EE模型
2.WEB开发工具
3.EJB开发工具
4.应用程序服务器的连接器
5.J2EE项目部署服务
6.数据库服务
7.MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
Eclipse最初是由IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(EclipseFoundation)管理。
2003年,Eclipse3.0选择OSGi服务平台规范为运行时架构。
2007年6月,稳定版3.3发布。
2008年6月发布代号为Ganymede的3.4版。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。
IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。
目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。
Eclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。
近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。
3可行性分析
3.1系统可行性分析
需求分析工作是系统设计的出发点和依据。
概括地说线路查询系统的需求分析就是要根据出行人员的具体需求情况,明确需要什么样的查询系统,需要什么样的功能和性能,为什么需要,以及各种需求的紧迫程度如何。
只有需求明确了,按需求建立起来的线路查询系统才能达到预期的目标,取得预定的效果。
3.1.1技术可行性分析
本系统采用的是Tomcat、JSP和数据库相结合的方法,将所有收集的数据信息按其属性分类存储到数据库中,再通过程序调用这些数据信息实现各种查询及管理,即所谓的"
程序设计数据化,数据管理程序化"
思想。
基于这种思想的查询系统的理论及技术已日趋成熟,加之这些软件的应用性和移植性都非常优秀而且其发展也到了较成熟的阶段,这就保障了日后的系统维护工作,并可不断更新。
所以本系统在技术上是绝对可行的。
而且该系统对于操作环境的要求不高,现在普遍使用的计算机都可以运行该系统。
3.1.2操作可行性分析
本系统界面美观明了,提供的信息语言通俗易懂,而且操作容易,用户只要懂得初步的计算机操作即可。
3.1.3经济可行性分析
从成本上看来,开发及维护系统所需的计算机、网络等硬件设备,网络等通信费用,软件支持等基本上都是现有的。
从收益看来:
本系统作为公交线路查询的具体应用,是带有实验性、贡献性的,在一定时期内无经济上收益。
是注重以后的潜在发展,是在概念上、形象上的不断升值。
3.1.4社会环境可行性分析
如今城市改造日益加快,公交线路也不断增多,使得交通的便捷性难上加难,给出行人员选择出行乘车线路造成一定的困难,特别是在旅游城市,游客在乘公交车时选择线路比较困难,它不仅可以给市民游客的乘车提供向导,同时可以对外展现城市的现代风貌,体现出一个城市公交信息数字化和信息化的发展水平。
所以本系统拥有非常成熟的市场。
3.2系统需要解决的主要问题
综合应用JSP等技术,从公交查询系统建立的必要性出发,使用软件系统设计的一般方法,根据业务需求,对其进行分析、归纳,形成需求设计文档,根据需求分析进行系统的概要设计、详细设计及代码开发,从而完成整个设计。
设计一个适用的公交车线路查询系统,主要实现以下功能:
1.公交路线查询功能(包括按线路查询、按站点查询、按起点终点站查询,换乘查询,也支持模糊查询);
2.公交路线信息的管理功能(包括对路线信息的添加、删除、修改)。
3.3系统应具备的基本功能
基于B/S模式的应用系统的开发设计方法,开发出一个适用的公交查询系统软件,实现以下功能:
(1)特定线路的沿途到站情况;
(2)通过特定站点的所有线路名称;
(3)两个站点之间的直达公交车次;
(4)给定起止站点,给出可达的换乘线路;
(5)模糊查询;
(6)公交路线信息的管理,数据的维护;
新增:
允许管理员级的用户对数据进行新增操作,保证数据库的真实性与实时性;
更新:
允许管理员级的用户对数据进行更新操作,保证数据库的真实性与实时性;
删除:
允许管理员级的用户对数据进行删除操作,保证数据库的真实性与实时性。
3.4系统功能模块划分
3.4.1.普通系统模块
该模块实现公交查询功能。
可实现按线路查询、站点查询和起点--终点查询查询三种查询方式。
3.4.2高级查询模块
该模块实现高级查询,包括车次查询、模糊站点查询、模糊线路查询、模糊换乘查询。
3.4.3.后台管理模块
该模块实现数据的新增、修改、删除功能
系统模块图如图所示:
4系统设计
4.1数据库设计
4.1.1概念设计
概念设计的目标是产生反映城市公交查询系统需求的数据库概念结构,即概念模式。
概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的。
1、E-R模型
E-R模型是对现实世界的一种抽象。
它的主要成分是实体、联系和属性。
使用这三种成分,我们可以建立许多应用环境的ER模型。
2、
E-R模型的操作
在利用E-R模型进行数据库概念设计的过程中,常常需要对ER图进行种种变换。
这些变换又称为E-R模型的操作,包括实体类型、联系类型和属性的分裂、合并和增删等等。
3、利用E-R方法的数据库概念设计
利用E-R方法进行数据库的概念设计,可以分成三步进行:
首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局E-R模式,最后对全局E-R模式进行优化,得到最终的E-R模式,即概念模式。
通常,一个数据库系统都是为多个不同用户服务的。
各个用户对数据的观点可能不一样,信息处理需求也可能不同。
在设计数据库概念结构时,为了更好地模拟现实世界,一个有效的策略是“分而治之”,即先分别考虑各个用户的信息需求,形成局部概念结构,然后再综合成全局结构。
在E-R方法中,局部概念结构又称为局部E-R模式,其图形表示称为E-R图。
具体实体属性的关系图如图所示:
4.联系定义
E-R模型的“联系”用于刻画实体之间的关联。
一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。
若有联系,进一步确定是1:
N,M:
N,还是1:
1等。
还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。
5、设计全局E-R模式
所有局部E-R模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。
全局概念结构不仅要支持所有局部E-R模式,而且必须合理地表示一个完整、一致的数据库概念结构。
1)确定公共实体类型
为了给多个局部E-R模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。
在这一步中我们仅根据实体类型名和键枕认定公共实体类型。
一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。
2)局部E-R模式的合并
合并的原则是:
首先进行两两合并;
先和合并那些现实世界中有联系的局部结构;
合并从公共实体类型开始,最后再加入独立的局部结构。
3)消除冲突
冲突分为三类:
属性冲突、结构冲突、命名冲突。
设计全局ER模式的目的不在于把若干局部E-R模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。
4)全局E-R模式的优化
在得到全局E-R模式后,为了提高数据库系统的效率,还应进一步依据处理需求对E-R模式进行优化。
一个好的全局E-R模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:
实体类型的个数要尽可能的少;
实体类型所含属性个数尽可能少;
实体类型间联系无冗余。
本系统的E-R模型如图3.3.1-2所示
4.1.2表设计
考虑系统的实际需要,系统需要公交信息表,管理员表。
1.公交信息表(Bus)
公交信息表存储公交线路的详细信息,字段说明如表3-1所示
Bus表的字段说明
编号
字段名称
字段类型
字段说明
1
BusID
nvarchar
车次号主键
2
Detail
ntext
车次经过站点
3
A_STime
夏季发车时间
4
W_STime
冬季发车时间
5
A_ETime
夏季结束时间
6
W_ETime
冬季结束时间
7
T_Value
int
票价
8
Sort
车序号
CREATETABLEbus(
BusIDnvarcharPrimarykey,
DetailntextNotNull,
A_STimentext,
W_STimentext,
A_ETimentext,
W_ETimentext,
T_ValueintNotNull,
SortintNotNull
)
其中Detail存放车次的站点信息,其格式为×
×
->
。
2.管理员表
管理员表存储管理员的详细信息,字段说明如表3-1所示
ManagerID
nvrchar
管理员编号
TrueName
管理员姓名
Password
密码
Comment
备注
CREATETABLEmanager(
ManagerIDnvrcharPrimarykey,
TrueNamenvrcharNotNull,
PasswordnvrcharNotNull,
Commentnvrchar
)
4.2系统部分模块设计
无锡公交线路查询系统总体上可分为普通查询模块(包括清晰站点查询、清晰线路查询、清晰换乘查询)、高级查询模块(包括模糊车次查询、模糊站点查询、模糊线路查询、模糊换乘查询),后台管理模块(包括删除线路、修改线路、添加线路等功能)。
4.2.1普通查询模块
1.线路查询
首先用户准备查询公交线路,在下拉菜单中选择选择公交车次号,启动车次查询,系统从数据库中读取公交车次信息,在新窗口中显示车次经过的站点等详细信息。
2.站点查询
首先用户准备查询站点信息,在下拉菜单中选择选择要查询的站点,启动站点查询,系统从数据库中读取公交站点信息,在新窗口中显示经过该站点的公交线路的详细信息。
3.换乘查询
首先用户准备查询换乘信息,在下拉菜单中选择选择起始站点和到达站点,启动换乘查询,系统首先判断是否有直达车,如果有直达车直接给出换乘信息,如没有直达车则在数据库中查找换乘线路和中转站,再给出换乘信息,在新窗口中显示显示换乘信息查询结果。
4.2.1高级查询模块
1.车次查询
首先用户准备查询公交车次,在文本框中输入公交车次号,系统判断输入车次号是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正确启动车次查询,系统从数据库中读取公交车次信息,在新窗口中显示车次经过的站点等详细信息
2.模糊站点查询
首先用户准备查询公交站点,在文本框中输入查询的站点关键字,系统判断输入关键字是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正确启动模糊查询,系统从数据库中读取与站点关键字匹配的站点,在新窗口中显示所有与输入关键字匹配的所有站点。
3.模糊线路查询
首先用户准备查询公交站点,在文本框中输入查询的站点关键字,系统判断输入关键字是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正确启动模糊查询,系统从从数据库中读取经过与站点关键字匹配的站点的线路
,在新窗口中显示所有与输入关键字匹配的所有线路,即与关键字相关的车次及详细信息。
4.模糊换乘查询
首先用户准备查询公交站点,在文本框中输入查询的站点关键字,系统判断输入关键字是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正确启动模糊查询,系统从数据库中读取与关键字匹配的站点,然后启动换乘查询,系统先判断是否有直达车,如果有直达车直接给出换乘信息,如没有直达车则在数据库中查找换乘线路和中转站,再给出换乘信息,在新窗口中显示显示换乘信息查询结果。
4.2.3后台管理模块
管理员维护整个系统,管理员输入用户名和密码后,登陆后台管理系统,在后台管理系统,管理员可以进行添加车次信息,修改车次信息,删除车次信息等操作。
5系统的实现
5.1普通查询模块
系统主页即是普通查询模块,是由homepage.jsp页面实现,它包括了站点查询子模块、线路查询子模块和换乘查询子模块。
如图所示。
主页核心是把数据库中的车次和站点取出来,在下拉列表中显示。
主要采用了ResultSet.getString()方法,首先设置两个数据库结果集(ResultSet)result1、result2.和两个数组busid[]、all_station[],分别存放车次号和站点名,因为站点采用×
的方式存在数据库中所以采用StringTokenizerstr=newStringTokenizer(detail,"
"
);
方法将站点取出来存入all_station[],然后遍历数组在下拉列表中显示。
其核心代码如下:
while(result1.next())
{busid[i]=result1.getString("
BusID"
i++;
}
result1.close();
//把车次查询的车次号存入busid[]中。
while(result2.next())
{//把每一条记录放入临时变量detail中
detail=result2.getString("
Detail"
StringTokenizerstr1=newStringTokenizer(detail,"
//对每一条记录的每一个站点进行比较
while(str1.hasMoreTokens())
{mark=0;
//恢复mark的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 城市 公交查询 系统 毕业论文