[转自Sui老湿]完成任务3——阅读作业2

  作业要求:http://www.cnblogs.com/xinz/archive/2012/10/14/2723635.html

  第2次阅读作业要求阅读6篇文章:

  1 No Silver Bullet: Essence and Accidents of Software Engineering(没有银弹:软件工程的本质和偶然)

  这篇论文的作者是Frederick P. Brooks, Jr.,曾在IBM任要职。文章的标题译法很多,Essence and Accidents译为本质与偶然基本是直译,《没有银弹:软件工程的本质性与附属性工作》这种翻译更为恰当。文章第一句就说明了何为银弹:只有银弹能杀死狼人。银弹被引申为最有效解决问题的“必杀技”。再看标题,就基本明白文章的主旨了,软件开发中没有银弹,没有哪种方法是解决软件工程中的问题的最有效方法。再说的深入一点,即作者认为十年内(1986年起),不会有任何单一突破使得程序设计的生产力有数量级的增长。

  之所以不存在“银弹”,论文作者认为主要是软件开发中的两大困难,即题目——软件工程的本质性和附属性。文章中详细叙述了本质性困难和附属性困难,我就不再赘述。但是这篇论文曾在学术界产生过不小的争议,不少人认为“银弹”存在,甚至现在作者也对其假设产生动摇。

  2 Managing the Development of Large Software Systems: Concepts and Techniques(管理大型软件系统的开发:概念与技术

  这篇说的是瀑布模型,比如将软件开发分为三个阶段、六个步骤:

  一、定义阶段,即可行性研究和需求分析;

  二、开发阶段,即设计、编码、测试;

  三、维护阶段,即运行维护。

  这个也不再多说,文章论述的很详细,理解起来困难不是很大。

  3 Big Ball of Mud(大泥球)

  这一篇比较长,也比较难看懂。我没有看完,但大概知道讲的软件体系结构。所谓“大泥球”指一个随意化的杂乱的结构化系统,只是代码的堆砌和拼凑。存在“大泥球”的软件往往会出现很多错误或者缺陷。

  前两天问组长整合结果怎么样,得到的回答是不太好。由于之前每个组员是分别自己建立工程,编写代码,最后整合时出现了诸如编码方式不统一等一些问题。不知道这算不算是个“泥球”。

  4 The Cathedral and the Bazaar(大教堂和市集)

  作者是Eric Steven Raymond,The Cathedral and the Bazaar是一本软件工程方法论书籍。“大教堂”和"市集"指两种自由软件开发模式,即它们都是源码公开的。其区别是大教堂模式的每个软件版本由一个团队掌控,市集模式则是完全在互联网上公开源码。

  首先,“学霸”是一个并不健全、水平也较低的项目;其次,我们的团队是负责其中pipeline的开发。因此,我们的项目并无必要选择市集模式进行开发,基本还是属于大教堂的开发模式。

  5 A Generation Lost in the Bazaar(在市集中迷失的一代)

  个人认为Quality happens only when someone is responsible for it. 这句话很适用,对于很多事情负责才有质量。这篇文章否定了“The Cathedral and the Bazaar”中的某些观点,抛出了市集开发模式的弊端。就像现在的Android应用,层出不穷,但良莠不齐,各种应用市场也多得很,质量难有保证。源码完全公开使得很多编程技术不过关或者项目开发经验不足者也能写出一些软件,但这些软件往往就会变成“大泥球”。

  6 The New Methodology(新方法学)

   由Martin Fowler所著,讲解关于Agile Method(敏捷开发方法)。这篇文章是应该好好读一读的,因为像极限编程、scrum这些概念、方法我们在pair project和team project中正用到。

  第4篇在维基百科中,汉语翻译不是很好;第5篇、第6篇都有汉语译文;前3篇就是纯英文了。第一次读这么长篇的英文文章,而且是带有不少专业名词的技术论文,确实有不小的难度。Google翻译、Baidu翻译、有道词典一起上,很多地方还是一知半解。

  总结下来,说笼统一点,这些文章和书籍讲的都是一件事——软件开发。除“No Silver Bullet”外,其余五篇都是在讲软件开发方法。这也是任课教师让我们去看这些文章的原因,它们切合了软件工程这门课的课程目的。

posted @ 2012-11-13 22:01  teamshit  阅读(242)  评论(0编辑  收藏  举报