读“人月神话”有感

在软件工程这门课中我们学到,一个软件的开发过程不是简单的一个选择编程语言编码实现的过程,而是一个要经过可行性研究分析、需求分析、形式化说明、总体设计、详细设计再到编码实现的过程,后期还需要对软件进行维护,整个软件的开发过程需要开发成员之间的密切而有效的合作。

  这个学期,经同学的推荐,我读了一下《人月神话》这本书,一开始并不知道这是一本关于软件工程的书,毕竟这书名迷惑性太大,一般的人都会理解为是人跟月亮的神话,完全不会像软件工程的方向靠近。不过当你读了这本书之后会发现,整本书都是在以一种非常幽默的方式再给我们讲软件工程,每一章的标题都非常有趣,诸如“焦油坑”、“外科手术队伍”、“贵族专治”之类的标题给人一种耳目一新的感觉。在这里,我也推荐没有读过这本书的人去读一下。

  《人月神话》这本书让我第一次接触到了“人月”这个概念,既人月是软件工程中工作量的计量单位,是项目所有参与者工作时长的累计,是最为方便计算成本的数据,是项目管理中常用的概念。这本书算是对软件工程项目开发过程中的一些定律上的指导吧,里面的很多观点让我对软件工程开发有了更好的认识。第一章“焦油坑”中它提出了这样一些看法:“我估计软件构件产品引起了3倍工作量,将软件构件整合成完整系统所需要的设计集成和测试又强加了3倍工作量。这些高成本的构件在根本上是相互独立的。创建事物的快乐,开发对其它人有用东西的乐趣将可以活动,相互齿合的零部件组装成类似迷宫的东西,这个过程所体现出令人神魂颠倒的魅力。不间断学习的乐趣工作在如此易于驾驭的介质上的乐趣--纯粹的思维活动,其存在移动和运转方式完全不同于实际物体。”这样的看法让我知道了软件开发的过程工作量是会不断增加的,编码开发的过程是一个非常享受的过程。当然,它还有很多非常有趣的观点。

  诸如:①“人月是危险和带有欺骗性的神话,因为它暗示人员数量和时间是可以相互替换的”,这应该是里面非常经典的一个观点,软件开发过程并不是一个简单的人月叠加过程,并不是增加人力,就一定可以减少开发过程的工作量,因为我们对自己的估计技术不确定,所以在管理和客户的压力下,常常缺乏坚持的勇气。向落后进度的项目中增加人手,只会使进度更加落后。向软件项目中增派人手从三个方面增加了项目必要的总体工作量:任务的重新分配本身和所造成的工作中断。培训新人员,额外的相互沟通;②“优秀的专业程序员的工作效率是较差的程序员的十倍。经验和实际表现之间没有相互联系。小型精干的队伍是最好的--尽可能的少。一拥而上的开发方法是高成本,速度缓慢,不充分的,开发出的产品无法进行概念上的集成”,对之作出的解释就是,一位首席程序员,类似于外科手术队伍的团队架构提供了一种方法--即能获得由少数头脑产生的产品完整性,又能得到多位协助人员的总体生产率,还彻底减少了沟通的工作量,虽然这句话有点打击普通程序员啊,但这也告诉我们要努力成为一个首席程序员哦,哈哈哈;③“为了获得概念完整性,设计必须由一个人或者具有共识的小型团队来完成。对于非常大型的项目,将设计方法体系结构方面的工作与具体实现相分离是获得概念完整性的强有力方法”;④“尽早交流和持续沟通能使结构师有较好的成本意识,以及使开发人员获得对设计的信心,并且不会混淆各自的责任分工”;⑤“程序开发呈程序规模的指数增长。全职程序员仅将50%的时间用于编程和调试。生产率是系统各个部分交互的函数,在1.5K千代码行/人年至10K代码行/人年的范围内变化。当使用恰当的高级语言时,程序编制的生产率可以提高5倍”;⑥“用户的实际需要和用户感觉会随着程序的构建,测试和使用而变化。软件产品易于掌握的特征和不可见性,导致了它的构建人员(特别容易)面临着永恒的需求变更。为变更计划软件产品的技术,特别是细致的模块接口文档--非常地广为人知,但并没有相同规模的实践。高级语言的使用,编译时操作,通过引用的声明整合和自文档技术能减少变更引起的错误”……还有好多很经典的观点,大家可以到图书馆找这本书自己看一下,从这些观点中,我们会发现“人月神话”这本书就像一本指导性的书,作者根据自己在软件工程开发长期摸索中得出了一些开发技巧,这些技巧就如同定律一般,按照这个做,开发过程会变得非常明晰,而违背它,开发工作就会变得非常繁琐。当年“软件危机”给了人们当头一棒,软件传统的软件开发暴露出非常多的诟病,缺乏更加科学的开发体系。“人月神话”软件开发带来一缕曙光。

时间: 2025-01-02 14:39:47

读“人月神话”有感的相关文章

读人月神话有感

人月神话书如其名一样震撼人心,它引起了许多别的领域的读者对此进行评价. 律师,医生,社会学家,心里学家,和软件人员一样对此书提出评论和建议.人们经常通过比较计算机软件开发生产率和硬件制造生产率来支持这个观点,后者在 20 年内至少翻了 1000 倍.正像第 16 章所解释的,反常的并不是软件发展得太慢,而是计算机硬件技术以一种与人类历史不相配的方式爆发出来.很多年后作者还是会被道“你现在认为哪些在当时就 是错误的?哪些是现在才过时的?哪些是软件工程领域中新近出现的?”很多年来人们对软件生产率和影

读<<人月神话>>

这本书在软件领域知名度很高,每次看到年度推荐的文章里面都有这本书且强烈推荐.出版30年了,可谓经典. 但我在读的过程中并没有那么深的体会.书中很多章节都是基于大型项目或者大型系统的经验总结,至今为止我还没有参与大于30人的项目.只能说自己的境界还不够. 第一章,焦油坑 再也找不到一个词比焦油坑更能形容,软件开发的过程了.我们都在挣扎.计划,计划,不断计划,但还是拖延,拖延,拖延.... 职业的乐趣: 创造性,贡献助人为乐,过程的魅力或者解决问题的成就感或写代码的快感,持续学习新事物,驾驭感. 职

人月神话有感2

关于本书,即使很多没读过的人也能说出其中知名度最高的关于人月神话的观点.之前还在知乎上看过有人举了一个例子:一个人生孩子需要十个月,两个人去生孩子同样需要十个月.这一比喻虽不完全恰当,却也大致说出点内容.事实上,作者在书中这样来描述人月神话:软件开发项目常以人月来衡量工作量,这种度量暗示着人手和时间是可以互换的.这种"人多力量大"的想法是一种一厢情愿的虚妄神话,布鲁克斯法则:向滞后的软件项目追加人手会使得进度更迟缓(Adding manpower to a late software

人月神话有感3

人月神话-这个色彩斑斓的名字,勾起了童年对神话故事热情的回忆,它像一个巧克力甜品一样吸引着人们去品尝.翻开书目,却大吃一惊,它并非是潘多拉的盒子,也不是达摩克利斯之剑.细细品读,人月神话,这个时间和人力的博弈,描绘了工程项目的美丽神话.我想,这个名字也许是作者对于工程化处理我们面临工程项目的渴望. 在读这本书时,我们不妨站在一个项目经理的角度,我们手上有大大小小的项目要完成,我们有大量工程人员或者我们只有几个员工,我们也没有无限的时间和资金设备,面对那些大大小小的项目,面对这些诸多的人力,金钱,

人月神话有感

初见书名时还在奇怪为什么老师要我们看一本这书,在我刚刚见到这本书时我以为说的是人类登上月球的书籍,后来明白了本书的名字并不是人类和月球之间的神话故事,而是软件工程的一些迷思,人月是一个人一个月的人力单位. 在这本书里作者提出软件工程中各个项目的比例应该如下: 1/3 planning 1/6 coding 1/4 component test and early system test 1/4 system test, all components in hand 初始时心中还在迷惑为什么编程的

人月神话

读人月神话给我感受最深刻的是作者以焦油坑为例向我们抛出了大型系统开发的问题,简短的说出了作为程序员的乐趣与苦恼.人月即产品开发的人数和时间,文章指出了人月并不能衡量一项工作的规模,即人与月是不能相互转换的,在程序开发过程中在某个条件下可以通过增加人数来提高工作效率但到一定情况下再增加人数只会使效率越来越低同时给出了作者自身关于软件任务进度的安排1/3用于计划,1/6用于编码,1/4用于构件测试和早期系统测试,1/4用于系统测试,对于项目开发而言提前的计划非常重要会避免进度的拖延,对于一个进度落后

人月神话阅读笔记—序言及第一、二章

初读人月神话这本书的前言和序言,觉得这本书在关于软件体系结构思想层次方面应该是很高的,而且它流传甚广,并且经过了40余年的沉淀,仍然经久不衰,可见此书的影响是相当深远的. 从目录来看,此书说的不是如何进行程序代码的编写,更多的是关于软件工程中的管理问题,从很多的具体事例,和软件工程历史上发生的一些著名事件来引出章节的内容,以及通过这些具体事件,反映了一些什么样的问题和解决的办法. 第一章的标题名为焦油坑,以开发过程中遇到的很多问题来比喻.介绍了编程系统产品所耗费的时间其实是很多的,接着介绍了作为

读《人月神话》有感

<人月神话>是IBM360系统之父布鲁克斯所著的经典,它为人们管理复杂项目提供了颇具洞察力的见解,既有很多发人深省的观点,也有大量的软件工程实践,读后受益匪浅,倍受启发. 本书分为15节,其中焦油坑,人月神话,外科手术队伍,贵族专制,民主政治和系统设计以及没有银弹是我最喜欢的几章,以下是我从这几个章节所获得的知识和见解:从(焦油坑)一节中,我认识到了 编程系统产品开发的工作量是供个人使用的.独立开发的构件程序的九倍:编程行业也存在一些苦恼:(1) 将做事方式调整到追求完美,是学习编程的最困难部

读《人月神话》一书有感

<人月神话>是一本不可多得的软件工程方面的经典著作.作者是被誉为IBM 360之父的Frederick P. Brooks,他在此项目中担任项目经理.他也因此获得美国国家技术奖和计算机领域的“诺贝尔奖”-图灵奖. 我觉得本书语言风趣幽默又不失严肃严谨.尤其是在The Mythical Man-Month和Calling the Shot两章,诙谐的语句间穿插图表和数据,发人深思. 书中给我印象最深的是Brooks提出这样一条定律.“所有的程序员都是乐观主义者,他们倾向于认为事情会如他们想象的那