第一章 引言 1
1.1 信息系统的描述和设计需要“交通图” 1
目录 1
1.2 读者从本书可预期的收获 2
1.3 将讨论的几种技术 3
1.4 怎样才是好的信息系统 3
1.5 各种技术概述 4
1.5.1 信息工程 4
1.5.2 结构化分析和设计 5
1.5.3 结构化需求定义 6
1.5.4 Jackson系统开发 6
1.5.5 高层软件 7
1.5.6 试样 7
1.6.2 数据使用分析 8
1.6.3 信息爆炸 8
1.6 本书的其它内容 8
1.6.1 描述和设计技术与应用系统开发方法 8
1.7 如何学这本书 9
第二章 实例介绍 10
2.1 图书馆系统 10
2.2 系统的统计数字 11
2.3 历史 11
2.4 遇到的问题 14
2.5 系统文本和归档文本的处理 15
2.5.1 系统文本 16
2.5.2 系统文本修改 19
2.5.3 归档文本 19
第三章 事务信息系统的基本成份 22
3.1 数据输入 23
3.2 数据存储 25
3.2.1 文件/数据库结构的类型 25
3.3 输出数据 25
3.4 文件维护 26
3.5 输出产生 27
3.6 文件/数据库内容和结构 29
3.7 系统,程序,模块 30
第四章 信息工程 32
4.1 什么是信息工程? 32
4.2 信息工程方法概述 33
4.3 信息分析 35
4.3.1 数据规范化 36
4.3.1.1 第一范式 36
4.3.1.2 第二范式 37
4.3.1.3 第三范式 38
4.3.1.4 投影和连接 39
4.3.1.5 不完整的数据描述 39
4.3.1.6 主记录和次记录 40
4.3.1.7 导出记录 40
4.3.1.8 从规范化数据模型到物理数据库的转换 40
4.3.2 信息分析的十个步骤 41
4.4 正规合成 52
4.5 过程形成 56
4.5.1 过程发现 57
4.5.2 1,2,3层过程(Finkelstein) 61
4 5.3 标志条件(Connor) 67
4.5.4 LAM和DAD(Martin) 69
4.5.6 过程综合 73
4.5.5 过程扩展 73
4.6 程序描述合成 74
4.6.1 记录之间的联系 74
4.6.2 次记录 75
4.6.3 输出描述 76
4.6.4 标准模块 76
4.6.5 主索引层次结构 78
4.7 信息工程的优点和缺点 81
第五章 结构化分析和设计 83
5.1 什么是结构化分析和设计? 83
5.1.1 结构化分析的定义 83
5.1.2 结构化设计的定义 84
5.2 结构化分析 85
5.2.1 结构化分析的工具 85
5.2.1.1 数据流图 87
5.2.1.2 数据词典 90
5.2.1.3 使用结构化语言写小描述 92
5.2.2 结构化分析的步骤 94
5.2.2.1 研究当前的物理环境 94
5.2.2.2 导出当前环境的逻辑等效结果 95
5.2.2.3 推导新的逻辑环境 105
5.2.2.4 推导新的物理环境 106
5.2.2.5 设计方案的费用和时间估算 108
5.2.2.6 挑选设计方案 108
5.2.2.7 把所选方案和支持文档组合成结构化描述 109
5.3 结构化设计 109
5.3.1 结构图 111
5.3.2 耦合性 114
5.3.2.4 公共耦合 116
5.3.2.3 控制耦合 116
5.3.2.1 数据耦合 116
5.3.2.2 标记耦合 116
5.3.2.5 内容耦合 117
5.3.3 内聚性 117
5.3.3.1 功能内聚 117
5.3.3.2 顺序内聚 117
5.3.3.3 通讯内聚 118
5.3.3.4 过程内聚 118
5.3.3.5 瞬时内聚 118
5.3.3.6 逻辑内聚 118
5.3.3.7 偶然内聚 119
5.3.4 细化结构图 119
5.3.4.1 分解 119
5.3.4.2 判定分裂 120
5.3.4.3 扇出(控制的跨度) 121
5.3.4.4 过通用模块 121
5.3.4.5 出错报告 121
5.3.4.6 扇入 121
5.3.4.7 系统形状 121
5.3.4.8 信息隐藏模块 122
5.3.5 变换分析 122
5.3.6 事务分析 124
5.3.7 模块说明 126
5.3.8 组合物理模块 127
5.3.9 图书馆系统 128
5.3.10 实施 132
5.4 结构化分析和设计的优缺点 133
6.1 什么是结构化需求定义? 135
第六章 结构化需求定义 135
6.2 Warnier-Orr图 136
6.2.1 数据结构图 136
6.2.2 系统和过程图 140
6.2.3 装配线图 140
6.2.4 Warnier-Orr图符号 141
6.2.5 Warnier-Orr图与数据流图 143
6.3 需求文档 144
6.4 逻辑定义阶段 144
6.4.1 定义应用环境 145
6.4.1.1 用户层实体图 145
6.4.1.2 用户层实体综合图 146
6.4.1.3 应用层实体图 147
6.4.1.4 系统目标 149
6.4.1.5 图书馆系统 150
6.4.2 定义应用功能 152
6.4.2.1 定义主线功能流 152
6.4.2.2 范围 154
6.4.2.3 子系统定义 156
6.4.2.4 决策支持功能 159
6.4.3 定义应用结果(主要输出) 160
6.4.3.1 确定主要输出 160
6.4.3.2 定义主要输出 161
6.4.3.3 周期 163
6.5 物理定义阶段 163
6.5.1 约束 164
6.5.3 获益与风险 165
6.5.4 建议方案时的做法 165
6.5.2 可选物理方案 165
6.5.5 最后需求定义文档 166
6.6 结构化需求定义过程图 167
6.7 结构冲突 170
6.8 实例的其它应用 171
6.9 结构化需求定义的优缺点 171
第七章 Jackson系统开发 173
7.1 什么是JSD? 173
7.1.1 静态和动态模型 174
7.2 开发步骤 175
7.2.1 实体动作步骤 175
7.2.2 实体结构步骤 178
7.2.2.1 结构图 179
7.2.3 初始模型步骤 184
7.2.3.2 系统描述图 185
7.2.3.1 JSD术语 185
7.2.3.3 结构文字 186
7.2.4 功能步骤 189
7.2.5 系统定时步骤 191
7.2.6 系统实施步骤 192
7.3 结构冲突 194
7.3.1 边界冲突 194
7.3.2 次序冲突 195
7.3.3 交错冲突 195
7.4 并非自顶向下 196
7.5 JSD的优缺点 197
第八章 高层软件 198
8.1 什么是高层软件? 198
8.2 系统的测试和排错 199
8.3 HOS二叉树 199
8.4 HOS控制结构 201
8.4.1 基本构造 202
8.4.1.1 连接 202
8.4.1.2 包含 203
8.4.1.3 或 203
8.4.2 共控构造 203
8.4.2.1 共发 203
8.4.2.2 共连 203
8.4.2.3 共含 204
8.4.2.4 共或 204
8.5 N叉分支 205
8.6 循环和递归 208
8.7 图书馆系统 208
8.8 USE.IT软件 211
8.9 USE.IT分析过程 212
8.10 HOS的优缺点 213
第九章 系统试样 215
9.1 什么是试样? 215
9.2 如何试样? 216
9.3 没有描述可以搞系统试样吗? 217
9.4 试样和系统设计技术 218
9.4.1 信息工程 218
9.4.2 结构化分析和设计 218
9.4.3 结构化需求定义 219
9.4.4 Jackson系统开发 219
9.5 物理文件和数据库试样 220
第十章 应用系统开发方法 221
10.1.1 管理决策信息 222
10.1.2 项目管理信息 222
10.1 系统开发的输出 222
10.1.3 系统开发和维护信息 223
10.1.4 系统操作信息 223
10.1.5 标准输出中的问题 223
10.2 ASDM的通用模式 224
10.2.1 可行性研究 224
10.2.2 业务描述 225
10.2.3 系统描述 226
10.2.4 系统设计 227
10.2.5 开发和测试 227
10.2.6 系统实施 227
10.2.7 系统回顾 227
10.3 ASDM和系统设计技术 228
10.3.1 信息工程 230
10.3.2 结构化分析和设计 232
10.3.3 结构化需求定义 234
10.3.4 Jackson系统开发 235
10.3.5 高层软件 236
10.3.6 试样 236
10.4 标准ASDM输出 237
第十一章 数据使用分析 238
第十二章 信息爆炸 246
12.1 选择“恰当的”系统设计技术 246
12.2 不同技术的结合 246
12.2.1 JSD和信息工程 246
12.2.2 信息工程、结构化分析和设计与结构化需求定义 247
12.2.3 信息工程和结构化设计 247
12.2.4 HOS、试样和其它技术 248
12.3 展望未来 248
名词解释 251