欢迎来到天天文库
浏览记录
ID:52995090
大小:353.84 KB
页数:12页
时间:2020-04-09
《聆听客户的需求.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、下载第8章聆听客户的需求需求获取(requirementelicitation)是需求工程的主体。对于所建议的软件产品,获取需求是一个确定和理解不同用户类的需要和限制的过程。获取用户需求位于软件需求三层结构的中间一层。来自项目视图和范围文档的业务需求决定用户需求,它描述了用户利用系统需要完成的任务。从这些任务中,分析者能获得用于描述系统活动的特定的软件功能需求,这些系统活动有助于用户执行他们的任务。本章将介绍需求获取原理,并把重点放在“使用实例”方法的应用,这种方法是用于获取产品的用户需求。需求获取是在问题及其最终解决方案之间架设桥梁的第一步。
2、获取需求的一个必不可少的结果是对项目中描述的客户需求的普遍理解。一旦理解了需求,分析者、开发者和客户就能探索出描述这些需求的多种解决方案。参与需求获取者只有在他们理解了问题之后才能开始设计系统,否则,对需求定义的任何改进,设计上都必须大量的返工。把需求获取集中在用户任务上—而不是集中在用户接口上—有助于防止开发组由于草率处理设计问题而造成的失误。需求获取、分析、编写需求规格说明和验证并不遵循线性的顺序,这些活动是相互隔开、增量和反复的。当你和客户合作时,你就将会问一些问题,并且取得他们所提供的信息(需求获取)。同时,你将处理这些信息以理解它们,
3、并把它们分成不同的类别,还要把客户需求同可能的软件需求相联系(分析)。然后,你可以使客户信息结构化,并编写成文档和示意图(说明)。下一步,就可以让客户代表评审文档并纠正存在的错误(验证)。这四个过程贯穿着需求开发的整个阶段。由于软件开发项目和组织文化的不同,对于需求开发没有一个简单的、公式化的途径。下面列出了14个步骤,你可以利用它们指导你的需求开发活动。对于需求的任何子集,一旦你完成了第十三步,那么你就可以很有信心地继续进行系统的每一部分的设计、构造,因为你将开发出一个好的产品。8.1需求获取的指导方针需求获取可能是软件开发中最困难、最关键、
4、最易出错及最需要交流的方面。需求获取只有通过有效的客户—开发者的合作才能成功。分析者必须建立一个对问题进行彻底探讨的环境,而这些问题与产品有关。为了方便清晰地进行交流,就要列出重要的小组,而不是假想所有的参与者都持有相同的看法。对需求问题的全面考察需要一种技术,利用这种技术不但考虑了问题的功能需求方面,还可讨论项目的非功能需求。确定用户已经理解:对于某些功能的讨论并不意味着即将在产品中实现它。对于想到的需求必须集中处理并设定优先级,以避免一个不能带来任何益处的无限大的项目。需求获取是一个需要高度合作的活动,而并不是客户所说的需求的简单誊本。作为
5、一个分析者,你必须透过客户所提出的表面需求理解他们的真正需求。询问一个可扩充(open-ended)的问题有助于你更好地理解用户目前的业务过程并且知道新系统如何帮助或改进他们第8章聆听客户的需求61下载的工作。调查用户任务可能遇到的变更,或者用户需要使用系统其它可能的方式。想像你自己在学习用户的工作,你需要完成什么任务?你有什么问题?从这一角度来指导需求的开发和利用。还有,探讨例外的情况:什么会妨碍用户顺利完成任务?对系统错误情况的反映,用户是如何想的?询问问题时,以“还有什么能⋯⋯”,”当⋯⋯时,将会发生什么”“你有没有曾经想过⋯⋯”,“有没
6、有人曾经⋯⋯”为开头。记下每一个需求的来源,这样向下跟踪直到发现特定的客户。建议需求开发过程1.定义项目的视图和范围2.确定用户类3.在每个用户类中确定适当的代表4.确定需求决策者和他们的决策过程5.选择你所用的需求获取技术6.运用需求获取技术对作为系统一部分的使用实例进行开发并设置优先级7.从用户那里收集质量属性的信息和其它非功能需求8.详细拟订使用实例使其融合到必要的功能需求中9.评审使用实例的描述和功能需求10.如果有必要,就要开发分析模型用以澄清需求获取的参与者对需求的理解11.开发并评估用户界面原型以助想像还未理解的需求12.从使用实
7、例中开发出概念测试用例13.用测试用例来论证使用实例、功能需求、分析模型和原型14.在继续进行设计和构造系统每一部分之前,重复6~13步尽量把客户所持的假设解释清楚,特别是那些发生冲突的部分。从字里行间去理解以明确客户没有表达清楚但又想加入的特性或特征。Gause和Weinberg(1989)提出使用“上下文无关问题”—这是一个高层次的问题,它可以获取业务问题和可能的解决方案的全部信息。客户对这些问题的回答诸如“产品要求怎样的精确度”或“你能帮我解释一下你为什么不同意某人的回答吗?”这些回答可以更直接地认识问题,而这是封闭(close-end)
8、问题所不能做到的。需求获取利用了所有可用的信息来源,这些信息描述了问题域或在软件解决方案中合理的特性。第7章曾列出了软件需求的来源。一个研究表明:比起
此文档下载收益归作者所有