业务架构图

简介: 本文介绍了业务架构图的核心概念与绘制方法,涵盖业务定义、架构域分类,并重点阐述通过分层、分模块、分功能三大要义构建清晰的业务架构,提升客户理解与开发效率。

一、背景知识

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

四、产品业务架构图示例

相关文章
|
1天前
|
缓存 Java 开发工具
[ERP]SpringBoot集成Swagger技术(☆)
本文介绍如何从Gitee克隆项目并运行代码,涵盖环境配置、代码分支管理及提交规范。要求使用Swagger对接口进行文档化,实现参数校验与功能描述,并强调在真实开发中如何高效沟通、快速上手项目需求。
|
1天前
|
uml C语言
系统时序图
时序图(Sequence Diagram)是UML中描述对象间消息传递时间顺序的交互图。横轴为对象,纵轴为时间,通过生命线、控制焦点和消息等元素,展现系统动态协作过程,强调交互的时间顺序与并发行为,常用于分析和设计系统逻辑。
 系统时序图
|
1天前
|
领域建模 数据采集 数据库
领域模型图(数据架构/ER图)
本文介绍如何通过四色原型法进行领域建模,构建数据架构中的ER图。基于业务流程提取时标性原型(MI)、参与方-地点-物品原型(PPT)、角色原型(Role)和描述原型(DESC),逐步建立风控系统的领域模型,并最终转化为实体关系图(ER图),实现从业务到数据模型的精准映射。(238字)
 领域模型图(数据架构/ER图)
|
1天前
|
Java Kubernetes 容器
物理部署图
物理部署图描述系统运行时的硬件配置与软件部署结构,展现节点、构件、物件及连接关系,帮助开发与运维人员理解分布式系统的部署架构,实现软硬件协同。
物理部署图
|
1天前
|
Java 大数据
ArrayList扩容机制
本文深入分析了Java中ArrayList的add及扩容机制。首次添加元素时,默认容量由0扩容至10;每次扩容为原容量的1.5倍(通过位运算提升效率),并通过ensureCapacityInternal、grow等方法实现动态扩容,同时介绍了length、length()、size()的区别与应用场景。
|
1天前
|
Java 网络安全 开发工具
[MES]不合格订单接入提醒功能(☆☆☆)
本文介绍了新员工入职后如何拉取代码、配置开发环境及应对首次任务的完整流程。涵盖Git克隆、Maven配置、IDEA使用等基础操作,并以“不合格工单超时通知”需求为例,引导思考定时任务、短信/钉钉通知实现方案,强调主动沟通与快速上手能力,助力新人突破第一道技术与沟通门槛。
 [MES]不合格订单接入提醒功能(☆☆☆)
|
1天前
|
Java easyexcel 开发工具
[MES]分页与Excel批量上传(☆☆)
本文介绍如何从零开始运行并优化一个Java项目,包括克隆代码、环境配置、分页与批量上传功能实现,强调面对需求不明确时的思考与沟通,提升实战能力。
 [MES]分页与Excel批量上传(☆☆)
|
1天前
|
人工智能 NoSQL Java
参考简历模板
项目“车小豆”是一款智能化租车服务平台,集成SpringCloud、RabbitMQ、Redis等技术,实现7×24小时自助租车服务。通过Qwen大模型与RAG构建智能助手,支持车辆推荐、订单管理、政策查询等功能,结合XXL-JOB任务调度与Seata分布式事务,提升系统并发处理能力与数据一致性,优化用户租车体验。
|
1天前
|
Java Linux 开发工具
Linux
本文介绍如何将一个SpringBoot项目打包并部署到Linux服务器。内容涵盖工程搭建、jar包打包、JDK安装配置、应用上传与启动,以及通过心跳接口验证服务是否正常运行的完整流程,适用于Java应用的Linux部署学习与实践。
|
1天前
|
缓存 NoSQL Java
[ERP]SpringBoot集成Redis技术(☆)
本文介绍如何从Gitee克隆项目并运行代码,涵盖JDK、Maven等环境配置问题及应对策略。通过商品管理接口引入Redis缓存的实战需求,锻炼开发者在真实工作场景中独立解决问题、主动沟通和使用工具测试的能力,涉及git、maven、springboot、redis等核心技术。
 [ERP]SpringBoot集成Redis技术(☆)