浅读人月神话(完)
admin
2024-05-22 16:37:00
0

读书笔记:今天翻书读完了人月神话,总的来说有些囫囵吞枣。在后半本书中,Brooks的表达中有更多的悲观主义色彩,软件是难以开发而且不存在银弹的,但追求稳定的质量,更高的效率以及可控的成本是项目经理是需要矢志不渝追求的目标,就像作者所说——人就是一切。持续学习,保持进取,共勉。

整体部分1. 精确定义产品细节有助于减少BUG产生
2. 自上而下的设计是保证系统完整性的一种实施方式
3. 重视对变更的控制以及定期变更
祸起萧墙1. 警惕微小的落后对进度带来的影响,这个微小的落后可能演变为灾难性偏离
2. 确定好的里程碑,不好的里程碑反而是团队的负担
3. 减少角色冲突和鼓励状态共享和猛地拉开地毯都是向老板告知地毯下污垢的办法
另外一面1. 作为程序文档的流程图意义不大
2. 把文档整合到源代码中,注意编码规范
没有银弹-软件工程中的根本和次要问题1. 复杂度、一致性、可变性、不可见性构成解决软件问题的根本困难
2. 从人员、编码方式、定义产品上依然有诸多方法可以取得稳定进步
再论《没有银弹》1. 解决软件构件根本困难的最佳方法是不进行任何开发,重用是一个解决问题的良好方法,但是仍需良好的设计和文档
2. 复杂性依然是软件行业最大的限制,我们可以在软件生产率上取得逐步的进展,而不是等待不大可能到来的突破
20 年后的人月神话1. 核心观点是概念完整性和结构师
2. 未雨绸缪当中为舍弃而计划是错误的!应当逐步舍弃和设计,而不是一次性完成替换。
3. 增量开发更贴近我们的开发过程

名词注解:

1. 祸起萧墙:“祸起萧墙”的原义是祸乱产生于家中,比喻灾祸、变乱皆由内部原因所致

2. 银弹:消灭狼人的工具,书中把“一种可以使软件成本像计算机硬件成本一样降低的方法”比作银弹。

摘录:

1. 里程碑的选择只有一个原则,那就是,里程碑必须是具体的、特定的、可度量的事件, 能够进行清晰定义。

2. 对计划和控制职能进行适度的技术人力投资是非常值得赞赏的。它对项目的贡献方式 和直接开发软件产品有很大的不同。计划和控制小组作为监督人员,明白地指出了不易察觉 的延迟,并强调关键的因素。他们是早期预警系统,防止项目以一次一天的方式落后一年。

3. 我认为相应的解决方案是“合并文件”,即把文档整合到源代码。这对正确维护是直接 有力的推动,保证编程用户能方便、即时地得到文档资料。这种程序被称为自文档化

4. 没有任何技术或管理上的进展,能够独立地许诺十年内使生产率、可靠性或简洁性获得数量级上的进步。

5. 我认为软件开发中困难的部分是规格化、设计和测试这些概念上的结构,而不是对概 念进行表达和对实现逼真程度进行验证。

6. 解决软件构建根本困难的最佳方法是不进行任何开发。软件包只是达到上述目标的方 法之一,另外的方法是程序重用。实际上,类的容易重用和通过继承方便地定制是面向对象 技术最吸引人的地方。

7. 软件工程的焦油坑在将来很长一段时间内会继续地使人们举步维艰,无法自拔。软件 系统可能是人类创造中最错综复杂的事物,只能期待人们在力所能及的或者刚刚超越力所能 及的范围内进行探索和尝试。这个复杂的行业需要:进行持续的发展;学习使用更大的要素 来开发;新工具的最佳使用;经论证的管理方法的最佳应用;良好判断的自由发挥;以及能 够使我们认识到自己不足和容易犯错的——上帝所赐予的谦卑。

相关内容

热门资讯

育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
编译原理陈火旺版第三章课后题答... 下面答案仅供参考! 1.编写一个对于 Pascal 源程序的预处理程序。该程序的作用是...
MacBookPro M2芯片... MacBookPro M2芯片下如何搭建React-Native环境目录软件下载环境配置 目录 写在...
Android studio ... 解决 Android studio 出现“The emulator process for AVD ...
pyflink学习笔记(六):... 在pyflink学习笔记(一)中简单介绍了table-sql的窗口函数,下面简单介绍下...
创建deployment 创建deployment服务编排-DeploymentDeployment工作负载均衡器介绍Depl...
gma 1.1.4 (2023... 新增   1、地图工具    a. 增加【GetWorldDEMDataSet】。提供了一套 GEO...
AI专业教您保姆级在暗影精灵8... 目录 一、Stable Diffusion介绍    二、Stable Diffusion环境搭建 ...
vue笔记 第一个Vue应用 Document{{content}}{{...
Unity自带类 --- Ti... 1.在Unity中,自己写的类(脚本)的名字不能与Unit...
托福口语21天——day5 发... 目录 一、连读纠音 二、语料输入+造句输出 三、真题 一、连读纠音 英语中的连读方式有好几种...
五、排序与分页 一、排序 1、语法 ORDER BY 字段 ASC | DESC ASC(ascen...
Linux系统中如何安装软件 文章目录一、rpm包安装方式步骤:二、deb包安装方式步骤:三、tar....
开荒手册4——Related ... 0 写在前面 最早读文献的时候,每每看到related work部分都会选择性的忽略&...
实验01:吃鸡蛋问题 1.实验目的: 通过实验理解算法的概念、算法的表示、算法的时间复杂度和空间复杂度分析&...
8个免费图片/照片压缩工具帮您... 继续查看一些最好的图像压缩工具,以提升用户体验和存储空间以及网站使用支持。 无数图像压...
Spring Cloud Al... 前言 本文小新为大家带来 Sentinel控制台规则配置 相关知识,具体内容包括流控...
多项目同时进行,如何做好进度管... 多项目同时进行,如何做好进度管理? 大多数时候,面对项目进...
ATTCK红队评估实战靶场(二... 前言 第二个靶机来喽,地址:vulunstack 环境配置 大喊一声我...
【MySQL基础】3—多表查询 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTr...