中小型企业车辆管理系统-详细设计说明书|精品课程网站设计|课程设计网报告总结心得
文档名称:详细设计说明书
项目名称:中小型企业车辆管理系统
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:关闭数据库,释放临时变量等资源。
测试要点:在被调用时的周围环境和状态。
3.5 系统功能模块(M3.1)
功能:将常用的系统功能进行统一管理,如添加、删除、修改、查询等。
输入项目:鼠标或键盘事件。
输出项目:无。
程序逻辑:
P1: 若事件为查询,调用查询模块M3.2,转P11;
P2: 若事件为修改,调用查询模块M3.3,转P11;
P3: 若事件为增加,调用查询模块M3.4,转P11;
P4: 若事件为删除,调用查询模块M3.5,转P11;
P5: 若事件为生成报表,调用查询模块M4.1,转P11;
P6: 若事件为打印,调用查询模块M4.2,转P11;
P7: 若事件为统计,调用查询模块M5,转P11;
P8: 若事件为最大化,执行Windows缺省操作,转P11;
P9: 若事件为最小化,执行Windows缺省操作,转P11;
P10:若事件为关闭,执行关闭系统模块M1.2,转P11;
P11:进入消息循环,等待事件的发生。
测试要点:数据库文件或配置文件是否可以正常操作,全局数据是否一致。
3.6 查询模块(M3.1)
功能:完成各种查询功能。
性能:某些较复杂的查询会使系统响应速度变慢,因此要尽可能提高响应速度。
输入项目:无。
输出项目:用户操作历史纪录:查询。存于User.ini。
程序逻辑:
P1: 若用户未提交关键字,显示提示对话框。
P2: 若用户未选择查询方式,显示提示对话框。
P3: 连接数据库,并且按照用户关键字和查询方式生成SQL语句,执行数据查询。
P4: 若查询失败,显示提示对话框,否则转P6。
P5: 释放此次查询用到的临时资源。
P6: 判断查询所返回的结果条数是否小于或等于0,否则转P8
P7: 提示用户未找到任何结果。
P8: 根据ModuleInsight,在相应的地方显示查询结果。
P9: 判断用户是否要求生成报表,若是,转M4.1。
测试要点:测试各种查询方式和可能出的问题。
3.7 修改模块(M3.2)
功能:实现数据修改功能。
输入项目:无。
输出项目:数据库和全局变量,以及用户操作历史纪录:修改,存User.ini。
程序逻辑:
P1: 等待用户在界面上输入修改的数据。
P2: 对用户输入数据进行有效性检查。若正确,转P5;
P3: 提示用户,数据类型错误或输入的数据无效。
P4: 调用刷新模块(M2.2),恢复原有数据。转P1;
P5: 连接数据库,生成更新数据的SQL语句。
P6: 更新数据库。若成功,转P8;
P7: 提示用户数据更新失败。转P1;
P8: 调用刷新模块(M2.2),更新用户当前界面,ModuleInsight判断显示位置。
P9: 在User.ini文件中纪录用户的更新操作和该操作的结果。
P10:进入消息循环,等待下一个事件发生。
测试要点: 注意测试在各种情况下的修改,以及修改的数据是否合法的问题。
3.8 增加模块(M3.3)
功能:完成增加功能。
输入项目:无。
输出项目:用户操作历史纪录:增加,存于User.ini。。
程序逻辑:
P1: 等待用户输入信息或发送添加信息请求。
P2: 对用户的各项输入信息进行逐个检查,若正确,转P4;
P3: 提示用户数据类型出错或输入的数据有误。
P4: 连接数据库,生成添加数据的SQL语句。
P5: 更新数据库。若成功,转P7;
P6: 提示用户数据更新失败。转P1;
P7: 调用刷新模块(M2.2),通过ModuleInsight判断显示位置。
P8: 在User.ini文件中纪录用户的添加操作和该操作的结果。
P9: 进入消息循环,等待事件发生。
测试要点: 注意添加数据是否有违背数据库内部各种约束的问题。
3.9 删除模块(M3.4)
功能:删除数据。
输入项目:无。
输出项目:用户操作历史纪录:删除,存于User.ini。
程序逻辑:
P1: 当用户发送删除请求时,显示用户确认对话框。如用户选择“确认”,转P3。
P2: 若用户取消,则返回。
P3: 连接数据库,执行删除操作。如果成功,转P5;
P4: 显示删除失败对话框。转P8;
P5: 显示删除成功对话框。
P7: 调用刷新模块(M2.2),通过ModuleInsight判断显示位置。
P6: 在User.ini文件中纪录用户的删除操作和该操作的结果。
P7: 进入消息循环,等待事件发生。
测试要点:信息的冗余问题,不要出现用户界面显示和数据库内部信息的不一致。
3.10 报表生成模块(M4.1)
功能:生成报表。
输入项目:无。
输出项目:无。
程序逻辑:
P1: 按照用户定制的需求,调用Crystal Report来生成报表。
P2: 显示报表。
测试要点:无。
3.11 打印模块(M4.2)
功能:打印功能。
输入项目:无。
输出项目:无。
程序逻辑:
P1: 判断用户安装打印机与否,若已经安装,跳P3 ;
P2: 显示提示窗口,提示用户安装打印机。
P3: 根据用户需求产生打印窗口;
P4: 打印数据并返回;
P5: 提醒用户打印完成。
测试要点:无。
3.12 统计模块(M6)
功能:统计各项数据,进行分类汇总。
输入项目:无。
输出项目:无。
程序逻辑:
P1: 根据用户选择,统计某类数据。
P2: 如果有数据统计且正常,跳转P4;
P3: 显示错误提示。
P4: 将这些数据分类显示出来。
测试要点:数据库文件或配置文件是否可以正常操作,全局数据是否一致。