业务架构图

简介: 业务架构图是将现实业务抽象化表达的工具,通过分层、分模块、分功能梳理业务逻辑,明确各部分职责与关系。它既提升客户对业务的理解,也帮助开发者全局掌握系统结构,是连接业务与技术的重要桥梁,具备清晰边界与可迭代优化的特性。

一、背景知识

  1. 什么是业务
    网上对业务的定义有很多,其中个人认为较为准确的几种定义如下:
    Business is the organized efforts and activities of individuals to produce and sell goods and services for profit.
    业务是个人或企业为获利而生产、销售商品和提供服务的有组织的努力和活动。
    A usually commercial or mercantile activity engaged in as a means of livelihood
    作为谋生手段而从事的通常是商业或商业活动
    以医院为例:医院提供医疗服务,患者通过消费享受医院提供的医疗服务从而重新获得健康的身体。所以,可以把患者去医院看病理解为患者与医院的多阶段交易。而交易的“产品”就是医院提供的医疗服务。
  2. 架构域的分类
    在四种类型的架构(业务架构、技术架构、应用架构、数据架构)中,业务架构是其他架构的基础。首先要熟悉业务,形成业务架构。再根据业务架构,形成技术架构。再根据技术架构确认数据架构和应用架构。
    二、引言
  3. 什么是业务架构图
    如果使用一句话去概括的话:业务架构图是一种表达业务层级和关系的工具,通过对整个系统的业务进行拆分,对领域模型进行设计,将现实的业务转化为抽象对象。
  4. 为什么要画业务架构图
    绘制业务架构图的目的有两个方面,第一是面向客户,第二是面向开发者。
    对于客户而言:通过描绘业务的上下级关系,梳理出一整套完整、简单的业务视图,提高客户理解度,最终给客户最直观的业务体现。
    对于开发者而言:通过绘制业务架构图,可以看清楚系统包含哪几个部分,各部分的职责以及相互间的关系。可以让开发者以一个广角去整体了解这个系统,便于快速了解业务。
    三、绘制业务架构图的核心要义
    绘制业务架构图的过程可以理解为对业务的收集、提炼、拆解、归纳和分类的过程。
    简单来说可以分为三个步骤:分层、分模块、分功能。
  5. 业务架构图中的核心元素
    对开发人员来说绘制业务架构图有一点需要特别注意:业务架构图中要淡化技术相关的概念,而要专注于对业务的思考与整理。
    一个好的产品业务架构图需要具备以下三点:
    清晰的模块功能边界
    功能经过抽象,做到标准化、互相独立
    上下游产品功能边界清晰,架构分层明确合理,具备迭代优化的能力
  6. 核心要义之一:分层
    分层,是指将业务按照层级划分,每个层级都属于独立的板块。层级上要有逻辑关联,如下层为上层服务,或下层为上层提供能力支撑等。
    如图所示【业务能力层】为【业务应用层】提供业务能力上的服务。上层业务应用可以直接调用能力中心的服务,避免重复开发。
  7. 核心要义之二:分模块
    分模块,是指在同一层级中,分为哪些独立的模块,每个模块可以代表一个完整产品或同类业务的聚合。
    如图所示,我们可以将业务应用层分为门诊、住院、急诊、留观和通用医疗服务这五个模块,每个模块都可以在细化其功能矩阵。
  8. 核心要义之三:分功能
    分功能,是指在同一模块中,将独立的功能划分出来,该功能可以代表一个业务入口。
    如图在住院中,可以分为入院准备、住院诊疗、住院收费、住院药房等独立的功能模块,各个功能模块由同类功能聚合而来。
  9. 最后再给不同层级和模块之间加上信息流
    四、产品业务架构图示例

image.png

相关文章
|
1天前
|
存储 JSON NoSQL
MongoDB常用命令
本文介绍如何使用MongoDB存储文章评论数据,涵盖数据库与集合的创建、增删改查操作及分页排序查询。通过实例演示文档的插入、更新、删除与条件查询,并讲解注意事项如_id主键、数据类型及命名规范,帮助快速掌握MongoDB基本操作。
|
1天前
|
JSON API 数据库
如何写好一篇技术方案
本模板用于规范产品需求文档,涵盖项目背景、变更记录、功能模块、流程图、API设计等内容,支持语雀卡片与文件附件,提升团队协作效率。
|
1天前
|
Kubernetes Java 应用服务中间件
开发篇(脚手架下载)
本文介绍基于SpringCloud + Kubernetes的微服务开发实践,重点讲解EDAS 3.0如何优化开发者体验。通过阿里云项目初始化工具快速搭建Spring Cloud Alibaba应用,并利用Cloud Toolkit插件实现本地免运维注册中心,一键启动服务,显著提升开发效率。后续将深入部署、联调等环节。
|
1天前
|
SQL 运维 分布式计算
如何做好SQL质量监控
SLS推出用户级SQL质量监控功能,集成于CloudLens for SLS,提供健康分、服务指标、运行明细、SQL Pattern分析及优化建议五大维度,助力用户全面掌握SQL使用情况,实现精细化管理与性能优化,提升日志分析效率与体验。
|
1天前
|
自然语言处理 数据可视化 Docker
安装ES、Kibana、IK
本文介绍如何通过Docker部署单节点Elasticsearch与Kibana,并配置IK分词器。内容涵盖网络创建、镜像加载、容器运行、数据卷挂载、Kibana可视化界面使用及DevTools调试。重点讲解IK分词器的离线安装、扩展词典与停用词典配置,提升中文分词效果。同时提供常见问题解决方案,如ES启动报错处理。全过程适用于学习与测试环境搭建。(238字)
|
1天前
|
存储 监控 Docker
ElasticSearch集群
Elasticsearch集群通过分片与副本机制解决海量数据存储及单点故障问题。将索引拆分为多个shard分布于不同节点,提升存储与性能;通过replica实现数据高可用。利用docker部署多节点集群,结合cerebro监控状态,支持分片管理、故障转移与脑裂防护,确保集群稳定可靠运行。(238字)
|
1天前
|
自然语言处理 关系型数据库 MySQL
数据聚合、自动补全、数据同步
本文介绍了Elasticsearch中数据聚合、自动补全与数据同步的核心功能。通过Bucket、Metric、Pipeline三类聚合,可实现品牌分组、统计计算等实时分析;结合拼音分词器与Completion Suggester,实现搜索框智能提示;并通过MQ或binlog监听实现MySQL与ES的数据同步,提升系统解耦与实时性。
|
1天前
|
运维 安全 Devops
生产环境缺陷管理
git-poison基于go-git实现分布式bug追溯,解决多分支开发中bug漏修、漏发等问题。通过“投毒-解毒-银针”机制,自动化管理bug生命周期,降低协同成本,避免人为失误,已在大型团队落地应用,显著提升发布安全与效率。
|
1天前
|
运维 Java 关系型数据库
微服务概述
微服务架构将单体应用拆分为多个独立、轻量级的服务,各服务围绕业务构建,独立开发、部署与扩展,通过RESTful API通信。它具备服务自治、技术栈灵活、故障隔离等优势,但也带来运维复杂、分布式事务等挑战。自2014年由Martin Fowler等人推动,逐步演进为SpringCloud等成熟方案,成为现代云原生应用的主流架构之一。(238字)
|
1天前
|
存储 负载均衡 Java
Sentinel工作原理
Sentinel 是面向分布式服务架构的流量治理组件,核心概念包括资源与规则。资源指应用中的任意代码块或服务,通过API定义即可受保护;规则则涵盖流量控制、熔断降级和系统保护,支持动态调整。其设计理念强调灵活控流,支持按调用链、QPS、线程数等维度进行限流,采用线程数限制和响应时间降级实现熔断,避免雪崩。同时提供系统负载保护,保障系统稳定。通过Slot链实现资源统计、规则校验与流量调控,支持自定义扩展,具备高可用与低侵入特性。

热门文章

最新文章