学年论文(课程论文、课程设计)题目:车辆管理系统作者:所在学院:信息科学与工程学院专业年级:信息安全09-1指导教师:职称:讲师2012年5月25日2一、概述随着经济的日益增长,信息化时代已经到来,生活中各种信息趋向数字化、清晰化。车辆管理系统就是在这样的一个环境中诞生的,交通的日益发达,使得一个单位不再是简单的一辆商务车,而是有很多辆车组成,而且车型也不再单一,这使得单位车辆信息复杂化。因此我们将发挥计算机的庞大的存储空间,高性能的处理能力,高度可靠的数据安全,清晰的可视化数据等这些优势来辅助单位对车辆进行管理,加强对本单位使用车辆的管理,实现了计算机资源的合理利用,真正实现了减少劳动力提高劳动质量的目的车辆管理系统要求有如下管理功能:(1)用车申请(2)派车登记(3)车辆支出的登记(4)查看功能:可随时查看车辆基本信息、驾驶员基本信息、车辆使用记录、违章记录、车辆费用管理、事故记录;(5)根据车号查看当前车的使用情况(6)统计功能:统计各车辆的违章记录、事故记录等;在某一时间内各车辆的油料使用情况本人在系统开发中承担用户登录,账户管理,登陆密码加密等相关功能二、需求分析1、数据流图:内部车队车辆管理系统单位职工派车登记车辆支出登记派车用车申请图1第一层数据流图3内部车队借车还车登记单位职工派车车辆拒借信息车辆外出费用单司机信息统计表车辆信息统计表车辆返还查询系统输入信息允许/拒绝申请信息借车(拒借)查询查询更新更新更新图2第二层数据流图单位职工还车审查费用统计归还入库还车结算检查(异常)司机信息统计表车辆信息统计表检查(正常)违规处罚更新司机提交记录违规处罚借还表图3第三层数据流图42、数字字典:1)数据项:表1数据项数据项名类型字节长度取值范围数据项含义说明单位职工字符型20任意车辆申请人部门字符型20任意车辆申请人所在部门外出目的地字符型20任意申请人外出目的地外出时间字符型20任意申请人外出时间外出事由字符型20任意申请人外出原因车牌号字符型20任意标识车辆车牌号出车时间整型20任意车辆借出时间返回时间整型20任意车辆返还时间驾驶员驾照号字符型20任意司机的驾照编号事故记录单字符型20任意车辆外出违章、事故的记录车辆费用单字符型20任意车辆外出花费费用事故记录字符型20任意车辆外出违章记录编号整型20任意对单位员工的标识汽车编号整型20任意单位车辆的编号驾驶员编号整型20任意对单位驾驶员的标识2)数据处理:表2数据处理处理过程名说明输入输出处理添加添加借出归/还信息车辆信息表车辆信息表执行添加操作查询查询借出归/还信息车辆信息表车辆信息表执行查询操作修改修改借出归/还信息车辆信息表车辆信息表执行修改操作删除删除借出归/还信息车辆信息表车辆信息表执行删除操作统计统计车辆借出归还信息车辆信息表车辆信息表执行统计操作3)数据流:表3数据流数据流名说明数据流来源数据流去向组成用车申请员工对借车原由员工车辆管理系统申请人、所在5的描述部门、外出目的地,外出时间、外出事由派车登记表对借出车辆的登记内部车队车辆管理系统车牌号、车辆型号、燃油种类、司机信息违归处罚对违归使用的处罚明细车辆管理系统员工(司机)违章记录、事故记录、过期还车还车信息登记员工车辆管理系统车辆信息、司机信息借车凭证借车信息登记车辆管理系统员工车辆信息、司机信息提交记录司机对外出使用车辆的记录信息司机车辆管理系统事故、燃油、维修等状况的记录检查异常(正常)对归还车辆的检查看是否超期等(正常)申请单据车辆管理系统检查归还汽车是否被损坏、超期等结算费用结算车辆管理系统员工(司机)对违规、超期罚款结算更新对表数据的增删修改等车辆管理系统各个信息表格对各个数据的变动统计4)数据存储:表4数据存储数据存储名说明编号输入数据流输出数据流组成存取方式频率司机信息统计表对司机的统计信息01司机信息车辆管理系统司机姓名、住址、所在部门、联系电话随机更新借还统计表车辆借出归还统计信息02借出/归还信息车辆管理系统车辆车牌号、车辆借出时间、车辆归还时间随机更新车辆信息统计表对车辆目前情况的统计03汽车的借还信息车辆管理系统车辆忙闲维修以及外出使用记录与统计随机更新6三、概要分析1、分析实体:职工、车辆、驾驶员、出车、事故、维修、油耗、变动实体属性:职工:编号、姓名、性别、籍贯、生日、政治面貌、住址、身份证号、电话、部门、工龄车辆:汽车编号、车牌号、车型、忙闲、车名、车龄、变动驾驶员:驾驶员编号、忙闲、驾照号事故:时间、地点、类型、费用维修:时间、地点、类型、费用油耗:时间、地点、燃油类型、费用变动:变动单号、汽车编号、变动时间、原因出车:时间2、E—R图:7指派性别生日部门住址姓名编号电话身份证号忙/闲驾照号工龄地点事由出车承担申请职工时间车辆车型车牌号车龄忙/闲发生时间时间类型费用地点地点费用时间地点评价驾驶员编号车名汽车编号费用燃油类型类型籍贯政治面貌变动单号汽车编号变动时间原因驾驶员属于时间11变动存在事故维修油耗1111111N1NNN11四、逻辑结构设计1、关系模式:R1、车辆(汽车编号,车名,车型,车牌号,忙/闲,车龄)R2、职工(编号,姓名,性别,部门,籍贯,生日,政治面貌,住址,身份证号,工龄,电话,部门)R3、申请(编号,汽车编号,地点,事由,时间)R4、驾驶员(驾驶员编号,驾照号,忙闲)8R5、事故(汽车编号,时间,地点,费用,类型)R6、维修(汽车编号,时间,地点,费用,类型)R7、油耗(汽车编号,时间,地点,费用,燃油类型)R8、变动(变动单号,汽车编号、变动时间、原因)2、关系模式规范化:R1、车辆(汽车编号,车名,车型,车牌号,忙/闲,车龄)R2、职工(编号,姓名,性别,部门,籍贯,生日,政治面貌,住址,身份证号,工龄,电话,部门)R3、申请(编号,汽车编号,地点,事由,时间)编号,汽车编号为外码R4、驾驶员(驾驶员编号,驾照号,忙闲)R5、事故(汽车编号,时间,地点,费用,类型)R6、维修(汽车编号,时间,地点,费用,类型)R7、油耗(汽车编号,时间,地点,费用,燃油类型)上述关系中的每个属性都是不可再分的,所以满足第一范式。上述关系中的每个属性都完全依赖于关系主码,所以满足第二范式。上述关系都不存在传递依赖关系,所以满足第三范式。3、最后确定的关系定义:1)职工信息表:staffs表5职工信息表含义属性名数据类型长度完整性约束备注编号staff_IDIntpk员工统一号姓名staff_namevarchar20Notnull性别Sexvarchar20Notnull籍贯Nationalityvarchar20Notnull生日birthvarchar20Notnull政治面貌Political_Partyvarchar20Notnull家庭住址Family_Placevarchar20Notnull身份证号Id_Cardvarchar20NotNull证件号BadgeIDvarchar20Notnull电话Home_phonevarchar20Notnull邮编Postcodevarchar20Notnull工龄InDatevarchar20Notnull92)维修信息表:reparis表6维修信息表含义属性名数据类型长度完整性约束备注汽车编号carIdIntpk执行单exeIDint时间haptimeVarchar20地点locationVarchar20费用feeInt类型haptypeVarchar203)事故信息表:accidents表7事故信息表含义属性名数据类型长度完整性约束备注汽车编号carIdIntPk执行单exeIDint时间atimeVarchar20地点locationVarchar20费用feeInt类型haptypeVarchar204)油耗信息表:fuels表8油耗信息表含义属性名数据类型长度完整性约束备注汽车编号carIdIntpk执行单exeIDint时间atimeVarchar20地点locationVarchar20费用feeInt燃油种类haptypeVarchar20汽车燃油的类型5)车辆信息表:carinfo表9车辆信息表含义属性名数据类型长度完整性约束备注汽车编号carIdIntPk车名carnamevarchar20车型ctypevarchar20车牌号numbervarchar20车龄agevarchar20汽车使用的时长忙/闲bofvarchar20当前车辆状态6)驾驶员信息表:driverinfo表10驾驶员信息表含义属性名数据类型长度完整性约束备注驾驶员编号driIdIntpk10驾照号licencevarchar20notnull忙/闲busy_freevarchar20notnull当前驾驶员状态7)申请信息表:applicants表11申请信息表含义属性名数据类型长度完整性约束备注编号staff_IDIntpk员工编号号汽车编号carIdIntnotnull地点locationVarchar20notnull事由aplwhyvarchar20notnull申请汽车的原因及用途时间apltimeIntnotnull申请时间及时长五、物理设计索引说明用主键索引,即利用数据库默认索引。六、系统实现采用的工具有:visualbasic6.0SQLServer2005完成的功能:用户登录账户管理等相关方面的功能部分功能代码如下:1、用户登录功能代码如下:1.1数据有效性检查IftxtUser=ThenMsgBox请输入用户名txtUser.SetFocusExitSubEndIfIftxtPwd=ThenMsgBox请输入密码txtPwd.SetFocusExitSubEndIf111.2将用户输入赋值到变量中NameKey=MakeStr(txtUser)PasswordKey=MakeStr(txtPwd)1.3判断用户是否存在IfMyUser.In_DB(NameKey)=FalseThenMsgBox用户名不存在Try_times=Try_times+1IfTry_times=3ThenMsgBox您已经三次尝试进入本系统,均不成功,系统将关闭DBapi_DisconnectEndElseExitSubEndIfEndIf1.4判断密码是否正确MyUser.GetInfo(NameKey)IfMyUser.PwdPasswordKeyThenMsgBox密码错误Try_times=Try_times+1IfTry_times=3ThenMsgBox您已经三次尝试进入本系统,均不成功,系统将关闭DBapi_DisconnectEndElseExitSubEndIfEndIf2、账户管理功能代码如下2.1'启动窗体FrmUserEdit.Show1EndWith2.2'刷新用户名列表框AdoUserList.Refresh12DataList1_ClickEndSub2.3'读取当前用户数据MyUser.GetInfo(DataList1.Text)2.4'设置用户名lblUserName=MyUser.username2.5'设置用户类型IfFormat(MyUser.username,)=adminThenlblUserType=系统管理员2.6'确认删除IfMsgBox(是否删除当前用户,vbYesNo,请确认)=vbYesThen'删除当前用户MyUser.Delete(DataList1.Text)'刷新用户名列表框内容AdoUserList.RefreshDataList1_ClickEndIfEndSub2.7把当前用户的数据赋值到FrmUserEdit窗体的相关位置WithFrmUserEdit.OriUser=MyUser.username.txtUserName=MyUser.username.txtPass=MyUser.Pwd.txtPass2=MyUser.Pwd.modify=True'如果当前用户为Admin,则不能修改用户名IfFormat