业务架构图

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
PolarClaw,2核4GB
RDSClaw,2核4GB
简介: 业务架构图是将现实业务抽象化表达的工具,通过分层、分模块、分功能梳理业务逻辑,明确各部分职责与关系。它帮助客户直观理解业务,助力开发者全局掌握系统结构,是连接业务与技术的核心桥梁,支撑系统迭代与优化。

一、背景知识

  1. 什么是业务
    网上对业务的定义有很多,其中个人认为较为准确的几种定义如下:
  2. Business is the organized efforts and activities of individuals to produce and sell goods and services for profit.
    业务是个人或企业为获利而生产、销售商品和提供服务的有组织的努力和活动。
  3. A usually commercial or mercantile activity engaged in as a means of livelihood
    作为谋生手段而从事的通常是商业或商业活动
    以医院为例:医院提供医疗服务,患者通过消费享受医院提供的医疗服务从而重新获得健康的身体。所以,可以把患者去医院看病理解为患者与医院的多阶段交易。而交易的“产品”就是医院提供的医疗服务。
  4. 架构域的分类
    在四种类型的架构(业务架构、技术架构、应用架构、数据架构)中,业务架构是其他架构的基础。首先要熟悉业务,形成业务架构。再根据业务架构,形成技术架构。再根据技术架构确认数据架构和应用架构。

二、引言

  1. 什么是业务架构图
    如果使用一句话去概括的话:业务架构图是一种表达业务层级和关系的工具,通过对整个系统的业务进行拆分,对领域模型进行设计,将现实的业务转化为抽象对象。
  2. 为什么要画业务架构图
    绘制业务架构图的目的有两个方面,第一是面向客户,第二是面向开发者。
    对于客户而言:通过描绘业务的上下级关系,梳理出一整套完整、简单的业务视图,提高客户理解度,最终给客户最直观的业务体现。
    对于开发者而言:通过绘制业务架构图,可以看清楚系统包含哪几个部分,各部分的职责以及相互间的关系。可以让开发者以一个广角去整体了解这个系统,便于快速了解业务。
    三、绘制业务架构图的核心要义
    绘制业务架构图的过程可以理解为对业务的收集、提炼、拆解、归纳和分类的过程。
    简单来说可以分为三个步骤:分层、分模块、分功能。
  3. 业务架构图中的核心元素
    对开发人员来说绘制业务架构图有一点需要特别注意:业务架构图中要淡化技术相关的概念,而要专注于对业务的思考与整理。
    一个好的产品业务架构图需要具备以下三点:
    ● 清晰的模块功能边界
    ● 功能经过抽象,做到标准化、互相独立
    ● 上下游产品功能边界清晰,架构分层明确合理,具备迭代优化的能力
  4. 核心要义之一:分层
    分层,是指将业务按照层级划分,每个层级都属于独立的板块。层级上要有逻辑关联,如下层为上层服务,或下层为上层提供能力支撑等。

如图所示【业务能力层】为【业务应用层】提供业务能力上的服务。上层业务应用可以直接调用能力中心的服务,避免重复开发。

  1. 核心要义之二:分模块
    分模块,是指在同一层级中,分为哪些独立的模块,每个模块可以代表一个完整产品或同类业务的聚合。

如图所示,我们可以将业务应用层分为门诊、住院、急诊、留观和通用医疗服务这五个模块,每个模块都可以在细化其功能矩阵。

  1. 核心要义之三:分功能
    分功能,是指在同一模块中,将独立的功能划分出来,该功能可以代表一个业务入口。

如图在住院中,可以分为入院准备、住院诊疗、住院收费、住院药房等独立的功能模块,各个功能模块由同类功能聚合而来。

  1. 最后再给不同层级和模块之间加上信息流

四、产品业务架构图示例

相关文章
|
存储 设计模式 缓存
通用点赞设计思路
点赞作为一个高频率的操作,如果每次操作都读写数据库会增加数据库的压力,所以采用缓存+定时任务来实现。点赞数据是在redis中缓存半小时,同时定时任务是每隔5分钟执行一次,做持久化存储,这里的缓存时间和任务执行时间可根据项目情况而定。
3217 2
|
3月前
|
存储 人工智能 数据库
Agentic Memory 实践:用 agents.md 实现 LLM 持续学习
利用 agents.md 文件实现LLM持续学习,让AI Agent记住你的编程习惯、偏好和常用信息,避免重复指令,显著提升效率。每次交互后自动归纳经验,减少冷启动成本,跨工具通用,是高效工程师的必备技能。
423 17
Agentic Memory 实践:用 agents.md 实现 LLM 持续学习
|
9月前
|
消息中间件 供应链 前端开发
如何开发WMS系统中的销售管理板块(附架构图+流程图+代码参考)
仓库管理系统(WMS)中的销售管理模块是企业高效处理订单、发货及退货的关键环节。本文详解该模块的功能设计、业务流程、开发技巧与实现效果,并提供代码示例,助力企业打造高效销售管理体系。
|
消息中间件 负载均衡 搜索推荐
交易系统架构
交易系统的业务域是什么?即交易系统应该负责那些内容。 面对多样性的业务场景,交易系统如何承接他们?即交易系统的业务扩展性如何保证。 交易系统的复杂性问题,以及如何处理,特别是业务、系统解耦问题。 事件驱动流程。 简述高并发与高可用技术。
11753 1
|
Java UED 开发者
Spring Boot 降级功能的神秘面纱:Hystrix 与 Resilience4j 究竟藏着怎样的秘密?
【8月更文挑战第29天】在分布式系统中,服务稳定性至关重要。为应对故障,Spring Boot 提供了 Hystrix 和 Resilience4j 两种降级工具。Hystrix 作为 Netflix 的容错框架,通过隔离依赖、控制并发及降级机制增强系统稳定性;Resilience4j 则是一个轻量级库,提供丰富的降级策略。两者均可有效提升系统可靠性,具体选择取决于需求与场景。在面对服务故障时,合理运用这些工具能确保系统基本功能正常运作,优化用户体验。以上简介包括了两个工具的简单示例代码,帮助开发者更好地理解和应用。
558 0
|
开发者
如何画业务架构图
如何快速上手画业务架构图
13579 2
|
API Python
【Python】已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden
【Python】已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden
4122 2
|
监控 Java Linux
JVM工作原理与实战(三十七):Shenandoah GC和ZGC
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了垃圾回收器的技术演进、Shenandoah GC、ZGC等内容。
973 0
|
存储 Java 数据库连接
spring事务失效的几种情况与原因
spring事务失效的几种情况与原因
347 0
|
Java 数据库连接 Maven
从零玩转SpringBoot3-基础特性1
从零玩转SpringBoot3-基础特性
568 0