首页 > 其他分享 >读书笔记02

读书笔记02

时间:2023-04-28 22:44:22浏览次数:34  
标签:02 经验 读书笔记 系统 开发 团队 OS 360

这本书讲述了几十年前软件专案管理问题与经验,作者将大型系统开发比作一个焦油坑,我原本以为软件开发还是比较容易的,有了新想法,就会有新的软件产品出现,但是却不知道项目不能满足目标、进度、预算的要求,就不能成为一个好项目。

程序,通过不同的途径转变成不同的产物,使之变得更有用,成本更高。但是只有变成系统产品才成为真正有用的产品。

编程不是人越多越好,人与时间不成正比。人越多,所需的时间不一定越少;人少,项目完成时间不一定越长。在外科手术这一章节中提到,在接受相同的训练、同样都是两年资历的情况下,优秀专业程序员的生产力要比差劲的程序员好上十倍。使用少数优秀的人员的团队是最棒的——尽可能用最少的人。两人团队,其中一人当领导者,这通常是最佳的用人方式。以少数优秀人员的团队开发真正大的系统就太慢了。绝大多数大型软件系统的经验显示,使用一堆人蛮干的方式最耗成本、最慢、最没有效率,做出来的系统在概念上也最不完整。 

作者主张概念完整性在系统设计中是最重要的考虑因素,他以OS/360系统的开发证明了自己的观点。完整的概念使得系统设计过程更加有条理,分工更加明确,对系统的各部分设计更加明确,再出现错误时更加容易的去改正。

书中讲到了开发第二个系统所带来的后果,在开发第一个系统时结构师倾向于精炼和简洁,他会仔细谨慎地工作。第二个系统是设计师们所设计最危险的系统。曾在第一次系统中被小心谨慎地放在次要位置的向系统中添加很多修饰功能和想法将会泛滥。OS/360的设计小组成员来自1410-7010磁盘操作系统、Stretch操作系统、Mercury实时系统项目和7090的IBSYS,几乎没有人有两次以上的操作系统经验,OS/360是典型的开发第二次所引起的后果。结构师无法跳过第二次系统,但他可以有意识的关注这个系统的特殊危险,运用自我约束规则避免功能上的过于修饰,根据系统基本理念及目的变更,舍弃一些功能。这些对于每一个软件学习者都是很受用的。

“经验是最好的老师”、”经验是最好的老师,但智者还能从其他的地方有所收获“,经验固然最好,但是除了经验,我们还要学还从其他方面获取知识。

在这本书中,虽然讲述了很多案例,但都离不开团队、人和沟通。无论任何事情,人的重要性,人之间的沟通都是不可缺少的。在软件开发中,对于大型的软件工程项目仍然强调了人的重要性。作者在开篇就在讲开发人员的职业乐趣(自己选择软件工程的原因也是喜欢编出程序的乐趣),后面又通过巴比伦塔讲沟通的重要性,又在外科手术队伍中讲团队的组建和分工。这些都涉及到了团队中的人和交互,只有一个有了积极心态和热情的沟通团队,才可能成就一个伟大的团队。最后的没有银弹再次肯定了开发工作是一种高智力的脑力工作。

我认为《人月神话》这本书十分适合软件程序设计者,虽然他简述了许多几十年前的事,但对于现在,仍具有教育意义,它使我们提前意识到软件开发过程中的一些弊端。

标签:02,经验,读书笔记,系统,开发,团队,OS,360
From: https://www.cnblogs.com/zbw-m/p/17363324.html

相关文章

  • 总结20230428
    代码时间(包括上课):1h代码量(行):30行博客数量(篇):1篇相关事项:1、今天上午第一节课是计算机网络,开启了运输层的新篇章。2、今天上午第二节是概率论,讲的是概率论的方差、协方差、相关系数等知识。3、今天晚上打算在学一点Javaweb的知识。......
  • 2023冲刺清北营8
    T1内鬼由于两名内鬼的行动互不干扰,因此可以单独求解后暴力合并。很容易想到一种dp做法,设\(f_{i,S}\)表示当前位于第\(i\)个点,当前刀掉的人组成的集合为\(S\)时的最短时间,转移时考虑通过一条边或留在此处继续刀人,很容易使用Dijikstra进行转移,然而……它TLE了……考......
  • 四月读书笔记二
    程序员几乎仅仅工作在单纯的思考中,程序员凭空运用自己的想象,来建造自己的“城堡”。很少有这样的介质——创造的方式如此灵活,如此得益于精炼和重建,如此得容易实现概念上的设想。这句话是《人月神话》中我比较喜欢的一句话。所谓焦油坑,就是由于如同诗人一般的程序员们不断的将工作......
  • 构建之法读书笔记-4月
    《构建之法》是一本由丹尼尔·布鲁斯坦所著的研究人类思维方式的书籍。它探讨了构建和创新的过程,以及我们如何利用这些过程来改善我们的生活和工作。在全书中,布鲁斯坦提出了一种三个阶段的构建模型,分别是发现、抽象和建立。他指出这三个阶段不仅是构建过程的必要步骤,而且在任何......
  • 每日总结2023-04-28
    今天完成了ANdroid中的找回密码packagecom.example.math;/**找回界面*/importstaticandroid.widget.Toast.LENGTH_SHORT;importandroidx.appcompat.app.AppCompatActivity;importandroid.os.Bundle;importandroid.os.Handler;importandroid.view.View;import......
  • 《代码大全》读书笔记3
    第七章是《代码大全》中关于代码优化的章节,对于软件工程师来说,良好的代码优化技能是非常重要的。在这一章中,作者详细介绍了如何进行代码优化,包括性能调整、空间利用、算法和数据结构的优化等方面的内容。通过阅读这一章,我深刻地认识到了代码优化的重要性,并学习了许多实用的技巧和......
  • 023 指针数组和数组指针
     /*一:原理二:指针数组三:数组指针*/ 一:原理定义变量:intnum=1;1组合:符号+名称(1)符号:数据类型(2)名称:要操作的数据类型(3)符号为名称所服务的。2优先:(1)默认优先级(2)离符号近(从......
  • 2023 4 28
     ......
  • 2023-04-28:将一个给定字符串 s 根据给定的行数 numRows 以从上往下、从左到右进行 Z
    2023-04-28:将一个给定字符串s根据给定的行数numRows以从上往下、从左到右进行Z字形排列比如输入字符串为"PAYPALISHIRING"行数为3时,排列如下PAHNAPLSIIGYIR之后,你的输出需要从左往右逐行读取,产生出一个新的字符串"PAHNAPLSIIGYIR"请你实现......
  • 《大话数据结构》读书笔记 附PDF #C3
    刚刚读完了《大话数据结构》,这本书真的是一本不错的入门级别的数据结构和算法的教材。首先,作者通过幽默的语言和丰富的图示,使得枯燥的数据结构与算法变得生动有趣。在阅读过程中,我感受到了作者对于知识点深入浅出的讲解,即使是像我这样初学者也能够轻松理解。其次,书中的配套练习......