软件工程-软件开发模型(瀑布/V/喷泉/原型/演化/螺旋/统一过程/敏捷开发)
目录
- 软件工程-软件开发模型(瀑布/V/喷泉/原型/演化/螺旋/统一过程/敏捷开发)
-
- 瀑布模型
-
- 特性
- 优点
- 缺点
- 适用
- 瀑布V模型
-
- 特性
- 优点
- 缺点
- 喷泉模型
-
- 特性
- 优点
- 缺点
- 演化模型-原型模型
-
- 适用
- 分类
- 螺旋模型
-
- 特性
- 适用
- 优点
- 缺点
- 统一过程模型(RUP-Rational Unified Process )
-
- 核心
- 起始阶段
- 精化/细化阶段
- 构建阶段
- 移交阶段
- 敏捷开发
-
- 敏捷开发基本原则
- 极限编程(XP)
-
-
- 四大价值观
- 五大原则
-
- 特性
-
-
- 12大最佳实现
-
- 水晶法
- 并列征求法(SCRUM)
- 自适应软件开发(ASD)
-
-
- 6个基本原则:
-
- 敏捷统一过程(AUP)
- 并列征求法(SCRUM)
- 自适应软件开发(ASD)
-
-
- 6个基本原则:
-
- 敏捷统一过程(AUP)
瀑布模型
特性
- 注重测试,开发与测试同时进行
- 单元测试针对编码,以详细设计为依据
- 集成测试针对详细设计,以概要设计为依据
- 系统测试针对概要设计,以需求建模为依据
- 验收测试针对需求设计
优点
- 易理解,管理成本低
- 短周期,高效率
缺点
-
产品后期才可见
-
大量测试在后期
-
产品逆转代价巨大
喷泉模型
在获取一组基本需求后,快速分析构造出该软件的一个初始可运行版本,称原型,然后根据用户意见持续改进,重复直至用户满意
适用
- 适合于用户需求不清又经常变化的情况
- 系统规模不大也不复杂
分类
- 探索型原型:弄清特性。谈论多种方案可行性
- 实验型原型:不断验证方案或算法可行性
- 演化型原型:以原型为基础持续改进
螺旋模型

特性
- 结合瀑布模型与演化模型,重视风险评估
适用
- 大型软件
优点
- 需求可动态变
缺点
- 迭代次数过多,增加开发成本
统一过程模型(RUP-Rational Unified Process )
核心
用例和风险驱动、以架构为中心、迭代和增量,由UML统一建模语言驱动
起始阶段
- 产出构想文档(Vision Document)、初始用例模型、项目术语表、用例、项目计划
- 确定项目范围和边界
- 展示系统的候选架构
- 估计项目费用和时间
- 评估项目风险
精化/细化阶段
- 产出用例模型
- 产出补充需求
- 产出分析模型
- 产出软件体系结构表述
- 产出可执行性的软件体系
- 产出初步的设计模型
- 产出修订的风险列表
- 项目计划(迭代计划、调整的工作流、里程碑和技术工作产品)
- 产出初始用户手册
构建阶段
- 产出设计模型
- 产出软件构件
- 产出集成的软件增量
- 产出测试计划及步骤
- 产出测试用例
- 产出支持文档(用户手册、安装手册、对于并发增量的描述)
移交阶段
- 产出软件增量
- 产出验收(β)测试 告
- 产出综合用户反馈
敏捷开发
敏捷开发是现代大型互联 公司的主流开发方法,其总体目标是”尽可能早地、持续对有价值的软件的交付
敏捷开发基本原则
- 会议短平快
- 小型版本发布
- 少文档
- 合作
- 客户直接参与
- 自动化测试
- 适应性计划调整
- 结对编程
- 测试驱动开发
- 持续集成
- 重构
极限编程(XP)
四大价值观
- 沟通
- 简单
- 反馈
- 勇气
五大原则
- 快速反馈
- 简单性假设
- 逐步修改
- 提倡更改
- 优质工作
特性
成本控制严格
12大最佳实现
- 计划游戏:快定计划、随细节不断变化而完善
- 小型发布(系统的设计尽早交付)
- 隐喻:找到合适的比喻传达信息
- 简单设计:只设计当前的需求
- 测试先行
- 重构:重新审视需求和设计,重新明确地表述他们以符合新需求
- 结对编程
- 集体代码所有制
- 继续集成(按日或小时给用户可运行的版本)
- 每周工作40小时(5*8)
- 现场客户
- 编码标准
水晶法
水晶法认为不同的项目采用不同的策略、约定和方法论,认为人对软件质量有重要的影响,随着项目质量和人员素质的提高,项目和过程的质量也随之提高
并列征求法(SCRUM)
目标30天一次迭代,并按需求的优先级实现产品,多小组并行地递增实现产品,协调通过简短的日常情况会议进行,如橄榄球的”并列争球“
自适应软件开发(ASD)
6个基本原则:
- 有一个使命作为指导
- 特征被视为客户价值的关键点
- 等待是重要的,“重做和做一样关键”
- 变化不被视为改正而是调整
- 确定的交付时间
- 风险含其中
敏捷统一过程(AUP)
也随之提高
并列征求法(SCRUM)
目标30天一次迭代,并按需求的优先级实现产品,多小组并行地递增实现产品,协调通过简短的日常情况会议进行,如橄榄球的”并列争球“
自适应软件开发(ASD)
6个基本原则:
- 有一个使命作为指导
- 特征被视为客户价值的关键点
- 等待是重要的,“重做和做一样关键”
- 变化不被视为改正而是调整
- 确定的交付时间
- 风险含其中
敏捷统一过程(AUP)
采用在“大型上连续,小型上迭代”的原理来构建软件系统;采用经典的UP阶段性活动(初始、精化、构建和转换)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!