UML 学习

瀑布模型

瀑布模型(Waterfall Model) 是一个软件生命周期模型,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。
瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

优点 :

可强迫开发人员采用规范的方法(如结构化技术);严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

缺点

用户只能通过文档了解软件产品, 瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。也不适合需求模糊的系统

在这里插入图片描述

螺旋模型

螺旋模型,尤其重视风险分析阶段,特别适用于庞大并且复杂,非常高风险的项目。通常螺旋模型由四个阶段组成:制定计划、风险分析、实施工程和客户评估。螺旋模型中,发布的第一个模型甚至可能是没有任何产出的,可能仅仅是纸上谈兵的一个目标,但是随着一次次的交付,每一个版本都会朝着固定的目标迈进,最终得到一个更加完善的版本。
在这里插入图片描述

原型模型

根据运用原型的目的和方式不同,可以将原型模型分为快速原型模型(抛弃型)和原型进化模型(渐进型) 。
快速原型模型又称为原型模型 , 他是增量模型的另一种形式 。 (抛弃型)

快速原型

是用来获取用户需求的,或是用来试探设计是否有效的。一旦需求或设计确定下来了,原型就将被抛弃
快速原型是暂时使用的,因此并不要求完整。它往往针对某个局部问题建立专门原型, 如界面原型、工作流原型、查询原型等
在这里插入图片描述

原型进化模型 :

原型进化对开发过程的考虑是,针对有待开发的软件系统,先开发一个原型系统给用户使用,然后根据用户使用情况的意见反馈,对原型系统不断修改,使它逐步接近并最终到达开发目标。跟快速原型不同的是,快速原型在完成需求定义后将被抛弃,而原型进化所要创建的原型则是一个今后将要投入应用的系统,只是所创建的原型系统在功能、性能等方面还有许多不足,还没有达到最终开发目标,需要不断改进
.

在这里插入图片描述

迭代模型

迭代模型是RUP推荐的周期模型。被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素
所有功能一起开发,从粗到细,逐步求精。迭代模型适用于需求不甚明确、难度比较大的软件开发
在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代。每一次迭代都包括了需求分析、设计、实现与测试
在这里插入图片描述
RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。
每个阶段结束于一个主要的里程碑(Major Milestones);每个阶段本质上是两个里程碑之间的时间跨度。
在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。
1、 初始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑
2、细化阶段结束时第二个重要的里程碑:生命周期结构(LifecycleArchitecture)里程碑
3、构建阶段结束时是第三个重要的里程碑:初始功能(Initial Operational)里程碑。
4、在交付阶段的终点是第四个里程碑:产品发布(Product Release)里程碑

优点

1、 降低了在一个增量上的开支风险
2、加快了整个开发工作的进度
3、降低了产品无法按照既定进度进入市场的风险
4、迭代过程这种模式使适应需求的变化会更容易些。因此复用性更高

V模型

V模型也称为验证和验证模型。这样, SDLC的每个阶段都必须在下一个阶段开始之前完成。它遵循与瀑布模型相同的顺序设计过程。计划在相应的开发阶段进行设备测试

在这里插入图片描述
(1)单元测试:验证软件单元是否按照单元规格说明(详细设计说明)正确执行,即保证每个最小的单元能够正常运行。单元测试一般由开发人员来执行,首先设定最小的测试单元,然后通过设计相应的测试用例来验证各个单元功能的正确性。

(2)集成测试:检查多个单元是否按照系统概要设计描述的方式协同工作。集成测试的主要关注点是系统能够成功编译,实现了主要的业务功能,系统各个模块之间数据能够正常通信等。

(3)系统测试:验证整个系统是否满足需求规格说明。

(4)验收测试:从用户的角度检查系统是否满足合同中定义的需求或者用户需求

优点

包含了底层测试(单元测试)和高层测试(系统测试);清楚的标识了开发和测试的各个阶段;自上而下逐步求精,每个阶段分工明确,便于整体项目的把控

缺点

自上而下的顺序导致测试工作在编码后,不能及时的进行修改;实际工作中,需求经常变化,导致V模型步骤反复执行,返工量很大,灵活度较低。

何时用?

需求定义明确且没有歧义时。
V型模型应用于明确定义并固定要求的中小型项目。
当样本技术资源具有基本的技术专长时, 应选择V型模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值