本书系统地论述科学计算和工程应用软件的研制方法,重点讨论软件开发过程中需求分析、总体设计和细部设计三个开发阶段的软件工程方法。主要内容包括:第一章综述科学工程软件的现状和发展趋势;第二章详细介绍需求分析的方法、技术和规定;第三章讨论软件开发的方法论,第四、五,六、七章分别叙述用户接口设计、算法设计、结构设计和细部设计的方法和技术;第八章介绍软件的实现和维护的方法与技术。
样章试读
目录
- 目录
第一章 绪论
1 引言 1
2 软件及其分类 2
2.1 程序与软件 2
2.2 软件分类 3
2.3 应用软件 4
3 科学工程软件(一) 5
3 1 数学软件 6
3.2 辅助性软件 7
3.3 结构工程软件 8
3 4 专业性技术软件 10
3.5 CAD/CAM/CAE软件 10
3.6 专家系统 11
4 科学工程软件(二) 12
4.1 发展趋势 12
4.2 大中型科学工程软件的特点 14
5 软件评价 16
5.1 可用性 17
5.2 可移植性 19
5.3 可维护性 20
5.4 文档的完善性 21
6 软件工程方法概述 22
6.1 软件的生存期 22
6.2 软件工程原理 26
6.3 软件开发模式 27
7 软件工程管理 29
7.1 制定和实施软件工程标准 30
7.2 人员组织管理 31
7.3 计划进度管理 32
7.4 软件信息库 33
8 软件工具与软件工程环境 34
8.1 软件工具 34
8.2 软件工程环境(SEE) 35
第二章 需求分析 38
1 引言 38
2 需求定义方法 40
2.1 问题模型定义 41
2.2 输入-输出说明定义 43
2.3 问题求解过程定义 43
2.4 事务元定义 44
3 系统分析方法 11
3.1 系统分析要点 44
3.2 功能分析方法 47
3.3 数据流分析方法 51
3.4 数据流分解和功能分解相结合的分析方法 55
4 数据分析与设计 57
4.1 数据结构 58
4.2 广义可变数组 5 9
4.3 复杂数据结构的逻辑表示 61
4.4 数据分析与设计准则 63
5 需求分析说明 64
5.1 需求定义说明 64
5.2 系统分析说明 66
5.3 需求分析评审 69
6 例 70
第三章 软件开发方法论 75
1 引言 75
2 软件开发的知识体系76
2.1 知识体系 77
2.2 认识途径 78
3 系统设计方法 80
3.1 系统设计方法的思想要点 80
3.2 面向控制结构的设计方法 82
3.3 面向对象的设计方法 87
4 系统构造模式 93
4.1 嵌入FORTRAN语言的模式 94
4.2 集成化构造模式 97
4.3 第四代语言模式 100
4.4 建立专用的集成化的软件环境 105
5 系统开发原则 111
第四章 用户接口设计 116
1 引言 116
2 用户接口设计的常规技术 121
2.1 用户接口设计的心理障碍 121
2.2 常规的用户接口设计 122
3 POL语言的设计 121
3.1 POL语言之例 121
3.2 语言定义 129
3.3 句子识别 132
3.4 补充规则 133
3.5 重复句型的表示方法 136
3.6 语法终结符 137
3.7 例 137
4 POL编译程序的生成技术 141
4.1 POL的编译过程 142
4.2 语法图 143
4.3 语法的数据结构 147
4.4 POL编译程序 150
4.5 POL编译程序的自展技术 152
4.6 BDP/SS的POL编译技术 153
4.7 使用YACC生成POL编译程序 158
第五章 算法设计 160
1 引言 160
2 一般软件的算法设计 162
2.1 算法选择与构造 161
2.2 算法性能评价 165
2.3 算法库 169
2.4 算法结构 172
2.5 例 172
3 算法的自适应组织 180
3.1 算法自适应组织的抽象表述 180
3.2 构造自适应管理算法的实用方法 181
3.3 自适应管理算法评价 186
3.4 自适应软件的系统结构 189
4 决策表技术 190
4.1 决策表 190
4.2 完善决策表 195
4.3 生成决策算法 200
第六章 结构设计 205
1 引言 205
2 结构设计的表现技术 207
2.1 结构图及其说明 208
2.2 结构设计步骤 165
3 模块特征度量与优化结构准则 212
3.1 内聚性 212
3.2 祸合度 214
3.3 良态结构设计准则 216
4 基于功能算法结构图的结构设计 219
4.1 方法要点 219
4.2 例 220
5 基于数据流图的结构设计 232
5.1 DFD图分类 232
5.2 变换型DFD图到软件结构 233
5.3 事务基元中心型DFD图到软件结构 235
6 总体设计评审 236
第七章 细部设计 238
1 引言 238
2 Jackson方法 241
2.1 JSP方法 241
2.2 应用之例 243
3 程序逻辑表现技术 251
3.1 盒式图 253
3.2 PAD图 254
3.3 PDL语言 259
4 算法过程的设计 265
4.1 算法分析与设计 266
4.2 算法过程设计之例 267
5 模块设计 271
5.1 模块设计步骤 271
5.2 模块设计说明之例 272
第八章 实现方法与维护 280
1 引言 280
2 编程 280
2.1 语言选择 281
2.2 编程规则 283
2.3 静态检查 287
3 调试 287
3.1 软件测试 289
3.2 排错 290
3.3 模块调试 292
3.4 利用PAD图设计模块测试数例 293
3.5 联调、试算与优化 295
3.6 程序的正确性证明 297
4 测试验收 293
4.1 确认性测试 298
4.2 验收 300
5 软件维护 302
5.1 维护的重要性 302
5.2 维护的艰苦性 303
5.3 软件的可维护性 304
5.4 维护方法 305
结束语 307
参考文献 308