主题 |
课程安排 |
面向对象的分析设计概览 |
什么是面向对象分析设计, 为什么需要对象模型 什么是面向对象 为什么进行对象分析设计 对象分析设计的案例对比: 某系统随着时间积累、规模增长带来的逻辑复杂、难以维护的额外难题 引入了领域模型后的设计重构 面向对象分析设计的思路 |
领域模型的基本概念解析 |
什么是领域模型 什么是领域类 领域类之间存在哪些关系 领域类和面向对象的关系 如何使用 UML 类图建模领域类
|
某实际项目的对象分析设计回顾 |
某大型复杂系统的开发项目的发展历程回顾 需求多而且易变带来的系统的不断变更 缺乏方向的迭代开发进入迷宫状态 引入对象模型明确业务需求 基于对象模型理清设计思路 借助对象分析设计,实现从业务过渡到技术。 抓住领域的核心,简化系统的设计
项目的效果对比分析、领域模型作用的分析
|
面向对象分析设计基础-建模方法与工具 |
面向对象分析设计建模都包括哪些模型 这些模型采用 UML 什么图:用例图、类图、顺序图、活动图、状态图 典型的领域建模工具有哪些 主流领域建模工具简介 使用 UML 进行对象的多维建模 用例图建模需求场景 类图建模对象关系 顺序图建模对象的交互 状态图建模对象的状态
活动图建模处理过程 |
业务分析与建模 |
什么是业务模型 业务模型有哪些对象类型 如何进行业务建模 识别业务用例 建立业务角色模型 建立业务实体模型 建模业务用例中的对象交互 识别业务核心对象并建模
案例实践:某大型系统的业务建模与效果评价 |
领域分析与建模 |
如何在业务模型中识别领域类 领域类和业务对象的差别和联系 领域类的概念分析 领域类的关系建模 基于领域分析模型简化对业务的理解 常见的领域分析模式: 角色分析模式 行为分析模式 实体分析模式 规则分析模式
案例实践:某大型系统的领域分析与效果评价 |
面向对象业务分析与系统设计的路线图 |
从领域分析模型进化到领域设计模型 领域设计模型的典型参考框架 领域驱动的设计概览 : 领域驱动的数据库设计 设计软件架构中的领域层 领域驱动的微服务设计 领域驱动的接口设计
|
面向对象的架构设计 |
架构的层次框架参考架构剖析 如何根据领域模型划分子系统 如何根据领域模型设计模块 如何领域驱动设计软件的层次 领域层的位置和常见层次的关系 如何识别软件中的领域层 领域层在软件中的作用剖析
案例实践:某大型系统的领域层的定位与设计 |
面向对象的数据设计 |
数据模型和领域模型的区别和联系 如何从领域模型角度组织组织数据 领域类到数据实体的映射 领域类的关系到表的 关系的映射: 关联的映射 泛化的映射 聚合的映射 组成的映射 自关联的映射 如何基于领域模型理解复杂的数据结构 如何基于领域模型设计可扩展的数据架构 基于领域模型设计数据存储 遗留的数据资产的领域模型逆向分析
案例实践:某大型系统的数据库的设计 |
面向对象的的微服务设计 |
面向服务的典型参考架构剖析 服务的不同层次:表示服务、业务服务、数据服务、基础服务 从重量级的服务到微服务的转换 微服务所带来的服务拆分问题 领域驱动微服务设计: 微服务划分的角度和原则 微服务的粒度划分原则 微服务的层次划分原则 服务的聚合与分解案例解析
案例实践:某大型系统的领域驱动的服务设计与效果评价 |
面向对象的驱动的接口设计 |
系统外部接口的典型问题:持续增多、杂乱、粒度难以分清 接口和领域模型的关系 如何从基于领域类理解接口需求 如何基于领域类进行接口设计 接口的粒度划分原则 接口的聚合与分解 |
面向对象的规则设计 |
什么是业务规则 业务规则的多边形和复杂性带来的问题 如何基于领域模型识别 如何对业务规则建模 业务规则的分类原则与方法 业务规则的不断变更的设计方法
案例实践:某系统领域驱动的规则设计与效果评价 |
面向对象的算法分析设计 |
什么是算法 算法典型的领域分析方法 识别算法的领域类 为算法的领域关系建模 为算法的扩展进行设计
案例实践:某大型系统的领域驱动的算法设计与效果评价 |
领域驱动的平台设计 |
都有哪些平台:业务平台、技术平台 业务平台关注哪些领域对象 领域驱动的业务平台设计 技术平台关注哪些领域对象
领域驱动的技术平台设计 |
基于领域模型进行软件重构 |
系统的发展不断的问题积累 领域模型在大规模复杂遗留系统重构中的作用实际案例回顾 为什么重构需要领域模型 支持重构的领域模型何时建立 有谁复杂领域模型的建立 领域驱动的软件重构: 当前软件的需求重塑 当前软件的设计逆向 为当前软件建立领域模型, 基于领域模型理解软件的需求和设计模型 识别软件存在的问题和需要改进之处, 编排重构计划 执行重构, 在不断重构中维护日益复杂的领域模型 让重构保持可控
案例实践:某大型系统的基于领域模型的重构与效果评价 |