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

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

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:谭庆平,毛新军,董威编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2009
  • ISBN:9787040264371
  • 页数:570 页
图书介绍:本书以面向对象的软件开发方法学、软件开发和管理的过程模型为主线,系统地介绍统一建模语言(UML)、基于UML的面向对象需求工程、基于UML的面向对象软件设计、面向对象的软件实现及软件测试、软件项目管理及软件工程过程模型。此外,本书还介绍了具有良好发展前景的先进软件过程模型和软件开发技术,包括统一软件过程(RUP)、敏捷软件开发和极限编程、测试驱动、面向方面、面向Agent和模型驱动的软件开发方法。
《软件工程实践教程》目录

第一章 绪论 1

1.1 本书的结构及导读 3

1.2 软件工程的观念 4

1.3 案例说明 7

1.4 面向对象的概念与思想 8

1.4.1 基本概念 8

1.4.2 面向对象的优势 9

1.4.3 面向对象的复用 10

1.4.4 封装与多态 11

本章小结 13

习题一 14

本章参考文献 14

第二章 UML简介 16

2.1 用例图 17

2.1.1 执行者和用例 18

2.1.2 执行者与用例之间的关系 18

2.1.3 用例之间的关系 18

2.1.4 执行者之间的关系 19

2.1.5 边界框 19

2.1.6 布局规则 20

2.1.7 伴随文档 20

2.2 类图 21

2.2.1 类 23

2.2.2 接口 26

2.2.3 关联关系 27

2.2.4 聚合与组合 37

2.2.5 依赖关系 37

2.2.6 实现关系 40

2.2.7 继承关系 40

2.2.8 布局规则 45

2.3 对象图 46

2.4 交互图 47

2.4.1 顺序图 47

2.4.2 通信图 53

2.4.3 顺序图与通信图之间的选取 55

2.5 状态图 56

2.5.1 基本机制 56

2.5.2 结构化机制 59

2.5.3 建模规则 61

2.5.4 布局规则 62

2.6 活动图 62

2.6.1 基本机制 62

2.6.2 结构化机制 63

2.6.3 建模规则 63

2.6.4 布局规则 64

2.7 构件图 64

2.7.1 构件及其表示 65

2.7.2 构件图 66

2.7.3 构件定义图 67

2.7.4 布局规则 67

2.8 部署图 67

2.8.1 描述性部署图 69

2.8.2 实例性部署图 70

2.8.3 布局规则 70

2.9 包图 70

2.9.1 包及包间依赖 70

2.9.2 包图 72

2.9.3 布局规则 72

2.10 对象约束语言 73

2.11 扩充机制 73

2.11.1 约束 74

2.11.2 标记值 75

2.11.3 构造型 75

2.11.4 扩展剖面 77

本章小结 79

习题二 80

本章参考文献 83

第三章 软件项目管理导论 84

3.1 软件项目管理概述 84

3.2 项目案例描述和假设 87

3.3 软件过程定义与改进 88

3.3.1 软件过程模型 88

3.3.2 定义软件过程 93

3.3.3 改进软件过程 96

3.3.4 案例分析 97

3.4 软件度量 100

3.4.1 度量、测量和估算 100

3.4.2 自顶向下和自底向上的估算方式 101

3.4.3 估算方法 102

3.4.4 应用度量、测量和估算 107

3.4.5 案例分析 108

3.5 软件项目计划 108

3.5.1 基本概念 109

3.5.2 表示和分析软件项目计划 110

3.5.3 制订软件项目计划要考虑的因素 114

3.5.4 制订软件项目计划的步骤 118

3.5.5 应用软件项目计划 120

3.5.6 案例分析 121

3.6 软件项目跟踪和控制 122

3.6.1 软件项目跟踪的对象 123

3.6.2 软件项目跟踪和控制的方法 125

3.6.3 软件项目跟踪和控制的步骤 127

3.6.4 案例分析 128

3.7 软件风险管理 130

3.7.1 软件风险 131

3.7.2 软件风险的类型 131

3.7.3 软件风险管理模式 134

3.7.4 软件风险管理方法 135

3.7.5 案例分析 140

3.8 软件质量管理 142

3.8.1 软件质量 143

3.8.2 软件质量保证 144

3.8.3 软件质量保证计划 146

3.8.4 案例分析 147

3.9 软件配置管理 149

3.9.1 基本概念 150

3.9.2 软件配置管理过程 152

3.9.3 软件配置管理计划 156

3.9.4 案例分析 156

本章小结 158

习题三 159

本章参考文献 159

第四章 需求工程 161

4.1 需求工程的过程模型 162

4.1.1 需求工程中的活动 162

4.1.2 迭代式过程模型 164

4.1.3 过程模型的裁剪 165

4.2 需求工程策划 167

4.2.1 策划活动的参与者 167

4.2.2 策划活动的进入准则 167

4.2.3 策划活动的输入 167

4.2.4 策划活动的步骤 168

4.2.5 策划活动的输出 171

4.2.6 策划活动的出口准则 171

4.2.7 策划活动小结 171

4.3 需求获取 172

4.3.1 获取活动的参与者 172

4.3.2 获取活动的进入准则 172

4.3.3 获取活动的输入 172

4.3.4 获取活动的预备知识 172

4.3.5 获取活动的步骤 176

4.3.6 获取活动的输出 205

4.3.7 获取活动的出口准则 205

4.3.8 获取活动小结 205

4.4 需求分析 205

4.4.1 分析活动的参与者 206

4.4.2 分析活动的进入准则 206

4.4.3 分析活动的输入 206

4.4.4 分析活动的步骤 206

4.4.5 分析活动的输出 230

4.4.6 分析活动的出口准则 230

4.4.7 分析活动小结 230

4.5 需求规范化 231

4.6 需求验证 234

4.7 需求管理 235

4.7.1 管理活动的参与者 236

4.7.2 管理活动的进入准则 236

4.7.3 管理活动的输入 236

4.7.4 需求管理的任务与方法 236

4.7.5 管理活动的输出 239

4.7.6 管理活动的出口准则 239

4.7.7 需求管理活动小结 239

4.8 案例分析 240

4.8.1 需求获取的输出 240

4.8.2 需求分析的输出 251

本章小结 262

习题四 263

本章参考文献 264

第五章 软件设计 265

5.1 软件设计的过程模型 267

5.1.1 设计活动 267

5.1.2 迭代式设计过程模型 269

5.1.3 设计过程模型的裁剪 270

5.2 软件设计的策划 270

5.2.1 策划活动的参与者 270

5.2.2 策划活动的进入准则与输入 271

5.2.3 策划活动的步骤 271

5.2.4 策划活动的输出与出口准则 273

5.2.5 策划活动小结 273

5.3 用户界面设计 274

5.3.1 界面设计活动的参与者 274

5.3.2 界面设计活动的进入准则与输入 274

5.3.3 界面设计活动的预备知识 274

5.3.4 界面设计活动的步骤 279

5.3.5 界面设计活动的输出与出口准则 283

5.3.6 界面设计活动小结 283

5.4 体系结构设计 284

5.4.1 体系结构设计活动的参与者 284

5.4.2 体系结构设计活动的进入准则与输入 285

5.4.3 体系结构设计的预备知识 285

5.4.4 体系结构设计的步骤 293

5.4.5 体系结构设计活动的输出与出口准则 309

5.4.6 体系结构设计活动小结 309

5.5 用例设计 310

5.5.1 用例设计活动的参与者 310

5.5.2 用例设计活动的进入准则与输入 310

5.5.3 用例设计活动的步骤 310

5.5.4 用例设计活动的输出与出口准则 317

5.5.5 用例设计活动小结 317

5.6 子系统设计 318

5.6.1 子系统设计活动的参与者 318

5.6.2 子系统设计活动的进入准则与输入 318

5.6.3 子系统设计活动的步骤 318

5.6.4 子系统设计活动的输出与出口准则 326

5.6.5 子系统设计活动小结 327

5.7 构件设计 327

5.8 类设计 332

5.8.1 类设计活动的参与者 332

5.8.2 类设计活动的进入准则与输入 332

5.8.3 类设计活动的步骤 333

5.8.4 类设计活动的输出与出口准则 345

5.8.5 类设计活动小结 345

5.9 数据模型设计 346

5.9.1 数据模型设计活动的参与者 346

5.9.2 数据模型设计活动的进入准则与输入 346

5.9.3 数据模型设计活动的步骤 346

5.9.4 数据模型设计活动的输出与出口准则 353

5.9.5 数据模型设计活动小结 353

5.10 设计整合 353

5.11 设计评审 357

5.12 设计管理 358

5.12.1 设计管理活动的参与者 358

5.12.2 设计管理活动的进入准则 358

5.12.3 设计管理活动的输入 358

5.12.4 设计管理的任务与方法 358

5.12.5 设计管理活动的输出 359

5.12.6 设计管理活动的出口准则 359

5.12.7 设计管理活动小结 359

5.13 案例分析 360

5.13.1 用户界面设计的输出 360

5.13.2 体系结构设计的输出 364

5.13.3 用例设计的输出 368

5.13.4 子系统设计的输出 368

5.13.5 构件设计的输出 376

5.13.6 类设计的输出 378

5.13.7 数据模型设计的输出 382

本章小结 382

习题五 384

本章参考文献 386

第六章 软件实现 387

6.1 软件实现的概念 387

6.1.1 软件实现在软件生命周期中的地位 387

6.1.2 软件实现的先决条件与具体任务 388

6.1.3 软件实现与程序设计语言 389

6.2 软件实现过程 390

6.3 软件编程 391

6.3.1 类设计的实现 392

6.3.2 数据模型的实现 414

6.3.3 界面设计的实现 418

6.3.4 编写高质量的程序代码 419

6.4 软件调试 430

6.4.1 软件错误 431

6.4.2 软件调试方式及主要活动 435

6.4.3 软件调试技术 436

6.5 软件实现过程中的项目管理 439

6.5.1 建立统一的软件实现标准 439

6.5.2 软件实现中的配置管理 439

6.5.3 软件实现的计划与度量 440

6.5.4 软件实现中的人员管理 440

6.5.5 软件实现阶段的评审 441

6.6 案例分析 441

6.6.1 类设计的实现 441

6.6.2 访问数据模型的类实现 451

本章小结 475

习题六 475

本章参考文献 476

第七章 软件测试 477

7.1 软件测试的概念 477

7.1.1 测试用例及其设计 478

7.1.2 测试中的信息流程 479

7.1.3 测试评价和充分性准则 479

7.1.4 软件测试的重要原则 480

7.2 软件测试的过程 481

7.3 基本的软件测试方法 483

7.3.1 黑盒测试 483

7.3.2 白盒测试 487

7.3.3 非功能性测试 490

7.4 软件测试活动与实施策略 500

7.4.1 需求和设计阶段的测试 500

7.4.2 代码检查 501

7.4.3 单元测试 502

7.4.4 集成测试 503

7.4.5 确认测试和系统测试 504

7.4.6 α测试和β测试 504

7.5 面向对象软件测试方法 505

7.5.1 类测试 505

7.5.2 交互测试 507

7.5.3 继承测试 507

7.5.4 基于UML的测试 508

7.6 软件测试的经验 509

7.7 软件测试过程中的项目管理 511

7.7.1 制订软件测试计划 512

7.7.2 软件缺陷的报告与跟踪 512

7.7.3 软件测试的进度管理 513

7.7.4 软件测试的度量 514

7.8 案例分析 515

7.8.1 软件测试计划 515

7.8.2 功能性测试 520

7.8.3 非功能性测试 523

本章小结 525

习题七 526

本章参考文献 526

第八章 软件工程前瞻 528

8.1 敏捷软件开发 528

8.1.1 敏捷软件开发思想 528

8.1.2 敏捷软件开发的特点 531

8.1.3 支持敏捷软件开发的技术和管理手段 532

8.1.4 极限编程 534

8.2 测试驱动开发 537

8.2.1 测试驱动开发思想 538

8.2.2 支持测试驱动开发的软件工具 540

8.2.3 测试驱动开发过程 543

8.3 面向方面软件开发 547

8.3.1 面向方面软件开发思想 547

8.3.2 面向方面编程的实现原理 551

8.3.3 面向方面的编程语言 554

8.4 模型驱动软件开发 556

8.4.1 模型驱动软件开发思想 556

8.4.2 MDA的模型和映射 558

8.4.3 基于MDA的软件开发过程 559

8.5 面向Agent软件开发 560

8.5.1 面向Agent软件开发的基本概念和思想 561

8.5.2 面向Agent的软件开发技术 563

本章小结 568

习题八 568

本章参考文献 569

返回顶部