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

  • 购买积分:13 如何计算积分?
  • 作  者:陈明编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302270263
  • 页数:374 页
图书介绍:本书是软件工程方面的教材,主要内容包括软件工程概述、软件项目分析、构件需求工程等。

第1章 软件工程概述 1

1.1 软件 1

1.1.1 软件的发展 1

1.1.2 软件的定义 3

1.1.3 软件的特点 3

1.1.4 软件的分类 4

1.2 软件工程的内容与方法 6

1.2.1 软件危机与软件工程的定义 7

1.2.2 软件工程的基本内容与目标 9

1.2.3 软件的基本开发方法 9

1.2.4 软件工程的基本原则 10

1.3 软件生存周期与软件开发模型 11

1.3.1 软件生存周期 11

1.3.2 软件开发模型 12

1.4 软件工具与环境 20

1.4.1 软件工具概述 21

1.4.2 软件开发工具的功能 21

1.4.3 软件开发工具的特性 22

1.4.4 软件开发工具的分类 24

1.4.5 软件开发环境 25

1.5 软件工程学的知识体系 27

小结 28

习题1 28

第2章 软件项目可行性研究 29

2.1 软件项目可行性研究的任务 29

2.2 软件项目可行性研究的步骤 30

2.3 软件项目可行性研究的要素 31

2.3.1 经济可行性 32

2.3.2 技术可行性 32

2.3.3 社会环境可行性 32

2.4 系统流程图 33

2.5 成本效益分析 34

2.5.1 成本估计 34

2.5.2 费用估计 36

2.5.3 度量效益的方法 37

小结 38

习题2 38

第3章 软件需求工程 39

3.1 软件需求工程概述 39

3.1.1 软件需求分类 40

3.1.2 需求规格说明 41

3.1.3 需求工程概念 42

3.1.4 需求工程过程 42

3.2 需求获取方法 43

3.3 需求分析的任务与原则 45

3.3.1 需求分析的任务 45

3.3.2 需求分析的原则 46

3.4 需求建模方法 47

3.4.1 结构化的需求建模方法 47

3.4.2 数据流图 49

3.4.3 数据字典 57

3.5 图形工具 61

3.5.1 层次方框图 61

3.5.2 Warnier图 62

3.5.3 IPO图 62

3.6 需求验证 63

3.6.1 目的与任务 63

3.6.2 内容与方法 63

3.6.3 需求评审 64

3.7 需求管理 65

3.7.1 需求管理的目标 65

3.7.2 需求管理的原则 66

3.7.3 需求开发的管理 66

3.7.4 需求管理活动 68

小结 69

习题3 69

第4章 软件项目概要设计 71

4.1 软件体系结构 71

4.1.1 概述 71

4.1.2 系统构成 73

4.1.3 控制模型 77

4.1.4 模块化分解 80

4.1.5 领域相关的体系结构 82

4.2 概要设计的任务与过程 84

4.2.1 概要设计的任务 84

4.2.2 概要设计的过程 84

4.3 软件设计的概念与原则 86

4.3.1 模块化与模块独立性 86

4.3.2 抽象 91

4.3.3 结构设计原则 93

4.3.4 软件复用 95

4.3.5 设计模式 98

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

4.4.1 基本概念 100

4.4.2 系统结构图的组成 101

4.4.3 变换分析 102

4.4.4 事务分析 106

4.4.5 设计优化 108

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

4.5.1 Jackson系统开发方法 108

4.5.2 Warnier方法 117

4.6 概要设计文档评审 118

小结 119

习题4 119

第5章 软件项目详细设计 120

5.1 详细设计的任务与原则 120

5.1.1 详细设计的任务 120

5.1.2 详细设计的原则 121

5.2 详细设计的工具 121

5.2.1 程序流程图 121

5.2.2 N-S图 123

5.2.3 PAD图 124

5.2.4 PDL 126

5.2.5 HIPO图 127

5.2.6 详细设计工具的选择 128

5.3 详细设计规格说明与复审 129

5.3.1 详细设计说明书 129

5.3.2 设计复审 130

小结 131

习题5 131

第6章 面向对象分析与设计 132

6.1 面向对象方法 132

6.1.1 面向对象方法概述 133

6.1.2 面向对象的软件工程 134

6.1.3 面向对象的基本概念和特征 138

6.2 面向对象分析 145

6.2.1 面向对象分析过程与原则 145

6.2.2 确定对象与类 149

6.2.3 确定属性 152

6.2.4 定义服务 153

6.2.5 对象间通信 157

6.3 面向对象设计 163

6.3.1 面向对象设计的概念 163

6.3.2 面向对象设计的方法 164

小结 167

习题6 167

第7章 用户界面设计 168

7.1 用户界面的主要特征 168

7.2 设计原则 170

7.3 用户交互 171

7.4 信息表示 173

7.5 帮助系统 175

7.6 界面设计 177

7.7 界面设计评价 178

7.7.1 界面设计评价指标 179

7.7.2 界面设计评价方法 180

小结 180

习题7 181

第8章 软件项目编码 182

8.1 程序设计语言 182

8.1.1 程序设计语言分类 182

8.1.2 程序设计语言的特点 185

8.1.3 程序设计语言的选择 187

8.2 编码风格 189

8.2.1 源程序文档化 189

8.2.2 数据说明 191

8.2.3 语句结构 191

8.2.4 输入输出 194

8.3 程序效率 195

8.3.1 程序效率准则 195

8.3.2 算法对效率的影响 195

8.3.3 影响存储器效率的因素 195

8.3.4 影响输入输出的因素 196

8.4 编程安全 196

8.4.1 冗余程序设计 196

8.4.2 防错程序设计 197

8.5 面向对象程序设计步骤 198

8.6 编码优化 199

小结 200

习题8 200

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

9.1 软件质量的定义 201

9.2 影响软件质量的因素 201

9.3 软件质量保证 203

9.3.1 软件质量保证的概念 203

9.3.2 软件质量保证的策略 203

9.3.3 SQA小组的任务 204

9.4 软件质量保证活动 205

9.5 软件评审 206

9.5.1 设计质量的评审内容 206

9.5.2 程序质量的评审内容 211

9.6 软件质量保证的标准 214

9.7 软件质量评价 215

9.7.1 软件质量评价体系 215

9.7.2 软件质量评价标准 217

9.8 软件质量框架 219

9.8.1 高质量软件的特性 219

9.8.2 软件质量框架的组成 219

9.9 软件开发质量的定量描述 221

小结 224

习题9 224

第10章 软件项目测试 225

10.1 概述 225

10.1.1 软件测试技术的发展 225

10.1.2 软件错误与缺陷 226

10.1.3 软件测试的定义 227

10.1.4 软件测试的对象 227

10.1.5 软件测试的目的 228

10.1.6 软件测试的原则 228

10.1.7 软件测试的复杂性 229

10.1.8 软件开发各阶段的测试 229

10.2 软件测试方法 230

10.2.1 静态分析 230

10.2.2 动态测试 231

10.2.3 人工测试与机器测试 232

10.2.4 黑盒测试 234

10.2.5 白盒测试 243

10.2.6 白盒测试与黑盒测试的比较 249

10.3 单元测试与集成测试 251

10.3.1 单元测试 251

10.3.2 集成测试 255

10.3.3 确认测试 261

10.3.4 系统测试 264

10.3.5 终止测试 268

10.4 面向对象测试 270

10.4.1 面向对象测试基础 270

10.4.2 面向对象测试模型 271

10.4.3 类测试 276

10.4.4 面向对象的集成测试 280

10.4.5 面向对象的系统测试 282

10.4.6 面向对象测试与传统测试的比较 283

10.5 测试的设计与实现 284

10.5.1 测试计划 284

10.5.2 测试设计 292

10.5.3 测试执行 298

10.5.4 测试总结 300

小结 301

习题10 302

第11章 软件项目交付与维护 304

11.1 软件发布与部署 304

11.1.1 软件产品发布 304

11.1.2 软件产品实施 305

11.2 软件演化的特征 306

11.2.1 软件演化的动态特征 306

11.2.2 软件体系结构的进化 307

11.3 软件维护 307

11.3.1 软件维护的分类与特点 307

11.3.2 软件维护的步骤 309

11.3.3 软件的可维护性 312

11.3.4 软件维护的副作用 313

11.4 逆向工程和再生工程 314

小结 316

习题11 316

第12章 软件项目管理 317

12.1 软件项目的特点及软件管理功能 317

12.1.1 软件项目的特点 317

12.1.2 软件管理的功能 318

12.1.3 软件项目的工作范围 318

12.2 软硬件资源 319

12.2.1 人力资源 319

12.2.2 硬件 319

12.2.3 软件 320

12.3 人员的计划和组织 320

12.4 成本估计及控制 321

12.4.1 软件开发成本估算方法 321

12.4.2 专家估算法 322

12.4.3 成本估算模型 323

12.5 进度计划 325

12.5.1 软件工作的特殊性 325

12.5.2 各阶段工作量的分配 325

12.5.3 制定开发进度 326

12.6 软件配置管理 327

12.6.1 基线 327

12.6.2 软件配置项 328

12.6.3 软件配置管理过程 330

12.7 软件管理方案 333

12.8 能力成熟度模型 333

12.8.1 软件过程评估的必要性 334

12.8.2 CMM的主要用途 335

12.8.3 CMM的体系结构 336

12.8.4 CMM的等级 338

12.8.5 CMM的内部结构 341

12.8.6 CMM的应用 344

小结 345

习题12 345

第13章 软件建模与UML 347

13.1 模型概述 347

13.2 常用的软件建模模型 348

13.3 需求建模 349

13.4 UML 349

13.4.1 UML概述 350

13.4.2 UML的表示法 355

13.4.3 UML软件开发过程概述 367

13.4.4 Rational Rose概述 370

13.5 形式化方法 372

小结 373

习题13 373

参考文献 374