index |
(unsigned)integer |
name |
char 20 |
company |
char 80 |
job |
char 20 |
add_com |
char 80 |
postcode |
char 8 |
tel_O |
char 40 |
fax_O |
char 20 |
BP |
char 20 |
tel_mov |
char 15 |
E_Mail |
char 20 |
tel_H |
char 20 |
sex |
boolean |
memo |
Memo |
2. 配置文件:保留上次程序运行结束后的相关状态:
数据记录索引计数 |
index_num: |
(unsigned)integer |
数据库记录总数 |
record_total: |
integer |
快捷选择数组 |
short_key: |
array[0..9] of integer(index) |
快捷锁定数组 |
short_lock: |
array[0..9] of boolean |
3. 全局变量:
1. |
记录总数 |
record_total: |
integer |
2. |
浏览顺序数组 |
browse: |
array [0..max] of integer(record_buf id) |
3. |
热点记录 |
hot_record: |
integer(record_buf id) |
4. |
快捷选择数组 |
short_key: |
array [0..9] of integer(record_buf id) |
5. |
快捷锁定数组 |
short_lock: |
array [0..9] of boolean |
6. |
内存记录缓冲区 |
record_buf: name_add = |
array [0..max] of name_add record index:integer; name:char 20; company:char 80; telnum:char 40 end |
7. |
数据记录索引计数 |
index_num: |
(unsigned)integer |
数据库name_address的文件物理结构:采用顺序结构的记录文件。
l 初始化模块:将会设置全局变量1~7;
l 关闭系统模块:将全局变量1、4、5、7保存至配置文件中;
l 浏览模块:利用鼠标及键盘事件设置全局变量3;
l 刷新浏览模块:设置全局变量3,并使用全局变量1、2和6;
l 基本资料模块:设置全局变量6中的相应数据;
l 刷新基本资料模块:使用全局变量3和6,并可能访问数据库;
l 系统功能模块:利用鼠标及键盘事件;
l 查询模块:访问数据库;
l 修改模块:访问数据库和全局变量3;
l 增加模块:设置全局变量1、2、6和7;
l 删除模块:利用全局变量3和6,设置全局变量1、2和6;
l 打印模块:利用全局变量2、3和6;
l 详细资料模块:访问数据库和全局变量3和6;
l 快捷选择模块:访问全局变量2和4;
l 设置快捷选择模块:设置和访问全局变量2和4;
l 删除快捷选择模块:设置和访问全局变量2和4;
模块命名方式按照相应模块结合特性制定。命名方式为Ma和Ma.b,其中数字a相同的模块即为同类模块。
本软件控制流程:先由操作系统启动M1.1(其中调用M2.2和M3.2),然后进入事件驱动模式,由相应的事件分别激活M4.1(相应激活M4.2、M4.3、M4.4、M4.5、M4.6和M1.2)、M2.1、M3.1、M6.1、M6.2和M6.3等模块,其中M1.2将关闭并退出系统。
各模块运行时间均应控制在1~3秒内(其中大部分为响应用户的动作)。由于系统采用事件驱动方式,有效提高计算机的利用率。
1. 本软件应充分考虑各种系统错误,避免造成数据库系统不一致或损坏;
2. 努力提高系统鲁棒性,避免因用户的疏忽对系统造成损坏;
3. 采用对话框形式为用户提供警告信息;
4. 可考虑实现数据库备份及密码功能;
5. 一些关键性操作(比如删除记录),都应提供确认机制。
作为一个产品,《名址录》软件必须按照规范的步骤进行开发,并充分考虑软件可文护性,同时必须按时认真完成相应文档资料,以利于未来版本升级即移植等二次开发。
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页