《人月神话》(P13)整体和部分

2018-11-07  本文已影响18人  fourn熊能

前言

剔除bug的设计

体系设计评审

自上而下的设计

自上而下的设计从几个方面避免了bug:

  1. 清晰的结构和表达方式更容易对需求和模块功能进行精细地描述
  2. 模块分割和模块独立性避免了系统级别的bug
  3. 细节的抑制使结构上的缺陷更加容易识别
  4. 设计在每个精细化步骤上都是可以测试的

有时必须回退,推翻顶层设计,重新开始。一些糟糕的系统往往就是试图挽救一个基础很差的设计,而对它添加了各种便面装饰般的补丁。自上而下的设计让我们更加容易判断什么时候应该选择抛弃。

结构化编程

将系统结构作为控制结构来考虑,而不是独立的分支语句(GO TO跳转)。这种思考方法是程序设计发展史上向前迈进的一大步。

构建单元测试

(不再具有参考性)

系统集成测试

以上就是《人月神话》第13章——整体部分的所有内容

在本章中作者强调了整体设计以及测试的重要性,自上而下的设计是保证“概念完整性”的一种具体实施方式。

书中描述开发流程是这样的:
需求描述-》体系设计-》评审-》精细化设计-》编码-》构件测试-》集成测试-》发布

实际的流程多数是这样的:
需求描述-》平面设计-》评审-》编码-》精细化设计-》编码-》集成测试-》发布

实际流程的合理性在于:

  1. 设计图比体系设计更加直观,更容易被人接受
  2. 有经验的开发者可以在编码过程中进行细化,节省开发时间
  3. 大部分项目达不到构建测试的条件,或是底层不支持或是功能简单

不合理的地方在于:

  1. 仅通过设计图隐含的问题不容易被察觉
  2. 平面设计师对于系统的理解可能会存在偏差
  3. 缺乏顶层设计容易导致项目开发过程中出现完整性方面的重大问题

我本身是一直坚持在做自上而下的体系设计的,但流程似乎并不是特别大的问题,只要关注好概念完整性,流程是灵活的。

所以,什么才是真正规范的流程?规范流程所带来的开发收益能有多大?在有合理进度安排的情况下,真正导致项目延期或者失败的原因究竟是什么?

这些问题可能得等到下一章或着读完整本书才能回答了。

上一篇 下一篇

猜你喜欢

热点阅读