需求获取可能是软件开发中最困难、最关键、最易出错及最需要交流的方面。需求获取只有通过有效的客户一开发者的合作才能成功。
在需求分析的初期,分析人员对问题知之甚少,用户对问题的描述、对目标软件的要求通常也是相当零乱和模糊的。更为严重的是,分析人员与用户的知识领域不同,从而造成相互理解方面的困难。因此,在需求分析过程中,为了能够获得系统真正的需求,往往需要进行需求捕获,也就是去寻找需要与软件系统开发有关的系统信息。
对需求问题的全面考察需要一些相关的技术和方法,这些技术和方法不但考虑了问题的功能需求方面,还可通过讨论获得项目的非功能需求。
常用的需求获取方法包括以下几种:
1、用户访谈
用户访谈是一种最基本的需求获取手段,它是指分析人员以个别访谈或小组会议的形式与用户进行初步的沟通。用户访谈的形式包括结构化和非结构化两种,结构化是指分析人员按照一定准则事先准备好一系列问题,通过用户对问题的回答来获取有关目标软件方面的内容;非结构化则是只列出一个粗糙的想法,根据访谈的具体情况来进行发挥。