毕业设计电子交通模拟系统.docx
《毕业设计电子交通模拟系统.docx》由会员分享,可在线阅读,更多相关《毕业设计电子交通模拟系统.docx(23页珍藏版)》请在冰豆网上搜索。
![毕业设计电子交通模拟系统.docx](https://file1.bdocx.com/fileroot1/2022-10/24/1c624fbf-b679-4c7d-b267-498bc1d46cdd/1c624fbf-b679-4c7d-b267-498bc1d46cdd1.gif)
毕业设计电子交通模拟系统
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提出"writeonce,runanywhere"宣言那段时间的革命导致了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,可以为多种关系数据库提供统一访问,它由一