《软件质量保证和管理》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:朱少民等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302139393
  • 页数:485 页
图书介绍:本书阐述软件质量的概念、软件质量工程体系的思想和内容、管理方法与技术、编程与测试、软件发布与维护过程中的软件质量活动等内容。

第1章 质量 1

1.1 质量 1

1.1.1 与质量相关的概念 2

1.1.2 什么是质量 3

1.1.3 质量属性 5

1.2 客户 6

1.2.1 内部客户和外部客户 6

1.2.2 客户的确定 8

1.2.3 客户与质量的关系 11

1.3 不同的质量观点 11

1.4 质量概念的发展 13

1.5 质量形成过程 15

1.6 质量管理的发展历程 17

1.7 质量管理大师 19

1.7.1 现代质量改进之父——戴明 19

1.7.2 朱兰的质量三部曲 20

1.7.3 统计质量控制(SQC)之父——休哈特 21

1.7.4 田口的质量哲学 21

1.7.5 QCC之父——石川馨 22

1.7.6 全面质量控制之父——费根堡姆 23

1.7.7 零缺陷管理之父——菲利浦·克劳士比 23

小结 24

思考题 25

第2章 软件质量 26

2.1 软件特点 26

2.2.1 软件开发的基本过程 27

2.2 软件过程 27

2.2.2 软件开发过程模型 29

2.2.3 V模型的完整诠释 29

2.2.4 敏捷方法的极限编程 31

2.2.5 阶段性开发模型 34

2.3 软件缺陷 36

2.3.1 什么是软件缺陷 36

2.3.2 软件缺陷的产生 37

2.3.3 软件缺陷的分类 39

2.4 软件质量 40

2.4.1 软件质量需求的背景 40

2.4.2 软件质量需求的内容 42

2.4.3 软件质量的定义 43

2.4.4 软件质量的特性分析 44

2.5 软件质量的内容 46

2.5.1 软件产品质量 46

2.5.2 软件过程质量 47

2.5.3 软件商业环境质量 48

小结 49

思考题 49

第3章 软件质量工程体系 50

3.1 概述 50

3.1.1 系统工程学的思想 51

3.1.2 软件质量工程体系的建立 52

3.1.3 软件质量工程体系的构成 54

3.1.4 软件质量工程体系和管理体系的关系 55

3.2.1 软件质量的指标 56

3.2 软件质量指标和因素 56

3.2.2 软件产品的质量因素 59

3.2.3 软件过程的质量因素 61

3.3 软件质量模型分析 63

3.3.1 软件质量模型 63

3.3.2 模型评价和分析 65

3.4 软件质量工作层次 66

3.4.1 软件质量方针 67

3.4.2 软件质量控制 67

3.4.3 软件质量保证 68

3.4.4 软件质量改进 69

3.5.1 质量成本的概念 70

3.5 软件质量成本 70

3.5.2 引入质量成本的意义 71

3.5.3 劣质成本PONC和COPQ 72

3.5.4 软件劣质成本的组成 73

3.6 软件质量标准和度量 75

3.6.1 软件质量标准体系介绍 75

3.6.2 软件质量度量的地位 76

小结 78

思考题 78

第4章 软件质量控制与保证 79

4.1 软件质量控制的基本方法 79

4.1.1 目标问题度量法 80

4.1.2 风险管理法 80

4.2 软件质量控制模型和技术 83

4.2.1 软件质量控制模型 84

4.2.2 软件质量控制模型要素分析 85

4.2.3 软件质量控制特征和技术 86

4.2.4 软件质量控制实施和跟踪 88

4.3 软件质量控制工具 90

4.3.1 检查表 90

4.3.2 Pareto图 91

4.3.3 直方图 92

4.3.4 运行图 92

4.3.5 散布图 93

4.3.6 控制图 93

4.3.7 因果图 94

4.4 软件质量保证体系 94

4.5.1 信息收集和分析 96

4.5 改正性和预防性措施 96

4.5.2 解决方案及其执行 97

4.6 支持性质量保证手段 98

4.6.1 模板 98

4.6.2 文档的建立、应用和更新 99

小结 100

思考题 100

第5章 软件配置管理 101

5.1 概述 101

5.1.1 软件配置管理的概念 101

5.1.2 实施配置管理的目的与益处 102

5.2 配置项 103

5.2.1 配置项(Software Configuration Item,SCI)的定义 103

5.2.2 软件配置控制 104

5.2.3 配置项标识 105

5.3 基线 106

5.4 版本控制 109

5.4.1 版本的访问与同步控制 109

5.4.2 版本分支和合并 110

5.4.3 版本的历史记录 111

5.5 变更控制 111

5.5.1 变更类型 112

5.5.2 变更请求管理 112

5.5.3 变更管理的实施步骤 113

5.6 软件配置管理系统 116

5.6.1 软件配置标准 116

5.6.2 并发版本系统 117

5.6.3 IBM-Rational的ClearCase 121

5.6.4 基于构件复用的配置管理系统JBCM 123

小结 126

思考题 127

第6章 软件质量度量 128

6.1 测量基础 128

6.1.1 测量原理 129

6.1.2 测量标准 132

6.1.3 度量过程和原则 133

6.2 软件度量 135

6.2.1 软件开发生命周期的度量活动 135

6.2.2 软件的项目度量 137

6.2.3 软件产品的规模度量 138

6.2.4 代码行度量方法 139

6.2.5 功能点分析法 140

6.2.6 面向对象软件的对象点方法 142

6.3 软件质量度量方法 146

6.3.1 软件质量度量的分类 146

6.3.2 软件质量度量模型 148

6.3.3 基于时间的缺陷到达模式 149

6.3.4 PTR累积模型 151

6.3.5 Rayleigh模型 152

6.4 软件产品的质量度量 153

6.4.1 软件复杂性的度量 153

6.4.2 软件缺陷度量 155

6.4.3 顾客满意度度量 158

6.5 软件过程质量度量 161

6.5.1 软件需求过程的质量度量 162

6.5.2 软件过程生产率的度量 163

6.5.3 测试阶段的过程质量度量 164

6.5.4 维护阶段的过程质量度量 166

6.6 软件质量度量的执行 167

6.6.1 度量专家的思想和指导 167

6.6.2 软件度量的应用 170

6.6.3 选择和确定质量因素 171

6.6.4 质量度量中的数据采集 172

6.6.5 质量度量的统计分析 173

小结 175

思考题 175

第7章 软件可靠性度量和测试 176

7.1 软件可靠性 176

7.1.1 软件失效的过程与类别 177

7.2 可靠性模型及其评价标准 178

7.1.2 可靠性定义 178

7.2.1 可靠性模型 179

7.2.2 可靠性模型评价标准 181

7.2.3 可靠性增长模型和指数模型 181

7.3 软件可靠性测试和评估 182

7.3.1 影响软件可靠性的因素 183

7.3.2 系统的运行剖面与可靠性的关系 184

7.3.3 可靠性测试 185

7.3.4 可靠性测试结果分析和评估 186

小结 189

思考题 189

8.1.1 标准的层次 190

第8章 软件质量标准 190

8.1 软件质量标准概述 190

8.1.2 软件质量标准的沿革 191

8.2 ISO 9001和9000-3在软件中的应用简介 193

8.3 能力成熟度模型——CMM CMMI 194

8.3.1 CMM质量思想 194

8.3.2 CMM 关键过程域 195

8.3.3 PSP和TSP 199

8.3.4 CMMI 200

8.4 CMM中的质量框架 201

8.4.1 SQA活动通用框架 202

8.4.2 CMM流程改进 203

8.4.3 量化管理 205

8.5 IEEE软件工程标准 206

8.5.1 IEEE 730:2001 结构与内容 207

8.5.2 IEEE/EIA Std 12207——软件生命周期过程 208

8.5.3 IEEE Std 1012——验证与确认 208

8.5.4 IEEE Std1028——评审 210

8.6 其他质量标准 211

8.6.1 SPICE项目与ISO/IEC15504软件过程评估标准 211

8.6.2 Tick IT 212

小结 213

思考题 213

第9章 软件评审 214

9.1 为什么需要评审 214

9.2 软件评审的角色和职能 215

9.3.1 管理评审 216

9.3 评审的内容 216

9.3.2 技术评审 218

9.3.3 文档评审 219

9.3.4 过程评审 220

9.4 评审的方法和技术 221

9.4.1 评审的方法 222

9.4.2 评审的技术 223

9.5 准备评审会议 224

9.6 召开评审会议 226

9.7 跟踪和分析评审结果 228

9.8 如何实施成功的评审 230

小结 231

思考题 232

10.1.1 全面质量管理 233

第10章 软件全面质量管理 233

10.1 概述 233

10.1.2 零缺陷管理 235

10.1.3 六西格玛质量管理 236

10.1.4 六西格玛质量管理和TQM比较 237

10.2 质量管理战略和文化 239

10.2.1 领导变革和管理承诺 240

10.2.2 品牌战略和市场竞争 241

10.2.3 降低质量成本 242

10.3 软件质量管理模式 244

10.3.1 目标导向模式 244

10.3.2 顾客导向模式 246

10.3.3 价值驱动模式 247

10.3.4 其他管理模式 249

10.4 零缺陷作业法与评估 251

10.4.1 零缺陷管理思想体系和原理 251

10.4.2 零缺陷作业法 253

10.4.3 零缺陷管理的评估 254

10.5 六西格玛的技术和工具 255

10.5.1 标准方差和泊松分布 256

10.5.2 六西格玛的基本工具 257

10.5.3 六西格玛的高级技术 260

10.6 五阶段方法DMAIC和DFSS 261

10.6.1 DMAIC 262

10.6.2 DFSS 263

10.6.3 IDDOV和PIDOV 264

10.7.1 TQM的实施步骤 265

10.7 全面质量管理在软件开发中实施 265

10.7.2 零缺陷软件的实践 267

10.7.3 六西格玛软件项目的实施 268

10.7.4 华为公司的TQM关键品质 269

10.8 世界质量组织和管理奖 270

10.8.1 我国质量管理奖 270

10.8.2 日本科学技术联盟和戴明质量奖 271

10.8.3 美国质量学会和鲍德里奇国家质量奖 272

10.8.4 欧洲质量组织和质量奖 274

小结 275

思考题 275

11.1 软件质量管理的组织介绍 276

11.1.1 基本的软件质量组织 276

第11章 SQA的组织活动 276

11.1.2 其他的软件质量组织 277

11.2 SQA组织结构和角色 278

11.2.1 SQA组织的建立 278

11.2.2 常用的组织结构模型 279

11.2.3 角色的分类和职能 281

11.2.4 各角色之间的关系 282

11.3 SQA组织的目标和责任 283

11.3.1 SQA计划 283

11.3.2 评审和审核 285

11.3.3 SQA报告 286

11.3.4 SQA度量 287

11.3.5 SQA评估任务 288

11.4.1 SQA人员的要求 289

11.4 SQA人员的要求和培养 289

11.4.2 SQA人员的培养和发展 290

11.5 员工的培训与认证 291

11.5.1 培训目标和过程 291

11.5.2 认证 292

11.5.3 六西格玛角色和职责 294

11.5.4 六西格玛培训 295

小结 297

思考题 297

第12章 软件质量计划 298

12.1 朱兰三部曲与质量策划 298

12.2.1 质量计划的目标和要素 300

12.2 软件质量计划 300

12.2.2 软件质量计划内容 301

12.2.3 软件质量计划的制订原则 303

12.2.4 制定质量计划的方法和规程 304

12.3 质量计划实例 305

12.3.1 小项目与内部项目的质量计划 305

12.3.2 大型项目的质量计划 306

12.4 质量计划实施体系 309

12.4.1 基础设施防护和组织关系 309

12.4.2 项目生命周期的质量活动 310

12.4.3 标准化、认证与SQA系统评估 311

小结 311

思考题 312

13.1 需求分析的概念 313

第13章 高质量的软件需求分析 313

13.1.1 软件系统的构建层次 314

13.1.2 软件需求工程过程 315

13.2 需求的获取与分析 316

13.2.1 需求获取 316

13.2.2 需求分析 319

13.2.3 需求的传递 322

13.3 需求分析建模 323

13.3.1 结构化分析建模 323

13.3.2 面向对象的分析建模 327

13.3.3 敏捷建模(agile modeling) 329

13.4 系统需求的质量保证 329

13.4.1 严格的需求评审 330

13.4.2 可控的需求变更——需求管理 332

小结 333

思考题 334

第14章 提高软件设计质量 335

14.1 软件设计 335

14.1.1 软件设计的目标 335

14.1.2 软件设计评价标准 336

14.1.3 软件设计原则 339

14.2 软件体系结构 341

14.2.1 体系结构的模型和视图 342

14.2.2 体系结构的分类 343

14.2.3 体系结构的设计 345

14.2.4 异步体系结构的选择 346

14.3.1 设计模式的分类 347

14.3 软件设计模式 347

14.3.2 MVC模式 350

14.3.3 设计模式的作用 352

14.3.4 通过UML改善功能设计 353

14.4 软件设计优化 354

14.4.1 模块设计和接口设计的要求 354

14.4.2 详细设计的要求 355

14.4.3 界面设计的要求 356

14.5 一些典型的系统设计 357

14.5.1 J2EE系统的设计 357

14.5.2 .Net系统的设计 359

14.6.1 数据层的需求和构建 361

14.6 数据库设计质量 361

14.6.2 数据字典 362

14.6.3 数据流设计 363

小结 363

思考题 364

第15章 高质量编程 365

15.1 代码风格 365

15.1.1 为什么要谈代码风格 365

15.1.2 Windows程序命名规则 366

15.1.3 GNU风格习惯 368

15.1.4 函数处理 369

15.2 编程规则 371

15.2.1 函数重载 371

15.2.2 代码重构 372

15.2.3 Java编程规则 373

15.2.4 C++编程规则 374

15.3 提高程序质量的技术 376

15.3.1 内存分配和管理 376

15.3.2 智能指针 379

15.3.3 提高程序性能的方法 382

15.4 代码审查 384

15.4.1 静态分析和代码审查的目的 384

15.4.2 代码走查 385

15.4.3 代码审查 385

15.5 单元测试 388

15.5.1 单元测试的重要性 388

15.5.2 单元测试方法 389

15.5.3 单元测试工具简介 390

小结 392

思考题 392

第16章 软件测试的质量 393

16.1 软件测试 393

16.1.1 软件测试和质量保证的关系 394

16.1.2 测试在软件开发各个阶段的任务 394

16.1.3 软件测试目标 395

16.2 测试的现实和原则 396

16.2.1 测试的现实 396

16.2.2 测试的原则 397

16.3 测试的方法应用之道 398

16.3.1 测试的三维构成 398

16.3.2 测试方法的辩证统一 400

16.3.3 验证和确认——缺一不可 403

16.3.4 测试用例设计方法的综合运用 404

16.3.5 测试工具的有效使用 407

16.3.6 开发高质量的测试脚本 409

16.4 测试目标实现的完整性和有效性 410

16.4.1 集成测试 410

16.4.2 功能测试和适用性测试 411

16.4.3 性能测试和容量测试 412

16.4.4 容错性测试和安全性测试 414

16.4.5 回归测试 415

16.4.6 安装测试 415

16.5 测试的过程评审和质量保证 416

16.5.1 测试计划的有效性和全面性 416

16.5.3 严格执行测试 418

16.5.2 测试用例的复审 418

16.5.4 准确报告软件缺陷 419

16.5.5 提高测试覆盖度 420

16.5.6 测试结果分析和质量报告 421

16.6 软件测试组织和管理 422

16.6.1 测试项目的管理原则 422

16.6.2 测试资源的合理分配 422

16.6.3 测试进度的控制 423

16.6.4 测试风险的管理 424

小结 425

思考题 426

17.1 软件发布程序管理 427

17.1.1 软件产品发布程序 427

第17章 软件发布和维护的质量管理 427

17.1.2 软件服务模式的产品发布程序 429

17.1.3 软件产品发布类型和版本 430

17.1.4 程序经理 432

17.2 软件部署 433

17.2.1 软件系统运行的基础架构平台 434

17.2.2 软件运行的服务质量 435

17.2.3 软件部署规划 438

17.2.4 软件部署的逻辑设计 441

17.2.5 软件部署的物理设计 445

17.2.6 软件部署的可用性和可伸缩性策略 447

17.2.7 软件部署的安全性设计和验证 452

17.2.8 软件部署验证和实施 453

17.3.1 软件维护的作用和分类 454

17.3 软件维护 454

17.3.2 软件维护的框架和计划 456

17.3.3 软件产品的维护质量 457

17.3.4 软件部署的维护质量 459

17.3.5 软件技术支持 459

17.3.6 软件维护的管理性控制 461

小结 462

思考题 462

附录A 软件质量术语中英文对照 463

附录B 计算机软件质量相关的国家和国际标准 470

附录C 全面质量管理纲要 472

附录D 计算机软件质量保证计划规范 477

附录E 评审检查表 482

参考文献 484