软件开发生命周期 (SDLC)


软件开发生命周期 (SDLC)

SDLC 是一个创建软件开发结构的过程。SDLC 中有不同的阶段,每个阶段都有其不同的活动。它使开发团队能够设计、创建和交付高质量的产品。

SDLC 描述了软件开发的各个阶段和各个阶段的执行顺序。每个阶段都需要软件开发生命周期中前一阶段的可交付成果。需求转化为设计,设计转化为开发,开发转化为测试;测试后交给客户。

让我们详细查看所有阶段:

软件开发周期的不同阶段

软件开发生命周期

  • 需求阶段
  • 设计阶段
  • 构建/开发阶段
  • 测试阶段
  • 部署/交付阶段
  • 维护

1.需求阶段

对于开发团队和项目经理来说,这是软件开发生命周期中最关键的阶段。在此阶段,客户说明与产品或软件相关的要求、规范、期望和任何其他特殊要求。所有这些都是由服务提供公司的业务经理或项目经理或分析师收集的。

该要求包括如何使用产品以及谁将使用产品来确定操作负载。从该阶段收集的所有信息对于根据客户要求开发产品至关重要。

2. 设计阶段

设计阶段包括根据需求阶段对新软件的详细分析。这是系统开发生命周期中的高优先级阶段,因为系统的逻辑设计已转换为物理设计。需求阶段的输出是所需事物的集合,而设计阶段提供了完成这些需求的方法。所有的决策所需的必要工具,如编程语言如Java,.NET,PHP,一个数据库,如Oracle,MySQL的,硬件和软件的结合来提供的软件可以在没有任何问题采取这一阶段运行的平台。

有多种技术和工具,例如数据流图、流程图、决策表和决策树、数据字典和结构化字典用于描述系统设计。

3. 构建/开发阶段

在成功完成需求和设计阶段后,下一步是将设计实施到软件系统的开发中。在这个阶段,工作被分成小单元,开发团队根据上一阶段讨论的设计和需求阶段讨论的客户的要求开始编码,以产生预期的结果。

前端开发人员开发简单且有吸引力的GUI和必要的接口与后端操作交互,后端开发人员根据所需的操作进行后端编码。一切都是根据项目经理演示的程序和指南完成的。

由于这是编码阶段,因此在软件开发生命周期中,开发人员需要花费最长的时间和更专注的方法。

4. 测试阶段

测试是完成软件系统的最后一步。在此阶段,在获得开发的 GUI 和后端组合后,根据需求阶段所述的需求进行测试。测试确定软件是否真正根据需求阶段中解决的需求给出结果。开发团队制定测试计划开始测试。该测试计划包括所有类型的基本测试,例如集成测试、单元测试、验收测试和系统测试。非功能测试也在此阶段完成。

如果软件中存在任何缺陷或未按预期工作,则测试团队会向开发团队提供有关该问题的详细信息。如果是一个有效的缺陷或值得整理的缺陷,它会被修复,开发团队将其替换为新的,并且还需要进行验证。

5. 部署/交付阶段

当软件测试完成并获得令人满意的结果,并且软件运行中没有遗留问题时,将其交付给客户使用。

客户收到产品后,建议他们首先进行 Beta 测试。在 beta 测试中,客户可以要求软件中不存在但在需求文档中提及的任何更改或任何其他 GUI 更改,以使其更加用户友好。除此之外,如果客户在使用该软件时遇到任何类型的缺陷;它将通知该特定软件的开发团队以解决问题。如果是严重的问题,那么开发团队会在短时间内解决;否则,如果不太严重,那么它将等待下一个版本。

在解决了所有类型的错误和更改之后,软件最终部署到了最终用户。

6. Maintenance

维护阶段是 SDLC 的最后一个持久阶段,因为它是一个持续到软件生命周期结束的过程。当客户开始使用软件时,实际问题就开始出现,那时就需要解决这些问题。此阶段还包括对硬件和软件进行更改,以保持其运营有效性,例如提高其性能、增强安全功能以及根据客户在即将到来的时间的要求。这个不时照顾产品的过程称为维护。

“因此,所有这些都是软件开发生命周期 (SDLC) 的六个阶段,软件的开发过程在这些阶段发生。所有这些都是强制性阶段,没有任何一个开发是不可能的,因为开发在软件的整个生命周期内持续进行维护阶段”。


软件开发生命周期 (SDLC) 模型

软件开发模型是根据项目目标为项目开发选择的几个过程或方法。为了实现各种目的,我们有许多开发生命周期模型。这些模型确定了过程的多个阶段。为开发软件应用程序选择正确的模型非常重要,因为它将解释我们计划测试的内容、地点和时间。

以下是各种软件开发模型或方法:

  • Waterfall model
  • Spiral model
  • Verification and validation model
  • Prototype model
  • Hybrid model

软件开发生命周期

Waterfall Model

它是第一个顺序线性模型,因为一个阶段的输出是下一个阶段的输入。简单易懂,用于小项目。Waterfall Model的各个阶段如下:

  • Requirement analysis
  • Feasibility study
  • Design
  • Coding
  • Testing
  • Installation
  • Maintenance

有关瀑布模型的信息,请参阅以下链接:

Spiral Model

它是中级项目的最佳套件模型。它也称为循环和迭代模型。每当模块相互依赖时,我们就会选择这个模型。在这里,我们明智地开发应用程序模型,然后交给客户。Spiral Model的不同阶段如下:

  • 需求收集
  • 设计
  • 编码
  • 测试

原型模型

从早期模型中客户拒绝较多的时候开始,我们采用这种模型,因为客户拒绝较少。而且,它允许我们在流程的早期阶段准备一个样本(原型),我们可以将其展示给客户并获得他们的批准并开始进行原始项目。这个模型是指创建应用程序原型的动作。

有关原型模型的信息,请参阅以下链接:

验证和验证模型

它是瀑布模型的扩展版本。它将分两个阶段实施,其中第一阶段,我们将执行验证过程,当应用程序准备就绪时,我们将执行验证过程。在这个模型中,实现发生在 V 形中,这意味着验证过程在向下流下完成,验证过程在向上流中完成。

有关验证和验证模型的信息,请参阅以下链接:

混合模型

当我们需要在单个模型中获取两个模型的属性时,使用混合模型。该模型适用于小型、中型和大型项目,因为它易于应用和理解。

两种模型的组合如下:

  • V and prototype
  • Spiral and Prototype