1.管理员登陆软件时,要通过身份验证,当你点击确定按钮,系统会自动连接数据库,并且验证用户和密码的有效性;
2.验证成功,跳动主菜单,根据配置文件导入数据库,设置各全局变量。如果失败,重新输入密码,并且记录到日志文件;
3. 然后进入事件等待状态,各专门功能模块由事件驱动机制激活,分别执行完各项功能后仍进入事件等待状态;
4. 最后由关闭系统事件引导激活关闭系统模块,退出整个系统;
5. 如果身份验证失败,重新输入密码,并且记录到日志文件;
3.2层次图形
其他费用 车辆费用管理 费用合计 年审费用 停车费用 洗车费用 过路费用 保险费用 文修费用 燃料费用 养路费用 车辆费用管理 身份验证 重新输入 失败 主菜单 基础档案管理 派车管理 车辆使用日志 车辆登记 驾驶人员登记 派车申请 派车情况查看 车辆使用记录 交通事故管理 层次图 成功 查询 报表 打印
4 接口设计
4.1外部接口
l 采用GUI设计,即诸如窗口、菜单、对话框、滚动条等。
l 主菜单划分为四个区域:基础档案,车辆使用,车辆管理,车辆费用。
运行于Windows2000及更高版本具有WIN32 API的操作系统之上。
支持基于x86架构的IBM或其兼容机。
4.2内部接口
l 初始化模块:系统初始时由操作系统调用,执行完毕后进入事件等待状态
l 关闭系统模块:由系统功能模块调用,执行完毕返回操作系统;
l 基础档案模块:由相应事件驱动,完成车辆资料和驾驶人员资料连接数据库的读写功能。
l 车辆使用模块:由相应事件驱动,完成车辆使用记录功能;
l 车辆管理模块:由相应事件驱动,记录车辆交通事故情况;
l 车辆费用模块:由相应事件驱动,记录车辆费用;
l 查询模块:完成查询功能;
l 打印模块:完成打印功能;
5 数据结构设计
5.1逻辑结构设计
车辆基本信息VehicleInfo Table定义
sVehicleID |
nvarchar |
sVehicleNo |
nvarchar |
sVehicleType |
nvarchar |
sVehicleStyle |
nvarchar |
sDriver |
nvarchar |
sVehicleUser |
nvarchar |
sVehicleOwner |
nvarchar |
lPurchasePrice |
money |
sRemark |
nvarchar |
人员基本信息 DriverInfo Table 定义
sDriverID |
nvarchar |
sDriverName |
nvarchar |
bGender |
bit |
dBirthDate |
datetime |
sDriveLicense |
nvarchar |
dDriveLicenseValidityDate |
datetime |
dGetDriveLicenseDate |
datetime |
lDriveAge |
int |
sDriveVehilceName |
nvarchar |
sDriveType |
nvarchar |
dWorkDate |
datetime |
sAddress |
nvarchar |
sTelephone |
varchar |
iPhoto |
Image |
sRemark |
nvarchar |
配置文件是为了上次程序运行结束后,保留相关状态而设立的系统。它采用了ini技术来记录信息,由2个配置文件组成,分别为Config.ini和User.ini。前者是记录整体信息,后者是记录与用户相关的信息。同时,为了保证安全性,他们将被采用256位高强度AES算法加密。
数据记录索引 |
num_index |
unsigined int |
Config.ini |
数据记录总数 |
total_record |
int |
Config.ini |
用户界面定义 |
GUI_define |
Linked_table |
User.ini |
操作历史纪录 |
History |
Linked_table |
User.ini |
1 |
数据记录总数 |
total_record |
int |
2 |
内存记录缓冲区 |
Mem_buffer |
struct_array |
3 |
数据记录索引 |
num_index |
unsigined int |
4 |
当前用户权限 |
CurrentUser |
a set of (Admin,Guest) |
5 |
记录索引 |
Buffer_index |
integer |
5.2物理结构设计
本数据库采用Microsoft SQL Server 2000数据库来记录数据,其中 VehicleDB.db 为本数据库名称,其文件物理结构采用顺序结构。
5.3数据结构与程序的关系
l 初始化模块: 初始化全局变量1,2,3,4,5。
l 登陆模块:设置全局变量4。
l 关闭系统模块:将全局变量1,3保存到配置文件Config.ini中。
l 档案浏览模块:使用全局变量3。
l 刷新浏览模块:使用全局变量1,2,3,5。
l 查询模块:访问数据库并显示在主界面。
l 修改模块:访问并修改数据库,若操作成功,则设置全局变量3,然后将操作纪录写入User.ini中。
l 增加模块:访问并修改数据库,若操作成功,则设置全局变量1,3,5,然后将操作纪录写入User.ini中。
l 生成报表模块:使用全局变量1,2,3,5。
l 打印模块:将操作纪录写入User.ini中。
6 运行设计
6.1运行模块的组合
模块命名方式按照模块的耦合度编制。命名方式为Ma和Ma.b,其中数字a相同的模块即为同类模块,数字b为模块的次级编号。
6.2运行时间
各模块运行时间均应控制在1~3秒内(其中大部分为响应用户的动作)。由于系统采用事件驱动方式,有效提高计算机的利用率。