SDLC - V 模型

V 模型是一种 SDLC 模型,其中流程的执行以 V 形的顺序方式发生。 它也称为验证和验证模型

V 模型是瀑布模型的扩展,它基于为每个相应的开发阶段关联一个测试阶段。 这意味着对于开发周期中的每个阶段,都有一个直接关联的测试阶段。 这是一个高度纪律的模型,下一阶段只有在前一阶段完成后才开始。


V 模型 - 设计

在V模型下,开发阶段的相应测试阶段是并行规划的。 因此,"V"的一侧有验证阶段,另一侧有验证阶段。 编码阶段连接 V 模型的两侧。

下图描述了 SDLC V 模型中的不同阶段。

SDLC V-模型

V 模型 - 验证阶段

V 模型中有多个验证阶段,下面将对每个阶段进行详细说明。

业务需求分析

这是从客户的角度理解产品要求的开发周期的第一个阶段。 此阶段涉及与客户的详细沟通,以了解他的期望和确切要求。 这是一项非常重要的活动,需要妥善管理,因为大多数客户不确定他们到底需要什么。 验收测试设计规划在此阶段完成,因为业务需求可用作验收测试的输入。

系统设计

有了清晰详细的产品要求后,就可以设计完整的系统了。 系统设计将了解并详细说明正在开发的产品的完整硬件和通信设置。 系统测试计划是在系统设计的基础上制定的。 在较早的阶段执行此操作可为以后的实际测试执行留出更多时间。

体系结构设计

在此阶段了解和设计架构规范。 通常会提出不止一种技术方法,并根据技术和财务可行性做出最终决定。 系统设计进一步分解为具有不同功能的模块。 这也称为 高层设计 (HLD)

内部模块之间以及与外部世界(其他系统)之间的数据传输和通信在这个阶段被清楚地理解和定义。 有了这些信息,可以在此阶段设计和记录集成测试。

模块设计

在此阶段,指定所有系统模块的详细内部设计,称为低级设计 (LLD)。 设计与系统架构中的其他模块和其他外部系统兼容非常重要。 单元测试是任何开发过程的重要组成部分,有助于在非常早的阶段消除最大的故障和错误。 这些单元测试可以在这个阶段基于内部模块设计来设计。


编码阶段

在设计阶段设计的系统模块的实际编码在编码阶段进行。 最合适的编程语言是根据系统和架构要求决定的。

编码是根据编码指南和标准执行的。 代码经过多次代码审查,并在最终构建被签入存储库之前针对最佳性能进行了优化。


验证阶段

下面详细解释了 V 模型中的不同验证阶段。

单元测试

模块设计阶段设计的单元测试在此验证阶段对代码执行。 单元测试是代码级别的测试,有助于在早期阶段消除错误,尽管单元测试无法发现所有缺陷。

集成测试

集成测试与架构设计阶段相关联。 执行集成测试以测试系统内部模块的共存和通信。

系统测试

系统测试与系统设计阶段直接相关。 系统测试检查整个系统功能以及正在开发的系统与外部系统的通信。 大多数软件和硬件兼容性问题都可以在该系统测试执行期间被发现。

验收测试

验收测试与业务需求分析阶段相关联,涉及在用户环境中测试产品。 验收测试揭示了与用户环境中可用的其他系统的兼容性问题。 它还发现了实际用户环境中的负载和性能缺陷等非功能性问题。


V-模型─应用

V-模型的应用和瀑布模型几乎一样,都是顺序型的。 在项目开始之前,需求必须非常明确,因为返回并进行更改通常代价高昂。 该模型用于医学发展领域,因为它是一个严格的纪律领域。

以下指示是一些最适合使用 V-Model 应用程序的场景。

  • 要求已明确定义、明确记录并固定。

  • 产品定义稳定。

  • 技术不是动态的,并且为项目团队所熟知。

  • 没有模棱两可或未定义的要求。

  • 项目周期很短。


V 模型 - 优点和缺点

V-Model方法的优点是非常容易理解和应用。 该模型的简单性也使其更易于管理。 缺点是模型对变化不灵活,万一发生需求变化,这在当今的动态世界中很常见,进行变化的成本会很高。

V 模型方法的优点如下 −

  • 这是一个纪律严明的模型,并且一次完成一个阶段。

  • 适用于要求很好理解的小型项目。

  • 简单且易于理解和使用。

  • 模型的刚性使得管理起来很容易。 每个阶段都有特定的可交付成果和审查流程。

V 模型方法的缺点如下 −

  • 高风险和不确定性。

  • 对于复杂和面向对象的项目来说不是一个好的模型。

  • 长期持续项目的模型不佳。

  • 不适用于需求处于中高风险变化的项目。

  • 一旦应用程序处于测试阶段,就很难返回并更改功能。

  • 直到生命周期后期才生产出可用的软件。