工程师
其他
推荐课程
average > 0 ? $model->average . '分' : '10.0分' ?>

面向场景的领域驱动设计全过程工作坊

Bruce Zhang

前ThoughtWorks 架构师、敏捷教练

信通院应用现代化推进中心专家委员会委员,数字现代化首席顾问,微软最有价值专家,南京大学DevOps+ Research Lab企业导师,南京大学软件工程卓越技术讲堂讲师,四川大学软件工程硕士,K+全球软件研发行业创新峰会联席主席,阿里研发效能峰会出品人,DDD研修会创始人,DDD China社区卓越贡献者,2021年度影响力作者奖。
目前担任华龙数字AI研发总监,曾担任DaoCloud应用现代化首席顾问,民航信息技术总监兼首席架构师,ThoughtWorks首席咨询师,HP GDCC解决方案架构师,中兴通讯高级工程师,并先后在美国、澳大利亚、法国与中国香港为海外企业提供交付与咨询服务。著译作包括《解构领域驱动设计》(包括简体版与繁体版)、《软件设计精要与模式》、《架构宝典》、《高可用可伸缩微服务架构》、《Java设计模式》、《恰如其分的软件架构》、《WCF服务编程》、《人件》。
咨询与培训内容包括AI智能工程化、数字化转型、领域驱动设计、分布式架构、设计模式、重构与测试驱动开发、高质量Java编码、敏捷项目转型等。咨询与培训客户包括工商银行、中国银行、花旗银行、中国银联、招商银行、浦发银行、平安集团、太平洋保险、太平人寿、国泰保险、华泰证券、安信证券、广发证券、深交所、上海期货交易所、郑州商品交易所、清算所、宝马、广汽丰田、普华永道、安永、京东、美团、酷狗音乐、斯伦贝谢、赛门铁克、可口可乐、摩托罗拉、华为、中兴通讯、中国电信、中国移动、电信盈科、中化集团、国家电网、中国体彩、顺丰速运、戴尔、TCL、浪潮、国航、中航信等近百余家国内外企业,服务的全球五百强企业达到二十余家,涉及到的行业与领域包括互联网、零售、金融、通信、制造、民航。
目前,主要致力于大型软件企业的数字化建设、AI战略规划、分布式架构设计、领域驱动设计推广、大数据平台架构设计以及代码质量提升与敏捷项目转型。

信通院应用现代化推进中心专家委员会委员,数字现代化首席顾问,微软最有价值专家,南京大学DevOps+ Research Lab企业导师,南京大学软件工程卓越技术讲堂讲师,四川大学软件工程硕士,K+全球软件研发行业创新峰会联席主席,阿里研发效能峰会出品人,DDD研修会创始人,DDD China社区卓越贡献者,2021年度影响力作者奖。 目前担任华龙数字AI研发总监,曾担任DaoCloud应用现代化首席顾问,民航信息技术总监兼首席架构师,ThoughtWorks首席咨询师,HP GDCC解决方案架构师,中兴通讯高级工程师,并先后在美国、澳大利亚、法国与中国香港为海外企业提供交付与咨询服务。著译作包括《解构领域驱动设计》(包括简体版与繁体版)、《软件设计精要与模式》、《架构宝典》、《高可用可伸缩微服务架构》、《Java设计模式》、《恰如其分的软件架构》、《WCF服务编程》、《人件》。 咨询与培训内容包括AI智能工程化、数字化转型、领域驱动设计、分布式架构、设计模式、重构与测试驱动开发、高质量Java编码、敏捷项目转型等。咨询与培训客户包括工商银行、中国银行、花旗银行、中国银联、招商银行、浦发银行、平安集团、太平洋保险、太平人寿、国泰保险、华泰证券、安信证券、广发证券、深交所、上海期货交易所、郑州商品交易所、清算所、宝马、广汽丰田、普华永道、安永、京东、美团、酷狗音乐、斯伦贝谢、赛门铁克、可口可乐、摩托罗拉、华为、中兴通讯、中国电信、中国移动、电信盈科、中化集团、国家电网、中国体彩、顺丰速运、戴尔、TCL、浪潮、国航、中航信等近百余家国内外企业,服务的全球五百强企业达到二十余家,涉及到的行业与领域包括互联网、零售、金融、通信、制造、民航。 目前,主要致力于大型软件企业的数字化建设、AI战略规划、分布式架构设计、领域驱动设计推广、大数据平台架构设计以及代码质量提升与敏捷项目转型。

课程费用

6800.00 /人

课程时长

2

成为教练

课程简介

工作坊介绍:
领域驱动设计全过程工作坊将以事件风暴为纵贯线,以领域场景为横切面,驱动从战 略设计到战术设计的全生命周期的完整开发过程。内容涵盖事件风暴、限界上下文、 上下文映射、场景驱动设计和测试驱动开发。整个工作坊围绕为学在线课堂的案例全程演练具有实操价值的领域驱动设计方法。

目标收益

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

培训对象

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

课程大纲

领域驱动设计过程 (1小时) 贯穿战略式设计到战术式设计,整体介绍领域驱动设计的完整过程和基本概念。
事件风暴(1小时) 介绍事件风暴的基本概念,包括领域事件的基本特征,事件风暴的设计驱动力,并介绍事件风暴的可视化符号特征,为开展事件风暴工作坊做准备。
探索业务全景 (3小时) 通过识别事件风暴的领域事件,并利用事件因果关系的驱动力识别各自的前置事件和 后置事件,形成一条或多条代表了时间轴的事件流。
探索过程包括:
• 识别代表业务全景的领域事件
• 标记代表问题、重要关注点的热点
• 为每个领域事件识别参与者
• 对所有事件进行横向和纵向的切分,获得候选限界上下文
• 遍历所有事件,确定上下文映射

领域分析建模 (2小时) 针对限界上下文内的领域事件进行领域分析建模。这个过程属于事件风暴的第二阶段,将进一步确定领域分析模型。分析过程如下:
• 根据领域事件确定决策命令
• 根据决策命令确定读模型
• 根据决策命令和领域事件之间的关系确定聚合
• 根据读模型、聚合获得领域分析模型
场景驱动设计 (1小时) 选择一个领域场景,由参与者开启一个初始状态,开始执行具有时序性的连续任务, 角色之间采用行为协作来共同满足业务价值,这就是场景驱动设计(Scenario Driven Design)。
这个过程是从领域分析模型到领域设计模型的关键步骤,同时也有利于降低开发团队 的设计门槛,形成固化的领域驱动战术设计过程。
场景驱动设计的过程 (2小时) 场景驱动设计以事件风暴识别出来的领域场景为起点,以领域分析模型中的模型对象 结合角色构造型作为参与协作的设计元素,固化为一个可按部就班执行的动态设计过 程。整个设计过程分为三个步骤:
• 识别场景:从需求中识别出独立的具有业务价值的领域场景
• 分解任务:根据职责的层次对领域场景进行任务分解
• 分配职责:为领域驱动设计角色构造型分配不同层次的职责
测试驱动开发 (2小时) 场景驱动设计与测试驱动开发之间形成了一种相辅相成的设计伴侣。场景驱动设计分解出来的任务以及角色构造型的协作时序图,可以作为测试驱动开发的起点。测试驱动开发的代码编写又反过来验证场景驱动设计的正确性,并通过重构改进代码质量, 并重新发现之前未曾发现的隐含概念。在本次工作坊中,我们将选择一个领域场景, 严格按照测试驱动开发的开发节奏进行。
领域驱动设计过程 (1小时)
贯穿战略式设计到战术式设计,整体介绍领域驱动设计的完整过程和基本概念。
事件风暴(1小时)
介绍事件风暴的基本概念,包括领域事件的基本特征,事件风暴的设计驱动力,并介绍事件风暴的可视化符号特征,为开展事件风暴工作坊做准备。
探索业务全景 (3小时)
通过识别事件风暴的领域事件,并利用事件因果关系的驱动力识别各自的前置事件和 后置事件,形成一条或多条代表了时间轴的事件流。
探索过程包括:
• 识别代表业务全景的领域事件
• 标记代表问题、重要关注点的热点
• 为每个领域事件识别参与者
• 对所有事件进行横向和纵向的切分,获得候选限界上下文
• 遍历所有事件,确定上下文映射

领域分析建模 (2小时)
针对限界上下文内的领域事件进行领域分析建模。这个过程属于事件风暴的第二阶段,将进一步确定领域分析模型。分析过程如下:
• 根据领域事件确定决策命令
• 根据决策命令确定读模型
• 根据决策命令和领域事件之间的关系确定聚合
• 根据读模型、聚合获得领域分析模型
场景驱动设计 (1小时)
选择一个领域场景,由参与者开启一个初始状态,开始执行具有时序性的连续任务, 角色之间采用行为协作来共同满足业务价值,这就是场景驱动设计(Scenario Driven Design)。
这个过程是从领域分析模型到领域设计模型的关键步骤,同时也有利于降低开发团队 的设计门槛,形成固化的领域驱动战术设计过程。
场景驱动设计的过程 (2小时)
场景驱动设计以事件风暴识别出来的领域场景为起点,以领域分析模型中的模型对象 结合角色构造型作为参与协作的设计元素,固化为一个可按部就班执行的动态设计过 程。整个设计过程分为三个步骤:
• 识别场景:从需求中识别出独立的具有业务价值的领域场景
• 分解任务:根据职责的层次对领域场景进行任务分解
• 分配职责:为领域驱动设计角色构造型分配不同层次的职责
测试驱动开发 (2小时)
场景驱动设计与测试驱动开发之间形成了一种相辅相成的设计伴侣。场景驱动设计分解出来的任务以及角色构造型的协作时序图,可以作为测试驱动开发的起点。测试驱动开发的代码编写又反过来验证场景驱动设计的正确性,并通过重构改进代码质量, 并重新发现之前未曾发现的隐含概念。在本次工作坊中,我们将选择一个领域场景, 严格按照测试驱动开发的开发节奏进行。

课程费用

6800.00 /人

课程时长

2

预约体验票 我要分享

近期公开课推荐

近期公开课推荐

活动详情

提交需求