个人阅读作业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》还提到了如何提高软件行业核心—设计人员。的确,在软件开发时,会遇到许多小问题及需求,看似简单,但是在真正去实现时候会发现困难无比。这是由于现实世界与计算机世界的转换困难。这也正是我们设计者需要重点考虑的地方,只要概念模型能构建起来,如何去实现是比较容易去解决的问题。
个人阅读作业2—《No Silver Bullet: Essence and Accidents of Software Engineering》读后感的更多相关文章
- [2017BUAA软工]个人阅读作业+总结
阅读作业 没有银弹 No Silver Bullet - Essence and Accidents of Software Engineering - Brooks 在这篇论文中,作者阐述了软件的四 ...
- 【SE】Week7 : Silver Bullet & Cathedral and Bazaar & Big Ball of Mud & Waterfall ...
1. Silver Bullet No Silver Bullet: Essence and Accidents of Software Engineering —— 无银弹理论,出自于美国1999年 ...
- 个人阅读作业2:结合《No Silver Bullet》谈谈我在软件开发过程的遇到的困难与体会
英文捉急,只能挑一段看得比较懂的,而且正好和我们现在编程任务联系比较紧密的内容来谈一谈体会. 在<No Silver Bullet>中,作者描述了造成软件本质性困难(essence)的四个 ...
- 个人阅读作业 --软件工程M1/M2总结
软件工程M1/M2总结 写在前面的话: 这学期的软件工程伴着考期的展开逐渐落下帷幕,回顾这学期的软件工程,我感觉我的热情在一次又一次的失落中逐步消耗殆尽,每个人对于这门课的体验都会有所不同吧,可以确定 ...
- 个人阅读作业WEEK7 (软件工程的瀑布, 大泥球, 教堂,集市,和银弹)
一 . 关于银弹 (Silver Bullet) 银弹,被引申为解决问题的有效办法.IBM大型机之父福瑞德·布鲁克斯在1986年的论文<没有银弹>中表达了他的观点:软件工程中不存在银弹—— ...
- [阅读]个人阅读作业week7
People-oriented in Agile People-oriented in Agile One Leader Prepare Good ideas from users People-or ...
- 个人阅读作业Week17
个人阅读作业Week17 reading buaa software 解决的问题 这是提出问题的博客链接:http://www.cnblogs.com/SivilTaram/p/4830893 ...
- 个人阅读作业 final
前两次阅读作业链接: http://www.cnblogs.com/SteelPillar/p/4027877.html http://www.cnblogs.com/SteelPillar/p/40 ...
- 软件工程M1/M2总结及阅读作业总结
一.软件工程M1/M2总结 写下这篇总结的时候,我们的软件项目尚未完工.虽然尝试申请了延期答辩,但最终未能成功.这意味着,我们的项目能否正常发布已经处于了一个微妙的状态.可能可以,也可能不可以.只能尽 ...
随机推荐
- Windows结构化异常处理浅析
近期一直被一个问题所困扰,就是写出来的程序老是出现无故崩溃,有的地方自己知道可能有问题,但是有的地方又根本没办法知道有什么问题.更苦逼的事情是,我们的程序是需要7x24服务客户,虽然不需要实时精准零差 ...
- 点击eclipse包报错
每次只要新建一个package包,或者鼠标选择某个package包,系统就会提示:An error has occurred. See error log for more details. org/ ...
- FLask上传文件
目录 Flask上传文件 改进上传 上传进度条 一个更简便的方案 Flask上传文件 文件上传的基本原理实际上很简单,基 本上是: 一个带有 enctype=multipart/form-data 的 ...
- Linux 小知识翻译 - 「Linux」和病毒
据说,「Linux」系统上的病毒要远远少于Windows系统上病毒.从2种系统的普及度来看,这是很显然的, 「Linux」的使用人群很少,所以「Linux」上的病毒的扩散时,受害的范围也不大. 但是, ...
- Unity3d自制字体
这篇教学中会使用到BMFont 这个工具 准备好Unity5.3.2版本,其他版本会有异常 一.制作字体 下载链接: http://www.angelcode.com/products/bmfont/ ...
- 【C++学习笔记】变量初始化规则
全局变量和静态变量会自动初始化为0,堆和栈中的局部变量不会初始化而拥有不可预测的值. C++保证了所有对象与对象成员都会初始化,但其中基本数据类型的初始化还得依赖于构造函数(或初始化列表). 成员变量 ...
- 通过css3,实现加载转动贝塞尔曲线动画
参考博客:http://blog.jobbole.com/94966/ css代码: .loading { position : relative; display : inline-block; w ...
- oracle_使用udev绑定磁盘方法
scsi_id命令发出一个SCSI INQUIRY指令给设备,访问vital product data (VPD)页0x83的数据,那里包含设备的WWID和其他的信息,或者页0x80的数据,那里包含单 ...
- php单例模式实现对象只被创建一次
这是我在php面试题中遇到的一道试题,单例模式按字面来看就是某一个类只有一个实例,这样做的好处还是很大的,比如说数据库的连接,我们只需要实例化一次,不需要每次都去new了,这样极大的降低了资源的耗费. ...
- docker swarm英文文档学习-8-在集群中部署服务
Deploy services to a swarm在集群中部署服务 集群服务使用声明式模型,这意味着你需要定义服务的所需状态,并依赖Docker来维护该状态.该状态包括以下信息(但不限于): 应该运 ...