停车场车位管理系统资料.docx
《停车场车位管理系统资料.docx》由会员分享,可在线阅读,更多相关《停车场车位管理系统资料.docx(68页珍藏版)》请在冰豆网上搜索。
停车场车位管理系统资料
编号:
审定成绩:
XX大学
毕业设计(论文)
设计(论文)题目:
停车场车位管理系统—软件设计
学院名称:
学生姓名:
专业:
通信工程
班级:
学号:
指导教师:
答辩组负责人:
摘要
随着汽车的不断增加,停车问题日益突出,特别是在大城市,因此,解决停车所带来的问题成了生活的一部分。
停车的诸多问题包括停车场的车位管理、空位信息摄取等。
本文在采用CAN总线协议的基础上提出了一种新的停车场车位管理系统,软件部分可实现登录权限、添加账户、查找停车场的车位信息等操作并实现了硬件和计算机终端的通信,解决了数据包到数据库的自动写入和删除操作等。
本系统硬件采用超声波对汽车进行检测,并利用图像识别技术识别出车牌号,利用单片机处理数字信号后,最终生成数据包通过CAN总线结构传送到计算机终端,再自动写入进计算机终端软件的数据库中,再由软件提供界面将数据显示出来。
当有车辆离开该点时,数据库中的数据将自动删除掉。
本系统较之以往的停车场车位管理系统,具有以下一些优点:
1.系统硬件采用CAN总线结构,方便分布式信息传送。
加上CAN总线协议格式的仲裁场中的识别符,使停车位的识别更加方便、准确。
2.系统采用微软的C#作为开发工具,C#作为.NET平台中最为优秀的开发工具,提供了多种控件,方便程序开发者进行界面设计,同时.NET提供了较高的安全性,可使数据的准确性较高。
3.系统采用了自动写入删除操作,这样不会因操作者输入失误而带来错误。
加上超声波的识别精度较高,可使系统的数据更加准确。
【关键词】C#CAN总线数据库查找自动写入删除
ABSTRACT
Withtheincreaseofmotorvehicles,parkingproblemshavebecomeincreasinglyprominent,especiallyinlargecities,therefore,tosolvetheproblemsbroughtaboutbyparkinghasbecomeapartoflife.Manyissues,includingparkingspacescarparkmanagement,suchasinformationintake.Inthispaper,usingCANbusprotocolbasedonanewmanagementsystemoftheparkingspaces,thesoftwareCANbepartoftheregistrypermissions,addtheaccounttofindparkingspacesincarparksandoperationofinformationandcomputerhardwaretoachievethecommunicationterminal,solvethepackettothedatabaseanddeletetheautomaticwriteoperation.
Thesystemhardwareusedtoconductultrasonictestingonthecarandtomakeuseofimagerecognitiontechnologytoidentifymaximumnumberofgrades,theuseofsingle-chipdigitalsignalprocessing,thefinalgenerationofdatapacketstransmittedthroughtheCAN-busstructuretothecomputerterminal,andthenautomaticallywrittenintothecomputerterminalsoftware,databasesoftwareprovidestheinterfacefromthedatadisplayed.Whenvehiclesleavethepoint,thedatabasewillbeautomaticallyremoved.
Thesystemoftheparkingspacesthanthepreviousmanagementsystem,hasthefollowingadvantages:
1.CANBussystemhardwarestructureusedtofacilitatethetransmissionofdistributedinformation.CANbuswithanarbitrationagreementformatidentifierfield,sothatmoreparkingspacestofacilitatetheidentificationandaccurate.
2.SystemusesMicrosoft'sC#asthedevelopmenttools,C#asa.NETplatform,themostoutstandingdevelopmenttools,providesawiderangeofcontrolstofacilitatetheprocedurestocarryoutthedevelopmentofinterfacedesign,atthesametime.NETprovidesahighersecurity,willenabledatahigheraccuracy.
3.Systemtoremovetheautomaticwriteoperation,sothattheoperatorwillnotenterawrongmistake.Ultrasonicidentificationwithhighaccuracy,thesystemwillenablemoreaccuratedata.
【Keywords】C#CANbusdatabasefindautomaticallydeleteandwrite
XX大学毕业设计(论文)教学档案
前言
2000年末,微软推出了软件界处子.net平台——VisualStudio,该平台包含了多个开发工具,如:
VisualC++,VisualBasic++,VisualC#等等,标示着软件业的新世纪开端。
时隔七年,2007年,微软推出了全新的Office版本——MicrosoftOffice2007,该版本集成了多种工具,如:
Word,PowerPoint,Access等等。
作为小型的数据库管理系统,Access具备了多种优越性,例如:
利用Access可以快速的创建数据库,再者,Access的管理维护较为方便,因此Access被广泛应用在了中小型软件开发上。
CAN总线的运用最初是在汽车上的,CAN秉承了局域网结构的许多优点,又去掉了IP地址的麻烦,可较为方便的运用在小型网络上,特别是分布式网络上。
停车场的车位分点信息获取为CAN总线的采用打下了前提。
前面看似毫不相关的三段话,通过了“停车场车位管理系统”衔接在了一起。
本文介绍了一种采用CAN总线协议的停车场车位管理系统,该软件系统在以Access作为数据库管理系统的基础上,采用VisualStudio平台的C#进行开发。
全文共分五章:
第一章:
简单介绍了C#,包括C#的发展历史及优越性,并提及了.net平台的一些特性。
作为基础,本章为下面章节作了铺垫,打下了基础。
第二章:
概述了停车场车位管理系统的硬件结构,重点介绍了本系统所采用的CAN总线结构。
在此基础上,初步介绍了停车场车位管理系统所具备的功能。
第三章:
介绍停车场车位管理系统所采用的数据库管理系统——Access,简单涉及了停车场车位管理系统所需要的数据库的创建过程。
第四章:
本章为本文的重点,介绍了停车场管理系统,包括该系统的主界面、子界面等,并介绍了数据库的自动写入和删除操作。
第五章:
.NET具备多种优越性,其中和其他可视化编程区别的一点是.NET需要部署。
本章介绍部署的过程。
重点在第二节,介绍了本系统的测试结果,通过测试结果显示得出结论:
本系统可完成预测的需求功能。
本文由颜金传编写,XX老师给以了充分的指导和极大的帮助,并对该文的修改提出了宝贵的意见。
由于时间和水平问题,难免存在一些错误,敬请谅解!
颜金传
2009-5-15
第一章C#概述
第一节.net平台
编程语种发展历史
自1946年2月14在宾西法尼亚大学研制出世界上第一台计算机至今,自比尔•盖茨利用神奇的Basic语言创造出的种种奇迹以来,计算机便和编程语言紧密的联系在了一起。
如果将计算机比作一个人,那么程序就相当于这个人的头脑,计算机的硬件结构相当于人的身体,身体要做出何种动作或反应,需要大脑分析并发出命令。
程序最原始的语言使用的是机器语言,计算机只能处理数字信号,于是配合着计算机的0、1之类的“匪夷所思”的代码应运而生,偶尔心血来潮不得不钦佩一下人类的祖先。
后来“有钱”了,发达了,开始用“助记符”来表示二进制信息,虽然运行起来速度不如机器语言来的快(当然没有像机器语言那样“匪夷所思”),但是总体速度还是很快,至少比飞机飞的快多了。
再后来,社会一进步,IT一发展,高级语言来了。
太帅了,什么BASIC、ALGOL60、COBOL、PL/1、Pascal、C语言等等。
于是,忠实的程序员开始围着高级语言团团转。
在这,我们就不得不发出疑问:
为何高级语言这么迷人?
这里的高级语言应指结构化编程,结构化编程和机器语言一样,需要对某种事物进行定义,包括属性和行为等等。
高级语言之所以如此迷人,在于它更符合程序员的表达方式,更容易被人接受和理解等等。
研发者慢慢的将结构化编程里某种事物的属性和行为伪装了起来,组成了“类”,发展成了对象化编程,如ObjectPascal、C++、Java等等。
同样的,将“类”比作一个人,那么这个人有手、脚、头脑、内脏等等,这就如同对象化编程里“类”的属性,结构化和对象化编程差别就在于结构化需要对这些属性进行定义才能使用,而对象化直接调用类就可以了。
类似的,“类”有行为,比如这个人被别人踢了一脚,他会如何反应?
反踢别人一脚?
觉得踢他的人脚会疼,过去摸一摸?
Perl语言发明人LarryWall有段这样的话:
“偷懒、没有耐性、骄傲自大是程序员的三大优良品质”。
偷懒使程序员想方设法使用更少的时间来完成相同的程序。
古时候,愚公和李冰都有移山的做法,愚公用的是将山一点点凿去,然后搬到其他的地方,因为,他知道子子孙孙无穷溃也,所以他知道自己的方法是可行的。
而李冰用的却是截然不同的方法,他用的方法是积薪而烧之。
同样都是为了“解决”他们面前的一座山,愚公既要不断的凿山,又要将凿完的东西搬到其他的地方,而李冰只需通过大量的薪用火烧之即可。
他所需要做的仅仅只是在一旁看着火在不断的燃烧。
从工作量角度来分析,愚公的工作量远远超过了李冰,但此时,并不是工作量越多越好,有的时候,我们所做的工作量都是在浪费我们的时间,正是因为懒惰,使李冰创造了愚公所没有的方法。
这段话在程序研发者身上表现的可谓淋漓尽致,这就体现在可视化编程的出现上。
可视化编程语种,诸如:
Delphi、VisualBasic、VisualC++等等,巧妙的利用了各种RAD环境为软件开发人员提供了许多方便。
随着网络的迅速发展,单机的软件渐渐的不能满足IT办公的需求,人类对交互性的欲望越来越强,特别体现在动态网页的搭建上。
微软一展国际前列软企的风姿,推出了.net平台,促进了网络化编程的发展。
C#作为.net平台的核心语言,更充分的体现了其价值。
同时,C#作为本文的重点,下面将抛开前面的所有的语言,只对C#一一解剖。
.net的优越性
.NET包括4个重要特点,一是软件变服务,二是基于XML的共同语言,三是融合多种设备和平台,四是新一代的人机界面。
这四个特点基本上覆盖了.NET的技术特征。
①软件变服务
在.NET中,最终的软件应用是以Web服务的形式出现并在Internet发布的。
Web服务是一种包装后的可以在Web上发布的组件,.NET通过WSDL协议来描述和发布这种Web服务信息,通过DISCO协议来查找相关的服务,通过SOAP协议进行相关的简单对象传递和调用。
微软的.NET战略意味着:
微软公司以及在微软平台上的开发者将会制造服务,而不是制造软件。
在未来几年之内,微软将陆续发布有关.NET的平台和工具,用于在因特网上开发Web服务。
那时,工作在.NET上的用户、开发人员和IT工作人员都不再购买软件、安装软件和维护软件。
取而代之的是,他们将定制服务,软件会自动安装,所有的维护和升级也会通过互联网进行。
②基于XML的共同语言
XML是从SGML语言演化而来的一种标记语言。
作为元语言,它可以定义不同种类应用的数据交换语言。
在.NET体系结构中,XML作为一种应用间无缝接合的手段,用于多种应用之间的数据采集与合并,用于不同应用之间的互操作和协同工作。
具体而言,.NET通过XML语言定义了简单对象访问协议(SOAP)、Web服务描述语言(WSDL)、Web服务发现协议(DISCO)。
SOAP协议提供了在无中心分布环境中使用XML交换结构化有类型数据的简单轻量的机制。
WSDL协议定义了服务描述文档的结构,如类型、消息、端口类型、端口和服务本身。
DISCO协议定义了如何从资源或者资源集合中提取服务描述文档、相关服务发现算法等。
③融合多种设备和平台
随着Internet逐渐成为一个信息和数据的中心,各种设备和服务已经或正在接入和融入Internet,成为其中的一部分。
.NET谋求与各种Internet接入设备和平台的一体化,主要关注在无线设备和家庭网络设备及相关软件、平台方面。
④新一代的人机界面
新一代人机界面主要体现在“智能与互动”两个方面。
.NET包括通过自然语音、视觉、手写等多种模式的输入和表现方法;基于XML的可编辑复合信息架构——通用画布;个性化的信息代理服务;使机器能够更好地进行自动处理的智能标记等技术。
第二节C#
一、C#发展历史
“各就位、预备、跑”,多精简的几个字,却意味深长。
2000年6月,微软公司前任总裁比尔•盖茨先生在一次名为“论坛2000”的会议上发表演讲,描绘了.net的美景。
带着对未来的憧憬,微软站在了.net的起跑线上,似狼侵略的狂飙在这个“运动场”上。
就在两年之后,那是2002年1月的某个日子里,微软公司公布了.NETFramework1.0正式版。
与此同时,VisualStudio.NET2002也同步发行。
象征着微软向.net发起了攻击,也预示着C#将掀起一场风暴!
2003年4月25日,微软推出了VisualStudio.NET2003新版本,并嵌入了.NETFramework1.1,标志着C#语言规范1.2(C#1.2)版本的建立。
2004年6月,在TechEdEurope会议上,微软发布.NETFramework2.0Beta1和VisualStudio2005Beta1。
同时,还发布多个精简版(ExpressEdition),其中包括VisualWebDeveloper2005、VisualBasic2005、VisualC#2005和SQLServer2005ExpressEdition等。
2005年10月27日,微软发布了VisualStudio.NET2005、.NETFramework2.0和SQLServer2005正式版,标志着C#语言规范2.0(C#2.0)版本的建立。
2006年11月6日,微软发布了.NETFramework3.0。
2007年8月20日,微软发布了C#语言规范3.0(C#3.0)版本。
2007年11月19日,微软发布了VisualStudio.NET2008和.NETFramework3.5版本。
预计在不久的将来,微软将推出强悍的VisualStudio.NET2010版本。
犹记得Borland带来的Delphi神话,曾经的Delphi或许令世人震撼,或许可以干掉VB,或许能令Borland更加强大,或许…所有所有太多的或许了,可是终究只是或许,自从Borland将IDE部门全部卖给易博龙公司之后,人们再也不抱这些所谓的“或许”梦想了。
Delphi和.net之父安德斯·海尔斯伯格,强悍而有低调的丹麦英雄,创造了各种各样的奇迹,改变了整个世界。
Delphi被卖并不是他的失败,难道我们可以否认Delphi的强大吗?
相信用过Delphi的程序员不会这样认为,即使算是一个失败,也照样可以重新站立起来,史玉柱不就是最好的证明吗?
我们有理由相信他可以引领.net创造更加辉煌的未来,并且.net不只是用来对抗Sun公司的工具。
C#的优越性
C#在带来对应用程序的快速开发能力的同时,并没有牺牲C与C++程序员所关心的各种特性。
它忠实地继承了C和C++的优点。
如果你对C或C++有所了解,你会发现它是那样的熟悉。
即使你是一位新手,C#也不会给你带来任何其它的麻烦,快速应用程序开发(RapidApplicationDevelopment,RAD)的思想与简洁的语法将会使你迅速成为一名熟练的开发人员。
正如前文所述,C#是专门为.NET应用而开发出的语言。
这从根本上保证了C#与.NET框架的完美结合。
在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。
让我们来看看C#的一些突出的特点。
①简洁的语法
在缺省的情况下,C#的代码在.NET框架提供的“可操纵”环境下运行,不允许直接地内存操作。
它所带来的最大的特色是没有了指针。
与此相关的是,那些在C++中被疯狂使用的操作符(例如:
“:
:
”、“->”和“.,”)已经不再出现。
C#只支持一个“.”,对于我们来说,现在需要理解的一切仅仅是名字的嵌套而已。
语法中的冗余是C++中的常见的问题,比如"const"和"#define"、各种各样的字符类型等等。
C#对此进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除了出去。
②精心地面向对象设计
也许你会说,从Smalltalk开始,面向对象的话题就始终缠绕着任何一种现代程序设计语言。
的确,C#具有面向对象的语言所应有的一切特性:
封装、继承与多态性,这并不出奇。
然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#建造广泛组件的绝对选择。
在C#的类型系统中,每种类型都可以看作一个对象。
C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦。
C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。
C#中没有了全局函数,没有了全局变量,也没有了全局常数。
一切的一切,都必须封装在一个类之中。
你的代码将具有更好的可读性,并且减少了发生命名冲突的可能。
③与Web的紧密结合
.NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,例如超文本标记语言(HypertextMarkupLanguage,HTML)和XML。
由于历史的原因,现存的一些开发工具不能与Web紧密地结合。
SOAP的使用使得C#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。
由于有了Web服务框架的帮助,对程序员来说,网络服务看起来就象是C#的本地对象。
程序员们能够利用他们已有的面向对象的知识与技巧开发Web服务。
仅需要使用简单的C#语言结构,C#组件将能够方便地为Web服务,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用。
举个例子,XML已经成为网络中数据结构传递的标准,为了提高效率,C#允许直接将XML数据映射成为结构。
这样就可以有效的处理各种数据。
④完整的安全性与错误处理
语言的安全性与错误处理能力,是衡量一种语言是否优秀的重要依据。
任何人都会犯错误,即使是最熟练的程序员也不例外:
忘记变量的初始化,对不属于自己管理范围的内存空间进行修改,……。
这些错误常常产生难以预见的后果。
一旦这样的软件被投入使用,寻找与改正这些简单错误的代价将会是让人无法承受的。
C#的先进设计思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内的完整的安全性能。
为了减少开发中的错误,C#会帮助开发者通过更少的代码完成相同的功能,这不但减轻了编程人员的工作量,同时更有效地避免了错误的发生。
⑤版本处理技术
C#提供内置的版本支持来减少开发费用,使用C#将会使开发人员更加轻易地开发和维护各种商业用户。
升级软件系统中的组件(模块)是一件容易产生错误的工作。
在代码修改过程中可能对现存的软件产生影响,很有可能导致程序的崩溃。
为了帮助开发人员处理这些问题,C#在语言中内置了版本控制功能。
例如:
函数重载必须被显式声明,而不会象在C++或java中经常发生的那样不经意地被进行,这可以防止代码级错误和保留版本化的特性。
另一个相关的特性是接口和接口继承的支持。
这些特性可以保证复杂的软件可以被方便地开发和升级。
⑥灵活性和兼容性
在简化语法的同时,C#并没有失去灵活性。
尽管它不是一种无限制语言,比如:
它不能用来开发硬件驱动程序,在默认的状态下没有指针等等,但是,在学习过程中你将发现,它仍然是那样的灵巧。
第三节本章小结
本章以编程语种的发展历史为开头,继而按部就班介绍到了C#,并涉及了.net开发平台以及C#的优越性。
下面将要介绍的该系统采用了C#进行开发,因此通过本章,读者可以对C#有一定程度的了解,这对阅读下面的内容将有很大的帮助。
第二章产品结构及停车场车位管理系统概述
第一节关于停车场车位管理系统
二、产品市场定位
阿加是盛行培训中心的一位潜力股帅哥,平时做事一向都比较谨慎,最近正参与了“大地移动梦想”活动,该活动要求上交项目作品,这让阿加乐的,阿加在做项目上有着极为丰富的经验,加上精义大学的三年教学经验,这更让他乐此不疲。
我们在看到阿加的强大的同时,是否需要深思:
该项目完成的产品市场是否需要定位?
答案是肯定的,那应该如何定位呢?
这需要合理根据商业模式来确定。
例如:
腾讯的网络商业模式确定了他的产品市场主要定位在我们这些所谓的忠实网民上。
回顾前面的C#介绍,这里路转的介绍了停车场车位管理系统的必要性和整套系统(包括硬件在内)的市场定位。
记得09春晚“我有点晕”小品提到:
30年前开辆汽车相当牛逼,如今,开辆汽车不如开个自行车爽,堵车的时候自行车跑的更快。
这也告诉了我们如今的车辆越来越多,随着这些车辆不断的增加,停车问题也不断凸现出来,诸如:
进入某个还有空位的停车场却需要半天才能找到空位,“运气好”的车主可以进入一个没有空位的停车场,然后像吃摇头丸一样摇着头开出来了。
于是,笔者的多位朋友及笔者经过深思,以解决日益严重的停车问题为导向,开发了该套停车场车位管理系统。
在市场定位于停车场的同时,希望能够为车主带来更多的方便。
三、系统硬件结构概述
系统的硬件