架构设计实践五部曲(二):业务架构与产品架构设计实践

系统架构的分解,先从业务域进行分解。狭义的业务域具有商业的概念,从这个概念来看,有的系统没有业务域,当如果宽泛一点来看,业务域就是问题域,问题域总是存在的。

业务域的分解,首先是从系统需求入手,在需求初期可能你就得到的只是一句比较模糊的需求描述,这些需求可能来自于老板、运营或者用户(比如下图的场景)。直接把这句话作为核心产品功能是不恰当的,合理的做法是先把这个产品的所有问题域列清楚。

列出问题域

问题域,是指自己的产品能够解决的所有问题的空间集合。从核心需求出发,将所有当前需要解决、未来可能需要解决的问题放入产品框架的范围,能够帮助你的产品架构拥有更高的可拓展性,在后续具备迭代和优化空间。

这里以我做过的一个风控系统需求为例,问题域集合如下:

详细的操作步骤:

  1. 找到收到的需求中,跟产品形态、产品目标相关的语句,去列出“xx 的流程会是什么样”、“xx 该如何达成”之类的问题,直到如果这些问题解决,能够实现核心需求的方向和业务目标。

  2. 去逐次寻找这些问题需求被解决的过程中,是否有其他要先解决掉的问题、或者其他跟业务相关的问题能够被解决。

  3. 按照层级去罗列所有的问题,并附上自己的初步回答,从而形成一个初步的、自己的产品能够解决的“问题域”。

确定产品方向

在经过问题域的罗列后,能够得到一个模糊的产品方向和功能范围。问题域的环节非常发散,这一步需要回归基础,把模糊的需求补充、拓展和翻译成一个能够在商业模式和用户体验能够形成闭环的产品需求。

在确定产品方向这个环节的详细操作步骤:

  1. 产品用户:需要明确产品定位的用户,解决核心用户的核心需求。

  2. 核心目标:思考清楚自己产品的核心目标是什么。如果以一个 KPI 指标衡量产品的价值,那这个 KPI 应该是什么。

  3. 依赖系统:自己的系统需要与哪些外部系统存在交互和关联关系,我们的系统在这个大的生态下,是什么定位。

以风控系统需求为例,产品方向的描述如下:

绘制业务流程

业务流程是业务架构中比较常见的图,这一步需要根据产品需求和问题域,按照业务域的流程进行绘制。

业务功能矩阵

通过对业务流程进行分析,根据功能职责,进行垂直分解,识别出业务功能和业务服务,将他们归类到相应的流程节点中去。将业务流程和业务功能点组合成一张业务功能矩阵。这张矩阵图是业务架构中为后续的数据架构、产品架构、技术架构作为重要的输入。

功能架构分层

产品框架脱胎于业务流程,但相比业务流程,更加注重产品功能的枚举、功能模块之间的分界。以业务架构的业务功能矩阵图作为输入,将流程图转换成按节点进行分层,节点的功能点存放在同一层中。

在此基础上将明显是同一个产品范围、同一组产品功能的模块放在同一层级,得到一个基础的产品框架。

明确功能边界

一个具备前后台关系的产品架构图至少分三层:用户感知层(在何种场景下通过何种方式触达用户)、功能模块层(通过哪些功能模块实现产品的核心功能、和哪些外部平台功能有信息交互)、数据层(产品的数据从哪里来、产品的数据沉淀到哪里去)。

在上一步进行简单分层后,我们已经得到一个初步框架,但是难免会有分层不明确的问题。此时需要按照两种维度来处理架构图的层级:不同信息层级的边界、同一层级内模块和模块的边界。

处理不同信息层级的边界

架构图的层级表达其实是信息之间的流转关系,不同信息层级之间一定是有逻辑关系的。其中用户感知层和数据层通常化简为以(用户端的功能表达往往逻辑简单、数据来源问题则不是自己产品的核心功能),而功能模块则需要按照自己产品的逻辑去将功能模块层内的主要模块变成新的层级。

处理同一层级内子模块的边界

各层次之间虽有相关,但同一层次内的子模块之间一定是相互独立、界限分明的。将解决不同问题的功能拆分成两个子模块,做到一个问题只在同一层解决,避免牵一发而动全身的情况出现。

明确系统间边界

产品边界对于开发设计系统架构、业务间的合作模式都非常重要。在架构图中用不同颜色标识清楚,各个部分所属系统的边界。通常属于自己团队的部分用亮色标识。像外部系统,如数据层的用暗色标识。

加入信息流

产品架构图在表达产品的核心功能外,也应该体现信息流动的路径。当前层级数据的交互形成产品功能,产品功能又产生新的数据,从而推动下一层级的功能运转起来。

如果当前产品的主要使用角色只有一个,则只需要用箭头表明模块间信息流动的方式即可。如果当前产品涉及的角色比较多,则需要用不用颜色的线条将他们和各个模块之间的信息交互关系表示出来。

最终一种好的产品架构图,应该具备以下特点:

  • 清晰的模块功能边界

  • 功能经过抽象,做到标准化、互相独立

  • 上下游产品功能边界清晰,架构分层明确合理,具备迭代优化的能力

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《分布式应用系统架构设计实践pdf》是一本关于分布式应用系统架构设计实践的书籍。该书主要介绍了分布式应用系统的基本概念、原理和实践经验。 首先,该书详细介绍了分布式应用系统的基本概念和原理。分布式应用系统是由多个组件和服务构成的系统,这些组件和服务分布在不同的计算机节点上,通过网络进行通信和协作。分布式应用系统的设计需要考虑多个方面的因素,如分布式数据管理、并发控制、容错和可扩展性等。该书通过实例和案例分析,深入浅出地介绍了这些概念和原理,使读者能够深入理解分布式应用系统的设计思想和原则。 其次,该书还分享了一些实践经验和最佳实践。分布式应用系统的设计和实现是非常复杂和困难的,需要经验丰富的架构师和工程师进行指导和支持。该书通过介绍一些成功的实际案例,总结了这些案例中的设计思路、技术选型、系统部署和性能调优等方面的经验。这些实践经验能够帮助读者更好地理解和应用分布式应用系统的设计和实践。 最后,该书还介绍了一些常用的分布式应用系统架构和技术。分布式应用系统有多种不同的架构和技术选择,如微服务架构、容器化部署、消息队列等。该书通过介绍这些架构和技术的原理和应用实例,帮助读者理解和选择适合自己项目需求的架构和技术,并指导读者进行实际的系统设计和实施。 综上所述,《分布式应用系统架构设计实践pdf》是一本全面介绍分布式应用系统架构设计实践的书籍,通过具体的案例和实践经验,帮助读者理解和应用分布式应用系统的设计和实践

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值