📜  软件开发生命周期

📅  最后修改于: 2021-01-07 06:20:20             🧑  作者: Mango


软件开发生命周期,简称SDLC,是软件工程中定义明确的结构化阶段序列,用于开发预期的软件产品。

SDLC活动

SDLC提供了一系列步骤,可以有效地设计和开发软件产品。 SDLC框架包括以下步骤:

SDLC

通讯

这是用户启动对所需软件产品的请求的第一步。他联系服务提供商并尝试协商条款。他以书面形式向服务提供组织提交了请求。

需求收集

此后,软件开发团队将继续进行该项目。该团队与问题领域的各个利益相关者进行了讨论,并试图从他们的需求中获取尽可能多的信息。需求被考虑并分为用户需求,系统需求和功能需求。这些要求是通过以下几种实践收集的:

  • 研究现有或过时的系统和软件,
  • 进行用户和开发人员的采访,
  • 引用数据库或
  • 从问卷中收集答案。

可行性研究

在需求收集之后,团队提出了软件过程的粗略计划。在这一步,团队分析是否可以制造出满足用户所有需求的软件,以及是否有软件不再有用的可能性。可以发现,该项目在组织上在财务,实践和技术上是否可行。有许多可用的算法,可帮助开发人员总结软件项目的可行性。

系统分析

在这一步,开发人员确定其计划的路线图,并尝试提出适合该项目的最佳软件模型。系统分析包括了解软件产品限制,事先了解系统相关问题或在现有系统中进行的更改,识别和解决项目对组织和人员的影响等。项目团队分析项目范围并计划进度和资源相应。

软件设计

下一步是在桌面上降低需求和分析的全部知识,并设计软件产品。来自用户的输入和在需求收集阶段收集的信息是此步骤的输入。此步骤的输出采用两种设计形式:逻辑设计和物理设计。工程师生成元数据和数据字典,逻辑图,数据流图,在某些情况下还包括伪代码。

编码

此步骤也称为编程阶段。软件设计的实现从以合适的编程语言编写程序代码并有效地开发无错误的可执行程序开始。

测试中

据估计,应测试整个软件开发过程的50%。错误可能会使软件从关键级别毁灭到自己删除。开发人员在进行编码的同时进行软件测试,而测试专家则在各个代码级别进行全面测试,例如模块测试,程序测试,产品测试,内部测试以及在用户端测试产品。早期发现错误及其补救措施是可靠软件的关键。

积分

软件可能需要与库,数据库和其他程序集成在一起。 SDLC的这一阶段涉及软件与外部世界实体的集成。

实作

这意味着在用户计算机上安装软件。有时,软件需要在用户端进行安装后配置。测试软件的可移植性和适应性,并在实施过程中解决与集成相关的问题。

运维

此阶段以更高的效率和更少的错误来确认软件的运行。如果需要,将对用户进行有关如何操作软件以及如何使软件保持运行状态的培训,或提供相应的文档。通过根据用户端环境或技术中发生的更改更新代码来及时维护软件。这个阶段可能会面临来自隐藏的错误和现实中无法识别的问题的挑战。

性格

随着时间的流逝,该软件在性能方面可能会下降。它可能会完全过时,或者可能需要升级。因此,迫切需要消除系统的主要部分。此阶段包括存档数据和所需的软件组件,关闭系统,计划部署活动以及在适当的系统结束时间终止系统。

软件开发范例

软件开发范例可帮助开发人员选择开发软件的策略。软件开发范例具有其自己的一组工具,方法和过程,这些工具,方法和过程可以清楚地表达并定义软件开发生命周期。如下定义了一些软件开发范例或过程模型:

瀑布模型

瀑布模型是软件开发范例的最简单模型。它说SDLC的所有阶段将函数一个又一个线性方式。也就是说,当第一阶段完成时,仅第二阶段将开始,依此类推。

该模型假设一切都按照上一阶段的计划进行并完美地进行,并且无需考虑下一阶段可能出现的过去问题。如果上一步还有一些问题,该模型将无法正常运行。模型的顺序性质不允许我们返回并撤消或重做我们的操作。

当开发人员过去已经设计和开发了类似软件并且知道其所有领域时,该模型最适合。

迭代模型

该模型在迭代中领导软件开发过程。它以周期性的方式规划开发过程,在SDLC过程的每个周期之后重复每个步骤。

迭代模型

该软件首先是在很小的规模上开发的,并且遵循了所有步骤,并将这些步骤考虑在内。然后,在每次下一次迭代中,将设计,编码,测试并添加更多功能和模块到软件中。每个周期都产生一个软件,该软件本身是完整的,并且比以前的软件具有更多的特性和功能。

每次迭代之后,管理团队都可以进行风险管理工作,并为下一次迭代做准备。因为一个周期只占整个软件过程的一小部分,所以管理开发过程更容易,但会消耗更多资源。

螺旋模型

螺旋模型是迭代模型和SDLC模型之一的组合。可以看出,好像您选择了一个SDLC模型并将其与循环过程(迭代模型)结合在一起。

螺旋模型

该模型考虑了风险,大多数其他模型通常不会注意到这一风险。该模型从一轮迭代开始时确定软件的目标和约束开始。下一阶段是对该软件进行原型设计。这包括风险分析。然后使用一种标准的SDLC模型来构建软件。在计划的第四阶段,准备下一个迭代。

V –型号

瀑布模型的主要缺点是,只有在上一个模型完成后才进入下一个模型,如果在后面的模型中发现错误,则没有机会返回。 V-Model提供了在每个阶段以相反方式测试软件的方法。

V型

在每个阶段,都会创建测试计划和测试用例,以根据该阶段的要求来验证和验证产品。例如,在需求收集阶段,测试团队根据需求准备所有测试用例。稍后,当产品开发完毕并准备进行测试时,此阶段的测试用例将验证软件是否符合其在此阶段对要求的有效性。

这使得验证和确认并行进行。此模型也称为验证和确认模型。

大爆炸模型

该模型是形式上最简单的模型。它需要很少的计划,大量的编程和大量的资金。这个模型是围绕宇宙大爆炸概念化的。正如科学家所说,在发生了巨大的爆炸之后,许多星系,行星和恒星也随之演化。同样,如果我们将大量编程和资金投入在一起,则您可能会获得最佳的软件产品。

大爆炸模型

对于此模型,需要非常少量的计划。它不遵循任何过程,或者有时客户不确定需求和未来需求。因此输入要求是任意的。

该模型不适用于大型软件项目,但适合于学习和实验。

要深入了解SDLC及其各种模型,请单击此处。