需求工程:第七章 基于用户/场景模型展开用户需求获取第八章 面谈
第七章 基于用户/场景模型展开用户需求获取
用户需求获取的三大要素:确定范围,模型与流程,获取方法
获取方法
面谈:
集体面谈:快速方法
调查表:用户分散
头脑风暴:发明需求
不确定性:原型
情境性:观察
模型驱动方法(场景/用例模型):整理和归类需求获取行为得到的信息,指导和组织需求获取行为的开展,为详细信息的分析提供背景基础和上下文知识。
场景:具有重点描述真实世界的特征,它利用情景、行为者之间的交互、事件随事件的沿海等方式来叙述性的描述系统的使用。
用例:在系统(或子系统或类)和外部对象的交互当中所执行的行为序列的描述,包括各种不同的序列和错误的序列,它们能够联合提供一种有价值的服务。
用例的组织形式:用例表
场景方法的分类:
场景与用例
用例是静态的结构化文本描述。
用例的内容可以是对当前世界的描述,也可以是对将来确定的解系统的内部行为描述,还可以是对一种期待的解决方案的描述。
用例可能会被用于描述系统内部的交互,也可能被用于描述系统和环境的交互,还可能会被用于描述行为的环境和背景。
用例是类型层次的事件描述,主要用来描述功能需求。
用例内容即包含有正常流程,又包含异常流程。
用例可以是比较抽象的,用于描述整个业务过程;也可以是比较具体的,用于描述某个任务的完成过程;还可以是非常具体的,描述某个交互行为的详细处理步骤。在需求工程的前期,会产生第一种和第二种用例描述,但最终都需要细化为最后一种形式的用例描述。
用例可以用于各种目的的应用,包括描述、探索和解释。需求获取和需求验证是它在需求工程中的主要应用阶段,它也可以用于需求建模、交流和协商。
场景的各种生命周期特征、应用和处理过程都适用于用例。
基于场景/用例模型展开需求获取
基于前景与范围建立初始用例模型
依据系统用例图,目标模型建立初始用例/场景模型
(迭代)展开用例
据用例/场景模型指导获取,完善层次结构
使用用例/场景组织获取内容
分析用例/场景发现仍需获取的需求内容
验证场景/用例模型
评审用例描述
维护用例/场景模型
用新组织或修正的用例/场景完善用例/场景模型
依据用例/场景模型组织需求分析模型
第八章 面谈
面谈
面对面的会见被任务最具丰富内容的交流方法。可获得的信息内容:事实和问题,被会见者的观点,被会见者的感受,组织和个人的目标。
准备面谈
阅读背景资料-》确定面谈主题和目标-》选择被会见者-》通知被会见者-》确定问题和类型
问题类型:开放式问题(在希望得到丰富信息时),封闭式问题(答案有基本形式,被会见者的回答是收到限制的),探究式问题,诱导性问题,双筒问题,元问题。
主持面谈
处理面谈结果
复查面谈记录-》总结面谈信息-》完成面谈报告
结构化面谈:完全按照事先的问题和结构来控制面谈
半结构化面谈:会前做准备,会中提交一些灵活策略
非结构化面谈:没有事先预定的议程安排
面谈的优点和局限性
优点:
面谈的开展条件较为简单,经济成本较低
能获得包括事实、问题、被会见者观点、被会见者态度和被会见者信仰等各种信息类型在内的广泛内容
通过面谈,需求工程师可以和涉众建立相互之间的友好关系
通过参与面谈,被会见者会产生一种主动为项目做出贡献的感觉,提高涉众的项目参与热情。
缺点和局限性:
面谈比较耗时,时间成本较高
在被会见者地理分散的情况下往往难以实现面谈
面谈参与者的记忆和交流能力对结果影响较大,尤其是面谈的成功较高的依赖于需求工程师的人机交流能力。
交谈当中常见的概念结构不同、模糊化表述、默认知识、潜在知识和态度偏见等各种问题在面谈中都不可避免,进而影响面谈的效果,导致产生不充分、不相干的或者错误的数据
在会见者不了解被会见者认知结构的情况下,面谈不可能取得令人满意的效果。
相关方法
群体面谈
将所有涉众集中起来,选择一个合适的地点,集中一段时间,召开一个多方共同参与的会议,一起进行需求的讨论、分析和获取。
调查问卷
以文档为主要的交流媒介。
头脑风暴
不是发现需求而是发明需求,或者说发现潜在需求。