《人月神话》——读后感4

发布时间 2023-04-26 18:58:09作者: sodamate

过去是怎么做的:

  对于某个项目的开展,我常常是先等待其他工作组员先完成某项任务,我再开始我的任务。

为什么这样不好:

  浪费很多时间,使项目进度缓慢。

解决办法:

  在小组成员进行其他工作时,可以考虑哪些任务是可以同时进行的。就此些任务开展我自己的工作。

具体读后感:

贵族专制、民主政治和系统设计:

概念一致性:

为了反应一系列连贯的设计思路,宁可省略一些不规则的特性和改进,也不提倡独立和无法整合的系统,哪怕它们其实包含着许多很好的设计。

如何得到概念的完整性?

这样的观点是否要有一位杰出的精英,或者说是结构设计师的贵族专制,和一群创造性天分和构思被压制的平民编程实现人员?

如何避免结构设计师产出无法实现、或者是代价高昂的技术规格说明,使大家陷入困境?

如何才能与实现人员就技术说明的琐碎细节充分沟通,以确保设计被正确地理解,并精确地整合到产品中?

获得概念的完整性:

要表达一件待完成的事情,常常需要对基本元素进行意料不到的复杂组合。而且,仅仅了解基本要素和组合规则还不够,还需要学习晦涩的用法,以及在实际工作中如何进行组合。简洁和直白来自概念的完整性。每个部分必须反映相同的原理、原则和一致的折衷机制。在语法上,每个部分应使用相同的技巧;在语义上,应具有同样的相似性。因此,易用性实际上需要设计的一致性和概念上的完整性。

贵族专制统治和民主政治:

对于非常大型的项目,将设计方法、体系结构方面的工作与具体实现相分离是获得概念完整性的强有力方法。

系统的体系结构(architecture)指的是完整和详细的用户接口说明。

在等待时,实现人员应该做什么?

整个创造性活动包括了三个独立的阶段:体系结构(architecture)、设计实现(implementation)、物理实现(realization)。在实际情况中,它们往往可以同时开始和并发地进行。

首先,必须设定良好定义的时间和空间目标,了解产品运行的平台配置。接着,他可以开始设计模块的边界、表结构、算法以及所有的工具。另外,还需要花费一些时间和体系结构师沟通。同时,在物理实现的级别,也有很多可以着手的工作。编程也是一项技术,如果是新型的机器,则在库的调整、系统管理以及搜索和排序算法上,有许多事情需要处理。