人月神话--贵族专治、民主政治和系统设计
-
- 概念的完整性
- 主张在系统设计中,概念完整性应该是最重要的考虑因素。也就是说为了反映一系 列连贯的设计思路,宁可省略一些不规则的特性和改进,也不提倡独立和无法整合的系统, 哪怕它们其实包含着许多很好的设计。
- 获得概念完整性
- 由于目标是易用性,功能与理解上复杂程度的比值才是系统设计的最终测试标准。单 是功能本身或者易于使用都无法成为一个好的设计评判标准。
- 贵族统治和民主政治
- 概念的完整性要求设计必须由一个人,或者非常少数互有默契的人员来实现。而进度压力却要求很多人员来开发系统。
- 第一种是仔 细地区分设计方法和具体实现。
- 第二种是一种崭新的组建编程开发团 队的方法。
- 对于非常大型的项目,将设计方法、体系结构方面的工作与具体实现相分离是获得概 念完整性的强有力方法。
- 系统的结构师,如同建筑的结构师一样,是用户的代理人。结构师的工作,是 运用专业技术知识来支持用户的真正利益,而不是维护销售人员所鼓吹的利益。
- 新的概念经常来 自实现者或者用户。
- 系统的概念完整 性决定了使用的容易程度。不能与系统基本概念进行整合的良好想法和特色,最好放到一边, 不予考虑。
- 产品的成本性能比很 大程度上依靠实现人员,就如同易用性很大程度上依赖结构师一样。
- 外部的体系结构规定实际上是增强,而不是限制实现小组的创造性。 一旦他们将注意力集中在没有人解决过的问题上,创意就开始奔涌而出。
- 在等待时,实现人员应该做什么
- 概念完整性的缺乏导致系统开发和 修改上要付出更昂贵的代价
- 但决定性因素是时间进度和让编程人 员进行工作的愿望
- 整个创造性活动包括了三个独立的阶段:体系结构 (architectu re )、设计实现(implementation)、物理实现(realization )。在实际情况中, 它们往往可以同时开始和并发地进行。
- 在外部说明完成之前,设计实现人员有很 多的事情可以做。只要有一些最终将并入外部说明的系统功能雏形,他就可以开始了。首先, 必须设定良好定义的时间和空间目标,了解产品运行的平台配置。接着,他可以开始设计模 块的边界、表结构、算法以及所有的工具。另外,还需要花费一些时间和体系结构师沟通。
- 概念的完整性的确要求系统只反映唯一的设计理念,用户所见的技术说明来自少数人 的思想。实际工作被划分成体系结构、设计实现和物理实现,但这并不意味着该开发模式下 的系统需要更长的时间来创建。经验显示恰恰相反,整个系统将会开发得更快,所需要的测 试时间将更少。同工作的水平分割相比,垂直划分从根本上大大减少了劳动量,结果是使交 流彻底地简化,概念完整性得到大幅提高。
blog comments powered by Disqus