扫码阅读
手机扫码阅读

就因为少分析了这一段,年终奖直接砍半...

65 2024-03-19
#
产品经理必聊的100个话题



第35期:再也不说“不就是个Ctrl + Z吗”了



等交付完的测试结果让钱小美傻眼了。

对话框里有这些问题:

1.Ctrl+Z只支持一次操作,不能连续执行多个撤回。

2.如果什么都没有做就直接按下Ctrl + Z,则系统会崩溃。

3.撤回后无法重做。

4.当一次操作涉及到多个对象时,Ctrl + Z可能会非常缓慢。

5.如果选中某个控件,则Ctrl + Z将无效。

6.在多选多个控件并执行相关操作时使用Ctrl + Z进行撤销可能会出现不可预测的错误。

那么,如何分析一个Ctrl + Z这样的需求才能够确保质量?



解决方法


Business Analysis





首先Ctrl + Z在处理的是一个操作池,记录了每个操作的日志,包含了操作前后的两个状态信息。通过Ctrl + Z可以撤回相关的操作。那么一个Ctrl + Z的操作过程应该如下。

建立一个包含所有已完成操作日志的“操作池”,并以栈方式进行管理。每次执行新的命令都应该记录其状态,并将其添加到栈顶。当用户需要撤销上一个命令时,则从栈顶弹出最近记录的命令,并恢复它所改变过的状态信息。

通过以上步骤可以有效解决以上问题,并提供更好、更流畅、更可靠地用户体验。

操作4

操作3

操作2

操作1

为了能够重做,还需要建立重做池:

操作5

操作6

操作7

操作8

这样,需求描述如下:

1.功能性需求

操作

操作池

重做池

新操作

Push


Ctrl + Z

Pop

Push

Shift + Ctrl + Z

Push

Pop

栈的尺寸:20

2.动作定义

POP

条数

处理

0

不出栈

n(0

出栈

20

出栈

Push

条数

处理

0

入栈

n(0

入栈

20

入栈,最下一条删掉

3.非功能性需求

1. 每次要处理的非常及时,1s之内处理完

2. 对内存占用不能过大

4.需求的质量标准

完整性(Completeness):确保需求描述中包含了所有必要的内容,并且这些内容都被清晰地定义。任何没有定义的部分都有可能导致产生bug。

正确性(Correctness):需要确保需求描述是正确的并且不会引起歧义。如果一个功能没有得到正确地定义,那么就很容易出现错误实现。

精确性(Accuracy):在文档中使用精确、明确和一致的术语来描述所需功能,避免使用模糊或歧义词汇以及让开发人员做出错误决策。

易读性(Readability):文档应该容易阅读,减少阅读理解所花费时间。包括文字语句易理解程度还有各种图表表达清晰程度。

一致性(Consistency):采用一致格式、语法和工具去描述相同事物,降低阅读成本并提高可维护性。

灵活性(Flexibility):在需求变更时能够轻松进行修改,并保持原始结构和逻辑顺畅;同时要考虑到需求变更对系统的影响。

复用性(Reusability):将反复出现和引用过多次数相同内容只需要修改一次即可,以提高代码的可维护性和复用性。

可测性(Testability):文档中描述的内容应当是可测试、可验证的,以确保功能实现符合需求规格。同时也需要明确测试标准和流程,并进行充分测试。

可实现性(Feasibility):需求文档中所描述的功能在技术上能够被实现,并且不会出现无法解决或难以解决的问题。同时还需要考虑到成本和时间等方面因素是否可以接受。

原文链接: http://mp.weixin.qq.com/s?__biz=Mzk0MzM2OTQzOA==&mid=2247484447&idx=1&sn=848112a78257901611899807d15ee4fa&chksm=c335b9aef44230b897b624295bcc484cf3c81ceb4afbe110ca57b008b99f81c98ecc5264235b#rd