课程简介
本课程由一线互联网资深架构师余老师主讲,为期4天,深入剖析业务架构与领域建模的核心精髓。课程涵盖需求分析与业务建模、领域划分与微服务拆分、领域建模与数据建模及业务架构与技术架构的融会贯通。通过实战案例与理论讲解相结合的方式,让学员掌握业务架构方法论、DDD落地实战、微服务拆分策略及建模本质等关键技能。同时,课程还涉及技术管理内容,助力学员提升个人与团队作战能力,打造进化型组织。
目标收益
掌握业务架构精髓:全面理解业务架构方法论,提升系统设计与优化能力。
精通领域建模:掌握DDD与领域建模技巧,构建高效、可维护的系统架构。
微服务拆分实战:学会微服务拆分策略,优化系统性能与可扩展性。
技术管理能力提升:加强技术规划与项目管理能力,提高团队协作效率。
进化型组织打造:理解进化型组织特征,推动团队持续进步与创新。
实战案例分析:通过实战案例,加深理论知识理解,提升解决实际问题的能力。
培训对象
本课程适合软件架构师、产品经理、开发人员及技术管理人员等。
课程大纲
0、序言:课程脉络、技术理念与价值观 |
1. 大型互联网架构演进史 2. 架构的3角关系: 技术架构、业务架构、组织架构 3. 技术架构 - 互联网的4高的区别与联系:高并发、高可用、高性能、高可靠 4. 业务架构 - 业务建模、DDD与微服务拆分 5. 组织架构 - 技术委员会/架构委员会的作用、康威定律 6.架构的“术”与“道”?道与术的关系? 7. 架构与公司规模/公司发展阶段的匹配度 |
第1天阶段1 - 需求分析与业务建模 第1单元:业界各业务架构方法论点评 |
1.站在上帝视角看几十年的软件工程方法论 2.设计模式/OOA&D/重构点评 3.RUP点评 4.TOGAF点评 5.我的业务架构方法论 |
第2单元 产品经理视角下的“需求分析” |
1.产品经理视角下的“需求分析“方法论 2.详细剖解什么叫“产品”? 3.详细剖解什么叫“价值”? 4.详细剖解什么叫“用户体验”? 5.详细剖解什么叫“战略”? 6.详细剖解“供需关系”理论 7.详细剖解什么叫“伪需求”? 8.需求的层层推导: 9.用户需求 =》产品需求 =〉系统需求 |
第3单元 ToC 与ToB在产品方法论上的差异 |
1.ToC 需求分析/产品设计流程与侧重点 2.ToB 需求分析/产品设计流程与侧重点 3.ToC 与 ToB的关键差异 4.ToC 与 ToB的共性 5.软件工程的2个流派 |
第4单元 业务建模 |
1.业务架构的2种不同定义 2. 业务架构不等于DDD 3. 业务建模与领域建模、数据建模的区别 4. 深入讨论什么叫“用户” 5. 深入讨论什么叫“价值”,价值点识别 6.识别业务用例 7.举例:银行,医院,互联网App,.. |
第5单元 业务流程图 |
1.UML泳道图与时序图的区别 2.任务流还是数据流? 3.抽象级别的问题 4.定时任务问题 5.案例分析 |
第6单元 For开发人员的“需求分析”工具箱 |
1.开发人员参与需求的2个模式 2.工具1: 产品与技术的博弈 3.工具2: 从组织架构角度理解需求 4.工具3: 从信息传播角度理解需求 5.工具4: 金字塔 - 需求分析的正交分解 6.工具5: 需求的抽象 7.工具6: 需求的闭环性 8.技术驱动型产品,开发主导产品设计 |
第2天阶段2 - 领域划分与微服务拆分 第1单元 领域划分 |
1.领域划分与领域建模的先后问题 2.领域划分与微服务拆分,是个什么关系? 3.领域划分实战案例: 假设你是一家电商平台的CTO,管理5000人研发团队,领域划分怎么做? 4. 领域划分的底层逻辑 |
第2单元 康威定律 - 领域划分与组织架构的关系 |
1.什么叫康威定律?案例说明 2.康威定律如何影响领域划分? |
第3单元 微服务拆分 |
1. 微服务与宏服务? 2. 微服务拆分的N种拆法 3. 微服务拆分的核心原则 |
第4单元 从微服务拆分引出DDD |
1.书本上的DDD与DDD出现背景 2.DDD的争议与批评 3.DDD落地为什么这么难?2大难题 (1)技术基础设施的缺乏 (2) 建模方法论的歧义 4. 现实中的DDD – DDD的折中与妥协 |
第3天 – 阶段3 – 领域建模与数据建模 第1单元 UML与OOA&D |
1. UML方法论 2. OOA&D 方法论 3. UML与OOA&D的关系 4. UML与DDD的比较 |
第2单元 领域模型与数据模型对比 |
1.数据模型(ER图)的3种画法 2.领域模型(类图)的6种关系 3.6种关系与ER图中关系的比较 4.领域模型映射到数据模型的问题 |
第3单元 专题 – 时序图 |
1.时序图的抽象层次 2.分场景画时序图 3.分阶段画时序图 4.异常流程的处理问题 |
第4单元 专题 – 状态机 |
1.状态机的2个典型应用场景 2.状态机设计原则1: 有始有终 3.状态机设计原则2: 无环 4.状态机设计原则3: 状态精简 5.状态机设计原则4:阶段拆分 6. 状态机设计原则5:状态并发转移 7. 状态机设计原则6:幂等设计 |
第5单元 专题 – 类图 |
1.类图设计原则1: 名词,而非动词 2.类图设计原则2: 命名准确性 3.类图设计原则3: 界面与类模型的区分 4.类图设计原则4: 库表与类模型的区分 |
第6单元 升华 – 建模的本质 |
1.建模的本质 2.问题空间 与 解决方案空间各自的方法论 |
第7单元 升华 – 分析模式 |
1.设计模式/架构模式/分析模式 2.常用分析模式剖析 |
第8单元 底层逻辑 – 语言学 |
1.语言与思想的关系 2.自然语言的多义性问题 3.从语言学角度看“理解专业名词有多难“ 4.造词:显性化 |
第4天 – 融会贯通(业务架构 + 技术架构) 第1单元 架构的落地(文档即架构) |
1. 架构理念:文档即架构 2. 架构的4+1视图 功能视图、逻辑视图、物理视图(部署视图)、开发视图、运行视图 3. 我的11份架构文档(架构模版) |
第2单元 加餐项:常用架构模式与应用 |
1.分层模式 2.管道-过滤器模式 3.状态机模式 4.业务切面 5.规则引擎 6.工作流引擎 |
额外:技术管理 第1单元 管理者的自我修养 |
1. 深度 2. 高度 3. 广度 4. 需要承认自己在很多方面的无能: 空杯心态与持续学习 5. 胸怀 - 成就他人 6. 向上管理问题 7. 深刻理解高层-中层-低层管理的侧重点差异 |
第2单元:识别价值 |
1. 管理是管系统、管项目、管人? 2. 识别价值 (1)技术先进性与技术视野是价值识别的前提 (2)没有调查,没有发言权 (3)结合业务、团队当前现状,找出最有价值的事 3. 挖掘价值 4. 价值的量化管理 5. 技术规划 |
第3单元:单兵作战能力的构建 |
1. 如何招聘与面试?面试看什么? 2. 个人能力模型 3. 系统化的培训 4. 影响力塑造 |
第4单元:团队作战能力的构建 |
1. 信任与沟通:志趣相投 2. 团队合理分工问题:康威定律 3. 项目中锻炼 |
第5单元 进化型组织 |
1. 团队如何形成持续进化能力 - 深度思考力 2. 技术储备 3. 抓住机会,开辟新战场 |
第6单元:项目管理 |
1. 不确定性与风险把控 2. 项目进度把控方法 |
0、序言:课程脉络、技术理念与价值观 1. 大型互联网架构演进史 2. 架构的3角关系: 技术架构、业务架构、组织架构 3. 技术架构 - 互联网的4高的区别与联系:高并发、高可用、高性能、高可靠 4. 业务架构 - 业务建模、DDD与微服务拆分 5. 组织架构 - 技术委员会/架构委员会的作用、康威定律 6.架构的“术”与“道”?道与术的关系? 7. 架构与公司规模/公司发展阶段的匹配度 |
第1天阶段1 - 需求分析与业务建模 第1单元:业界各业务架构方法论点评 1.站在上帝视角看几十年的软件工程方法论 2.设计模式/OOA&D/重构点评 3.RUP点评 4.TOGAF点评 5.我的业务架构方法论 |
第2单元 产品经理视角下的“需求分析” 1.产品经理视角下的“需求分析“方法论 2.详细剖解什么叫“产品”? 3.详细剖解什么叫“价值”? 4.详细剖解什么叫“用户体验”? 5.详细剖解什么叫“战略”? 6.详细剖解“供需关系”理论 7.详细剖解什么叫“伪需求”? 8.需求的层层推导: 9.用户需求 =》产品需求 =〉系统需求 |
第3单元 ToC 与ToB在产品方法论上的差异 1.ToC 需求分析/产品设计流程与侧重点 2.ToB 需求分析/产品设计流程与侧重点 3.ToC 与 ToB的关键差异 4.ToC 与 ToB的共性 5.软件工程的2个流派 |
第4单元 业务建模 1.业务架构的2种不同定义 2. 业务架构不等于DDD 3. 业务建模与领域建模、数据建模的区别 4. 深入讨论什么叫“用户” 5. 深入讨论什么叫“价值”,价值点识别 6.识别业务用例 7.举例:银行,医院,互联网App,.. |
第5单元 业务流程图 1.UML泳道图与时序图的区别 2.任务流还是数据流? 3.抽象级别的问题 4.定时任务问题 5.案例分析 |
第6单元 For开发人员的“需求分析”工具箱 1.开发人员参与需求的2个模式 2.工具1: 产品与技术的博弈 3.工具2: 从组织架构角度理解需求 4.工具3: 从信息传播角度理解需求 5.工具4: 金字塔 - 需求分析的正交分解 6.工具5: 需求的抽象 7.工具6: 需求的闭环性 8.技术驱动型产品,开发主导产品设计 |
第2天阶段2 - 领域划分与微服务拆分 第1单元 领域划分 1.领域划分与领域建模的先后问题 2.领域划分与微服务拆分,是个什么关系? 3.领域划分实战案例: 假设你是一家电商平台的CTO,管理5000人研发团队,领域划分怎么做? 4. 领域划分的底层逻辑 |
第2单元 康威定律 - 领域划分与组织架构的关系 1.什么叫康威定律?案例说明 2.康威定律如何影响领域划分? |
第3单元 微服务拆分 1. 微服务与宏服务? 2. 微服务拆分的N种拆法 3. 微服务拆分的核心原则 |
第4单元 从微服务拆分引出DDD 1.书本上的DDD与DDD出现背景 2.DDD的争议与批评 3.DDD落地为什么这么难?2大难题 (1)技术基础设施的缺乏 (2) 建模方法论的歧义 4. 现实中的DDD – DDD的折中与妥协 |
第3天 – 阶段3 – 领域建模与数据建模 第1单元 UML与OOA&D 1. UML方法论 2. OOA&D 方法论 3. UML与OOA&D的关系 4. UML与DDD的比较 |
第2单元 领域模型与数据模型对比 1.数据模型(ER图)的3种画法 2.领域模型(类图)的6种关系 3.6种关系与ER图中关系的比较 4.领域模型映射到数据模型的问题 |
第3单元 专题 – 时序图 1.时序图的抽象层次 2.分场景画时序图 3.分阶段画时序图 4.异常流程的处理问题 |
第4单元 专题 – 状态机 1.状态机的2个典型应用场景 2.状态机设计原则1: 有始有终 3.状态机设计原则2: 无环 4.状态机设计原则3: 状态精简 5.状态机设计原则4:阶段拆分 6. 状态机设计原则5:状态并发转移 7. 状态机设计原则6:幂等设计 |
第5单元 专题 – 类图 1.类图设计原则1: 名词,而非动词 2.类图设计原则2: 命名准确性 3.类图设计原则3: 界面与类模型的区分 4.类图设计原则4: 库表与类模型的区分 |
第6单元 升华 – 建模的本质 1.建模的本质 2.问题空间 与 解决方案空间各自的方法论 |
第7单元 升华 – 分析模式 1.设计模式/架构模式/分析模式 2.常用分析模式剖析 |
第8单元 底层逻辑 – 语言学 1.语言与思想的关系 2.自然语言的多义性问题 3.从语言学角度看“理解专业名词有多难“ 4.造词:显性化 |
第4天 – 融会贯通(业务架构 + 技术架构) 第1单元 架构的落地(文档即架构) 1. 架构理念:文档即架构 2. 架构的4+1视图 功能视图、逻辑视图、物理视图(部署视图)、开发视图、运行视图 3. 我的11份架构文档(架构模版) |
第2单元 加餐项:常用架构模式与应用 1.分层模式 2.管道-过滤器模式 3.状态机模式 4.业务切面 5.规则引擎 6.工作流引擎 |
额外:技术管理 第1单元 管理者的自我修养 1. 深度 2. 高度 3. 广度 4. 需要承认自己在很多方面的无能: 空杯心态与持续学习 5. 胸怀 - 成就他人 6. 向上管理问题 7. 深刻理解高层-中层-低层管理的侧重点差异 |
第2单元:识别价值 1. 管理是管系统、管项目、管人? 2. 识别价值 (1)技术先进性与技术视野是价值识别的前提 (2)没有调查,没有发言权 (3)结合业务、团队当前现状,找出最有价值的事 3. 挖掘价值 4. 价值的量化管理 5. 技术规划 |
第3单元:单兵作战能力的构建 1. 如何招聘与面试?面试看什么? 2. 个人能力模型 3. 系统化的培训 4. 影响力塑造 |
第4单元:团队作战能力的构建 1. 信任与沟通:志趣相投 2. 团队合理分工问题:康威定律 3. 项目中锻炼 |
第5单元 进化型组织 1. 团队如何形成持续进化能力 - 深度思考力 2. 技术储备 3. 抓住机会,开辟新战场 |
第6单元:项目管理 1. 不确定性与风险把控 2. 项目进度把控方法 |