业务架构图

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

一、背景知识

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. 最后再给不同层级和模块之间加上信息流

四、产品业务架构图示例

相关文章
|
6月前
|
安全 C++ Windows
window更新系统或备份系统时,错误代码0x80070002是什么意思?
0x80070002是Windows常见错误,提示“系统找不到指定文件或路径”。多由更新失败、文件缺失或路径错误引起。可通过重启更新服务、修复系统文件(sfc/DISM)、检查快捷方式目标或使用DirectX修复工具解决。
599 9
|
4月前
|
人工智能 Java 网络安全
Spring AI Alibaba:本地运行(☆)
简介:本任务要求使用SSH方式拉取私有Git仓库代码,基于SpringCloud、MySQL、Maven技术栈,完成聊天机器人、智能体、工作流三大功能模块的本地运行。需录制8分钟以上视频,结构化输出项目理解,包括技术栈、核心功能、数据库关系及未解困惑,帮助新人快速融入开发环境。(239字符)
 Spring AI Alibaba:本地运行(☆)
|
4月前
|
NoSQL 算法 Java
项目《天机学堂》
天机学堂是一个非学历职业技能在线培训平台,核心业务为售卖课程并提供学习辅助与交互功能。技术栈涵盖SpringBoot、Redis、RabbitMQ等。本人负责需求分析、数据库设计及通用工具封装,如基于Redisson实现分布式锁组件,支持注解式加锁、锁类型切换与限流;并参与开发高性能视频进度记录系统,通过缓存+异步持久化方案实现秒级精度回放,有效降低数据库压力。
|
4月前
|
存储 Java 数据库
项目《四方保险》
本系列内容围绕《四方保险》系统展开,涵盖系统架构、数据库设计、保险产品组成与分类、微服务划分、文件上传与垃圾处理、性能优化、AOP应用、保费计算逻辑、支付流程、埋点设计及短信平台实现等核心话题,全面梳理保险系统开发中的关键技术与业务实践。
|
4月前
|
人工智能 机器人 Java
AI场景面试题
基于150场面试统计,AI相关问题占比22%(32场)。常见问题涵盖AI模块设计、模型训练与部署(如Ollama、MaxKB)、RAG技术、千帆大模型接入、Spring AI框架、AIGC应用及模型微调等,聚焦实际项目中AI落地的技术细节与优化策略。
|
开发者
如何画业务架构图
如何快速上手画业务架构图
13288 2
|
9月前
|
存储 消息中间件 开发框架
如何开发一套ERP系统(附架构图+流程图+代码参考)
ERP系统是企业资源计划的核心工具,有效解决信息孤岛、数据重复等问题,提升管理效率与运营成本控制能力。本文详解ERP系统的核心模块及订单管理模块的开发流程,涵盖功能设计、技术选型与代码示例,助力企业高效搭建信息系统。
|
设计模式 运维 测试技术
业务单据进行领域驱动设计的最佳实践
本文是一篇DDD的最佳实践文章,读者也可以认为本文类似在介绍一种多字段单据的设计模式,整个文章会以一个简单版的电商购物背景作为一个领域上下文,过程中注重介绍领域组件的形成过程,同时会重点突出DDD的核心点。
|
传感器 数据采集 监控
物联网 GE-PREDIX
GE-Predix 是一个由通用电气公司开发的工业互联网平台,旨在为工业设备提供连接、分析和管理服务。它支持设备数据的收集与分析,帮助企业优化运营效率,实现智能化转型。
1054 2
|
API Python
【Python】已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden
【Python】已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden
4087 2

热门文章

最新文章