首页 . 理学 . 计算机科学技术 . 软件工程 . 软件工程理论与方法 . 软件需求工程 . 需求工程过程

需求抽取

/requirements extraction/
条目作者陈小红

陈小红

最后更新 2023-10-26
浏览 104
最后更新 2023-10-26
浏览 104
0 意见反馈 条目引用

发现系统需求的活动。

英文名称
requirements extraction
所属学科
计算机科学技术

在这个活动中,系统开发者和工程师与客户和最终用户一起工作,找出要解决的问题、系统要提供的服务、系统需要达到的性能、硬件约束、等等,这个活动不仅仅局限于询问客户和最终用户需要什么,它要求系统开发者和工程师仔细分析目标系统将运行于其中的现实世界环境和现实世界的运行过程,从中发现待开发系统的上下文,并从待开发系统的上下文要求中推导出对待开发系统的需求。需求抽取在不同的文献中有不同的提法,同时它们也隐含强调了需求抽取过程中的不同特征。例如,“需求发现”想反映这个需求抽取的不确定性,“问题分析”则强调包含需求待求解的问题,理解潜在用户的需要,发现真正的用户和掌握对解决方案的所有约束等在内的整体性活动。

在需求抽取过程中,需求工程师需要像记者一样,根据给出的7个方面的问题去作信息采集的准备,这就是人们常说的W6H事物认识法,即围绕6个以W打头的提问和1个以H打头的提问去认识事物,见表。这些提问实际上涵盖了软件需求工程的主要关注点。

W6H问题列表
Which problem needs to be solved(哪个问题需要解决,识别问题)?
Where is the problem(问题出在什么地方,识别问题的上下文或者问题边界)?
How might a software system help(软件系统将起什么样的作用,识别应用场景)?
Whose problem is it(这是谁的问题,识别需求相关者)?
Why does it need solving(问题为什么需要解决,识别需求相关者的目的)?
When does it need solving(需要什么时候解决,识别开发约束)?
What might prevent us solving it(什么会妨碍我们解决这个问题,识别风险)?

但由于在很多情况下,需求工程师和需求提供者要形成好的合作关系非常困难,人们提出了不同的方法来进行需求的抽取活动,尽可能使需求抽取活动能更有效。常用方法包括问卷法、面谈法、情景法、软系统方法和原型化方法等。

面谈法中,需求工程师面对面地与需求提供者就目标系统进行各种形式的讨论,从而建立起对目标系统的理解。按面谈前是否准备好要讨论的问题进行区分,面谈法可以分为开放式和封闭式两种。所谓封闭式面谈是指需求工程师提前准备好一组需要在面谈中得出结论的问题,而开放式则没有任何事先准备好的面谈议程,需求工程师采用一种完全开放的形式,讨论需求提供者对待开发系统的任何需要。

问卷法是从多个需求提供者中收集信息的有效方法,一般用来作为面谈法的补充形式。问卷法使用问卷进行调查,无法当场澄清问题和可能得到的响应,是被动的。其优点在于回答者有时间去考虑如何回答,而且回答可以是匿名的。其缺点在于回答者不容易弄清楚这些问题的含义。

情景法就是开发出一组交互场景,并用它们来抽取和澄清待开发系统的需求。每个用例对应一到多个情景,每个情景又是由一段交互组成的应用场景,它关注最终用户和目标系统之间的某种交互。需求相关者借助这些交互过程,向需求工程师解释在这些情景中它们每步都要做什么,解释他们在系统执行情景中执行每个任务所需要或要提供的信息。情景的描述形式可以有很多种,不管采用哪种形式,任何情景必须包含信息有:情景开始和结束时的系统状态,正常事件流以及例外情况以及情景中出现的活动等。

原型法适用于需求难以确定而且与需求提供者沟通困难的情况下。它可以呈现出各种图形用户界面,产生对各种用户事件的模拟的系统行为,以直观的方式与需求提供者沟通,以便需求提供者确认系统行为,或者提出对系统行为的修改意见。用于需求抽取阶段的原型一般都是抛弃式原型,不需要留给开发过程下一步使用。

软系统方法(soft system methodology; SSM)关注广义上的社会-技术系统,这种系统包括人、过程和策略、硬件和软件等等,强调产生对整个社会-技术系统的理解,并不注重采用什么模型表示。SSM包含七个基本的活动,即问题情境评估、问题情形描述、抽取系统的定义、概念系统建模、比较模型与现实世界、标志变化、以及提出建议的行为。

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!