04 详细设计检查表
- 格式:docx
- 大小:23.95 KB
- 文档页数:2
《代码大全》——详细设计检查表
刘宏
2017-03-08
十多年前,为了很好构建代码,拜读了这方面的主要书籍《代码大全》,从中获得不少
收获。本文将个人认为较为重要使用的内容整理出来,期望对各位同事能够有所启发。
在《代码大全》中给出的检查表是具有较高的参考价值。
本文主要是详细设计检查表内容。
模块的质量
模块是否有一个中心目的?
模块是否是围绕着一组公用数据进行组织的?
模块是否提供了一套相互联系的功能?
模块功能是否足够完备,从而使得其它模块不必干预其内部数据?
一个模块相对其它模块是否是独立的?它们之间是松散耦合的吗?
一个模块的实现细节,对其它模块来说,是隐含的吗?
模块的接口是否抽象到了不必关心其功能实现方式的地步?它是作为一个黑盒子来
设计的吗?
是否考虑过把模块再划分为单元模块?是否对其进行了充分的再划分工作?
如果用不完全支持模块的语言编程,你是否制定了编程约定以使这种语言支持模块?
高层次设计
是否使用了往返设计方法,应从几个方案中选择最好的,而不是首次尝试就确定方案。
每个子程序的设计是否都和与其相关的子程序设计一致?
设计中是否对在结构设计层次上发现但并未解决的问题作了充分说明?
是否对把程序分解成目标或模块的方法感到满意?
是否对把模块分解成子程序的方法感到满意?
是否明确定义了子程序的边界?
是否是按照相互作用最小的原则定义子程序的?
设计是否充分利用了自顶向下和自底向上法?
设计是否对问题域要素、用户接口要素、任务管理要素和数据管理要素进行了区分?
设计是智力上可管理的吗?
设计是低复杂性吗?
程序是很容易维护的吗?
设计是否将子程序之间的联系保持在最低限度?
设计是否为将来程序可能扩展作了准备?
子程序是否是设计成可以在其它系统中再使用的?
低层次子程序是高扇入的吗?
是否绝大多数子程序都是低或中等程度扇出的?
设计易于移植到其它环境吗?
设计是简练的吗?是不是所有部分都是必要的?
设计是成层的吗?
设计中是否尽量采用了标准化技术以避免奇特的、难以理解的要素?