第一章 引言 1
1.1 软件语言含义 1
1.1.1 语言 1
1.1.2 软件 2
1.1.3 软件语言 2
1.2 软件语言作用 2
1.2.1 描述作用 2
1.2.2 交流作用 2
1.2.3 标志作用 3
1.3 软件语言级别 3
1.3.1 需求级语言 3
1.3.2 功能级语言 4
1.3.3 设计级语言 4
1.3.4 实现级语言 4
1.4.1 低抽象级到高抽象级 7
1.4 软件语言发展 7
1.4.2 顺序语言到并发(并行)语言 8
1.4.3 单机语言到网络语言 8
1.5 本书内容与体式 9
1.5.1 取材以作者工作为基础 9
1.5.2 组织按语言级别分篇 10
1.5.3 内容侧重语言,兼及实现 10
2.2 软件需求定义(规约) 11
2.2.2 内容 11
2.2.1 含义 11
第二章 软件需求分析概述 11
2.1 软件需求分析含义 11
需求级语言篇 11
2.2.3 目的 12
2.2.4 使用 13
2.2.5 现状 13
2.3.2 研究内容 14
2.3.1 定义 14
2.3 软件需求定义语言 14
第三章 软件需求定义语言NDRDL 17
3.1 设计目标 17
3.1.1 实用性佳 17
3.1.2 表述力强 17
3.1.3 易读性好 17
3.1.4 严谨性高 17
3.2 设计原则 18
3.2.1 基于功能分解风范与结构化方法 18
3.2.2 功能需求与非功能需求兼顾 18
3.2.3 语言与需求定义均具层次性 18
3.2.4 非形式化、半形式化、形式化三种表示综合应用 18
3.2.5 严格之语法与语义描述 19
3.3 语言成分 19
3.3.1 数据流图(DFD) 19
3.3.2 控制流图(CFD) 21
3.3.3 实体联系图(ERD) 24
3.3.4 字典 25
3.3.5 软件需求定义(SRD) 27
3.4 讨论 29
3.5 功能构造之形式语义 29
3.5.1 引述 29
3.5.2 DFD之形式语义 30
3.5.3 CFD之形式语义 32
3.5.4 ERD之形式语义 33
3.5.5 字典之形式语义 34
第四章 软件需求分析支撑系统NDRASS 35
4.1 设计目标与抉择 35
4.1.1 以NDRDL为系统之源语言 35
4.1.2 以Z为系统之目标语言 35
4.2.1 体系结构 36
4.2 系统组成 36
4.1.4 注重实用 36
4.1.3 基于功能分解风范 36
4.2.2 运作过程 37
4.2.3 检查 37
4.3 功能规约语言Z 38
4.4 图形编辑程序 40
4.4.1 图符 40
4.4.2 功能 40
4.4.3 算法 40
4.5 功能规约自动生成程序 40
4.5.1 功能规约自动生成架构 40
4.5.2 状态空间Schema生成 41
4.5.3 操作定义Schema生成 42
4.5.4 总控流程Schema生成架构 43
4.5.5 控制流图规范化 44
4.5.6 控制流图结构化 49
4.5.7 代码生成 53
4.6 相关工作 54
4.6.1 软件需求工程方法学 54
4.6.2 受控需求表述 54
4.6.3 结构化常识与模态作用逻辑 55
4.6.4 基于知识需求助手 55
4.7 结束语 55
第五章 软件需求定义语言NDRDL2.0及其支撑系统NDRASS2.0 56
5.1 软件需求定义语言NDRDL2.0 56
5.1.1 研究动因 56
5.1.2 基本成分 56
5.1.3 一致性与完备性约束 58
5.2 软件需求分析支撑系统NDRASS2.0 59
5.2.1 系统组成 59
5.2.2 一致性与完备性检查 59
5.2.3 从情形实例综合需求定义 60
5.2.4 结束语 62
第六章 层次化对象式(面向对象)软件需求模型NDHORM与语言NDORL 63
6.1 对象式软件需求分析 63
6.1.1 含义 63
6.1.2 基本概念 63
6.1.3 基本模型 64
6.2 NDHORM模型组成 64
6.2.1 对象关系模型ORM 65
6.2.2 类关系模型CRM 65
6.2.3 类字典 66
6.3 NDHORM模型之层次 66
6.3.1 对象精化 66
6.3.2 模型层次示意 67
6.4 建模过程 67
6.5 图形化对象式需求定义语言NDORL 68
6.5.1 设计思想 68
6.5.2 语言成分 70
6.5.3 形式语义 79
6.6 结束语 83
第七章 对象式软件需求分析支撑系统NDORASS 85
7.1 引述 85
7.2 对象式软件规约语言及环境OOZE 85
7.2.1 概述 85
7.2.2 模块 86
7.2.3 类 88
7.3 系统设计与组织 89
7.3.1 系统逻辑结构 89
7.3.2 系统组成 90
7.3.3 主要功能 91
7.4 从需求定义到形式功能规约之自动转换 91
7.4.1 类关系图及类字典之转换 92
7.4.2 对象关系图之转换 97
7.5 结束语 100
功能级语言篇 101
第八章 软件功能规约语言FGSPEC之设计 101
8.1 语言设计综述 101
8.1.1 概况 101
8.1.2 设计原则 102
8.1.3 规约方法 102
8.2 FGSPEC语言 110
8.2.1 设计思想 111
8.2.2 基本成分 112
第九章 软件功能规约语言FGSPEC之实现 119
9.1 基本模型 119
9.2 正确性架构 119
9.3 支撑机制 121
9.3.1 前件推导机制 121
9.3.2 知识表示机制 121
9.3.3 算法设计方法选择机制 127
9.4 NDADAS系统 128
9.4.1 系统功能与特点 128
9.4.2 系统结构 128
9.4.3 运行实例 131
9.5 NDSAIL系统 132
9.5.1 脆弱性问题 132
9.5.2 系统组成 132
设计级语言篇 135
第十章 软件设计规约语言GSPEC之设计 135
10.1 语言设计综述 135
10.1.1 概况 135
10.1.2 设计原则 136
10.1.3 HOS方法学 136
10.2 GSPEC语言 138
10.2.1 设计思想 138
10.2.2 功能分解描述子语言TREEL 139
10.2.3 抽象数据类型描述子语言ADTL 143
10.2.4 TREEL与ADTL之有机结合 147
第十一章 软件设计规约语言GSPEC之验证 149
11.1 引述 149
11.2 TREEL验证技术 150
11.2.1 函数功能分解性质 150
11.2.2 控制结构 150
11.2.3 多叉分解结构 151
11.3 ADTL验证技术 153
11.3.1 终止性验证技术 155
11.3.2 一致性验证技术 160
11.3.3 完备性验证技术 165
第十二章 软件设计规约语言GSPEC之实现 170
12.1 抽象数据类型实现技术 170
12.1.1 知识表示设计 170
12.1.2 转换模型 172
12.2.2 系统组成 178
12.2 NDAUTO系统 178
12.2.1 系统功能 178
12.2.3 运行实例 181
实现级语言篇 183
第十三章 程序设计语言ALGOL与ADA 183
13.1 ALGOL 60语言 183
13.1.1 重大意义 183
13.1.2 主要特征 183
13.1.3 几个问题 184
13.1.4 J-501计算机ALGOL编译系统 186
13.1.5 NDJ-1(即103)机ALGOL编译系统 187
13.2 ADA语言 190
13.2.1 ADA-0语言编译系统概貌 190
13.2.2 第一趟扫描 191
13.2.3 第二趟扫描 192
14.1.1 设计考虑 196
第十四章 系统程序设计语言 196
14.1 NDHD语言族 196
14.1.2 核心语言 197
14.1.3 实现问题 199
14.1.4 工作情况 201
14.2 XCY语言族 202
14.2.1 XCY语言之设计与实现 202
14.2.2 XCY语言族之设计与实现 209
第十五章 对象式(面向对象)程序设计语言概述 215
15.1 基本概念 215
15.1.1 对象 215
15.1.2 类 216
15.1.3 继承 217
15.1.4 多态 218
15.1.5 动态定连(绑定) 219
15.2 典型语言 219
15.2.1 SIMULA语言 220
15.2.2 SMALLTALK 221
15.2.3 C++ 222
15.2.4 EIFFEL 223
15.2.5 比较 224
第十六章 对象式程序设计语言之形式语义 226
16.1 EIFFEL之简化模型PetitEiffel 226
16.1.1 语法域 226
16.1.2 语法子句 227
16.1.3 解释 228
16.1.4 静态分析 228
16.1.5 语义域 230
16.1.6 语义函数 232
16.2 继承之数学模型 235
16.2.1 基本概念 235
16.2.2 继承之形式语义定义方法 237
17.2.1 函数式语言FP之特点 241
17.2 传统冯·诺依曼计算机上FP系统之实现 241
第十七章 函数式程序设计语言 241
17.1 含义与发展 241
17.2.2 实现之特定FP语言 242
17.2.3 特定FP语言之实现:FP解释性系统FPSYS 244
17.3 数据驱动式并行归约机FPM2之设计与分析及其模型机构作 248
17.3.1 FPM2结构 248
17.3.2 FP语言之实现 250
17.3.3 分析 251
17.3.4 模型机FPMND构作 253
17.3.5 讨论 253
第十八章 逻辑式与函数式结合之语言KLND 255
18.1 语言基本成分 255
18.1.1 要点综述 255
18.1.2 超程序与程序 256
18.1.3 模块 256
18.1.4 关系与函数 257
18.1.5 并行性 259
18.1.6 Horn子句 261
18.1.7 询问语句 261
18.1.8 程序实例 262
18.2 并行推理系统NDPIS 263
18.2.1 概述 263
18.2.2 置换驱动之基指令系统 264
18.2.3 KLND-ENGINE 265
18.2.4 用户界面 267
18.2.5 模型机性能分析 268
18.2.6 比较与总结 268
参考文献 269
跋 273
索引 274