课程简介
目前,在软件开发领域,各种框架、模型以及设计模式充斥着整个IT行业,纵观现在的各种软件开发技术培训,我们发现几乎所有的培训中都会出现UML知识的培训。毋庸置疑,UML已经成为了现在的软件开发技术的基础。但是如何透彻理解UML,迅速掌握UML的精髓却是所有技术人员一直以来困惑的地方。
目标收益
1、了解UML的正确应用方法与原理;
2、学员将了解如何把UML应用到面向对象分析和设计乃至整个软件过程中,包括使用UML建立业务模型、需求模型、分析模型、设计模型、实现模型等;
3、重点讲解UML在具体的真实项目中的使用和应用过程指南,如何应用UML处理需求的变更,分析、设计出强壮的架构,建立充分的实现模型。强调具体项目的过程。
4、运用系统分析模式进行本质分析;
5、了解如何设计稳健并易于扩展的架构;
6、通过实际的案例,掌握需求、分析设计的关键技巧;
7、看到好的和差的实际案例,反思自我,提高实际工作能力;
8、深入了解如何解决实际开发问题;
9、理解UM
培训对象
课程大纲
第一单元:UML简介 |
UML4+1视图的意义 逻辑视图、开发视图、物理视图、运行视图、场景视图、数据视图、功能视图 UML图概览—应用时机、建模方法 UML在开发过程中得使用解析(需求分析阶段、系统分析阶段、架构设计阶段、详细设计阶段) UML建模案例分析 UML建模工具在架构视图的应用 |
第二单元:UML模型视图详解 |
UML的构成 视图、模型元素、图(用例、类、对象、序列、协作、状态、活动、构件、部署)公共机制(规约、修饰符、扩展机制) 结构模型视图 数据类型、多重性、类、类与对象;关联(自关联、关联的多重性、角色名、关联的具体化);属性和操作。 行为模型视图 序列图(对象生命线、交互的描述、时间约束的表示、条件分支的表示、重复执行的表示、递归调用的表示、对象的创建和撤销) 协作图、状态图、活动图 实现模型视图 包;子系统;模型;构件图 数据采集系统等介绍 |
第三单元:UML中的常见疑难问题辨析 |
用例图 参与者建模中的常见问题。 用例建模中的常见问题。 UaseCase的本质讨论。 UML中关系的辨析:依赖关系、关联关系辨析;聚合,组合辨析 类设计中的常见问题: 一些常见但易混淆的类关系图 熟悉类的自关联形式 一些易混淆的重数表示方法 建模为对象、属性、方法的辨析 使用关联类 其它辨析:包与组件、扩展基类与覆盖基类等、自关联、关联多重性、关联角色名辨析 消除多重继承的常用手段 |
第四单元:RUP的UML建模与分析 |
设计模型的内容与演进。 全局分析:选用架构模式;识别关键抽象;标识分析机制;常见的分析机制 局部分析:提取分析类:析类的类型划分:边界类、实体类、控制类,分析类在模型中的位置,边界类的复用,控制类的变通。 分析需求场景:消息与责任;事件序列在边界、实体及控制类间的原则;控制类在交互图中的表现特征;交互图的正确性。 整理分析类:分析类的责任和关联关系;动态与静态的关系;确定类的责任;设计类和子系统接口。 超市收款系统、图形绘制系统 |
第五单元:面向对象的UML建模 |
业务建模:业务UseCase图、系统UseCase图、业务Actor与系统Actor的区别、Actor建模中得注意事项、UseCase建模中的注意事项 需求建模:include,extend和泛化。 领域分析:UI类、控制类,实体类、边界类;类间的关系;流程图。 面向对象设计:划分子系统、分层、设计类和包 超市收银系统等 练习:某系统分析及建模 |
第六单元:软件设计的基本原则及其UML表达 |
软件设计中,如何划分模块,如何分配模块的职责是重要的内容。本节结合多个案例,讨论 如何进行架构设计,什么是好的架构,怎么验证架构的合理性。 如何进行组件(模块化)化设计,在架构基础上保证组件及框架的复用。 内容一 模块及组件的职责分配设计 分层与分区的考虑/领域模型 基于面向对象的组件职责分配 内容二 软件设计中如何有效地组织多个模块 设计控制器模块 控制模块与其它模块的交互 设计不同类型的模块在系统中的交互机制 典型案例分析:某文档验证系统设计,阐述对系统的整体把握能力 内容三 设计出灵活性及高可扩展性高的架构 多态在组件设计中的使用 间接模式在架构设计中的价值及其使用 |
第七单元 : 某分布式系统架构及建模实践 |
内容一 系统平台化架构中的要点讨论 平台化中的业务分治、接口管理及弹性支撑分布式服务 多业务系统中无平台的障碍 底层服务抽取分析 统一用户/机构、角色/权限、资源/存储中的问题辨析 分析每个子系统,定位其本质 模块在系统中的层次位置确定及分析 大规模系统的特点及其与小系统的区别 内容二 平台化架构设计实践 身份认证、SSO及服务授权 设定平台与应用间交互的基本原则 处理平台化对现有系统的冲击 平台化与业务系统中角色权限的分治 平台化中业务系统数据互通的方式 分散分布式系统与集中分布式系统的选择 微服务及分布式调用框架在平台中的使用 平台+应用的系统如何考虑部署模式 如何设计系统的HA及负载均衡 第3方系统对接服务(集成分析) 案例分析:结合某分布式系统进行逐步讲解 |
第一单元:UML简介 UML4+1视图的意义 逻辑视图、开发视图、物理视图、运行视图、场景视图、数据视图、功能视图 UML图概览—应用时机、建模方法 UML在开发过程中得使用解析(需求分析阶段、系统分析阶段、架构设计阶段、详细设计阶段) UML建模案例分析 UML建模工具在架构视图的应用 |
第二单元:UML模型视图详解 UML的构成 视图、模型元素、图(用例、类、对象、序列、协作、状态、活动、构件、部署)公共机制(规约、修饰符、扩展机制) 结构模型视图 数据类型、多重性、类、类与对象;关联(自关联、关联的多重性、角色名、关联的具体化);属性和操作。 行为模型视图 序列图(对象生命线、交互的描述、时间约束的表示、条件分支的表示、重复执行的表示、递归调用的表示、对象的创建和撤销) 协作图、状态图、活动图 实现模型视图 包;子系统;模型;构件图 数据采集系统等介绍 |
第三单元:UML中的常见疑难问题辨析 用例图 参与者建模中的常见问题。 用例建模中的常见问题。 UaseCase的本质讨论。 UML中关系的辨析:依赖关系、关联关系辨析;聚合,组合辨析 类设计中的常见问题: 一些常见但易混淆的类关系图 熟悉类的自关联形式 一些易混淆的重数表示方法 建模为对象、属性、方法的辨析 使用关联类 其它辨析:包与组件、扩展基类与覆盖基类等、自关联、关联多重性、关联角色名辨析 消除多重继承的常用手段 |
第四单元:RUP的UML建模与分析 设计模型的内容与演进。 全局分析:选用架构模式;识别关键抽象;标识分析机制;常见的分析机制 局部分析:提取分析类:析类的类型划分:边界类、实体类、控制类,分析类在模型中的位置,边界类的复用,控制类的变通。 分析需求场景:消息与责任;事件序列在边界、实体及控制类间的原则;控制类在交互图中的表现特征;交互图的正确性。 整理分析类:分析类的责任和关联关系;动态与静态的关系;确定类的责任;设计类和子系统接口。 超市收款系统、图形绘制系统 |
第五单元:面向对象的UML建模 业务建模:业务UseCase图、系统UseCase图、业务Actor与系统Actor的区别、Actor建模中得注意事项、UseCase建模中的注意事项 需求建模:include,extend和泛化。 领域分析:UI类、控制类,实体类、边界类;类间的关系;流程图。 面向对象设计:划分子系统、分层、设计类和包 超市收银系统等 练习:某系统分析及建模 |
第六单元:软件设计的基本原则及其UML表达 软件设计中,如何划分模块,如何分配模块的职责是重要的内容。本节结合多个案例,讨论 如何进行架构设计,什么是好的架构,怎么验证架构的合理性。 如何进行组件(模块化)化设计,在架构基础上保证组件及框架的复用。 内容一 模块及组件的职责分配设计 分层与分区的考虑/领域模型 基于面向对象的组件职责分配 内容二 软件设计中如何有效地组织多个模块 设计控制器模块 控制模块与其它模块的交互 设计不同类型的模块在系统中的交互机制 典型案例分析:某文档验证系统设计,阐述对系统的整体把握能力 内容三 设计出灵活性及高可扩展性高的架构 多态在组件设计中的使用 间接模式在架构设计中的价值及其使用 |
第七单元 : 某分布式系统架构及建模实践 内容一 系统平台化架构中的要点讨论 平台化中的业务分治、接口管理及弹性支撑分布式服务 多业务系统中无平台的障碍 底层服务抽取分析 统一用户/机构、角色/权限、资源/存储中的问题辨析 分析每个子系统,定位其本质 模块在系统中的层次位置确定及分析 大规模系统的特点及其与小系统的区别 内容二 平台化架构设计实践 身份认证、SSO及服务授权 设定平台与应用间交互的基本原则 处理平台化对现有系统的冲击 平台化与业务系统中角色权限的分治 平台化中业务系统数据互通的方式 分散分布式系统与集中分布式系统的选择 微服务及分布式调用框架在平台中的使用 平台+应用的系统如何考虑部署模式 如何设计系统的HA及负载均衡 第3方系统对接服务(集成分析) 案例分析:结合某分布式系统进行逐步讲解 |