大神教你做业务建模

软件工程   2023-06-27 00:00   265   0  

前言

“ 业务建模的起点是业务,终点也是业务。它是对业务进行的抽象,服务于业务本身。”

以下内容从自身经验出发,从什么是业务建模、为什么做业务建模、怎么做业务建模以及什么时候做业务建模四个方面展开讲,希望本篇文章对你有帮助。

01 — 什么是业务建模

想要了解什么是业务建模,首先要把业务建模拆开看,什么是业务,什么是建模。在智库百科的解释中: 业务:指商业(或非商业)组织及其运作的活动流程。 建模:指人类对事物进行的一种可视化抽象活动,目的是为了揭示事物的本质和规律。 业务建模:指对商业(或非商业)组织及其运作的流程进行的建模过程。它反映了业务组织的静态和动态的本质抽象特征。因而业务建模是对业务组织的静态特征和动态特征进行抽象化的过程。

通俗地来讲,业务建模就是理解业务并对业务进行抽象提炼,是透过现象找本质的过程。

02 —为什么做业务建模

从业务的角度来看——梳理业务。 日常工作中梳理业务的方式有很多,业务建模是最直观简练的梳理方式,清晰直观的体现出了实体之间的关系。同时对业务进行建模的过程也是对业务渐进明细的过程。

从产品的角度来看——维持产品的稳定性、可拓展性和通用性。 类比搭积木,大的框架稳定,往里面塞积木时才不会倒,且替换时只需把部分进行替换即可,不用大动干戈推倒重来。 建模就是搭框架,一层层地搭下去,让系统保持稳定性和灵活性。

从团队角度来看——一图胜千文,传递设计方案,统一思想。 业务建模对外的价值在于准确传达产品的设计方案,统一大家对业务的理解,对设计的理解。对齐目标,统一思想之后,下游的工作才能更好地推进。

从自身能力角度来看——锻炼抽象能力。 建模的过程就是在抽象化的过程,刻意的锻炼够很好的提高自身的抽象能力。长此以往,会发现不论在工作还是在生活中,看待事物的角度都会发生变化,事物变得更清晰了。

03 —怎么做业务建模

怎么做业务建模?网上有很多教程,讲得详细且生动,这里会讲一个简单且通用的建模方法,也会着重讲一下建模的原则和几个注意事项。

建模的方法

29728_xnvx_7553.webp


29728_kgwa_2366.webp



29729_buhx_4783.webp





几个原则

关注业务本身,不要受限于产品(页面、功能)、技术实现。 很多时候产品会被具体的功能和页面绊住,但功能是建模之后产品设计环节的事情,页面更只是可视化罢了。页面和功能的来源都是业务,如果做业务建模时过多的考虑页面和功能就本末倒置了。 专业的人做专业的事情,产品就别想技术实现了,即使你是技术出身,退一步海阔天空。

遵循业务高内聚、低耦合准则(无需必要,勿增实体)。 高内聚低耦合:既保证了模块内的业务紧凑,同时又确保了系统的可拓展性。 具备业务领域的专业知识。 专业知识知道得越多,考虑的就越全面,设计出的产品就越灵活,可达到事半功倍的效果。

需要注意的事项

领域边界 建模过程中可根据业务流程或者功能模块进行领域划分。目的是业务模型流程间关系清楚直观、产品设计结构清晰。

取舍 为突出业务主流程,应适当简略非本次核心业务实体间的业务流程。

实体定义 实体在定义的时候尽量专业且和已有的实体保持差异,不然系统复杂的话很容易出现理解偏差。

04 —什么时候做业务建模

任何时候

凡是涉及到和产品和业务相关的任何事情都有建模的影子。抽象、提炼、核心、本质这些都是在建模。熟练的产品直接抓到核心,不熟练可能需要剥会儿茧。

从产品的生命周期看

0-1

这个阶段做业务建模更多的是防患于未然。防止业务不清楚,产品核心规划不长远就甩开膀子开始干,最后导致业务还没跑起来就要做重构,浪费成本。 这个阶段做建模也是辅助技术理解新产品整体的规划以便进行技术底层结构设计。

1-N

这个阶段产品主框架基本已经完成,做建模更多的是搭建产品结构,在大的框架里面做小框架,保证各个层级的功能模块有条不紊的运转。

重构

旧系统无法承载更多样化的业务需求时,需要重构,建模是产品侧基于业务对产品结构设计的重要参考文件。

从日常工作的角度看

新业务

快速熟悉新业务。建模的本质是对业务的抽象,在接触新业务时,建模能快速抓住业务核心,并找到业务之间的联系。

新功能

清楚表达设计思路。帮助团队小伙伴快速定位自己是在哪里新增,影响的点有哪些。

旧功能改造

清楚表达需要改造的点。改哪里,影响到哪些,改造后的新关系是什么。

29729_oegn_4070.webp

抗造:系统可拓展性高,主框架是稳定的,其他都是小打小闹。 长寿:合理的框架设计,系统具备高灵活性。

05 —其他拓展

建模和建表的区别

业务建模:聚焦在业务的提炼,如有问题回归业务本身。 建表:建表是为了结构化的存储数据,在创建的过程中为了保证表的兼容程度需要对其进行抽象,抽象到业务的下一层。

业务建模抽象的颗粒度到业务,建表的抽象颗粒度更深,可类比分子和原子。


29729_on6m_4143.webp


总之,建模和建表是完全不同的两个事情,不管是在使用场景上,创建的规则上,抽象的颗粒度上以及其作用都是不一样的。

几个误区

误区一:业务建模是获取需求。 需求是建模的输入,建模是辅助更好地梳理补齐需求。

误区二:业务建模可以指导技术建表。 业务建模的出发点是业务,终点也是业务。数据库建表有其自成一体的规范和语言,两者有本质的区别,且没有任何关系。