车辆管理调度系统Word下载.docx
《车辆管理调度系统Word下载.docx》由会员分享,可在线阅读,更多相关《车辆管理调度系统Word下载.docx(40页珍藏版)》请在冰豆网上搜索。
1.1系统背景
此系统是运用VB和ACCESS两个工具来开发完成的。
VB的特点有:
具有面向对象的可视化设计工具;
事件驱动的编制机制;
提供了易学易用的应用程序集成开发环境;
结构化的程序设计语言;
强大的数据库操纵功能;
Active技术;
网络功能;
多个应用程序向导和完备的Help联机帮助功能。
ACCESS的特点有:
数据的结构化;
数据的共享性;
数据的独立性;
数据的完整性;
数据的灵活性和数据的安全性。
1.2系统开发的目标和思想
该系统主要服务于机动车管理人员的日常工作,利用本系统可以方便的监控管理本区域的驾驶员信息,也更方便和简单的操作,提高了车管工作者的办事效率,系统也具有社会的可行性。
1.3系统需求分析
1.3.1环境需求分析
系统的运行对运行环境还有一些要求:
硬件环境在最低配置的情况下,系统的性能往往不尽人如意,现在的硬件性能已经相当出色,而且价格也很便宜,因此我们通常给服务器端配置高性能硬件。
处理器(IntelP42.0G或更高),内存(1GB),硬盘空间(10GB),显卡(SVGA显示适配器)。
软件环境:
操作系统(WindowsXPSP2),
软件支持(Visualbasic和数据库)。
1.3.2性能需求分析
1.图形化界面、可操作性强:
图形化界面、操作简单是车辆管理调度系统最基本的要求之一。
用户对系统的操作只需要鼠标和少量的键盘输入,加上界面和菜单显而易见,所以即使是计算机基础很差的用户经过简单的培训后,都能很快地熟练操作。
2.安全性:
车辆管理调度系统必须要有极其强大的安全性。
我们通过系统内部自设的权限校验来对系统登录用户实施校验,提高了整个系统的安全性,满足客户的安全性需求。
3.简便的维护手段:
系统使用后,维护工作将是一个长期的工作,系统将充分考虑维护工作的需求,通过相应手段降低维护工作量及难度,从而达到保证运行可靠及节省费用的目的。
4.高效性:
车辆管理调度系统应该具有的强大适应能力和简便实现能力。
系统运行的高效性是我们追求的目标之一。
5.功能性强大:
该系统将具有强大的功能性,能满足基本需要,发挥计算机管理的优势。
6.人性化设计:
简单的操作步骤,人性化的界面设计,符合当今社会科技以人为本的设计理念。
7.系统的安全设置:
该系统具有强大的安全性,系统内部的权限校验保证了管理单位资料的安全,保障了用户的权益。
8.使用的高效性:
该系统的使用体现了计算机操作的高效性,用时短,内容多的特点。
9.有错误识别能力:
当用户操作出现错误时,系统将提出警告,并能提示正确的操作,避免系统被破坏。
1.3.3编写方法的具体分析
1.操作系统。
操作系统对使用VB开发本系统的影响不是很大,WindowsNT、Windows2000、Windows9X、Linux、WindowsXP都可以,但性能好的操作系统可以使ASP服务器运行得更流畅,减少系统崩溃的可能性。
因此,这里选用了稳定性较好的WindowsXPSP2操作系统。
2.数据库。
由于本系统没有海量数据的存储问题,其数据一般不会很多,所以没有必要选用像Oracle这样的数据库,Access足可以胜任。
这里选用了MicrosoftAccess2000,具体原因如下:
Access最重要的特征是不必编写程序。
对于大多数关系型数据库管理系统,如Paradox,ForPox等而言,其管理者需要具有程序设计能力,才能建立和管理一个有效的应用程序,而Access数据库系统把数据库应用程序的建立移进用户环境中,除非要执行复杂的操作,数据库的管理者不在必须具有设计能力。
Access中数据库文件不是简单的存储数据的表,这是Access与其他桌面数据库的一个重要区别。
Access数据库文件不仅包含传统意义上的表,还包括操作或控制数据的其他对象(如查询,窗体和报表等)。
3.Visualbasic程序设计。
Visualbasic语言是以结构化Basic语言为基础,以事件驱动为运行机制。
它的诞生标志着软件设计和开发的一个新时代的开始。
VB的特点有具有面向对象的可视化设计工具;
第2章系统设计
2.1系统的功能结构设计
图2.1系统功能结构图
2.2系统组成及基本功能
本系统主要有六个部分组成:
1)用户登陆和注册2)车辆档案管理3)车辆运营管理4)车辆管理5)驾驶员管理6)系统维护
用户登陆和注册:
通过用户名和密码进入系统。
车辆档案管理:
车辆档案录入;
车辆档案查询;
车辆异动列表;
车辆异动查询;
车辆报废;
车辆报废查询。
车辆运营管理:
车辆运营列表;
车辆运营查询;
清空运营表。
车辆管理:
维修管理(车辆维修列表;
车辆维修查询;
添加零件)
违章管理(车辆违章列表;
车辆违章查询)
事故管理(车辆事故列表;
车辆事故查询)。
驾驶员管理:
驾驶员档案管理;
驾驶员档案查询;
驾驶员奖罚。
系统维护:
系统初始化;
管理员设置;
数据备份;
数据恢复;
退出。
2.3系统的数据库设置
几乎所有的应用程序都需要存放大量的数据,并将其组织成易于读取的格式。
这种要求通常可以通过数据库管理系统来实现。
数据库管理系统提供了数据在数据库内存放形式的管理能力,使编程人员不必像使用文件那样需要考虑数据的具体操作或数据连接关系的维护。
数据库是一组排列成易于处理和读取的相关信息的集合。
下面举出该系统所使用的表:
表2.1车辆档案表
此表所体现的是添加车辆的档案,一旦有新车入库就及时登记进去以便以后排车使用。
他的主键是车牌号码,因为车牌号码是唯一的。
表2.2车辆变更表
此表所体现的是车辆的异动情况,一旦有变更的话就做及时修改以便以后查询。
表2.3车辆运营表
此表所体现的是车辆的运营状况,若想查询目前车辆的运营情况在此表中可以一目了然。
表2.4驾驶员档案
此表所体现的是驾驶员的档案,表中记载了每个驾驶员的具体情况,同样“驾驶员编号”是该表的主键。
表2.5车辆事故表
此表所体现的是车辆事故情况,每当有事故发生以及该事故的详细情况和其他事项,诸如保险理赔金等都有详细记录在内。
该表的主键是“事故编号”。
表2.6车辆违章表
此表所体现的是车辆违章情况,记载了违章车辆的详细情况,诸如原因,处罚等。
表2.7车辆维修表
此表所体现的是车辆维修状况,记载了维修车辆的详细情况,诸如更换的零件,数目和维修时间等。
表2.8零件表
此表所体现的是零件的名字和单价。
表2.9奖惩表
此表所体现的是驾驶员的奖惩情况。
详细列出了每位驾驶员的收入和支出(因违章等原因)情况。
表2.10用户表
此表所体现的是用户的情况,包括用户姓名,密码和用户类型(管理员和普通用户)。
第3章系统主要功能设计和实现
3.1登陆界面设计
图3.1系统登陆界面
说明:
该段程序代码主要说明了通过输入用户名和用户名密码,并且选择用户类型。
用户类型有管理员和普通用户两种。
如果输入的用户名和用户名密码,用户类型都是正确的话那么可以顺利登陆系统。
如果输入的信息有错误,那么系统就会提示:
您输入的信息有误,请重新输入!
若输入错误信息超过三次,那么系统就会提示:
对不起,您已无权使用本系统!
此系统目前的用户名是lx,用户密码是lx,用户类型是管理员。
若想直接推出系统直接点击“退出”即可。
设计代码如下:
PrivateSubCombo1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Command1.SetFocus
EndIf
EndSub
//这段程序的作用是当按下回车时候,焦点指向command1,也就是按下command1按钮,就是登陆。
PrivateSubCommand1_Click()
Setadors=adoCon.Execute("
select*from用户表where用户姓名=ltrim('
"
&
Text1&
"
'
)and密码=ltrim('
Text2&
)and用户类型=ltrim('
Combo1.Text&
)"
)
//这个语句是指在输入用户名和密码之后连接数据库,查找相对应的用户名和密码和用户类型。
Ifadors.EOFThen
MsgBox"
,"
系统提示"
//
Text1="
Text2="
//如果用户名和密码之类的出错,跳出个信息框,内容是“您输入的信息有误,请重新输入”并清空2个输入框。
Text1.SetFocus
i=i+1
Ifi=3Then
UnloadMe
//连续3次出错之后,系统跳出信息框,内容是:
“对不起,您已无权使用本系统!
”然后自动关闭跳出。
Else
SelectCaseadors!
用户类型
Case"
管理员"
普通用户"
MDIForm1.mnuyydelete.Enabled=False
MDIForm1.mnusyscsh.Enabled=False
MDIForm1.mnuglyset.Enabled=False
EndSelect
//登陆成功后区分管理员和普通用户,普通用户的上述3个功能是被禁用的。
MDIForm1.Show
//显示form1内容
adors.Close
PrivateSubCommand2_Click()
'
adoRs.Close
//点退出按钮,退出登录界面
PrivateSubForm_Load()
Combo1.ListIndex=0
//设置当前选中项为第一项
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
Text2.SetFocus
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
Combo1.SetFocus
//光标在用户名上的时候按下回车,光标就跳到密码输入栏上,再按下回车跳转到用户类型上面。
该程序代码有用到SelectCase语句,选择用户类型:
管理员和普通用户;
还有If条件语句,如果输入两次,系统提示输入信息有误请重新输入,如果连续三次输入信息有错误,那就无权使用该系统;
If条件语句有多种形式,单分支,双分支和多分支等。
单分支结构的作用是当表达值的值为Ture或非零时,执行Then后面的语句块,否则不做任何操作。
双分支结构的作用是当表达式的值为非零时,执行Then后面的语句块1,否则执行Else后面的语句块2。
多分之结构的作用是根据不同的表达式值确定执行哪条语句块,VB测试条件的顺序为表达式1,表达式2…一旦遇到表达式值为非零时,执行该条件下的语句块。
还用到了人机交互函数MsgBox()函数等。
而人机交互函数主要通过InputBox()函数,MsgBox()函数和MsgBox过程进行的。
3.2主界面
图3.2系统主界面
正确登陆系统后出现该该系统的主界面,它包括了好几个版块:
5个主按纽,用来体现该系统的主要功能(车辆档案管理;
驾驶员管理和系统维护)。
7个图形化按纽,同样可以简单的完成该系统的主要功能。
1张车辆管理系统的界面图案和时钟。
这些都是很人性化的设计,哪怕是对电脑不怎么熟练操作的工作人员经过时间培训后就可以简单更好的来操作!
PrivateSubmnuaddlj_Click()
frmLJ.Show
StatusBar1.Panels
(1).Text="
零件添加窗体"
//显示frmLJ这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnubf_Click()
frmDataCopy.Show
数据备份窗体"
//显示frmDataCopy这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucarbf_Click()
frmcarBFlr.Show
车辆报废录入窗体"
//显示frmcarBFlr这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucarbfcha_Click()
frmcarBFcha.Show
车辆报废查询窗体"
//显示frmcarBFcha这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucardaadd_Click()
frmcardalr.Show
车辆档案录入窗体"
//显示frmcardalr这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucardacha_Click()
frmcardacha.Show
车辆档案查询窗体"
//显示frmcardacha这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucarsgcha_Click()
frmcarSGcha.Show
车辆事故查询窗体"
//显示frmcarSGcha这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucarsglist_Click()
frmcarSGlr.Show
车辆事故录入窗体"
//显示frmcarSGlr这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucarwxcha_Click()
frmcarWXcha.Show
车辆维修查询窗体"
//显示frmcarWXcha这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucarwxlist_Click()
frmcarWXlr.Show
车辆维修录入窗体"
//显示frmcarWXlr这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucarwzcha_Click()
frmcarWZcha.Show
车辆违章查询窗体"
//显示frmcarWZcha这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucarwzlist_Click()
frmcarWZlr.Show
车辆违章录入窗体"
//显示frmcarWZlr这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucaryd_Click()
frmcarydlr.Show
车辆异动录入窗体"
//显示frmcarydlr这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucarydcha_Click()
frmcarydcha.Show
车辆异动查询窗体"
//显示frmcarydcha这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnucaryycha_Click()
frmcarYYcha.Show
车辆运营查询窗体"
//显示frmcarYYcha这个FORM,状态栏的第一个框里的字显示"
PrivateSubmnuexit1_Click()
//卸载当前窗体
PrivateSubmnuexit3_Click()
PrivateSubmnuglyset_Click()