博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
人月神话读后感
阅读量:5824 次
发布时间:2019-06-18

本文共 1554 字,大约阅读时间需要 5 分钟。

人月神话读后感

1. 焦油坑

编程系统产品的成本数倍于编程本身;编程这样一个行业给人以创造、动手与控制的乐趣,但是,对沟通的依赖、对完美的追求也是编程所令人苦恼的一面。

2 人月神话

“一切都将运转良好”在软件工程中是不适用的;完成工作的人数与时间是不能进行简单的互换的,因为沟通需要额外的成本;Brook法则:向进度落后的项目中添加人手,只会使进度更加落后。

3 外科手术队伍

程序员在生产率上甚至可以达到数量级的差异;专业的、分工良好的小规模团队的生产率更高,在这种架构下,决策的集中性也保证了概念的一致性。

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

概念的完整性最应该被重视,它带来产品的简洁和易懂;因此,系统的体系结构设计应由少数人来完成,即系统设计师专制;但系统设计师应该严守底线,避免干涉外部特征之外的实现细节。

5 画蛇添足

在第一版设计中,设计师往往能保证精炼简洁;但在第二版设计时,画蛇添足是常见的问题,设计师容易被诱惑着开发过多的功能,这是应该被避免的。

6 贯彻执行

对产品的文档化规格说明是必要的,它应该用清楚的形式化定义表达;开发人员之间应该定期有不同层次(大会、组例会、电话)的交流,并对交流进行记录、整理和思考;开发人员应坚守手册,尤其在有多重实现时;大型项目中的测试小组对确保用户体验十分重要。

7 为什么巴别塔会失败

巴别塔有着清晰的目标、充足的人力、材料、技术和时间,但是巴别塔的建造人员缺乏沟通;大型软件工程应有不同层次的沟通,并用项目工作手册规定定义接口与划分以减少交流所需的工作量;软件工程的组织结构应采取树形结构,以保证有效的沟通。

8 胸有成竹

本章将对生产率的估计,工作量 = 常数×指令数目1.5,本章还总结了一些软件工程中一些对生产率进行估计的技术。

9 削足适履

程序空间也是与时间一样的成本,程序规模应该为预算所控制;空间与时间可以进行一定的折中,但好的数据处理方式是可以在两方面同时进行优化的。

10 提纲挈领

软件项目经理应该编写一系列关键的文档,它们反映了对目标、技术特征、进度、预算和组织结构的管理;它们不仅仅是检查列表和控制手段,它也是沟通渠道和汇报材料。

11 未雨绸缪

第一次开发的系统应该准备好要抛弃,因为变化不可避免,要对此计划好系统与组织架构的变化;缺陷修复会引入新的BUG,而且到了最后必然会不能再进行改进。

Chap.12 干将莫邪

工具的安排:软件将最终在之上运行的目标机和开发辅助机,目标机应该被规划使用,辅助机上应该运行可靠的仿真器、解释器和程序库文档。

13 整体部分

概念完整性与产品精确定义是关键的;结构化编程是必要的;构件应该进行单独的测试,之后再进行集成测试;修改时应控制变更规模。

14 祸起萧墙

里程碑应该明确定义以防止产生隐瞒;使用PERT图指示对进取的需要;老板不应与一线经理产生角色冲突,而应使用能了解状态真相的评审机制,计划和控制小组在这一过程中很有价值。

15 另外一面

用户需要文档来帮助他们使用(目的、环境、IO范围、功能算法、指令、选项、运行时间和精度检验)、验证和修改程序;流程图的使用与维护都很麻烦,已经过时;自文档化技术是一种非常有效的解决方案。

16 没有银弹

软件开发所不可规避的困难在于复杂度、一致性、可变性和不可见性;尽管高级语言、分时系统、IDE在编码过程中帮了程序员的大忙,但他们无助于解决内在困难;高级编程语言、面向对象技术、人工智能、专家系统、自动编程、图形化编程和更快的工作站都无助于问题的根本部分;有希望缓解根本问题的是:购买软件、快速原型技术、增量开发和卓越的设计人员

转载于:https://www.cnblogs.com/bingoing/p/4307461.html

你可能感兴趣的文章
DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾
查看>>
iOS 解决UITabelView刷新闪动
查看>>
CentOS 7 装vim遇到的问题和解决方法
查看>>
JavaScript基础教程1-20160612
查看>>
ios xmpp demo
查看>>
python matplotlib 中文显示参数设置
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>
通过容器编排和服务网格来改进Java微服务的可测性
查看>>
re:Invent解读:没想到你是这样的AWS
查看>>
PyTips 0x02 - Python 中的函数式编程
查看>>
使用《Deep Image Prior》来做图像复原
查看>>
Linux基础命令---rmdir
查看>>
Android图片添加水印图片并把图片保存到文件存储
查看>>
BigDecimal 舍入模式(Rounding mode)介绍
查看>>
开源 免费 java CMS - FreeCMS1.2-标签 infoSign
查看>>
Squid 反向代理服务器配置
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
灰度图像和彩色图像
查看>>