第一章 软件工程概论 1
1.1 软件工程概念 2
1.2 软件工程框架 2
第二章 软件开发模型 4
2.1 瀑布模型 4
2.2 演化模型 6
2.3 螺旋模型 6
2.4 喷泉模型 8
2.5 增量模型 8
第三章 需求分析 10
3.1 需求获取 10
3.1.1 需求获取的内容 11
3.1.2 需求获取应遵循的原则 12
3.1.3 需求获取采用的技术 13
3.2 结构化分析方法 14
3.2.1 模型表示 14
3.2.2 实施步骤 19
3.3 需求验证 21
3.4 需求分析文档 25
3.5 实例研究 28
第四章 总体设计 35
4.1 总体设计的任务 35
4.2 总体设计的表示形式 35
4.2.1 层次图 36
4.2.2 HIPO图 36
4.2.3 结构图 37
4.3 总体设计的方法 38
4.3.1 数据流图的类型 39
4.3.2 设计步骤 40
4.4 好的设计的准则 46
4.5 启发式规则 51
4.6 设计优化 53
4.7 ××××××系统软件设计说明书 55
5.1 结构化程序设计 58
第五章 详细设计 58
5.2 详细设计的工具 60
5.2.1 程序流程图 60
5.2.2 盒图(N-S图) 61
5.2.3 PAD图 61
5.2.4 类程序设计语言(PDL) 63
6.1 面向对象技术概述 64
6.1.1 面向对象技术的历史、现状和发展 64
第六章 面向对象分析 64
6.1.2 一些基本概念 65
6.1.3 同结构化方法的比较 66
6.2 标识类及对象 67
6.2.1 为什么要标识类及对象 67
6.2.2 如何表示类及对象 67
6.3 标识结构 70
6.3.1 为什么要标识结构 71
6.3.2 如何标识一般/特殊结构 71
6.3.3 如何标识整体/部分结构 74
6.4.1 为什么要标识主题 76
6.4 标识主题 76
6.4.2 如何标识主题 77
6.5 定义属性 78
6.5.1 为什么要定义属性 78
6.5.2 如何定义属性 78
6.6.1 为什么要定义服务 83
6.6.2 如何定义服务 83
6.6 定义服务 83
6.7 面向对象分析文档 86
6.7.1 文档内容 86
6.7.2 模型检查 87
第七章 面向对象设计 88
7.1 从OOA到OOD 88
7.2 问题域部分的设计 89
7.2.1 为什么需要问题域部分的设计 89
7.2.2 如何进行问题域部分的设计 90
7.3.1 为什么需要人机交互部分 95
7.3.2 如何设计人机交互部分 95
7.3 人机交互部分的设计 95
7.4 任务管理部分的设计 99
7.4.1 为什么需要有任务管理部分 99
7.4.2 怎样设计任务管理部分 99
7.5 数据管理部分的设计 102
7.5.1 为什么需要数据管理部分 102
7.5.2 如何设计数据管理部分 102
8.1 OSA的对象关系模型(ORM) 104
第八章 OSA方法简介 104
8.1.1 基本的模型化概念 105
8.1.2 特殊的关系集合 109
8.1.3 特殊对象类、资格条件、注释 110
8.1.4 对象关系模型小结 111
8.2 对象行为模型 112
8.2.1 基本概念及概念模型化 112
8.2.2 状态网 115
8.2.3 对象行为模型小结 122
8.3.1 基本的对象交互 123
8.3 对象交互模型 123
8.3.2 特殊类型交互的描述 124
8.3.3 交互的约束、继承 128
8.3.4 对象交互模型小结 129
第九章 软件测试 132
9.1 软件测试目标与软件测试过程模型 132
9.1.1 软件测试目标 132
9.1.2 测试过程模型 133
9.2 软件测试技术 133
9.2.1 路径测试技术 134
9.2.2 事务处理流程测试技术 137
9.3 软件测试步骤 140
9.3.1 单元测试 140
9.3.2 集成测试 141
9.3.3 有效性测试 142
9.3.4 软件测试与程序正确性证明 143
9.4 程序证明技术 144
10.1 基本过程 153
第十章 软件过程 153
10.2 支持过程 159
10.2.1 文档过程 159
10.2.2 配置管理过程 159
10.2.3 质量保证过程 160
10.2.4 验证过程 161
10.2.5 确认过程 162
10.2.6 联合评审过程 162
10.2.8 问题解决过程 163
10.2.7 审计过程 163
10.3 组织过程 164
10.4 剪裁过程和过程模型建造技术 166
10.4.1 剪裁过程 166
10.4.2 过程建模技术简介 167
第十一章 计算机辅助软件工程CASE 174
11.1 CASE综述 174
11.1.1 什么是CASE 174
11.1.2 CASE分类 175
11.1.3 集成化CASE 178
11.1.4 CASE生命周期 185
11.2 CASE工作台 188
11.2.1 CASE工作台概述 188
11.2.2 程序设计工作台 189
11.2.3 分析和设计工作台 191
11.2.4 测试工作台 193
11.2.5 元-CASE工作台 194
11.3.1 软件工程环境概述 196
11.3 软件工程环境 196
11.3.2 集成环境 199
11.3.3 平台服务 200
11.3.4 框架服务 201
11.3.5 PCTE 206
11.4 大型软件开发环境青鸟系统简介 207
11.4.1 综述 207
11.4.2 JB2系统介绍 208
参考文献 216