车辆调度管理系统_第1页
车辆调度管理系统_第2页
车辆调度管理系统_第3页
车辆调度管理系统_第4页
车辆调度管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

车辆调度管理系统摘要科技随着人类不断的发展而日新月异,信息化、网络化、高效化的脚步已经越来越近。对于一完整的交通网络来说,一个合理统筹的调度必然是不可或缺的组成部分。但从实际情况来,目大多数的交通网络的调度系统还没有达到一个完善的局面,不断出现这样那样的错误。目前最先进的调度方式是全球定位系统,对于普通小规模的调度来说,这样利用卫星定位的方式显然不够科学。而我所设计的程序就是为了这个目的,利用最少的资源达到最理想的效果,能仅仅利用一个小型的无限网络就能安全,合理调度一条公交线路。系统采用HTML语言编写,利用的ASP.NET后台的数库相连接来基本实现主要模块的功能。关键词:车辆调度,车辆管理,管理系统语,程

Abstractandtechnologydevelopsbutalterstowithhumanhigh-effect-rizationalreadymoremoreclose.AsfortheisadministrativeinformationizealreadyfirstmarketcompetitionOnlycomplywithatpresentconditioncomesalookinsideareanetworkusedbyplayssharedtocostingamountofinsidethatmanpower,financialresourcesbuildwillnotreallymakinguseof.Therefore,administrationpassinginsideareaanduseof,toreachthestreamstrengthenadministrativedecision,firstholdingsolveascompanywhohasasimplereliablesystemveryimportantbeyonddoubt.thefollowingfewfunctionsthen:EmployeeFinancialaffairsBillBuddyadministrationverification.adoptHTMLlanguagefinally,ASP.NETandbackstageAccessbaselinkfunctionmainmodulebasicallyeachother.Keywords:Informatization;internalnetwork;technologyHTMLprocedure目

引言随着时代的进步,互联网的发展,世界几乎角落都能通过网络进行实时的交流,交通得飞速发也使人们更频繁得往来于各个地方。为了人们出行的方便和安全,就需要对各种交通工具进行严的管理与调度。从大的方面来说,一个大型的商业港口就需要对每一艘进出和停留港口的货轮进严格的调度与管理,要依据货轮的吨位来安排进出港的路线及停留时间,要安排足够的货车来有得装卸重达万吨得货物。从小得方面来讲,就算是一条普通得公交线路,也要有健全得管理体系才能真正做到方便于民。用最少得人力,物力获得最大得成效才是体现电子信息时代得最有力方。一名调度员,相应数量得驾驶员,再加上本系统,就可以完成对一条公交线路得有效管理。通本系统,调度员通过一张页面可以时刻监控每一量车得运行情况,并给出相应得指示。而驾驶员样通过网页了解到自己得状况。达到了方便,有效得管理。对于本次的课题我首先想到的目前上海交通最为重要的一个战力是轨道交通上海的轨道通几乎覆盖了上海的整个市区,象征了上海是一个科技先进的城市。如此巨大的轨道交通网当离不开一个合理,有效的调度措施,来使这张大网能最好地为人们做出服务。所以一个交通设施完善和其调度系统的优劣是密不可分的。

第需求分析1.1功需分析目前上海得交通设施已经处以一个比较先进得水平,多种多样得交通方式已经出现在我们得日生活中。其中最值得一提的就是上海的地铁网络,其几乎覆盖了整个上海的市区,大大方便了人的出行,也缓解了地面交通的拥堵。不可忽视的一点就是地铁采用了本系统是一个车辆调度管理系统为便调度员对驾驶员进行直观而有效得调度,本系统需要完成以下得功能调度员驾驶员登陆页面:调度员一名通过登陆调度页面来调度车辆。驾驶员多名登陆驾驶员页面来进入待发车辆列队,接受发车信号以及向调度员发送车辆行驶状况。调度页显示车辆所处状态:在计算机屏幕调度框内可显示本线路车辆当前所处的状况,包括待发车辆编号及数量,己启动车辆编号及数量,上路运行车辆编号及数量,未受到监控的车辆编及数量。驾驶员调度员进行互动:登陆后既进入了调度员的待发车队列表,并准备接受发车信号,将行驶状况反馈给调度员发送行驶状况信息。发送调发车指令:线路调度只需根据排班表,在发车指令框内键入车辆编号并按回车键,待发车辆车载终端即发出“发车”提示,通知驾乘人员发车离站,自动报站器开始自动报站。1.2环需分析我设计程序时主要用到的是(全称ServerPages系ASP是1996年由Microsoft推出的运行于服务器端的WEB应用程序开发技只能运行于WINDOWNT()/IIS平台。ASP服器ASP全为ActiveServerPages是一种由Microsoft公开发的服务器端的脚本语言运行环境,它可以结合语和ActiveX组建立动态、交互、高效的服器端应用程序,该环境中可以混合使用VBScript和脚语言。ASP提供了一些内部对象和内部组件,利用它们可以很方便地实现表单上传取数据库功能此之外于ASP服务器端解释执行,开发者可以不必考虑浏览器是否支持;同时由于它在服务器端执行,在客户端的浏览器上看到的仅仅是执行后的结果开者不用担心别人下载程序代码,增加了资料的安全性前ASP运行在以下几种服务器内IIS(InternetInformationSerer3.更高版),该服务由WindowsNTServer4.0或更高本支持;PWS(PeerServices30或高版本)该服务由WindowsNT4.0或高版本支持;另外,借助第三方服务器扩展组件是以运行在UNIX或Linux上,也就是说,无论任何一Web服器,只要安装有ASP的释程序,就可支持ASP程序。因为上述原因,本程序的编写将采用ASP程序,这样可以提高程序的稳定性泛用性,充分发挥了其优点。ASP主具有以下几个特点:可混用用HTML,DHTML,ActiveX,VBScript,JavaScript,并且可以相互嵌套。ASP是文本格式,不需编译就可以直接在服务器上运.安性好是种在WEB服器端运行的本语言,源代码不会传到客户的浏览器上,可保护源程序不外漏。面对象正通过其自身包含的对象来现服务器与客户端交互的可充服务器端功能。利用提的一组ActiveX服器组件(ActiveXComponents)可继续扩充ASP的能ASP置ADO组件可以轻松的存取各数据库以用VB,Java等语言开发自己的组件以进一步扩充其功能与览器无关ASP可以将运行结果一的式送到客户端浏览器,因而可以使用于各种浏览器.1.2.1工作原理以下是对态网页处理过程的概述:用向服器传送一个.页面请求。

服器接到请求后根扩名判断户要浏览的是一个文。服器从内存或硬盘中读取相应的文。ASP程被传送给服务器上的asp.dll并译运行,产生标准的HTML文。产的HTML文作为用户请求的响应传回给用户端浏览器,用户端浏览器进行解释运行。根据以上步骤不难看出,父处理页比处理静态HTML页多了一个程序编译步骤,而对于用户端来说,浏览HTML页和浏览页几没有任何区别。因为传回客户端的程序都是标准的文件,因而完全没有必要担心用户的浏览器是否支持所编写的ASP程,并且ASP适于任何浏览器。值得一提的,以上的ASP理流程也是经过简化的,实际应用中可能还会涉及到诸如ORM消息提交ASP面的动态产生数库操作等一系列复杂的问题此外服器并不是在到每一个页请求后都会重新编译果某个页面再次接收到和前面完全相同的请求是务会直接去缓冲区中读取编译的结果,而不会重新运行。1.2.2使用环境操作系统对使用ASP发本系统的影响不是很大WindowsNTWindows2000Linux、Windows都以,但性能好的操作系统可以使ASP服务器运行得更流畅,减少系统崩溃的可能性。因此,这里选用了稳定性较好的SP2作系统。本系统是在WindowsXP系上开发的,使用的是IISIIS的介IIS是InternetInformation的写它是微软公司主推的服务器,最新的版本是Windows2003里面包含的IISIIS与WindowNTServer完集成在一起,因而用户能够利用WindowsNTServer和NTFSNTSystem,NT的件系统)内置的安全特性,建立强大,灵活而安全的Internet和站点。IIS支持HTTP(HypertextTransferProtocol,文本传输协议(FeleProtocol,件传输协议)以及协,通过使用和,IIS可得到高度的扩展IIS支持与语言无关的脚本编写和组件,通过,开发人员就可以开发新一代动态的,富有魅力的Web点IIS不要开发人员学习新的脚本语言或者编译应用程序完全支持VBscriptJscript开发软件以及Java它也支持CGI和WinCGI以及ISAPI扩和过滤器。IIS支持服务器应用的Microsoft系,Microsoft系包括以下内容:,MicrosoftServer客户服务器通讯和群组软件;,Proxy代服务器;,用于连接IBM企网络的MicrosoftSNAServer;,用于集中管理分布式系统的MicrosoftSystemsManagement;,MicrosoftCommercialSystem(MCISIIS的设计目的是建立套集成的服务器服务,用以支持HTTP,FTP和SMTP,它能够提供快速且集成了现有产品,同时可扩展的Internet服器。IIS相应性极高,同时统资源的消耗也是最少的安装,管理和配置都相当简,这是因IIS与WindowsNT网操系统紧密的集成在一起,另外IIS还用与NTServer相同的SAM(SecurityAccounts,全性账号管理器,于管理员来说,IIS使诸如Monitor和(NerworkProtocol,单网络管理协议)之类的NT已管理工具。IIS支持,使用可扩展服务器功能而用ISAPI过滤器可以预先理和事后处理储存在IIS上数据。用于32位用程序的Internet扩展可以把FTP和HTTP协议置于容易使用且任务集中的界面中面将Internet应程序的使用大大简化也持(InternetMail,多用于邮扩展可以为应用程序的访

问提供一个简单的注册项。IIS的一个重要特性是支持ASPIIS3.0本以后引入了,可以很容易的张贴动态内容和开发基于Web的用程序对诸如开软件或由VisualC++开发系统,以及现有的和WinCGI脚本开发的应用程序IIS提供强大的本地支持。1.2.4IIS的加和运行.IIS的加请进“制面板”依次“加/除程序→添/删除Windows组件”,“Internet信息服务()”前的小去掉(如有新勾选中后按提示操作即可完成IIS组的添加。用这种方法添加的IIS组中将包括Web、FTP和SMTP等部四项服务。.IIS的行:当IIS添成功之后,再进入开→程序→管理工具→服务管理器以开IIS管理器,对于有已停字样的服务,均在其上单击右键,启动”来开启。.建立第一个Web点:比如本机的IP址为自己的网页放在D:\Wy录下,网页的首页文件名为Index.htm,在想根据这些建立好自己的Web服器。对于此站我可以用现有“认Web站点来相应的修改后可以轻松实现请在“默认Web站上单击右键,选属性”,以进名“默Web站点属”设置界面。(1修改绑定的地:转“点窗口,再在IP地后下拉菜单中选择所需用到的本机IP地址“。(2修改主目录:转“主目录窗口,再在本地路输入(或“览按钮选择)好自己网页所在的“D:Wy目。(2)添加首页文件名:“文档窗,“添”按钮,根据提示“默认文档名后输入己网页的首页文件名Index.htm。()加虚拟目录:比如你的主目录“D:\Wy下而你想输入“/test的格式就可调出“E:\”的网页文件,这里面“test就是虚拟目录。请“认Web点上单击右键,新→虚拟目录,次在别”处输入test,目”输入\”再按提示操作即可添加成功。(5效果的测试:打开浏器,在地址栏输入之再按回车键,此时就能够出你自己网页的首页,则说明设置成功!.添加更多的站:多个对应多个站如果本机已绑定了多个IP地址,想利用不同的地得出不同的Web页,则只需“默站处单击右键,新建→站点,然后根据提示在说处输入任意用于说明的内比如为我第二个Web点输Web站点使用的地址的下拉菜单处选中需给它绑定的地即可;当建立好此站点之后,再按上步的方法进行相应设置。一个IP地址对应多个Web站当按上步的方法建立好所有的站后,对于做虚拟主机,可以通过给各站设不同的端口号来实现,比如给一个Web站点设为80一个设为81一个设为……,则对于端口号是的站,访问格式仍然接是地就可以了,而对于绑定其他端口号的站时须在地后面加上相应的端口号使用“:81的格式。很显然了口号之后使用起就麻烦些果已在服器将所有你需要的域名都已经映射到了此惟一的IP地则用设不同主头的法可以你直接用域名来完成对不同站点的访问。多域名对应同站你只需先将某个IP地址绑定到Web站上再在服器中,将所需域名全部映射向你的这个IP地上你在浏览器中输入任何一个域名会接得到所设置好的那个网站的内容。.对服的远程管理:管Web站”上单击右,“性,进“Web站”口,选择好“地址”。转到“目录安全性窗口,单击IP地及名限下的编辑按,点选授权访问以能接受客

户端从本机之外的地方对IIS进管理;最后单击确”按钮。则在任意计算机的浏览器中输入如:3598(3598为其端口号)的格式后,将会出现一个密码询问窗口,输入管理员帐号名(Administrator)相应密码之后就可登录成功,现在就可以在浏览器中对IIS进远程管理了这里可以管理的范围主要包括对Web站点和FTP站进行的新建、修改、启动、停止和删除等操作。1.2.5MX介DreamweaverMX是MX的新的一个版,它采用了许多先进的技术,可以快速高效的创建极具表现力的和动感效果不错的网页。只值得一提的是MX2004提供了了更加完善的站点管理机制,可以说,改软件是集网页和站点管理两大法宝与一身的超量级创作工具。Dreamweaver具简单、易学等特点,只要具备初步的网页制作知识,即使是初学者也可以制作出精致的网页,它并不需要学习大量的专业知识。DreamweaverMX提有更多功能强劲的可视化设计工具、应用开发环境和代码编辑支持,它可以使开发人员和设计师能够快捷的创建代码规范的应用程序,集成度非常高,开发环境精简且高效开人员可以运用Dreamweaver和务器技术来构建功能强大的网络应用程序衔到用户的数据、网路服务体系。DreamweaverMX提了强大的规范管理,以确保高质量的设计。设计环境提供了,以迅速高效的开发代码。DreamweaverMX新点简介如下:可持自动检测标签和CSS规来适应所有主流浏览器提了更强大的CSS持。内的图形编辑引擎。增的FTP安全性。增了对主流后台环境的支持。可接讲Word和Excel文件复制和粘贴到中跟的他产品的结合更加紧密。1.2.6Access2000简数据库。由于本系统没有海量数据的存储问题,其数据一般不会很多,所以没有必要选用像Oracle样的数据库足以胜任选了Access2000原因如下:Access最重要的特征是不必编写程序。对于大多数关系型数据库管理系统,如,等言,其管理者需要具有程序设计能力能建立和管理一个有效的应用程序数库系统把数据库应用程序的建立移进用户环境中,除非要执行复杂的操作,数据库的管理者不在必须具有计能力Access数据库文件不是简单的存储数据的表是与他桌面数据库的一个重要区别据库文件不仅包含传统意义上的表,还包括操作或控制数据的其他对象(如查询,窗体和报表等对拟开发系统选用Access2000作后台数据库库是信息管理系统的后台着所有的信息,在信息管理系统中有着很重要的地位。数据库设计的好坏,直接影响到这个系统的运行效率。好的数据库设计,可以提高数据信息的存储效率保证数据信息的完整性和一致性。是中文版的组件之一。与以前的版相比,不仅界面更加友好,而且功能也有了加强其是网络功能有明显的提高使与联网的结合更加紧密。Access2000是个中、小型数据库管理系统,使用方便、功能强大,与其数据库有良好的接口通Access2000功强大的工具,用户可以方便的使用和管理数据库,如创建和编辑数据表设和使用各种查询工具行查询操作设计和使用窗体制和打印报表设计和使用、设计和使用页还可使用(VisualBasicfor开发高级应用程序

具有完整的数据库应用开发工具,用户可以方便的设计、修改、浏览一个记录数据的基本表;以在表数据中进行各种筛选和查询操作;可以设计和使用各种窗体以实现数据显示和操作;可以据表数据设计打印各种报表;可以设计和使用宏,对表进行一系列特定的操作Access2000内有强大的操作向导,为用户提供了丰富的数据库基本表模板。用户只需简单的操作就可建立数据库中使用的各种基本表、窗体和报表。在A中,可以设定、修改基本表之间的关联,从而实现在多个相关表之间的关系查询。中宏可以实现操作的自动化,使操作更加单、快捷。增了网络功能,用户可以轻松自如地完成网页发布等仅可以处理自身的数据库文件,还可以处理其它一些数据库系统管理软件所建立的数据库文件,能识别dBase、等据库格式文件且支持开放式数据库互连性标ODBC的能工作站、数据库服务器或主机上的各种数据库互相连接,并可用于建立客户服务器应用程序中的工作站部分。与其它的关系型数据库管理系统相比具以下优点:、存储文件单一。、支持长文件名,并可以在文件名内加空格,使文件便于理解、查找。具有强大的络功能,可通过网络传送数据。、使用简便,用户无需了解编程语言,便可轻松地设计和开发数据库应用程序。、可以处理多种数据信息,如文本文件和其它数据库文件。第总体设计2.1系层概况图本系统的结构比较简单,首先是登入页面,由此登入调度员操作界面和驾驶员操作界面。

Index.htm待命

启动

调度员登陆框上调发路受车

驾驶员登陆框本驾达车路剩余图系结

车车监指辆回时间2.2系模辆辆控示状

应提示针对本系统所要满足的各个要模块的设计如下调度员登陆模块:检验调度员的架驾驶员登陆模块:检查驾驶员的身份。调度员模块:本身包含4和两子模块。车辆列表显示模块:包括待命车辆,已启动车辆,上路车辆和未受监控车辆列表的显示。发车指令模块输入框和按钮的形式由调度员对驾驶员发出发车指令显在驾驶员的界面。驾驶员模块:其中包括2个功能:车辆状态显示,预计到达终点的时间。上路指令模块驾驶员向调度员发送的指令示度员当前车辆已经由启动状态变为上路状态调度员离开模块:此模块用来当调度员主动或意外和服务器断开连接时对数据库和一些变量进操作,以保证系统正常的运行。驾驶员员离开模块:此模块用来当驾驶员主动或意外和服务器断开连接时自动将驾驶员所驾驶车辆状态设定为未受监控状态意由于使用的是事件,所以当调度员和驾驶员在同一太机器上进行登陆时无法到效果考到实际情况调度员和驾驶员不会在同一IP地下工作,所以未进行改动2.3数库块设计数据库中包含以下一些表:ddy:用来存放调度员名单表调度员编号表示调度员密码,那么表调度员姓名,具体如图图ddy表构jsy:用来存放驾驶员名单,jsy_id示驾驶员编号,car_id示驾驶员所驾驶车辆的编号。

图jdy表构:暂时用来存放待命车辆的表,因为是展示存储,表的内比较简单,只需要记录驾驶员编号和车辆编号即可,下同。图待驾驶员表结构:暂时用来存放待命车辆的表图启驾驶员表结构jsy_sl:暂时用来存放待命车辆表。

图上驾驶员表结构jsy_wsjk暂时用来存放待命车辆的表(当调度员登陆时生成图未监控驾驶员表结构loginlist_jsy:来记录当前已经登陆的驾驶员名单,jsy_id是户登陆所使用的驾驶员编号,是户此次登陆时服务器自动生成的一个值,由记。图已陆驾驶员表结构

第系统详细设计3.1调员登陆模块的设计与现3.1.1调员登陆模块的设计首先用户从浏览器中浏览主页面index.htm然后在调度员一栏里填入调度员的编号和密码里我使用的是编号是d001是提交表单信息login_ddy.asp进处login_ddy.asp的设想有以下几点:能判断输入的度员编号和密码是否正确果正确则页面跳转进入调度员的操页面果错误则提示用户调度员编号或密码错误,并链接回主页面重新输入。由于本系统只设由一名调度员进行调度以在有第一名调度员登陆的时候需要行一定的设定,用来限制和提示想从其他计算机上以调度员登陆本系统的用户,防止造成系统的错误。由于登陆调度员用户是第一名登陆本系统的用户登后系统需要显示所有未受到监控的车辆,所以在中要对数据库进行一些操作以满足接下来调度员能正常调度车辆,换句话说就是对数据库进行一系列的操作。3.1.2调员登陆模块的实现对于初期设想的的各种功能,我使用以下方法:.我采用的是最方便和常用的方法来进行判断。具体步骤为:(1)从有index.htm提交的表单中获取用输入的调度员编号和密码,分别放入变量和中。(2)判断变量id和是否为空,如果为空则示“度员编号,密码等数据未填”,出返回主页面的链接。(3)连接数库,从ddy表符合变量id和中值的项。如果未找到指指向最后项之后)则提示“调度员编号及密码错误,请重新填写回页面的链接;否则指正未指向最后项之后)页面重定向进入调度员页面。只由一名调度进行调度最初其实包含有两层意思是时只能由一名调度员度是同一个调度员编号只能在一台机器上登陆。我使用的方法能同时满足这两个要求,所以就把他们并在一条里。具体方法是定义一个application变量首先我编辑global.asa的application_onstart事,当第一次有访问者在服务器端定义变量并附值,表示当前还没有调度员在进行调度有一名调度员试图登陆到系统中时判断变量ddyonwork值否为,若为则示没有调度员在进行调度,可以继续登陆。若为1则明已经有调度员在进行调度,弹出提示并返回首页。相应的当这名调度员离开的时候要将变量ddyonwork的设为0以保证以后的调度员能正常登陆。相应的当驾驶员进行登陆时也会进行这个判断,来确认是否有调度员在行调度,这会在驾驶员的模块中予以说明。.于数据库语的限制,我只能采用当调度员正确登陆时将驾驶员表中的名单复制到新表中用以显示未受监控车辆的编号。具体语句可见程序。pass=request("ddypass")ifid=""or登错误</title>"show("度员编号,密码等数据未填写")ifsetconn=server.createobject("adodb.connection")dbpath=server.mappath("info.mdb")conn.open"driver={MicrosoftAccessDriver(*.mdb)};DBQ="&dbpathsqlcmd="select*fromwhereid='"&id&"'andpass='"&pass&"'"

setrs=conn.execute(sqlcmd)ifrs.eofthen登错误</title>"调度员编号及密码错误,请重新填写"查看是否已有调度员登录进行度,只允许一名ifthenapplication.lockapplication.unlock将驾驶员名单放入未受监控人员名单jsy_id,car_idintojsy_wsjkjsy")setrs=nothingconn.close"ddy.htm"登错误</title>"show("有调度员在进行调")ifif图主陆界面3.2驾员登陆模块的设计与现3.2.1驾员登陆模块的设计用户从浏览器中浏览主页面index.htm然后在驾驶员一栏里填入驾驶员的编号和密码里我使用的是编号是j001密码是(有个制的驾驶员编号和密码分别是和然提交表单信息,由进行处理。我对的设想有以下几点:和调度员登陆一样,要先判断输入的驾驶员编号和密码是否正确,如果正确则页面跳转进入驾员的操作页面,如果错误则提示用户驾驶员编号或密码错误,并链接回主页面重新输入。如果输入的驾驶员编号和密码无误,则检查在当前是否已经有调度员登陆进行调度,若没有则示驾驶员稍后尝试。这样设计是因为只有在调度员成功登陆后才会创建未受监控车辆的列表,若驶

员在调度员之前登陆则会因对不存在的表进行操作而造成错误。使车辆状态由未受监控车辆改变为待命车辆。判断当前登陆的驾驶员是否已经在其他地方登陆,若未登陆则记录当前登陆的驾驶员编号,若经登陆则提示用户被给出返回链接。初始化一些变,用来为以后的操作准备。3.2.2驾员登陆模块的实现.和调度员使用的方法一样。.使用的是判断在调度员登陆模块中提到的变量dyonwork,值为表示有调度员进行调度,继续登陆,值为则返回首页。这使用的方式对表进行操作除未受监控车辆表中的本车信息后在待命车辆表中插入本车的信息,这样就完成了状态的转换。功能是为了止同一个驾驶员编号同时在两个地方登陆致统错误和维护用户安全。我采用的方式是同时记录驾驶员编号和sessionID于服务器来说有个访问者访问服务器时,服务器都回给予一个sessionID,这个变量在同一时刻内对于不同访问者来说是唯一的,一个对了一个IP地,所以说同时记录驾驶员编号和sessionID够很好的判断驾驶员编号是在不同地方重复登陆。.具体的变量为,辆状态量(只是用来在驾驶员界面显示车辆状态id示的是车辆编号,1表车辆为待命状态表车辆为启动状态表车为上路状态具体的作用会在后面具说明用记录的车辆到达终点所需要花费的时间,为的时候表示车辆处于待命态。3.3调员模块的设计与实现调度员模块分成上下两个部分半部分用来显示车辆的运行情况半分用来对驾驶员进行发车指令。这样设计考虑到两个因素:第一,由于车辆状态列表是即时的,必须不断刷新才能正确反映出当前车辆所处的状态。而当新页面时,用户输入在输入框中的内容也将被同时刷新,这样会对用户造成不便。第二,我使用的一段代码,用来当页面关闭时执行另一段程序。而当车辆列表刷新时和发车指令提交时都会触发这段代码。所以我将这段代码放在框架语句中,这样无论是车辆列表的刷和发车指令的提交都不会影响到代码功能的正常运做。在调度员的页面中,我处于系统的完整和完全性考虑,加入了一段代码来限制用户跳过登陆页,通过直接在地址栏中输入调度员页面从而直接进入系统,当然这样也会造成系统的错误。代码具体内容是:iforsession("ddy")="",断的是是否有调度员进行调度判在短时间内在这台电脑上是否有调度员通过正常途径登陆调度员页面(变量ddy是中附值有当两个条件同时成立才能打开调度员页面,否则窗口关闭。3.4车列表显示模块的设计实现3.4.1车列表显示模块的设计车辆列表显示模块显示在调度员页面的上半部分,用来显示所有注册车辆的运行状态。运行状包括部分:未受监控车辆,待命车辆,启动车辆和上路车辆。未受监控车辆:在当前调度员调度下的未登陆驾驶员的车辆。待命车辆:在当前调度员调度下的已登陆驾驶员的车辆,等待调度员给于发车指令。启动车辆:接受到调度员的发车指令,驶离车库的车辆。上路车辆:给予调度员上路信号,在行使途中的车辆。3.4.2车列表显示模块的实现这状态的车辆分别由表记录信息分别是jsy_wsjkjsy_dm和用4个asp

文件分别显示个的car_id项也就是车辆编号,这4文是以表格的形式列出表中的数据。然后在调度员页面的上半个框体中用调用语句include”分调用这个asp文,以达到监控所有车辆运行状态的目的。一下是效果图:图车状态列表3.5发指令模块的设计与实3.5.1发指令模块的设计发车指令是由调度员发出信息,让在待命状态中的驾驶员得知自己可以上路。具体流程是调度在输入框中输入能够启动的车辆编号,按发车按钮,并且返回此次操作是否成功。此时驾驶员接到信号,并进入到待命状态。3.5.2发指令模块的实现首先考虑到调度员和驾驶员是在两个不同的IP进信息交换,所以需要用到服务器的公共变量如在驾驶员登陆模块中提到的只要将application(sessionid)的值由为并将数据库中待命车辆表的相应车辆信息删除启动车辆表中添加相应车辆的信息能够实发车”的过程。图发指令模块3.6驾员模块的设计与实现3.6.1驾员模块的设计驾驶员页面的显示界面需要使驾驶员了解到以下信息:自己车辆所处状态,分别是待命,启动和上路。当前时间以及自己应该何时到达终点。3.6.2驾员模块的实现首先和调度员界面一样,先确定当前驾驶员是否是通过正常途径进入驾驶员页面。然后我通过代码来说明如何显示车辆状态的:判断application变中以自己车辆编号命名的变量的值,也就是application(session("id"))的值。为示车辆处于待命状态,赋值变量state=待命中,,这变量是用来录车辆上路的初试时间;为表车辆处于启动

状态,赋值state=启动”为示车辆处于上路形式状态,赋值state=启,同时计算车辆到的终点所需要的时间,具体公式为session("lefttime")=(hour(session("starttime"))*60*60+minute(session("starttime"))*60+second(session("starttime"))+15)-(honow())*60+second((剩余时间=预计到达时现在时默认路程花费时间为15秒最后当车辆到达终点,也就是“lefttime”)的值为时,则需要将车辆态重设为,时删除上路车辆表中当前车辆的数据,添加当前车辆数据到待命车辆表中。实现这一过程我是通过判断lefttime)的值来实现,当其值小于时就会进行上面的操作。图驾员模块3.7上指令模块的设计与实3.7.1上指令模块的设计当驾驶员接到调度员发来的发车指令,驾驶员的车辆处于启动状然后由驾驶员决定上路的时间。当驾驶员按下发车按钮后汽车转为上路状态,计时器开始计时。3.7.2上指令模块的实现首先判断的是否等于等说明车辆处于启动状态可接上路指令。将application(session("id"))的改为,设定变量starttime的为在的时间now(),然后对数据库进行操作,若不等于2说车辆状态不符合要求,提示错误并返回,具体代码如下:subshow(message)返上一页<response.endsubifapplication(session("id"))=2thensession("starttime")=now()setconn=server.createobject("adodb.connection")dbpath=server.mappath("info.mdb")conn.open"driver={MicrosoftAccessDriver(*.mdb)};DBQ="&dbpathcmd="delete*fromjsy_qdcmd1="insertjsy_sl(jsy_id,car_id)values

conn.close成</title>"发送上路信息成功!错</title>"请等待调度员的调度-!if3.8调员离开模块的设计与现3.8.1调员离开模块的设计当初构思程序的时候并没有考虑到需要这个模块,驾驶员离开模块也是一样。可是到中后期在断调式程序的时候发现,万一调度员页面或者驾驶员页面出现问题意外关闭的话,其中记录的一服务器变量以及数据库中临时的数据由于无法得到处理而导致在下一次进入程序时会造成这样那的错误,必须通过手动修改数据库来使程序顺利运行。着当然违背了一个为方便用户而制作的程的基本要求。要做的其实不多,一是将变量ddyonwork的值设为,二是删除这表。3.8.1调员离开模块的实现通过以下代码就能当窗口关闭或刷新时打开来行其中的代码language=javas

温馨提示

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

评论

0/150

提交评论