对于银弹:

  在《No Silver Bullet》这篇IBM大型电脑之父佛瑞德·布鲁克斯(Fred Brooks)在1987年所发表的一篇关于软体工程的经典论文中,强调了由于软件的复杂性本质,而使真正的银弹并不存在;所谓的没有银弹是指没有任何一项技术或方法可使软件工程的生产力在十年内提高十倍。

  作者用了诸多的例子,从多方面阐释了这一认识的正确性。虽然反响强烈,争议颇多,但是,抛开复杂的论证过程,我们却不能忽视这篇文章想要强调的最重要一点:真正好的项目,需要便捷的开发技术,但没有一种技术能彻底的舍弃了人的存在。我们做的项目,不可能做到一劳永逸,好的项目是要能够持续更新保持生命力的,而这其中,我们人才是主体,难以想象如果脱离了人,一个软件还有什么生命力可言。我们不能忘记的重要事实是,软件是为了方便人类而被创造的,离开了人类,它也就失去了存在的价值与动力。

对于大泥球:

顾我自己写的大泥球代码,整片都是杂乱无章的堆砌,大泥球是指杂乱无章、错综复杂、邋遢不堪、随意拼贴的大堆代码。这对于我来说写出来的额东西也很难去让一个外来人去读懂和维护。读了这个大泥球的文章之后我觉得首先有个成本问题——软件开发可以说是没有物质成本的。可以看到大泥球能够工作,而且,造成一个大泥球并不比有道理的开发架构需要更多的物质成本,多调几个大泥球经费也不会被马上耗光——一个失败的设计在量产时需多焊很多的电路板可能会马上被产品经理批评——相反,软件工程中的大泥球还能提高时间效率,它能减少了架构设计的思考占用的时间。我理解中架构的一个有点就是层次地整理可以重用的代码来减少代码量,提供可维护性,缺点在于不灵活,然后对于经验不足的初学者来说,开发周期有时候是更长的。还有一点,当一个人做的不完全是真正的产品,而是一个试验品、或者说是简历填充物的时候,能见度原因就不起作用了,因为要是说代码给别人一看,让别人觉得,这TM写的一坨大……肯定没有前途。所以我必须坚信写软件要有架构。我们团队一开始也是写大泥球,但是经一番调整之后我们开始进行合理的构思和计划,以至于效率和代码质量都有了提高。

关于catB:

此文描述两种软件开发模式,即:“大教堂式”和“市集”两种。这两种都是开源的,但区别在于“大教堂式”的每个软件版本代码在团队的手中,而“市集式”的源代码是在互联网上的。此次我们是自由项目,有组员们自己选题,软件代码是自己编写,属于第一种——“大教堂式” “市集式”的开发带来许多情况。在有些人称为是.COM热潮时,认为在这个大热潮的时代IT人员大量涌现,代码的产量也是吓煞前人,有些人大为称赞此状况的时候,作者提出这只是在“市集式”开发的一种迷失。作者认为这只是一种泡沫,是一种与“教堂式”恰恰相反的“集市式”。在这种情况下,各种参差不齐的代码与模块化不够清晰,最为严重的是强行使用不必要的代码重用导致将整个WEB弄得混乱不堪,与自己声称的种种优点背道而驰,因为被作者称为只是“Lost in CatB”。此次我们并不是使用“市集式”开发模式,且我们软件调理已经理清,框架明了,不会出现这种混乱情况。

关于瀑布:

瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,我们做软件的时候可能常常希望有一项技术或方法可使软件工程的生产力得到突破性的提高,然而事实上真的存在这样的东西么?

关于敏捷:这次团队作业用到了SCRUM方法论。Scrum是一种迭代式增量软件开发过程,SCRUM方法论中其核心仍然迭代和增量,首先对于产品需求会划分为多个迭代或增量,每个迭代都需要在1个月能够交付,而一个月即是一次冲刺,而一个迭代版本又需要转化到每天的进度跟踪和问题解决,这就是每天的15分钟会议,2-3天开一次会研究下下一步要做什么需要具体完成什么。同时,任何一个软件项目都可以 从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。我们用近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的 小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整 开发过程。

week7 read的更多相关文章

  1. 个人博客作业week7

    个人阅读作业week7 一.瀑布 软件工程的瀑布模型是1970年由Winston Royce提出来的,即软件的开发按照一个严格的.顺序的.单次的瀑布流开发周期.例如需求分析阶段.概要设计阶段.详细设计 ...

  2. [阅读]个人阅读作业week7(200)

    个人作业week7——前端开发感想总结 此次作业因本人(学号1200)长期不上博客所以密码遗忘,输错次数过多账号被锁,所以在SivilTaram同学的博客下挂我的作业,希望助教老师谅解~谢谢! 1. ...

  3. Spark小课堂Week7 从Spark中一个例子看面向对象设计

    Spark小课堂Week7 从Spark中一个例子看面向对象设计 今天我们讨论了个问题,来设计一个Spark中的常用功能. 功能描述:数据源是一切处理的源头,这次要实现下加载数据源的方法load() ...

  4. week7 ls

    week7 ls 实现ls: 实现ls -l:

  5. 个人作业week7——前端开发感想总结

    个人作业week7——前端开发感想总结 1. 反思 首先要谈谈在这次团队项目的工作中,我这边出现过的较为严重的一个问题:我和HoerWing (后端担当)合作时,最初因为我没有使用github(始终连 ...

  6. Internet History, Technology and Security (Week7)

    Week7 With reliable "pipes" available from the Transport layer, we can build applications ...

  7. Internet History,Technology,and Security -Technology: Application Protocols(Week7)

    Week7 Technology: Application Protocols This week, we’ll be covering application protocols. With rel ...

  8. 个人阅读作业Week7

    没有银弹 <没有银弹>,Brooks在该论文中,强调真正的银弹并不存在,而所谓的没有银弹则是指没有任何一项技术或方法可以能让软件工程的生产力在十年内提高十倍.文中讨论到了软件工程中主要的两 ...

  9. [阅读]个人阅读作业week7

    People-oriented in Agile People-oriented in Agile One Leader Prepare Good ideas from users People-or ...

随机推荐

  1. git代理设置方法解决

    git config --global https.proxy http://127.0.0.1:1080 git config --global https.proxy https://127.0. ...

  2. VS2010 使用WebService

    vs2010上面找不到直接创建webservice模板方式了.可以通过一下方式创建. 1.如果直接选择 .NET 4.0,可以选择 ASP.NET Empty Web Site/Application ...

  3. 重复数据分析的三个常用语法distinct, group by, partition by

    由于数据经常会出现重复现象,数据去重是数据分析中常用操作之一,而distinct,group by, partition by三者都可以实现去重功能,实践中需要根据不同的场景需求来选取相应的语法. d ...

  4. JSP中的 HttpSession、pageContext对象

    pageContext 隐含对象对应javax.servlet.jsp.PageContext,都自动的被加入至pageContext中, 您可以由它来取得与JSP相关的对应之Servlet对象,像是 ...

  5. Android下载图片/调用系统相机拍照、显示并保存到本地

    package com.example.testhttpget; import java.io.BufferedReader; import java.io.FileNotFoundException ...

  6. ios 正则表达式之验证手机号、邮箱、身份证、银行卡

    1.手机号 + (BOOL) IsPhoneNumber:(NSString *)number { NSString *phoneRegex1=@"1[34578]([0-9]){9}&qu ...

  7. MVC后台数据赋值给前端JS对象

    Controller中的数据,不管是使用的是ViewModel 还是ViewBag.Data,要将他传递到View中,这个很容易,但是如果要将它传递给JS中的某个对象,这个改如何处理呢? 后台的数据格 ...

  8. Winform 中DataGridView的checkbox列,当修改checkbox状态时实时获得其状态值

    不知道大家有没有这样的经验,当点击或者取消datagridview的checkbox列时,比较难获得其状态是选中还是未选中,进而不好进行其它操作,下面就列出它的解决办法: 主要用到了DataGridV ...

  9. poj 2761 Feed the dogs (treap树)

    /************************************************************* 题目: Feed the dogs(poj 2761) 链接: http: ...

  10. maven建立本地仓库

    maven 建立本地仓库 博客分类: java,maven,nexus   前面我讲到为什么要使用 Maven, Maven 的安装,以及 如何与 IDE 集成等,前面的介绍可以认为是一个 Hello ...