(完整版)模拟ETC收费系统的设计与实现毕业设计40设计41

发布时间:2017-08-28 19:51:21   来源:文档文库   
字号:

湖南第一师范学院

毕业论文(设计)

湖南第一师范学院教务处制


本科毕业论文(设计)

模拟ETC收费系统的设计与实现


毕业设计作声明

1本人提交的毕业论文(设计)是本人在指导教师指导下独立进行研究取得的成果。除文中特别加以标注的地方外,本文不包含其他人或其它机构已经发表或撰写过的成果。对本文研究做出重要贡献的个人与集体均已在文中明确标明。

2.本人完全了解湖南第一师范学院有关保留、使用学位论文的规定,同意学院保留并向国家有关部门或机构送交本文的复印件和电子版,允许本文被查阅、借阅或编入有关数据库进行检索。同意湖南第一师范学院可以采用影印、打印或扫描等复制手段保存和汇编本文,可以用不同方式在不同媒体上发表、传播本文的全部或部分内容。

3.湖南第一师范学院在组织专家对毕业论文(设计)进行复审时,如发现本文抄袭,一切后果均由本人承担,与学院和毕业论文指导教师无关。

作者签名: 日期:二O一五


ETC(Electronic Toll Collection)收费系统是一种利用安装在ETC车辆上的车载装置自动识别车辆的现代化收费系统。ETC自动化收费方式能减少基建投入和提高道路通行能力,同时降低收费站口的噪声和减少汽车尾气排放。

本模拟ETC收费系统选用B/S(Browser/Server,浏览器/服务器)体系架构,开发环境选用Eclipse工具,后台选用MySQL开源数据库,Web服务器选用tomcat容器,网页实现选用JSP,结合Struts2MVC(Model-View-Control)设计模式、JavaJS技术进行开发。

本模拟ETC收费系统的主要功能有用户管理、车道管理、车辆管理、车主管理、费率管理、黑名单管理、模拟收费等功能。其核心功能ETC模拟收费通过模拟车辆驶入、驶出ETC收费站,综合车辆信息、车道信息、收费站信息计算车辆的行车费用以实现自动收费。本模拟ETC收费系统为实际的ETC收费提供了参考数据和实践方案。

关键词ETCETC车道管理;ETC车辆管理;不停车收费


ABSTRACT

The ETC (Toll Collection Electronic) is a toll system which automatically identifies the vehicle's modern technology by using the vehicle mounted on the ETC vehicle. ETC automatic charging method can reduce capital investment and improving the traffic capacity of the road, while reducing the toll station noise and reduce vehicle exhaust emissions.

This simulated ETC toll system chooses B/S(Browser/server) architecture, and the development environment select eclipse tool, and background using MySQL database and web server using Tomcat container, web page using JSP, combine Struts2 and MVC (model view control) design pattern, Java, javascript technology for development.

The main functions of the simulted ETC are user management, lane management, vehicle management, vehicle owner management and rate management, blacklist management, simulated charge, etc. The core function is ETC simulated charges automatic by simulating the vehicle entering, pulled out of etc toll station, integrated vehicle information, lane information, charging station information vehicle cost calculation. This simulated ETC charging system provides the reference data and practical scheme for the actual ETC charge.

Key words: ETCETC Lane Management ETC Vehicle ManagementNo Parking Charge

I

ABSTRACT II

1 1

1.1 课题背景与现状 1

1.2 课题研究与解决的问题 1

1.3 课题研究的内容与意义 2

1.4 课题研究的思路和方法 2

2 相关开发工具与技术介绍 3

2.1 Java言介绍 3

2.2 MySQLEclipse简单介绍 3

2.3 Tomcat服务器介绍 4

2.4 MVC设计模式与Struts2框架介绍 4

2.5 B/S结构介绍 4

3 模拟ETC收费系统分析 5

3.1可行性分析 5

3.1.1 技术可行性 5

3.1.2 经济可行性 5

3.1.3 社会可行性 5

3.2模拟ETC收费系统需求分析 6

3.2.1模拟ETC收费系统功能需求分析 6

3.2.2模拟ETC收费系统数据分析 8

4 模拟ETC收费系统设计 10

4.1系统设计 10

4.1.1系统总体结构设计 10

4.1.2系统总处理流程设计 11

4.1.3系统功能模块设计 12

4.1.4 系统接口设计 13

4.2 系统数据库设计 14

4.2.1概念结构设计 14

4.2.2关系模式设计 14

4.2.3关系数据库表设计 15

4.3 系统详细设计 22

5 模拟ETC收费系统实现 24

5.1模拟ETC收费系统框架层次 24

5.2登录功能实现 24

5.3后台功能模块实现 25

5.4后台详细功能实现 26

5.4.1车道信息管理 26

5.4.2车辆信息管理 28

5.4.3车主信息管理 30

5.4.4收费费率管理 31

5.4.5行车记录查询 32

5.4.6黑名单管理 33

5.4.7系统数据表信息 33

5.4.8个人设置 33

5.4.9车辆驶入情况 34

5.5模拟收费 34

5.5.1收费算法介绍 34

5.5.2模拟驶入 35

5.5.3模拟驶出 36

5.5.4收费关键代码 37

6 结束语 42

7 参考文献 43


1

1.1 课题背景与现状

目前大部分高速公路都是采用传统的人工收费,当高速公路上的车流量急剧增加时,人工收费方式车辆通行的效率低,造成通行缓慢,堵塞严重、增加交通事故等问题[1]通过相关部门长期而且广泛的研究,结果表明:如果仅仅只是依靠修建更多的基础设施,增加更多的高速公路来解决目前急剧增长的车辆通行需求是不可取的,也是不科学的。所以现代社会高性能、高速度的电子计算机和通信技术的迅猛发展,能够促进我国高速公路收费向不停车自动收费的方式发展[1]所以好好利用现代的高科技水平,能够帮助人们方便快捷的出行,同时解决高速公路路口收费拥堵的问题。

国外很多国家比如说日本、欧洲各国以及美国等发达国家很早以前就开始对ETC收费方式中的关键技术和标准规范做了大量的深入研究[2]由于国内对ETC收费方式研究的起点低和研究时间较晚,再加上国内相关的电子技术和国际水平有很大的差距,所以ETC收费在我国还没有进行大规模的应用[3]。有些地方还只是出于实验阶段,目前还不能解决中国日益增加的交通流量,所以在这方面的研究和应用还有很长的路要走,所以研究ETC收费方式是重要的,同时也是必要的。

1.2 课题研究与解决的问题

传统的收费模式主要存在以下问题:

高速公路上面存在换卡/倒卡作弊的问题,长途汽车司机在中途换;长时间将车辆逗留在告诉公路,高速公路各联网单位之间的联系相对来说比较少,管理方面存在严重脱节[4]。所以导致超时车辆和无牌照车辆无法进行查找,对这些违规车辆不能进行及时的处罚和处理,造成高速公路上不安全因素的提高,给其他的司机带来危险,同时也给高速公路的管理带来麻烦和困扰。还有免费车辆对通过的收费站点要求非常高,如果对这些免费车辆的不严监管,当收费站车辆非常多时,这会带来管理造成混乱、用于通行的IC大量流失问题、额外增加管理费用。另外各个地方的收费标准也不统一,收费标准的随意性较大,差别较大,存在胡乱收费,存在人情收费,存在不开具发票和出具废旧的发票问题,所以高速公路管理方面出现的这些亟待解决的问题。以上这些种种是目前传统收费方式不能解决的问题。ETC收费系统能很好的解决全部或部分问题,所以ETC收费的研究与设计,能给目前高速公路的管理带来极大的方便

1.3 课题研究的内容与意义

模拟ETC收费系统实现的主要功能模块有:ETC用户管理、系统参数管理、车ETC车道管理、ETC车辆管理、ETC车主管理、费率管理、ETC黑名单管理、ETC模拟收费等主要功能。其中ETC用户管理包括后台管理员对用户的添加,修改,删除,查询;系统模块包括菜单维护,角维护,权限维护,数据表维护,系统日志;ETC车道管理包括车道和收费站的查询,添加,修改和删除;ETC车辆管理包括对ETC车辆基本信息和机动车辆类型的查询,添加,修改和删除;ETC车主管理包括车主信息、驾驶证类型和身份证件类型的查询,添加,修改和删除;收费费率管理包括费率的查询,添加,修改和删除;ETC黑名单管理是对车辆违规行驶后的惩罚管理;ETC模拟收费功能包括模拟驶入和模拟驶出,车辆驶出收费站时系统计算消费金额并模拟自动扣费。ETC模拟收费是当安装有车载装置的车辆进入、离开ETC高速公路上的收费站时,系统通过车辆上的车载装置读出车辆信息,驶入时记录车辆的驶入信息,驶出时计算车辆本次的行车费用。本次研究可以提升了高速公路的车辆通行能力,减少了基建投入降。模拟ETC收费主要是为了实际的ETC收费系统提高参考数据,降低高速公路的各种管理成本,同时可促使公路管理提高到一个更高的层次,减少噪声和尾气而保护环境。

1.4 课题研究的思路和方法

首先通过互联网和图书馆等路径查阅相关数据了解目前主流的B/S开发基本模式和各类开发实践经验。然后回顾软件工程,软件项目管理,数据库原理等相关理论知识。再结合国内外目前研究现状、课题背景、高速公路收费基本情况,整理出系统新的需求分析。再进一步确定设计开发策略和最佳路径。逐步完善模拟ETC收费系统的设计与开发。具体研究方法如下。

准备阶段:主要采用调查法,包括查阅文献数据、查阅实例,查阅实际情况等。

实施阶段:查阅数据法、循序渐进法(确定需求、数据字典,详细设计实施步骤,逐步测试实施)、请教老师与同学。

成果形成阶段:完整测试法、总结法(回顾、反省、总结自己的研究之路)。


2 相关开发工具与技术介绍

2.1 Java言介绍

Java语言是面向对象编程的高级语言,拥有许多其他语言没有的特性,并且非常适合企业级应用的开发[5]Java是具有多种功能的语言,开发Web程序和应用程序都可以选用Java语言。也可以用于Web服务器、嵌入式系统和智能设备中,还可以用于智能手持设备上的APP(应用程序,Application的缩写)Java语言成为目前Web应用的主流语言。

Java拥有简单,面向对象,解释型,可移植,多线程的特点。而且Java语言的语法与CC#的语法接近,另一方面Java语言也丢弃了C++中的重载、多继承、指针的特点[5]。特别地Java语言提供了自动垃圾回收,使得程序员在开发过程中无需像C那样手动的去管理内存的申请与内存的释放。JVMJava虚拟机,Java Virtual Machine的缩写)也让用户可以做到了“一次编译,到处运行”,做到真正的跨平台运行。

2.2 MySQLEclipse简单介绍

Eclipse 是一个面向所有用户的开源的开发集成平台。对于Eclipse本身来说它是框架和多种服务,通过许多不同的插件组件成功能强大的开发平台,而且Eclipse自己本身也附带了一个标准的插件集,包括Java开发工具[5]。而且Eclipse也是一个非常优秀的跨平台的集成开发环境。也支持显示语言Html(超级文本标记语言,Hyper Text Markup Language的缩写)、CSS(层叠样式表,Cascading Style Sheets的缩写)、JSPJava服务器页面,Java Server Pages的缩写)和控制语言Javascript、和Struts2SpringHibernate等框架的集成。它同时也集成了数据库、Java Web开发、发布和应用程序服务器,是Web开发的免费的而且比较好的开发工具,对于本次开发要求不是特别高的模拟ETC收费系统来讲我没有必要去选择付费工具MyEclipse,而且Eclipse基本能满足我这次的开发需要。因为eclipse可以集成实现编码、调试、测试、发布等众多功能,所以在实际的开发过程中也大大提高了开发的整体工作效率。模拟ETC收费系统采用的是20126月发布代号为Juno4.2版本。

MySQL是一个目前非常被很多公司和个人用户广泛使用的开源数据库,很多大型网站都使用MySQL作为他们的后台数据库[5]。在被Oracle收购之后,MySQL也吸收了许多Oracle的长处,比如说体积变得更小、速度变得更快、成本变得更低和性能变得更高。正是因为这些优点所以很多中小型网站会选择MySQL

2.3 Tomcat服务器介绍

Tomcat服务器是一个阿帕奇免费开放的Web应用中的服务器容器,尤其应用在中小型系统、并发访问用户多的服务器上,是Web应用开发的常用服务器[6]TomcatApache服务器独立运行的一个扩展,所以Tomcat可以作为一个独立的进程在机器中单独运行。

TomcatWebContent根目录下包含有HtmlJsp文件、WEB-INF目录和WEB-INF目录。WEB-INF目录下有一个web.xml文件和一个lib目录。其中web.xmlWeb应用的配置文件。通常Web应用所依赖的类和引入的jar文件都到WEB-INF下的lib目录下。而且WEB-INF目录是一个安全且只能够让服务器访问的目录。客户端是不能对这个目录进行访问的,所以通常Web应用的一些对于安全性要求相对来说比较高的文件都会放在这个目录下面。

2.4 MVC设计模式与Struts2框架介绍

MVC即模型——视图——控制模式,它是一种利用模型驱动的设计模式,它能提高程序的维护性,减少各个模块之间的相互耦合程度,而且有助于管理比较复杂的程序,同时提供对网页开发技术JSPHtmlCSSJavaScript的控制。MVC主要分为Model(模型)——View(视图)——Controller(控制器)三个部分[7]。其中Model(模型)是主要负责处理数据库中数据部分。View(视图)是主要负责处理接口显示数据的部分。Controller(控制器)是主要负责处理使用者交互的部分,通过从视图读取数据,控制用户输入,然后模型发送数据。

Struts2是在WebWorkStruts1的基础上结合成了一个全新的后台框架。但Struts2仍然是以WebWork为核心,通过利用拦截器的机制来接收和处理用户的各种请求,这样的设计方式能够使得实际项目中的业务逻辑和ServletAPIAPI,应用程序编程接口,Application Programming Interface的缩写)进行全的分离,所以给给开发者提供了极大的方便,Struts2MVC模式项目中处在控制层。

2.5 B/S结构介绍

B/S模式是在Web2.0之后流行起来的程序设计结构[7],代表浏览器和服务端进行交互,结果直接在浏览器上显示。能够把客户端统一定位为浏览器这个特点,让开发者能够更好的开发服务端程序,而不需要关注操作系统的版本,降低开发成本。


3 模拟ETC收费系统分析

3.1可行性分析

3.1.1 技术可行性

模拟ETC收费系统所需的关键技术要求,以及现有掌握程度,存在的差距等方面进行分析如表3-1所示。

3-1 模拟ETC收费系统的技术可行性分析

从表中所示的信息,可以看到在技术方面,本系统的可行性要求是可满足的。

3.1.2 经济可行性

综合现有高速公路的各方面信息,总体来说,虽然对检测硬件性能的要求较高,但是经过一定的研究,硬件技术已经有了很大的飞跃,能够满足ETC的收费硬件检测方面的要求[8]。采用ETC收费方式产生的效益主要体现在如下所示三个方面:1) ETC车道的通行能力会比传统的收费方式提高4-6倍,收费站入口处的车辆通行水平会提高4倍左右,收费站出口的车辆通行水平会提高6倍左右;2) ETC车道的建设会节约很多用于基础设施建设的成本,而且占用土地面积少,全国的高速公路收费站的数量很庞大,如果全国的高速公路都采用ETC收费方式,那么节省下来的土地面积会是非常庞大的资源;3) 节省因车辆进入或离开高速公路因排队的时间,排队等待的时间减少了,那么汽车因少时间停留甚至是不停留,同时也会节省很多的燃油,减少燃油燃烧产生的废气,保护环境,因此在经济可行性方面的要求也是可以满足的。

3.1.3 社会可行性

随着国家对ETC收费方式的应用,社会对ETC收费方式有了更加明确的了解,ETC收费方式在未来的高速公路上的应用具有良好的应用前景。所以,ETC收费系统的研究和开发是非常必要的。不停车收费技术极其适合用在高速公路、交通比较繁忙的桥梁和隧道下使用。实施不停车收费,可以让车辆高速通过收费站,大大提高公路的通行能力,同时高速公路的收费方式进入电子化,也可以降低收费的管理成本,有利于提高高速公路的运营效率,降低收费站的噪声和尾气排放水平[9]。提高了公路的通行能力,所以公路管理部门在就建立收费站时,可以缩小规模,从而节约了基础设施建设的成本和公路运营时的管理成本[9]。而且,ETC收费系统对城市而言,它就不简简单单的仅仅只是一项先进的收费技术,它更是一种对交通高效管理的手段。

3.2模拟ETC收费系统需求分析

3.2.1模拟ETC收费系统功能需求分析

本系统的用户角色分为管理员人员、车主。下面将按照系统功能以及用户角色进行用例图分析。用例图是软件产品外部特性描述的视图,它从用户的角度而不是开发者的角度来描述软件产品的需求,分析软件产品所需的功能和行为[8]。用例图用于对系统、子系统或系统的行为进行可视化的表示,以方便系统的使用者更清晰地理解这些元素的用途,也便于系统的开发人员最终实现这些元素。图3-1所示的是系统的总用例图。

3-1 系统的总用例图

车道管理功能:首先系统管理员登录系统根据实际情况对ETC进行增删改。图3-2所示的是具体的用例情况。

3-2 车道管理和站点信息管理用例图

车辆管理功能:首先系统管理员登录后台根据实际情况对车辆类型,ETC车辆信息进行增删改查,然后向ETC系统注册车辆信息后,车辆就能在高速公路上使用ETC收费方式。图3-3所示的是具体的用例情况。

3-3车辆类型管理功和车辆信息管理用例图

高速公路收费费率管理: 首先系统管理员登录系统根据实际情况车辆收费费率信息进行增删改查,车辆在高速公路上使用ETC收费方式通过费率计算车辆行车费用。

驾驶证信息的管理功能:系统管理员登录后台向系统初始化基础数据,在此不再做详细的说明。

行车记录信息的查询功能: 系统管理员登录后台可以查询所有的行车记录信息,车主登陆后台只能查询自己在高速公路上的行车记录信息。图3-4所示的是具体的用例情况。

3-4行车记录信息的查询功能用例图

收费功能:模拟收费功能,模拟车辆的驶入,车辆的驶出,车辆驶出收费站时,计算出车辆本次的行车费用。如图3-4所示的是具体的用例情况。

3-4模拟收费(模拟驶入和驶出)功能用例图

3.2.2模拟ETC收费系统数据分析

本系统会产生数据会有车辆信息、车主信息、车道信息、收费站信息、收费费率信息、驾驶证信息、行车记录信息、车辆类型信息、车主违规信息、车主黑名单信息、用户信息、菜单信息、角色信息、角色权限信息,所以根据这些信息大致整理出的数据结构信息有如表3-2所示。

3-2 数据结构信息


4 模拟ETC收费系统设计

4.1系统设计

模拟ETC收费系统主要包括ETC车道信息管理,包括向系统进行注册、注销、修改和条件查询车道信息等功能;ETC车辆信息管理,包括向系统进行注册、注销、修改和条件查询车辆信息等功能;ETC车主信息管理,向系统注册、注销、修改和条件查询车主信息等功能;ETC车主黑名单管理,包括把违规车辆移入、移出黑名单同时对违规车辆进行违规罚款等功能;高速公路收费费率信息管理,它包括向系统注册、注销、修改和条件查询收费费率信息等功能;模拟收费,包括模拟驶入和模拟驶出两个功能,当车辆驶入车道时系统自动记录车辆的车牌号码、驶入车道编号、驶入收费站编号、驶入时间和驶入状态等信息,当车辆驶出车道时,系统通过查询该车辆的驶入信息然后结合驶出车道、驶出收费站以及收费费率计算出车辆的过路使用费用;数据库管理,包括对数据库的参数配置、数据库的备份、数据库遇到灾难时的数据恢复、用户注册审核、用户权限管理、用户角色授权等功能;个人设置,包括退出系统时清空该用户的所有会话信息。

4.1.1系统总体结构设计

模拟ETC收费系统的设计应满足结构简洁、条理清晰的特点,而多层次结构能很好的应用到系统中,能达到要求的这些效果[6]。模拟ETC收费系统由三部分组成:前台模拟收费模块,系统管理模块和系统数据库。前台访问系统进行模拟收费,车主通过前台访问登陆系统查看自己的个人信息和行车记录信息,后台管理员通过登录系统后台向系统初始化基础数据和其他基础数据的录入,管理数据库相关数据。本系统的组成如4-1所示。

4-1 系统关系图

根据系统关系图可以设计出模拟ETC收费系统的结构图。下面以结构图来描述模拟ETC收费系统的总体结构,框内注明了模块的名字,方框之间的直线表示模块之间的关系。详情如图4-2所示。

4-2 系统结构图

4.1.2系统总处理流程设计

模拟ETC收费系统处理总流程主要包括系统登录、系统识别用户类型、系统根据不同的用户类型获取不同的用户菜单、车辆管理、车道管理、车主管理、驾证管理、费率管理、行车记录查询、黑名单管理等子流程。具体情况如图4-3所示。

4-3 系统总流程图

4.1.3系统功能模块设计

前台普通车主用户的功能主要有:车主通过前台登录系统、退出系统、个人行车记录信息查询、个人基本信息查询、个人基本信息修改。详情如表4-1所示。

4-1 前台车主功能模块表

前台模拟收费功能有模拟驶入、模拟驶出、收费模拟,详情如表4-2所示。

4-2 模拟收费功能模块表

后台管理员的功能有登录后台管理系统、退出后台管理系统、车道管理、车辆管理、车辆类型管理、车主管理、驾驶证信息管理、收费费率管理、角色权限管理等功能,详情如表4-3所示。

4-3 后台管理员功能模块表

4.1.4 系统接口设计

外部接口方面,对于任何系统用户都需要一个友善接口。因此在界面设计上,应做到简单明了,容易操作,并且界面的布局要突出显示重要及出错信息[6]外观上也要多考虑用户对Window风格的熟悉度,应尽量往用户感受方面靠。系统也采 用了MVC 的设计模式,做到了比较完善的模型-——视图——控制为一体。接口上的功能也要做到简单易懂,在具体情况下有完善的错提醒。总的来说,系统的用户接口应做到可靠、简单、易学习和使用。

服务器上的程序可以使用MySQL数据库,并且能够对数据库进行新增、修改、删除、查询等等这些基本的操作。

内部接口方面,各模块间分别根据功能有自己单独的接口设计,有:车道接口,车辆接口等。

4.2 系统数据库设计

4.2.1概念结构设计

概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型[8]。数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。通常使用E-R图(实体-联系图,Entity Relationship Diagram的缩写)来建立数据模型。E-R图中包含了实体、属性和关系3种基本成分[8]

实体是E-R模型的基本对象,是现实世界中各种事物的抽象。模拟ETC收费系统中的实体有:车辆、车辆类型、车主、驾证类型、收费费率、车道、车道类型、站点、站点类型。本系统中各实体之间的联系是一种车辆对应多辆车辆即一对多关系、一个车主对应一种驾驶证类型即一对一关系、一种车道类型对应多条车道即一对多关系、一种站点类型对应多个站点即一对多关系、一辆车对应一个车主即一对一关系、一条车道对应多个站点即一对多关系、一种车辆类型对应一种收费费率即一对一关系。基于以上信息的分析可以得出模拟ETC收费系统中实体联系图(E-R)如图4-4所示。

4-4 E-R

4.2.2关系模式设计

根据对概念结构设计中系统实体、属性、联系三方面的信息分析,再结合对E-R图的设计,可以得出本系统的关系模式(主键用下划线标注)如下。

用户(用户表id、用户名、用户密码、用户姓名、用户角色、密码修改状态、账号冻结状态)

车道类型(车道类型表id、车道类型编号、车道类型名称)

车道(车道表id、车道编号、车道名称、车道类型、车道总长度、起始地址、结束地址、收费站数量、行驶车速、使用状态、备注)

收费站(车道类别表id、车道编号、收费站编号、收费站名称、收费站距离起点的距离、收费站类型编号、交叉车道编号、交叉车道名称、备注)

收费站类型(收费站类型表id、类型编号、类型名称)

车辆(车辆表id、编号、名称、类型编号、类型大类、品牌、生产商、生产日期、使用日期、最大里程、引擎编号、驱动类型、车轴距、自重、载重、座位数量、最高时速、尾气排量、车牌号码、备注、驶入状态)

车辆类型(车辆类型表id、类型编号、父类型编号、类型名称、运行最小总质量、运行最大总质量、车辆最小长度、最大长度、最小排量、最大排量)

车主(车主表id、车主姓名、性别、证件类型、证件号码、驾驶证代码、车牌号、手机、电话、邮箱、住址、备注)

驾驶证(驾驶证表id、驾驶证代号、准驾车型、其他准驾车型)

收费费率(收费费率id、车辆类型、费率、是否可用、备注)

行车记录(行车记录表id、车牌号、驶入状态、驶入车道编号、驶出车道编号、驶入收费站编号、驶出收费站编号、驶入时间、驶出时间、单次行车里程、超速状态、超速罚款、行车消费金额)

黑名单(黑名单表id、车牌号、黑名单状态、移入单时间、移出单时间、移入原因、移出原因、移出操作员)

4.2.3关系数据库表设计

系统功能的分析与数据的结构关联及使用都首先反映在数据库的设计过程中,模拟ETC收费系统中的车辆管理、车道管理、车主管理以及其他模块管理和模拟收费的相关数据表的设计是本系统的一项核心工作,所以所有的管理工作都必须以数据为中心。因此在对系统进行数据库表设计时,设计出的表要尽可能减少数据冗余,确保数据的准确性,有效的控制冗余有助于提高数据库的性能,节省不必要的磁盘空间浪费[10]。要具有较好的使用性,主要体现在查询时是否需要关联多张表和使用复杂的SQL语句。要从主键、数据类型、长度等来确保系统实体数据的完整性。

基于以上的设计要求和对关系数据模式的分析,再综合考虑程序设计的安全性,我为系统创建了数据表有:用户表、菜单表、权限表、车道类型表、角色表、车道表、角色权限表、收费站表、收费站类型表、车辆表、车辆类型表、车主表、身份证件类型表、驾驶证表、收费费率表、行车记录表、黑名单表、银行卡表、银行种类表等。具体表结构分别如下:

(1)用户表td_etc_user,用于记录用户登陆系统的基本信息,包括用户的登陆账号,登录密码,用户名,角色等信息(详见表4-4)。

4-4 用户表

(2)色表td_etc_role,为用户区分角色,包括角色编号,角色名称(详见表4-5

4-5 角色表

(3)车道类别表td_etc_road_type,是本系统的基础数据表,存放车道类型的基本信息,包括车道类别编号,车道类别名称等信息(详见表4-6)

4-6 车辆类别表

(4)车道表td_etc_road,车道表用于记录ETC车道信息,包括车道名称、起止站点、收费站数量、车道长度、计划时速、使用状态、备注等(详见表4-7)

4-7 车道信息表

(5)菜单表td_etc_menu,存放不同角色所拥有权限的菜单,包括菜单编号、菜单名称、权限、菜单地址等信息(详见表4-8)

4-8 菜单信息表

(6)收费站类型表td_etc_toll_station_type,是本系统的基础数据表,存放收费站类型的基本信息,包括收费站类别编号,收费站类别名称等信息(详见表4-9)

4-9 收费站类型信息表

(7)收费站表td_etc_toll_station,收费站信息表是车道信息表的字表,与车道信息表存在关联关系,包括编号、名称、类型、到始站的距离、备注等信息(详见表4-10)

4-10 收费站信息表

(8)身份证件类型td_etc_id_type,是本系统的基础数据表,存放证件类型的基本信息,包括证件类型编号,证件类型名称等信息(01身份证,02军人证,03港澳台证通行证,04华侨身份证,05外籍护照)(详见表4-11)

4-11 证件类型表

(9)驾驶证类型td_etc_driver_card_type,是本系统的基础数据表,存放驾驶证信息,包括驾驶证代号编号、准驾车型、其他准驾车型信息(详见表4-12)

4-12 驾驶证类型表

(10)汽车信息表td_etc_car,通过车牌号码关联车主信息表,通过车辆类型编号管理车辆类型表,包括名称、类型、品牌、生产商、生产日期、引擎编号、车轴距、车辆重量、座位数、最大时速、最大排量、车牌号码等信息(详见表4-13)

4-13汽车信息表

(11)收费费率信息表td_etc_charge_rate,是本系统的基础数据表,存放车辆单位里程的收费信息即费率信息,包括车辆类型编号、收费费率等信息(详见表4-14)

4-14收费费率信息表

(12)汽车类型信息表td_etc_car_type,是本系统的基础数据表,存放车辆类型信息,包括车辆类型编号、类型名称、车辆运行时的重量、排量等信息(详见表4-15)

4-15汽车类型信息表

(13)车主信息表td_etc_driver,关联身份证类型信息表和驾驶证类型信息表,用于存放车主的基本信息,包括姓名、性别、证件类型、驾驶证类型、联系电话、邮箱地址等信息(详见表4-16)

4-16车主信息表

(14)行车记录信息表td_etc_driving_record,记录车主的行车记录信息,数据的来源与基础数据表和车主行车所产生的数据,是本系统中的业务数据表,包括车牌号码、驶入车道、驶入站点、驶出车道、驶出站点、驶入驶出时间、行车里程、行车消费金额(详见表4-17)

4-17行车记录信息表

4.3 系统详细设计

本系统主要功能模块有ETC用户管理模块、ETC车道管理模块、ETC车辆管理模块、ETC车主管理模块、费率管理模块、ETC黑名单管理模块、ETC模拟收费等功能模块,程序流程图及描述如下。

1)车辆类别管理模块,后台管理员囊括了对车辆类别的增删该查操作,删除只局限于没有依赖车辆的车辆类别。功能流程图如图4-5、图4-6、图4-7、图4-8所示。

4-5 后台管理员查询所有车辆类型 4-6 后台管理员添加车辆类型

4-7 后台管理员修改车辆类型 4-8 后台管理员删除车辆类型

2ETC车主管理模块,后台管理员囊括了对车主信息的添加、删除、修改、条件查询操作,删除操作会把车主对应的车辆信息。功能流程图如图4-9、图4-10、图4-11、图4-12所示。

4-9 后台管理员查询车主信息 4-10 后台管理员添加车主信息

4-11 后台管理员删除车主信息 4-12 后台管理员修改车主信息

注:由于ETC用户管理模块、ETC车道管理模块、费率管理模块、ETC黑名单管理模块、ETC模拟收费等其他功能模块相似,所以在此不再做过多的说明。


5 模拟ETC收费系统实现

5.1模拟ETC收费系统框架层次

5-1 系统框架层次图

5.2登录功能实现

运行程序后,在本地机器的浏览器地址栏中输入127.1.1.1/etc/login/login(我的tomcat端口设置为80,端口为80可以缺省不写,Tomcat端口默认为8080需要在访问地址中加入端口号)进入模拟ETC收费系统的登录界面(如图5-2),要求输入正确的用户名、密码、验证码。登录只有在合法用户下才能登入模拟ETC收费系统,若输入的内容不符合要求则无法完成登录,继续维持在登录界面,并给出醒目的错误提示信息。车主账号登录,登录成功进入车主主界面,管理员账号登录成功进入后台管理主界面。由于车主主界面和管理员主界面是同一个界面,车主比管理员少些菜单和管理功能,只能查询自己的行车记录信息、车辆信息,车主信息和自己的登录密码修改等功能,其他的具体功能界面和管理员的界面基本差不多,只是在某些功能按钮和数据显示方面的差异,在此就不在贴过多的图示。系统管理员主界面如图5-3所示。

5-2 登录

5.3后台功能模块实现

系统的登陆接口采用的是同一个登录界面,系统会根据用户的用户名自动识别当前登录用户的角色,然后系统根据不同的用户角色获取不同权限的菜单和权限,管理员账号登录后会进入后台主界面后,拥有整个系统的所有菜单和管理权限。

后台模块菜单主要分为:系统信息管理、车道信息管理、车辆信息管理、车主信息管理、收费费率信息管理、行车记录信息查询、黑名单管理、个人设置等主要功能,管理员登陆系统后的主界面如图5-3所示,车主和模拟收费界面类似。

5-3 后台管理员主界面

5.4后台详细功能实现

5.4.1车道信息管理

管理员选择车道管理菜单后,导航菜单会显示车道信息维护和收费站信息维护两个菜单项。

选择车道信息维护后,系统显示车道信息情况,如图5-4所示。界面上有查询、注册、修改,注销车道四个功能按钮。在查询显示页面上输入查询条件,点击查询车道系统会根据用户输入查询相关的车道信息;选中表格中要删除的数据,点击注销按钮,系统会批量的删除选中的车道信息,同时也会删除该车道上的所有站点信息;点击注册车道或修改车道按钮系统会跳转到如图5-5所示的车道添加/修改页面。

5-4 车道信息查询列表

车道添加页面主要有车道编号,名称,起始站编号,名称,终点站编号,名称,车道类型,车道长度,时速,备注等信息,如果用户对必填内容没有进行输入,则不能向后台提交车道信息的相关数据。点击取消按钮会询问用户是否取消,如果是返回查询列表界面,如果否不做任何操作,如图5-5所示。

5-5 添加/修改车道信息

选择收费站信息维护后,系统显示收费站信息,如图5-6所示。界面上有查询、注册、修改,注销站点四个功能按钮。在查询显示页面上输入查询条件,点击查询按钮会根据用户输入的条件查询相关的收费站信息;选中表格中要删除的数据,点击注销按钮,系统会批量的删除选中的站点信息,如果某一车道上所有站点信息都被删除,则同时删除该车道信息;点击注册站点或修改站点按钮系统会跳转到如图5-7所示的站点添加/修改页面。

5-6收费站信息查询列表

收费站添加页面主要有车道选择,收费站编号,名称,站点类型,交叉站,到始站的距离,经过该站点的车道编号,备注等信息,如果用户对必填内容没有进行输入,则不能向后台提交收费站信息的相关数据。点击取消按钮会询问用户是否取消,如果是返回查询列表界面,如果否不做任何操作,如图5-7所示。

5-7添加/修改站点信息

5.4.2车辆信息管理

管理员选择车辆管理菜单,导航菜单会显示车辆信息维护和车辆类型信息维护两个菜单项。

(1)选择车辆信息维护,系统显示车辆信息情况,如图5-8所示。界面上有查询、注册、修改,注销车辆四个功能按钮。在查询显示页面上输入查询车辆信息的条件,点击查询系统会根据用户输入查询相关的车辆信息;选中表格中要删除的数据,点击注销按钮,系统会批量的删除选中的车辆信息;点击注册车辆或修改车辆按钮系统会跳转到如图5-9所示的车辆添加/修改页面。

5-8车辆信息查询列表

车辆添加页面主要有汽车编号,汽车名称,品牌,汽车父类,车辆类型,生山上,生产日期,使用日期,里程,轴距,自重,座位数,尾气排量,车牌号码,备注等信息,如果用户必填内容没有进行输入,则不能向后台提交车辆信息的相关数据。点击取消按钮会询问用户是否取消,如果是返回查询列表界面,如果否不做任何操作,如图5-9所示。

5-9添加/修改车辆信息

(2)选择车辆类型信息维护,系统显示车辆类型信息情况,如图5-10所示。界面上有查询、注册、修改,注销车辆四个功能按钮。在查询显示页面上输入查询条件,点击查询按钮会根据用户输入的条件查询相关的车辆类型信息;选中表格中要删除的数据,点击注销按钮,系统会批量的删除选中的车辆类型信息;点击注册或修改车辆类型按钮系统会跳转到车辆类型添加/修改页面。

5-10车辆类型信息查询列表

5.4.3车主信息管理

管理员选择车辆管理菜单,导航菜单会显示车辆信息维护和车辆类型信息维护两个菜单项。

(1)选择车主信息维护,系统显示车主信息情况,如图5-11所示。界面上有查询、注册、修改,注销车主四个功能按钮。在查询显示页面上输入查询车主信息的条件,点击查询系统会根据用户输入查询相关的车主信息;选中表格中要删除的数据,点击注销按钮,系统会批量的删除选中的车主信息;点击注册或修改车主按钮系统会跳转到如图5-12所示的车主添加/修改页面。

5-11车主信息查询

车主信息添加页面主要有车主姓名,性别,身份证件类型,证件号码,驾驶证类型,车牌号码,邮箱,手机,住址,备注等信息,如果用户对必填内容没有进行输入,则不能向后台提交车主信息的相关数据。点击取消按钮会询问用户是否取消,如果是返回查询列表界面,如果否不做任何操作,如图5-12所示。

5-12车主信息添加/修改

(2)选择驾驶证信息维护,系统显示驾驶证信息情况,如图5-13所示。界面上有查询、注册、修改,注销四个功能按钮。点击查询按钮显示查询到的驾驶证信息;选中表格中要删除的数据,点击注销按钮,系统会批量的删除选中的驾驶证信息;点击注册或修改按钮系统会跳转到如图5-14所示的驾驶证类型添加/修改页面。

5-13驾驶证类型信息查询

5-14 驾驶证类型增加/修改

5.4.4收费费率管理

管理员选择费率管理菜单,导航菜单会显示费率信息维护菜单项。

选择费率信息维护,系统显示费率信息情况,如图5-15所示。界面上有查询、注册、修改,注销费率四个功能按钮。点击查询按钮会查询费率信息;选中表格中要删除的数据,点击注销按钮,系统会批量的删除选中的费率信息;点击注册或修改费率按钮系统会跳如图5-16所示的转到费率添加/修改页面。

5-15费率信息查询

5-16费率信息添加/修改

5.4.5行车记录查询

管理员选择行车记录信息菜单,导航菜单会显示行车记录查询菜单项。

行车记录查询,系统显示所有行车记录信息情况,如图5-17所示。界面上有查询功能按钮。点击查询按钮会根据用户输入的条件查询相关的符合条件的车主的行车记录信息。

5-17行车记录信息查询

5.4.6黑名单管理

管理员选择黑名单管理菜单,导航菜单会显示黑名单系想你维护单项。

选择黑名单信息维护,系统显示所有的黑名单信息和查询、移出黑名单功能两个按钮。点击查询按钮会根据用户输入的条件查询符合条件的黑名单信息。车辆在车道上行驶时,电子监察系统会监测车辆是否违规行驶,如果是则系统自动把车辆移入黑名单(包括车牌号码,违规地点,违规时间,违规原因,处罚依据)。

5.4.7系统数据表信息

管理员选择库表信息菜单,系统所有的基础数据表和业务数据表的详细信息如图5-18所示,包括数据表名称,数据表说明,数据表类型,表记录数,索引序号等信息。

5-18行车记录信息查询

5.4.8个人设置

管理员选择个人设置菜单,导航菜单会显示密码修改和退出登录两个菜单项。

用户点击个人设置系统会显示如图5-19所示的密码修改界面,用户输入正确的原始密码和两次输入相同的新密码,只有符合条件才能修改,修改成功后系统会让用户用新密码重新进行系统登录。

5-19密码修改

5.4.9车辆驶入情况

管理员选择车辆驶入情况菜单,系统会查询车辆驶入情况信息显示如图5-20所示的界面,然后管理员还可以输入查询条件对车辆驶入信息进行条件查询。

5-20车辆驶入情况查询列表

5.5模拟收费

5.5.1收费算法介绍

所示,希望从某个特定的点源节点SS属于V)到V中每个节点的最短路径[9]。在模拟ETC收费系统中,本作者把公路上所有的站点(V)都看成是公路网(图G)中的节点,车辆驶入的站点(源节点S)到车辆驶出站点(源节点S’),及SS’之间的最短距离,也就是车辆通的行车记录,根据车辆类型对应的收费费率和车辆的驶入站点、驶出站点之间的距离计算出车辆的行车费用,行车费用计算公式:行车费用 = 收费费率 x 行车路程。

5-21 算法说明示意图

1) 算法步骤:

1步:求出到源点第1近的点,即求出第1最短路径。

2步:求出到源点第2近的点,即求出第2最短路径。

……

n-1步:求出到源点第n-1近的点,即求出第n-1最短路径。

5.5.2模拟驶入

选择模拟驶入,系统示如图5-22所示的界面,模拟选择输入车道、驶入收费站、驶入车牌号码等信息,点击单个驶入按钮,界面显示会改变为如图5-23所示的界面,此时向行车记录表中插入车辆驶入信息(车牌号码,驶入车道编号、驶入收费站编号、驶入时间、驶入状态)

5-22 模拟ETC车辆驶入展示界面

5-23 模拟ETC车辆驶入

5.5.3模拟驶出

选择模拟驶出,系统显示如图5-24所示的界面,模拟选择输入车牌号码、驶出车道、驶出收费站点信息,点击单个驶出按钮,此时系统根据输入的车牌号码查询车辆的驶入信息(驶入车道编号、驶入收费站编号、驶入时间、车辆类型)、根据模拟输入的驶出信息(驶出车道、驶出收费站)和根据车辆类型查询收费费率信息,根据驶出站点和驶入站点之间的距离差以及该车辆的收费费率计算出车辆本次行车消费记录,同时向行车记录表中更新车辆的行车记录信息(驶出车道、驶出收费站、驶出时间、行驶里程、消费金额)以及改变车辆的驶入状态,最后将本次行车记录信息(车牌号码、车辆类型、行驶里程、消费金额、驶入时间、驶出时间、车道使用感谢语和模拟驶出状态)显示到如图5-25所示的模拟驶出界面。

5-24模拟ETC车辆驶出展示界面

5-25模拟ETC车辆驶出

5.5.4收费关键代码


6 结束语

模拟ETC收费系统采用的结构是基于B/S架构的,实现了ETC车道信息管理、ETC车辆信息管理、ETC车主信息管理、车辆收费费率管理,车辆收费模拟等功能。对ETC收费系统的探究有利于在实际生活中实现真正的高速公路ETC收费,为实际项目提供可行性分析,设计理念和实践经验参考信息。

通过这次毕业设计,我主要有以下体会:

(1)巩固了大学四年所学到的专业知识,培养了自己的在变成方面的动手能力,对于理科生而言学习不仅仅只是局限于书本所提到的知识,更重要的是学会养成一种探究、遇到问题先想然后通过相关途径去找寻资料的思维方式,通过这次毕业设计的研究自己对于以前那些懵懂的知识有了更加透彻的了解。

(2)学到了新知识,在项目实现过程中,遇到了各种各样以前没碰到过的问题,唯一的办法就是自己去学习解决方法,了解并运用新的知识解决问题。

(3)在论文的实现过程中,也查阅了许多数据,走了一些弯路。

(4)虽然目前来说系统的基本功能实现了,但是总的来说,整个系统还有很多值得改进的地方。


7 参考文献

[1]黄慰忠.上海高速公路电子不停车收费_ETC_系统介绍[J].计算机学报,2009(3):5-9

[2]王胜华.高速公路电子不停车收费系统的分析与设计[J] .电讯技术,2012(9):8-15

[3]陶华.ETC电子不停车收费系统的设计与实现[J].电讯技术,2013(5):6-12

[4]王晓东.计算机算法设计与分析(第四版)[M].北京:电子工业出版,2011

[5]张洪斌.java2高级程序设计[M].北京:中科多媒体出版社,2001

[6]唐红.高速公路ETC收费广场设计 [EB/OL].

[7]张海藩.软件工程导论(第五版)[M].北京:清华大学出版社,2008

[8]李磊,王养廷.面向对象技术及UML教程[M].北京:人民邮电出版社,2011

[9]钱超.高速公路ETC数据挖掘研究与应用[J].电讯技术,2013(4):20-22

[10]王珊,萨师煊.数据库系统概论(4)[M].北京:高等教育出版社,2012


在完成毕业设计的系统和毕业论文编写的过程中,有喜悦、也有艰辛、更有收获。从论文选择研究方向,到阅读和ETC有关的文档资料,到后面的需求分析,数据库的设计,静态页面的编写,这一过程上,求助过很多人,在此,我要对那些曾经给我过帮助的老是和同学表示的感谢,谢谢我这一路走来有你们的陪伴、关心、和无私的帮助。

感谢我的指导老师洪老师,时刻监督我在论文上面的进度,让我没有机会懈怠,当我遇到问题的时候,通过面对面、或是网上的交流和善的为我解答。

感谢大学四年以来的每一位教过我的老师,因为有你们的教学,我才能在大学里面学到更多的做人、做事和更深的专业知识,所以我才能运用我在大学里面所学的知识去完成这次毕业设计和论文的编写。

感谢和我一起为毕业设计奋斗的同学们,虽然每个人都有一个属于自己的毕业设计,但是我们之间的相会帮助,相互促进一直在激励着我前进。

总之,感谢所有关心、帮助、给我以前进动力的人,在此谢谢你们。

本文来源:https://www.2haoxitong.net/k/doc/f94beb4b11a6f524ccbff121dd36a32d7375c7a4.html

《(完整版)模拟ETC收费系统的设计与实现毕业设计40设计41.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式