业务架构图

简介: 本文介绍了业务架构图的核心概念与绘制方法,涵盖业务定义、架构域分类,强调业务架构是技术、应用与数据架构的基础。通过分层、分模块、分功能三步法,梳理业务逻辑,明确模块边界与信息流,提升客户理解与开发效率。

一、背景知识

1. 什么是业务

网上对业务的定义有很多,其中个人认为较为准确的几种定义如下:

  1. Business is the organized efforts and activities of individuals to produce and sell goods and services for profit.

业务是个人或企业为获利而生产、销售商品和提供服务的有组织的努力和活动。

  1. A usually commercial or mercantile activity engaged in as a means of livelihood

作为谋生手段而从事的通常是商业或商业活动

以医院为例:医院提供医疗服务,患者通过消费享受医院提供的医疗服务从而重新获得健康的身体。所以,可以把患者去医院看病理解为患者与医院的多阶段交易。而交易的“产品”就是医院提供的医疗服务。

2. 架构域的分类

在四种类型的架构(业务架构、技术架构、应用架构、数据架构)中,业务架构是其他架构的基础。首先要熟悉业务,形成业务架构。再根据业务架构,形成技术架构。再根据技术架构确认数据架构和应用架构。

二、引言

1. 什么是业务架构图

如果使用一句话去概括的话:业务架构图是一种表达业务层级和关系的工具,通过对整个系统的业务进行拆分,对领域模型进行设计,将现实的业务转化为抽象对象。

2. 为什么要画业务架构图

绘制业务架构图的目的有两个方面,第一是面向客户,第二是面向开发者。

对于客户而言:通过描绘业务的上下级关系,梳理出一整套完整、简单的业务视图,提高客户理解度,最终给客户最直观的业务体现。

对于开发者而言:通过绘制业务架构图,可以看清楚系统包含哪几个部分,各部分的职责以及相互间的关系。可以让开发者以一个广角去整体了解这个系统,便于快速了解业务。

三、绘制业务架构图的核心要义

绘制业务架构图的过程可以理解为对业务的收集、提炼、拆解、归纳和分类的过程。

简单来说可以分为三个步骤:分层、分模块、分功能

1. 业务架构图中的核心元素

对开发人员来说绘制业务架构图有一点需要特别注意:业务架构图中要淡化技术相关的概念,而要专注于对业务的思考与整理。

一个好的产品业务架构图需要具备以下三点:

  • 清晰的模块功能边界
  • 功能经过抽象,做到标准化、互相独立
  • 上下游产品功能边界清晰,架构分层明确合理,具备迭代优化的能力

2. 核心要义之一:分层

分层,是指将业务按照层级划分,每个层级都属于独立的板块。层级上要有逻辑关联,如下层为上层服务,或下层为上层提供能力支撑等。

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

3. 核心要义之二:分模块

分模块,是指在同一层级中,分为哪些独立的模块,每个模块可以代表一个完整产品或同类业务的聚合。

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

4. 核心要义之三:分功能

分功能,是指在同一模块中,将独立的功能划分出来,该功能可以代表一个业务入口。

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

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

四、产品业务架构图示例

相关文章
|
3月前
|
人工智能 测试技术 API
从工具到伙伴:一文看懂 AI Agent 与 Agentic AI 的核心差异
AI Agent是执行者,按指令调用工具;Agentic AI是决策者,能自主规划、反思优化。二者核心差异在于是否具备主动决策与自我驱动能力,将重塑智能测试未来。
|
3月前
|
前端开发 JavaScript 微服务
微前端:告别巨石应用,构建灵活前端架构
微前端:告别巨石应用,构建灵活前端架构
260 116
|
26天前
|
存储 人工智能 搜索推荐
教你10 分钟内为自己网站配置AI助手
阿里云百炼平台支持一键部署大模型镜像,如DeepSeek、千问、Kimi等,通过智能体(Agent)集成RAG、插件、MCP等功能,实现知识库接入与外部工具调用,轻松为网站添加AI助手,构建个性化、可扩展的AI应用。
222 3
|
2月前
|
API 数据库 uml
如何写好一篇技术方案
本项目旨在升级知识库基础能力,优化目录与文档管理分离、拖拽交互不流畅等问题,提升用户体验。涵盖需求背景、功能模块、流程图、API及数据库设计,并通过图表与排期卡明确开发计划,助力团队高效协作推进。
 如何写好一篇技术方案
|
2月前
|
运维 Devops 开发工具
生产环境缺陷管理
git-poison基于go-git实现分布式bug追踪,解决多分支开发中bug漏修、漏发问题。通过“投毒-解毒-银针”机制,自动化卡点发布流程,降低协同成本,提升发布安全性与效率,已在大型团队落地应用。
|
2月前
|
Java 测试技术 Linux
生产环境发布管理
本文介绍大型团队中多环境自动化发布流程,涵盖DEV、TEST、PRE、PROD各环境职责,结合CI/CD平台实现分支管理、一键部署,并通过Skywalking等工具高效排查日志,提升发布效率与系统稳定性。
生产环境发布管理
|
2月前
|
敏捷开发 Dubbo Java
需求开发人日评估
本文介绍敏捷开发中工时评估的关键方法,以“人日”为单位,结合开发、自测、联调、测试及发布各阶段,提供常见需求如Excel导入导出、单表操作、跨服务调用等的参考人日,并给出并行任务下的调整建议,助力团队科学规划开发周期。
需求开发人日评估
|
8月前
|
机器学习/深度学习 运维 自然语言处理
AIOps在美团的探索与实践——事件管理篇
本文介绍了美团AIOps在事件管理领域的探索与实践,涵盖事前预防、事中处理和事后运营三大阶段。通过智能变更检测、多模态故障诊断、相似事件推荐等技术,提升故障发现效率与准确性,助力运维智能化升级。
|
5月前
|
人工智能 Cloud Native 中间件
划重点|云栖大会「AI 原生应用架构论坛」看点梳理
本场论坛将系统性阐述 AI 原生应用架构的新范式、演进趋势与技术突破,并分享来自真实生产环境下的一线实践经验与思考。