📜  软件开发生命周期

📅  最后修改于: 2021-01-10 15:37:33             🧑  作者: Mango

软件开发生命周期(SDLC)

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

SDLC描述了软件开发的各个阶段以及阶段的执行顺序。在软件开发的生命周期中,每个阶段都需要从上一阶段交付。需求转化为设计,设计转化为开发,开发转化为测试;经过测试,将其提供给客户端。

让我们详细了解所有阶段:

软件开发周期的不同阶段

1.需求阶段

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

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

2.设计阶段

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

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

3.建设/开发阶段

成功完成需求和设计阶段后,下一步就是将设计实施到软件系统的开发中。在此阶段中,工作被分为小部分,由开发人员团队根据上一阶段中讨论的设计并根据需求阶段中讨论的客户的需求开始编码,以产生期望的结果。

前端开发人员开发易于使用且具有吸引力的GUI和与后端操作进行交互的必要界面,并且后端开发人员根据所需操作进行后端编码。所有操作均按照项目经理演示的程序和指南进行。

由于这是编码阶段,因此在软件开发生命周期中,对于开发人员而言,它需要花费最长的时间并且需要更多的针对性方法。

4.测试阶段

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

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

5.部署/交付阶段

当软件测试完成并获得令人满意的结果,并且在软件工作中没有剩余问题时,该软件将交付给客户使用。

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

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

6.保养

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

“因此,所有这些都是软件开发生命周期(SDLC)的六个阶段,在这些阶段中进行软件开发过程。所有这些都是必修阶段,没有任何一项开发是不可能的,因为在维护软件的整个生命周期中,开发都将继续相”。

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

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

这里是各种软件开发模型或方法:

  • 瀑布模型
  • 螺旋模型
  • 验证模型
  • 原型模型
  • 混合模型

瀑布模型

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

  • 需求分析
  • 可行性研究
  • 设计
  • 编码
  • 测验
  • 安装
  • 保养

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

螺旋模型

它是中级项目的最佳套件模型。它也称为循环和迭代模型。只要模块相互依赖,我们就采用这种模型。在这里,我们明智地开发应用程序模型,然后移交给客户。螺旋模型的不同阶段如下:

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

有关螺旋模型的信息,请参见以下链接:

原型模型

从较早的模型中客户拒绝率较高的时候开始,由于客户拒绝率较小,因此我们选择此模型。而且,它还允许我们在流程的早期阶段准备样本(原型),我们可以向客户展示该样本(原型)并获得他们的认可,然后开始着手进行原始项目。该模型是指创建应用程序原型的操作。

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

验证与确认模型

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

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

混合模型

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

两种模型的组合如下:

  • V和原型
  • 螺旋和原型