个人阅读作业2—《No Silver Bullet: Essence and Accidents of Software Engineering》读后感

  在进行了一次结对编程、一次团队编程和一次个人编程项目后,读了《No Silver Bullet: Essence and Accidents of Software Engineering》,在此说说自己的感想体会。在团队编程中我们遇到了很多个人、结对编程时没有遇到的问题。

  Of all the monsters that fill the nightmares of our folklore, none terrify more than werewolves, because they transform unexpectedly from the familiar into horrors. For these, one seeks bullets of silver that can magically lay them to rest.

  对于找“银弹”这个问题,我比较赞同《No Silver Bullet: Essence and Accidents of Software Engineering》里的看法。软件项目的复杂度增真的不是线性增加的,在这次团队编程我所在的团队中,每个热都先是被分配了自己的一部分工作,看代码、改代码效率还算比价高,但当我们尝试将每个人的代码整合到一起时,发现程序的接口已经被改得面目全非了,这是《No Silver》里面所提到的配合性。这绝不是一个能简简单单忽略的问题,最后我们在接口上花费了很多功夫。      

  Changeability. The software entity is constantly subject to pressures for change. Of course, so are buildings, cars, computers. But manufactured things are infrequently changed after manufacture; they are superseded by later models, or essential changes are incorporated into later-serial-number copies of the same basic design. Call-backs of automobiles are really quite infrequent; field changes of computers somewhat less so. Both are much less frequent than modifications to fielded software.

  我们团队的任务是根据上一组从网页中爬取的数据,将其进行分析加工,提取关键字、作者、生成规范的txt文件等等。在此基础上,我们对代码进行了常识性的扩充—在开发中每个人或多或少都会有一些自己的想法,这就导致我们最终有一些小地方和原来的代码会有差异,这跟《No Silver Bullet: Essence and Accidents of Software Engineering》里面所提到的易变性相似。在软件的使用过程中,由于环境和人主观意识的改变,软件的各个小地方可能都会需要进行修改。对于这种某个地方所做的修改,可能会牵扯到其他各个地方的一致性问题,这就需要团队之间建立良好的沟通渠道,修改的地方需要确认其他牵连代码也一并进行了修改,从而保持一致性。

  最后《No Silver Bullet: Essence and Accidents of Software Engineering》还提到了如何提高软件行业核心—设计人员。的确,在软件开发时,会遇到许多小问题及需求,看似简单,但是在真正去实现时候会发现困难无比。这是由于现实世界与计算机世界的转换困难。这也正是我们设计者需要重点考虑的地方,只要概念模型能构建起来,如何去实现是比较容易去解决的问题。

时间: 2024-10-29 19:08:24

个人阅读作业2—《No Silver Bullet: Essence and Accidents of Software Engineering》读后感的相关文章

软件工程个人阅读作业2

转眼到了第九周,软工也过半了,老师要求阅读文章并根据自身体会写一下阅读感受,我只读了前三篇,以下是文章大意和个人的一些体会. 文章一: No Silver Bullet: Essence and Accidents of Software Engineering 文章大意:软件工程发展到现在遇到了很多问题:复杂性.整合性.易变性和不可视性这几点是软件工程开发所面临的本质问题.为了解决这些问题,人们使用了很多方法:高级语言.分时系统和统一编程环境,然而这些都没办法解决本质问题,只是从一些程度上减少

第二次阅读作业

一开始看到阅读作业的时候我感觉老师给的时间还是很充裕的,但是在阅读的过程中我还是感觉不是很充分,其中一个很重要的原因就是由于自己的英语水平有限,在阅读的过程中需要经常性的去查单词,造成阅读中的一些中断,以至于思维不是很连续.但是还好,由于时间较充分且我开始的较早,这一个问题还是被自己克服了,没有造成太大的影响.首先我先说一说自己对于这些文章的理解吧.第一篇文章是No Silver Bullet: Essence and Accidents of Software Engineering.在这篇文

个人阅读作业Week5

阅读材料  (博客2) 软件工程的瀑布, 大泥球, 教堂,集市,和银弹 网页地址 No Silver Bullet - Essence and Accidents of Software Engineering - Brooks http://www.cs.umd.edu/class/spring2003/cmsc838p/General/NoSilverBullet.html There Is a Silver Bullet – Brad J Cox http://www.drdobbs.co

阅读作业中软件开发书籍阅读后的一些体会

No Silver Bullet: Essence and Accidents of Software Engineering(Frederick P. Brooks, Jr.) 在这篇文章中,作者将内容分成了三大部分,第一部分介绍了软件开发中根本的——软件特性中固有的困难,而这些困难是:软件实体的复杂性.软件和其它接口的一致性.软件实体的可变性以及软甲本身的不可见性.这是这些根本的特性导致了软件开发的困难. 第二部分讲了次要的——出现在目前生产上的那些困难.作者列举了软件领域中取得的最富有成效

个人阅读作业2:关于项目经历的心得

一.No Silver Bullet: Essence and Accidents of Software Engineering 在Fred Brooks所写的这边文章中,他认为曾经传说的年代中银色子弹可以有力针对狼人,是一个解决问题的良剂.然而,在软件工程中却不是如此,软件工程中有不可避免的诸多问题,主要由复杂性(complexity),软件整合(conformity),可变性(changeability)和不可见性(invisibility)等组成. 复杂性(complexity) 在硬件

个人阅读作业7

一.No Silver Bullet - Essence and Accidents of Software Engineering-Brooks 二.There Is a Silver Bullet – Brad J Cox 三.big ball of mud 四.CatB – Cathedral and the Bazaar 五.Lost in CatB. 六.Worse is Better – Richard Gabriel 七.Managing the development of la

个人阅读作业与总结

个人阅读作业与总结 Silver Bullet I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation. Frederick P. Brooks, Jr.在

第二次阅读作业--12061161 赵梓皓

阅读笔记之No Silver Bullet 本文中,作者的观点是没有任何一项技术或方法可使软件工程的生产力在十年内提高十倍(1986) 作者列举的原因是 代码的完成分为两部分: 抽象(建模)和 代码实现.根据我个人的理解,就是 设计和实现的过程.作者认为实现过程的速度相对来说比较好的提高,但是 设计的过程很难提高.而根据设计过程在整个项目中占的比例要大于1/10,所以得出结论没有任何一项技术或方法可使软件工程的生产力在十年内提高十倍. 我认为,作者的见解相对来说是比较合理的.实现的过程是人与机器

个人阅读作业2:结合《No Silver Bullet》谈谈我在软件开发过程的遇到的困难与体会

英文捉急,只能挑一段看得比较懂的,而且正好和我们现在编程任务联系比较紧密的内容来谈一谈体会. 在<No Silver Bullet>中,作者描述了造成软件本质性困难(essence)的四个原因: 1.复杂性(complexity): 首先我们来看一下作者对软件的定义,其大意是“软件的本质是对一连串相关的概念的构建”: The essence of a software entity is a construct of interlocking concepts: data sets, rela