您当前的位置:首页>课程>UML建模及软件设计实战

UML建模及软件设计实战

浏览:2708
分享

Galen Kang Read more

百林哲咨询(北京)有限公司专家团队成员

国内资深高级系统架构师,UML/RUP专家,现任国内某知名企业研究院首席架构师,软件设计师,15年的从事IT行业的软件开发、系统架构设计分析经验。

简介

课程以实战训练方式让大家迅速理解和掌握如何利用UML贯穿于整个软件的OO设计与分析。课程没有枯燥的理论,在课程实战练习中,从UML疑难辨析开始一直到软件体系的架构模式与设计模式,透彻了解UML的精髓。

培训特色

作为一个UML设计的高级课程,如果只拘泥于UML语法,则不免会失去UML的实用性。因此如何在掌握了UML基本语法的基础上,将之运用到实际的软件设计中,是本课程的一个重点。同时,只介绍理论会使人昏昏欲睡,本课程通过大量或大或小的实际案例,或讲师介绍、剖析,或学员动手实践,突出“实战”的效果,是学员从从中获得真实的技能,并能运用到实际工作的软件设计、建模中。

目标

1、了解UML的正确应用方法与原理;
2、学员将了解如何把UML应用到面向对象分析和设计乃至整个软件过程中,包括使用UML建立业务模型、需求模型、分析模型、设计模型、实现模型等;
3、重点讲解UML在具体的真实项目中的使用和应用过程指南,如何应用UML处理需求的变更,分析、设计出强壮的架构,建立充分的实现模型。强调具体项目的过程;
4、运用系统分析模式进行本质分析;
5、了解如何设计稳健并易于扩展的架构;
6、通过实际的案例,掌握需求、分析设计的关键技巧;
7、看到好的和差的实际案例,反思自我,提高实际工作能力;
8、深入了解如何解决实际开发问题;
9、理解UML贯穿于迭代化。

课程时长

2天(12H)

受众人群

本课程主要面向开发团队中的设计人员、系统分析人员、开发经理、项目经理、产品设计、UE设计人员,以及或有志成长为高级软件设计者的技术人员。
课程主要针对软件设计人员、程序员,因此学员要有一定的软件设计经验,或有一定的编程基础。

分享提纲

课程主题课程内容
UML简介

 UML4+1视图的意义

 逻辑视图、开发视图、物理视图、运行视图、场景视图、数据视图、功能视图

 UML图概览—应用时机、建模方法

 UML在开发过程中得使用解析(需求分析阶段、系统分析阶段、架构设计阶段、详细设计阶段)

 UML建模案例分析

 UML建模工具在架构视图的应用

UML模型视图详解

 UML的构成
视图、模型元素、图(用例、类、对象、序列、协作、状态、活动、构件、部署)公共机制(规约、修饰符、扩展机制)

 结构模型视图
数据类型、多重性、类、类与对象;关联(自关联、关联的多重性、角色名、关联的具体化);属性和操作。

 行为模型视图
序列图(对象生命线、交互的描述、时间约束的表示、条件分支的表示、重复执行的表示、递归调用的表示、对象的创建和撤销)
协作图、状态图、活动图

 实现模型视图
包;子系统;模型;构件图

数据采集系统等介绍

UML中的常见疑难问题辨析

 用例图

Ÿ 参与者建模中的常见问题。

Ÿ 用例建模中的常见问题。

Ÿ UaseCase的本质讨论。

 UML中关系的辨析:依赖关系、关联关系辨析;聚合,组合辨析

 类设计中的常见问题:

Ÿ 一些常见但易混淆的类关系图

Ÿ 熟悉类的自关联形式

Ÿ 一些易混淆的重数表示方法

Ÿ 建模为对象、属性、方法的辨析

Ÿ 使用关联类

 其它辨析:包与组件、扩展基类与覆盖基类等、自关联、关联多重性、关联角色名辨析

消除多重继承的常用手段

RUP的UML建模与分析

 设计模型的内容与演进。

 全局分析:选用架构模式;识别关键抽象;标识分析机制;常见的分析机制

 局部分析:提取分析类:析类的类型划分:边界类、实体类、控制类,分析类在模型中的位置,边界类的复用,控制类的变通。

 分析需求场景:消息与责任;事件序列在边界、实体及控制类间的原则;控制类在交互图中的表现特征;交互图的正确性。

 整理分析类:分析类的责任和关联关系;动态与静态的关系;确定类的责任;设计类和子系统接口。

超市收款系统、图形绘制系统

软件设计的基本原则及其UML表达

软件设计中,如何划分模块,如何分配模块的职责是重要的内容。本节结合多个案例,讨论

 如何进行架构设计,什么是好的架构,怎么验证架构的合理性。

 如何进行组件(模块化)化设计,在架构基础上保证组件及框架的复用。

 

内容一  模块及组件的职责分配设计

 分层与分区的考虑

 基于面向对象的组件职责分配

 

内容二 组件创建及装载设计

 组件创建者的选择原则

 有状态及无状态系统的讨论

 

内容三 设计出高内聚低耦合的系统

 不同类型的模块及其复用方式

 用单一职责原理指导架构设计

 

内容四  软件设计中如何有效地组织多个模块

 设计控制器模块

 控制模块与其它模块的交互

 设计不同类型的模块在系统中的交互机制

典型案例分析:某文档验证系统设计,阐述对系统的整体把握能力

 

内容五 设计出灵活性及高可扩展性高的架构

 多态在组件设计中的使用

 间接模式在架构设计中的价值及其使用

 

内容六 软件设计中的其他原则

 隔离不同的关注面

 如何封装组件设计中的变化

 组件设计中的开-闭原则

 包内聚原则及其运用

 包耦合原则及其运用

UML建模过程

 业务建模:业务UseCase图、系统UseCase图、业务Actor与系统Actor的区别、Actor建模中得注意事项、UseCase建模中的注意事项

 需求建模:include,extend和泛化。

 领域分析:UI类、控制类,实体类、边界类;类间的关系;流程图。

 面向对象设计:划分子系统、分层、设计类和包

超市收银系统等

练习:某系统分析及建模

设计模式及UML表达

内容一 常见的设计模式及其运用

 使用GOF设计模式,借鉴前人的经验。

 分析创建型模式:单例模式(Singleton)、工厂模式、抽象工厂模式(Abstractfactory)

 分析结构型模式:桥梁模式(Bridge)、装饰模式(Decorator)、适配器模式(Adapter)、代理模式(Proxy)、组合模式(Composite)

 分析行为型模式:命令模式(Command )、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、访问者模式(Template Method)

典型案例分析:分析薪酬管理等案例,展示设计模式在架构设计中的实际应用

 

内容二 设计模式的本质探讨

 指出什么是优秀设计和丑陋设计

 总结自己的模式-神似而非型似

 探讨相似模式的本质

 “间接类”模式的推演及演化

 “流程类”模式的推演及演化

 避免模式的误用,讨论模式的陷阱:在看似典型的场景,但不宜使用模式的场合。

 

内容三 练习- 通用文件处理器

 简单背景介绍

 使用模式的第一反应,及陷入陷阱的思索

 具体场景使用模式的本质讨论

 多态的本质

 讨论并介绍表驱动法

 Template Method、DIP原则Strategy模式的的灵活使用——获得优雅的设计

案例分析某在线学习系统的设计及演化

 


我要参加

可同时提交您的需求,我们会及时与您联系

预约内训

将课程带入到您的团队,为您的团队进行一对一辅导。

相关课程