业务架构图

简介: 本文介绍了业务架构图的核心概念与绘制方法,涵盖业务定义、架构域分类及业务架构图的分层、分模块、分功能三大要义,旨在帮助开发者与客户清晰理解系统业务结构,提升沟通效率与开发质量。

一、背景知识

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

四、产品业务架构图示例

相关文章
|
2月前
|
负载均衡 Java 数据安全/隐私保护
Gateway服务网关
网关是微服务架构的统一入口,核心功能包括请求路由、权限控制和限流。通过Spring Cloud Gateway可实现高效路由转发与过滤器处理,支持跨域配置,提升系统安全性和稳定性。
|
2月前
|
存储 JSON NoSQL
MongoDB常用命令
本文介绍了MongoDB常用操作命令,涵盖数据库与集合的创建、查看、删除,以及文档的增删改查、条件查询、投影、排序、分页和统计等功能,结合实例详细讲解了语法格式及使用注意事项,适用于初学者快速掌握MongoDB基本操作。
MongoDB常用命令
|
2月前
|
Java 应用服务中间件 网络安全
Eclipse运行SSM/SSH项目教程
本文介绍了如何在Eclipse中导入并运行Java Web项目,包括JDK、Tomcat等基础软件的配置,项目导入步骤及服务器绑定方法,并列举了常见错误如数据库连接信息未修改等问题的解决方式。
 Eclipse运行SSM/SSH项目教程
|
2月前
|
存储 NoSQL 关系型数据库
MongoDB相关概念
MongoDB是一款高性能、无模式的文档型数据库,适用于高并发、海量数据、高扩展性场景。支持灵活的JSON-like文档存储,适用于社交、游戏、物联网等应用,具备高可用、易扩展、丰富查询等优势。
MongoDB相关概念
|
2月前
|
NoSQL JavaScript Linux
MongoDB单机部署
本文介绍MongoDB在Windows和Linux系统中的单机部署方法,包括下载安装、配置启动、Shell连接及图形化工具Compass的使用,涵盖版本选择、环境变量设置、配置文件编写等关键步骤,助你快速搭建本地MongoDB环境。
MongoDB单机部署
|
2月前
|
存储 NoSQL 关系型数据库
MongoDB索引知识
MongoDB索引可大幅提升查询效率,避免全表扫描。支持单字段、复合、地理空间、文本及哈希索引,采用B-Tree结构,适用于多种查询场景,提升系统性能。
|
2月前
|
NoSQL Java 测试技术
MongoDB实战演练
本课程以某头条文章评论业务为场景,基于SpringDataMongoDB实现评论的增删改查、分页查询及点赞功能,涵盖需求分析、表结构设计、索引优化及MongoTemplate高效操作,助力掌握MongoDB实战技能。
MongoDB实战演练
|
2月前
|
Java 应用服务中间件 微服务
SpringBoot使用汇总
Spring Boot 是 Spring 框架的扩展,旨在简化 Spring 应用的初始搭建与开发过程。它通过自动配置、起步依赖、内嵌服务器等特性,大幅减少配置文件和编码量,实现快速开发与部署。开发者可专注于业务逻辑,轻松构建独立、生产级的 Spring 应用。
 SpringBoot使用汇总
|
2月前
|
Java Maven
打包
本文介绍Java项目打包部署的两种方式:一是将所有内容打包进单一JAR文件,通过Maven配置、打包命令及运行指令实现快速启动与后台运行;二是将主JAR、依赖与配置文件分离,提升灵活性。涵盖配置、打包、运行及停止服务的完整流程。
打包
|
2月前
|
存储 缓存 安全
常用过滤器介绍
本文介绍了Spring Security中的核心过滤器链,涵盖SecurityContextPersistenceFilter、CsrfFilter、UsernamePasswordAuthenticationFilter等15个关键过滤器的功能与作用,揭示其基于AOP思想的请求拦截机制,并说明过滤器的加载具有配置依赖性,非固定不变。

热门文章

最新文章