软件工程——软件开发模型

模型名称特点优点缺点适用情况
瀑布模型(最常用)
  • 简单直观
  • 阶段评审,文档控制
  • 文档驱动
  • 简单、易于理解
  • 便于管理
逆转性差
  • 需求明确、变更少
  • 规模适中
  • 低风险环境
  • 用户环境稳定,参与少
V模型更强调测试的瀑布模型
增量模型
  • 分阶段交付功能
  • 第一个增量是核心
  • 瀑布模型变体
可以分阶段提交用户不同意
  • 需求不是非常明确
  • 需要短时间交付
演化模型————重复改进直到客户确认
不能完整定义需求
螺旋模型
  • 迭代性
  • 无间隙性
  • 风险驱动
  • 在每个迭代进行风险评估
 支持用户需求变化建设周期长
  • 大型、复杂、高风险项目
  • 需求不明确
原型模型开发快不利于创新已有原型
迭代模型
  • 迭代开发,逐步完善
  • 每次迭代都产生可运行的软件版本
支持用户需求变化风险大
  • 需求不明确或频繁变更
  • 规模较大
喷泉模型
  • 迭代开发
  • 需求驱动
  • 面向对象
支持用户需求变化不利于项目管理需求频繁变化
XP模型(极限编程)快速迭代支持用户需求变化只适用于小项目,小团队小项目,小团队
快速应用开发(RAD)
  • 大量使用构件
  • 快速开发
用户参与度高,开发速度快,模块化要求高不适用于新技术的使用需要快速交付且模块化要求高的项目
RUP/UP
  • 用例驱动、架构为中心
  • 迭代、增量
结构化、可预测的开发过程,确保软件质量需要较多的文档和评审复杂的大型项目,需要较高的开发质量和可预测性
可重用构建模型基于构件的开发方法,开发或复用构件提高开发效率,减少重复劳动构件的复用和管理可能带来挑战适用于有大量可复用构件或需要快速构建的项目
敏捷方法
  • 尽早交付
  • 频繁沟通
  • 频繁交付新版本
开发快只适用于小项目,小团队
  • 小项目,小团队
  • 注重速度

螺旋模型=瀑布模型演化(原型)模型相结合
增量模型是瀑布模型变体

敏捷方法

敏捷方法——尽早交付,频繁沟通,频繁交付新版本
模型名称特点
极限编程(XP)
高效、低风险、 测试先行 (先写测试代码,然后再编写程序)
水晶法(Crystal)针对性策略,重视“人”
并列争球法(Scrum)
迭代 30天为一个迭代周期,按照需求优先级实现
自适应软件开发(ASD)
预测—协作 学习
敏捷统一过程(AUP)
团队迭代使用敏捷

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值