康老师 具有(yǒu)15年的从事IT行业的软件开发、系统架构设计分(fēn)析经验
熟悉中國(guó)企业的需求管理(lǐ),经历过多(duō)种文(wén)化氛围与组织形态,对大型项目、系统工程管理(lǐ)有(yǒu)着深入的实践与體(tǐ)会。最难能(néng)可(kě)贵的是康老师现在一直工作在实际项目的大型软件开发、系统架构设计的一線(xiàn),拥有(yǒu)几十项专利技术。
康老师在國(guó)内外曾主持过各级政府、教育部、中國(guó)石化、美國(guó)外包项目、國(guó)税总局金税工程、中國(guó)军队(总参)信息化、金融信息化项目、2008年北京奥运会首都机场奥运福娃机器人项目、某分(fēn)布式電(diàn)子图书系统等很(hěn)多(duō)大型复杂信息化项目的架构设计,在实际项目工作中积累了丰富的项目实际工作经验和丰富的系统架构设计分(fēn)析经验。
主要客户包括:阿里软件、京东、IBM、洛基亚(多(duō)次)、艾默生、梅特勒.托利多(duō)、Autodesk、中國(guó)工商(shāng)、雅马哈、银行、中國(guó)农业银行、國(guó)家开发银行、交通银行、中國(guó)铁通、中國(guó)電(diàn)信、中電(diàn)集团、中石油、中石化、西南電(diàn)信、海关总署、中國(guó)科(kē)學(xué)院计算机网络信息中心、中國(guó)航天研究院、上海盛大网络、上海证券研究所等百余家公司/单位。
课程一:UML建模及软件设计实战
课程简介
课程以实战训练方式让大家迅速理(lǐ)解和掌握如何利用(yòng)UML贯穿于整个软件的OO设计与分(fēn)析。课程没有(yǒu)枯燥的理(lǐ)论,在课程实战练习中,从UML疑难辨析开始一直到软件體(tǐ)系的架构模式与设计模式,透彻了解UML的精髓。
作為(wèi)一个UML设计的高级课程,如果只拘泥于UML语法,则不免会失去UML的实用(yòng)性。因此如何在掌握了UML基本语法的基础上,将之运用(yòng)到实际的软件设计中,是本课程的一个重点。同时,只介绍理(lǐ)论会使人昏昏欲睡,本课程通过大量或大或小(xiǎo)的实际案例,或讲师介绍、剖析,或學(xué)员动手实践,突出“实战”的效果,是學(xué)员从从中获得真实的技能(néng),并能(néng)运用(yòng)到实际工作的软件设计、建模中。
1、了解UML的正确应用(yòng)方法与原理(lǐ);
2、學(xué)员将了解如何把UML应用(yòng)到面向对象分(fēn)析和设计乃至整个软件过程中,包括使用(yòng)UML建立业務(wù)模型、需求模型、分(fēn)析模型、设计模型、实现模型等;
3、重点讲解UML在具體(tǐ)的真实项目中的使用(yòng)和应用(yòng)过程指南,如何应用(yòng)UML处理(lǐ)需求的变更,分(fēn)析、设计出强壮的架构,建立充分(fēn)的实现模型。强调具體(tǐ)项目的过程;
4、运用(yòng)系统分(fēn)析模式进行本质分(fēn)析;
5、了解如何设计稳健并易于扩展的架构;
6、通过实际的案例,掌握需求、分(fēn)析设计的关键技巧;
7、看到好的和差的实际案例,反思自我,提高实际工作能(néng)力;
8、深入了解如何解决实际开发问题;
9、理(lǐ)解UML贯穿于迭代化。
课程内容 |
UML简介 |
UML4+1视图的意义 逻辑视图、开发视图、物(wù)理(lǐ)视图、运行视图、场景视图、数据视图、功能(néng)视图 UML图概览—应用(yòng)时机、建模方法 UML在开发过程中得使用(yòng)解析(需求分(fēn)析阶段、系统分(fēn)析阶段、架构设计阶段、详细设计阶段) UML建模案例分(fēn)析 UML建模工具在架构视图的应用(yòng) |
UML模型视图详解 |
UML的构成 结构模型视图 行為(wèi)模型视图 实现模型视图 数据采集系统等介绍 |
UML中的常见疑难问题辨析 |
用(yòng)例图 参与者建模中的常见问题。 用(yòng)例建模中的常见问题。 UaseCase的本质讨论。 UML中关系的辨析:依赖关系、关联关系辨析;聚合,组合辨析 类设计中的常见问题: 一些常见但易混淆的类关系图 熟悉类的自关联形式 一些易混淆的重数表示方法 建模為(wèi)对象、属性、方法的辨析 使用(yòng)关联类 其它辨析:包与组件、扩展基类与覆盖基类等、自关联、关联多(duō)重性、关联角色名辨析 消除多(duō)重继承的常用(yòng)手段 |
RUP的UML建模与分(fēn)析 |
设计模型的内容与演进。 全局分(fēn)析:选用(yòng)架构模式;识别关键抽象;标识分(fēn)析机制;常见的分(fēn)析机制 局部分(fēn)析:提取分(fēn)析类:析类的类型划分(fēn):边界类、实體(tǐ)类、控制类,分(fēn)析类在模型中的位置,边界类的复用(yòng),控制类的变通。 分(fēn)析需求场景:消息与责任;事件序列在边界、实體(tǐ)及控制类间的原则;控制类在交互图中的表现特征;交互图的正确性。 整理(lǐ)分(fēn)析类:分(fēn)析类的责任和关联关系;动态与静态的关系;确定类的责任;设计类和子系统接口。 超市收款系统、图形绘制系统 |
软件设计的基本原则及其UML表达 |
软件设计中,如何划分(fēn)模块,如何分(fēn)配模块的职责是重要的内容。本节结合多(duō)个案例,讨论 如何进行架构设计,什么是好的架构,怎么验证架构的合理(lǐ)性。 如何进行组件(模块化)化设计,在架构基础上保证组件及框架的复用(yòng)。 内容一 模块及组件的职责分(fēn)配设计 分(fēn)层与分(fēn)區(qū)的考虑 基于面向对象的组件职责分(fēn)配 内容二 组件创建及装载设计 组件创建者的选择原则 有(yǒu)状态及无状态系统的讨论 内容三 设计出高内聚低耦合的系统 不同类型的模块及其复用(yòng)方式 用(yòng)单一职责原理(lǐ)指导架构设计 内容四 软件设计中如何有(yǒu)效地组织多(duō)个模块 设计控制器模块 控制模块与其它模块的交互 设计不同类型的模块在系统中的交互机制 典型案例分(fēn)析:某文(wén)档验证系统设计,阐述对系统的整體(tǐ)把握能(néng)力 内容五 设计出灵活性及高可(kě)扩展性高的架构 多(duō)态在组件设计中的使用(yòng) 间接模式在架构设计中的价值及其使用(yòng) 内容六 软件设计中的其他(tā)原则 隔离不同的关注面 如何封装组件设计中的变化 组件设计中的开-闭原则 包内聚原则及其运用(yòng) 包耦合原则及其运用(yòng) |
UML建模过程 |
业務(wù)建模:业務(wù)UseCase图、系统UseCase图、业務(wù)Actor与系统Actor的區(qū)别、Actor建模中得注意事项、UseCase建模中的注意事项 需求建模:include,extend和泛化。 领域分(fēn)析:UI类、控制类,实體(tǐ)类、边界类;类间的关系;流程图。 面向对象设计:划分(fēn)子系统、分(fēn)层、设计类和包 超市收银系统等 练习:某系统分(fēn)析及建模 |
设计模式及UML表达 |
内容一 常见的设计模式及其运用(yòng) 使用(yòng)GOF设计模式,借鉴前人的经验。 分(fēn)析创建型模式:单例模式(Singleton)、工厂模式、抽象工厂模式(Abstractfactory) 分(fēn)析结构型模式:桥梁模式(Bridge)、装饰模式(Decorator)、适配器模式(Adapter)、代理(lǐ)模式(Proxy)、组合模式(Composite) 分(fēn)析行為(wèi)型模式:命令模式(Command )、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、访问者模式(Template Method) 典型案例分(fēn)析:分(fēn)析薪酬管理(lǐ)等案例,展示设计模式在架构设计中的实际应用(yòng) 内容二 设计模式的本质探讨 指出什么是优秀设计和丑陋设计 总结自己的模式-神似而非型似 探讨相似模式的本质 “间接类”模式的推演及演化 “流程类”模式的推演及演化 避免模式的误用(yòng),讨论模式的陷阱:在看似典型的场景,但不宜使用(yòng)模式的场合。 内容三 练习- 通用(yòng)文(wén)件处理(lǐ)器 简单背景介绍 使用(yòng)模式的第一反应,及陷入陷阱的思索 具體(tǐ)场景使用(yòng)模式的本质讨论 多(duō)态的本质 讨论并介绍表驱动法 Template Method、DIP原则Strategy模式的的灵活使用(yòng)——获得优雅的设计 |
案例分(fēn)析 |
某在線(xiàn)學(xué)习系统的设计及演化 |
课程二、UML系统分(fēn)析与架构设计实战
1、了解UML的正确应用(yòng)方法与原理(lǐ);
2、學(xué)员将了解如何把UML应用(yòng)到面向对象分(fēn)析和设计乃至整个软件过程中,包括使用(yòng)UML建立业務(wù)模型、需求模型、分(fēn)析模型、设计模型、实现模型等;
3、重点讲解UML在具體(tǐ)的真实项目中的使用(yòng)和应用(yòng)过程指南,如何应用(yòng)UML处理(lǐ)需求的变更,分(fēn)析、设计出强壮的架构,建立充分(fēn)的实现模型。强调具體(tǐ)项目的过程。
4、运用(yòng)系统分(fēn)析模式进行本质分(fēn)析;
5、了解如何设计稳健并易于扩展的架构;
6、通过实际的案例,掌握需求、分(fēn)析设计的关键技巧;
7、看到好的和差的实际案例,反思自我,提高实际工作能(néng)力;
8、深入了解如何解决实际开发问题;
9、理(lǐ)解UM
课程大纲
课程纲要 |
第一单元: UML概念(一般介绍 |
UML的构成 |
第二单元: UML中的常见疑难问题辨析 (重点) |
用(yòng)例图 |
第三单元: UML面向对象分(fēn)析及设计 |
用(yòng)GRASP模式指导系统分(fēn)析 |
第四单元: 用(yòng)UML进行程序设计实践 |
静态设计: |
第五单元: 建模实践及案例分(fēn)析 |
领域分(fēn)析及建模:数据投递系统 |
第六单元: 其它案例分(fēn)析 |
典型案例分(fēn)析 |