📅  最后修改于: 2021-01-07 06:22:57             🧑  作者: Mango
软件要求是对目标系统的特征和功能的描述。需求传达了用户对软件产品的期望。从客户的角度来看,需求可能是显而易见的或隐藏的,已知的或未知的,预期的或意外的。
从客户端收集软件需求,对其进行分析和记录的过程称为需求工程。
需求工程的目标是开发和维护复杂且描述性强的“系统需求规范”文档。
这是一个四步过程,其中包括–
让我们简要地看一下过程-
当客户与组织联系以开发所需的产品时,会想到一个基本的想法,即软件必须执行的所有功能以及软件应具有的所有功能。
参考这些信息,分析人员对所需的系统及其功能是否可行进行了详细的研究。
此可行性研究的重点是组织的目标。这项研究从实施,项目对组织的贡献,成本约束以及组织的价值和目标方面分析了软件产品是否可以实际实现。它探讨了项目和产品的技术方面,例如可用性,可维护性,生产力和集成能力。
此阶段的输出应为可行性研究报告,其中应包含足够的意见和建议,以供管理层考虑是否应进行该项目。
如果可行性报告对开展该项目有积极意义,则下一阶段从收集用户需求开始。分析师和工程师与客户和最终用户进行交流,以了解他们对软件应提供的内容以及希望软件包含哪些功能的想法。
SRS是系统分析师从各个利益相关者收集需求之后创建的文档。
SRS定义了目标软件将如何与硬件,外部接口,操作速度,系统响应时间,跨各种平台的软件可移植性,可维护性,崩溃后的恢复速度,安全性,质量,限制等进行交互。
从客户那里收到的要求是用自然语言编写的。系统分析员有责任以技术语言记录需求,以便软件开发团队可以理解和使用这些需求。
SRS应该具备以下功能:
制定需求规范后,将验证本文档中提到的需求。用户可能会寻求非法,不切实际的解决方案,或者专家可能会错误地解释需求。如果不及时采取行动,这将导致成本的巨大增加。可以根据以下条件检查需求-
需求启发过程可以使用下面的图来描述:
谈判与讨论-如果需求含糊不清或各种利益相关者的需求存在某些冲突(如果存在),则与利益相关者进行谈判和讨论。然后可以对需求进行优先排序并合理地折衷。
要求来自各个利益相关者。为了消除歧义和冲突,为了清楚和正确起见,对它们进行了讨论。不切实际的要求被合理地折中。
需求征询是通过与客户端,最终用户,系统用户以及与软件系统开发有利益关系的其他人进行沟通来找出目标软件系统的需求的过程。
有多种发现需求的方法
面试是收集需求的有力媒介。组织可以进行几种类型的采访,例如:
组织可以通过查询即将到来的系统对他们的期望和要求,在各个利益相关者之间进行调查。
包含一组预先定义的客观问题和相应选项的文档将移交给所有利益相关者回答,并收集和整理。
此技术的缺点是,如果问卷中未提及某个问题的选项,则该问题可能会无人看管。
工程师和开发人员团队可能会分析需要新系统的操作。如果客户端已经有一些软件来执行某些操作,则对其进行研究并收集所提出系统的要求。
每个软件都属于某个领域类别。该领域的专家可以为分析一般和特定需求提供很大的帮助。
各种利益相关者之间进行了一次非正式辩论,并记录了他们的所有投入以进行进一步的需求分析。
原型制作是在不增加详细功能的情况下建立用户界面,以供用户解释预期软件产品的功能。它有助于更好地了解需求。如果客户端没有安装任何软件供开发人员参考,并且客户端不了解自己的要求,则开发人员将根据最初提到的要求创建原型。将原型显示给客户,并记录反馈。客户反馈充当需求收集的输入。
专家团队访问客户的组织或工作场所。他们观察现有已安装系统的实际工作。他们在客户端观察工作流程以及如何解决执行问题。团队本身会得出一些结论,有助于形成软件预期的要求。
收集软件需求是整个软件开发项目的基础。因此,它们必须清晰,正确且定义明确。
完整的软件需求规范必须为:
我们应该尝试了解在需求引发阶段可能会产生什么样的需求,以及软件系统会期望什么样的需求。
大致上,软件需求应分为两类:
与软件功能方面相关的需求属于此类。
它们定义了软件系统内部和外部的功能。
与软件功能方面无关的需求属于此类。它们是用户假定的软件的隐式或预期特性。
非功能性要求包括-
需求在逻辑上分类为
在开发软件时,必须实施“必须具备”,“应该具备”是与利益相关者讨论和否定的问题,而可以保留“可能拥有”和“愿望清单”以进行软件更新。
UI是任何软件,硬件或混合系统的重要组成部分。如果软件符合以下条件,则该软件被广泛接受-
用户的接受程度主要取决于用户如何使用该软件。 UI是用户感知系统的唯一方法。一个性能良好的软件系统还必须配备吸引人的,清晰,一致和响应迅速的用户界面。否则无法方便地使用软件系统的功能。如果系统提供了有效使用它的手段,那么它就是好的。用户界面要求简要介绍如下-
IT组织中的系统分析师是一个人,他分析提议的系统的需求并确保正确,正确地记录和记录需求。分析人员的角色在SDLC的软件分析阶段开始。分析人员有责任确保开发的软件满足客户的要求。
系统分析师具有以下职责:
软件度量可以理解为量化和符号化软件的各种属性和方面的过程。
软件度量标准提供了针对软件过程和软件产品各个方面的度量。
软件措施是软件工程的基本要求。它们不仅有助于控制软件开发过程,而且有助于使最终产品的质量保持卓越。
根据(软件工程师)Tom DeMarco的说法,“您无法控制无法测量的内容。”用他的话说,很清楚软件措施的重要性。
让我们看看一些软件指标:
大小度量标准-LOC(代码行),通常以数千个已交付的源代码行来计算,表示为KLOC。
功能点计数是软件提供功能的度量。功能点计数定义软件功能方面的大小。
质量指标-缺陷,缺陷的类型和原因,后果,严重性的强度及其含义定义了产品的质量。
在开发过程中发现的缺陷数量以及在客户端安装或交付产品后客户报告的缺陷数量决定了产品的质量。