SDLC面试的前30个问题和解答

SDLC面试问题

大多被问到 SDLC面试问答 如下所述:

快速链接



1)什么是SDLC?什么是SDLC流程?

SDLC是“软件开发生命周期“ SDLC是遵循开发过程中每个步骤的系统化软件开发过程。整个过程可能涉及不同的软件开发方法。SDLC可用于提高软件质量并确保软件正确满足用户期望。

2)SDLC流程涉及哪些不同阶段?

SDLC方法用于系统地设计或开发软件。以下是SDLC流程涉及的阶段:

计划或需求分析
系统设计
发展历程
编码
测验
部署与维护

软件开发生命周期(SDLC)阶段

3)SDLC的初始阶段是什么?

软件开发生命周期的初始阶段称为“计划或需求分析”。这意味着开发人员要确定项目的基本要求,并制定实现该方法的计划。在初始阶段会执行多种因素,例如技术,经济和操作可行性。在此阶段中还将讨论可能构成软件项目一部分的潜在风险和其他意外情况。

4)什么是可行性研究?是谁啊

可行性研究是软件开发生命周期的重要因素之一。它可以评估任何组织对软件项目开发的可行性和有益性。软件分析师负责进行完整的研究,以了解任何项目的技术,经济和操作可行性。

技术:根据技术研究,衡量是否可以根据要求开发系统。该研究还包括运行该软件的设备和操作系统的适用性。技术研究中还审查了项目所需的工具和实用程序。

经济:所有经济因素,例如资源运输,培训成本,工具和公用事业成本以及其他成本和收益,均根据经济可行性估算。

操作:运营研究使我们能够衡量组织是否将根据软件项目的需求根据所做的更改进行适当的调整。该研究还包括更改是否有用。

5)SDLC的设计阶段是什么?

在设计阶段,根据软件需求规范(SRS)设计用于软件开发的基本结构。要求和其他详细信息记录在 DDS(设计文件规范)。需求进一步转换为逻辑结构,并通过特定的编程语言以软件形式实现。设计阶段是软件开发生命周期中最具挑战性的阶段。 

6)SRS是什么意思?

SRS代表“软件需求规范”。它通常是在需求收集时生成的文档。 SRS是指开发人员与客户之间的协议,其中包含要开发的软件的所有功能和非功能要求。 SRS充当软件设计阶段的输入。它是通过业务分析师,客户和技术团队之间的适当沟通来构建的。

功能要求:功能需求是用户期望软件提供的功能和规格。


非功能需求:非功能性需求包括安全性,性能,用户界面设计,互操作性,成本等,用户期望软件提供这些功能。

7)陈述编码阶段的重要性。

在SDLC的编码阶段,设计文档将转换为可执行的编程语言。这意味着根据SRS和DDS在此阶段执行用于软件开发的实际编程或编码。根据要求,选择编程语言,例如Java,Python或C#等。

据说此阶段是软件开发生命周期的最长阶段。从编码阶段获得的输出充当测试阶段的输入。

8)SDLC的测试阶段是什么?

在部署软件之前,请对照DDS对程序或代码进行测试,以确保该软件实际上是根据需求分析阶段中所解决的规范执行的。在测试阶段,将完成各种类型的测试,例如单元测试,集成测试,系统测试和验收测试等。软件测试团队与开发人员紧密合作,以检测和解决以前可能发生的软件错误。相。重新测试整个软件,直到满足SRS中概述的指定要求。

如今,有先进的测试工具可让公司或组织针对选定的自定义要求测试软件。

9)在部署和维护阶段执行哪些任务?

测试软件后,将其分发/部署给客户以供其使用。该软件可以作为演示发布,以获取用户反馈,以进一步改进它。转移软件的身份验证和所有权,部署任务以及关闭软件项目的过程在部署阶段完成。

但是,即使在测试阶段之后,在部署后也要执行软件维护,以实现新的要求并修复软件中存在的错误。在维护阶段对软件进行持续监控以衡量其 稳定性,灵活性,性能和用户友好性.

10)解释软件发布过程。

软件发布过程是向客户分发软件。在测试阶段之后,项目经理通常会建立一个由开发人员,测试人员,系统管理员和项目管理执行人员组成的发布团队。发布团队负责软件的部署,并在必要时提供使用软件的培训。

11)软件开发生命周期有哪些不同的模型?

SDLC中使用了几种模型。以下是常用的SDLC方法或模型:

敏捷模型
瀑布模型
螺旋模型
快速应用开发(RAD)模型
迭代或增量模型
进化原型模型
V型模型
大爆炸模型
能力成熟度模型
DevOps模型

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

12)哪种SDLC模型最好?

根据开发过程的要求采用SDLC模型。每种型号均提供用于软件开发的独特功能。因此,可能会因软件而异,以决定哪种模型最好。但是,敏捷模型目前是软件公司最流行和广泛采用的模型。

13)SDLC中的敏捷模型是什么?敏捷模型的优点是什么? 

敏捷方法是一种快速而现实的开发方法,可以在两到三周内交付功能需求很少的软件。该模型基于迭代和增量开发,其中需求和解决方案是通过跨职能团队之间的协作来开发的。在每次迭代中,都要测试软件。

随着测试人员和开发人员共同确定软件是否满足要求,敏捷方法需要客户的更多参与和支持。敏捷方法的风险很小,因为会根据用户反馈不断进行更改。

敏捷模型的优势
它易于实现,理解和使用。
它具有简单易用的可交付成果,这些交付成果通常以冲刺为基础进行计划,以确保频繁且高质量的可交付成果。
它适用于小型和大型软件开发项目。

14)SDLC中的Waterfall模型是什么?写出它的优缺点。

瀑布模型是最早且被广泛使用的软件开发过程之一。该模型基于顺序设计过程,这意味着我们仅在第一阶段成功完成后才进入下一阶段。因此,它也被称为“线性顺序生命周期模型“。这种类型的开发模型通常用于没有不确定要求的小型项目。

瀑布模型的优点
简单,易于理解和使用。
适用于要求易于理解的小型项目。
由于模型的刚性,易于管理(每个阶段都有特定的可交付成果和审查过程)。
由于其线性过程,易于实现。
允许部门化和管理控制。

瀑布模型的缺点
估计过程的时间和成本困难,导致产品交付延迟。
长期和进行中的项目的模型不佳。
大量的风险和不确定性。
当前开发过程中难以实现新功能或要求。
不适合复杂和面向对象的项目或需求处于中等到高的变更风险的项目。

15)SDLC中的螺旋模型是什么?

螺旋模型类似于通常在高风险项目中实施的迭代模型。螺旋生命周期模型包括四个阶段:计划,风险分析,工程和评估。一个软件项目在迭代中经历了这些阶段(在此模型中称为“螺旋”)。此模型中的所有活动都是螺旋式组织的。

螺旋模型是原型模型和瀑布模型的组合。它通常用于大型,昂贵和复杂的项目。

16)SDLC中的RAD模型是什么?

RAD一词代表“快速的应用开发”。顾名思义,RAD模型是通过以下方式开发快速和高质量软件产品的技术:


使用研讨会或焦点小组的要求。
原型设计以及早期,反复的用户测试设计。
重用软件组件。
严格的进度计划推迟了对下一个产品版本的设计改进。
审核和其他团队沟通的形式化程度较低。

17)SDLC中的迭代模型是什么?

迭代模型不会尝试从需求的完整说明开始。取而代之的是,开发仅从指定和实现软件的一部分开始,然后可以对其进行检查以识别进一步的需求。然后重复此过程,为模型的每个周期创建一个新版本的软件。迭代模型非常易于理解和使用。

18)SDLC中的原型模型是什么?

原型模型是最终软件的直接近似,但并非基于严格的计划。原型通常是软件的有效样本,允许用户测试产品以确保其满足他们的需求。

根据分析和客户反馈,开发人员重新定义需求,修改软件设计并产生新的原型。原型逐渐得到增强和更新,并在实时环境中与客户进行了测试。由于解决了问题,并且在实施之前已添加了客户的所有要求,因此该过程减少了开发的总成本和时间。可用的原型类型为 快速,增量,进化和极限.

19)原型模型有哪些不同类型?

以下是原型模型的类型:

修补原型
非操作原型
第一个系列原型
所选功能原型

20)SDLC中的V形模型是什么? V形模型有哪些优点和缺点? 

V形模型是瀑布模型的更新形式。顾名思义,V形模型代表验证和验证模型。验证阶段包括需求分析,产品设计,体系结构设计和模块设计。验证阶段包括单元测试,系统测试,集成和验收测试。在V形模型中,只有在成功完成最后一个阶段后才开始一个阶段。开发人员和测试人员并行工作以达到产品要求。 

V形模型的优点
由于执行了多个测试阶段,因此成功率更高。
由于进行了多阶段测试,因此提高了产品质量。
每个阶段都有特定的可交付成果。
支持各种开发方法,例如结构化和面向对象的系统开发。
适用于要求易于理解的小型项目。


V形模型的缺点
昂贵,僵硬和最不灵活。
软件是在实施阶段开发的,因此不会有软件项目的原型。
由于整个系统(包括测试文档和需求文档)都将被更新,因此很难在流程的中间添加新的需求和更改。

21)SDLC中的大爆炸模型是什么?

大爆炸模型没有具体过程。计划花费的时间更少,无需大量分析和研究即可实施需求。它通常用于小型项目,不建议用于大型或复杂项目。 Big Bang模型是高风险模型,即使客户不确定他们的需求和目标。如果需求被误解,则整个项目可能会走错方向,并且可能必须重新启动。

22)SDLC中的能力成熟度模型是什么?能力成熟度是多少?

能力成熟度模型(CMM) 是用于分析和衡量组织中遵循的软件开发过程的成熟度的标准或基准。这是用于发展和完善公司的技术’的软件开发过程。

CMM可用于根据某些关键过程领域(KPA),根据五个过程成熟度级别对组织进行评估。它根据组织与客户合作的项目描述组织的成熟度。

能力成熟度模型的五个不同级别是:

初始
可重复的
已定义
托管(有能力)
优化(高效)

23)SDLC中的DevOps模型是什么?

DevOps方法论是软件开发生命周期过程中的最新方法论之一。顾名思义,开发人员和运营团队作为一个团队紧密合作。这有助于加速创新并部署更高质量和更可靠的软件产品和功能。在DevOps模型中,为软件产品提供了较小且频繁的更新。纪律,持续的反馈和流程改进以及手动开发流程的自动化都是DevOps模型的标志。

24)简要说明HLD和LLD。

HLD:HLD代表“高级设计“。它提供了功能架构和数据库设计方面的整体系统设计。它包括从主模块到所有子模块的整个系统架构设计。

低密度脂蛋白:LLD代表“低层设计“。在HLD期间开发的应用程序的视图分为模块和程序。然后分别设计。对每个应用程序或程序进行逻辑设计,然后根据程序的规定说明进行记录。还进行单元测试。对于每个程序。

25)SDLC中需求收集的作用是什么?

在SDLC的初始阶段,完成了需求分析和收集。根据输入数据和所需输出来分析项目需求。在此阶段,还将分析项目的成本分析,收益和进度。业务分析师负责从客户那里收集需求并记录下来。该文档可以称为 BRS(业务需求规范) 要么 CRS(客户需求规范) 要么 PRD(产品要求规范) 要么 URS(用户需求规范) 要么 BDD(业务设计文档). 各个公司的文档名称可能有所不同,但是过程是相同的。

26)STLC是什么意思?与SDLC有何不同?

薄层色谱代表“软件测试生命周期”。 薄层色谱是一种以计划的,系统的方式测试任何软件的过程。不同的组织在其软件测试过程中具有不同的阶段和方法。但是,通用STLC涉及以下阶段:

规划
测试设计
执行
评估退出标准
关闭

SDLC和STLC之间的区别:

SDLC和STLC之间的主要区别如下表所示:

SDLC 薄层色谱
软件开发生命周期(SDLC)是从设计到部署的系统的软件开发过程。 软件测试生命周期(STLC)是通过遵循不同的测试阶段对软件进行系统测试的过程。
SDLC包括对过程或项目的完整验证和确认。 薄层色谱仅包含验证。
需求是根据市场和销售数据计算得出的,并由开发团队进行分析。 测试团队从SRS(软件需求规范)中收集需求,以测试软件是否符合要求。
根据SRS的需要进行编码以开发软件。 进行编码以开发测试用例并确定使用这些用例的测试点。


27)软件维护是什么意思?可以在软件维护中执行软件错误修复吗?

软件维护是SDLC的过程。交付后修改或更新现有软件对于修复错误和提高性能是必要的。有时,客户还需要新功能。因此,由开发人员,测试人员和项目经理人员组成的维护团队由负责软件维护的项目经理组成。

各种类型的软件维护包括:

矫正:删除用户报告的错误。
适应性强:处理部署软件的硬件和软件环境中的更改。
完美的:按用户添加新要求或功能’s need.
预防性:采取适当措施以避免将来出现问题。

28)项目的“范围”是什么意思? 

项目范围或软件范围是项目的预定义目标,目的和期望。这是一个定义明确的边界,其中包含开发和分发软件产品所需的所有阶段。该软件范围还包括将作为软件一部分分发的所有工件,特征和功能。该范围还有助于确定最终软件将执行的工作及其涉及的范围。

29)SDLC的主要目标是什么?

软件开发生命周期的主要目的是遵循系统的,计划好的方法为客户创建强大的软件应用程序。整个软件开发过程分为几个阶段,可以轻松评估每个开发阶段并在每个阶段并行工作。 SDLC不仅有助于轻松开发,而且还有助于确保软件满足客户要求。

30)软件开发生命周期的优缺点是什么?

优点:

在每个阶段的末尾创建正式审查,以实现最大程度的管理控制。
SDLC方法可帮助开发人员创建大量的系统文档,从而确保软件要求满足既定的业务目标。
根据用户定义的标准和要求,可以使用这种方法生产许多中间产品。可以进一步改进这些产品,以确保业务需要它。

缺点:

制作文档既耗时又昂贵。保持更新更加困难。
SDLC鼓励严格执行而不是创造性。
用户可能无法根据其业务需求轻松查看和评估中间产品(例如数据流程图)。



订阅以获取所有最新更新!


最新教程



与我们博客

联系我们

像Facebook上的Tutorialsmate 在Facebook上关注Tutorialsmate 在Facebook上添加Tutorialsmate 在Facebook上订阅Tutorialsmate 在Facebook上关注Tutorialsmate 在Facebook上关注Tutorialsmate
Get tutorialsmate on Google Play
© 2020 教程伴侣。由...设计 教程伴侣