瀑布与XP应该是当前开发过程的两个典型,他们分别代表了软件过程方法论的两大阵营,并在各自的领域中发挥着对方不可替代的作用。关于这两者的分析、讨论甚至争论,从它们被提出那天起就不绝于耳,作为初入门的开发者,也一时无法窥其真身,因此以下所述权当笔记,以一家之见总结一下。
![](https://p-blog.csdn.net/images/p_blog_csdn_net/zhmnsw/EntryImages/20090222/1——dfkjhc6r_24vb3dhqf3_b.jpg)
瀑布过程模型
瀑布过程模型描述了典型的瀑布式开发过程,以及各个阶段间的关系。
根据传统瀑布式模型,整个开发过程由从上到下的五个相对独立阶段组成,每个阶段都会产生各自的产品,阶段内部的产品细化采用迭代模式进行,当阶段产品迭代成熟,即可将其输入到下一阶段。
此方式的迭代位于每个阶段内部,也可以称为“横向迭代”
瀑布模型要求每个阶段的迭代结果都是明确的产品(例如需求文档),阶段间的进化几乎不可逆(或者逆向成本极高),因此适合需求明确、可靠性要求高、变更成本高或无需变更的项目。
根据传统瀑布式模型,整个开发过程由从上到下的五个相对独立阶段组成,每个阶段都会产生各自的产品,阶段内部的产品细化采用迭代模式进行,当阶段产品迭代成熟,即可将其输入到下一阶段。
此方式的迭代位于每个阶段内部,也可以称为“横向迭代”
瀑布模型要求每个阶段的迭代结果都是明确的产品(例如需求文档),阶段间的进化几乎不可逆(或者逆向成本极高),因此适合需求明确、可靠性要求高、变更成本高或无需变更的项目。
![](https://p-blog.csdn.net/images/p_blog_csdn_net/zhmnsw/EntryImages/20090222/1——dfkjhc6r_25hrq6rdcz_b.jpg)
XP过程模型
对于XP过程,虽然每次迭代的都会按照传统瀑布的五个阶段有序进行(顺序可不同于瀑布过程),但每个阶段的产品都是在逐渐迭代的过程中产生(当然时机可能并不相同,或者有些根本不需要)。
此方式的迭代同时包含了上述的五个阶段,因此可以称为“纵向迭代”。
XP过程模型对各阶段资源配置水平以及执行者间的沟通有较高的要求,适合用户需求不明确、变更难以预测、探索预研、业务变动频繁的项目,
此方式的迭代同时包含了上述的五个阶段,因此可以称为“纵向迭代”。
XP过程模型对各阶段资源配置水平以及执行者间的沟通有较高的要求,适合用户需求不明确、变更难以预测、探索预研、业务变动频繁的项目,