获取需求的一个必不可少的结果是对项目中描述的客户需求的普遍理解。一旦理解了需求,分析者、开发者和客户就能探索出描述这些需求的多种解决方案。参与需求获取者只有在他们理解了问题之后才能开始设计系统,否则,对需求定义的任何改进,设计上都必须大量返工。把需求获取集中在用户任务上而不是集中在用户接口上,有助于防止开发组由于草率处理设计问题而造成的失误。
需求获取利用了所有可用的信息来源,这些信息描述了问题域或在软件解决方案中合理的特性。尽量理解用户用于表述他们需求的思维过程。充分研究用户执行任务时做出决策的过程,并提取出潜在的逻辑关系。流程图和决策树是描述这些逻辑决策途径的好方法。
正如人们经常说的,需求主要是关于系统做什么,而解决方案如何实现是属于设计的范围。这样说虽然很简洁,但似乎过于简单化。需求的获取应该把重点放在“做什么”上,但在分析和设计之间还是存在一定的距离。可以使用假设“怎么做”来分类并改善对用户需求的理解。在需求的获取过程中,分析模型、屏幕图形和原型可以使概念表达得更加清楚,然后提供一个寻找错误和遗漏的办法。把在需求开发阶段所形成的模型和屏幕效果看成是方便高效交流的概念性建议,而不应该看成是对设计者选择的一种限制。
展开