我想的是需求?这明明是核潜艇设计

以下分述,B端产品在做功能设计的时候,需要从业务层面、用户体验层面、数据层面、架构层面去考虑的点。如有错漏,请指正。


一、业务层面:

主要有业务流、功能操作流、异常事件流三种。业务流指业务场景中实际会发生的事件顺序。功能操作流,指在实际操作系统时,人为的操作流程。异常事件流,指在正常流程外会发生的异常情况,往往设计正常流程很简单,反而是5%的异常事件会导致增加70%的设计量。在考虑业务层面的时候我通常会使用流程图去梳理。

流程是为了达到特定的目标而进行的一系列有逻辑性的操作过程,而流程图是产品将其可视化的过程,以便于对其关键事件的分析,对整个事件的优化和重组。流程图很容易受个人的逻辑思维限制,而且很受个人基于对业务和场景的理解,这里要求我们具备测试的思维:

就是这样一种不断通过增量信息,对存量信息进行质疑和完善的思维。


分享我画流程图的经验和思路:

1、调研,对场景的调研,调研清楚正常的业务逻辑、异常情况、极端情况、隐藏情况(不问就不会知道的一些场景)

2、先画主流程,完成草图。之后用穷举法画枝干,然后考虑01判定,把所有判定逻辑理清楚。最后进行逻辑优化,解耦和耦合分支。

3、从大局出发重构,然后换角度换思维思考,打破原有设计框架,调整整个架构,最后考虑延展性,考虑除目前结构,未来可能出现的业务场景。(还有另外一种做法,是直接以未来角度画,再剔除,剩现有的流程)


我一般秉持的三个原则:

1、没有最合理的设计,只有更合理的设计。(质疑驱动)

2、无法一步到位,当觉得自己一步到位的时候,绝对是有所疏漏(墨菲定律)。

3、有时考虑后台逻辑的时候,需考虑实现方式,但是业务的逻辑不代表代码实现的逻辑,设计的时候一定要以最简单的方式,不要为了追求代码实现逻辑而导致图变得复杂

例如:判断账号是不是EC或CL,下一步输出四种结果,EC、CL、都不是、都是。但代码的逻辑,是先校验账号是不是EC,输出0、1;再校验CL,输出0、1,然后组合01输出四种结果。


再推荐一个方法,穷举法

设计逻辑图的时候,把所有需要走流程的上游输入全部穷举,然后再走一遍,如果都通了即可

例如:(EC和CL代表两种系统来源的用户)

非EC也非CL

EC未开通权限

EC已开通权限

CL未开通权限

CL已开通权限

既是EC又是CL,其EC未开通权限,其CL未开通权限

既是EC又是CL,其EC已开通权限,其CL未开通权限

既是EC又是CL,其EC未开通权限,其CL已开通权限

既是EC又是CL,其EC已开通权限,其CL已开通权限


二、用户体验层面

B端产品没什么好说的,观察业务员的操作习惯,考虑实际的操作场景便捷高效就行了,此类需求的优先级一般都是被抛弃的


三、数据层面

1、数据来源:数据库表字段,这张表是否被其他模块消费,是否被其他系统同步消费,新增此数据对于其他模块是否为脏数据。剔除?假删?过滤?

例如:物流系统,已关闭的物流追踪单,在统计签收率时需要剔除,在运费核算时需要被消费,两者消费的都是物流追踪单表里的数据

2、脚本运行逻辑:

脚本的触发机制,脚本的运行开始和结束时间,脚本的监控日志,脚本的异常重启、脚本对系统的负载、脚本的延迟和并发问题

例如:供应链系统,自动计算补货量的脚本,触发机制是预测销量已全量算出,结束时间必须为商家补货之前,监控日志可报警哪些计算失败,脚本因各种因素迭机需有重启机制,并发导致的重复数据需要处理

3、数据更新(同步)是否实时性,同步时间的先后

被消费的数据延迟,是否造成的影响,哪些数据需要保证实时性,数据同步任务的运行先后时间,怎么安排合理的数据推送时间机制

例如:仓库系统推送到补货系统的库存量需要实时数据,如果无法实时,需要保证推送时间>补货时间,保证补货时候的库存数据是最新的

4、新老数据兼容(是否修复老数据)

新上线功能前后,存在终结态的老数据、未终止的老数据,新产生的新数据,新逻辑是否兼容三者,是否需要修复老数据

例如订单系统,新上线的订单类型,原先的订单数据,是否需要重新跑新的订单类型判断逻辑,已有订单类型的数据是否需要改写订单类型。

5、数据状态的变化

瞬时性状态变化、延迟性状态变化,数据状态变化的前后置条件,数据状态的正常变化逻辑、不可逆逻辑和终止逻辑,数据状态的覆盖关系

例如财务系统的数据状态,有未审核、已审核、已核销、已结算,这些状态的正常变化流程以及触发变化的前后置条件,已结算是否为终止态,是否可逆,是否可人为覆盖,什么状态可以覆盖什么状态。

6、消费此数据的其他模块和其他逻辑

若数据的定义发生改变,是否有其他模块或者计算公式,消费到此数据

例如:物流系统,签收时效从提货到客户手中的时效区分为,从提货到物流商,物流商到客户,两种时效,原先的签收率计算公式需要修改消费的时效字段

7、多站点多系统多界面兼容

例如:电商有多个站点,主站,海外站,xx站……,每一个站点是否都有兼容;一个订单类型是否在WMS、OMS、TMS都有兼容;一个数据在系统的各个界面是否兼容


四、技术架构和产品架构层面

在设计需求的时候,都需要考虑架构的限制,有些需求在架构的限制下是不合理的

例如:网站前端直接查WMS数据库返回的一个字段,在技术架构上因为多站点的原因,所有站点的OMS全部统一为POMS作为唯一的数据接口,所以任何一个站点单独与后端的WMS或者TMS对接都是不合理的

例如:一个数据字段,其从技术的角度是需要有终结态的,但是产品的架构是希望其状态不被锁死,能够承接其他系统触发条件,使其回滚状态。


总结的这些点,可以作为一个自查表,在设计重要需求的时候,看是否有遗漏。欢迎补充。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350