《代码大全》- 第三章 三思而后行

219 阅读2分钟

需求评审

  1. 在构建活动开始之前,准备工作要做周全
  2. 有一些程序员确实知道如何进行前期工作,但是他们并没有做,因为他们不能够抵抗尽快开始编码的欲望,只需要做几个大项目,你就能体会到,事先做好计划能避免很多压力,让自己的经验来引导你吧。
  3. 程序员不做准备工作的最后一个原因是管理者对那些花时间进行构建活动的前期准备的程序员的冷漠,已经到了人神共愤的程度。

整个需求的流程是:

  1. 需求到架构;
  2. 详细设计;
  3. 构建
  4. 质量保证和系统测试

如何去面对需求变更

  1. 首先确保每一个人都知道需求变更的代价
  2. 使用需求核对表来提供评估你的需求的质量
  3. 建立一套变更控制程序
  4. 使用能适应变更的开发方法
  5. 放弃这个项目
  6. 注意项目的商业案例

系统考虑

软件架构(softwarearchitecture)是软件设计的高层部分,是用于支撑更细节的设计的框架

架构指的是适用于整个系统范围的设计约束,而高层设计指的是适用于子系统层次或多个类层次上的设计约束(但不是整个系统范围的设计)。

架构的先决条件:架构是对整个系统范围的设计约束,决定了系统的概念完整性。离开了好的软件架构,你可能瞄准了正确的问题,却使用了错误的解决办法。

构建的典型组成部分:程序组织、主要的类、数据设计、业务规则、用户界面、资源管理、安全性、性能、可伸缩性、互用性、本地化 / 国际化、输入输出、错误处理(检测 or 纠正,主动 or 被动,如何传播错误,在哪一层次上处理错误)、容错性、架构的可行性、过度工程、关于“买”还是“造”的决策、复用的策略、变更策略、架构的总体质量(满足全部需求,过度架构,概念上一致,独立于机器和语言,说明了主要的决策和动机)。