扫码阅读
手机扫码阅读

【干货连载篇】如何避免需求分析中的遗漏场景?让大锤来告诉你!(1/12)

90 2024-03-22

#
产品经理必聊的100个话题



第50期:决策矩阵

在需求分析中,常常会出现遗漏场景,本文我们探讨如何避免这种遗漏场景,介绍使用决策矩阵的方法来解决遗漏的问题,以确保系统的正确性和完整性。



需求分析中常见的遗漏场景


Business Analysis





在流程中,每个节点的经过都会导致状态的变化,这些状态变化会直接影响到屏幕上的按钮,从而决定它们是否可用。所以,在需求分析中,必须考虑这些状态变化对按钮的影响,以确保系统的正确性和完整性。


过去的需求分析方法


Business Analysis





1. 画流程图

对于一个审批流程,通常包括申请、审批和执行三个步骤。

2.根据流程图描述每个节点的状态限制、角色限制、数据权限限制等信息,以确定节点是否可用。

3.过去的方法问题分析

在描述节点是否可用时,通常只关注“什么时候可以按下”而忽略了“什么时候不可以按下”的情况。这样会导致在后台的API响应请求时出现不应该响应的情况。这是一个容易被忽略的问题。

在测试过程中,经常会发现一些不可能的状态也可以被操作,从而导致出现Bug。当这种类型的Bug变得越来越多时,就会引起“质量恐慌”,因为人们不知道还有多少未被发现的Bug存在,下面两种情况会引起上述bug发生:

● 当两个人同时操作同一个处理时,可能会出现问题

例如,在审批过程中,审批通过按钮的前提状态是“已申请”。如果有两个审批者A和B同时打开审批界面,A先点下了审批通过按钮,然后B也按下了审批通过按钮,此时B应该收到“已经被审批通过了,当前审批无效”的提示消息。然而,如果只关注按钮的状态限制而忽略了这种情况,就会容易遗漏这个处理。

● 直接通过API访问后台的情况可能会出现问题

当一个状态已经切换后,用户可以通过各种手段(如Postman、浏览器地址栏、代码等)直接访问后台。如果后台没有相应的防护措施,就可能会导致各种混乱的情况。因此,需要对这种情况进行相应的处理和防范。


问题产生的原因


Business Analysis





问题产生的原因在于,只关注了“许可”的情况,而忽略了“禁止”的情况。因此,在分析系统需求时,需要同时考虑这两种情况,以确保系统的正确性和完整性。


解决方案


Business Analysis





解决这个问题的方法是使用“决策矩阵”。决策矩阵是一种正交矩阵,通过将状态放在表头,将动作放在行首的方式进行构建。使用决策矩阵可以同时考虑“许可”和“禁止”的情况,以确保系统的正确性和完整性。

决策矩阵例子:

使用决策矩阵可以带来以下优势:

确保100%的覆盖率,即考虑了所有可能的状态和动作组合。

容易响应需求变更,因为可以通过修改矩阵中的状态和动作来反映变更。

容易阅读,因为矩阵中的状态和动作都是清晰可见的,而且可以根据需要进行排序和分组。

容易发现问题和纠正问题,因为可以通过检查矩阵中的每个单元格来发现问题,并通过修改矩阵来纠正问题。

原文链接: http://mp.weixin.qq.com/s?__biz=Mzk0MzM2OTQzOA==&mid=2247484679&idx=1&sn=8e1a9a2e425de8d311351db167914c13&chksm=c335b8b6f44231a0af5063748d1b6f4d68600701ba0a6b738ee8196d9427ae518cfe239ed2ae#rd