版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)公交车管理系统的设计与实现
公交车管理系统的设计与实现摘要随着经济的日益增长,信息化时代已经到来,生活中各种信息趋向数字化、清晰化。公交车作为现代城市生活中一种重要的交通工具,其数量增多,车型也不再单一,雇用的司机增多,这样使得公交车公司的车辆信息管理复杂化。在这样的背景下,提出了计算机管理的公交车管理系统,辅助公交车运营公司对车辆进行管理,实现公交车、公交线路和司机管理科学化,更合理的利用资源。该系统主要根据实际的需求,以需求分析、系统的设计目标,并且重点进行系统功能模块的详细设计和实现,采用了VisualStudio.NET2003开发平台和SQLServer2000数据库,实现了车辆信息管理、司机信息管理、线路信息管理和车辆分配线路管理等功能。在针对数据操作方面,主要通过存储过程的方式实现数据的添加、删除和查询等操作。通过系统测试,解决了公交车辆管理系统主要问题。关键词:管理系统;数据库;存储过程TheDesignandImplementationofBusManagementSystemAbstractAlongwitheconomicalgrowing,theinformationcenturyhasalreadyarrivedandeachkindofinformationtrendstodigitizationandclearnessinourlife.Asanimportanttransportationtoolinthemodernlife,thenumberofthebusisincreasinganditstypeisnolongerunitary.Aswell,thebusdriversarealsoincreasing.Thesemaketheinformationmanagementofthebuscompaniesmorecomplicated.Undersuchbackground,thebusmanagementsystemcontrolledbythecomputersisputforward.Itwillhelpthebuscompanymanageitsbuses,makethemanagementofthebus,thebusroutineandthedrivermorescientificandmakeproperuseoftheresources.Thesystemisbasedonthepracticalrequirements,andaimedatthedemandanalysisandthesystematicaldesign.Itemphasizesthedetailsofdesignandimplementationofthesystematicalfunctionmodule.It’sdevelopmentplatformareVisualStudio.NET2003andSQLServer2000Databaseandimplementsmanyfunctions,suchasvehiclesinformationmanagement,driverinformationmanagement,routineinformationmanagement,vehicleassignmentlinemanagement.fordatabaseimplementation,itmainlyusesthestorageproceduretoimplementtheaddition,deletionandinquiry.Bythesystematicaltest,itcansolvethemainproblemsinthevehiclesmanagementsystem.Keywords:Managementsystem;Database;Storageprocedure目录论文总页数:20页1 引言 11.1 信息管理系统简介 11.2 开发背景和意义 11.3 系统设计目标 12 需求分析 12.1 系统需求 12.2 功能需求 22.3 性能需求 23 系统开发相关技术 33.1 编程环境的选择 33.2 关系型数据库 34 总体设计 44.1 设计思想与处理流程 44.2 系统层次模块图 44.3 模块设计 45 数据库设计 55.1 ADO.NET综述 55.2 逻辑设计 55.3 存储过程 76 详细设计 86.1 登录模块 86.2 主操作界面模块 106.3 系统用户注册模块 116.4 车辆信息管理模块 126.5 司机信息管理模块 136.6 线路信息管理模块 156.7 车辆分配线路管理模块 157 系统维护和改进 177.1 运行维护 177.2 系统改进和提高 17结论 17参考文献 18致谢 19声明 20第19页共20页引言随着计算机技术的迅速发展,推动了信息技术广泛、深入地应用到人类社会的各个领域并发挥着越来越重要的作用。计算机软件技术应用于信息管理是必然的趋势。作为计算机应用的一部分,充分发挥计算机的优势,将大量复杂的数据交给计算机来处理,有着人工管理所无法比拟的优点。如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高信息管理的效率,是真正意义上的合理利用资源,也是企事业管理科学化、正规化,与世界接轨的重要条件。信息管理系统简介信息管理系统,即我们常说的MIS(ManagementInformationSystem),是由人和计算机等组成的,能进行信息收集、加工、保存、维护和使用的系统。它能实现国民经济和企业行为的各种运行情况,利用历史数据预测未来,从全局出发辅助管理决策,利用信息控制企业行为、帮助实现其规划目标。在强调管理,强调信息的现代化社会中变的越来越普及。开发背景和意义随着经济的日益增长,车辆作为最重要的交通工具,在当今社会中得以普及。由于汽车数量的增加,而道路的承载能力有限。因此,城市公交车的迅速发展成为一种必然趋势。在这样的情况下,公交车运营商的车辆数目已经增加了许多,而且车型也不再单一,与此同时便产生了车辆资源的合理分配和使用问题。该问题涉及到车辆的档案管理、驾驶员档案管理、车辆管理、公交车运营线路的分配和管理等。如何对公交车公司的车辆进行合理的分配,科学的使用,使其发挥最大的价值是本问探讨的重点。该管理系统的提出,对于一个公交车运营商来说,不但可以对车辆的使用进行合理的管理,而且对车辆的使用情况进行跟踪记录,这对于单位车辆责任到人,信息明确,避免责任混乱等一系列相应问题的解决。系统设计目标该系统以车辆为主体,结合对于公交车线路的管理,设计并开发一个公交车管理系统,提供一个信息更新快捷,管理方便,功能设置合理的公交车管理系统解决方案。针对公交车运营公司大量的车辆信息和线路制定信息,制定实施该系统的各个功能,使得公交车的管理更加科学化。需求分析系统需求公交车管理系统是一个协助公交车运营商各单位对车辆进行全面的管理。在此之前,对于线路与车辆的管理采用的方式几乎都是手工管理,其中的弊端显而易见,即容易造成档案资料的遗失,控制不集中,管理不规范等等问题。因此,在管理系统的实现上应该满足以下需求:1.为保障系统的稳定性,对于可能发生问题的输入要进行检验,同时要给出合理的提示信息。2.在管理上满足公交车管理职能的基本需求,能够方便的进行司机信息管理、车辆信息管理、线路信息管理和车辆与线路的分配管理。3.为公交车管理系统提供数据支持。4.与传统的手工管理相比,应该添加用户权限的管理机制。保证系统安全性。功能需求根据对上述管理系统的业务流程、要求以及所要实现的目标,可以拟出以下的需求目标:1.建立司机档案和车辆档案管理的管理和维护,在计算机的支持下快速的完成车辆信息的添加和删除。2.建立线路与车辆的设置管理,在计算机的管理下,可以实现方便的添加、删除、修改。3.建立车辆与司机的分配管理,在计算机的管理下,可以实现方便的添加、删除、修改。4.实现系统权限设置管理,保证系统的安全性。根据系统的需求分析,得到本系统的功能要求如下:1.车辆信息的设置管理:系统合法用户可以根据公司具体情况设置关于车辆的具体资料档案。2.权限管理:为了很好的保证系统的安全性,公司相关负责人可以根据实际情况添加和删除系统用户。3.线路档案管理:一个城市的运营线路可能复杂且数据量极大,系统用户可以进行线路的规划管理。4.车辆与司机的分配管理:为了维护好车辆,要求司机做好车辆的日常维护工作,落实具体责任。5.车辆运行线路管理:实现对车辆和线路分配的管理,包括添加、修改和删除操作。性能需求系统的运行环境要求是:1.硬件环境目前,考虑到所开发系统主要应用在中小规模的公交车公司,因此,中等配置的计算机硬件就可以满足系统功能需求。考虑到公司规模的扩大和硬件价格的降低,为本系统配置在较优秀的服务器硬件上,可以充分发挥本系统的功能。处理器:InterPentium41.内存:512M(推荐)硬盘空间:80GB显卡:SVGA显示适配器2.软件环境操作系统:Windows2003/XP开发软件:MicrosoftVisualStudio.NET2003数据库:MicrosoftSQLServer2000系统开发相关技术编程环境的选择微软公司的VisualStudio.NET2003是Windows应用程序开发平台,该平台具有直观的开发界面、先进的程序设计思想,是目前最为广泛的、易学易用的面向对象的开发工具。VS.NET2003提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。C#同时提供的一套完善的编译和调试系统,使得在开发过程中可以很好的解决开发过程中出现的一系列问题。同时在该平台下还提供了软件发布功能,使得开发、调试到发布可以一步完成。故而,这是实现该信息管理信息的一个较好选择。C#是一门完全面向对象的程序设计语言。它可用于创建要运行在.NETCLR上的应用程序的语言之一,是微软专门为使用.NET平台而创建的。使用C#语言在开发过程中以对象为开发元素,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效的利用所创建的每一个对象。同时,用户还可以自己开发控件,从而满足用户的不同的需求,这样变使得应用程序具有可通用性可说扩展性和强有力的功能。确定测评指标的原则与方法。关系型数据库SQLServer2000是一种功能强大的数据库开发工具,数据库汇集了信息以供查询、存储和检索。它的优点在于强大的数据库引擎,它可以承受10000条以上的记录测试,而且数据库运行于服务器上,相对于本地数据库,可以明显的减少内存占用,提高运行速度和本机的利用效率。SQL数据库具有友好的管理界面——企业管理器,其中的视图可以直观的进行数据处理,同时支持直观的数据库设计,也可以通过词法分析器,使用SQL语句进行数据库的各种操作,包括数据库的建立,表的建立和修改等一系列操作。采用C/S模式的设计,可以更加合理的利用企业资源,使得数据集中在一台服务器上,从来节省了数据库管理的人力资源,也使得由于非专业人士的误操作,或者别的各种电脑意外而导致数据丢失,或者别的不必要损失,所以在数据库选择上采用了SQLServer2000。总体设计设计思想与处理流程本系统采用面向对象进行分析和设计,在SQLServer2000数据库上实现数据操作。使用了上文所介绍的完全面向对象的C#语言作为开发语言。使用WindowsXP作为开发平台,能够很好地实现系统的基本开发和测试。系统的基本流程是:用户登录主界面选择各项子功能。系统层次模块图“公交车管理系统”主要分为用户登录、车辆管理、司机管理、线路管理和车辆分配管理等6个主功能模块。系统主模块功能树如图1所示。公交车管理系统公交车管理系统登录功能图1系统主模块功能树用户注册车辆信息管理司机信息管理线路信息管理车辆分配管理模块设计1.登录模块输入用户的名称和密码,如果用户名、密码正确,则进入主控制平台;否则给出错误提示。2.用户注册模块系统管理员进行用户使用设置和初始密码的设置。3.车辆信息管理该模块的设计目的是用于用户录入与车辆有关的资料信息。比如车牌号、车辆拥有的座位数目和是否有人售票等信息。4.司机管理在该模块下包含两个子模块。其中一个用于对司机资料的录入操作;另一个模块提供给用户查询司机信息。5.线路管理该模块的功能同司机管理模块类似,同样包含两个子模块。一个用于录入线路信息;另一个用于查询线路信息。6.车辆分配线路管理实现将每辆车与线路相关联的操作。数据库设计ADO.NET综述ADO.NET是ADO的改进版本。ADO.NET是与C#和.NETFramework一起使用的类集的名称,用于以关系型的、面向表的格式访问数据[1]。ADO.NET集成到.NETFramework中,可以用于任何.NET语言,尤其是C#。这也是该管理系统采用C#程序语言的原因。ADO.NET的作用与ADO(ActiveDataObjects)相同,提供易于使用的类集,以访问数据,ADO.NET的功能得到更新和增强,可以用于.NET编程环境。在使用SQLServer数据库时,通过SQLServer专用的内置.NET数据提供者可以获得最好的性能和对基础功能的最直接的访问。1..NET数据提供程序根据数据源不同,常用的.NET数据提供程序可以分为以3种:SQLServer数据提供程序、OLEDB数据源提供程序以及ODBC兼容的数据源提供程序。所有的数据提供程序都位于System.Data命名空间中。每种.NET数据提供程序都由4个主要组建组成。它们的功能如下:(1)Connection对象:用于连接数据源。(2)Command对象:用于执行针对数据源的命令并且检索DataReader或者DataSet,或者用于针对数据源的一个INSERT、UPADTA或者DELETE命令。(3)DataReader对象:一个已连接的、前向只读结果集。(4)DataAdapter对象:用于从数据源产生一个DataSet,并且更新数据源。2.数据库应用程序的开发流程虽然数据库应用程序访问的数据库不通,实现的功能也不同,但其开发流程主要分为以下几个步骤:(1)创建数据库。(2)使用Connection对象创建到数据库的连接。(3)使用Command对象对数据源执行SQL命令并返回数据。(4)利用DataReader和DataSet对象读取和处理数据源的数据。逻辑设计1.E-R模型的建立根据针对系统的需求分析,可以得到本系统对应的各实体以及实体之间的关系。其中包含有用户实体、司机实体、车辆实体、线路信息实体等。下面根据分析得出其中主要的E-R图,如图2和图3所示。司机司机车辆姓名编号相片唯一ID住址工作证号身份证号配备唯一ID汽车牌号汽车品牌汽车座位数售票类型备注NM图2司机实体与车辆实体E-R图图2描述了司机实体和车辆实体之间的关系。车辆车辆录入时间发车时间起点站名称花费时间线路编码终点站名称备注收车时间线路名称唯一编号运行于车辆唯一ID汽车牌号汽车座位数汽车品牌备注售票类型1N图3车辆和线路E-R图图3描述了车辆实体和线路实体之间的关系。2.表单设计根据对各个实体的分析,可以进行数据库表的具体设计。下面给出两张具体表设计的实例,如表1和表2所示。表1用户信息表的实现字段名数据类型长度允许为空是否为主键说明IDINT4否是唯一标识UserNamenvarchar50否否用户名UserPassnvarchar50否否用户密码UserSexnvarchar50否否用户性别UserTelnvarchar50是否用户电话UserAddrnvarchar50是否用户住址表2线路信息表的实现字段名数据类型长度允许为空是否为主键说明IDInt4否是唯一标志LineNamenvarchar50是否路线名称LineCodenvarchar50是否路线代号StartTimenvarchar50是否起始时间EndTimenvarchar50是否中止时间StratPlacenvarchar50是否起点Remarknvarchar50是否备注CostTimenvarchar50是否用时InputTimedatetime8是否输入时间存储过程在该公交车管理系统的在数据的查询、添加和删除等操作上主要采用了存储过程。存储过程是编译好了的SQL语句。它类似于函数的使用,可以直接通过参数调用存储过程,所以效率比较高。1.存储过程的介绍存储过程是由一组为了完成特定功能的SQL语句集,经过编译和优化后存储在数据库服务器中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它[2]。存储过程的能力大大增强了SQL语言的功能和灵活性。2.存储过程的优势(1)允许标准组件式编程。在存储过程被创建以后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。(2)实现较快的执行速度。因为存储过程是预编译的,在首次运行前,查询优化器对其进行分析、优化,并给出了最终被存在系统中的执行计划[2]。(3)减少网络流量。在调用存储过程时,网络中传送的只是该调用语句,而不是多条SQL语句,从而大大减少了网络流量。(4)作为一种安全机制来充分利用。系统管理员通过对执行某一存储过程的权限进行限制,从而能够实现对相应的数据访问权限制,避免非授权用户对数据的访问,保证数据安全[2]。3.存储过程的代码实现在创建存储过程时,需要确定存储过程的三个组成部分:1.所有的输入参数以及传递给调用者的输出参数。2.被执行的针对数据库的操作语句,包括调用其他存储过程的语句。3.返回给调用者的状态值,以指明调用是成功还是失败。下面给出在该系统中使用到的部分存储过程:实现对满足ID号是CarLineID的汽车线路数据的删除操作。createprocprc_deleteCarLine@CarLineIDintasdeleteT_Car_LinewhereID=@CarLineIDif@@rowcount>0return0elsereturn1GO实现查询所有汽车信息的存储过程。createprocspr_carallasselectID,CarNumas"车牌号",CarColoras"颜色",SitNumas"座位数",CarTypeas"类型",AirCondias"是否空调车",Companyas"车品牌",Remarkas"备注"fromt_carGO详细设计根据已有的需求分析和总体设计,在此基础上进行系统的详细设计和实现。为此,建立了一个C#.NET项目。登录模块1.用户身份验证输入:用户名和密码。处理:(1)用户登录窗体启动。(2)输入用户名和密码。(3)检索数据库中数据,是否有相应的用户名和密码。(4)如果用户名和密码为空,或者错误,进行提示。(5)如果输入的用户名和密码正确,则允许该用户进入系统。(6)进入主控制台。输出:主控制台。2.用户登录模块的窗体设计用户登录模块的窗体设计,如图4所示。图4用户登录窗体图4用户登录窗体3.用户登录模块的主要代码privatevoidbutton1_Click(objectsender,System.EventArgse){ DataAccessmyAcc=newDataAccess(); if(myAcc.userlogin(this.textBox1.Text.Trim(), this.textBox2.Text.Trim())==1){ this.Visible=false; MainnewMain=newMain(this.textBox1.Text.Trim()); newMain.Show(); } elseif(myAcc.userlogin(this.textBox1.Text.Trim(),"")==0) MessageBox.Show("没有该用户!"); else { MessageBox.Show("登录失败"); }}privatevoidbutton1_Click()鼠标事件用于实现在输入用户名和密码后,进入系统主控制界面的方法。DataAccess类是自定义的用于实现数据库访问的类。该方法中判断语句里调用了该类所声明的对象myAcc的方法userlogin(),该方法的具体实现代码如下所示:publicintuserlogin(stringusername,stringuserpass){ DatabasemyDB=newDatabase(); SqlParameter[]para={ myDB.MakeInParam("@username",SqlDbType.NVarChar,50,username), myDB.MakeInParam("@userPass",SqlDbType.NVarChar,50,userpass)}; returnmyDB.RunProc("spr_uerlogin",para);}该段代码展示了上文中所提到的存储过程的具体使用。主操作界面模块1.主控制平台的窗体设计主控制平台的窗体设计,如图5所示。图5主控制台界面图5主控制台界面从界面上直观的向用户表明了在该系统下可以进行的一系列操作,包括新用户的注册,车辆信息的管理,司机信息的管理,线路信息的管理和车辆线路分配的管理。当用户选择相应的功能进行操作时,触发该按钮事件,则可以进入相应的功能界面进行相应的操作。系统用户注册模块1.添加用户子模块添加用户子模块负责系统的安全性,在该模块种只能增加新用户而不能修改、删除用户,这样是为了加强系统的安全性,保证了系统的恶意操作或误删除等情况出现。(1)添加新用户功能的实现,并且设置用户的初始密码。(2)功能模块实现的界面效果如图6所示。图图6添加用户子模块窗体效果2.该子模块功能主要代码//用户名检测机制,保证用户名的唯一性。privatevoidbutton2_Click(objectsender,System.EventArgse){ if(this.textBox1.Text.Trim()==""){ MessageBox.Show("用户名不能为空"); } elseif(checkuser()==1) MessageBox.Show("该用户名不存在,可以注册!"); else{ MessageBox.Show("该用户名存在,请重新录入新的用户名!"); }}将新用户的信息写入数据库。通过自定义对象myAccc访问数据库,主要是由该对象调用存储过程来实现。privatevoidbutton1_Click(objectsender,System.EventArgse){//checkuser()是自定义的方法,实现对用户名的检查判断。 if(checkuser()==0){ MessageBox.Show("该用户名存在,请重新录入新的用户名!"); return; }自定义的regcheck()方法,根据该方法返回的值对不同的情况进行处理。 if(regcheck()==1){ DataAccessmyAcc=newDataAccess(); intli_check=myAcc.uerReg(this.textBox1.Text.Trim(),this.textBox2.Text.Trim(),boBox1.SelectedItem.ToString(),this.textBox4.Text.Trim(),this.textBox5.Text.Trim()); if(li_check==1){ MessageBox.Show("注册成功"); } }}车辆信息管理模块1.车辆信息模块该模块实现对车辆信息如、车牌号、颜色、座位数、是否无人售票和车辆品牌信息的录入和删除操作。该界面窗体效果如图7所示。
图7车辆信息管理窗体效果图7车辆信息管理窗体效果2.该功能模块实现的主要代码该段代码在用户点击“所有”按时,触发一个事件,通过调用allcarinfo()方法来返回数据库中的数据,然后使用dataGrid控件将数据显示出来。privatevoidbutton2_Click(objectsender,System.EventArgse){DataAccessmyAcc=newDataAccess();DataSetmySet=newDataSet();mySet=myAcc.allcarinfo();this.dataGrid1.DataSource=mySet.Tables[0];}该段代码实现用户增加车辆信息后完成保存功能的实现。其中针对某些可能出错的地方做出了人性化的处理,以便用户更正和做出相应的处理。司机信息管理模块1.司机信息管理模块通过该窗体,输入司机姓名、身份证、编号和驾驶编号等等司机的个人资料,实现添加司机信息的功能,该功能模块窗体的效果如图8所示。
图图8司机信息添加模块2.实现该功能模块的主要代码该事件实现将合法的司机信息写入数据库。同样通过自定义类的对象来访问数据库,并通过调用存储过程实现完成操作。privatevoidbutton1_Click(objectsender,System.EventArgse){ if(AddDirverscheck()==1){ DataAccessmyAcc=newDataAccess(); intli_check= myAcc.AddDirvers(this.tb_name.Text.Trim(),this.tb_Number.Text.Trim(), this.lab_photo.Text.Trim(),this.tb_Idnumber.Text.Trim(), this.tb_phone.Text.Trim(),this.tb_address.Text.Trim(), his.tb_DirverNumber.Text.Trim() ); if(li_check==1){ stringls_D=System.Environment.CurrentDirectory; MessageBox.Show("操作成功"); intli_counts=this.Controls.Count; for(inti=0;i<li_counts;i++){ if(this.Controls[i].GetType().ToString()=="System.Windows.Forms.TextBox") this.Controls[i].Text="";} } }}线路信息管理模块1.在该功能模块中实现添加线路相关的信息,主要输入的信息包括线路编号、线路名称、发车时间和收车时间等,具体的窗体效果见下页图9所示。图9线路维护界面图9线路维护界面2.实现该功能的主要代码CheckReg()是一个用于实现检查用户注册信息的私有方法,该方法通过嵌入SQL语句来检索数据库信息,以核对用户信息的有效性。privateintCheckReg(){ DataSetmySet=newDataSet(); stringls_query="select*fromt_lineInfowhereLineName='"+this.tb_name.Text.Trim()+"'orLineCode='"+this.tb_Code.Text.Trim()+"'"; DatabasemyDB=newDatabase(); mySet=myDB.SQLQuery(ls_query); if(mySet.Tables[0].DefaultView.Count==0)return0; elsereturn1;}车辆分配线路管理模块1.车辆分配线路管理功能公交车最终要与固定的某条线路相匹配,把具体的每一辆车分配到设置好的线路上。这样,汽车,司机,线路才能完成有机的联系,形成一个整体。对于管理者来说,能够通过该系统所提供的功能从宏观上把握车辆的运行情况,如图10所示。图图10车辆分配线路管理窗体效果2.实现功能的主要代码鼠标单击“确定”事件时,将进行的操作。首先根据整型变量li_LineID和li_CarID的值来判断是否选择了车辆或者某条线路;若没有,则弹出一消息窗口,给出提示信息。privatevoidbutton1_Click(objectsender,System.EventArgse){ if(li_LineID==0||li_CarID==0){ MessageBox.Show("车辆或者线路没有选择,请选择!"); return; } DataAccessmyAcc=newDataAccess(); if(myAcc.CheckLinByCarID(li_CarID)==0){ MessageBox.Show("该汽车已经分配线路"); } else{ intli_flag=0; if(this.checkBox1.Checked==true) li_flag=1; else li_flag=0; if(myAcc.InsertCarLine(li_CarID,li_LineID,li_flag)>0) MessageBox.Show("保存成功!"); }}系统维护和改进运行维护经过测试,该系统运行稳定,在使用和维护中应该注意以下几个问题:(1)定期备份数据库,以免丢失数据。(2)定期清理数据库中的无效数据,以提高运行效率。(3)对软件及运行环境进行日常维护。系统改进和提高本系统在信息表描述上,以及其它各个地方还有不完备的地方,通用性不强,另外对于用户权限上的设置没有实现更具体的功能实施,没有实现查询资料导出的处理。下一部的工作将完善本系统,在各个界面上进一步添加所需要的字段。在熟悉系统模块的设计后,可以根据实际需求的变化,扩充系统的功能。结论本文主要研究了公交车管理系统的设计与实现。实现公交车公司在对车辆和人员以及线路的统一管理的应用型设计。通过几个月的努力,公交车管理系统功能基本符合用户需求,能够完成用户提出的信息管理要求,实现对公交车辆的日常管理。在系统的整个设计与实现过程中,主要解决了司机信息管理、车辆信息管理、线路信息管理以及公交车、司机和线路之间的分配的管理。对于数据方面的处理,主要利用了存储过程的优势来实现对数据的一系列操作。在设计过程中,以及论文写作中,已经让自己学习到了很多的关于数据库和信息管理技术的知识。公交车管理系统的发展是随新技术的变革而改变的,所以开发更优秀的系统的步伐永远也不会停止,随着管理的进步,相应软硬件环境都需要变化,管理系统也应该因时而变、因地制宜地进行相应的调整。参考文献[1]KarliWatson[美].C#入门经典(第3版)[M].齐立波译.北京:清华大学出版社,2006[2]方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,2005[3]ChristianNagel[美].C#高级编程(第4版)[M].李敏波译.北京:清华大学出版社,2006[4]崔巍.数据库系统及应用(第二版)[M].北京:高等教育出版社,2003[5]JacquieBarkerBeginning[美].C#Objec概念到代码[M].韩磊译.北京:电子工业出版社,2006[6]张海藩.软件工程导论(第4版)[M].北京:清华大学出版社,2003[7]黄明,梁旭.C#+SQLServer中小型信息系统开发实例精选[M].北京:机械工业出版社,2007[8]柴晟.ADO.NET数据库访问技术案例教程[M].北京:北京航空航天大学出版社,2006
致谢本文是在实习公司的技术骨干和秦智老师的热情关心和指导下完成的,特别是在公交车的数据库设计、管理流程规划、编程技术方面得到了很大的帮助,对顺利完成本课题起到了极大的作用。在此向他表示我最衷心的感谢!在论文完成过程中,相关的程序设计和理论知识、程序调试方面,本人还得到了李飞老师和王震川、魏龙等同学和朋友的热心帮助,本人向他们表示深深的谢意!最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!作者简介:姓名:帅希涛性别:男出生年月:1984年11月3日民族:汉族E-mail:shuaixitao@PAGE声明本论文的工作是2007年2月至2007年6月在成都信息工程学院网络工程系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。关于学位论文使用权和研究成果知识产权的说明:本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括:(1)学校有权保管并向有关部门递交学位论文的原件与复印件。(2)学校可以采用影印、缩印或其他复制方式保存学位论文。(3)学校可以学术交流为目的复制、赠送和交换学位论文。(4)学校可允许学位论文被查阅或借阅。(5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信息工程学院。特此声明!毕业设计(论文)公交车管理系统的设计与实现论文作者姓名:申请学位专业:申请学位类别:论文提交日期:公交车管理系统的设计与实现摘要随着经济的日益增长,信息化时代已经到来,生活中各种信息趋向数字化、清晰化。公交车作为现代城市生活中一种重要的交通工具,其数量增多,车型也不再单一,雇用的司机增多,这样使得公交车公司的车辆信息管理复杂化。在这样的背景下,提出了计算机管理的公交车管理系统,辅助公交车运营公司对车辆进行管理,实现公交车、公交线路和司机管理科学化,更合理的利用资源。该系统主要根据实际的需求,以需求分析、系统的设计目标,并且重点进行系统功能模块的详细设计和实现,采用了VisualStudio.NET2003开发平台和SQLServer2000数据库,实现了车辆信息管理、司机信息管理、线路信息管理和车辆分配线路管理等功能。在针对数据操作方面,主要通过存储过程的方式实现数据的添加、删除和查询等操作。通过系统测试,解决了公交车辆管理系统主要问题。关键词:管理系统;数据库;存储过程TheDesignandImplementationofBusManagementSystemAbstractAlongwitheconomicalgrowing,theinformationcenturyhasalreadyarrivedandeachkindofinformationtrendstodigitizationandclearnessinourlife.Asanimportanttransportationtoolinthemodernlife,thenumberofthebusisincreasinganditstypeisnolongerunitary.Aswell,thebusdriversarealsoincreasing.Thesemaketheinformationmanagementofthebuscompaniesmorecomplicated.Undersuchbackground,thebusmanagementsystemcontrolledbythecomputersisputforward.Itwillhelpthebuscompanymanageitsbuses,makethemanagementofthebus,thebusroutineandthedrivermorescientificandmakeproperuseoftheresources.Thesystemisbasedonthepracticalrequirements,andaimedatthedemandanalysisandthesystematicaldesign.Itemphasizesthedetailsofdesignandimplementationofthesystematicalfunctionmodule.It’sdevelopmentplatformareVisualStudio.NET2003andSQLServer2000Databaseandimplementsmanyfunctions,suchasvehiclesinformationmanagement,driverinformationmanagement,routineinformationmanagement,vehicleassignmentlinemanagement.fordatabaseimplementation,itmainlyusesthestorageproceduretoimplementtheaddition,deletionandinquiry.Bythesystematicaltest,itcansolvethemainproblemsinthevehiclesmanagementsystem.Keywords:Managementsystem;Database;Storageprocedure目录论文总页数:20页1 引言 11.1 信息管理系统简介 11.2 开发背景和意义 11.3 系统设计目标 12 需求分析 12.1 系统需求 12.2 功能需求 22.3 性能需求 23 系统开发相关技术 33.1 编程环境的选择 33.2 关系型数据库 34 总体设计 44.1 设计思想与处理流程 44.2 系统层次模块图 44.3 模块设计 45 数据库设计 55.1 ADO.NET综述 55.2 逻辑设计 55.3 存储过程 76 详细设计 86.1 登录模块 86.2 主操作界面模块 106.3 系统用户注册模块 116.4 车辆信息管理模块 126.5 司机信息管理模块 136.6 线路信息管理模块 156.7 车辆分配线路管理模块 157 系统维护和改进 177.1 运行维护 177.2 系统改进和提高 17结论 17参考文献 18致谢 19声明 20第20页共20页引言随着计算机技术的迅速发展,推动了信息技术广泛、深入地应用到人类社会的各个领域并发挥着越来越重要的作用。计算机软件技术应用于信息管理是必然的趋势。作为计算机应用的一部分,充分发挥计算机的优势,将大量复杂的数据交给计算机来处理,有着人工管理所无法比拟的优点。如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高信息管理的效率,是真正意义上的合理利用资源,也是企事业管理科学化、正规化,与世界接轨的重要条件。信息管理系统简介信息管理系统,即我们常说的MIS(ManagementInformationSystem),是由人和计算机等组成的,能进行信息收集、加工、保存、维护和使用的系统。它能实现国民经济和企业行为的各种运行情况,利用历史数据预测未来,从全局出发辅助管理决策,利用信息控制企业行为、帮助实现其规划目标。在强调管理,强调信息的现代化社会中变的越来越普及。开发背景和意义随着经济的日益增长,车辆作为最重要的交通工具,在当今社会中得以普及。由于汽车数量的增加,而道路的承载能力有限。因此,城市公交车的迅速发展成为一种必然趋势。在这样的情况下,公交车运营商的车辆数目已经增加了许多,而且车型也不再单一,与此同时便产生了车辆资源的合理分配和使用问题。该问题涉及到车辆的档案管理、驾驶员档案管理、车辆管理、公交车运营线路的分配和管理等。如何对公交车公司的车辆进行合理的分配,科学的使用,使其发挥最大的价值是本问探讨的重点。该管理系统的提出,对于一个公交车运营商来说,不但可以对车辆的使用进行合理的管理,而且对车辆的使用情况进行跟踪记录,这对于单位车辆责任到人,信息明确,避免责任混乱等一系列相应问题的解决。系统设计目标该系统以车辆为主体,结合对于公交车线路的管理,设计并开发一个公交车管理系统,提供一个信息更新快捷,管理方便,功能设置合理的公交车管理系统解决方案。针对公交车运营公司大量的车辆信息和线路制定信息,制定实施该系统的各个功能,使得公交车的管理更加科学化。需求分析系统需求公交车管理系统是一个协助公交车运营商各单位对车辆进行全面的管理。在此之前,对于线路与车辆的管理采用的方式几乎都是手工管理,其中的弊端显而易见,即容易造成档案资料的遗失,控制不集中,管理不规范等等问题。因此,在管理系统的实现上应该满足以下需求:1.为保障系统的稳定性,对于可能发生问题的输入要进行检验,同时要给出合理的提示信息。2.在管理上满足公交车管理职能的基本需求,能够方便的进行司机信息管理、车辆信息管理、线路信息管理和车辆与线路的分配管理。3.为公交车管理系统提供数据支持。4.与传统的手工管理相比,应该添加用户权限的管理机制。保证系统安全性。功能需求根据对上述管理系统的业务流程、要求以及所要实现的目标,可以拟出以下的需求目标:1.建立司机档案和车辆档案管理的管理和维护,在计算机的支持下快速的完成车辆信息的添加和删除。2.建立线路与车辆的设置管理,在计算机的管理下,可以实现方便的添加、删除、修改。3.建立车辆与司机的分配管理,在计算机的管理下,可以实现方便的添加、删除、修改。4.实现系统权限设置管理,保证系统的安全性。根据系统的需求分析,得到本系统的功能要求如下:1.车辆信息的设置管理:系统合法用户可以根据公司具体情况设置关于车辆的具体资料档案。2.权限管理:为了很好的保证系统的安全性,公司相关负责人可以根据实际情况添加和删除系统用户。3.线路档案管理:一个城市的运营线路可能复杂且数据量极大,系统用户可以进行线路的规划管理。4.车辆与司机的分配管理:为了维护好车辆,要求司机做好车辆的日常维护工作,落实具体责任。5.车辆运行线路管理:实现对车辆和线路分配的管理,包括添加、修改和删除操作。性能需求系统的运行环境要求是:1.硬件环境目前,考虑到所开发系统主要应用在中小规模的公交车公司,因此,中等配置的计算机硬件就可以满足系统功能需求。考虑到公司规模的扩大和硬件价格的降低,为本系统配置在较优秀的服务器硬件上,可以充分发挥本系统的功能。处理器:InterPentium41.内存:512M(推荐)硬盘空间:80GB显卡:SVGA显示适配器2.软件环境操作系统:Windows2003/XP开发软件:MicrosoftVisualStudio.NET2003数据库:MicrosoftSQLServer2000系统开发相关技术编程环境的选择微软公司的VisualStudio.NET2003是Windows应用程序开发平台,该平台具有直观的开发界面、先进的程序设计思想,是目前最为广泛的、易学易用的面向对象的开发工具。VS.NET2003提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。C#同时提供的一套完善的编译和调试系统,使得在开发过程中可以很好的解决开发过程中出现的一系列问题。同时在该平台下还提供了软件发布功能,使得开发、调试到发布可以一步完成。故而,这是实现该信息管理信息的一个较好选择。C#是一门完全面向对象的程序设计语言。它可用于创建要运行在.NETCLR上的应用程序的语言之一,是微软专门为使用.NET平台而创建的。使用C#语言在开发过程中以对象为开发元素,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效的利用所创建的每一个对象。同时,用户还可以自己开发控件,从而满足用户的不同的需求,这样变使得应用程序具有可通用性可说扩展性和强有力的功能。确定测评指标的原则与方法。关系型数据库SQLServer2000是一种功能强大的数据库开发工具,数据库汇集了信息以供查询、存储和检索。它的优点在于强大的数据库引擎,它可以承受10000条以上的记录测试,而且数据库运行于服务器上,相对于本地数据库,可以明显的减少内存占用,提高运行速度和本机的利用效率。SQL数据库具有友好的管理界面——企业管理器,其中的视图可以直观的进行数据处理,同时支持直观的数据库设计,也可以通过词法分析器,使用SQL语句进行数据库的各种操作,包括数据库的建立,表的建立和修改等一系列操作。采用C/S模式的设计,可以更加合理的利用企业资源,使得数据集中在一台服务器上,从来节省了数据库管理的人力资源,也使得由于非专业人士的误操作,或者别的各种电脑意外而导致数据丢失,或者别的不必要损失,所以在数据库选择上采用了SQLServer2000。总体设计设计思想与处理流程本系统采用面向对象进行分析和设计,在SQLServer2000数据库上实现数据操作。使用了上文所介绍的完全面向对象的C#语言作为开发语言。使用WindowsXP作为开发平台,能够很好地实现系统的基本开发和测试。系统的基本流程是:用户登录主界面选择各项子功能。系统层次模块图“公交车管理系统”主要分为用户登录、车辆管理、司机管理、线路管理和车辆分配管理等6个主功能模块。系统主模块功能树如图1所示。公交车管理系统公交车管理系统登录功能图1系统主模块功能树用户注册车辆信息管理司机信息管理线路信息管理车辆分配管理模块设计1.登录模块输入用户的名称和密码,如果用户名、密码正确,则进入主控制平台;否则给出错误提示。2.用户注册模块系统管理员进行用户使用设置和初始密码的设置。3.车辆信息管理该模块的设计目的是用于用户录入与车辆有关的资料信息。比如车牌号、车辆拥有的座位数目和是否有人售票等信息。4.司机管理在该模块下包含两个子模块。其中一个用于对司机资料的录入操作;另一个模块提供给用户查询司机信息。5.线路管理该模块的功能同司机管理模块类似,同样包含两个子模块。一个用于录入线路信息;另一个用于查询线路信息。6.车辆分配线路管理实现将每辆车与线路相关联的操作。数据库设计ADO.NET综述ADO.NET是ADO的改进版本。ADO.NET是与C#和.NETFramework一起使用的类集的名称,用于以关系型的、面向表的格式访问数据[1]。ADO.NET集成到.NETFramework中,可以用于任何.NET语言,尤其是C#。这也是该管理系统采用C#程序语言的原因。ADO.NET的作用与ADO(ActiveDataObjects)相同,提供易于使用的类集,以访问数据,ADO.NET的功能得到更新和增强,可以用于.NET编程环境。在使用SQLServer数据库时,通过SQLServer专用的内置.NET数据提供者可以获得最好的性能和对基础功能的最直接的访问。1..NET数据提供程序根据数据源不同,常用的.NET数据提供程序可以分为以3种:SQLServer数据提供程序、OLEDB数据源提供程序以及ODBC兼容的数据源提供程序。所有的数据提供程序都位于System.Data命名空间中。每种.NET数据提供程序都由4个主要组建组成。它们的功能如下:(1)Connection对象:用于连接数据源。(2)Command对象:用于执行针对数据源的命令并且检索DataReader或者DataSet,或者用于针对数据源的一个INSERT、UPADTA或者DELETE命令。(3)DataReader对象:一个已连接的、前向只读结果集。(4)DataAdapter对象:用于从数据源产生一个DataSet,并且更新数据源。2.数据库应用程序的开发流程虽然数据库应用程序访问的数据库不通,实现的功能也不同,但其开发流程主要分为以下几个步骤:(1)创建数据库。(2)使用Connection对象创建到数据库的连接。(3)使用Command对象对数据源执行SQL命令并返回数据。(4)利用DataReader和DataSet对象读取和处理数据源的数据。逻辑设计1.E-R模型的建立根据针对系统的需求分析,可以得到本系统对应的各实体以及实体之间的关系。其中包含有用户实体、司机实体、车辆实体、线路信息实体等。下面根据分析得出其中主要的E-R图,如图2和图3所示。司机司机车辆姓名编号相片唯一ID住址工作证号身份证号配备唯一ID汽车牌号汽车品牌汽车座位数售票类型备注NM图2司机实体与车辆实体E-R图图2描述了司机实体和车辆实体之间的关系。车辆车辆录入时间发车时间起点站名称花费时间线路编码终点站名称备注收车时间线路名称唯一编号运行于车辆唯一ID汽车牌号汽车座位数汽车品牌备注售票类型1N图3车辆和线路E-R图图3描述了车辆实体和线路实体之间的关系。2.表单设计根据对各个实体的分析,可以进行数据库表的具体设计。下面给出两张具体表设计的实例,如表1和表2所示。表1用户信息表的实现字段名数据类型长度允许为空是否为主键说明IDINT4否是唯一标识UserNamenvarchar50否否用户名UserPassnvarchar50否否用户密码UserSexnvarchar50否否用户性别UserTelnvarchar50是否用户电话UserAddrnvarchar50是否用户住址表2线路信息表的实现字段名数据类型长度允许为空是否为主键说明IDInt4否是唯一标志LineNamenvarchar50是否路线名称LineCodenvarchar50是否路线代号StartTimenvarchar50是否起始时间EndTimenvarchar50是否中止时间StratPlacenvarchar50是否起点Remarknvarchar50是否备注CostTimenvarchar50是否用时InputTimedatetime8是否输入时间存储过程在该公交车管理系统的在数据的查询、添加和删除等操作上主要采用了存储过程。存储过程是编译好了的SQL语句。它类似于函数的使用,可以直接通过参数调用存储过程,所以效率比较高。1.存储过程的介绍存储过程是由一组为了完成特定功能的SQL语句集,经过编译和优化后存储在数据库服务器中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它[2]。存储过程的能力大大增强了SQL语言的功能和灵活性。2.存储过程的优势(1)允许标准组件式编程。在存储过程被创建以后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。(2)实现较快的执行速度。因为存储过程是预编译的,在首次运行前,查询优化器对其进行分析、优化,并给出了最终被存在系统中的执行计划[2]。(3)减少网络流量。在调用存储过程时,网络中传送的只是该调用语句,而不是多条SQL语句,从而大大减少了网络流量。(4)作为一种安全机制来充分利用。系统管理员通过对执行某一存储过程的权限进行限制,从而能够实现对相应的数据访问权限制,避免非授权用户对数据的访问,保证数据安全[2]。3.存储过程的代码实现在创建存储过程时,需要确定存储过程的三个组成部分:1.所有的输入参数以及传递给调用者的输出参数。2.被执行的针对数据库的操作语句,包括调用其他存储过程的语句。3.返回给调用者的状态值,以指明调用是成功还是失败。下面给出在该系统中使用到的部分存储过程:实现对满足ID号是CarLineID的汽车线路数据的删除操作。createprocprc_deleteCarLine@CarLineIDintasdeleteT_Car_LinewhereID=@CarLineIDif@@rowcount>0return0elsereturn1GO实现查询所有汽车信息的存储过程。createprocspr_carallasselectID,CarNumas"车牌号",CarColoras"颜色",SitNumas"座位数",CarTypeas"类型",AirCondias"是否空调车",Companyas"车品牌",Remarkas"备注"fromt_carGO详细设计根据已有的需求分析和总体设计,在此基础上进行系统的详细设计和实现。为此,建立了一个C#.NET项目。登录模块1.用户身份验证输入:用户名和密码。处理:(1)用户登录窗体启动。(2)输入用户名和密码。(3)检索数据库中数据,是否有相应的用户名和密码。(4)如果用户名和密码为空,或者错误,进行提示。(5)如果输入的用户名和密码正确,则允许该用户进入系统。(6)进入主控制台。输出:主控制台。2.用户登录模块的窗体设计用户登录模块的窗体设计,如图4所示。图4用户登录窗体图4用户登录窗体3.用户登录模块的主要代码privatevoidbutton1_Click(objectsender,System.EventArgse){ DataAccessmyAcc=newDataAccess(); if(myAcc.userlogin(this.textBox1.Text.Trim(), this.textBox2.Text.Trim())==1){ this.Visible=false; MainnewMain=newMain(this.textBox1.Text.Trim()); newMain.Show(); } elseif(myAcc.userlogin(this.textBox1.Text.Trim(),"")==0) MessageBox.Show("没有该用户!"); else { MessageBox.Show("登录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 委托托管协议书
- 2025版新能源产品销售合同标准模板
- 2025年度热镀锌钢管销售合同范本2篇
- 二零二五年度企业财务报表编制与分析合同范本3篇
- 2025年度体育场馆教练个人聘用合同示例4篇
- 2025年度二手房全款买卖合同房产交易风险提示协议
- 2025年度城市综合体商业空间租赁及品牌入驻协议
- 跨领域的安全逃生技巧探索
- 绿色能源在农业机械中的运用前景
- 智能家居时代下的家用医疗设备选择
- 煤矿反三违培训课件
- 向流程设计要效率
- 安全文明施工的管理要点
- 2024年中国航空发动机集团招聘笔试参考题库含答案解析
- 当代中外公司治理典型案例剖析(中科院研究生课件)
- GMP-基础知识培训
- 动力管道设计手册-第2版
- 2022年重庆市中考物理试卷A卷(附答案)
- Python绘图库Turtle详解(含丰富示例)
- 煤矿机电设备检修技术规范完整版
- 榆林200MWp并网光伏发电项目可行性研究报告
评论
0/150
提交评论