计算机毕设之城市公交查询系统的设计与实现

发布于:2022-11-10 ⋅ 阅读:(1634) ⋅ 点赞:(1)

「代码+论文+PPT」免费下载链接:

http://106.55.47.97/host-pictures/java.png

概述

近年来, Internet推动了以互联网技术为核心的各项工作蓬勃展开,互联网的强大也大大的促进了社会的发展,整个社会信息化进程逐步加快,网络也变成了我们日常活动中越来越重要的组成成分。为了使得我国公交乘客出行及查询有关信息更方便,本文运用JAVA语言技术,Jsp技术,Mysql数据库开发了B/S结构的城市公交查询系统。
该系统顺应了时代发展且具有以下优点:首先,方便乘客的出行,乘客不用询问站牌工作人员如何倒车,便可到达目的地。其次,乘客在网上就可以查询到公交公司发布的路况信息,以便提早做好换乘准备节约出行时间。最后,本系统可以节约人力资源,以往的站牌附近要安排公交公司的工作人员来帮助不熟悉的乘客,有了公交查询系统提前上网查询便可知道。

关键词:B/S架构;JAVA;Mysql;JSP

架构设计

系统采用B/S模式架构。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix 、SQL Server或 MySQL等数据库。浏览器与同数据库进行数据交互,可以通过Web Server实现 。
我们的系统使用的应用程序开发模型的B / S结构的三个阶段。目前,互联网应用架构,事务处理分为三个层次,即Web浏览器的互联网服务器数据库服务器。在这种架构中,通过Web浏览器业务表现是容易执行,用户通过Web浏览器提交表单时,将信息提供给消费需求的Internet服务器,Internet服务器,所需的分析查询,数据库服务器,数据库服务器执行,数据库服务器的查询结果返回给使用标准的HTML语言返回给Web浏览器的Internet服务器,Internet服务器。

系统功能结构图

请添加图片描述

系统基本功能

系统功能的划分方式可以分成很多种类,但是我按照界面流程将它分为了两大模块,第一个模块为前台查询模块。前台查询包括:站点查询,公交线路查询,站-站的查询,在线提问,网站公告。第二个模块为后台管理模块,后台管理模块包括:用户管理、线路维护、公告管理、提问管理。下面本节主要对各个基本的功能进行一个简要的介绍。
1.站点查询
站点查询是本系统的主要功能之一,为用户倒车提供前提条件,用户可以根据自己所到的站点,查询本站所经过的公交线路,从而完成换乘,前往自己的目的地,进入系统首页,在站点查询的对话框内输入自己要查询的地点,接着会转入到另一页面,这个页面包含了经过这一站点的所有公交线路,可点击查看,了解自己需换成的公交车的车号,完成换乘。
2.公交线路查询
公交线路查询是不系统不可缺少的功能之一,用户可根据自己了解到的公交线路名
称,查询该线路途经的站点,事先了解好自己所要经过的站点,提前做好下车准备,防止自己下错站,进入功能页面,在公交线路的对话框里输入所要乘坐的公交线路名称,之后会出现匹配的公交线路,点击查看,了解自己的所经的站点信息。
3.站—站的查询
此功能是整个系统的核心,也是最便捷的公交查询方法,只要用户输入自己的位置,以及所要到的位置,就会出现公交线路名称,途径站,以及所要换乘的下一班车,无需自己查看,系统自己就会给成乘车意见。进入页面输入自己的起始站,然后在第二个对话框输入自己要到达的站点,系统将显示出换乘的路线,这个功能十分的便利,深受广大市民的喜欢。
4.在线提问
在线提问功能是本系统的辅助功能。用户可根据自己对公交线路的不明确,向广大的市民发出提问,也可以抱怨本系统的不完善的地方供系统的设计者进行修改,完善系统的功能。
5.网站公告
网站公告功能也是本系统的辅助功能,用户可以点击此模块,查看网站管理员发布的公交信息,包括一些公交价格的调整,以及道路的施工导致的公交线路的绕行都可以在上面发表。
6.登录功能
登录功能是一个系统的重要组成部分,也是一个系统重要的门户功能,登录功能主要实现了使用者对系统的登录,在本文所设计的系统中,登录主要分成了两种登录身份:一般用户登录和管理员登录。两种身份登陆,能细分系统的功能模块,实现更加方便的操作和管理。
7.用户管理
用户管理是一个系统的重要功能之一,对用户的管理可以实现对系统使用者的了解和查看,能让使用者更加方便的使用本系统,用户的种类分为多种,本文主要体现在一般用户和管理者两种用户上面,可以对用户的信息进行添加修改,也可以删除和禁用用户。
8.线路维护
线路维护是对此系统功能的最大的保障,一个系统的基本功能是否可以实现全靠此功能维护,线路维护功能可对现有公交线路进行修改和删除操作,也可添加新的公交线路,这部分属于管理员用户的功能。
9.公告管理
公告管理是对前面所说的公告发布的一种监管,管理员用户可对已经发布的公告就行修改和删除,也可对新的公告进行添加,旨在为用户提供一个实时的公交线路查询的体验,方便乘客出行。
10.提问管理
提问管理是系统管理员对在线提问内市民发布的问题进行答复的功能,这个功能是系统管理员与市民进行交流的一个模块,管理员不仅能回答市民的问题,也可以发布一些问题征求市民的意见。

系统用例图

  1. 系统总用例图请添加图片描述
    此用例图给出了系统所有用户的操作用例的框架,包括乘客用户和后台管理员用户,乘客用户的操作登陆浏览器,进入查询页面,选择查询方式,在线提问,以及查看发布的公告等功能,而后台管理员则可进行用户管理,线路管理及公告发布等功能,根据此用例图一目了然一般用户和管理员用户的职责。
  2. 后台管理系统用例图
    请添加图片描述
    后台管理用户包括的工作有:公交线路管理、公告发布管理、用户管理。公交线路管理包括对所用公交线路的进行的增加还有删除操作的功能。公告发布管理包括对公告的增加和删除操作,用户管理就是对所有使用该系统的管理员用户进行的管理,包括增加用户和删除用户。

技术架构

所使用的架构是系统建设的关键,传统c/s架构,访问和操作已经不能满足大量用户需求,目前网络系统应用的主流是b/s,它基于浏览器的架构,可以交给服务器端来处理大量的数据处理工作,只用通过普通IE浏览器的客户端,还可以访问系统,操作起来方便快捷,而且利于更新和维护系统,在该方面具有优势的是java语言。
1.系统三层架构
请添加图片描述

数据库结构设计

数据库设计( Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。

数据库设计的原则

数据库的结构分析在系统开发前的设计中占有很重要的位置,一个好的系统离不开一个层次清晰、功能完整的后台数据库结构。
在设计数据库时,应尽量分离各个实体和表,一个实体对应一个表;同时,应明确各实体间的关联,明确各实体间的属性,以便确定它的字段。总之,在设计数据库时,应注意各表间的独立性和关联性,这是一个好的数据库结构首先要具备的条件。下面给出了数据库设计中的几点要求:

  1. 规范命名。所有的库名、表名、域名必须遵循统一的命名规则,并进行必要说明,以方便设计、维护、查询。
  2. 控制字段的引用。在设计时,可以选择适当的数据库设计管理工具,以方便开发人员的分布式设计和数据小组的集中审核管理。采用统一的命名规则,如果设计的字段已经存在,可直接引用;否则,应重新设计。
  3. 库表重复控制。在设计过程中,如果发现大部分字段已经存在,开发人员应怀疑所设计的库表是否已经存在。通过对字段所在的库表及相应设计人员的查询,可确认库表是否确实重复。
  4. 并发控制。设计中应进行并发控制,即对于同一个库表,在同一时间只有一个人有控制权,其他人只能进行查询。

数据库结构分析

根据系统功能的要求,本系统管理和维护的数据元素(Entity 实体)有:系统用户、普通乘客用户、公交线路、公告发布,在线提问,提问评论。

  1. 系统用户实体包含这样一些基本属性:系统用户的ID、登录账户、密码、姓名、联系电话、系统用户的状态。其中,系统用户的ID是用户的唯一标志。系统用户能够实现系统的登录,完成对后台公交线路的管理,包括对线路的添加和删除操作,还有对所有用户的管理,对公告发布的管理。
  2. 普通乘客用户可以直接点击主页上的公交信息查询按钮进入查询功能:包括两个站点之间的查询、根据公交线路进行查询、根据站点进行查询。还可以进行公告的查看和在线提问和评论
  3. 公交线路的基本属性有:公交线路id,公交线路名称,公交线路所经站点,公交线路开始时间,以及公交线路终止时间。
  4. 公告发布的基本属性:公告id,公告的正文以及公告发布的标题。
  5. 在线提问的基本属性:问题id,问题的描述,问题的状态,问题发布的时间,问题的标题,问题发布者id。

数据库概念模型

现今应用的最广泛的数据库是关系型数据库。因为它是一个面向对象的系统设计,当然,数据库的设计,必须是面向对象的。现在应该怎么考虑对类进行持久性操作,即对象类是怎样映射到关系数据库的二维表中的。现今,像PowerDesigner、Rose 等都可以采用数据库建模工具来实现请添加图片描述
2.公交线路实体图
请添加图片描述
3.公交公告发布
请添加图片描述

系统数据库连接配置

数据库连接配置

```javascript
<bean id="datasource"
		class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName"
			value="com.mysql.jdbc.Driver">
		</property>
		<property name="url"
			value="jdbc:mysql://localhost:3306/newspubs">
		</property>
		<property name="username" value="root"></property>
		<property name="password" value="123456"></property>
	</bean>

项目截图:

请添加图片描述

请添加图片描述
请添加图片描述

后台:

请添加图片描述
请添加图片描述

总结与展望

本此毕业的内容所实现的是城市公交查询系统的设计与实现,主要介绍了java与jsp技术。本设计按照以下五个步骤对此项目进行设计:1.需求分析,2.概要设计,3.后台数据库的实现,4.项目的详细设计,5.系统的测试,当下此系统的基本功能已得到实现。从3月份开始准备资料到5月份基本完成了项目的设计,要是想很好的完成这个项目,使它运用到生活中是远远不够的,还需要不断地用户反馈,不断修改,不断地充实,我也将会在今后的学习中,不断的完善它,改进它,使其更好。
本系统具有以下优点:
1、该系统可以运行在多个操作系统平台(Windows NT和Windows 2000 / Windows XP和Windows Vista)数据库管理系统采用MySQL和Java开发环境,可移植性好。
2、该系统界面简单,操作方便,容易进入的信息,人们使用的术语。
但也存在以下缺点:
1、界面跳转复杂,接口不能被刷新,可以改进。
2、功能比较简单,没有进一步提高一些选修的程序等,不能更好的为用户提供更强大的功能服务。
3、数据库设计有冗余,需要进一步优化。
毕业设计的选题是在老师的指导下最终确立的,选题确定好后就开始学习这方面的资料进行学习,开始在这方面可以说是不熟悉的,虽然最初学习JSP技术,但学校学习的东西如果没有运用到实际的设计中终究是不行的,以前都是老师带领我们做,第一次做难免会怯场,但是最终通过自己的努力,老师的指导,同学的帮助,完成了本系统的设计。
本次毕业设计已基本画上句号,在整个设计的道路上是劳动和汗水凝结的成果。为了解决一丢点的困难,我翻阅书籍,询问老师,与同学探讨,从不懂到熟知也是一个新的经验和新的收获的过程。学习是一个长期的过程,系统设计过程中,遇到了很多问题,后来通过自己的努力来解决大部分问题,但同时也学到了很多知识。通过这次毕业设计,我从最初的Java语言,和后来的Web开发学会了很多,然后在训练过程中,通过所学到的知识应用到实际发展实践中,最后到​​软件功能集成的整个设计过程的思想。
该系统在实施过程中也常遇到一些困难,毕竟,JSP技术的掌握不熟练,有许多控件不能真正明白他们的意思,有一个对象调用的一些方法,并不十分了解,美化界面处理不好。所以开始的设计真的遇到了许多困难,但通过和老师同学的帮助以及在线学习,解决设计中的许多问题,但也使我有了一定的JSP技术的掌握,同时巩固了以前学过的知识。实现了质的上升,在一个纯粹的理论学习到实际上手再向完成毕业设计前进,理论联系实际情况,是学术认知的另一次跃进。
总之,本毕业让我学的东西,不仅仅是专业知识增加了很多,也锻炼了我的意志,让我更坚强。走软件开发这条路线,就要不断学习新知识,不断提高自己的实力,也要不断的树立新的目标,也需要是精神上不怕吃苦。

参考文献

[11]汪光焘.畅通城市交通,实现城市的可持续发展.可持续发展,2002,(2):18-19
[12]马武定.城市化与城市可持续发展的基本问题.城市规划汇刊,2002,(2):7-9
[13]冯博.SQL实用教程.北京:人民邮电出版社,2005
[14]严蔚敏,吴伟明.数据结构(c语言版).北京清华大学出版社,1997
[15]张海藩.软件工程.北京:人民邮电出版社,2002
[16]黄斯伟.HTML完全使用详解.北京:人民邮电出版社,2005
[17]Anthony J.Dos Reis. Compiler Construction Using Java,JavaCC,and Yacc. Wiley-IEEE Computer Society Pr; 1 , 2011
[18]Joan Casteel. Oracle 12c:SQL. Course Technology; 3, 2015
[19]Richard North Patterson. Eclipse. Pan Publishing, 2009
[20]李兴华,王月清.名师讲坛:Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax) [平装][M].清华大学出版社,2010.
[21]李刚.轻量级Java EE企业应用实战(第3版):Struts 2+Spring 3+Hibernate整合开发[M].电子工业出版社,2012.
[22]孙卫琴:《精通Hibernate:Java对象持久化技术详解》[M].电子工业出版社出版,2010.
[23]Budi Kurniawan (作者),崔毅 (译者),俞哲皆 (译者),俞黎敏 (译者).Servlet和JSP学习指南[M].机械工业出版社,2013.
[24]陆舟.Struts2技术内幕:深入解析Struts2架构设计与实现原理 [M].机械工业出版社,2012.
[25]陈亚辉,缪勇.Struts2+Spring+Hibernate框架技术与项目实战[M].清华大学出版社,2012.
[26]施瓦茨 (Baron Schwartz),扎伊采夫 (Peter Zaitsev),特卡琴科 (Vadim Tkachenko),宁海元.高性能MySQL(第3版)[M].电子工业出版社,2013.
[27]薛华成.信息管理与信息系统专业教材系列:管理信息系统(第6版)[M].清华大学出版社,2012.
[28]王颖.基于JSP的学生学籍信息管理系统的设计与实现[J].电子科技大学,2012.
[29]朱丽萍.基于JSP的高校图书管理系统开发和实现[J].电子科技大学,2011.
[30]吕勇.基于JSP的实验室项目管理系统的设计与实现[J].武汉理工大学,2012.
[31]庞丽娜.Java 应用开发技术详解[M],科学出版社,2007:126-235
[32]Cay S.Horstmann,Gary Cornell著,叶乃文,邝劲筠,杜永萍.JAVA核心技术卷I:基础知识,程序设计教程[M].人民邮电出版社,2008.5:87-234
[33]张超.基于JSP Struts2技术的房地产信息管理系统的设计与实现[D].吉林大学,2012.
34Powell.R. (美)Weeks.R.著. 袁鹏飞译. C#和.NET架构. 北京:人民邮电出版社,2002.4 17
[35]萨师煊,王珊.数据库系统概论(第三版).北京:高等教育出版社,2000.2


网站公告

今日签到

点亮在社区的每一天
去签到