业务架构图

简介: 业务架构图是将现实业务抽象化表达的工具,通过分层、分模块、分功能梳理业务关系。它帮助客户直观理解业务,助力开发者全局掌握系统结构,提升协作效率与系统可扩展性。

背景知识

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

四、产品业务架构图示例

相关文章
|
XML 分布式计算 安全
hadoop升级流程
hadoop升级流程
|
2月前
|
存储 人工智能 分布式计算
阿里云 OpenLake:AI 时代的全模态、多引擎、一体化解决方案深度解析
阿里云徐晟详解OpenLake:构建全模态、多引擎、一体化智能数据体系,融合大数据与AI,支持湖仓一体、Agentic Data及AI搜索,助力企业降本增效、加速AI落地。(239字)
485 1
阿里云 OpenLake:AI 时代的全模态、多引擎、一体化解决方案深度解析
|
3月前
|
人工智能 Java 程序员
SpringAI+DeepSeek大模型应用开发
本教程以SpringAI为核心,讲解Java与大模型(如DeepSeek)融合开发,助力传统应用智能化升级。适合Java程序员入门AI开发,推动企业低成本拥抱AI变革。
|
3月前
|
存储 SQL 人工智能
AI时代代码开发(数据库设计)
本文介绍基于三范式与DDD的数据库设计流程,结合AI工具辅助分析页面原型,通过部门、员工及工作经历模块,演示表结构设计与优化过程,强调人工校验与调整的重要性,最终完成符合业务需求的数据库建模与测试数据构建。
|
3月前
|
人工智能 自然语言处理 Cloud Native
AI时代代码开发(DeepSeek+Cursor+Devbox)
AI时代重塑软件开发,本课程聚焦DeepSeek+Cursor+Devbox+Sealos工具链,实现自然语言到代码的零基础全栈开发。覆盖需求分析、数据库设计、编码测试至云部署全流程,助力开发者高效构建并上线项目,抢占智能开发先机。(238字)
|
8月前
|
SQL 缓存 监控
大数据之路:阿里巴巴大数据实践——实时技术与数据服务
实时技术通过流式架构实现数据的实时采集、处理与存储,支持高并发、低延迟的数据服务。架构涵盖数据分层、多流关联,结合Flink、Kafka等技术实现高效流计算。数据服务提供统一接口,支持SQL查询、数据推送与定时任务,保障数据实时性与可靠性。
893 0
|
数据库
java.sql.SQLException: txn too large, size: 104857606.
该博客文章讨论了在TiDB数据库中遇到的"txn too large"错误,原因是事务大小超过了默认限制,解决方案是减少每次删除操作的数据量以降低事务的总大小。
326 0
|
存储 分布式计算 NoSQL
大数据基础知识
【10月更文挑战第15天】
981 2
|
机器学习/深度学习 存储 SQL
数据仓库革新:Snowflake在云数据平台中的创新实践
【10月更文挑战第27天】Snowflake作为云原生数据仓库的领导者,以其多租户、事务性、安全的特性,支持高度可扩展性和弹性,全面兼容SQL及多种数据类型。本文探讨了Snowflake在现代化数据仓库迁移、实时数据分析、数据存储与管理及机器学习集成等领域的创新实践和应用案例,展示了其在云数据平台中的强大优势和未来潜力。
713 2
|
消息中间件 监控 Java
【Kafka节点存活大揭秘】如何让Kafka集群时刻保持“心跳”?探索Broker、Producer和Consumer的生死关头!
【8月更文挑战第24天】在分布式系统如Apache Kafka中,确保节点的健康运行至关重要。Kafka通过Broker、Producer及Consumer间的交互实现这一目标。文章介绍Kafka如何监测节点活性,包括心跳机制、会话超时与故障转移策略。示例Java代码展示了Producer如何通过定期发送心跳维持与Broker的连接。合理配置这些机制能有效保障Kafka集群的稳定与高效运行。
649 2