《软件开发的201个原则》(201 Principles of software development)

作者:Alan M. Davis,Offtoa 公司联合创始人兼首席执行官(2012年开始);曾任Omni-Vista 公司的联合创始人、董事长兼首席执行官,Requisite 公司的董事会创始成员,BTG 公司副总裁。

从项目管理十大领域及其他涉及领域进行分类记录:

p-guide

* 书中划分维度/章节

引言

p-1.jpg

(第二章)一般原则

对应原则1~37。

(第三章)需求工程原则

对应原则38~60。

需求工程包括以下活动:

  • 1.提出或研究需要解决的问题;
  • 2.具体说明一个能解决该问题的系统外部(黑盒)行为。

需求工程的最终产出是需求规格说明书(Requirement Specification)。

(第四章)设计原则

对应原则61~86。

设计包括以下活动:

  • 1.定义满足需求的软件架构(architecture);
  • 2.具体说明架构中的各个软件组件的算法。

架构包括:软件中所有模块的定义,它们之间如何提供接口,它们之间如何组装,组件的拷贝如何实例化和销毁。

设计的最终产出是设计规格说明书(Design Specification)。

(第五章)编码原则

对应原则87~106。

编码是包含以下行为的集合:

  • 1.将设计阶段确定的算法转换为用计算机语言编写的程序;
  • 2.将程序(通常是自动化的)转换为可被计算机直接执行的语言。

编码的主要输出结果就是程序清单。

(第六章)测试原则

对应原则107~126。

测试是包含以下行为的集合:

  • 1.对独立的软件组件执行测试(即单元测试,Unit Testing),以确保其行为与组件设计规格说明中的定义足够接近;
  • 2.对执行过单元测试的组件集合执行测试(即集成测试,Integration Testing),以确保这些组件一起工作时的行为足够接近设计规格说明中的定义;
  • 3.对集成测试过的所有组件进行测试(即软件系统级测试,Software Systems-level Testing),以确保它们可以作为一个系统来运行,且行为足够接近软件需求规格说明中的定义;
  • 4.制订软件系统级测试的测试计划;
  • 5.制订软件集成测试的测试计划;
  • 6.制订单元测试的测试计划;
  • 7.建立测试装置(test hamess)和测试环境(test environment)。

(第七章)管理原则

对应原则127~172。

管理是围绕软件开发的所有工程活动,是进行计划(plan)、控制(control)、监视(monitor)和报告(report)的一组活动。

(第八章)产品保证原则

对应原则173~184。

产品保证是通过使用分权制衡(checks and balances)来确保软件质量的一系列活动。产品保证通常包括如下几项:

  • 1.软件配置管理(Software configuration management):是管理软件变更的过程;
  • 2.软件质量保证(Software quality assurance):是检查所有做法和产品是否符合既定流程和标准的过程;
  • 3.软件验证和确认(Software verification and validation):这个过程用于验证(verify)每个中间产品是否正确地建立在以前的中间产品的基础上,以及确认(validate)每个中间产品是否适当地满足客户的要求;
  • 4.测试(Testing)。

(第九章)演变原则

对应原则185~201。

演变是与修改软件产品相关的一系列工作。用于:

  • 1.满足新功能;
  • 2.更有效地运行;
  • 3.正常运行(当检测到原始产品中的错误时)。

书籍