人月神话章节笔记(八,九,十,十一章)

第8章:胸有成竹

      1.Portman的数据

      2.Aron的数据

      3.Harr的数据

      4.OS/360的数据

      5.Corbato的数据

       第9章:削足适履

      1.规模控制中,应该制订驻留程序空间预算,制订总体规模的预算,制订后台存储访问的预算。并且在指明模块有多大的同时,确切定义模块的功能。

      2.项目规模本身很大,缺乏管理和沟通,以至于每个团队成员为了满足目标,每个人都在局部优化自己的程序,而缺乏对整体的考虑。在整个实现的过程期间,系统结构师必须保持持续的警觉,确保连贯的系统完整性。在这种监督机制之外,是实现人员自身的态度问题。培养开发人员从系统整体出发、面向用户的态度是软件编程管理人员最重要的职能。

      3.内存受限的后果是即使最细密的 功能模块,它的适应范围也难以得到推广。

      4.编程需要技术积累,需要开发很多公共单元构件。每个项目又能用与队列、搜索、散列和排序的例程或者宏库。对于每项功能,库至少应该有两个程序实现:运行速度较快和短小精炼的。

      5.数据的表现形式是编程的根本,良好的数据表现可以减少空间消耗。

第10章:提纲掣领

      在堆积如山的文件资料中,少数文档是关键枢纽,每一件项目管理的工作都围绕着它们运转。这些文档时项目经理最重要的个人工具。

第11章:未雨绸缪

      1.对于大多数项目,第一个开发的系统并不合用,所以预先计划抛弃原型的开发,为舍弃而开发是不二的选择。

      2.开发人员交付的是用户满意程度,而不仅仅是实际的产品。用户的实际需要和用户感觉会随着程序的构建、测试和使用而变化。

      3.不建议顾客目标和需求的所有变更必须、能够、或者应该整合到设计中。项目开始时建立的基准,肯定会随着开发的进行越来越高,甚至开发不出任何产品。

      4.把项目的不确定性减小到最小,需要细致的模块化、可扩展的函数、精确完整的模块间接口设计、完备的文档。另外,还可能会采用包括调用队列和表驱动的一些技术。

      5.程序维护中的一个基本问题是——缺陷修复总会以(20-50)%的机率引入新的bug。所以整个过程是前进两步,后退一步。

      6.理论上,在每次修复之后,必须重新运行先前所有的测试用例,从而确保系统不会以更隐蔽的方式被破坏。实际情况中,回归测试必须接近上述理想状况,所以它的成本非常高。

      7.系统软件开发是减少混乱度(减少熵)的过程,所以它本身是处于亚稳态的。软件维护是提高混乱度(增加熵)的过程,即使是最熟练的软件维护工作,也只是放缓了系统退化到非稳态的进程。

posted @ 2020-02-14 15:31  doublebest1  阅读(171)  评论(0编辑  收藏  举报