#头条创作挑战赛#
系统是否复杂,主要看三点:
①系统对应的角色;
②角色的业务链路;
③角色之间的关联度。
你看电商系统就非常复杂,角色多,业务链路长,角色之间的强关联度。那应该怎么去拆解呢?
其实可以借用技术架构视角的C4模型从大到小去抽象去拆解:上下文(Context)、容器(Container)、组件(Component)、代码(Code)。
举个例子:咱在地图上找某个地方,顺序一般是:国家→省市→区/乡镇→村,对吧。这里面就是厘清包含关系和关联关系。
C4模型最大的优势是:能把问题和关注点分层,不在同一层的问题,就不要放在同一层去解决。
咱切换产品视角来梳理下实际的应用:
1.上下文(Context)——用户角色+业务流
该核心是系统目标、用户需求、业务领域三部分来厘清实际的业务和不同角色的关系。可以通过“Who(谁)/What(什么)/Where(何地)/When(何时)/Why(为什么)/How(如何)”来快速梳理。
比如,电商直播间抽实物奖品,满足直播商家的场观人数和活跃时长的需求。该怎么来梳理呢?
接下来就来梳理角色的关联图:(也就是关注、商家、直播间的三角关系)
至此,直播间抽实物奖品的核心业务路径和角色已完整输出。
2.容器(Container)——功能流程
核心业务路径和角色完整输出后,接下来需要站在不同角色视角来梳理对应的功能流程。可以围绕时间序整理功能任务。
①商家视角
从商家视角来通过时间流梳理:
有两个核心关联点,实物奖品的管理,中奖后的订单和物流生成。所以可以将商家角色拆分:
②观众视角
从观众视角来通过时间流梳理:
你看,在观众视角中,关联的中奖商品订单,可以将观众角色拆分成具体的流程:
自此,直播间抽实物奖品的业务流程和功能流程已经非常清晰了。那和其他模块该如何融合和关联呢?
3.组件(Component)——多模块关联
梳理完基于该需求的功能流程后,接下来需要梳理和其他模块关联,从主流程出发,保证数据流口径统一。同样,也可以拆分成商家视角和观众视角:
①商家视角
咱用一张表整理下商家侧时间流-关联的模块:
②观众视角
然后再来梳理下观众侧时间流-关联的模块:
接下来合并商家视角和观众视角所有关联的模块,保障数据一体化且通过字段去维护,使得整个产品结构一体化。接下来就针对功能模块和产品流程去梳理页面流程图了。
4.代码(Code)—— 页面设计+逻辑梳理
其中在页面设计中,重点要抓住两个点:
商家侧:核心是运营获客,所以抽奖工具要更便捷的操作,提效为核心;比如能快速帮商家选中商品抽奖;在订单中提升发货效率。
所以在商家端,能在移动端快捷选商品并开启抽奖;能快速管理哪些已中奖未发货的商品数,并一键【去发货】;
观众端:核心是引导中奖用户及时填写信息并下单。同时,观众在订单管理中能清晰区分奖品订单和其他订单的区别。
让商家端和观众端看到不同的订单类型,订单差异化设计。
至于其他页面细节和逻辑,按照“输入→逻辑→输出”的标准输出就好。
以上是梳理复杂系统的思路,和技术澄清无疑问后,就可以按照John的PRD模板完整输出了: