《软件工程实用教程 第3版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:郭宁,闫俊伢主编;樊东燕,赵怡,董研汝副主编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2016
  • ISBN:9787115393326
  • 页数:328 页
图书介绍:本书根据软件工程的最新发展,结合目前软件工程教学的需要,围绕软件工程的三大要素:过程、方法和工具,遵循软件开发“工程化”思想,结合大量的应用案例,系统地介绍软件工程的理论、方法以及应用技术。内容包括:软件过程模型、需求工程、软件分析与设计、软件测试、软件维护、质量管理、文档技术、软件项目管理、软件工程工具和环境等。

第1章 软件工程引论 1

1.1软件及软件危机 1

1.1.1软件及其特性 1

1.1.2软件危机 3

1.2软件工程的形成与概念 4

1.2.1软件工程的形成与发展 4

1.2.2软件工程的基本概念 5

1.3软件工程的基本原则 8

本章练习题 9

第2章 软件生命周期及开发模型 11

2.1软件过程概述 11

2.1.1软件生命周期 11

2.1.2软件生命周期各阶段的任务 12

2.2传统的软件过程模型 13

2.2.1瀑布模型 14

2.2.2原型模型 15

2.2.3螺旋模型 17

2.3面向对象的软件过程模型 19

2.3.1软件统一开发过程 19

2.3.2构件复用模型 21

2.4敏捷软件开发过程模型 21

本章练习题 24

第3章 结构化需求分析 26

3.1需求工程概述 26

3.1.1软件需求 26

3.1.2需求工程 28

3.1.3需求分析的过程 29

3.1.4需求规格说明 30

3.1.5需求验证 32

3.1.6需求变更控制 32

3.2需求获取 33

3.2.1需求获取的内容 33

3.2.2需求获取的方法 35

3.3结构化分析方法概述 36

3.3.1结构化分析思想 37

3.3.2结构化分析方法 37

3.4结构化分析建模 38

3.4.1功能建模 38

3.4.2数据字典 44

3.4.3数据建模 46

3.4.4行为建模 47

3.5应用举例 47

3.5.1结构化分析过程 47

3.5.2编写需求规格说明书 50

本章练习题 53

第4章 结构化软件设计 55

4.1软件设计的基本概念 55

4.1.1概要设计的任务 56

4.1.2概要设计的过程 56

4.2软件的体系结构 57

4.2.1现代体系结构模型的基本概念 57

4.2.2常见的体系结构风格 58

4.2.3软件体系结构建模 60

4.3软件结构设计 61

4.3.1模块化概念 61

4.3.2模块的独立性 62

4.3.3结构化设计建模 66

4.3.4软件设计准则 69

4.4面向数据流的设计方法 72

4.4.1基本概念 72

4.4.2变换流分析与设计 73

4.4.3事务流分析与设计 74

4.4.4混合流分析与设计 76

4.5面向数据结构的设计方法 76

4.5.1 Jackson(JSD)方法 77

4.5.2 Warnier(LCP)方法 81

4.6数据设计 82

4.6.1数据结构设计 82

4.6.2文件设计 82

4.6.3数据库设计 83

4.7软件详细设计 85

4.7.1结构化程序设计 86

4.7.2详细设计工具 86

4.7.3接口设计 90

4.8应用举例 92

4.8.1软件结构化设计过程 92

4.8.2概要设计文档写作范例 98

本章练习题 100

第5章 面向对象的需求分析 102

5.1面向对象方法学概述 102

5.1.1面向对象技术的由来 102

5.1.2面向对象方法概述 103

5.1.3面向对象建模 103

5.2面向对象的基本概念 104

5.2.1类和对象 104

5.2.2封装、继承和多态性 105

5.2.3面向对象的分析概述 107

5.3用例模型 108

5.3.1执行者 109

5.3.2用例 109

5.3.3用例之间的关系 111

5.3.4用例建模 112

5.4对象(概念)模型 114

5.4.1类图 114

5.4.2识别类与对象 116

5.4.3识别属性 117

5.4.4识别操作 118

5.4.5识别关联 119

5.4.6建立静态(对象、概念)模型 122

5.5动态模型 124

5.5.1消息类型 124

5.5.2状态图 124

5.5.3交互模型 128

5.5.4活动图 131

5.5.5建立动态模型 132

本章练习题 137

第6章 面向对象的软件设计 139

6.1面向对象软件设计概述 139

6.1.1面向对象设计准则 139

6.1.2面向对象设计的过程 141

6.2系统设计 142

6.2.1软件架构风格 142

6.2.2逻辑体系架构设计 143

6.2.3物理体系架构建模 146

6.2.4基于构件的建模 148

6.3详细设计 150

6.3.1系统详细设计 151

6.3.2应用举例 155

6.4面向对象软件实现 160

6.4.1程序设计语言 160

6.4.2程序设计风格 163

6.4.3面向对象软件测试 165

本章练习题 168

第7章 软件测试技术 171

7.1软件测试概述 171

7.1.1软件测试目的 171

7.1.2软件测试原则 172

7.1.3测试步骤 173

7.2软件测试技术 173

7.2.1测试用例设计 173

7.2.2黑盒测试方法 174

7.2.3白盒测试方法 180

7.3软件调试技术 182

7.3.1软件调试过程 182

7.3.2软件调试策略 183

7.4软件测试分类 184

7.4.1单元测试 184

7.4.2集成测试 186

7.4.3系统测试 187

7.4.4验收测试 189

本章练习题 190

第8章 软件维护技术 192

8.1软件维护概述 192

8.1.1维护阶段的任务与特点 192

8.1.2软件的可维护性 193

8.2软件维护类型 194

8.2.1改正性维护 194

8.2.2完善性维护 194

8.2.3适应性维护 195

8.2.4预防性维护 195

8.3软件维护技术 195

8.3.1软件维护过程 195

8.3.2提高软件的可维护性 198

8.4软件维护困难 199

8.4.1维护费用 199

8.4.2软件维护的副作用 200

本章练习题 201

第9章 软件质量与质量保证 202

9.1软件质量的概念 202

9.1.1软件质量定义 202

9.1.2影响软件质量的因素 203

9.2软件质量的度量 204

9.2.1软件度量 204

9.2.2软件度量的分类 205

9.2.3软件度量过程 206

9.3软件质量管理 207

9.3.1软件质量管理的实施 207

9.3.2软件质量管理的原则 208

9.3.3软件质量管理的内容 209

9.4软件质量保证 210

9.4.1质量保证策略 210

9.4.2质量保证内容 210

9.4.3质量保证措施 211

9.4.4软件质量控制 212

9.5软件配置管理 214

9.5.1软件配置项 214

9.5.2软件配置管理过程 214

9.6软件能力成熟度模型简介 217

9.6.1 CMM的结构 217

9.6.2软件过程能力成熟度等级 217

9.6.3关键过程域 218

9.6.4关键实践 219

本章练习题 220

第10章 软件工程标准与文档 222

10.1软件工程标准 222

10.1.1软件工程标准 222

10.1.2软件工程国家标准 224

10.2软件文档与编写要求 225

10.2.1软件文档的含义 225

10.2.2软件文档的种类 226

10.2.3软件文档的编写方法 227

10.3软件文档的主要内容及写作指南 227

10.3.1可行性研究报告 228

10.3.2项目开发计划 230

10.3.3软件需求规格说明书 230

10.3.4概要设计说明书 231

10.3.5详细设计说明书 232

10.3.6程序维护手册 232

10.3.7用户手册 234

本章练习题 235

第11章 软件项目管理 237

11.1软件项目管理概述 237

11.1.1项目的概念与特征 237

11.1.2项目管理的概念 238

11.1.3项目管理的知识体系 239

11.2软件项目的时间管理 240

11.2.1项目的工作分解结构 240

11.2.2进度安排 244

11.2.3进度跟踪与控制 247

11.3软件项目的成本管理 247

11.3.1软件成本估算过程 248

11.3.2软件成本估算方法 248

11.3.3成本预算 254

11.3.4项目成本控制 255

11.4软件项目的团队管理 258

11.4.1项目人力资源概述 258

11.4.2项目团队建设 259

11.5软件项目的风险管理 260

11.5.1软件风险 261

11.5.2风险识别 261

11.5.3风险分析 261

11.5.4风险评价 262

11.5.5风险的缓解、监控和管理 263

本章练习题 264

第12章 软件开发工具与环境 267

12.1软件开发环境 267

12.1.1软件开发环境的概念 267

12.1.2按解决的问题分类 267

12.1.3按开发环境的演化趋向分类 268

12.2计算机辅助软件工程 269

12.3软件开发工具 271

12.3.1软件开发工具的概念 271

12.3.2软件开发工具的功能 271

12.3.3软件开发工具分类 272

12.3.4常见软件开发工具简介 273

12.3.5常见工具的使用 276

本章练习题 291

第13章 软件工程课程设计 292

13.1课程设计目的与要求 292

13.1.1课程设计目的 292

13.1.2课程设计内容及要求 293

13.1.3课程设计题目举例 293

13.2课程设计步骤安排 294

13.3课程设计指导 295

13.3.1实验1——建立课程设计环境与数据库设计 295

13.3.2实验2——需求分析 296

13.3.3实验3——软件设计 297

13.3.4实验4——软件实现 297

13.4案例分析 298

13.4.1嵌入式软件系统应用实例 298

13.4.2网上书店系统开发案例 309

13.4.3手机购物网站APP开发案例 321

附录 模拟考试题 326

参考文献 328