首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

事件风暴

事件风暴(Event Storming)是一种轻量级、基于领域驱动设计(DDD)概念的系统分析方法。它通过集体讨论和事件梳理的方式,帮助团队深入理解业务领域,进而设计出符合DDD原则的系统架构。以下是关于事件风暴的相关信息:

基础概念

  • 领域事件:在业务流程中,由于参与者执行特定操作而触发的业务事件,如“订单提交成功”或“乘客到达目的地”。
  • 命令:代表行动、意图,是事件发生前的触发器。
  • 参与者:围绕领域事件涉及到的一组人、一个部门、一个团队或一个特定的人。
  • 外部系统:可部署的IT系统,事件的触发可能是通过外部第三方系统产生。
  • 策略:根据业务约束和规则自动或手动触发。
  • 读模型:参与者需要某些信息来做出决策,通过读模型来获取这些信息。
  • 聚合:可理解为:一个对象群体、一类对象的总称,代表业务流程中的核心对象。

优势

  • 促进团队沟通:通过集合相关人员的集体智慧,进行思维的发散和探索。
  • 快速发现业务需求:能够在数小时而不是数周内提出完整业务流程的综合模型。
  • 明确系统边界:帮助团队理解业务逻辑和领域知识,设计出符合DDD原则的系统架构。

应用场景

  • 发掘现有业务线的改进点
  • 探索新业务模式的可行性
  • 设计整洁可维护的事件驱动型软件,以支持快速发展的业务。

遇到问题可能的原因及解决方法

  • 原因:可能由于各方对业务理解的差异,导致事件定义不统一。
  • 解决方法:在事件风暴会议中,使用不同颜色的便签纸代表不同的概念,确保每个参与者都能清晰地表达自己的观点,并通过集体讨论达成一致。

通过上述分析,我们可以看到事件风暴不仅在软件开发领域,也在业务分析和系统设计等领域展现出了其独特的价值和实用性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

事件风暴过程全体验-上篇

通常地,类似的用户旅程就正是掀起事件风暴的优秀开端~ 现在让我们假设,作为英雄总部,我们计划基于这个场景构建一个自动预警系统,从而让整个预警过程更加智能更加顺畅,那我们IT民工该怎么和总部一起设计这个系统呢...事件风暴-拉开序幕 当开启事件风暴,第一件事情是必须把自己的视角切换到自动预警系统的设计师这个角色上来,谨记,我们关注的是这个系统在这个场景下应该怎么运作,系统以外的细节我们可以暂且忽略。...在正统的事件风暴过程中: 第一步就是寻找事件并以“XX已YY”(如“订单已提交”)完成时态描述这个事件 第二步就是寻找这个事件对应的命令,通常是一个动宾结构(如“提交订单”) 而在这里,对于不太复杂的系统我会倾向与合二为一...当然,如果在做的过程中发现这样连起来想不清楚,那就还原基本步,按照原来的事件->命令这样小步走就好了. Step 1. 命令风暴 下面是我自己设计的命令风暴,结果跟大家在互动区设计的还是差不多的。...分析业务对象生命周期 在通常的事件风暴介绍中,“分析生命周期”经常就是一句话带过,但这里我会建议大家显式地把生命周期画出来,这样对于后续分辨聚合根/实体/值对象会很有帮助。 ?

2.3K30
  • 运用事件风暴进行领域分析建模

    事件风暴的分析模型要素 通过事件风暴进行领域分析建模,其核心的模型要素就是“事件”。除此之外,参与事件风暴的分析模型要素还包括决策命令、读模型、策略和聚合。...故而有的事件风暴实践者认为可以在事件风暴中省略决策命令。...有的事件风暴实践者将查询操作也纳入到事件风暴的模型中,认为是用户执行查询操作获得读模型后,触发了决策命令,如下图所示: ?...事件风暴的建模过程 显然,围绕着“事件”为中心,事件风暴给出了一条有章可循的领域分析建模路径。领域分析建模的基础是探索业务全景的产出物,即业已识别出来的事件流,以及参与事件流的用户、策略与外部系统。...我在知识星球「TOP DDD」开始了一个事件风暴工作坊,就是由我给出需求,要求星球的童鞋根据需求在线下完成一个人的事件风暴,然后提交各自分析获得的模型。

    3K10

    事件风暴的设计要素与驱动力

    在识别和理解事件时,正是要从这样的因果关系着手,考虑为什么要产生这一事件,以及为什么要响应这一事件,进而思考如何响应这个事件,驱动着设计者的“心流”不断思考下去,就像搅动了一场激荡湍急的风暴一般。...我想着或许是Alberto Brandolini将其命名为事件风暴的缘由吧。 在事件风暴中,往往使用橙色标签来代表一个“关键事件”。...这种因果关系是一种不断传递的过程,导致事件发生的因,在事件风暴中被称之为命令(Command),相当于事件的发布者,在事件风暴中使用蓝色标签来表示。...(Read Model),在事件风暴中用绿色标签表示。...在运用事件风暴时,我们可以通过用户体验(例如用户旅程等UX方法)剖析业务场景,从参与者到命令再到事件,又可以围绕着表达状态迁移的事件为核心,将策略与读模型组合在一起帮助我们推导出命令对象。

    1.7K21

    「领域驱动设计DDD」事件风暴简介:实现域驱动设计的简便方法

    事件风暴是一种快速,轻量级且未得到充分认可的群体建模技术,它对于加速开发团队而言非常强大,有趣且有用。...事件风暴催化并加速小组学习,通常在几小时或几天内实现更传统的建模技术从未做过的事情 - 对软件必须运行的领域的共同理解。 要了解事件风暴,您首先需要了解两个关键术语。域事件是域专家感兴趣的任何事件。...域事件以不指定特定实现的方式捕获这些事实。 事件风暴如何运作 您运行一个辅助研讨会进行一个活动风暴会议。每个人都参与其中,并且协调人使团队保持专注和参与,指导进展到完整的域模型。...相反,这些对话可以在事件风暴会话期间发生。通常这些对话是按顺序发生的,但是在事件发生时,它们都会立即发生。...何时何地使用事件风暴 使用事件风暴最明显的时间是在项目开始时,因此团队可以从对域模型的共同理解开始。使用事件风暴的另一个高回报时间是项目结束的一部分,用于捕获和分享团队在构建软件过程中学到的知识。

    2.3K31

    从《一九八四》到《窃听风暴》

    摘自:微信公号“哲学园" 《窃听风暴》是2006年德国最成功的电影,在有“德国奥斯卡”之称的罗拉奖评选中获得11项提名,并获得最佳影片、最佳编剧等7个重要奖项。...别人的生活   《窃听风暴》里没有宏大场面,这个中文译名不如其原义“别人的生活”那样更能为我们展示该片的内涵。   ...《窃听风暴》中的性爱既是生活中的寻常场景,也是深刻的隐喻。对于卫斯乐来说,监听与审讯给他带来的乐趣显然超过了性欲。...多纳斯马克在《窃听风暴》里或多或少地给出了自己的答案。在极端的年代,掌权者通过“新词”推销真理,并用冗长的真理说服民众自己生活在幸福之中。然而,发乎心灵的诗歌与音乐,会激起人们对爱与美的回忆与向往。...显然,《窃听风暴》是一部关于拯救的电影,作家在反抗中找回了自己,窃听者在背叛中自救救人。当然,这部电影也在说服我们学习是一辈子的事。

    780110

    主从替换之后的复制风暴

    第一感觉是遇到了复制风暴--不同于主备server_id 的log event在主备库之间无限循环复制。升级的逻辑图如下: ?...主库中有数据更新,会将更新记录含有server_id_1的log event发送到备库,然后备库更新数据,将含有server_id_1的log event 发送给主库,因此最初主库上的log event 更新事件又传了回来...,这时候MySQL就要对复制事件的server_id进行判断,发现复制事件的server_id和自己的server_id相同时,放弃执行,如果不同 则执行该log event 并记录到binlog 里面继续发送给备库...如果该event的server_id和主备的server_id都不相同,该log event 则在主备库中无限循环执行,也就是通常所说的复制风暴。 那为什么slave lag 为时大时小呢?...对于MySQL 本身,可以加上一层判断,在复制结构中检查 log envent的server_id是否属于 复制结构中数据库的server_id,如果不是,则判断该事物属于复制风暴事物,予以抛弃 。

    1.1K20

    广播风暴的成因以及如何判断、解决

    广播风暴(broadcast storm)简单的讲是指当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。...这样,在网络稍微繁忙的时候,肯定会产生广播风暴了。2、网卡损坏:如果网络机器的网卡损坏,也同样会产生广播风暴。损坏的网卡,不停向交换机发送大量的数据包,产生了大量无用的数据包,产生了广播风暴。...如何解决这个问题:    在面对网络广播风暴发生时,要冷静分析广播风暴产生的原因,可运用排除法、替换法和网线插拔法等多种方法综合运用,一步一步地进行故障排除,快速定位引发广播风暴的故障点,查出引发广播风暴的原因...,及时采取相应措施来消灭广播风暴。...要避免广播风暴,可以采用恰当划分VLAN、缩小广播域、隔离广播风暴,还可在千兆以太网口上启用广播风暴控制,最大限度地避免网络再次陷入瘫痪。当端 口接受到大量的广播、单播或组播的包时,就会发生广播风暴。

    3.3K30

    如何使用 SSD 避免 VDI 启动风暴

    因此,为了满足由启动风暴引起的I/O需求,你的存储系统通常需要设计成能满足这种最坏的情况。 仅仅为满足启动风暴时的IOPS需求而设计的存储架构将相当昂贵。...使用SSD解决VDI启动风暴问题 为了平安度过启动风暴,相对于装备整个的存储阵列来处理所需的IOPS,存在更好的解决方案。...不过使用少量的SSD磁盘来承载启动风暴时所产生的大量I/O是非常经济的。...它们也可以用来解决由启动风暴引起的存储 I/O瓶颈问题。通过加入由少量SSD磁盘组成的存储池,你可以将虚拟机母版映像从较慢的存储层转移到SSD存储层,以处理由启动风暴引起的大量I/O。...将SSD和廉价存储混合可以让你在降低项目费用的同时,仍然可以提供足够的性能以消除启动风暴。

    1.3K20

    从微信信令风暴谈起

    近期微信收费事件闹得全国沸腾,其折射出的“微信信令风暴”危机,更成为运营商与腾讯博弈是否收费的重要筹码。...本人在加入腾讯前是一名通讯行业的老兵,从事多年无线通信技术及管理工作,借此事件给感兴趣的同事们聊聊相关的通信网络知识背景,无责任探讨一下双方可能采取的应对方案和影响。欢迎拍砖!...这样的问题被业内人士称之为“信令风暴”。在国内,虽然还没出现过这样严重的状况,但是运营商已经开始面临压力 腾讯:我们对信令的占用更多的是传统2G、2.5G网络上,像3G网络应该游刃有余了。...下面我们看看,运营商和腾讯在此事件中面临的难题和可能的思路: 敏感问题一:APP永远在线对于厂家来说是否违规或者恶意 答案显然不是。...前天刚上过一个培训“管理决策的误区”,有一个论点是“决策就是靠拍脑袋”,这种众说纷纭的复杂事件,最佳的解决思路可能就是拍脑袋,随着时间的推移, 2G用户越来越向WIFI和3G转移,危机本身可能就不存在了

    3.9K60
    领券