前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【2019领域驱动设计峰会】领域场景驱动设计实战工作坊

【2019领域驱动设计峰会】领域场景驱动设计实战工作坊

作者头像
ThoughtWorks
发布2019-09-25 14:44:35
8040
发布2019-09-25 14:44:35
举报
文章被收录于专栏:ThoughtWorksThoughtWorks

领域场景驱动设计实战工作坊

时间:2019年,11月29日

地点:北京,丽都皇冠假日酒店

【 工 作 坊 介 绍 】

领域场景驱动设计实战工作坊将以事件风暴为纵贯线,以领域场景为横切面,引入场景驱动设计与测试驱动开发完成从领域建模到编码实现的全过程实战。内容涵盖事件风暴、场景驱动设计和测试驱动开发。整个工作坊围绕为学在线课堂的案例全程演练具有实操价值的领域驱动设计方法。

【 工 作 坊 受 众 】

  • 专注于行业软件开发或互联网开发的软件从业者
  • 希望掌握事件风暴方法的业务分析人员与开发人员
  • 希望提高领域建模与分析能力的软件设计人员
  • 希望掌握领域驱动设计方法并运用到项目中的后端开发人员

【 工 作 坊 价 值 】

领域场景驱动设计作为一种固化的软件设计过程,目的是为了降低领域驱动搞设计对开发团队技术能力水平的要求,形成一种更容易落地的开发实践,有利于企业在团队组织内进行推广和实践。

【 参 与 收 益 】

通过本次工作坊,你将学到如何将事件风暴运用到具体的项目开发中,并利用它进行领域建模、设计和编程开发,在降低业务复杂度的同时提高开发质量;你将学到如何利用场景驱动设计固化设计和开发过程,帮助现有开发团队实现领域驱动设计在复杂系统下的软着陆。

【 工 作 坊 环 节 】

领域驱动设计过程

贯穿战略式设计到战术式设计,整体介绍领域驱动设计的完整过程和基本概念。

事件风暴

介绍事件风暴的基本概念,包括领域事件的基本特征,事件风暴的设计驱动力,并介绍事件风暴的可视化符号特征,为开展事件风暴工作坊做准备。

探索业务全景

通过识别事件风暴的领域事件,并利用事件因果关系的驱动力识别各自的前置事件和后置事件,形成一条或多条代表了时间轴的事件流。探索过程包括:

  • 识别代表业务全景的领域事件
  • 标记代表问题、重要关注点的热点
  • 为每个领域事件识别参与者
领域分析建模

针对限界上下文内的领域事件进行领域分析建模。这个过程属于事件风暴的第二阶段,将进一步确定领域分析模型。分析过程如下:

  • 根据领域事件确定决策命令
  • 根据决策命令确定读模型
  • 根据决策命令和领域事件之间的关系确定聚合
  • 根据读模型、聚合获得领域分析模型

场景驱动设计

选择一个领域场景,由参与者开启一个初始状态,开始执行具有时序性的连续任务,角色之间采用行为协作来共同满足业务价值,这就是场景驱动设计(Scenario Driven Design)。

这个过程是从领域分析模型到领域设计模型的关键步骤,同时也有利于降低开发团队的设计门槛,形成固化的领域驱动战术设计过程。

场景驱动设计的过程

场景驱动设计以事件风暴识别出来的领域场景为起点,以领域分析模型中的模型对象结合角色构造型作为参与协作的设计元素,固化为一个可按部就班执行的动态设计过程。整个设计过程分为三个步骤:

  • 识别场景:从需求中识别出独立的具有业务价值的领域场景
  • 分解任务:根据职责的层次对领域场景进行任务分解
  • 分配职责:为领域驱动设计角色构造型分配不同层次的职责
测试驱动开发
场景驱动设计与测试驱动开发之间形成了一种相辅相成的设计伴侣。场景驱动设计分解出来的任务以及角色构造型的协作时序图,可以作为测试驱动开发的起点。测试驱动开发的代码编写又反过来验证场景驱动设计的正确性,并通过重构改进代码质量,并重新发现之前未曾发现的隐含概念。在本次工作坊中,我们将选择一个领域场景,严格按照测试驱动开发的开发节奏进行。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ThoughtWorks洞见 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 探索业务全景
  • 领域分析建模
  • 场景驱动设计
    • 场景驱动设计的过程
      • 测试驱动开发
        • 场景驱动设计与测试驱动开发之间形成了一种相辅相成的设计伴侣。场景驱动设计分解出来的任务以及角色构造型的协作时序图,可以作为测试驱动开发的起点。测试驱动开发的代码编写又反过来验证场景驱动设计的正确性,并通过重构改进代码质量,并重新发现之前未曾发现的隐含概念。在本次工作坊中,我们将选择一个领域场景,严格按照测试驱动开发的开发节奏进行。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档