软件过程模型 | 要点 | 优点 | 缺点 | 适用范围 |
---|---|---|---|---|
瀑布模型 | 每个阶段都有文档产出 | 文档驱动的有序方法 | 只能通过文档了解产品,交付产品可能不符合客户的要求 | 项目周期较短。需求是预知的,软件实现方法是成熟的; |
快速原型模型 | 不带反馈环,线性顺序进行,本质是“快速” | 确保交付的产品符合客户的要求 | 还没有证明无懈可击 | 无完整的需求说明,只有一些基本要求 |
增量模型 | 每一个增量均发布一个可操作产品 | 增大投资的早期回报,能在较短的时间内,提供可完成部分工作的初步产品给用户; | 要求较高,要求开放的结构,可能退化为建造-修补模型 | 需求经常改变,开发人员数量不够 |
螺旋模型 | 强调风险分析(快速原型+瀑布模型)+风险分析 | 结合上述所有模型的特性,风险驱动 | 开发成本,只能用于大型的内部软件产品,开发者必须精通风险分析和风险排除 | 适用于庞大、复杂并具有高风险的系统。 |
喷泉模型 | 无间隙 | 各个阶段没有明显的界限,开发人员可以同步进行开发。 | 不利于项目的管理,要求严格管理文档,使得审核的难度加大 | 适用于面向对象的软件开发过程。 |
Rational统一过程(RUP) | 迭代的,以架构为中心的,用例驱动的软件开发方法。四个阶段:初始阶段,精化阶段,构建阶段,移交阶段 | 针对所有关键的开发活动为每个开发成员提供了必要的准则、模版和工具指导,并确保全体成员共享相同的知识基础。简洁和清晰的过程结构,为开发过程提供较大的通用性。 | 缺少关于软件运行和支持等方面的内容,没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。 | 适用于大型的需求不断变化的复杂软件系统项目。 |
敏捷过程之极限编程(XP) | 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。极限编程(XP)是敏捷过程中最富盛名的一个 | 高适应性,以人为本,以测试为驱动 | 敏捷注重人员的沟通,忽略文档的重要性,若项目人员流动大太,又给维护带来不少难度,特别项目存在新手比较多时,老员工比较累。 | 需要项目中存在经验较强的人,要不大项目中容易遇到瓶颈问题。 |
微软过程 | 每一个生命周期发布一个递进的版本,各生命周期持续快速地迭代循环 | 综合了Rational统一过程和敏捷过程的优点 | 对方法、工具和产品等方面不够全面 | 适用于商业环境下具有有限资源和有限开发时间约束的项目。 |
试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。
最新推荐文章于 2024-09-15 20:22:08 发布