场景描述需求分析实例

场景描述需求分析实例
场景描述需求分析实例

场景描述

场景主要包括4种主要的类型:正常的用例场景,备选的用例场景,异常的用例场景,假定推测的场景。用场景法来测试需求就是指模拟特定场景边界发生的事情,通过事件来触发某个动作的发生,观察事件的最终结果,从而用来发现需求中存在的问题。我们通常以正常的用例场景分析开始,然后再着手其她的场景分析。

下面来瞧具体的例子:假设您现在需要完成的就是一套出租车预定系统(顾客进行出租车的预定,系统完成扣款以及出租车司机的任务分配等相关的任务: 顾客中的大部分都就是在出租车租赁公司立有相关存款账户的用户,她们一般通过电话的方式进行预约,有些就是要求立马预定的,也有一些就是预定几周后的,我们需要使用计算机系统来确保这些存款账户到目前为止就是有效的,系统需要知道什么时候顾客需要出租车,以及接送地址与她们的目的地。接送地址一般来说就是顾客账户信息上填写的地址,根据我们车辆调度员的经验,我们可以告诉顾客最佳的接送时间。系统会根据订阅情况产生一个司机工作编号并记录预定过程中的详细信息,并会根据接送时间的顺序对这些信息按照接送的时间进行排序,然后会给顾客一个订阅的确认信息,同时包括司机的工作编号)。与这个预定出租车用例相关的,就就是给出租车司机分配具体工作的用例。用场景法来对这个需求进行测试,应该如何进行呢?

首先我们来瞧一下正常用例场景的构建过程

a、识别商业事件流:发现需求的过程包括研究与调查特定需求相关的业务规则与策略,调查包括一系列的业务事件以及商业规则的边界点。业务事件包括事

件名,输入数据(由这个事件引起的输入数据),输出数据(为了响应这个事件产生的输出数据)

b、画一个非正式的商业场景草图

c、把这个场景草图形成场景的具体步骤

以顾客预定出租车为例,这个事件就是在当顾客决定需要一个出租车时发生的,这个事件导致客户与出租车公司之间发生一个预定请求的交互动作,当出租车公司收到预定请求时,它触发了安排出租车登记事件用来响应这个需求,从分析得出其中有一个需求就是出租车公司需要提供一个预定确认响应信息给顾客的过程,那么什么就是预定确认,在什么情况下这个确认信息会产生,其她与之相关的需求就是什么?下面我们就通过构建场景的方式来进行细节上的分析

a、事件源:顾客想预定出租车,发出出租车预定请求

事件结果:安排出租车预定行为(包括许多商业逻辑规则),发送一个出租车预定确认信息给顾客

事件名: 顾客想要预定出租车

输入数据: 出租车预定请求

输出数据:出租车预定确认响应

b、场景草图如下:

c、结构化场景:

1、第一步顾客告诉我们她想预定出租车

2、调度员需要知道顾客的账户号码,那么她就是否也需要知道顾客的账户姓名?调度员就是否需要询问乘客的姓名?

3、调度员核实账户号及支付信息的有效性,那就是否也需要核对账户姓名的有效性?(关注衍生信息有效性的检查)

4、调度员需要向顾客询问接送的日期,时间,地址与目的地

5、调度员需要告诉顾客最佳的接送时间

6、调度员分配一个工作接送号给司机,那这个工作号就是从哪里产生的?(关注数据从哪里产生)

7、调度员记录所有预约工作的细节

8、调度员跟顾客确认订阅的详细信息

场景模型基本上就就是这样,预约出租车正常的用例场景如下:

1、1 客户打电话到出租车公司预约出租车

1、2 出租车调度员询问账号号码以及账号的姓名

1、3 出租车调度员核实顾客的账号详情以及支付的方式

1、4 调度员询问接送的地址,预定的接送时间以及目的地

1、5 调度员告诉顾客最佳的接送时间

1、6 调度员分配预定的工作号给出租车司机

1、7 调度员记录详细的预定信息

1、8 调度员反馈预定成功的确认信息给顾客

备选的用例场景:从基本流开始,在某个特定条件下执行,然后重新加入基本流

发现备选流的方法:对正常用例场景中的每一步列出一份问题检查列表:

—这一步就是否如实按照规定的发生?

—对于描述中每一个名词,动词我们就是否都知道精确的含义?—就是否有任何数据上的遗漏?

—就是否存在一些主观上的判断?

—我就是否已经做了所有的假设?

—这么做就是否真正有意义?

备选用例场景分析如下:

1、1 顾客打电话告诉我们她想预定出租车,那么顾客就是一个个人还就是一个组织?顾客就是否经常通过电话进行交流?顾客就是想预约一辆出租车还就是可能会预约多辆出租车?

1、2 出租车调度员向顾客询问账号号码,姓名以及乘客的姓名,就是否只有调度员询问顾客还就是有其她人也一起来询问?顾客就是否都在出租车租赁公司有一个账号?就是否可能会出现多个乘客的姓名?通过问这一系列问题,将会发现顾客未必都会有一个账号的,乘客也可能就是多个,这样您就能构建一个备选流的用例场景了

备选的用例场景一:

1、3 预约出租车,顾客没有存款帐号

出租车调度员询问顾客有关乘客的姓名与帐户信息

出租车调度员核对客户的帐户信息

出租车调度员增加“无账号”信息到预约详细信息中

异常用例场景:异常用例就是指当错误发生或者一个不需要的处理条件发生了

发现异常用例场景的方法:

—什么样的数据条件将会导致这一步不能继续处理?

—什么样的历史数据将会导致这一步不能继续处理

—什么样的人为行为将会导致这一步不能继续处理

异常用例场景分析如下:出租车调度员核实顾客的账户信息与支付方式,如果出租车调度员发现顾客提供了错误的账户信息将会发生什么?顾客的帐户支付方式过期了怎么办?如果顾客账号在预先约定好的时间内未进行及时支付将会怎么样?

假定推测场景:以正常的用例场景作为起点,对每一个步骤鉴别约束条件:如果约束条件不存在的话,将会发生什么?

假定推测场景分析如下:

1、1 顾客打电话告诉我们要预定一辆出租车:其中一个约束就就是顾客用电话联系,如果移除这个约束,顾客将会通过什么样的方式来联系?一个很明显的方式就就是通过网络,也有可能就是通过旅行社代理订购,或者就是出租车的代金券,

如果改用信用卡支付会就是怎样的等等。一旦移除了约束,您就可以进行头脑风暴了,思考各种可能的情况,这样就可以发现更多需求中遗漏的点。

总之,通过找出所有与业务流相关的过程,以及与这些过程相关的数据,观察文本之间的关联性,过程之间的依赖性,就能帮助您暴露更多需求方面的问题。大家赶紧去试试吧,相信能给您带来不一样的感受!

相关主题
相关文档
最新文档