软件需求调查通常采用的形式如下:问卷调查、采访、焦点小组讨论、实验以及在线调研等。
软件需求是用户解决问题或达到目标所需条件或权能(Capability)。系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。
一种反映上面所述条件或权能的文档说明。它包括功能性需求及非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求,质量标准,或者设计限制。
80年代中期,形成了软件工程子领域——需求工程(requirement engineering, RE)。从1993年起每两年举办一次需求工程国际研讨会(ISRE),自1994年起每两年举办一次需求工程国际会议(ICRE),一些关于需求工程的工作小组相继成立。
需求工程是随着计算机的发展而发展的,在计算机发展的初期,软件规模不大,软件开发所关注的是代码编写,需求分析很少受到重视。后来软件开发引入了生命周期的概念,需求分析成为其第一阶段。
结构化分析方法
结构化分折方法是一种单纯的由顶向下逐步求精的功能分解方法。分析员首先用上下文图表表示系统的所有输入/输出,然后反复地对系统求精,每次求精都表示成一更详细的DFD从而建立关于系统的一个DFD层次。
为保存DFD中的这些信息,使用数据字典来存取相关的定义、结构及目的。SA方法是目前实际应用效力广泛的需求工程技术。它具有较好的分别、抽象能力,为开发小组找到了一种中间语言,易于软件人员所掌握。