如何设计复杂的电商系统?来看高手的方法!

在电商业务中,需求的复杂性常常让人望而生畏。为了让用户在实际使用时能有更好的体验,设计师需要先理解需求,再将其转化为清晰易懂的内容。而在面向多个角色/场景进行设计时,是否会遇到细节的遗漏?或者遇到角色间有错综复杂的关系难以应对?

电商设计干货:

复杂系统便是需求的难点所在,我将分享尝试使用 C4 模型对复杂需求进行拆解,帮助设计师理清角色关系与细节,避免遗漏。

本期提纲:

  1. 什么是复杂系统?
  2. 如何拆解复杂系统
  3. 写在最后

一、什么是复杂系统?

维基百科:“复杂系统(complex system),又称复合系统,是指由许多可能相互作用的组成成分所组成的系统。”

这种非线性的系统在日常生活中很常见,比如全球气候、交通、通讯系统等基础设施网络、城市社会和经济组织。

如何设计复杂的电商系统?来看高手的方法!

地球碳循环

这些系统的集合不是简单的每个部分行为的总和,理解复杂系统就是理解系统的部分以及部分间的关系。

电商系统是个复杂系统,除了消费者接触到商品店铺、物流系统和售后管理以外,还包括卖家如何入驻平台的进件系统,商品的管理系统,运营分析的数据系统等等。

二、如何拆解复杂系统?

“以特定的顺序引导我的思维,从最简单和最容易理解的对象开始,一步一步逐渐上升,直至最复杂的知识。”——笛卡尔

在设计方案前可使用 C4 模型进行拆解。C4 模型是一种用于描述和传达软件系统结构的模型,由“Context(上下文)、Container(容器)、Component(组件)、Code(代码)”四个抽象层次组成。

通过 C4 模型,我们可以从宏观到微观,逐步深入地理解系统的各个部分以及它们之间的关系。

如何设计复杂的电商系统?来看高手的方法!

C4 架构图

就像地图,随着放大可以逐渐看清国家之间的界限,省和市的包含关系,道路的布局。

如何设计复杂的电商系统?来看高手的方法!

Googlemap

该模型最大的好处是可以帮助我们将问题与关注点分级,不是一个层面的问题,不要在同个层面解决。

原模型是通过架构的视角进行表述的,而作为设计师,我将 C4 模型转换成设计视角下的“系统上下文、功能、流程、页面”这四个层级帮助我拆解复杂。接下来将通过单个模块的展开对模型的实际应用进行分享,仅用于抛砖引玉。

1. 系统上下文

这一重点关注事件在系统中的运行情况。即需求核心系统与其他系统、角色的关系,这是需求分析至关重要的一步。我们可以通过“Who(谁)/What(什么)/When(何时)/Where(何地)/Why(为何)/How(如何)”等问题来解析。

例如,我们需要设计一个直播间「抽奖实物商品」的功能,以满足直播商家的运营需求,为商家提供快速设置奖品并发货给中奖观众的能力,让观众在中奖后可以及时收到中奖商品。

who 观众和商家

what 抽奖

when 在直播过程中

where 直播间

why 商家通过抽奖行为转化观众,提高用户粘性;用户通过抽奖获利。

how 观众参与抽奖后中奖,商家发货给中奖观众。

我们可以用图示意,为后续复杂的展开确定了基础框架。

如何设计复杂的电商系统?来看高手的方法!

2. 功能

通过上下文整理出框架后,下一步我们需要站在各视角下枚举与之相关的所有功能流程。该步骤可根据实际需求选择合适的维度作为枚举依据。在直播间抽奖这个需求里,我选择了事件发展的时间序推演功能任务。

例如,商家在抽奖活动事前、事中、事后都有各阶段的重点功能:

事前- 小店商家和带货达人,分别准备好用于抽奖的商品「商品管理功能」

事中- 设置抽奖规则「直播间抽奖」

事后- 发货给中奖观众「订单/配送功能」

如何设计复杂的电商系统?来看高手的方法!

而观众在抽奖活动事前、事中、事后也有各阶段的重点功能:

事前- 观看直播参与抽奖「参与抽奖功能」

事中- 中奖提交发货信息「下单功能」

事后- 订单中心管理中奖订单物流状态「订单/售后功能」

如何设计复杂的电商系统?来看高手的方法!

这一步无需关注具体的判断、细节,用具有统领性质的功能去串联主线。

通过整理可以发现,区别于拥有自己店铺的商家,带货达人是没有自己的商品和发货系统的。因此为了抽奖实体商品,需要为达人单独设计抽奖商品管理、订单配送功能。

商品管理和订单配送便是在「商家」端的重点功能,为提高商家体验,我们需要在两个功能的主流程里更关注提效。观众在下单之后,区别于普通购买的商品订单,中奖订单是需要能被一眼识别的。

3. 流程

我们对功能梳理完毕后,便可以着手流程的梳理,这一步骤的拆解对最后的设计至关重要。在这个步骤里,我们关注的是单个功能中的主流程,以及功能间的交叉联系。完成这一步后,复杂系统的脉络便能清晰呈现。

我的方法是:当我们聚焦在单个功能时,可以尝试将流程视作坐标轴。x 轴代表流程中的关系和顺序,y 轴代表流程中单个节点的层次结构。

以订单为例展开,商家视角下的中奖订单按照流程顺序来看:如果需要生成中奖订单,会需要先有订单信息、商品详情、物流服务、个保隐私、售后服务等。按照单个节点的纵向结构,也可以通过订单是否已发货/已完成得出订单状态以及对应操作。

如何设计复杂的电商系统?来看高手的方法!

而商家的订单状态和行为将影响观众侧的中奖订单状态,因此在观众视角下的中奖订单也需要和商家侧一一对应。

如何设计复杂的电商系统?来看高手的方法!

当拆解到这一步时,如果逻辑严谨,条理清晰,系统中的分支逻辑基本也能被囊括。

此时我们不妨回到上下文关系(context)里对角色/端的梳理,检查信息对于其他角色/端是否有影响,影响是否和上下文中的联系是一一对应的,重新审视结构是否具备完整性。

4. 页面

理解设计目标才能最终产出满足需求的具体页面。需求目标经过以上结构拆解,分化出了不同的设计目标,不同的设计目标将指引设计师产出对应的页面。

比如商家的目的是运营获客。除了奖品具有吸引力可以让观众抽奖以外,平台需要为商家的发起、管理流程提供便捷操作,帮助商家快速发起抽奖。由此拆解的设计目标为「为商家提供提效工具」。

在抽奖流程中,为了帮助商家快速选中所需商品并发起抽奖,提供检索和优化排序;在订单管理流程提高发货效率,根据待发货状态提供快捷操作。

如何设计复杂的电商系统?来看高手的方法!

而观众的目的是通过中奖获利,免费体验商品。因此需要在抽奖的过程给予正向反馈,中奖后及时引导下单。平台需要为中奖的订单设计差异化,帮助中奖观众在自己的订单列表中锚定中奖订单。

因此设计目标便是「为观众提供差异化的订单」。

如何设计复杂的电商系统?来看高手的方法!

每个模块的重点有所不同,但需求目的不会变化。除了具体页面具体设计以外,在前置的需求分析时可提前与开发进行技术方案的讨论,多考虑既能满足设计需求,又为代码减负的实现方案。

5. 小结

让我们再回顾一下 C4 模型的结构重点:

定义系统上下文:包括系目标、用户需求、业务领域等。

定义系统功能:描述了系统的整体结构和组织方式。将系统划分为不同的功能模块,例如子系统、二级模块、组件等,并明确它们之间的关系。

定义系统流程:按照功能模块对功能内的流程线做横向关系和顺序,纵向单个节点的层次结构的梳理。

设计具体页面:确定设计目标,转化为具体页面。

C4 模型在电商需求分析中最大的优势在于逐级分层理解系统,系统中的角色关联性可以被体现,且各角色下的重点与结构判断不被遗漏。同时,我们可以提前与开发进行技术方案的讨论,多考虑既能满足设计需求,又能为代码减负的实现方案。

写在最后

整理并输出一份完善的设计方案,能有效帮助项目参与更快的进行合规、实现的评估;清晰的框架结构能对问题进行分层,最终达到对项目提效的目的。

欢迎关注作者微信公众号:「We-Design」

如何设计复杂的电商系统?来看高手的方法!

收藏 21
点赞 38

复制本文链接 文章为作者独立观点不代表优设网立场,未经允许不得转载。