您当前所在的位置:首页 / 新闻中心 / 知识百科
新闻中心
行业资讯
常见问题
知识百科
产品技术
推荐新闻

需求工程原理:观点,分析与可行性

发表于:2019-11-16

“我为能为客户打板球而感到骄傲”-激动的开发商说

“但是您应该为我设计地球仪以研究地理” –沮丧的客户回答

这些对话在需求工程主题不存在的地方很常见。另一个例子如下:

约翰·冯·诺伊曼(John von Neumann)引用了一句话“ 即使您根本不知道自己在说什么,也没有确切的道理。
没有需求工程是喜欢流浪发展,你永远无法知道你是否会达到预期的目标或没有。需求工程是收集,分析,检查可行性,验证和记录肯定存在于交付系统中的服务的全过程。信息来源可以是任何以前的文档或利益相关者的观点。
它不是顺序过程,而是以特定顺序执行一次。相反,这是一个活动相互关联且重复的过程。

为什么需要工程?

“我想要一些圆形或椭圆形的
 东西” –(他们可能不知道他们到底需要什么)
我想要一些“全局的”东西–
(他们可能使用一些自己的奇怪术语)

此外:

  • 如果客户是一群人,那么每个人都有自己的观点。

  • 随着产品的发展,许多因素可能会继续影响系统要求

质量是软件开发的最重要方面,要交付高质量的软件,对高质量的要求至关重要。

“ 构建软件系统中最难的部分就是精确地决定要构建什么。建立概念上的详细技术要求,包括与人,机器和其他软件系统的所有接口,没有任何其他概念性工作如此困难。如果做错了,工作的其他部分都不会破坏最终的系统。Jr. Fredrick P. Brooks,J.在书中说,以后再进行纠正就再难了。

这就是需求工程   的福音。

工程师要求如何?

遵循以下三个基本原则可以算是需求工程。

1)观点

该原则要求在规定要求之前了解利益相关者的观点。我们需要了解利益相关者或其业务的实际问题是什么。有两个主要工具可以涵盖“视点”,即:

a)需求收集–收集实质上是指收集可用的信息。
这可能包括:

  • 存储在文档中的信息

  • 系统中存储的信息

  • 客户端涉众已经提取的信息

b)需求征求–征求是从利益相关者那里获取信息的附加但极其重要的步骤,而文件中尚不存在这种信息。可以通过进行。诸如采访等过程,RE团队向利益相关者提出有关他们使用的系统和他们想要开发的系统的问题。

这基本上是围绕回答6个重要问题:

  • 谁应该参与?

  • 他们想要什么?

  • 它在哪里(在什么情况下)起作用?

  • 他们为什么想要它?

  • 我们怎么知道?

  • 我们什么时候建造?

在此步骤中,还必须了解客户的组织文化,并了解为他们服务的工具,模型和实践。在分布式团队中,为并置团队提供结果的相同工具,模型和实践可能效果不佳。

2)分析

该原则规定将收集的原始数据转换为合同样式的需求记录文档,并在系统尚未构建之前就将其可视化。有三个主要工具可以涵盖“分析”即:

a)需求清单–此步骤涉及创建需求清单,并进一步在项目发起人和开发人员之间建立清单协议。
对于较大的系统,这可能是一个高级描述,从中可以得出较低级别的要求。

b)原型–这涉及创建虚拟版本,使发起人和开发人员可以了解系统的外观。过去,原型已导致及早发现未来变化,从而降低了总体成本。
这也导致赞助商和开发人员之间的交流有了重大改进。
c)方案和用例–用例和用例以文本格式描述软件和系统的行为。它还定义了用户打算如何使用该软件。它通常避免使用技术术语或实现细节,并且始终仅限于最终用户或软件分析师的语言或行为。

3)可行性

该原则声明要验证需求是否满足组织目标。如果实现了收集的需求,它还将检查当前系统是否将转换为预期系统或目标系统。有两个关键工具可以涵盖可行性,即:

a)需求验证–此步骤涉及验证定义的需求是否满足客户需求。交付后发现并纠正需求中的错误的成本可能比在初期阶段修复它的价格高100倍。

它涉及回答四个关键问题:–

  • 一致性:是否有任何矛盾的要求?

  • 完整性:是否已考虑并提及客户提到的所有主要功能点?

  • 现实主义:是否真的有可能在给定的预算,时间表和技术下实施要求?

  • 可验证性:是否可以检查需求?

b)需求审核–此步骤涉及开发人员以及客户和承包商人员定期审核需求。

这涉及到回答四个关键问题:

  • 可验证性:是否真的有可能在实际场景中测试需求?

  • 可理解性:是否容易正确理解/理解需求?

  • 可追溯性:我们是否清楚地知道并提到了需求的根源?

  • 适应性:需求是否可以修改,而对同等需求没有太大影响?

SAGA的文档–需求管理

需求管理是记录在RE过程或开发过程中收集的需求的过程。这涉及对VAF的三个步骤中收集的信息进行详细描述。

“因此,有文件证明您需要地球仪”-分析师说:
“是的,但我需要地球仪成为一个正方形。” –客户提出了变更

由于客户不断发展的业务需求而导致的需求变更是不可避免的,并且最确定的是即将发生。不同的观点会产生不同的要求,从而导致RE的另一个重要方面–变更管理。

变更管理
它包括三个步骤,即:
a)问题分析–迭代步骤,以识别现有需求中的确切问题并提出变更建议

b)变更分析–合并变更对整体预算和其他相关要求的影响

c)更改实施–更新需求文档并通知相关团队的步骤。

游客