项目名称:中小型企业车辆管理系统
1.引言
1.1编写目的
参见需求分析说明书1.1章——编写目的。
1.2 项目背景:
参见需求分析说明书1.2章——项目背景。
1.3参考资料
参见需求分析说明书1.3章——参考资料。
2.总体设计
2.1需求概述
本软件主要有一下几方面的功能:
1. 基础档案管理部分主要包含单位驾驶员档案管理,车辆档案管理等功能模块。
(1).驾驶员档案管理:对本单位的驾驶员档案信息进行文护,驾驶员基本信 息主要包括:姓名,驾驶证号,准驾车型,驾驶执照类型,驾龄等信息。
(2).车辆档案管理:对本单位车辆基本信息进行文护,包括车辆地增加,调整等等,车辆基本档案信息主要包括:车辆代号,车牌号,车型,购买日期,限做人数等信息,档案管理针对上述信息进行增加,修改。
2.车辆使用管理,包括派车申请,派车情况查看。
(1). 派车申请:主要供申请车辆时使用,填写外出时间,回归时间,目的地,随行人数,随行人员,外出事由。系统自动生成表单。
(2). 派车情况查看:记录了用车调度,主要是安排车辆和驾驶员,以及派车的历史记录和依据。
3.车辆管理,包含车辆使用记录和交通事故管理。
(1). 车辆使用记录:对车辆的使用情况进行实时监督和记录,为日后的统计和评估作依据。这些记录包括使用日期,使用车辆,使用事由等。
(2). 交通事故管理:对车辆存在的潜在风险——交通事故进行监督和记录,包括违章记录等。
4.车辆费用统计,是对于车辆开销的各种费用的一个集合的统计。这些费用包括:燃油费,文修费,保险费,年审费,过桥/路费,养路费等等。系统可以根据需求自动生成相应的报表,以供日后使用和审查。
5.查询功能,可以对整个系统或其子模块进行自定义查找,查找包含精确查找和模糊查找,以及智能查找三大方式。用户还可以根据时间段、数字段来过滤查找的结果。该功能并不是独立的一个模块,而是被整合在各个模块中。此处只是分开说明。
6.报表和打印,可以根据需求来生成各类报表,系统提供多种中国式的报表模板,用户可以选择合适的模板来生成报表,亦可自定义样式。并且还可以通过打印模块将报表打印输出。
2.2软件结构
1.程序基本结构图。
显示数据 …… 发送消息 发送消息 验证失败,返回 修改请求 返回 查询请求 返回执行状态 浏览请求 初始化 退出并提示异常 失败 成功 进入消息循环,等待用户触发事件 查询 显示数据 初始化修改 返回 验证数据有效性 写入数据库 写入数据库失败,返回 发送消息 刷新并显示数据 发送消息 退出
2.各个模块设计如下:
M1.1 |
初始化模块 | |
M1.2 |
退出模块 | |
M2.1 |
档案浏览模块 | |
M2.2 |
刷新模块 | |
M3.1 |
系统功能模块 | |
M3.2 |
查询模块 | |
M3.3 |
修改模块 | |
M3.4 |
增加模块 | |
M3.5 |
删除模块 | |
M4.1 |
报表生成模块 | |
M4.2 |
打印模块 | |
M5 |
统计模块 | |
M6 |
配置模块 | |
3. 程序描述
3.1 初始化模块(M1.1)
功能:初始化系统,设置系统各项属性的初始值。
输入项目:配置文件(Config.ini,User.ini),数据库信息。
输出项目:根据配置文件设置界面布局;用户历史纪录:登陆,存于User.ini。
程序逻辑:
P1: 设置各初始值(LoginTime=0),检查配置文件与数据库的有效性,完整性和一致性。若是,转P4;
P2: 根据错误情况显示消息窗口;
P3: 用户确认后退出程序运行;
P4: 显示登陆窗体,提示要求用户输入用户名和密码。
P5: 读取数据库,验证用户名和密码,若正确,跳转P9;
P6: 产生错误窗口,提示用户重新输入。跳转P4,临时计数器LoginTime自增;
P7: 判断LoginTime的值,若小于或等于2,跳转P4;
P8: 显示登陆次数超过限制的对话框,程序退出。
P9: 由数据库与配置文件设置全局变量GUI_Define;
P10: 显示主窗体。
P6: 调用刷新模块M2 .2,刷新当前数据;
P8: 进入事件等待状态;
存储分配:程序运行需要占用内存约2MB左右。
测试要点:配置文件或数据库文件损坏,用户登录异常,或没有足够内存可供使用时是否正常。
3.2关闭系统模块(M1.2)
功能:关闭并退出系统,保留相应状态数据。
输入项目:全局变量。
输出项目:数据库和配置文件。
程序逻辑:
P1: 设置数据库和配置文件;
P2: 释放系统资源并退出系统;
测试要点:数据库文件或配置文件是否可以正常操作,全局数据是否一致。
3.3 档案浏览模块(M2.1)
功能:文护在基础档案管理、派车管理、车辆使用日志等浏览区中的信息显示和刷新。
性能:该模块的使用率非常高,因此其性能直接影响到软件的整体相应速度,必需具备较快的响应时间。
输入项目:鼠标或键盘事件。
输出项目:浏览区中的信息
程序逻辑:
P1: 判断当前用户所处的区域,是否为档案管理(a)、派车管理(b)、车辆使用日志(c)、车辆费用管理(d)、查询和报表打印(e)中的某一块,若都不是转P5;并将数据参数ModuleInsight赋值。
P2:连接并读取数据库,按照传递的参数ModuleInsight的值来确定该读取的模块。
P3:将读取出来的值显示在相应的界面上。
P4:关闭数据库,释放临时变量等资源。
P5:进入消息循环,继续判断鼠标或键盘事件。
测试要点:对用户所在区域的正确判断和处理。
3.4 刷新浏览模块(M2.2)
功能:重新刷新浏览区数据。
输入项目:无。
输出项目:设置浏览区。
程序逻辑:
P1:根据参数ModuleInsight,来判断用户所处区域。
P2:连接并读取数据库,执行SQL语句来刷新数据库。
P3:查询数据库,将数据显示在相应界面之上。
P4:关闭数据库,释放临时变量等资源。
测试要点:在被调用时的周围环境和状态。