首页 > 其他分享 >《人月神话》读后感

《人月神话》读后感

时间:2023-11-30 23:33:05浏览次数:17  
标签:读后感 神话 编程 乐趣 文档 进度 软件

在软件领域中,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks 博士为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践,影响着一代又一代

通过再次阅读《人月神话》,我从中学到了一些东西:

首先,开发一个项目,我们错误的认为用人月这个工作量单位来估计和进行进度安排。成本的确随开发产品的人数和时间的不同,有着很大的变化,进度却不是如此。因此我认为用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话。 它暗示着人员数量和时间是可以相互替换的。人数和时间的互换仅仅适用于以下情况:某个任务可以分解给参与人员,并且他们之间不需要相互的交流,而在系统编程中近乎不可能。当任务由于次序上的限制不能分解时,人手的添加对进度没有帮助。调试、测试的次序特性,许多软件都具有这种特征。因为软件开发本质上是一项系统工作——错综复杂关系下的一种实践——沟通、交流的工作量非常大,它很快会消耗任务分解所节省下来的个人时间。从而,添加更多的人手,实际上是延长了,而不是缩短了时间进度。

对于编程,有其乐趣和苦恼。创建事物的快乐 ,开发对其他人有用的东西的乐趣 ,将可以活动、相互啮合的零部件组装成类似迷宫的东西,这个过程所体现出令人神魂颠倒的魅力 ,面对不重复的任务,不间断学习的乐趣 ,工作在如此易于驾驭的介质上的乐趣——纯粹的思维活动,其存在、移动和运转方式完全不同于实际物体。将做事方式调整到追求完美,是学习编程的最困难部分;由其他人来设定目标,并且必须依靠自己无法控制的事物(特别是程序);权威不等同于责任实际情况看起来要比这一点好一些;真正的权威来自于每次任务的完成任何创造性活动都伴随着枯燥艰苦的劳动,编程也不例外 人们通常期望项目在接近结束时,(bug、工作时间)能收敛得快一些,然而软件项目的情况却是越接近完成,收敛得越慢产品在即将完成时总面临着陈旧过时的威胁。

开发一个软件,我们要有合理的时间进度,开发人员要少而精,概念完整性必须考虑在内,要尽量做到尽早交流和持续沟通。

同时,文档形成了关键的枢纽,每个项目管理的工作都围绕着它们运转,它们是经理们的主要个人工具。对于计算机硬件开发项目,关键文档是目标、手册、进度、预算、组织机构图、空间分配、以及机器本身的报价、预测和价格;对于大学科系,关键文档类似:目标、课程描述、学位要求、研究报告、课程表和课程的安排、预算、教室分配、教师和研究生助手的分配;对于软件项目,要求是相同的:目标、用户手册、内部文档、进度、预算、组织机构图和工作空间分配。即使是一个小型项目,我们都会要求书写相关文档,对每个关键文档的维护提供了状态监督和预警机制并且本身就可以作为检查列表或者数据库。

良好的工作手册和组织架构可以开发出更加符合用户的需求。手册、或者书面规格说明,是一个非常必要的工具,尽管光有文档是不够的。手册是产品的外部规格说明,它描述和规

定了用户所见的每一个细节;同样的,它也是结构师主要的工作产物。

形式化定义是精确的,它们倾向于更加完整;差异得更加明显,可以更快地完成。但是形式化定义的缺点是不易理解。记叙性文字则可以显示结构性的原则,描述阶段上或层次上的结构,以及提供例子。它可以很容易地表达异常和强调对比的关系,最重要的是,它可以解释原因。在表达的精确和简明性上, 目前所提出的形式化定义, 具有了令人惊异的效果, 增强了我们进行准确表达的信心

标签:读后感,神话,编程,乐趣,文档,进度,软件
From: https://www.cnblogs.com/liyiyang/p/17868690.html

相关文章

  • 《代码简洁之道》读后感三
    后半部分更深入地探讨了良好设计的重要性。书中提及的单一职责原则、开闭原则等设计原则,对于构建灵活、可扩展、易维护的系统至关重要。通过这些设计原则,能够更好地组织代码、减少耦合,使得代码更易于理解和修改。代码演化与重构:书中强调了代码是随着时间演化的,并提出了重构的概......
  • 代码大全2 读后感2
    "代码大全2"是由SteveMcConnell编写的一本软件开发经典著作,全书涵盖了软件开发的方方面面。以下是《代码大全2》第一章的主要内容摘要:第一章:软件构建的脉络1.软件危机:介绍了软件危机的概念,即在软件开发中出现的一系列问题,包括进度滞后、质量不佳、成本超支等。2.软件危机的原因......
  • 代码大全2 读后感1
    《代码大全2》是由美国软件工程师SteveMcConnell所著的一本软件开发经典著作。这本书的全名是《CodeComplete2:APracticalHandbookofSoftwareConstruction》。第一版于1993年出版,而第二版则于2004年问世。以下是《代码大全2》的主要内容和特点:1.全面的软件构建指南:《代......
  • 第七周阅读笔记|人月神话————提纲挈领
    所谓提纲挈领,从字面上讲就是抓住渔网的总绳,提起衣服的领子,其含义(度娘说要用含义而不推荐用涵义)就是告诉我们做事情要能够抓住要领。那么本篇告诉我们什么是要领呢,就是书面文档,从一开始就要意识到其重要性,那么就不会对文档产生厌烦。因为作为技术人员来说,包括我,普遍对文档没有好感,......
  • 软件工程读后感7-代码阅读方法与实践1
    最近,我阅读了代码阅读方法与实践的一部分。有时,阅读代码是一件不得不去做的事。有些时候,阅读代码也许是为了了解程序是如何工作的。您阅读代码可能是将代码作为一种文献。每种原因的代码阅读都有自己的一套技术,强调不同方面的技能。过去,我对于为什么以及如何阅读代码的理解不够深......
  • 《程序员修炼之道——从小工到专家》读后感6
    我们编写易于测试的代码,,为测试而设计。在调试过程中,我们可以临时创建一些特定测试,在调试会话的最后,需要使即兴测试正式化。如果代码曾经出过问题,他很可能还会再出问题,不要把创建的测试随便扔掉,把它加到已有的单元测试中。测试自己的软件,否则用户就得测试。不要使用自己不理解的向......
  • 《程序员修炼之道——从小工到专家》读后感5
    作为程序员,我们需要让视图与模型分离,我们要用黑板协调工作流,不同的软件系统以不同方式处理这样的分区,有些使用几乎只有一级的区域或兴趣组,而另一些则采用更加层次化的树状结构。我们不能靠巧合编程,实现偶然不代表实现大多数情况,我们需要深思熟虑的编程。我们需要估算自己算法的阶,......
  • 阅读笔记-人月神话
    削足适履这个章节在讲什么?我们很多时候在开发程序的时候都是考虑程序的运行时间和效率,而很少考虑到程序的运行空间问题。现在的存储空间是越来越廉价,我们很少去考虑这些问题。经典的DOS版本的仙剑奇侠传还不到20M,而现在的一个大游戏却是2,3G甚至更大。由于计算机的不断更新换代和......
  • 读后感6
       我觉得在缺乏前面十几章铺垫的情况下(我只按课程要求读了这本书),我读起来就像看故事。讲实话,我提不出什么问题,任何一个论点下都是完美的论述过程来支撑(至少我挑不出刺)。我既没有创新的经历,也没有创新的想法,最多也只可能想做到书中提到的线性创新(实际上我有这样的项目)。我只......
  • 软件工程读后感6-编写有效用例3
    最近,我阅读了编写有效用例的第三部分:对忙于编写用例的人的提示。要使需求文档短小简明,而且易于阅读。过去,我在编写文档的时候没有考虑过要让文档易于阅读,将来,我在编写文档的时候,会尽可能的考虑使得文档易于阅读。用例不是仅仅记录了主执行者和系统之间公共的可见交互操作。如果用......