架构实战案例解析
王庆友
前 1 号店首席架构师
18817 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 23 讲
架构实战案例解析
15
15
1.0x
00:00/00:00
登录|注册

02 | 业务架构:作为开发,你真的了解业务吗?

你好,我是王庆友,今天我们一起聊聊业务架构。
作为开发人员,我们平常讨论比较多的是技术层面的东西,比如 Spring 框架、Redis 缓存、MySQL 数据库等等,我们喜欢讨论这些,是因为纯技术的东西比较通用,和业务相关性不大,沟通起来比较方便。
但你要知道,一个项目能否成功落地,首先需要的是把业务分析做到位,至于选用什么技术来实现,这是我们第二位才去考虑的因素。从架构角度看,业务架构是源头,然后才是技术架构所以,作为专栏的第二讲,今天我们就从业务架构开始说起。
在软件开发的过程中,你肯定知道需求分析是怎么回事,但不一定知道业务架构设计是怎么回事;你也肯定清楚需要产品经理这个角色,但不一定清楚有时还需要业务架构师这个角色。关于需求分析和业务架构设计,相信你经常会有以下几个疑问:
业务架构师和产品经理有什么区别?
需求分析和业务架构设计有什么区别,业务架构到底有什么用?
我们知道,项目的开发都是从收集业务需求开始的,原始的需求一般来自于最终用户。但是,每个用户其实只清楚自己所负责的那部分,因此这些原始需求往往是零散和碎片化的,特别是当一个业务流程跨多个部门的时候,更没有一个人能够说清楚这个业务的全貌。
所以说,仅仅基于这些原始的需求来指导开发是远远不够的,这时,就需要产品经理和架构师介入进来,填补这段空白。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了业务架构设计在项目成功落地中的关键作用,强调了业务架构师在定义系统内部模块结构方面的重要性。文章指出,业务架构设计需要按业务域划分系统模块,并定义模块之间的关系,形成一个高度结构化的模块体系,以便开发人员更容易理解业务并更方便地落地系统。此外,文章还强调了业务架构的两大目标:业务的可扩展和可复用。在实现这些目标时,业务架构设计需要支持打造一个柔性系统,允许业务不断调整和快速生长,并且需要按照业务域来划分系统模块,以实现高复用。文章还提到了支付宝的业务架构变化过程,以及实现模块的高复用需要清晰的模块定位和通用化设计。总的来说,业务架构设计对于项目的成功落地至关重要,需要开发人员了解并重视。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《架构实战案例解析》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(45)

  • 最新
  • 精选
  • aszt
    置顶
    老师好,如何展示或用什么工具去展示业务架构和应用架构,能让人更容易理解,有时去画这两种架构时常常会混在一起,自己画着都分不清了,不知道老师是否遇到这种情况,如何避免和解决这种情况

    作者回复: 混在一起问题也不大,很多时候业务架构和应用架构长的差不多。一般来说三个图: 1. 模块的静态结构图,描述各个模块的层次关系 2. 模块的动态关系图,比如业务流,数据流,调用关系 3. 针对核心的场景,补充交互序列图,从具体过程理解交互关系 或者你静态关系图偏业务架构,动态关系偏应用架构。 最后根据需要,可能还需要状态机,核心库表模型等等。主要是说明问题,大家理解清晰就可以。

    2020-03-12
    17
  • 栗芳凯
    置顶
    如何训练业务架构能力?如领域驱动设计

    作者回复: 领域驱动设计提供了比较体系的方法论,除此之外,平时多琢磨业务,深入理解表结构,想想对业务怎么切分。

    2020-03-05
  • 贵州 IT民工
    置顶
    老师好,请问产品经理梳理的业务流程和图2(右侧业务支撑)中的业务线的概念有什么区别呢?如果没区别,那么多个业务线在拆分业务域的时候,有共同的业务域时,该业务域对应的代码模块在图2业务支撑的什么位置呢

    作者回复: 业务线是个大的概念,比如美团有外卖业务线,打车业务线,酒店业务线等,一个业务线包含多个业务流程,比如外卖订单有它的流程,堂食订单有它的流程。如果多个业务线共享业务域,比如订单是通用的,那这个业务域可以下沉,变成一个共享的基础业务域,不属于那个业务线。

    2020-02-25
    2
    1
  • Din
    置顶
    总结: 1. 进行微服务拆分时,需要根据业务领域来确定服务边界(DDD) 2. 当业务越来越复杂,前台业务场景越来越多,为了保证系统的服务的扩展性和可复用 ,在微服务的基础上,可以通过服务分层,进一步落地中台架构 业务架构会影响微服务边界的划分和系统分层,这些最终都要在技术上落地,所以需要架构师来做这些事情。产品经理更多的是对用户需求的挖掘,业务流程的梳理,原型设计等工作

    作者回复: 你这个理解得很好,就微服务来说,确定需要划分为几个服务,各个服务边界是什么,有了这么多的应用和服务后,系统怎么分层比较好,这个是业务架构要做的,产品经理是搞不定这些的。 至于选用什么微服务框架,是dubbo还是spring cloud,这是技术架构层面的事。

    2020-02-24
    9
  • 西西弗与卡夫卡
    产品经理需要的能力主要偏向用户和商业模式,所以常说要有同理心、洞察人性、懂得用户心理和行为、了解市场。而业务架构师要能把业务划分出领域,业务由领域中不同的点串联成流程,便于团队组织用最小代价实现,需要有强的分析能力,找到系统中的变与不变

    作者回复: 说的很好。

    2020-02-24
    2
    18
  • 每天晒白牙
    真的有业务架构师这个职位吗?我们这边是产品经理提完需求,我们开发自己梳理,自己设计,然后开发。组内有个架构师,但他应该是技术架构师,还真没接触过业务架构师

    作者回复: 实际上你说的架构师兼了业务架构师和技术架构师职责。而且更多偏业务一些。结合业务,划分服务边界,确定应用和服务之间的调用序列图,这些都是业务架构师做的事情。当然最后也会确定技术选型,以及如何部署等。纯粹的技术架构师是设计技术组件,在基础架构团队里面。当公司比较小,研发经理兼架构师角色,公司大到一定程度,业务架构师和技术架构师就会有专门的角色。

    2020-02-24
    4
    5
  • 睡不着的史先生
    二代系统,那个支付清算平台,到底做了个啥呢?统一什么吗?为什么这样就易于扩展了呢

    作者回复: 支付清算平台封装和整合后台的各个系统,给前台业务线提供具有业务语义的服务。 你可以把支付清算平台理解操作系统,后台各个系统理解为具体硬件。操作系统封装磁盘,对上层提供文件的概念,上层是通过文件来操作磁盘的读写。

    2020-03-05
    3
    2
  • idiot
    什么时候需要支付清算平台这种中间层,什么时候不需要呢?是不是底层模块之间有很多固定的组合方式,而这些组合逻辑又被上层多个模块用到,才有必要。

    作者回复: 多对多调用关系需要加中间一层做抽象,对关系进行解耦和简化

    2021-12-31
    1
  • 墨池
    老师,业务架构分层,有企业级业务架构,业务线业务架构,产品的业务架构。 对于微服务的架构方案基础上,一般不是某个产品,而是多个产品集合的业务条线。 我的理解对吗?

    作者回复: 根据系统的大小,业务架构有不同粒度,企业整体和业务线级别的业务架构这都可以说,但一般不是产品的业务架构,产品本身有产品架构的说法。 微服务架构也按系统大小,分为不同不同粒度。 业务和技术相对,产品和定制化项目相对,概念不要混淆哦,一个功能比较通用的业务系统称为产品,定制的称为项目。

    2020-04-12
    1
  • huanrong
    产品经理和业务架构师在分析业务的过程中有不同的职责和能力模型,所以产品经理不能兼业务架构师的角色。 职责不同:产品经理主要关注用户需求和市场趋势,负责定义产品的功能和特性,并与开发团队协作实现产品的目标。而业务架构师则负责将业务需求转化为系统的内部结构和模块设计,以支持系统的可扩展性和高复用性。 视角不同:产品经理站在用户的角度分析业务,关注用户体验和市场需求,着重于产品的外观和功能。而业务架构师则站在开发者的角度,深入了解业务流程,将其拆解为系统模块,并定义模块之间的关系和交互。 技能要求不同:产品经理需要具备市场分析、产品规划、用户研究等技能,以及良好的沟通能力和项目管理能力。而业务架构师需要具备深入理解业务流程的能力,并具备系统设计和架构的知识,能够将业务需求转化为可执行的设计方案。 虽然两者都需要分析业务,但由于职责和能力模型的不同,产品经理和业务架构师通常是两个独立的角色。他们在项目中的协作和配合可以确保产品的用户需求被满足,并且系统的内部结构能够支持产品的实现和发展。

    作者回复: 回答很棒,很全面,业务架构师这个角色很重要。

    2023-08-04归属地:中国香港
收起评论
显示
设置
留言
45
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部