3.3.1 需求的获取
(1)访谈。访谈法是最早开始使用的获取用户需求的技术,也是迄今为止仍在广泛使用的需求获取技术。
访谈有两种基本形式:一是正式访谈,一是非正式的访谈。正式访谈时,系统分析员要事先准备一些具体问题,这类问题一般具有固定的答案。非正式访谈时,分析员所提出的问题是开放性的,没有固定答案,目的是鼓励用户说出自己的想法。
当需要调查大量人员的意见时,也可以采取调查表的做法。调查表的书面表达方式,往往更正式、更准确。分析员在收集调查表后需要仔细阅读,然后再有针对性地访问一些用户,以便向用户询问新发现的问题。
(2)简易的应用规格说明技术。在使用传统的访谈法时,用户处于被动地位,而且往往有意无意与开发者区分“彼此”,双方无法进行深入交流,而这恰恰是准确获取需求的关键,所以有时并不能获得理想的效果。
为了解决上述问题,人们研究出一种面向团队的需求收集方法,称为简易的应用规格说明技术。这种方法提倡用户和开发者密切合作,共同标识问题,提出解决方案要素,并指定基本需求。目前,这种技术已经成为主流技术。
简易的应用规格说明技术典型过程如下。
①进行初步访谈,通过用户对基本问题的回答,初步确定待解决问题的范围和解决方案。然后,开发者和用户分别写出“产品需求”。
②确定会议的时间和地点以及主持会议的协调人。邀请双方的代表出席会议,并在会前预先把写好的产品需求分发给每一位与会者。
③每位与会者会前要去认真审查产品需求,并列出作为系统环境组成的部分对象、系统将产生的对象以及系统为了完成自己的功能将使用的对象。此外,还要求每位与会者列出操作这些对象或与这些对象交互的服务(即处理或功能)。最后还应该列出约束条件(例如成本、规模、完成日期)和性能标准(例如速度、容量)。并不希望每位与会者列出的内容毫无遗漏,但求能够获得对目标系统准确的认识。(https://www.daowen.com)
④会议开始后,讨论的第一个问题是是否需要这个新产品,一旦大家都同意确实需要这个新产品,每位与会者则把他们会前准备好的列表展示出来供大家讨论。在这个阶段,严格禁止批评和争论,以免影响每位与会者深入交流的意愿。
⑤在讨论的基础上,大家一起共同创建一张包含各个议题的组合列表。调整后的组合列表并不真正删除某项内容。在每个议题的组合列表都建立起来后,再由协调人主持讨论这些列表,以形成每个议题都达到意见一致的局面。
⑥一旦得到了意见一致的列表,就把与会者分成更小的小组,针对每张列表中的项目制定小型规格说明(需要对列表中包含的单词或短语进行准确的说明)。
⑦每个小组向全体与会者展示他们制定的小型规格说明,供大家讨论。意见一致后,每个与会者都制定一整套确认标准,并把自己制定的标准再次提交会议讨论,以创建出意见一致的确认标准。最后,有一名或多名与会者根据会议成果起草完整的软件规格说明书。
(3)快速原型法。快速原型是最准确、最有效、最强大的需求获取技术。快速原型就是快速建立起旨在演示目标系统主要功能的可运行的程序。
为了快速地构建和修改原型,通常使用以下三种方法和工具。
①第四代技术。包括数据库SQL语言和报表语言、程序以及应用系统生成器和其他非常高级的非过程性语言。
②可重用的软件构件。这种方法通过使用软件构件(软件构件也叫组件)直接装配成原型系统。软件构件可以使数据结构或程序模块。
③形式化规格说明。在过去的几十年中,人们已经研究出许多形式化规格说明语言和工具,用于替代自然语言描述需求,远期愿景是开发出能够把形式化描述的规格说明书直接翻译成可执行的目标代码。