《人月神话》笔记:贵族专制、民主政治和系统设计

来源:互联网 发布:软件著作权证书查询 编辑:程序博客网 时间:2024/04/29 14:26
布鲁克斯“主张在系统设计中,概念完整性应该是最重要的考虑因素。也就是说为了反映一系列连贯的设计思路,宁可省略一些不规则的特性和改进,也不提倡独立和无法整合的系统,哪怕它们其实包含着许多很好的设计。”

(一)概念的完整性
编程系统(软件)的目的是使计算机更加容易使用。
由于目标是易用性(simplicity),功能与理解上复杂程度的比值才是系统设计的最终测试标准。但是功能本身(强大)或者(理解上)简洁都无法成为一个好的设计评判准则。
对于给定级别的功能,能用最简洁和直接的方式来指明事情的系统是最好的。只有简洁是不够的(我们还需要直白)。
简洁和直白来自概念的完整性。每个部分必须反映相同的原理、需求的一致平衡。在语法上,每个部分应使用相同的技巧;在语意上,每个部分应使用同样的相似性。因此,易用性,实际上需要设计的一致性和概念的完整性。

(二)如何获得概念的完整性?
概念的完整性要求设计必须由一个人,或者非常少数互有默契的人员来实现。
对于非常大型的项目,将设计方法、体系结构方面的工作与具体实现相分离是获得概念完整性的强有力方法。体系结构同实现必须仔细区分开来。如同Blaauw所说的“体系结构陈述的是发生了什么,而实现描述的是如何实现。”
布鲁克斯确信“系统的概念完整性决定了其使用的容易程度”,不能与系统基本概念进行整合的良好想法和特色,最好放到一边,不予考虑。如果出现了很多非常重要但不兼容的构想,就应该抛弃原来的设计,对不同基本概念进行合并,在合并后的系统上重新开始。


原创粉丝点击