当前位置:首页 > 工业技术
软件工程实践教程
软件工程实践教程

软件工程实践教程PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:王先国编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121113161
  • 页数:269 页
图书介绍:本书是一本面向实践的软件工程教程。结合大量软件开发实例,重点介绍了软件工程基本概念、原理、结构化开发方法、面向对象开发方法、软件开发过程、项目组织管理、系统建模等。本书重点突出需求分析、系统设计和实现流程以及建模方法。书中所有的概念、原理、技术、开发方法都通过实例来演示,内容精炼,表达简明,实例丰富,适合高等院校计算机及相关专业使用。
《软件工程实践教程》目录

第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

相关图书
作者其它书籍
返回顶部