软件生命周期模型
- 基本概念
-
- –PDCA循环(戴明环)
- –软件工作过程
- –软件生命周期
- –软件过程模型
- 传统软件生命周期模型
-
- –瀑布模型
- –演化模型
- –增量模型
- –喷泉模型
- –V模型
- –W模型
- –螺旋模型
- –构件组装模型
- –快速开发应用模型(RAD)
- –原型方法
-
- 概念
- 种类
- 优缺点
- 新型软件生命周期模型
-
- RUP模型
- 敏捷建模和极限编程
基本概念
–PDCA循环(戴明环)
PDCA循环,针对针对工程项目的质量目标提出的模型,称为戴明环(Plan, Do, Check, Action)
–软件过程模型
对软件过程的概括描述和抽象,包括各种活动(Activities)、软件工件(artifacts)和参与角色(Actors/Roles)等。
传统软件生命周期模型
–瀑布模型
模型作用
为软件开发和维护提供了有效的管理模式。在软件开发早期,在消除非结构化软件、降低软件复杂度、促进软件开发工程化方面起着显著的作用。
每个开发活动的特征:
·本活动依赖于上一项活动的输出作为工作对象,这些输出一般是代表某活动结束的里程碑式文档。
·根据本阶段的活动规程执行相应的任务。
·本阶段活动的最终产出——软件工件,将会作为下一活动的输入。
·对本阶段活动执行情况进行评审。
适用场景:
需求明确、较大型系统、开发周期不紧张
–增量模型
模型概述:
结合瀑布模型和演化模型的优点,在需求不清时,对最核心或最清晰的需求,利用瀑布模型实现。再对后续需求进行重复开发(可能按照需求的优先级逐个进行),从而逐步建成一个完整的软件系统。
优点:
保障核心功能实现、开发风险较低、保障最高优先级的功能的可靠实现、提高系统稳定性和可维护性。
缺点:
增量粒度难以合理选择、确定所有的需求服务较困难
–V模型
模型概述:
是瀑布模型的变种。它将测试模块细化分解,把测试看作与开发同等重要的过程,每一测试阶段的前提和要求是对应开发阶段的文档。
测试模块:
·单元测试:根据详细设计说明书,检测每个单元模块是否符合预期要求。主要检查编码过程中可能存在的错误。
·集成测试:根据概要设计说明书,检测模块是否正确聚集。主要检查模块与接口之间可能存在的错误。
·系统测试:根据需求分析,检测系统作为一个整体在预定环境中能否正常的有效工作。
·验收测试: 是否满足客户的需求。
优点:
改进开发效率和开发效果
缺点:
前期出现错误的话,后期难以挽救和弥补或者花费的代价巨大。
–螺旋模型
模型概述:
将开发过程分为四个类型:风险分析、制定计划、实施工程、客户评估。每次评估之后确定是否进行螺旋线的下一个回路。
适用对象:
风险较高、开发周期较长的大型软件项目
优点和缺点:
降低风险,但是开发周期长。
–快速开发应用模型(RAD)
模型概述:
增量型开发模型,通过大量使用可复用 构件,采用基于构件的建造方法赢得了快速开发。
其流程从业务建模开始,随后是数据建模、过程建模、应用生成、测试及反复。RAD目的是快速发布系统方案,而技术上的优美相对发布的速度来说是次要的。
优点:
开发周期短
缺点:
需求分析的阶段时间较短、适用性一般
适用范围
适合于管理信息系统开发,不适合于技术风险较高、与外围系统的互操作性较高的系统开发
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!