单位车辆管理系统论文.doc_第1页
单位车辆管理系统论文.doc_第2页
单位车辆管理系统论文.doc_第3页
单位车辆管理系统论文.doc_第4页
单位车辆管理系统论文.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

X X X X 大 学数据库应用技术课 程 设 计 说 明 书题目: 单位车辆管理系统 学院(系): 专业班级: 学 号: 学生姓名: 指导教师: 教师职称: 起止时间: xxxx大学课程设计(论文)任务书院(系): 教研室: 学 号 学生姓名 专业班级 设计题目单位车辆管理系统设计技术参数1 题目要达到的目标:完成系统的登陆、数据的插入删除修改统计等基本操作。2 数据库:SQLSERVER2000。3 所使用的语言、工具:VB6.0+ SQLSERVER2000+WINDOWSXP。4 所采用的技术、系统结构:ADO数据库联接技术,系统结构为C/S结构。设计要求5 教师布置实习任务和要求时,不得缺席,并做好记录。6 上机前预先把所有的源程序编写好。7 上机时不得迟到,不得缺席,爱护设备,认真调试程序。8 仔细查阅相关资料,认真完成思考题。9 按要求书写设计任务书,并按要求按版打印,不得雷同。工作量二周工作计划周一听取教师布置设计的任务及要求。周二学生查阅相关资料,进行数据库设计。周三至周五:详细设计与界面设计。周一至周四程序设计与上机,调试源程序。周五书写课程设计任务书。参考资料数据库应用技术数据库应用技术实验指导书自编数据库应用技术课程设计指导书等自编指导教师评语 教师: 学生:说明:此表一式四份,学生、指导教师、教研室、系部各一份。可加附页。2011年 12 月 31 xxxx 大 学 课 程 设 计 说 明 ( 计 算 )书 目录第一章 概述1第二章 问题定义2第三章 需求分析4第四章 数据库设计9第五章 界面设计14第六章 代码与注释18设计总结21参考文献22 第一章 概述本系统的主要目的是实现车辆信息的系统化、规范化和自动化;操作系统选择目前常用的Windows 2000/XP。系统性质为MIS(管理信息系统)或财务软件。本系统是针对单位车辆管理而设计的,系统包括:系统管理模块,司机信息管理、车辆信息管理,运营信息管理,维修信息管理,事故信息管理和费用信息管理等内容。要求以车辆信息管理为核心,进行系统分析设计,详细完成本管理系统的设计工作,完整编写、调试相应程序。车辆管理系统是一个协助各单位进行全面的车辆管理的系统。包括车辆档案管理;驾驶员档案管理;车辆运营信息管理;车辆事故信息管理;车辆维修信息管理;车辆费用管理等几个功能模块。各模块之间的部分数据必须统一,如车辆事故信息管理模块中的驾驶员,事故车辆必然来自司机模块和车辆信息模块,为了可以灵活的处理数据,系统应该提供一个数据接口,允许对数据进行导出处理,系统目标设计是用Excel数据表导出数据,可以方便用户灵活的处理数据。同时也提供强大数据报表功能。和普通系统一样,该系统也具有一个对系统用户进行管理的,用户管理模块,包括用户添加,用户密码的修改,用户的删除(只限Administrator)。第二章 问题定义用户信息管理:包括用户管理、用户的添加、用户密码修改、用户的删除。用户管理模块主要功能是用户的添加修改密码和删除。添加用户是所有用户都具有的功能。要求提供用户名和密码,以及密码的确认这里不做详细展开。密码的修改,考虑到用户的安全性,在修改密码的同时,要求对原密码的确认,对于确认密码是用户在登录时候,在与数据库用户密码审核的时候将密码读入到全局变量password,在用户进行密码修改的时候将输入的原密码框与password进行比较,通过在核定两次密码输入是否一致,这样就实现了用户密码的安全修改。对于用户的删除,充分考虑了系统安全问题,在数据库建立的时候,初始化了一个超级管理员Administrator,同时也有一个全局变量username与之对应,用于用户名的校对。只有用户名为Administrator的时候才允许对用户进行删除。用户的删除对于超级管理员是完全透明的,当用超级管理员登录后,使用删除用户操作时,系统将从数据库用户表中读取所有的用户名,管理员之需选定即可删除,所以说对于超级管理员是完全透明的,其中超级管理员不允许被删除。司机信息管理:包括司机信息添加、司机信息修改、司机信息删除、司机信息的查询。运营信息管理:包括运营信息添加、运营信息修改、运营信息删除、运营信息的查询。司机信息管理模块主要由三个窗体组成,分别是frmdriver、frmdriverlist、frmdriverfind。其中frmdriver窗体为司机信息的添加和修改窗体,它类似于以上详细介绍的车辆信息窗体,它也是有一个全局变量gintdmode来控制是处于添加状态还是修改状态,用另外一个全局变量flagdedit来标志当前是否已经进行了数据修改,如果已经修改将值置1,在显示数据的时候,如果已经修改则重新显示数据,保证显示数据与数据库的统一。维修信息管理:包括维修信息添加、维修信息修改、维修信息删除、维修信息的查询。事故信息管理:包括事故信息添加、事故信息修改、事故信息删除、事故信息的查询。费用信息管理:包括费用信息添加、费用信息修改、费用信息删除、费用信息的查询。这三个模块基本的输入输出功能与前面介绍的模块大体相似,在信息录入的时候,司机和车辆牌照信息,考虑到数据库各表之间的统一,在这三个模块中的司机名称和车辆牌照两个数据项是从前面的数据库中读取的,自动添加到这边窗体中的ComboBox中,用户只需直接选取即可。与前面几个模块不同的地方还在于数据库中数据读取不能像前面的车辆模块一样只用车辆牌照就可以唯一的确定一条记录。比如维修信息表,一辆车可能存在很多维修记录,这样在数据查询的时候,就出现了不确定性,在这个问题是我们采用了联合查询,一辆车可以有很多维修信息,但是,一辆汽车在同一个时间只能是一次维修,这样我们就唯一的确定了维修信息。同样一辆汽车不可能在同一个时间发生两次车祸。费用管理模块,主要是费用的类型和数目,以及费用数据的处理,所以,系统提供了将数据导出到Excel中备份,也可以导到报表工具中打印。这几块的查询,主要是车牌的查询,这样就可以直接的浏览某辆车的费用信息,也可以是时间段的查询,即单位某个时间段的查询,比如做月报、年度总结等,也可以联合查询,即对某一车辆在一段时间内的详细费用信息。对时间的查询,是根据数据记录中的最早的记录的时间到最近记录的记录做为整个时间查询的跨度车辆信息管理:包括车辆信息添加、车辆信息修改、车辆信息删除、车辆信息的查询。车辆基本信息主要包括车辆牌照、车型、发动机号等一系列信息,在信息输入完毕后,对各项信息进行确认。首先车辆牌照是唯一的,所以在写入数据库之前,先对数据库进行一次查询,查询是否存在这个即将被录入的车辆牌照,如此即避免了车辆的重复登记。车型、车主、牌照和发动机号则不允许被省略,目的是为了别的模块的连接和本身的查询。对车重和核定载客则可以为空,但当判断不为空是,就用isnumeric()进行判断,是否是数据类型,如果不是则提出警告。这就是对输入数据合理性进行了审核。提交数据的时候,判断全局变量gintvmode即当前模式,如果是添加模式,则在调用这个功能的时候自动将gintvmode赋1,则调用.addnew,添加新记录。gintvmode此变量主要用于标志当前处于添加状态还是修改状态,当然在form_load的时候,如果是添加则初始化控件数组txtitem(i)为空。第三章 需求分析一、数据库需求分析需求分析阶段又称为需求确立阶段,其目的是澄清用户的需求。这个阶段的基本任务是用户软件人员双方一起来充分理解用户的需求,作为用户和软件人员之间的合同,为相互了解提供基础。反映出问题的结构,可以作为软件人员进行设计和编写的基础。该阶段的两大任务即“理解”和“表达”,“分析”就是理解问题,“规格说明”就是某种标准的方式把问题表达出来。在开发软件时,所谓“用户要求”是指软件系统必须满足的所有性质和限制。用户要求通常包括功能要求,性能要求,可靠性要求,安全保密要求以及开发费用,开发周期,可使用的资源等方面的限制,其中功能在职要求是最基本的,它又包括数据要求和加工要求两方面。本软件系统主要满足单位车辆的管理工作的需求,完成对通行车辆调度的管理,对车辆使用调度、车辆信息和相关人员的信息管理、使用记录、事故等信息统一管理,进一步提高车辆管理。二、数据流图数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。它是描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流程图包括: a指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体; b指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能; c指明几个处理和(或)数据媒体之间的数据流的流线符号; d便于读、写数据流程图的特殊符号。在处理符号的前后都应是数据符号。数据流程图以数据符号开始和结束。数据流图有两种典型结构,一是变换型结构,它所描述的工作可表示为输入、主处理和输出,呈线 变换型结构数据流图。单位车辆管理系统的数据流图如下图所示: 图3.1系统的数据流图三、数据字典(DD)数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素定义的集合。任何字典最主要的用途都是供人查阅不了解的条目的解释,数据字典的作用也正是在软件分析和设计过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图精确的定义放在一起,才能共同构成系统的规格说明。 由于元素太多我们只对其中主要的元素定义说明。数据字典的主要用途是作为分子阶段的主要工具。在数据字典中建立一组严密一致的定义很有助于改进分析员和客户之间的通信,因此将消除很多可能的误解。数据字典包含的每个数据元素的控制信息是很有价值的。因为列出了使用一个给定的数据元素所有程序,很容易估计改变一个元素将产生的影响,并且能对所有受影响的程序或模块做出相应改变。由于暂时还没有自动的数据字典处理程序,我们采用卡片形式书写数据字典,每张卡片上保存描述一个数据元素的信息。这种做法较好的实现了上述要求,特别是更新修改起来很方便,能够单独处理每个数据元素的信息。每张卡片上包含的信息有:名字,别名,描述,定义,位置。以下是数据流图中主要元素的数据字典卡片:名字:数据库文件别名:描述:是车辆管理系统的数据库。是软件的核心数据库,有软件主窗体的所涉及的数据库。定义:数据库文件=车辆信息+用户信息表+司机信息表+运营信息表+维修信息表+事故信息表位置:系统磁盘存储器名字:数据库备份文件别名:描述:是车辆管理系统数据库的备份文件。以防数据库崩溃或出现其他问题,可以进行数据库恢复。定义:位置:自定义的系统磁盘位置名称:司机信息别名:描述:记录司机详细信息。便于管理。定义:司机信息=司机姓名+性别+出生年月+家庭住址+执照号码+准驾车型位置:系统数据库名称:车辆信息别名:描述:记录所有车辆信息,便于管理定义:车辆信息=车号+车主+类型+发动机号+车架号+厂家型号+登记时间+发证时间位置:系统数据库名称:运营信息别名:描述:记录运营信息状况。定义:运营信息=车号+司机姓名+运营开始时间+结束时间+运营公里+耗油量位置:系统数据库名称:维修信息别名:描述:记录车辆维修信息定义:维修信息=车牌+维修时间+维修单位+维修内容+维修价格+配件+备注 位置:系统数据库四、数据库概念的结构设计系统总体结构设计的任务,是根据系统分析的逻辑模型设计应用软件系统的物理结构。系统物理模型必须符合逻辑模型,能够完成逻辑模型所规定的信息处理功能,这是物理设计的基本要求。系统应具有可修改性,即易读,易于进行查错、改错、可以根据环境的变化和用户的要求进行各种改变和改进。系统是否具有可修改性,对于系统开发和维护影响极大。据统计,在系统生命周期中各阶段的应用软件费用及人力投入很多系统开发占百分之二十,系统维护占百分之八十。数据库设计在一个信息管理系统中占有十分重要的地位,数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响。合理的数据库设计可以提高数据库存储的效率,保证数据的完整好一致性,保障系统不会因为数据混乱而引起运行出错,同时,合理的数据库可以减轻系统开发的工作量,提高工作效率。数据库设计应该充分考虑系统的需求,包括现在的需求,也要考虑将来的需求。系统流程图是描述系统概貌的传统工具,系统流程图是操作的时候方便用户的。其基本思想是用图形符号黑盒方式描述系统每个部件。系统流程图表达的是系统各个部件间的流动情况,不是对信息进行加工处理的控制过程。本系统数据流程图如图3.1所示。开始车辆信息管理司机信息管理维修信息管理事故信息管理费用信息管理结束图3.2系统的流程图五、数据库的逻辑结构设计本系统采用Microsoft SQL Server 2000 建立数据库,包括7张表“用户信息表”、“司机信息表”、“车辆基本信息表”、“运营信息表”、“维修信息表”、“事故信息表”、“费用信息表”。六、物理实现数据库设计工作包含两方面的内容:数据库逻辑设计:设计数据库的逻辑结构,与具体的DBMS无关,主要反映业务逻辑。数据库物理设计:设计数据库的物理结构,根据数据库的逻辑结构来选定RDBMS(如Oracle、Sybase等),并设计和实施数据库的存储结构、存取方式等。数据库逻辑设计是整个设计的前半段,包括所需的实体和关系,实体规范化等工作。设计的后半段则是数据库物理设计,包括选择数据库产品,确定数据库实体属性(字段)、数据类型、长度、精度确定、DBMS页面大小等。数据库物理设计是后半段。将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须充分了解所用RDBMS的内部特征、存储结构、存取方法。数据库的物理设计通常分为两步:1确定数据库的物理结构。2评价实施空间效率和时间效率。 确定数据库的物理结构包含下面四方面的内容:1、确定数据的存储结构 2、设计数据的存取路径3、确定数据的存放位置 4、确定系统配置 数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,选择一个优化方案作为数据库物理结构。第四章 数据库设计一、概念设计系统ER图如下:司机基本信息姓名性别出生年月家庭住址执照号码图4.1司机基本信息E-R图车辆基本信息车号类型车主发动机号车架号图4.2车辆基本信息E-R图车辆维修基本信息车牌配件维修时间维修单位维修价格图4.3车辆维修基本信息E-R图车辆运营基本信息车号司机姓名耗油量运营公里运营开始时间图4.4车辆运营基本信息E-R图车辆事故基本信息车牌司机姓名事故时间事故地点事故原因图4.5车辆事故基本信息E-R图车辆费用基本信息车牌费用时间费用说明费用数目图4.6车辆费用基本信息E-R图二、逻辑设计下面列出几个主要的数据库表设计:表4.1 用户信息表字段名称数据类型字段长度可否为空说明user_idchar15否用户名user_pwdchar15密码user_deschar15用户描述表4.2 司机信息表字段名称数据类型字段长度可否为空说明sj_idchar10否驾照号码sj_namechar10否司机姓名sj_sexchar2司机性别sj_birthdaydatetime8司机生日sj_addresschar30司机住址sj_firstdaydatetime8初照时间sj_typechar10否准驾车型sj_bdatedatetime8有效开始时间sj_edatadatetime8有效结束时间表4.3 车辆信息表字段名称数据类型字段长度可否为空说明cl_idchar20否车辆牌照cl_kindchar20否车型cl_ownerchar20否车主cl_code1char10否发动机号cl_code2char10车架号cl_code3char20厂家型号cl_totalnumeric9(18,0)车重cl_passengernumeric9(18,0)核定载客cl_regdatedatetime8车辆注册日期cl_cardatedatetime8发证日期cl_colorchar4车辆颜色cl_driverchar10主要司机三、物理设计可以直接在数据库中建立数据表,也可以将自由表添加到数据库中,但不能将另一个数据库中的表拉到当前数据库中来。可以在同一个数据库中建立多个表。 1、创建数据库表。也可以在数据库设计器中直接创建数据表。首先单击“数据库设计器”工具栏的“新建表”按钮,然后在对话框中单击“新建表”按钮,将打开数据库“表设计器”。2、添加数据表。打开选定数据库的“数据库设计器”窗口,在“数据库设计器”工具栏中,单击“添加表”选项,将会弹出“打开”窗口,选择要添加的表后,单击“确定”按钮,就可以把一个自由表添加到当前数据库中,并将自由表变成数据库表。通过这几个控制区信息的描述,可以实现数据库对数据表的管理功能。数据库表添加或创建完成以后,关闭数据库设计器窗口。包含了数据表的数据库文件就保存在外存储器中。系统所建表如下图所示: 图4.7用户信息图4.8事故信息图4.9维修信息第五章 界面设计一、登陆窗口如下所示:输入用户名和密码登录车辆管理系统,便可以使用单位车辆管理系统如下图:图5.1 登陆界面二、主界面系统主要界面是一个MDI 窗体,系统主界面图如下:图5.2 系统主界面图三、密码管理超级用户可以修改密码,普通用户不可以,修改密码的界面如下图所示:图5.3 修改密码界面图四、车辆管理模块设计1、车辆信息的添加车辆基本信息主要包括车辆牌照、车型、发动机号等一系列信息,在信息输入完毕后,对各项信息进行确认。首先车辆牌照是唯一的,所以在写入数据库之前,先对数据库进行一次查询,查询是否存在这个即将被录入的车辆牌照,如此即避免了车辆的重复登记。车型、车主、牌照和发动机号则不允许被省略,目的是为了别的模块的连接和本身的查询。对车重和核定载客则可以为空,但当判断不为空是,就用isnumeric()进行判断,是否是数据类型,如果不是则提出警告。这就是对输入数据合理性进行了审核。提交数据的时候,判断全局变量gintvmode即当前模式,如果是添加模式,则在调用这个功能的时候自动将gintvmode赋1,则调用.addnew,添加新记录。gintvmode此变量主要用于标志当前处于添加状态还是修改状态,当然在form_load的时候,如果是添加则初始化控件数组txtitem(i)为空。车辆信息的添加如下图: 图5.4车辆信息添加图2、车辆信息的查询此模块的查询操作允许对任何字段进行查询,具体查询界面如图5.5所示:图5.5车辆信息查询图查询结果的实现也是通过前面介绍的frmvehiclelist来实现的,在查询模块中,通过用户对查询关键字的选择,系统生成一个sql命令,传递给frmvehiclelist窗体的公共变量txtsql,进行查询,然后就在frmvehiclelist的MSFlexGrid控件中显示出来,这样便实现了数据的查询。五、司机信息管理模块设计司机信息管理模块主要由三个窗体组成,分别是frmdriver、frmdriverlist、frmdriverfind。图5.6司机信息图系统功能设计六、系统功能设计模块设计系统功能结构图主要从功能的角度描述了系统的结构,未表达各功能之间的数据传送关系。系统功能模块图如下:单位车辆管理系统司机信息管理添加司机信息查询司机信息修改司机信息添加车辆信息查询车辆信息修改车辆信息添加运营信息管理查询运营信息修改运营信息添加维修信息查询维修信息修改维修信息添加事故信息查询事故信息车辆信息管理运营信息管理维修信息管理事故信息管理系统管理修改事故信息综合信息查询用户管理密码管理图5.7系统功能图第六章 代码与注释一、修改密码的设计代码Private Sub cmdok_Click() Dim txtsql As String Dim msgtext As String Dim mrc As ADODB.Recordset If Trim(txtoldp.Text) password Then MsgBox 对不起,你输入的旧密码不正确!, vbOKOnly + vbExclamation, 警告 txtoldp.SetFocus txtoldp.Text = Txtnewp1.Text = Txtnewp2.Text = Else If Trim(Txtnewp1.Text) = Then MsgBox 密码不能为空!, vbOKOnly + vbExclamation, 警告 txtoldp.SetFocus txtoldp.Text = Txtnewp1.Text = Txtnewp2.Text = Else If Trim(Txtnewp1.Text) Trim(Txtnewp2.Text) Then MsgBox 两次新密码输入不一致, vbOKOnly + vbExclamation, 警告 txtoldp.SetFocus txtoldp.Text = Txtnewp1.Text = Txtnewp2.Text = Else txtsql = select * from users where user_id= & username & Set mrc = ExecuteSQL(txtsql, msgtext) mrc.Fields(1) = Trim(Txtnewp1.Text) mrc.Update mrc.Close MsgBox 密码修改成功 vbOKOnly + vbExclamation,修改密码 Me.Hide End If End If End If End Sub二、司机信息查询代码Private Sub cmdok_Click() Dim txtsql As String If Check1.Value = vbChecked Then Call hidecheck If Trim(Text1.Text) = Then MsgBox 查询内容不能为空, vbOKOnly + vbExclamation, 警告 Else txtsql = sj_name= & Trim(Text1.Text) & End If Check2.Enabled = False Check3.Enabled = False End If If Check2.Value = vbChecked Then Call hidecheck If Trim(Text2.Text) = Then MsgBox 查询内容不能为空, vbOKOnly + vbExclamation, 警告 Else txtsql = sj_id= & Trim(Text2.Text) & End If Check1.Enabled = False Check3.Enabled = False End If If Check3.Value = vbChecked Then Call hidecheck If Trim(Text3.Text) = Then MsgBox 查询内容不能为空, vbOKOnly + vbExclamation, 警告 Else txtsql = sj_type= & Trim(Text3.Text) & End If Check1.Enabled = False Check2.Enabled = False End If If Trim(txtsql) = Then MsgBox 请设置查询方式!, vbOKOnly + vbExclamation, 提示 Exit Sub Else If flagdEdit Then Unload frmdriverfind End If frmdriverlist.txtsql = select * from driver where & txtsql frmdriverlist.Show End IfEnd Sub通过系统自带ODBC的文件DSN,进行连接数据库,其中定义的时候DSN文件名为myconnection.dsn(自定义),具体数据库连接的代码如下:Publ

温馨提示

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

评论

0/150

提交评论