电子交通模拟系统学位论文Word文档下载推荐.docx
- 文档编号:21471138
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:24
- 大小:97.51KB
电子交通模拟系统学位论文Word文档下载推荐.docx
《电子交通模拟系统学位论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《电子交通模拟系统学位论文Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。
5运行与测试25
5.1软件测试的目的和原则25
5.2软件的运行与安装26
5.2.1J2EE应用程序的构建与部署26
5.2.2具体运行过程以及后期维护26
6结论28
参考文献29
致谢30
1引言
道路交通管理与控制是道路交通工程的一个重要组成部分,他的主要目的,是根据现有的道路网及其设施和出行分布状况,对各种出行加以指导性管理,使整个系统从时间上尽可能地得到协调。
随着城市的快速发展,交通系统的问题也日渐突出,如市区道路行车延误增大,整体行驶车速过低等,其中最为关键的是交叉口的车流量已处于饱和状态。
分析其原因,主要是由于现有交叉口的几何条件所限,以及缺少完善的交通管理设施。
道路上交通标志不规范,路口灯控率、十字路口渠划率等衡量城市管理水平的重要指标较低等等。
为了解决交通拥挤的问题,许多城市采取了完善路网和改善交通信号控制设施的措施,也提出许多新理论和新方法,在这一定程度上环节了交通拥挤的问题。
但是,交通系统的新理论和新方法受实践限制,不能充分的进行验证或者应用于实际中;
而道路交叉口或区域的交通控制系统参数的测算,由于计算烦琐和时间情况的变化也不能达到最佳效果,无法知道动态的情况。
因此需要一种比较简便快捷的方法来设计交通控制系统或能对其完善性进行评价和验证。
通过计算机,动态模拟交通控制系统,可以在一定程度上对道路交通系统进行研究并得到较好的效果。
2开发语言和开发工具简介
2.1Java技术简介
Java是近代出现的新一代面向对象程序设计语言,由Sun公司推出,起初用于家电产品上的软件编程。
后来,经过Sun公司的不断推出新的版本,目前版本已达到1.6。
Java是一种简单的、面向对象的、分布式的、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的语言。
2.1.1Java语言的特点
1.简单
Java与C的区别是C是面向过程的语言,而Java是面向对象的语言,Java与C++语言非常相近,但比C++简单,在Java中取消息了对指针的操作,抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。
Java实现了自动的垃圾收集,简化了内存管理的工作。
2.面向对象
Java是面向对象的语言,将世间万物都看成对象,将对象所具有的共性抽取出来,就是对象的类。
Java提供了简单的类机制和动态的构架模型。
对象中封装了它的状态变量和方法,很好地实现了模块化和信息隐藏;
而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或重新定义父类或超类所提供的方法,从而既实现了代码的复用。
3.多线程
多线程的实现方式可以通过软件或硬件实现,Java是语言级别的多线程,通过JVM实现,多线程使应用程序可以同时进行不同的操作,处理不同的事件。
在多线程机制中,不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容易实现网络上的实时交互操作。
4.分布式
Java是面向网络的语言。
通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便的访问其他对象。
5.跨平台
Java是通过JVM实现其跨平台的,JVM通过不同的接口与操作系统交互,上层通过相同的接口与Java语言交互,Java是一种网络语言,为使Java程序能在网络的任何地方运行,Java解释器生成与体系结构无关的字节码结构的文件格式。
Java语言环境还提供了用于访问底层操作系统功能的类组成的包,当程序使用这些包时,可以确保它能运行在各种支持Java的平台上。
6.安全性
用于网络、分布环境下的Java必须要防止病毒的入侵,Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
2.1.2Java开发工具
JDK
JDK(JavaDevelopmentKit)是一个写Java的applet和应用程序的程序开发环境。
它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。
1.Java编译器(Javac命令)
Java编译器将Java源代码文件编译成可执行的Java字节码。
Java源代码文件的扩展名为.java,Java编译器把这种扩展名的文件编译成扩展名为.class的文件。
源文件中的每个类在编译后都将产生一个class文件,这意味一个Java源代码文件可能编译生成多个class文件。
2.Java解释器(java命令)
Java解释器对编译生成的字节码格式的可执行程序的运行提供支持,它是运行非图形Java程序的命令行工具。
ECLIPSE
根据需求分析及功能分析,选用Eclipse集成开发工具及Oracle数据库来开发此系统。
1.Eclipse的起源和发展Eclipse的前身是IBM的VisualAge。
由于意识到VisualAge存在难以扩展、底层技术较为脆弱、很难与WebSphereStudio软件集成等诸多问题,进一步发展甚为困难,同时也面临包括Symantec公司的VisualCafé
、Borland公司的JBuilder等开发工具的竞争压力,IBM决定创建一个更开放的,并且可以为IBM其他开发工具提供支持的一体化开发平台。
1998年11月,IBM专门成立了一个项目开发小组,开始开发该平台,2000年新一代开发平台诞生,这就是大家所熟悉的Eclipse。
2000年11月,IBM做出了一个重大决定,将Eclipse采用开放源码的授权和运作模式发布,以增强业界对Eclipse的关注度并加快其推广应用速度。
随后,IBM于2001年12月向外界宣布,捐赠价值4千万美元的Eclipse源码给开源社区;
成立由成员公司组成的Eclipse协会(EclipseConsortium),以便支持并促进Eclipse开源项目。
事实证明,IBM的决策非常英明。
Eclipse受到广泛关注,蜂拥而至的用户使得其下载服务器一度阻塞,给业界带来了久违的震撼!
IBM趁热打铁,在EclipseCon2004上宣布成立一个独立的、非盈利性的基金会,由该基金会负责管理和指导Eclipse开发,目前其成员多达近百家知名公司,其中包括Borland、RationalSoftware、RedHat、Sybase、Google和Oracle等业界巨头。
Eclipse开发状态非常活跃,目前成熟稳定的版本是3.2,正在开发的版本是3.3,已经成为业界主要的非微软软件开发平台。
2.Eclipse的优势
目前全球有上百万人在使用Eclipse进行开发。
为什么Eclipse拥有如此众多的用户?
这与Eclipse集众多特性于一身有很大关系。
Eclipse是开放源代码的软件。
这意味着Eclipse不仅可以免费使用,还可以通过研究源代码学习世界上顶尖开发人员的编程技术,并可以共享遍布全球的开发人员所贡献的公共开放源代码库。
Eclipse是真正可扩展并可配置的。
Eclipse采用插件机制,犹如一个花瓶,你可以随时向花瓶里面插花,也可以很容易将不再需要的花取出。
Eclipse支持众多的开发语言而不仅仅是Java。
Eclipse只是给开发人员提供了一个能够扩展系统功能的最小核心,基于扩展点的插件体系结构使得Eclipse支持多种语言成为可能。
只要安装相应语言的插件,Eclipse就可以支持该种语言的开发。
目前,Eclipse已经可以支持C、COBOL、PHP、Perl、Python等多种语言。
Eclipse提供了对多重平台特性的支持。
开发者可以使用他们感觉最舒适、最熟悉的平台,例如Windows、Linux等。
Eclipse对每个平台都有其单独的图形工具包,这使得应用程序具有接近本地操作系统的外观和更好的性能。
2.2GUI技术简介
2.2.1GUI的概述
GUI(GraphicsUserInterface)是指图形用户接口,当Java在1995年的春天第一次发布的时候,它包含了一个叫AWT(AbstractWindowingToolkit)的库,用来构建图形用户界面应用程序。
Java很有雄心的宣言--"
writeonce,runanywhere"
许诺:
一个具有下拉菜单,命令按钮,滚动条以及其他常见的GUI控件的应用程序将能够在各种操作系统上运行而不必重新编译成针对某一平台的二进制代码,包括MicrosoftWindows,Sun’sownSolaris,Apple’sMacOS以及Linux。
虽然最初Java是支持操作系统独立的应用程序开发,在Java提出"
宣言那段时间的革命导致了Javaapplet和主导桌面应用程序计划的产生。
尽管从那以后大部分构建桌面应用程序的成就都慢慢衰退,Java构建图形用户界面的能力反倒增强了。
跟踪JavaGUI的发展和演化,我们将发现3个主要的构建窗口程序库:
AWT,Swing和SWT(StandardWidgetToolkit)。
在本系统中,主要采用的是Swing。
2.2.2Swing的概述
Swing是SUN公司退出的第二代图形用户接口工具包,通过Swing可以开发出功能强大,界面优美的客户应用程序。
Swing不但提供了很多功能完善的控件,而且其还具有良好的扩展能力,用Swing来进行交互界面的开发是一件另开发人员非常愉快的工作。
Swing从诞生到现在大致经历了如下几个阶段。
Swing项目是从1996年底开始的,在项目开始的同时所有的参与者共同选定了这个名称,目的就是开发一个不依赖于本地系统的图形用户接口工具包。
1997年后半年Swing进入测试阶段,并在1998年春随同JDK1.1首次发行,对于JDK1.1之前的版本,是不能使用Swing库的。
Swing从首次发行开始,就不断快速的成长,自JDK1.2之后,便被完全集成到了java的标准类库中,成为java基础类库(JFC)大家族中一个重要组成部分。
2.2.3Swing的特点
Swing的特点主要包括完全轻量级的控件、可插拔的感观风格、更多的控件扩展3个方面。
完全轻量级的控件:
几乎所有的Swing控件都是轻量级的、纯java开发的,这样在控件对自己进行绘制时就不会依赖本地操作系统平台的对等控件,而是使用绘制图形的基本元素直接通过java平台在屏幕上进行绘制,这样就避免了早期不是使用轻量级控件的java图形用户界面程序在不同的操作系统中运行时有不同的外观,切换操作系统后显示不正常等问题。
可插拔的感观风格:
Swing在界面显示上很吸引人的一点就是支持可插拔的感观风格,主要包含以下几个方面:
Swing能够模拟各种不同操作系统的感观风格,其类库中就包含了Windows,UnixMotif,LinuxGTK,MacOSX以及JavaMetal等感观风格。
如果有需要,开发人员还可以通过系统提供的接口编写自定义的感观风格。
Swing还允许用户在不关闭应用程序的情况下,在各种感观风格之间进行自由切换。
系统自带的JavaMetal感观风格合并了众多风格中最好的图形元素,甚至增加了一些属于其自己的特性。
现在的Metal感观风格支持多种不同的主题,各主题之间在颜色和字体等方面都有所不同,用户如果有需要,还可以开发自己的主题。
3)更多的控件扩展:
Swing中增加了许多新的控件并且为每个控件都增加了工具提示的功能,同时Swing还支持任意数量嵌套边框的镶边替代物,并且可以任意的将键盘事件绑定到控件中。
2.3JDBC技术简介
2.3.1JDBC概述
1996年,SUN公司提出JDBC即JavaDataBaseConnectivity;
JDBCTM(trademark);
JDBC(java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
2.3.2JDBC的功能
1)有了JDBC,向各种关系数据库发送SQL语句就是一件很容易的事。
换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,为访问Informix数据库又写另一个程序,等等。
您只需用JDBCAPI写一个程序就够了它可向相应数据库发送SQL语句。
而且,使用Java编程语言编写的应用程序,就无须去忧虑要为不同的平台编写不同的应用程序。
将Java和JDBC结合起来将使程序员只须写一遍程序就可让它在任何平台上运行。
2)Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。
所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。
而JDBC正是作为此种用途的机制。
3)JDBC扩展了Java的功能。
例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)。
随着越来越多的程序员开始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加。
3系统分析和总体规划
3.1系统的必要性和可行性
一、必要性:
近年来,随着社会经济的不断发展和人们生活水平的普遍提高,整个社会对交通运输的需求日益增加。
虽然世界各国政府已经或是正在大量投入财力于交通基础设施的建设,但交通状况恶化及其伴生的安全事故、空气污染等一系列问题越来越困扰着有关的政府当局。
交通运输对经济发展的制约作用不同程度地普遍存在于每个国家/地区,如何解决大城市周围地区交通拥挤和堵塞现象几乎成了最为棘手的难题之一。
因此为了能更好的控制车辆流动;
更好的减少交通拥挤,避免交通堵塞;
更好的发挥智能交通灯的优势,使城市车流的调节达到最优,以至让我国的经济再一次的快速发展,我们通过构建一个电子交通模拟器实现对交通的模拟是很有必要的。
二、可行性:
(1)经济可行性:
该系统只需要一台计算机,运行安装oracle数据库服务器即可,对于一个交通管理部门来说,这是很容易达到的,所以在经济上是可行的。
(2)操作可行性:
在当今社会,科技腾飞的时代,计算机的使用已经很普及,只要是受过教育的人,对于计算机的基本操作都能得心应手,所以对于交通管理部门里面的人员,其操作性毋庸怀疑,所以也是可行的。
(3)技术可行性:
本系统采用Java语言,基于Eclipse+SUSELinux+SunOS5.10开发平台,采用GUISwing,Oracle10g,JDBC技术,开发者掌握这些技术就可以具备开发此系统的能力,这些技术都是公开的,且开发者容易掌握的。
所以,技术方面也是可行的。
3.2需求分析
此系统主要完成交通路口模拟的功能,因此,需要的数据信息包括:
红绿灯的计时时间,各方向的开始车辆,各方向的后来车辆,以及车速等。
功能需求分析的任务是弄清用户对目标系统数据处理功能所提出的需求。
本系统的功能需求有:
(1)用户可以通过输入红绿灯的数据,看到时间计时。
(2)用户可以通过界面直接看到红绿灯随着时间有规律的转换。
(3)用户可以通过输入车辆的相应数据,看到车辆通行的情况。
(4)用户可以直接查询日志文件。
(5)用户可以查询某一时间段的交通情况。
3.3总体设计
3.3.1系统功能设计
1.系统功能:
本模块的主要功能是客户端通过用户输入数据,对交通路口进行一个模拟,并把数据纪录下来,以供研究。
其主要功能如下:
(1)时间的计时
通过用户输入的红绿灯时间进行倒计时。
(2)红绿灯的切换
用户可以观看红绿灯在规定时间自动转换。
(3)车辆的模拟
通过用户输入的数据,实现车辆。
(4)日志查看
用户可以查看某一天的日志情况。
(5)历史查询
用户可以查询某一时间段的交通模拟情况
2.系统功能结构图:
通过对所做模块的功能需求分析,该模块主要功能可分为五大部分,
系统用例如图3-1所示。
图3-1系统用例图
3.3.2运行过程设计
本系统使用java语言,在客户端使用GUISwing编程技术,实现图形化界面和用户进行交互,对于用户的请求由action事件进行处理,转而调用相应的业务逻辑层,随着时间的计时,系统执行相应的功能,对于执行后的结果直接写入到日志中同时也备份到数据库中,供用户查询。
运行步骤:
(1)用户打开图形化界面。
(2)输入相应的数据。
(3)查看红绿灯计时以及车辆通行的情况。
(4)查看日志文件。
(5)用户通过输入时间查询对应的历史纪录。
系统流程图
图3-2系统流程
流程图详解:
用户找到MainGUI.java类文件,并运行它,弹出交通模拟界面图像,根据图像显示的内容,用户输入相应的初始数据,然后点击确定按钮,此时,界面上的计时模块便开始计时,同时界面上的车辆也开始根据红绿灯的显示走动起来。
用户此时就可以观察,如果发现某个路口的车辆越来越多,则表明用户输入的初始数据不适合此路口的交通,需重新输入,再进行观察,直到界面上的车辆走动顺畅,就表明此次用户输入的时间数据适合这个路口的交通。
当用户点击查询按钮时,会弹出一个查询界面,此时,用户输入所想要查询的某一天或某几天的日期,就可以搜索到这几天所输入的数据的纪录,根据这些纪录也可以找出一个适合这个交通路口的最佳的时间设置。
最后点击结束按钮,就会停止模拟。
3.3.3数据库设计
数据库设计就是设计程序所需数据的类型、格式、长度和组织方式。
因为数据库应用系统主要是处理大量的数据,所以数据库设计的优劣,直接影响整个数据库应用系统的性能和执行速率。
根据本系统的功能需求分析,本系统的数据库包括四个表,东边交通路口表(east_tbl),南边交通路口表(south_tbl),西边交通路口表(west_tbl),北边交通路口表(north_tbl)
4系统具体设计
4.1数据库表设计
1)东路口的表(east_tbl)
该表只存放东边交通路口所纪录的数据信息,主键是id
字段名
类型
字段宽度
小数位数
键值
id
int
10
PK
day
date
timer_red
timer_green
timer_yellow
Int
count_car
表4-1east_tbl表
建表语句:
createtableeast_tbl(
idnumber(10)primarykey,
daydate,
timer_rednumber(10),
timer_greennumber(10),
timer_yellownumber(10),
count_carnumber(10)
)
创建sequence:
createsequenceeast_tbl_id
incrementby1
startwith1
nocache
nocycle;
2)南路口的表(south_tbl)
该表只存放南边交通路口所纪录的数据信息,主键是id
索引
表4-2south_tbl表
创建语句
createtablesouth_tbl(
idnumber(10)primarykey,
createsequencesouth_tbl_id
3)西边路口(west_tbl)
该表只存放西边交通路口所纪录的数据信息,主键是id
表4-3west_tbl表
createtablewest_tbl(
createsequencewest_tbl_id
4)北边路口(north_tbl)
该表只存放北边交通路口所纪录的数据信息,主键是id
表4-4north_tbl表
createtab
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 交通 模拟 系统 学位 论文