汽车违章系统查询设计_第1页
汽车违章系统查询设计_第2页
汽车违章系统查询设计_第3页
汽车违章系统查询设计_第4页
汽车违章系统查询设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件综合设计(论文)齐齐哈尔大学软件综合设计题目汽车违章系统查询学院通信与电子工程学院专业班级学生姓名指导教师摘要随着中国经济的不断发展,中国家庭的汽车拥有量越来越多,因而交通管理部门的管理工作量和工作压力不断上升,传统的电视监控系统已经不能适应当前的交通状况。交通违章现象是现代交通中极其严重的一个问题,由此带来的交通安全问题也更加突出。交通管理机关由于警力有限,不可能依靠人力对所有路段、路口实行全天候、全方位的管理,所以必须依靠现代化技术手段来管理交通,使城市交通管理向高效、快捷的方向发展。本系统根据交通违章处理的特点设计,主要由违章录入、违章登录、违章查询、违章处理、违章统计等功能模块组成。在设计过程中最大限度满足用户的要求,因此,该该系统具有较强的实用性和针对性。具体介绍了各功能模块所包含的小模块的功能:违章录入是系统自动识别车辆违章情况并存储违章画面,识别车牌号,读出相应违章车辆的ID号,同时将违章信息录入管理系统;违章登录主要是对传输回来的图像文件进行筛选,查询违章车辆档案信息,将其与违章图像一并存入违章数据库,同时锁定违章车辆档案;违章查询模块主要是根据车牌号、车主、违章地点等信息,查询违章车辆信息、打印查询结果、违章通知单和违章车辆图像;违章处理模块主要是根据车牌号查询显示相应的违章信息,打印违章处罚通知单,根据违章处理结果删除违章记录,对违章车辆档案解除锁定;违章统计模块主要是按照违章地点、违章时间、违章类型、车型等信息随机在违章数据库和特殊车辆违章数据库中进行分类统计,并以报表形式输出统计结果等功能。系统的用户权限有两种:普通用户和系统管理员,不同权限用户登到不同的操作界面。关键字:交通违章信息处理系统违章录入自动化处理AbstractWith

the

continuous

development

of

Chinese

economy,

China

owned

more

and

more

car

and

therefore

the

management

of

workload

and

pressure

continue

to

rise,

traditional

television

monitoring

system

can

not

adapt

to

current

traffic

conditions.

The

phenomenon

of

traffic

violations

in

modern

traffic

become

a

very

serious

problem,

and

the

resulting

safety

problems

become

more

prominent.

As

the

police

limited

traffic

management

authorities

can

not

rely

on

manpower

on

all

road

sections,

junctions

to

implement

all-weather,

full

range

of

management,

it

must

rely

on

modern

techniques

to

manage

traffic,

leading

the

urban

traffic

management

to

the

efficient,

fast

direction.

The

system

according

to

the

characteristics

of

traffic

violations

dealt

with

the

design,

mainly

by

illegal

logging,

illegal

login,

illegal

queries,

illegal

treatment,

violation

statistics

function

module.

Possible

in

the

design

process

to

meet

user

demand,

therefore,

the

system

has

strong

practical

and

relevant.

Detailed

description

of

each

function

module

contains

a

small

module

features:

illegal

entry

is

a

system

to

automatically

identify

traffic

violation

cases

and

store

illegal

images,

identification

license

plate

number,

read

out

the

corresponding

ID

number

of

vehicles

illegally,

while

violation

information

into

the

management

system;

Illegal

Sign

mainly

for

transmission

back

to

the

image

file

to

filter,

query

file

information

illegal

vehicles

will

be

deposited

with

the

illegal

image

violation

database

files

while

locked

vehicle

violation;

violation

query

module

are

mainly

based

on

license

plate

number,

vehicle

owners,

illegal

sites

and

other

information,

check

illegal

vehicle

information,

print

the

query

results,

violation

notice,

and

illegal

vehicle

image;

violation

processing

module

are

mainly

based

on

license

plate

check

showed

the

corresponding

violation

information,

print

the

violation

penalty

notice,

remove

illegal

under

the

illegal

recording

processing

results,

unlock

the

file

on

the

illegal

traffic;

violation

statistics

module

is

mainly

in

accordance

with

the

violation

location,

violation

of

time,

violation

types,

models

and

other

information

were

in

violation

database

and

special

vehicles

illegally

classified

database

statistics

and

to

report

the

results

of

functional

form

of

the

output

statistics.

There

are

two

kinds

of

user

rights

for

the

system:

ordinary

users

and

administrators,

system

will

leading

different

users

to

different

user

interface

with

different

privileges

after

user

logined

in.

Keywords:trafficviolationsinformationtreatmentsystem;Illegalinformationinput;Automation;目录摘要 IAbstract II第1章绪论 11.1国内外动态 11.2选题的背景和意义 11.3设计实现的主要目标 2第2章开发平台和开发技术的介绍 32.1开发平台 32.2开发技术 4第3章

系统需求分析 83.1现状分析 83.2系统要解决的问题 83.3系统要实现的功能及实现的方法 83.3.1本系统要实现的功能 83.3.2实现方法 9第4章

系统的设计 114.1概要设计 114.2详细设计 114.2.1违章信息的采集 114.2.2违章车辆的检测 134.2.3违章信息实时发布 134.3据库逻辑设计 134.3.1实体介绍 134.3.2实体的ER图以及各实体之间联系的ER图 134.4数据库物理设计 144.4.1

数据库表结构 154.5

数据库连接 16第5章系统的查询 175.1登入界面 175.2查询 19第6章系统的测试 216.1测试方法 216.2测试项目 216.3测试用例 216.4测试结果 22第7章总结 23参考文献 24附录 25致谢 36第1章绪论1.1国内外动态现代社会是信息飞速发展的社会,人们已经由万维网服务向网格服务迈进。信息社会已经不再是未来科学家的预言、社会学家的抽象思想或者人们的观念,而是实实在在的日益显示的客观现实。交通违章处理也在向信息化迈进,但是现代的交通违章处理已不能适应当前的交通状况。其不及时性、不精确性等弊端造成了交通管理工作的被动和滞后。

目前城市交通监控系统主要包括交通诱导和交通违章监控,传统的交通诱导和违章监控是靠交通警察人为地执行,这种方式效率低,成本高,不便于自动化管理。同时现有的系统多为孤立的系统,车管所计算机网络自成体系,其中的信息不能同支队、中队、大队互相共享,不能异地调用和查询,难以在违章、逃逸、事故事件处理中及时应用。给管理工作的快速、准确带来诸多不便。美国和澳大利亚等国在一些城市实现了智能交通诱导和违章监控,这些系统的成功应用依赖于车流检测传感器对车流信息的准确检测;电子警察系统是自动监测交通违章的发展方向,目前的应用形式主要是人工摄录方式、自动触发摄录方式以及基于计算机图像处理的视觉识别方式应用对环境的适应能力差,只能识别闯红灯等少数违章现象。随着交通问题的日益严重,国外发达国家相继推出了适应未来交通需求的智能交通系统(IntelligentTransportationSystemITS)发展规划,将智能交通系统作为今后交通建设发展方向,我国也开始了这方面的研究和开发。目前,公安交警部门已经拥有了自己的数据网络,特别是电子交警“上岗”以来,信息的传输变得更加迅速和快捷,但是,交警网络的工作性质和特点决定了他们需要在非办公环境下对信息数据进行查询和处理,因而,在警务信息查询的手段上具有很大的局限性,不能充分满足其信息化的需求,公安信息系统和民众之间还基本处于隔离状态。

1.2

选题的背景和意义

随着中国经济的不断发展,中国家庭的汽车拥有量越来越多,因而交通管理部门的管理工作量和工作压力不断上升,传统的电视监控系统已经不能适应当前的交通状况。特别是目前全社会的法律意识和社会公德意识还不是很强,人们一些常见的交通违纪、

甚至违法现象习以为常。现在对这些违章违纪的信息处理仅依靠交警部门通过人工邮寄处罚通知单,或司机自己上网、打电话查询扣分情况等。交通违章现象是现代交通中极其严重的一个问题,由此带来的交通安全问题也更加突出。交通管理机关由于警力有限,不可能依靠人力对所有路段、路口实行全天候、全方位的管理,所以必须依靠现代化技术手段来管理交通,使城市交通管理向高效、快捷的方向发展。事实上,传统的违章处理系统的不及时性、不精确性,往往造成交通管理工作比较被动和滞后。如何改善现有管理网络,适应现代交通管理智能化的迫切要求,是现代交通管理的研究方向。交通违章信息处理系统不仅使交通管理部门对违章车辆的管理更加方便、顺畅、及时;同时也针对司机的侥幸心理进行及时有效的警告;同时也使犯规的司机有机会主动接受处理,以免产生更严重的后果。交通管理的自动化和智能化,对减少交通事故发生、保持道路畅通、维持正常的交通秩序起到重要作用,并节约了大量的人力、物力资源,对提高经济效益和社会效益有显著的作用。

管理信息系统(MIS)是进行信息的采集、存储、加工、维护和使用的系统。它是随着管理科学和技术科学的发展而形成的。MIS的发展与计算机网络技术的发展是紧密相关的,交通违章信息处理系统是典型的管理信息系统(MIS),其系统开发主要包括数据库的规划设计与维护和客户端应用程序的开发两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性,而对于后者则要求程序界面友好、功能完备,容易使用,具有流行软件的操作习惯等特点。随着城市的规模不断扩大,车辆数量急剧增加,有关交通违章的各种信息也成倍增长。面对庞大的信息量,有必要开发交通违章信息处理系统来提高违章信息处理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。鉴于上述管理信息系统的日趋成熟和收集信息的情况,该交通违章信息处理系统充分运用MIS的总体思想,综合应用了B/S模式、SQLServer、JSP编程等技术,并具有普通用户对自己所需信息的操作和管理员对系统进行管理等功能,很好的将处理质量提升了,真正完好地达到服务于违章信息处理计划。1.3

设计实现的主要目标

本课题研究内容为交通违章信息处理系统,信息处理系统提供了强大的违章处理和统计功能,方便管理员对违章信息的添加、修改、删除、查询等操作。本系统开发的主要目标是实现交通违章信息处理的系统化、规范化、自动化、达到提高违章信息处理效率的目的。第2章开发平台和开发技术的介绍2.1开发平台

在基于Web管理信息系统的开发中,选择合适的开发平台十分关键,好的开发平台选择可以节约大量的开发时间,提高开发效率。

本系统采用JSP构造前台页面,Tomcat作为Web服务器,开发工具选用MyEclipse,SQLServer2000作为后台数据库。以下对其分别给出相关简介:

(1)JSP是一种构建动态Web应用程序的技术。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。作为JAVA平台的一部分,JSP拥有JAVA编程语言“一次编写,各处运行”的特点。所有的应用都是基于服务器的,所以它们可以时刻保持最新版本。客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。此外,JSP还具有系统的多平台支持,强大的可伸缩性,多样化和功能强大的开发工具支持等优点。JSP页面是由Html代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的Html页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。

(2)Tomcat服务器是一个免费的开放源代码的Web应用服务器,因为其技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。此外,其运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

(3)MyEclipse作为Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,它附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。虽然大多数用户很乐于将MyEclipse当作JavaIDE来使用,但它的目标却不限于此。其中还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于当中的每样东西都是插件,对于给其提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

(4)SQLServer2000具有较好的可伸缩性和可靠性,提供了以Web标准为基础的扩展数据库编程功能,可以满足电子商务和企业应用程序的要求。SQLServer2000支持XML和Internet标准,具有基于Web的分析能力,允许使用内置的存储过程以XML格式存储、更新、删除、检索数据。SQLServer2000不仅能作为一个功能强大的数据库服务器有效地工作,而且数据库引擎也用在需要在客户端本地存储独立数据库的应用程序中。SQLServer2000可以动态地将自身配置成能有效地使用客户端桌面或膝上型电脑中的可用资源,而不需要为每个客户端专设一个数据库管理员。应用程序供应商还可以将SQLServer2000作为应用程序的数据存储组件嵌入到应用程序中。SQLServer在网络组件的顶部添加了服务器特有的中介组件,诸如开放式数据库连接(ODBC)后能使不同客户机进行相互连接,它可处理基于Internet的应用程序,帮助用户把SQLServer数据库信息集成到Web页面。

2.2开发技术

(1)JavaScript编程语言

在现在的基于WEB应用系统开发中,Java已经开始成为了人们的首选,Java语言具有安全、跨平台、面向对象、简单、适用于网络等显著特点,Java语言已经成为最流行的网络编程语言。

JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。

因此,JavaScript非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。JavaScript有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。

(2)JDBC数据访问接口

为支持Java程序的数据库操作功能,Java语言采用了专门的Java数据库编程接口(Java

DataBase

Connecivity,JDBC),用于在Java程序中实现数据库操作功能并简化操作过程。JDBC支持基本SQL语句,提供多样化的数据库连接方式,为各种不同的数据库提供统一的操作界面。(3)数据持久层简介:J2EE的三层结构是指表示层(Presentation),业务逻辑层(BusinessLogic)以及基础架构层(Infrastructure),这样的划分非常经典,但是在实际的项目开发法中,开发者通常对三层结构进行扩展来满足一些项目的具体要求,一个最常用的扩展就是将三层体系扩展为五层体系,即表示层(Presentation),控制/中介层(Controller/Mediator)、领域层(Domain),数据持久层(DataPersistence)和数据源层(DataSource)。它其实是在三层架构中增加了两个中间层。控制/中介层位于表示层和领域层之间,数据持久层位于领域层和基础架构层之间。由于对象范例和关系范例这两大领域之间存在“阻抗不匹配”,所以把数据持久层单独作为J2EE体系的一个层提出来的原因就是能够在对象-关系数据库之间提供一个成功的企业级映射解决方案,尽最大可能弥补这两种范例之间的差异。三种持久层主流解决方案:1、JDBC许多开发者用JDBC进行数据库程序的开发。此中方式很多情况下都使用DAO模式,采用SQL进行查询。虽然用此方式可以使应用程序代码与具体的数据库厂商和数据库位置无关,不过JDBC是低级别的数据库访问方式,JDBC并不支持面向对象的数据库表示。JDBC数据库表示完全围绕关系数据库模型。在大型应用程序的DAO中书写这样的代码,维护量是非常大的。2、EJB在J2EE的规范中,为EJB定义了两种持久化的解决方案:一种是BMP,另一种是CMP。其中CMP不需要将SQL语句加入到代码中。目前,在采用J2EE的应用中,EJBCMP方式得到了广泛应用。更加引人注意的是,随着EJB规范的发展,CMP也包含了一些高级关系的内容。但是,CMP的使用比较复杂,对很多开发人员来说比较难以掌握。而且,不是在所有的情况下都适合在系统中采用EJB,而且想要非常清楚的了解EJB规范也是非常费时的。在用EJB编码前,先要让专家理解API,然后需要了解每一个容器部署时所要关注的技术。此外,许多情况下商用容器的性能和支持也不是很好。3、JDOJDO是一个存储java对象的规范,JDO规范1.0的提出可以使你将精力集中在设计Java对象模型,然后在企业应用软件架构的不同层面中存储传统的Java对象(PlainOldJavaObjects,简称POJOs),采用JDOQL语言进行SQL操作。一些公司(包括sun)企图根据JDO规范进行设计并实现JDO产品,然而他们都不能很好的进行实现,并且性能优化上比较差。数据持久层新的解决方案Hibernate3.1Hibernate介绍Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量。另外Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用HibernateQL从数据库提取数据的代码的编写量,从而节约开发时间和开发成本Hibernate可以和多种Web服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。(4)Spring系列:Spring框架简介:SpringAOP和IOC容器入门在这由三部分组成的介绍Spring框架的系列文章的第一期中,将开始学习如何用Spring技术构建轻量级的、强壮的J2EE应用程序。DeveloperWorks的定期投稿人NaveenBalani通过介绍Spring框架开始了他由三部分组成的Spring系列,其中还将介绍Spring面向方面的编程(AOP)和控制反转(IOC)容器。Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。在这篇由三部分组成的Spring系列的第1部分中,我将介绍Spring框架。我先从框架底层模型的角度描述该框架的功能,然后将讨论两个最有趣的模块:Spring面向方面编程(AOP)和控制反转(IOC)容器。接着将使用几个示例演示IOC容器在典型应用程序用例场景中的应用情况。这些示例还将成为本系列后面部分进行的展开式讨论的基础,在本文的后面部分,将介绍Spring框架通过SpringAOP实现AOP构造的方式。Spring框架:图2-1Spring框架核心容器:核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。Spring上下文:Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。SpringAOP:通过配置管理特性,SpringAOP模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何对象支持AOP。SpringAOP模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用SpringAOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。SpringDAO:JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。SpringDAO的面向JDBC的异常遵从通用的DAO异常层次结构。SpringORM:Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate和iBatisSQLMap。所有这些都遵从Spring的通用事务和DAO异常层次结构。SpringWeb模块:Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring框架支持与JakartaStruts的集成。Web模块还简化了处理多部分请求以及将请求参数绑定到域的对象的工作。SpringMVC框架:MVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、IText和POI。Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。Spring的核心要点是:不支持绑定到特定J2EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE环境(Web或EJB)、独立应用程序、测试环境之间重用。第3章

系统需求分析3.1现状分析

随着中国经济的不断发展,中国家庭的汽车拥有量越来越多,因而交通管理部门的管理工作量和工作压力不断上升,传统的电视监控系统已经不能适应当前的交通状况。特别是目前全社会的法律意识和社会公德意识还不是很强,人们一些常见的交通违纪、甚至违法现象习以为常。现在对这些违章违纪的信息处理仅依靠交警部门通过人工邮寄处罚通知单,或司机自己上网、打电话查询扣分情况等。事实上,这种事后处理方式,因存在诸多因素影响处罚单到达的及时与准确性,往往造成交通管理工作比较被动和滞后。如何改善现有管理网络,适应现代交通管理智能化的迫切要求,是现代交通管理建设的研究方向。

3.2系统要解决的问题

随着城市的规模不断扩大,车辆数量急剧增加,有关交通违章的各种信息也成倍增长。面对庞大的信息量,利用计算机技术、网络技术、通信技术,实现计算机综合信息的联网管理,已成为各地市交通管理工作现代化的迫切需要,交通违章信息处理系统也成为了不可或缺的辅助管理手段。因此本交通违章信息管理系统将要解决如下问题:系统自动识别车辆违章情况并存储违章画面,识别车牌号,读出相应违章车辆的ID号,将三种信息融合处理,通过网络通信发送至控制中心,控制中心记录该车辆的违章信息,同时将违章信息录入管理系统,系统管理员可以查询、打印、更新、统计和删除用户的违章纪录和处理结果信息。用户也可以查询、打印、确认和处理单次或多次违章信息。

3.3系统要实现的功能及实现的方法

3.3.1本系统要实现的功能

违章信息采集:系统自动识别车辆违章情况并存储违章画面,识别车牌号,读出相应违章车辆的ID号,将三种信息融合处理,通过网络通信发送至控制中心,控制中心记录该车辆的违章信息,同时将违章信息录入管理系统;

违章维护:管理员添加、删除用户基本信息以及查询违章车辆档案信息,将其与违章图像一并存入违章数据库,同时锁定违章车辆档案;用户查看、修改个人附加信息;

违章查询:管理员查询违章车辆信息,打印查询结果、违章通知单和违章车辆图像;用户查询违章信息,打印查询结果和违章图像;

违章处理:管理员根据违章处理结果删除违章记录,对违章车辆档案解除锁定,对违章信息进行分类统计,并以报表形式输出统计结果;

由于该系统的角色有两个,即:用户和管理员。故这两个权限范围内的都应该具有上述对应的功能,即将上述三大功能模块划分配给这两个角色去具体实现。(1)管理员

管理员是交通违章信息处理系统的管理者。他们希望通过交通违章信息处理系统,能够及时的处理各种违章信息。避免出现信息处理的不及时性、不精确性等。以及处理工作时能够方便快捷。清楚明晰的处理好各类违章信息。图3.8为管理员的用例图:000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 图3-1管理员用图例3.3.2实现方法

本系统采用JSP构造前台页面,Tomcat作为Web服务器,开发工具选用MyEclipse,SQLServer2000作为后台数据库。该系统使用JSP编程语言,MicrosoftSQLServer2000数据库以及ApacheTomcat作为开发平台,运用软件工程思想方法,对系统进行快速有效开发。系统从以下几个方向来实现:

用户管理:实现对不同用户分配不同的权限;

数据库连接:使程序能访问数据库,并能对其中的数据进行操作;

数据录入:通过程序能实现往数据库中增加记录;数据查询:通过各种查询组合实现对数据的精确选取;数据维护:包括对数据的修改及删除操作。系统依据ApacheTomcat构架的运行平台,利用Dreamweaver进行整体框架的设计,连接数据库,最后进行全面的系统调试而完成。

第4章

系统的设计4.1概要设计

本系统的研究目标:建立一个B/S层结构的交通违章信息处理系统,实现管理员对交通违章信息的获取、统计等各环节的计算机管理。通过分析该系统的总体功能,该交通违章信息处理系统的功能模块图如图4-1所示:

交通违章信息处理交通违章信息处理违章维护违章处理违章查询违章采集违章维护违章处理违章查询违章采集用户管理员管理员管理员用户用户管理员管理员管理员用户统计分类信息输出统计结果打印查询结果查询违章信息打印违章图像查询违章信息修改附加信息查看信息修改密码修改信息删除用户添加用户查询违章档案统计分类信息输出统计结果打印查询结果查询违章信息打印违章图像查询违章信息修改附加信息查看信息修改密码修改信息删除用户添加用户查询违章档案图4-1信息处理系统的功能模块图4.2详细设计

4.2.1违章信息的采集

违章信息处理的流程为:先通过车辆检测技术检测出违章的车辆,然后用CCD摄像机抓拍违章车辆的违章图像,定期将摄像机里的图像传输到计算机的数据库中。利用图像处理技术识别出违章车辆的车牌号,联系车主的信息,将违章车辆的信息传输到远程控制中心,激活实时短信发送平台,将违章信息发送给车主;同时将违章信息发布到网上,方便用户和管理员的查询。违章信息处理的流程图如下开始开始检测违章车辆检测违章车辆抓拍违章图片抓拍违章图片传输图像传输图像图像处理图像处理 分类统计 分类统计信息发布信息发布网上发布网上发布短信发布结束结束图4-2

违章信息处理流程图4.2.2违章车辆的检测

违章车辆的检测技术是决定智能交通调控的重要设备之一。目前,车辆检测传感器分为感应线圈式检测器、磁性检测器、脉冲超声检测器、雷达检测器、光电检测器和视频检测器等。磁性检测器仅可检测车辆的通过,无法检测静态车辆;脉冲超声检测器、雷达检测器、光电检测器的检测精度和抗干扰性能较差;视频检测器的成本较高、实时性较差,并且检测精度受到软硬件的影响;而感应线圈式检测器具有性能稳定、性价比高、工程应用方便等优点,因而目前在工程上应用最广。本文采用文献[3]中设计的车辆检测器,该传感器的探测部分是一个由探测线圈和反相器构成振荡器的选频模块。为提高振荡器频率的稳定性和检测的灵敏度,在探测线圈中加入铁氧体磁芯。当有车辆处于探测线圈的上方或附近时,振荡器的振荡频率就会发生变化。利用单片机检测振荡器的输出频率f0,当频率变化值Δf0大于阈值T时,则检测为有车辆,同时将检测的车辆累计数发送至路口控制器进行处理。4.2.3违章信息实时发布

实时短信的发送在交通违章信息处理系统中的重要组成部分。它起到了通知违章用户,提醒他们及时处理违章信息的作用。提高了交通违章信息处理系统的及时性和精确性。4.3数据库逻辑设计

4.3.1实体介绍

本系统中的实体共有3个,分别为:

实体1:用户(车主,车牌号,时间,原因,结果);实体2:违章记录(姓名,身份证,违章日期,地点,违章类别);

实体3:违章处理结果(姓名,身份证,违章记录号,违章结果,违章最迟受理时间,违章处理情况);4.3.2实体的ER图以及各实体之间联系的ER图

本节将主要对4.3.1节中所讲到的三个实体进行详细分析,对各个实体及其属性通过ER图描述出来。

如图4-3所示,为用户这一实体的ER图:身份证身份证违章日期姓姓名违章日期姓姓名 违章记录违章记录 地点地点违章类别 违章类别违章记录号违章记录号4-3用户这一实体的ER图与违章记录实体类似,违章处理结果实体具有如图4-4所示属性,其ER图如图4-4身份证身份证违章结果姓名违章结果姓名 违章处理结果违章处理结果 违章最迟受理时间违章最迟受理时间违章处理情况 违章处理情况违章记录号违章记录号图4-4违章处理结果实体图4.4数据库物理设计

经过数据库系统分析和逻辑设计后,数据库的结构已经非常清晰,剩下的就是用一种数据库开发软件实现这种关系。在本系统中数据库采用SQLServer2000数据库,首先在SQLServer2000中创建一个数据库,命名为“yuqingpeng”。4.4.1

数据库表结构

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL最初的开发者的意图是用MSQL和他们自己的快速低级例程(ISAM)去连接表格。经过一些测试后,开发者得出结论:MySQL并没有他们需要的那么快和灵活。这导致了一个使用几乎和MSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于MSQL而写的第三方代码更容易移植到MySQL。应用环境:与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP和LNMP(Linux+Nginx+MySQL+php/perl/Python),即使用Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。索引功能:索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引不是万能的,索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。在需要把许多新记录插入某个数据表的场合,DELAY_KEY_WRITE选项的作用将非常明显。另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。通过分析,系统中数据表的结构分别如下:图4-5系统数据表4.5

数据库连接

JDBC是Java数据库连接(JavaDataBaseConnectivity)技术的简称,是为各种常用的数据库提供无缝连接的技术。JDBC定义了Java语言同各种SQL数据之间的应用程序设计接口(API),提高了软件的通用性。

JDBC的关键技术是数据库连接驱动程序,针对支持Java的JDBC的标准,大量的数据库厂商和第三方开发商开发了不同的数据库JDBC驱动程序。这些驱动程序可以分成四种:JDBC-ODBCBridge驱动程序、JDBCNativeBridge驱动程序、JDBC-NetworkBridge驱动程序、PureJavaJDBCDriver。

本系统正是利用JDBC-ODBCBridge驱动程序来连接数据库的,连接数据库时用到了JavaBean技术。第5章系统的查询5.1登入界面

由于系统设置了2个不同的权限,所以登入时首先应该对权限进行判断,然后对所属权限范围内的用户进行用户名和密码验证,验证成功才进入相应的页面,如图5-1所用户界面管理员权限判断权限判断用户名和密码系统验证通过输入用户名和密码选择权限开始用户界面管理员权限判断权限判断用户名和密码系统验证通过输入用户名和密码选择权限开始 用户 管理员图5-1流程图该交通违章信息处理系统的界面,即首页如图5-2所示:图5-2系统界面该交通违章信息处理系统的界面,即首页如图5-2所示:

当用户选择权限并在登录界面中输入正确管理员ID或车牌号和密码后会根据选择的权限对管理员ID或车牌号和密码进行验证,验证成功后方可进入下一页面,如图5-3所示图5-3录入界面判断用户权限及密码正确与否的代码如下:if(sel.equals("yonghu")){

//当用户为违章用户时,执行以下代码;sql

=

"SELECT

*

FROM

student

where

cph='"+user+"'

and

password

=

'"

+

pwd+

"'";

URL="yonghu.jsp";

ResultSet

rs

=

stmt.executeQuery(sql);

if(rs.next()){

String

a=rs.getString("name");

request.getSession(true);

session.setAttribute("name",a);

session.setAttribute("id",user);

response.sendRedirect(URL)

}

else

response.sendRedirect("error.jsp")

}

else

if(sel.equals("admin")){//当用户为管理员时,执行以下代码;sql

=

"SELECT

*

FROM

admin

where

admin_id='"+user+"'

and

password='"+pwd+"'";

URL="admin.jsp";

ResultSet

rs

=

stmt.executeQuery(sql);

if(rs.next()){

request.getSession(true);

session.setAttribute("id",user);

response.sendRedirect(URL)

}

else

response.sendRedirect("error.jsp")

}//使用executeQuery执行SQL查询语句5.2查询首先进入登陆界面:如图5-4所示图5-4登陆界面在方框内输入车主和车牌号,点击查询如图5-5所示图5-5查询界面1更换用户如图5-6所示:图5-6查询界面2这样就完成了查询,通过查询本人就可以了解自己的违章记录,就可以自己去交罚款了。第6章系统的测试由于测试条件的限制,本系统未能经过大规模访问量及大容量数据进行测试,仅进行了小范围及少量数据进行测试。

6.1测试方法

由于测试条件的限制,本系统未能经过大规模访问量及大容量数据进行测试,仅进行了小范围及少量数据进行测试。

为了提高测试效率,降低测试成本,本测试方案采用黑盒法设计基本的测试方案,再用白盒法补充一些方案。在黑盒法测试方案中,采用等价划分技术,把所有可能的数据划分成几个等价类。

6.2

测试项目

该测试的内容主要有以下几个方面:(1)登录测试;(2)数据输入和输出测试;(3)权限测试;(4)用户功能测试;(5)管理员的功能测试;

6.3

测试用例

这一过程目标是分别使用不同用户账户登录,进行按规定程序操作,遍历各个功能模块,检测功能实现情况及数据库连接情况。通过测试发现,系统基本功能全部实现,系统基本满足交通信息处理系统的基本要求。本阶段使用测试用例如下:

(1)测试用例T1:使用管理员账户进行登录,修改密码,查询所有用户的基本信息,手工添加用户及用户的基本信息,查询用户的所有违章信息,手工添加用户的违章记录并锁定,查看用户违章的接受处理情况,发布信息,看是否有无明显的功能没有达到系统需求分析时的要求。

(2)测试用例T3:使用用户账户登录,修改个人密码,查阅个人的基本信息,修改部分附加信息,查询所有的违章记录,打印相关的查询结果,查看公告,看是否这些功能都满足。

6.4

测试结果

各模块的测试结果如下:

(1)登录测试中,没有发现什么错误;

(2)输入和输出测试中,对所有相同的输入都可以得出相同的输出;(3)权限测试过程中,没有发现什么错误;

(4)用户功能测试中,没有发现什么错误;

(5)管理员测试中,没有发现什么错误。

系统测试是系统开发过程中的一个重要环节,系统设计及实现是否满足了用户的需求是通过系统测试得以验证,系统测试的目的是对最终系统进行全面的检测,确保系统满足用户的需求。由于测试条件的限制,本系统未能经过大规模访问量及大容量数据进行测试,仅进行了小范围及少量数据进行测试第7章总结经过测试,系统能够很好的运行实现管理功能,功能模块也能够达到老师所指定的要求。系统可以实现用户信息的集中管理、分散操作、检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高交通信息处理的效率,也是城市的科学化、正规化管理,与世界接轨的重要条件。

通过系统的设计,本人感触最深的是加深了对软件开发过程的理解,熟悉了利用JSP实现各种实用的数据库型软件的开发,以及了解了教务管理的一些流程,也更加深入理解了MIS设计中常见问题和其设计的意义。本文在详细分析了交通信息处理的各功能模块基础上,设计并实现了交通信息处理系统的简易版本。论文的主要工作包括以下几个方面:

(1)详细地分析和总结了交通信息处理的需求,并确定了交通信息处理系统实现的初步方案。

(2)分析了系统实现的关键技术原理,和具体描述了各个功能模块,并用图示表示出了系统功能结构图,使得更容易了解本系统。

(3)设计并实现了信息处理系统的逻辑模型,并基于SQLServer2000数据库实现了交通信息处理系统数据的物理模型。

(4)采用JSP实现了交通信息处理系统的初步版本。

经过一个多学期的设计和开发,交通信息处理系统基本开发完毕,但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如对于信息的采集这一块,运用到实际中难免存在理论和实际的不符,还有系统出错处理等一些问题。在我的进一步工作中,我将对这些问题进行完善。参考文献[1]

王夏黎,朱晓冬,周明全,魏军.交通违章视频检测管理系统的设计与实现[J].长安大学学报(自然科学版),2005.

[2]

陈晓关,童绥望.智能交通信号优化控制系统框架[J].武汉理工大学学报,2004.

[3]

李刚,曾锐利,丁茹,林凌.多信息融合技术的城市交通监控系统的研究[J].传感技术学

报,2006.

[4]

陈旭梅,于雷,郭继孚等.美国智能交通系统ITS的近期发展综述[J].中外公路,2003.

[5]

董峰,朱灿焰.基于SMS的交通违章信息处理系统及其实现[J].苏州大学学报(工科版)2008.

[6]

刘大海,卢朝阳.视频技术在智能交通系统中的应用[J].计算机工程,2003.

[7]

程三伟,伶守愚,李江.高速公路车辆违章超速行为检测与判别的研究[J].计算机工程与应用,2005.

[8]

徐银霞,李德华,石永辉.基于GR47模块的车辆定位监控系统移动终端的设计[J].计算机与数字工程,2004.

[9]

刘肃亮,违章逆行智能视频监控系统设计[J].计算机工程与设计,

2007.

[10]

辜志力,曾喆,钟世明.基于SMS技术的GPS车辆监控[J].计算机应用研究,2003.

[11]

荆便顺.道路交通控制工程[M].北京:人民交通出版社,1995.

[12]

王荣本,游峰,崔高健.基于计算机视觉高速智能车辆的道路识别[J].计算机工程与应用,

2004.

[13]

姚志均,许毅平,魏蛟龙.视频监控系统中运动目标的分割定位[J].微计算机信息,2007.

[14]

朱得旭.移动视频监控技术及其在道路交通安全领域中的应用[J].道路交通与安全,2006.

[15]

刘肃亮,周明全,耿国华.违章停车智能监控系统(IPPMS)的设计[J].计算机工程,2004.

[16]

施鹏飞,胡福乔,朱胜华.平面交叉路口交通信号控制策略研究[

J

].计算机工程与应用,

2003.

附录程序1<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title>查询界面</title><linkhref="../css/common.css"rel="stylesheet"type="text/css"><scriptsrc="${pageContext.request.contextPath}/js/jquery.js"></script><scriptsrc="${pageContext.request.contextPath}/js/sanfu.js"></script><scriptlanguage="javascript"> /***定义一个函数,,,改变页的跳转*/ functionchangePage(pageNo){ if(pageNo!="${pager.pageNo}"){ window.location="${pageContext.request.contextPath}/event/search.action?pageNo="+pageNo; } }</script></head><body><formaction="${pageContext.request.contextPath}/event/search.action"method="post"><tablewidth="100%"border="0"cellspacing="0"cellpadding="0"id="inquire"><tr><tdclass="title"> <!--查询标题和查询按钮--> <tablewidth="100%"border="0"cellspacing="0"cellpadding="0"> <tr> <tdwidth="200"height="25"class="bold">查询</td> </tr> </table> </td></tr><tr><tdclass="con"> <!--查询条件--> <tablewidth="100%"border="0"cellspacing="0"cellpadding="0"> <tr> <tdwidth="%25"align="right">车主:</td> <tdwidth="%25"><inputname="studentsConditionC"value="${studentsConditionC}"type="text"size="25"class="input-most"></td> </tr> <tr> <tdwidth="%25"align="right">车牌号:</td> <tdcolspan="3"><inputname="studentsConditionCheck.num"value="${studentsConditionCheck.num}"type="text"size="25"class="input-most"></td> </tr> <tr> <tdwidth="750"align="right"><inputname="submit"type="submit"class="submit-button"value="查询"></td></tr></table> </td></tr></table></form><tablewidth="100%"border="0"cellspacing="0"cellpadding="0"id="list"><tr><td> <tablewidth="100%"border="0"cellspacing="0"cellpadding="0"> <tr> <tdclass="title"> <!--表头--> <tablewidth="100%"border="0"cellspacing="0"cellpadding="0"> <tr> <tdwidth="10%"align="center">车主</td> <tdwidth="15%"align="center">车牌号</td> <tdwidth="15%"align="center">时间</td> <tdwidth="30%"align="center">原因</td> <tdwidth="30%"align="center">结果</td> </tr> </table> </td> </tr> <tr> <td> <!--表体--> <c:forEachitems="${pager.list}"var="event"> <tablewidth="100%"border="0"cellpadding="0"cellspacing="1"bgcolor="#758795"> <trclass="bg1"> <tdwidth="10%"align="center">${}</td> <tdwidth="15%"align="center">${event.num}</td> <tdwidth="15%"align="center">${event.time}</td> <tdwidth="30%"align="center">${event.reason}</td> <tdwidth="30%"align="center">${event.res}</td> </tr> </table> </c:forEach> </td> </tr> </table> </td></tr><tr><td> <tablewidth="100%"border="0"cellspacing="0"cellpadding="0"> <tr> <tdalign="right">[当前第<fontcolor="red">${pager.pageNo}</font>页/共<fontcolor="red">${pager.totalPage}</font>页]  <ahref="#"onClick="changePage(1)">[第一页]</a> <ahref="#"onClick="changePage('${pager.prePage}')">[上一页]</a> <ahref="#"onClick="changePage('${pager.nextPage}')">[下一页]</a> <ahref="#"onClick="changePage('${pager.totalPage}')">[最后一页]</a> <ahref="#">转到</a> <inputname="pageNo"type="text"id="pageNo"size="3"value="1"> 页 页面大小 <inputname="pagesize"type="text"size="2"value="20"> </td> </tr> </table> </td></tr></table><scripttype="text/javascript"></script></body></html>程序2packagecom.xiaowenzi.car.action;importjava.util.List;importcom.xiaowenzi.car.domain.Pager;importcom.xiaowenzi.car.domain.Event;importcom.xiaowenzi.car.domain.StudentsConditionCheck;importcom.xiaowenzi.car.service.EventService;publicclassEventActionextendsBaseAction{ privateEventServiceeventService; privateEventevent; privateStudentsConditionCheckstudentsConditionCheck; //查询基本信息*********** privateList<Event>studentsList; privatePager<Event>pager; privateintpageNo; privateintpageSize; //增加基本信息*********** publicStringadd(){ eventService.add(event); returnSUCCESS; } /***弹出显示列表页面,,完成查询*@return*/ publicStringsearch()throwsException if(studentsConditionCheck==null){ studentsConditionCheck=newStudentsConditionCheck(); } if((studentsConditionCheck.getName()!=null)&&(!"".equals(studentsConditionCheck.getName()))){Stringname=newString(studentsConditionCheck.getName().getBytes("utf-8"),"utf-8"); studentsConditionCheck.setName(name); } if(pageNo==0){ pageNo=1; } if(pageSize==0){ pageSize=2; } pager=eventService.getPager(pageNo,pageSize,studentsConditionCheck); returnSUCCESS; } /***页面的显示*@return*/ publicString

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论