摘要: 敏捷开发方法相对于传统的软件开发方法的一个明显的不同就是敏捷开发是与代码为主的,强调代码是文档的主要部分。相对于传统的软件开发方法,敏捷开发方法有以下的特点:(1)敏捷开发方法是适应性比预见性更重要;(2)敏捷开发是以人为本而不是以项目为本。 敏捷开发方法之所以提出适应性比预见性更重要是因为需求的变化往往是不可预见的,因此强调软件开发要有很好的适应性,预见性显得不是那么重要;作者在文中 提出的解决的方法是迭代(Iterations),利用迭代控制不可预见的过程。敏捷开发中提出把人放在首要位置,但是可能会遇到一些问题,但是作者给出 了相应的解决方法,作者提出了程序员要对自己设计的模块负责,描述了 阅读全文
posted @ 2012-11-12 13:04 LuffyWX 阅读(599) 评论(4) 推荐(0) 编辑
摘要: 在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。 每个阶段都有指定的起点和终点,过程最终可以被客户和开发者识别(通过使用里程碑),在编写第一行代码之前充分强调了需求和设计,这避免了时间的浪费以及 跳票的风险,同时还可以尽可能地保证实现客户的预期需求。提取需求和设计提高了产品质量,因为在设计阶段捕获并修正可能存在的漏洞要比测试阶段容易很多, 毕竟在组件集成之后来追踪特定的错误要复杂很多。最后,因为前两个阶段生成了规范的说.. 阅读全文
posted @ 2012-11-12 12:54 LuffyWX 阅读(183) 评论(1) 推荐(0) 编辑
摘要: 这篇文章首先是介绍了软件工程要面临的固有的不可避免的问题,主要是复杂性(complexity),软件整合(conformity),可变性(changeability)和不可见性(invisibility)。下面是对文章里这些问题观点的整理:(1)复杂性(complexity)。软件要增加规模不仅仅是简单地增加相同内容的规模,还要增 加新的内容,这就使得随着软件规模的增加其复杂度的增加是非线性的,整体复杂性的增加可能比线性增加要大得多。软件的复杂性的这个特征给软件的开发带来了 不少的困难,它会给软件项目组里的组员之间交流带来困难,从而导致产品的瑕疵、开支过多和时间耽搁;这样的复杂性给我们穷举.. 阅读全文
posted @ 2012-11-12 12:50 LuffyWX 阅读(197) 评论(0) 推荐(0) 编辑
摘要: “这是由Raymond在其书中称颂的集市模式导致的悲哀的现实:一坨脓包似的权宜代码,被一群盲目的根本不知IT架构为何物的所谓IT“专业人士”永无休 止地复制着,粘贴着。这事儿放在今天你也许很难相信,但就是在这令人无比尴尬的混沌之下,沉睡着美轮美奂的Unix大教堂的遗迹,而Unix恰恰是以设计 简约、功能实用、执行优雅而著称于世的。(世间荣耀就此消失……)”这是书中所描写的一个现代的由于市集式开发越来越普及甚至泛滥的场景,虽然对于这个现实我还没有充分全面的认识,但是身为一个初入编码世界的人来说,自己的亲身经验告诉我,这是真实的且是毫不夸张的。 我们都是身在代码世界里的建筑师与设计师,但是由... 阅读全文
posted @ 2012-11-12 12:47 LuffyWX 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1. 大教堂和集市的软件发展模式: 大教堂的模型:在大教堂模式中,每一个版本的源代码都是可以被用到的,但是在不同版本间的已经开发好的代码被限制在一个专有的软件开发团队中。 集市的模式:在集市模式中,代码的开发是通过互联网以大众的视角来开发的。2. 关于我们团队SuperBrothers的软件开发模式: 我们的团队没有像Linx核心创始者那样讲代码放在互联网上让大众来检查,虽然那样会使得自己的代码的错误最小化,但是由于项目时间的短暂和项目规模较小等等因素,我们只在团队内部将彼此的代码传阅,并对其中出现的问题进行讨论和上网查询。所以在这个层面上而言,我们团队的合作模式是偏向于大教堂式的市集模... 阅读全文
posted @ 2012-11-12 12:29 LuffyWX 阅读(372) 评论(0) 推荐(0) 编辑