车辆管理系统毕业设计.docx
《车辆管理系统毕业设计.docx》由会员分享,可在线阅读,更多相关《车辆管理系统毕业设计.docx(28页珍藏版)》请在冰豆网上搜索。
车辆管理系统毕业设计
摘要
本文首先介绍了车辆管理系统的内容和意义,以及C#语言和SQL技术在现今的发展情况与背景。
本论文中前台设计使用的是基于Visualstudio平台的C#语言,后台数据库使用的是SQLServer数据库。
设计实现一个车辆管理系统,并完整的介绍了该系统的各个模块。
管理员通过该车辆管理系统,对所在停车场内的车辆进行管理、实时追踪以及调度,从而为押运中心的任务押运提供了更为安全可靠的保障。
关键词:
车辆管理系统、C#、VisualStudio
作者:
沈涛
指导老师:
刁红军
Abstract
Thisthesisfirstintroducedthecontentandmeaningofthevehiclemanagementsystem,andthedevelopmentsituationandbackgroundofc#andSQLtechnologyinthecurrent.
Thefrontdesigninthisthesisisusingthec#languagewhichbasedonvisualstudioplatform,thebackenddatabaseisusingSQLServer2005database.Itdesignedandimplementedavehiclemanagementsystem,andcompleteintroducedthesystemmodules.
Throughthevehiclemanagementsystem,administratormanagethevehicle,real-timetrackandscheduleofthevehiclewhichintheparkinglot,soastoprovidestheescorttaskoftheescortcentermuchmoresafeandreliableprotection.
Keywords:
Vehiclemanagementsystem,C#,Visualstudio
Author:
TaoShen
Sepervise:
HongjunDiao
前言
随着计算机技术的迅速发展,计算机技术已经渗透到各个领域内。
借助于计算机强大的计算能力和可靠性,本文介绍的就是一个针对押运系统的车辆管理系统,对押运车辆进行实时有效的管理,并提供停车场管理、车辆管理以及驾驶员信息管理的系统。
全文共分为6章,分别如下:
第一章:
绪论,描述了课题研究的内容及意义。
第二章:
相关技术及其背景,描述了开发该系统所使用的相关技术及其背景。
第三章:
系统功能分析,描述了系统的总体功能,以及系统的角色以及各角色的功能。
第四章:
系统的实现,描述了系统的具体实现过程,包含系统功能流程图和相关核心代码分析。
第五章:
系统的部署与运行,描述了系统的部署并演示了部分功能。
第六章:
总结与展望,对本系统的设计过程进行总结,并讨论进一步优化程序和完善系统的展望。
第一章
绪论
1.1课题研究的内容及意义
本文所介绍的系统是为苏州市公安局押运中心进行编写的系统,其功能是通过对车辆进行管理、实时追踪以及调度,为苏州市公安局押运中心的银行押运任务提供安全可靠的保障。
本系统有如下特点:
1.提供了简单方便的管理模式;
2.采用Winform界面开发;
3.采用先进的多层应用软件结构;
4.应用和界面的人性化设计;
5.采用多方位严格的安全性设计;
6.具有高效的系统性能和完备的数据完整性;
在车辆管理系统的编写过程中,我们应用了软件工程的方法,对用户需求进行了初步调查,对系统的要求进行了反复研讨,逐步完成了系统的体系结构设计、总体设计和功能设计,最终完成了对系统的编写。
1.2本章小结
本章主要描述了课题研究的内容及意义。
第二章
相关技术及其背景
2.1C#语言介绍
C#(CSharp)是微软(Microsoft)为.NETFramework量身订做的程序语言,C#拥有C/C++的强大功能以及VisualBasic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言[1]。
Csharp(又被简称为"C#")是微软公司在二OOO年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员AndersHejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角[2]。
2.2VisualStudio2008介绍
VisualStudio是微软公司推出的开发环境,VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。
VisualStudio2008在三个方面为开发人员提供了关键改进:
1.快速的应用程序开发
2.高效的团队协作
3.突破性的用户体验
VisualStudio2008提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。
VisualStudio2008包括各种增强功能,例如可视化设计器(使用.NETFramework3.5加速开发)、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。
VisualStudio2008为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持AJAX的Web应用程序。
开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的Web应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问ASP.NET应用程序服务和Microsoft平台[3]。
2.3SQLServer介绍
SQLServer是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。
SQLServer2005为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。
通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案。
图1显示了SQLServer2005数据平台的组成架构。
SQLServer数据平台包括以下工具:
1.关系型数据库:
安全、可靠、可伸缩、高可用的关系型数据库引擎,提升了性能且支持结构化和非结构化(XML)数据。
2.复制服务:
数据复制可用于数据分发、处理移动数据应用、系统高可用、企业报表解决方案的后备数据可伸缩存储、与异构系统的集成等,包括已有的Oracle数据库等。
3.通知服务:
用于开发、部署可伸缩应用程序的先进的通知服务能够向不同的连接和移动设备发布个性化、及时的信息更新。
4.集成服务:
可以支持数据仓库和企业范围内数据集成的抽取、转换和装载能力。
5.分析服务:
联机分析处理(OLAP)功能可用于多维存储的大量、复杂的数据集的快速高级分析。
6.报表服务:
全面的报表解决方案,可创建、管理和发布传统的、可打印的报表和交互的、基于Web的报表。
7.管理工具:
SQLServer包含的集成管理工具可用于高级数据库管理和调谐,它也和其他微软工具,如MOM和SMS紧密集成在一起。
标准数据访问协议大大减少了SQLServer和现有系统间数据集成所花的时间。
此外,构建于SQLServer内的内嵌Webservice支持确保了和其他应用及平台的互操作能力。
8.开发工具:
SQLServer为数据库引擎、数据抽取、转换和装载(ETL)、数据挖掘、OLAP和报表提供了和MicrosoftVisualStudio®相集成的开发工具,以实现端到端的应用程序开发能力。
SQLServer中每个主要的子系统都有自己的对象模型和API,能够以任何方式将数据系统扩展到不同的商业环境中[4]。
SQLServer2005数据平台为不同规模的组织提供了以下好处:
1.充分利用数据资产:
除了为业务线和分析应用程序提供一个安全可靠的数据库之外,SQLServer2005也使用户能够通过嵌入的功能,如报表、分析和数据挖掘等从他们的数据中得到更多的价值。
2.提高生产力:
通过全面的商业智能功能,和熟悉的微软Office系统之类的工具集成,SQLServer2005为组织内信息工作者提供了关键的、及时的商业信息以满足他们特定的需求。
SQLServer2005目标是将商业智能扩展到组织内的所有用户,并且最终允许组织内所有级别的用户能够基于他们最有价值的资产——数据来做出更好的决策。
3.减少IT复杂度:
SQLServer2005简化了开发、部署和管理业务线和分析应用程序的复杂度,它为开发人员提供了一个灵活的开发环境,为数据库管理人员提供了集成的自动管理工具。
4.更低的总体拥有成本(TCO):
对产品易用性和部署上的关注以及集成的工具提供了工业上最低的规划、实现和维护成本,使数据库投资能快速得到回报[5]。
2.4本章小结
本章主要介绍了相关技术及其背景,描述了开发该系统所使用的相关技术及其背景。
第三章
系统功能分析
3.1系统概述
本系统最主要的功能是实现押运车辆的管理。
系统允许管理员在经过系统管理员验证后在该系统内管理停车场、车辆信息以及维修功能。
管理员在登录后、系统将访问远程数据库,调用数据库中的车辆以及停车场信息,管理员通过系统可以对车辆出入库、车辆信息、车辆维修以停车场信息进行管理,其功能模块如图3-1所示。
图3-1车辆管理系统功能模块图
它们各自的功能如下所述:
1.车辆基本信息管理
车辆基本信息管理主要包括以下几个方面,查看车辆基本信息、添加车辆信息、修改车辆信息和删除车辆信息,主要对象为车辆基本信息。
2.车辆维修管理
车辆维修管理主要包括以下几个方面,查看维修信息、添加维修信息、修改维修信息和删除维修信息,主要对象为维修记录。
3.停车场管理
停车场管理主要包括以下几个方面,添加停车场、浏览停车场信息和删除停车场,主要是进行停车场的管理。
4.车辆出入库管理
车辆出入库管理主要包括车辆入库和出库的登记。
5.车辆信息统计
车辆信息统计主要针对车辆的信息进行统计。
3.2系统需求分析
车库管理员登录系统以后可以拥有所有功能的权限,用例图如图3-2。
图3-2车库管理员用例图
主要用例描述:
1)车辆信息管理
参与者:
车库管理员。
前置条件:
车库管理员已登录系统。
主事件流:
(1)浏览车辆信息:
车库管理员浏览车辆基本信息。
(2)添加车辆信息:
车库管理员添加车辆基本信息。
(3)修改车辆信息:
车库管理员修改车辆基本信息。
(4)删除车辆信息:
车库管理员删除车辆基本信息。
2)车辆维修管理
参与者:
车库管理员。
前置条件:
车库管理员已登录系统。
主事件流:
(1)浏览维修信息:
车库管理员浏览维修基本信息。
(2)添加维修信息:
车库管理员添加维修基本信息。
(3)修改维修信息:
车库管理员修改维修基本信息。
(4)删除维修信息:
车库管理员删除维修基本信息。
3)停车场管理
参与者:
车库管理员。
前置条件:
车库管理员已登录系统。
主事件流:
(1)浏览维修信息:
车库管理员浏览停车场基本信息。
(2)添加维修信息:
车库管理员添加停车场基本信息。
(3)修改维修信息:
车库管理员修改停车场基本信息。
4)车辆出入库管理
参与者:
车库管理员。
前置条件:
车库管理员已登录系统。
主事件流:
(1)入库车辆登记:
车库管理员对入库车辆进行登记。
(2)出库车辆登记:
车库管理员对出库车辆进行登记。
5)车辆信息统计
参与者:
车库管理员。
前置条件:
车库管理员已登录系统。
主事件流:
(1)车辆信息统计:
车库管理员对所有车辆信息进行统计。
3.3数据模型设计
本系统用到的实体有:
车库管理员、车辆、停车场、维修信息和驾驶员,这些实体的直接关系见图3-3所示:
图3-3系统E-R图
各实体之间的描述与关系:
1)车库管理员实体中包含了管理员ID、管理员登录名、管理员密码、姓名和电话等信息,车库管理员管理着维修信息和停车场;
2)停车场实体中停车场位置、停车场ID、所有车位数、空闲车位数和负责人ID等信息,停车场实体的外键负责人ID为车库管理员ID,停车场与车库管理员为一对一关联,一个车库管理员只能管理一个停车场,一个停车场也只能由一个管理员管理;
3)驾驶员实体是车辆驾驶者,该实体中包含了驾驶员编ID、驾驶员姓名和驾驶员性别等属性;
4)车辆实体中包含了车辆ID、车钥匙ID、车钥匙位置、车辆状态、车辆号和驾驶员ID等信息;车辆实体的外键驾驶员ID与驾驶员实体的外键驾驶员ID对应,驾驶员驾驶车辆,车辆与驾驶员为一对多关联,一个车辆可以由多个驾驶员驾驶,而一个驾驶员只能驾驶一个车辆;
5)维修信息中包含了车辆的维修信息,车库管理员可对该实体进行浏览、删除和添加,该实体中包含了车辆维修内容、负责人ID;维修实体的外键负责人ID为车库管理员ID;维修信息与车库管理员为多对一关联,一个管理员可以管理多条维修信息,而一条维修信息只能由一个车库管理员管理。
3.4本章小结
系统功能分析,描述了系统的总体功能,以及系统的角色以及各角色的功能。
第四章
系统的实现
4.1平台实现所用到的各个功能模块
1.登录
车库管理员输入管理员账号和密码就可以正常登录。
2.车型管理
系统允许管理员对车型进行添加和删除。
3.车辆管理
系统允许管理员对当前停车场进行车辆的添加、修改和删除。
4.停车场管理
系统允许管理员增加停车场。
1.
2.
3.
4.
5.出入库管理
系统允许管理员对车辆出库、入库进行添加、修改和删除。
6.维修信息管理
系统允许管理员对维修信息进行添加、修改和删除。
4.2登录模块
登录模块主要是通过输入正确的账号和密码,它可以提高程序的安全性,保护数据资料不外泄。
登录流程如图4-1所示。
登录时需要输入账号,密码,必须填写正确才能登录成功。
图4-1登录流程
管理员输入用户名和密码后可进行登录,其运行界面如图4-2所示。
图4-2系统的登陆界面
车库管理员信息表TASK_PEOPLE_XS主要用来记录管理员编号、用户名、口令、籍贯、性别、生日、管理员ID、教育程度、电话、住址、是否可携带枪支、照片等数据。
车库管理员信息表4-1TASK_PEOPLE_XS
编号
字段名称
字段类型
说明
1
pno
Int
管理员编号
2
name
Varchar(20)
用户名
3
Password
Varchar(15)
口令
4
hometown
Varchar(80)
籍贯
5
sex
Int
性别
6
birthday
Date
生日
7
idnum
Int
管理员ID
8
education
Varcha(20)
教育程度
9
address
Varchar(80)
住址
10
Tele
Varchar(20)
电话
11
allowgun
Bit
是否可携带枪支
12
photo
Image
照片
当用户输入账号,密码后点击登录。
系统通过数据库的TASK_PEOPLE_XSQ表中读取出管理员的账号和密码,并读取TASK_People_SXQ属性。
publicpartialclassFormLogin:
Form
{
publicFormLogin()
{
InitializeComponent();
}
privateTASK_PEOPLE_XSQlogin_people=newTASK_PEOPLE_XSQ();
privateVehicleServicevehicleService=newVehicleService();
}
当管理员输入账号密码时系统判定如下。
publicintLogin(stringPno,stringPwd,outTASK_PEOPLE_XSQLoginPeople)
{
LoginPeople=null;
TASK_PEOPLE_XSQ[]peoples=SearchPeoples(“TASK_PEOPLE_XSQ.Pno=‘”+Pno+”’”);
if(peoples==null)
{
return1;
}
if(peoples[0].Password!
=Pwd)
{
return2;
}
LoginPeople=peoples[0];
Session[“Pno”]=LoginPeople.Name;
Session[“Pwd”]=LoginPeople.Password;
return3;
}
4.3车型管理模块
管理员可通过添加车型模块添加车型,添加的车型信息包括车辆名称、座位数、最大钱袋数、排气量和生产长假以及车型图片,车型管理界面如图4-3所示。
图4-3车型管理界面
车型信息表VEHICLE_TYPE_YXX中包含了车型信息,包括车型ID、车型名称、座位数、钱袋数、生产厂家、排气量和照片数据。
表4-2VEHICLE_TYPE_YXX
编号
字段名称
字段类型
说明
1
id
Int
车型ID
2
name
Varchar(20)
车型名称
3
chairs
Int
座位数
4
bags
Int
钱袋数
5
photo
Image
照片
6
company
Varchar(80)
生产厂家
7
gas
flout
排气量
添加车型功能代码如下:
privatevoidlistBox1_SelectedIndexChanged(objectsender,EventArgse)
{
VEHICLE_TYPE_YXXtype=(VEHICLE_TYPE_YXX)this.listBox1.SelectedItem;
this.txt车型名称.Text=type.Name;
this.txt排气量.Text=type.Gas;
this.txt钱袋数.Text=type.Bags.ToString();
this.txt生产厂家.Text=type.Company;
this.txt座位数.Text=type.Chairs.ToString();
if(type.Photo!
=null)
{
this.pictureBox1.Image=Image.FromStream(newMemoryStream(type.Photo),true);
}
}
privatevoidtoolStripButton5_Click(objectsender,EventArgse)
{
this.Close();
}
4.4车辆管理模块
管理员通过车辆管理模块,可添加车辆基本信息,包括车牌号、驾驶员、行驶证号、驾驶员编号、车架号、车钥匙编号、车型、车辆类别等信息,其界面如图4-4所示。
图4-4添加车辆功能
车辆信息表VEHICLE_INFO_YXX中包含了车辆的所有基本信息,包括车辆ID、车型名称、车辆状态、钥匙ID等数据。
表4-3VEHICLE_INFO_YXX
编号
字段名称
字段类型
说明
1
id
Int
车辆ID
2
vnumber
Int
车型名称
3
state
Varchar(20)
车辆状态
4
ctime
Date
添加时间
5
driver_id
Int
驾驶员工号
6
park_id
Int
停车场ID
7
type_id
Int
车型ID
8
lmtime
Date
上次维修时间
9
miles
Int
里程数
10
lptime
Date
上次保养时间
11
lpcontent
Varchar(80)
上次保养内容
12
ptime
Date
上牌时间
13
keyid
Int
钥匙ID
14
keyposition
Varchar(20)
钥匙位置
15
run_no
Int
车驾号
16
control_no
Int
行驶证号
17
record_id
Varchar(80)
备注信息
添加车辆功能代码如下。
privatevoidtoolStripButton3_Click(objectsender,EventArgse)
{
Vehicle_Info_YxxnewVehicle=vehicleService.NewVehicle();
newVehicle.Park_id=this.formPark.ParkId;
newVehicle.vNumber=this.txt车牌号.Text.Trim();
newVehicle.Description=this.txt备注.Text.Trim();
newVehicle.State=1;
newVehicle.Ctime=DateTime.Now;
newVehicle.Keyid=this.txt车钥匙编号.Text.Trim();
newVehicle.Keyposition=this.txt车钥匙位置.Text.Trim();
newVehicle.Lmtime=this.date上一次维修时间.Value;
newVehicle.Lpcontent=this.txt上次保养内容.Text.Trim();
newVehicle.Lptime=this.date上次保养时间.Value;
newVehicle.Miles=(uint)this.num里程数.Value;
newVehicle.Ptime=this.date上牌时间.Value;
new