出版社:电子工业出版社
年代:2010
定价:29.0
本书是一本面向实践的软件工程教程。结合大量软件开发实例,重点介绍了软件工程基本概念、原理、结构化开发方法、面向对象开发方法、软件开发过程、项目组织管理、系统建模等。本书重点突出需求分析、系统设计和实现流程以及建模方法。书中所有的概念、原理、技术、开发方法都通过实例来演示,内容精炼,表达简明,实例丰富,适合高等院校计算机及相关专业使用。
第1篇 传统方法学 1
第1章 软件工程概述 2
1.1 软件危机 2
1.1.1 软件的发展历程 2
1.1.2 软件危机的产生 5
1.1.3 消除软件危机的方法 7
1.2 软件工程 8
1.2.1 什么是软件工程 8
1.2.2 软件工程的基本要素 8
1.2.3 软件工程基本原理 9
1.3 软件方法 10
1.3.1 结构化方法 10
1.3.2 面向对象的方法 11
1.3.3 构件方法 12
1.3.4 模型驱动法 12
1.4 软件过程 13
1.4.1 传统软件过程 13
1.4.2 面向对象软件过程 17
1.4.3 面向构件软件过程 18
1.4.4 模型驱动软件过程 18
1.5 本章小结 19
1.6 习题 20
第2章 结构化分析 21
2.1 采集需求的技术 21
2.2 整理需求的技术 23
2.2.1 功能需求 23
2.2.2 非功能需求 23
2.3 建模技术 24
2.3.1 实体—关系图 25
2.3.2 数据流图 26
2.3.3 状态转换图 30
2.3.4 数据字典 33
2.4 需求规格说明书 35
2.5 结构化分析实例 38
2.5.1 获取需求 38
2.5.2 整理需求 39
2.6 本章小结 41
2.7 习题 42
第3章 结构化设计 43
3.1 软件设计概述 43
3.2 软件设计基本思想 44
3.2.1 模块化 44
3.2.2 抽象与逐步求精 45
3.2.3 信息隐藏与局部化 46
3.2.4 模块独立性 47
3.2.5 模块设计优化 51
3.3 概要设计工具 52
3.3.1 层次图和HIPO图 52
3.3.2 结构图 54
3.4 概要设计技术 54
3.4.1 数据流图的类型 54
3.4.2 设计步骤 55
3.4.3 变换分析 56
3.4.4 事务分析 59
3.4.5 优化设计 60
3.5 详细设计技术 60
3.5.1 结构化程序设计 60
3.5.2 详细设计工具 61
3.6 面向数据结构的设计方法 65
3.6.1 Jackson图 66
3.6.2 Jackson程序设计方法 66
3.7 人机界面设计 70
3.7.1 设计问题 70
3.7.2 设计原则 72
3.8 本章小结 74
3.9 习题 74
第4章 结构化实现 77
4.1 从算法设计到编码实现 77
4.1.1 确定程序设计语言 77
4.1.2 指定编码风格 78
4.2 软件测试 80
4.2.1 测试目标 80
4.2.2 测试准则 80
4.2.3 测试过程 81
4.3 白盒测试技术 82
4.3.1 逻辑覆盖 82
4.3.2 基本路径测试 85
4.3.3 条件测试 85
4.3.4 循环测试 86
4.4 黑盒测试技术 87
4.4.1 等价类划分 87
4.4.2 边界值分析 88
4.4.3 错误推测法 88
4.5 测试步骤 89
4.5.1 单元测试 89
4.5.2 集成测试 90
4.5.3 验收测试 91
4.5.4 系统测试 92
4.6 软件调试 92
4.6.1 软件调试概述 93
4.6.2 软件调试策略 93
4.6.3 软件调试与软件测试的区别 94
4.7 本章小结 95
4.8 习题 95
第2篇 面向对象方法学 97
第5章 面向对象的技术 98
5.1 传统软件开发方法存在的问题 98
5.2 面向对象的基本概念 99
5.3 面向对象的特点 100
5.4 模型 101
5.4.1 对象模型 101
5.4.2 功能模型 102
5.4.3 动态模型 103
5.5 面向对象的分析和设计 103
5.6 本章小结 104
5.7 习题 104
第6章 面向对象的需求 105
6.1 基本概念 105
6.2 定义需求 105
6.2.1 定义词汇表 106
6.2.2 业务用例模型 106
6.2.3 系统用例模型 108
6.2.4 修改系统用例模型 110
6.3 需求验证 115
6.4 管理需求 115
6.4.1 联合应用设计 115
6.4.2 需求追踪维护 116
6.4.3 需求文档化 117
6.5 本章小结 118
6.6 习题 118
第7章 面向对象的分析 119
7.1 分析的主要任务 119
7.1.1 分析模型 119
7.1.2 分析内容 120
7.2 静态分析 121
7.2.1 在用例中寻找类 121
7.2.2 添加关系 121
7.2.3 修改对象模型 122
7.2.4 添加属性 122
7.2.5 选择属性还是类 123
7.2.6 添加关联类 124
7.3 动态分析 124
7.3.1 动态分析的任务 125
7.3.2 构思用例的实现图 125
7.3.3 给类添加操作 126
7.3.4 为对象构思状态机 127
7.4 架构分析 128
7.4.1 寻找分析包 128
7.4.2 消除包间的循环依赖 129
7.5 管理分析 129
7.5.1 将分析文档化 130
7.5.2 开发角色 130
7.5.3 沟通 131
7.5.4 分析模型的迭代 132
7.6 本章小结 132
7.7 习题 133
第8章 面向对象的概要设计 134
8.1 概要设计综述 134
8.2 系统分解 135
8.2.1 子系统组成 135
8.2.2 子系统接口 136
8.2.3 子系统质量特性 136
8.2.4 系统分层 139
8.3 体系结构风格 141
8.3.1 仓库体系结构 142
8.3.2 MVC体系结构 143
8.3.3 客户/服务器体系结构 143
8.3.4 对等体系结构 144
8.3.5 层结构体系 144
8.3.6 管道和过滤器体系结构 145
8.4 系统设计实例 146
8.4.1 分析需求模型 146
8.4.2 确定设计目标 147
8.4.3 系统分解为子系统 150
8.5 本章小结 151
8.6 习题 151
第9章 面向对象的详细设计 152
9.1 详细设计概述 152
9.2 对子系统迭代设计 153
9.2.1 将子系统部署到硬件平台 154
9.2.2 选择存储管理策略 155
9.2.3 设计访问控制 156
9.2.4 设计全局控制流 159
9.2.5 标识边界条件 160
9.3 评审系统设计 162
9.4 管理系统设计 163
9.4.1 系统设计文档化 163
9.4.2 系统设计人员 165
9.4.3 系统设计迭代 165
9.5 本章小结 166
9.6 习题 166
第10章 对象设计 167
10.1 对象设计概述 167
10.2 对象设计原则 167
10.2.1 单一职责原则(SRP) 168
10.2.2 开放封闭原则(OCP) 168
10.2.3 Liskov替换原则(LSP) 171
10.2.4 依赖倒置原则(DIP) 176
10.2.5 接口隔离原则(ISP) 177
10.3 确定设计类 178
10.3.1 什么是设计类 178
10.3.2 设计类剖析 179
10.3.3 如何设计良好的设计类 179
10.4 设计中的继承 180
10.5 类关系 181
10.5.1 设计类关系 181
10.5.2 把分析关联精化成设计关系 183
10.5.3 将关联关系具体化 186
10.6 优化类的组合 188
10.6.1 结构化类元 188
10.6.2 结构化类 189
10.7 类规格说明 189
10.8 对象开发者 190
10.9 对象设计文档化 190
10.10 本章小结 193
10.11 习题 193
第11章 面向对象的实现 194
11.1 面向对象语言和编程风格 194
11.1.1 面向对象的实现语言 194
11.1.2 程序设计风格 195
11.2 从设计产品到代码 195
11.2.1 将类图映射为代码 196
11.2.2 将活动图映射为代码 202
11.2.3 将状态图映射为代码 203
11.2.4 将顺序图映射为代码 204
11.3 Rose双向工程 205
11.3.1 正向工程 205
11.3.2 逆向工程 207
11.3.3 实例应用 208
11.4 面向对象的软件测试 213
11.4.1 面向对象测试模型 213
11.4.2 面向对象分析测试 213
11.4.3 面向对象设计测试 213
11.4.4 面向对象编程测试 214
11.4.5 面向对象单元测试 214
11.4.6 面向对象集成测试 214
11.4.7 面向对象系统测试 214
11.4.8 测试用例 214
11.5 本章小结 216
11.6 习题 216
第3篇 软件项目管理 217
第12章 软件项目计划与管理 218
12.1 软件项目管理概述 218
12.2 人员组织与管理 218
12.2.1 项目参与者 219
12.2.2 人员分配 219
12.3 软件开发成本估算 220
12.3.1 软件成本估算过程 221
12.3.2 软件成本估算策略 221
12.3.3 常用的成本估算模式 222
12.4 进度管理 224
12.4.1 软件开发项目的并行性 224
12.4.2 计划 224
12.4.3 进度安排 225
12.4.4 进度跟踪与控制 226
12.5 风险管理 226
12.5.1 软件风险 227
12.5.2 风险识别 227
12.5.3 风险预测 227
12.5.4 风险的缓解、监控和管理 228
12.6 质量管理 229
12.6.1 软件质量 229
12.6.2 软件质量保证 230
12.7 本章小结 230
12.8 习题 231
第4篇 高级课题 233
第13章 形式化方法 234
13.1 概述 234
13.1.1 非形式化方法的缺点 234
13.1.2 软件开发过程中的数学 234
13.1.3 形式化方法的应用 235
13.2 Z语言 237
13.2.1 简介 237
13.2.2 结构 237
13.2.3 形式化描述 238
13.3 形式化方法的现状与展望 239
13.4 本章小结 240
13.5 习题 240
第14章 RUP(统一软件过程) 241
14.1 当前流行的软件过程 241
14.2 统一软件过程(RUP)概述 242
14.2.1 RUP的核心工作流 243
14.2.2 RUP的4个阶段 244
14.2.3 RUP中的迭代模型 246
14.3 RUP中的核心工作流 246
14.3.1 需求工作流 246
14.3.2 分析工作流 249
14.3.3 设计工作流 251
14.3.4 实现工作流 254
14.3.5 测试工作流 256
14.4 RUP裁剪 259
14.5 RUP的十大要素 260
14.6 本章小结 262
14.7 习题 262
附录A UML图总结 263
A.1 活动图 263
A.2 类图 264
A.3 协作图 265
A.4 构件图 265
A.5 组成结构图 265
A.6 部署图 266
A.7 对象图 266
A.8 包图 266
A.9 参数化协作图 267
A.10 顺序图 267
A.11 状态图 268
A.12 定时图 268
A.13 用例图 269
《软件工程实践教程》是一本面向实践的软件工程教程。结合大量软件开发实例,《软件工程实践教程》重点介绍了软件工程的基本概念、原理、结构化开发方法、面向对象开发方法、软件开发过程、项目组织管理和系统建模等。《软件工程实践教程》重点突出需求分析、系统设计和实现流程及建模方法。书中所有的概念、原理、技术、开发方法都通过实例来演示,内容精练,表达简明,实例丰富,非常适合作为本科院校、高职院校计算机专业及相关专业课程教材,也可以作为相关培训机构的培训教材。
书籍详细信息 | |||
书名 | 软件工程实践教程站内查询相似图书 | ||
丛书名 | 高等学校计算机系列规划教材 | ||
9787121113161 如需购买下载《软件工程实践教程》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN | |||
出版地 | 北京 | 出版单位 | 电子工业出版社 |
版次 | 1版 | 印次 | 1 |
定价(元) | 29.0 | 语种 | 简体中文 |
尺寸 | 26 × 18 | 装帧 | 平装 |
页数 | 284 | 印数 |
软件工程实践教程是电子工业出版社于2010.7出版的中图分类号为 TP311.5 的主题关于 软件工程-高等学校-教材 的书籍。