《软件工程实践教程 第2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:刘冰,刘锐,瞿中等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111377597
  • 页数:399 页
图书介绍:本书从实用的角度出发,根据教育部高教司审定的《中国计算机科学与技术学科教程2002》中对软件工程的要求编写,并参照美国ACM和IEEE Computing Curricula 2001教程关于软件工程的描述,吸取了国内外软件工程的精华,详细介绍了软件工程、软件开发过程、软件计划、需求分析、总体设计、详细设计、编码、软件测试、软件维护、软件工程标准化和软件文档、软件工程质量、软件工程项目管理以及软件工程开发实例。各章均配有习题,以指导读者深入地进行学习,部分章后附有经典例题讲解和实验内容,帮助读者掌握相关知识。

第1章 软件工程概述 1

1.1 软件 1

1.1.1 软件的特点 2

1.1.2 软件的发展 2

1.1.3 软件危机 3

1.1.4 软件工程的概念 8

1.1.5 软件工程的三要素 8

1.1.6 软件工程方法 9

1.1.7 软件工程的发展历史 9

1.2 软件过程的概念 10

1.2.1 软件生命周期及软件开发过程的定义 10

1.2.2 软件开发过程的制品 12

1.2.3 软件开发工具 13

1.3 软件过程模型 14

1.3.1 瀑布模型 15

1.3.2 快速原型模型 16

1.3.3 增量模型 19

1.3.4 螺旋模型 20

1.3.5 喷泉模型 22

1.3.6 形式化方法模型 23

1.3.7 基于组件的开发模型 24

1.4 Rational统一开发过程 24

1.5 实例:软件外包开发过程 30

1.5.1 外包软件的定义 30

1.5.2 外包软件的开发特点 31

1.5.3 改进方案 31

1.5.4 实施、总结 33

1.6 小结 33

1.7 习题 34

第2章 软件开发方法简介 36

2.1 面向结构的软件工程 36

2.2 结构化方法遵循的基本原则及核心问题 37

2.3 结构化方法的特点 38

2.4 基于Microsoft Office Visio 2007的结构化建模 39

2.4.1 Microsoft Office Visio 2007简介 39

2.4.2 Microsoft Office Visio 2007工作环境 40

2.4.3 Microsoft Office Visio 2007操作入门 41

2.4.4 实践案例 43

2.5 面向对象的软件工程 46

2.6 面向对象方法的基本原则和核心问题 47

2.7 面向对象方法的特点与优势 49

2.8 面向对象的基本概念 50

2.9 面向对象方法学的研究及实践领域 53

2.10 面向对象的统一建模语言介绍 54

2.10.1 统一建模语言概述 54

2.10.2 UML的基本实体 55

2.10.3 常用的UML图 56

2.11 基于Rational Rose 2003的UML建模 61

2.11.1 Rational Rose 2003简介 61

2.11.2 Rational Rose 2003建模环境 61

2.11.3 Rational Rose 2003模型的视图 63

2.11.4 Rational Rose 2003建模界面 63

2.12 结构化方法与面向对象方法比较 65

2.13 小结 66

2.14 习题 66

第3章 结构化分析 68

3.1 可行性研究 68

3.1.1 问题定义 68

3.1.2 可行性研究的内容 70

3.1.3 可行性研究的步骤 71

3.2 需求分析 72

3.3 获取需求的方法 73

3.4 结构化分析方法 75

3.4.1 数据流图 76

3.4.2 数据字典 80

3.4.3 实体关系图 82

3.4.4 状态转换图 83

3.5 快速原型分析方法 84

3.6 结构化分析实例 85

3.7 小结 88

3.8 习题 88

第4章 结构化设计 92

4.1 结构化设计概述 92

4.1.1 结构化设计的任务 92

4.1.2 结构化设计的工作内容及步骤 92

4.2 结构化总体设计 93

4.2.1 总体设计的过程 94

4.2.2 设计原则 95

4.2.3 总体设计的启发规则 95

4.2.4 面向数据流的设计方法 97

4.2.5 结构化总体设计的工具 103

4.2.6 模块结构设计 106

4.2.7 数据存储设计 113

4.3 结构化详细设计 115

4.3.1 结构化详细设计阶段的任务及原则 115

4.3.2 结构化详细设计工具 116

4.3.3 代码设计 120

4.3.4 用户界面设计 120

4.3.5 Jackson程序设计方法 122

4.3.6 Warnier程序设计方法 125

4.3.7 基于组件的设计方法 126

4.4 软件设计说明书结构 127

4.5 结构化设计实例 129

4.6 应用Visio进行数据库建模 136

4.7 应用Visio进行软件界面设计 145

4.8 小结 148

4.9 习题 148

第5章 结构化的实现 152

5.1 结构化实现概述 152

5.2 程序设计语言的选择 153

5.3 程序的复杂性及度量 156

5.3.1 代码行度量法 156

5.3.2 McCabe度量法 156

5.4 结构化测试的任务和目标 157

5.5 结构化测试方法 161

5.5.1 黑盒测试概述 161

5.5.2 白盒测试 168

5.5.3 灰盒测试 174

5.5.4 人工测试 176

5.5.5 自动化测试 177

5.6 结构化测试步骤 178

5.6.1 单元测试 178

5.6.2 集成测试 185

5.6.3 确认测试 189

5.6.4 系统测试 190

5.6.5 验收测试 193

5.7 结构化测试工具 197

5.8 软件测试的误区 199

5.9 软件测试的前景 200

5.10 结构化测试实例 201

5.11 小结 205

5.12 习题 206

第6章 面向对象分析方法 208

6.1 面向对象分析概述 208

6.2 建立基于用例分析的功能模型 210

6.3 建立对象模型 215

6.4 建立动态模型 218

6.4.1 编写脚本 218

6.4.2 设想用户界面 220

6.4.3 事件跟踪图 220

6.4.4 状态图 221

6.5 评审分析模型 224

6.6 面向对象分析实例 225

6.7 小结 228

6.8 习题 228

第7章 面向对象的设计 231

7.1 面向对象的设计方法 231

7.2 面向对象设计的准则 233

7.3 问题域子系统设计 236

7.4 人机交互子系统设计 236

7.5 任务管理子系统设计 237

7.6 数据管理子系统设计 238

7.7 应用Rose建用例图 239

7.8 应用Rose建交互图 242

7.9 应用Rose建类图 249

7.10 应用Rose建状态图和活动图 256

7.11 应用Rose建组件图和部署图 261

7.12 面向对象设计实例 265

7.13 小结 269

7.14 习题 269

第8章 面向对象的实现及测试 271

8.1 面向对象实现语言的选择 271

8.2 面向对象程序设计风格 271

8.3 面向对象软件测试 275

8.3.1 基于面向对象开发过程的测试 276

8.3.2 面向对象软件测试的层次划分及内容 282

8.4 面向对象的测试工具 283

8.5 小结 285

8.6 习题 285

第9章 运行和维护 287

9.1 维护的概念 287

9.2 维护的任务和目的 288

9.3 软件维护的特点 289

9.4 软件维护的步骤 290

9.5 软件的可维护性 293

9.5.1 软件可维护性概述 293

9.5.2 软件维护的类型 294

9.5.3 软件可维护性度量 295

9.6 维护中的组织管理 297

9.7 逆向工程和再工程 299

9.7.1 逆向工程 299

9.7.2 再工程 302

9.8 小结 305

9.9 习题 305

第10章 软件工程标准化和软件质量 307

10.1 软件工程标准化 307

10.2 软件文档 310

10.2.1 软件文档的作用和分类 310

10.2.2 软件文档编制的质量要求 313

10.2.3 软件文档的管理和维护 314

10.3 软件质量特性 314

10.4 软件质量的度量模型 316

10.5 软件质量保证 318

10.6 技术评审 320

10.7 软件质量管理体系 321

10.7.1 软件产品质量管理的特点 321

10.7.2 软件质量管理体系 322

10.8 小结 323

10.9 习题 324

第11章 软件工程项目管理 326

11.1 软件项目管理的内容 326

11.2 软件项目管理的特点和职能 326

11.3 软件项目管理的流程控制分析 328

11.4 计划和组织 335

11.4.1 制定项目计划 335

11.4.2 人员组织与管理 337

11.5 进度计划 338

11.5.1 制定开发进度计划 338

11.5.2 甘特图与时间管理 339

11.5.3 工程网络与关键路径 342

11.6 风险管理 344

11.7 软件成熟度模型 346

11.7.1 CMM概述 346

11.7.2 CMM成熟度级别 347

11.8 项目管理认证体系IPMP与PMP 347

11.9 软件项目管理实例:软件外包项目中的进度管理 349

11.9.1 案例描述 349

11.9.2 案例分析 350

11.10 应用Project 2007进行项目管理 351

11.10.1 Project 2007简介 351

11.10.2 Project 2007工作界面 351

11.10.3 项目管理专用术语概览 353

11.11 Project操作入门 354

11.12 利用Project制定项目计划 360

11.13 小结 368

11.14 习题 368

第12章 结构化开发实例 372

12.1 项目论证和计划 372

12.1.1 系统调查 372

12.1.2 新系统的总体功能需求和性能要求 372

12.1.3 系统开发的框架 373

12.2 可行性分析 373

12.2.1 技术可行性 374

12.2.2 经济可行性 374

12.2.3 管理可行性 374

12.2.4 开发环境可行性 374

12.3 需求分析 374

12.3.1 数据流分析 374

12.3.2 系统流程图 376

12.3.3 数据字典 376

12.4 总体设计 377

12.4.1 功能模块图 377

12.4.2 层次方框图 378

12.4.3 IPO图 378

12.4.4 系统的功能结构图 378

12.4.5 人事管理工作流程模型图 379

12.4.6 系统数据库关系说明图 379

12.5 详细设计 379

12.5.1 查询功能流程图 379

12.5.2 登录界面程序流程图 380

12.5.3 添加功能流程图 380

12.5.4 系统程序流程图 380

12.5.5 系统功能流程图 381

12.6 系统实现 381

12.6.1 实现工具 381

12.6.2 开发平台 382

12.6.3 数据库系统工作结构图 382

12.7 测试与维护 382

12.7.1 测试结果 382

12.7.2 系统维护 383

12.8 小结 386

第13章 面向对象软件开发实例 387

13.1 可行性分析 387

13.2 需求分析 387

13.2.1 用例图 387

13.2.2 活动图 388

13.3 系统详细设计 389

13.4 小结 396

13.5 习题 396

参考文献 398