软件工程比巴波的小柜@产品

《人月神话》读书笔记③:项目控制

2018-02-09  本文已影响17人  luna比巴波

九、适当控制:削足适履Ten Pounds in a Five-Pound Sack

·规模本身不是坏事,但不必要的规模是不可取的

·应该制定总体规模预算,且时刻清醒

·在指明模块有多大的同时,确切定义模块的功能

·架构师必须保持警觉,确保连贯的系统完整性

·数据的表现形式是编程的根本

十、文档资料:提纲挈领The Documentary Hypothesis

·关键文档:目标、技术说明、进度表、预算、组织结构图、工作空间的分配

·报价、预测、价格,这三个因素互相牵制,决定了项目的成败

·软件项目的文档:目标、内容(产品技术说明)、时间(进度)、资金预算、地点(工作空间分配)、人员(组织图)

·正式的文档一是确定正确的信息、二是作为沟通渠道

十一、未雨绸缪Plan to Thorow One Away

·一旦意识到自己的系统出现了非常大的问题,无论再艰难,也必须舍弃

·唯一不变的就是变化本身

·程序维护的一个基本问题:缺陷修复总是以固定(20%-50%)的几率引入新的bug

·更新时总是前进两步、后退一步;更少的设计人员、更少的接口才能产生更少的错误

·熵的增加是自发过程(这一点应该不用解释了吧),而自发过程就是趋向于稳定的过程:系统软件开发是减少混乱度(减少熵)的过程,所以它本身处于亚稳态;软件维护是提高混乱度(增加熵)的过程,只是放缓了系统退化到非稳态的过程。

十二、改善工具:干将莫邪Sharp Tools

·项目经理必须考虑的工具:计算机设施(硬件&安排策略)、操作系统、语言(定义清晰的语言使用方针)、使用程序、调试辅助程序、测试用例生成工具和处理文档的字处理系统。

·目标机器:软件所服务的对象,程序必须在该机器上进行最后测试

·方针装置:提供可靠的调试平台

·编译器和汇编软件

·程序库与管理:必须受控;且开发库与集成、发布可正式分离

·交互式编程:多个级别上数据和程序的共享和保护,可延伸的库管理,用于终端用户之间协作的设施(生产率至少是之前的2倍)

十三、整体与部分The Whole and the Parts

·剔除bug的设计:开始编程前一定要详细检查测试规格说明的完整性和明确性

·自上而下设计、结构化编程

·构件单元调试:本机调试、内存转储、快照、交互式调试、测试用例

·系统集成调试:使用经过调试的构件单元、搭建测试平台(可以使用伪构件,或微缩文件)、控制变更(控制各个构件单元的变更或版本之间的替换)、一次添加一个构件(拒绝一次添加多个的诱惑!)、阶段(量子)化、定期变更


以上内容为《人月神话》(作者:[美]小弗雷德里克·布鲁克斯)的第9-13章读书笔记及部分摘要,本人加入一定量自己的理解;因水平有限,欢迎大家交流指正,谢谢~

另:《人月神话》是比较偏技术侧的书籍,翻译过来有点佶屈聱牙,我这里更多只是列了提纲,希望大家有机会还是自己去看、可以有更多收获~

上一篇下一篇

猜你喜欢

热点阅读