架构师
其他
架构师
软件架构
架构设计
软件设计
推荐课程
average > 0 ? $model->average . '分' : '10.0分' ?>

高级系统架构设计

K. Kang

开发部总监

北京航空航天大学,硕士。
毕业后即进入北大方正进行软件开发,先后在北大方正技术研究院、方正电子、方正电子政务科技有限公司、方正国际、明博教育科技有限公司工作,担任高级程序员、高级系统分析员、系统架构师、开发部总监等职务;拥有10多项国家发明专利。5年培训经验,主要从事企业IT软件设计培训及咨询。在安博教育等机构任特聘讲师,信产部计算机技术培训中心高级技术顾问,案例丰富,来源于实践,从实际项目出发,擅长用直白的语言说明复杂的原理。
一直在软件的一线工作,在软件设计及编码上有丰富的经验,善于从实际出发,将各种理论上的规范和技巧落地,变成实际项目开发中,易于接受和使用的原则和方式。在其带领过的研发团队中,都以形成了良好的软件风格和高质量的代码而著称。康老师在对系统进行划分、子系统和类设计方面有丰富的经验,善于规划系统职责,在系统分析、架构设计、模块设计,模块职责分配等方面进行合理的划分及平衡有着深厚的功底和丰富的实践经验。
项目经历
具有15年从事IT行业的软件开发、系统架构设计与分析经验,熟悉中国企业的需求,经历过多种文化氛围与组织形态,对大型项目、系统工程管理有着深入的实践与体会。且一直工作在大型软件开发、系统架构设计实际项目的第一线,主持过政府、金税工程、中国军队(总参、总后、二炮)等机构的复杂信息化项目设计,在实际工作中积累了丰富的项目实际经验和系统架构设计分析经验。主持过的项目包括奥运首都机场奥运福娃机器人项目;优课数字化教学应用系统;美国外包项目、国税总局金税工程信息化项目;方正奥思多媒体创作工具;网络雷达数据采集分析系统;分布式电子图书管理系统等。
近期授课经历

先后为IBM、洛基亚(8次)、艾默生、梅特勒.托利多、阿里软件、京东、中国联通、中国电信、用友软件、中石油天然气管道公司、中国移动、恒生电子、西南电信、三五互联、中金在线、浪潮集团、海关总署、中国科学院计算机网络信息中心、中国航天研究院、上海盛大网络、上海证券研究所、上海携程计算机、雅马哈信息系统有限公司、厦门航空、通化钢铁集团、总参、21世纪、南京大汉网络、等近百家企事业单位。

北京航空航天大学,硕士。 毕业后即进入北大方正进行软件开发,先后在北大方正技术研究院、方正电子、方正电子政务科技有限公司、方正国际、明博教育科技有限公司工作,担任高级程序员、高级系统分析员、系统架构师、开发部总监等职务;拥有10多项国家发明专利。5年培训经验,主要从事企业IT软件设计培训及咨询。在安博教育等机构任特聘讲师,信产部计算机技术培训中心高级技术顾问,案例丰富,来源于实践,从实际项目出发,擅长用直白的语言说明复杂的原理。 一直在软件的一线工作,在软件设计及编码上有丰富的经验,善于从实际出发,将各种理论上的规范和技巧落地,变成实际项目开发中,易于接受和使用的原则和方式。在其带领过的研发团队中,都以形成了良好的软件风格和高质量的代码而著称。康老师在对系统进行划分、子系统和类设计方面有丰富的经验,善于规划系统职责,在系统分析、架构设计、模块设计,模块职责分配等方面进行合理的划分及平衡有着深厚的功底和丰富的实践经验。 项目经历 具有15年从事IT行业的软件开发、系统架构设计与分析经验,熟悉中国企业的需求,经历过多种文化氛围与组织形态,对大型项目、系统工程管理有着深入的实践与体会。且一直工作在大型软件开发、系统架构设计实际项目的第一线,主持过政府、金税工程、中国军队(总参、总后、二炮)等机构的复杂信息化项目设计,在实际工作中积累了丰富的项目实际经验和系统架构设计分析经验。主持过的项目包括奥运首都机场奥运福娃机器人项目;优课数字化教学应用系统;美国外包项目、国税总局金税工程信息化项目;方正奥思多媒体创作工具;网络雷达数据采集分析系统;分布式电子图书管理系统等。 近期授课经历 先后为IBM、洛基亚(8次)、艾默生、梅特勒.托利多、阿里软件、京东、中国联通、中国电信、用友软件、中石油天然气管道公司、中国移动、恒生电子、西南电信、三五互联、中金在线、浪潮集团、海关总署、中国科学院计算机网络信息中心、中国航天研究院、上海盛大网络、上海证券研究所、上海携程计算机、雅马哈信息系统有限公司、厦门航空、通化钢铁集团、总参、21世纪、南京大汉网络、等近百家企事业单位。

课程费用

5800.00 /人

课程时长

2

成为教练

课程简介

本课程中解决的实际问题如下:
帮助IT企业解决获得可重用的架构设计的完整方案;
揭示软件设计原理及设计过程;
帮助架构师掌握架构设计方法与架构设计的模式;
帮助设计人员掌握软件模块划分,及如何为模块划分职责;
帮助设计人员掌握领域分析与建模的正确方法;
帮助IT数据结构设计及实例等;
帮助甲方解决软件架构评估问题;

目标收益

培训对象

课程大纲

软件架构视图 软件架构视图的意义,软件架构师的多维思考
逻辑视图、开发视图、物理视图、运行视图、场景视图、数据视图、功能视图
如何和怎样绘制软件架构视图
UML建模工具在架构视图的应用
典型案例分析:结合多个项目实例,进行分析软件架构视图
架构设计中的模块划分及职责分配——GRASP原则 架构/模块设计中,如何划分模块,如何分配模块的职责是重要的内容。本节结合多个案例,回答:
如何进行架构设计,什么是好的架构,怎么验证架构的合理性?
如何进行组件(模块化)化设计,在架构基础上保证组件及框架的复用?
内容一 模块及组件的职责分配设计
分层与分区的考虑
基于面向对象的组件职责分配
组件职责分配的深入探讨
大型组件与小组件职责分配的探讨
典型案例分析:如何为模块合理地分配职责,某收款系统、税务系统的组件设计
内容二 组件创建及装载设计
组件的动态装载
组件创建者的选择原则
架构中常见的组件创建方式
典型案例分析:某数据解析系统设计,阐述构件创建的要点
内容三 如何设计出高内聚低耦合的架构
组件的粒度把握原则
不同类型的模块及其复用方式
面向过程式或面向对象组件的选择
在不同的模块中隔离不同的关注面
用单一职责原理指导架构设计
典型案例分析:某Html分析系统、某文档验证系统设计,分析高内聚低耦合的重要意义
内容四 架构设计中如何有效地组织多个组件/模块
设计控制器模块
控制模块与其它模块的交互
设计不同类型的模块在系统中的交互机制
对过大组件/模块的分解原则及实践
典型案例分析:某文档验证系统设计,阐述对系统的整体把握能力
内容五 如何设计出灵活性及可扩展性高的架构
如何设计出可扩展的架构
多态在组件设计中的使用
间接模式在架构设计中的价值及其使用
接模式在基于架构的架构中的运用
典型案例分析:UIM系统设计,如何构造灵活而可扩展的系统
内容六 架构的鲁棒性设计
1)隔离不同的关注面
2)如何封装组件设计中的变化
3)组件设计中的开-闭原则
4)包内聚原则及其运用
5)包耦合原则及其运用
典型案例分析:税务系统、演示汇报系统实例进行分析
架构设计过程 内容一 商业架构设计
软件功能需求对架构的影响
软件质量需求对架构的影响
软件商业质量属性分析
软件约束条件与架构的影响
确定架构目标
系统功能分解(系统、子系统、模块)和部署模式
典型案例分析:结合多个项目实例,分析质量需求、约束对架构的影响(项目错误的架构,导致反复迭代)
内容二 逻辑架构设计
软件架构立方体图
软件架构模式和架构师经验的引入
使用质量场景属性进行迭代架构设计
综合初步设计,确定高层分割(分层 分服务 分区 通信)
典型案例分析:结合项目实例,进行分析该阶段的主要任务和相关成果
内容三 物理架构设计
数据模型视图
结合逻辑架构,设计物理部署
内容四 架构重构
软件架构重构还是重写
软件架构重构技巧
软件架构复用
架构重构的4种方案及模式
核心业务逻辑层
架构设计
内容一 业务逻辑层中的子层设计
业务逻辑层组件设计
业务逻辑层工作流设计
服务facade设计
业务逻辑层实体设计
充血模型、贫血模型、失血模型的博弈及案例分析
分布式应用场景
业务逻辑层框架(EJB,Springframework,.Net框架)
内容二 典型案例分析
订餐系统,逻辑子层分析及设计中的要点
杂志订阅系统,需求分析到领域分析,业务逻辑层的设计要点
媒体墙系统,分析系统的组件划分及业务逻辑层划分
质量属性驱动
架构设计策略
什么是系统质量属性,如何进行质量属性进行驱动架构设计
架构和质量属性的关系
如何获得可维护性、可扩展性、可靠性、互操作性,系统性能,安全性等
系统架构的可靠性设计策略
系统架构的可修改性设计策略
系统架构的性能设计策略
系统架构的安全性设计策略
系统架构的易用性设计策略
系统架构质量属性和架构模式的应用
典型案例分析:架构策略如何应用在自己的实际项目中
设计原则及设计模式 内容一:面向对象设计原则及其分析
软件设计目标,基本原则和模式关系
开闭原则
依赖倒置原则
单一职责原则
里氏替换原则
合成/聚合复用原则
接口隔离原则和Demeter法则
通过案例进行分析,模式如何使用
内容二:常见架构设计原则及其分析
抽象(Abstraction)、封装(Encapsulation)和信息隐藏(Information Hiding)
分而治之(Divide-And-Conquer)和模块化(modularization)
松耦合和高内聚(Coupling and Cohesion)
策略和实现的分离(Separation of Policy and Implementation)
接口和实现的分离(Separation of Interface and Implementation)
单一引用点(Single Point of Reference)
典型案例分析:架构原则在实际项目中应用(奥运项目案例)
内容三:案例分析—OO基本原则 (多个小案例,不涉及特定的业务)
通过经典面向对象案例,要求学员分别使用过程式和面向对象2种思维,进行设计
进行对比2种思维的不同点和结果
通过案例指出OO是否真正做到了它所说的价值
这些小案例涉及项目开发中的常见的困境、疑惑,本节探讨如何通过设计原则解决。
讨论设计原则与设计模式的关系,已经在没有合适模式可用的情况下如何分析、解决问题。
软件架构模式 内容一 常见的架构模式/风格
分层架构模式
Pipe/Filter Pattern
黑板/看板(blackboard)模式
MVC/PVC Pattern
Event-Based Pattern和Microkernel Pattern
分布式和并发架构设计模式
解释器和黑板模式
其他模式的介绍(元数据等)
典型案例分析:软件架构模式如何应用在自己的实际项目中
内容二 典型案例分析
某数据抓取分析系统
某模式识别系统
某多媒体制作系统
通过典型案例分析,总结架构师实际项目架构的经验和应用
设计模式与软件设计思想 内容一 常见的设计模式及其运用
使用GOF设计模式,借鉴前人的经验。
分析创建型模式:单例模式(Singleton)、工厂模式、抽象工厂模式(Abstractfactory)
分析结构型模式:桥梁模式(Bridge)、装饰模式(Decorator)、适配器模式(Adapter)、代理模式(Proxy)、组合模式(Composite)
分析行为型模式:命令模式(Command )、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、访问者模式(Template Method)
典型案例分析:分析薪酬管理、订单管理系统等多个案例,展示设计模式在架构设计中的实际应用
内容二 设计模式的本质探讨
指出什么是优秀设计和丑陋设计
总结自己的模式-神似而非型似
探讨相似模式的本质
“间接类”模式的推演及演化
“流程类”模式的推演及演化
避免模式的误用,讨论模式的陷阱:在看似典型的场景,但不宜使用模式的场合。
内容三 案例- 元搜索系统分析及设计
简单背景介绍
如何面对纷繁的变化因素的组合
一定要使用模式吗——如果能很好地能抽象、隔离不同因素,也许它就是模式。
讨论Command模式的本质。
内容四 案例- 电子文件生成器
简单背景介绍
使用模式的第一反应,及陷入陷阱的思索
具体场景使用模式的本质讨论
多态的本质
讨论并介绍表驱动法
Template Method、DIP原则Strategy模式的的灵活使用——获得优雅的设计
IOC原理在可复用软件框架中的运用 内容一 系统接口设计
接口的意义
所知最少原则
组件接口的设计
接口隔离原则
子系统接口的设计
典型案例分析:文件处理系统实例分析,如何设计一个极度的松耦合接口
内容二 IOC原理在可复用软件框架中的运用
Spring中的IOC运用
理解IOC的本质
IOC及DIP原则的运用
服务组件的设计
功能组件的设计
不依赖于框架的IOC实现
内容三 案例分析
典型案例分析:多功能文件处理系统的设计分析,采用逐步深入的方式,抽丝剥茧,展现如何设计一个优雅而高效的文件处理框架。
数据访问层设计
(持久层设计)
数据库设计中的常见问题
分布式数据库设计的6种模式
伪分布式数据库设计的优劣及运用
数据表设计的6种模式
数据表设计中的反规范化
海量数据技术:如何提高效率
数据ORM的常见问题
结合多个实际项目进行分析,总结6种数据库设计模式及数据表设计模式,分析其实用条件。
系统内间通信设计 系统通信设计原则
常见跨进程通讯的手段
大数据量交互的通讯手段
异构系统间常见的通讯手段
基于消息队列及控制的通讯手段
基于本地SDK的通讯手段
基于数据库的数据交换方案
服务器推技术及对现代软件的影响
协议选择对性能的考虑
同步及异步的通讯手段
典型案例分析:结合项目实例分析,系统内/间的通信设计
部分软件应用类型和架构风格鉴赏 基于树形结构的分布式系统
基于总控端的分布式系统
基于P2P的分布式系统
基于数据网关交互的BS系统
基于集中控制的BS系统
复杂消息控制的桌面运用系统
松散耦合的桌面系统
组件化的桌面系统
基于脚本解释器的桌面系统
其他系统,分析其优劣
典型案例分析:分析实际的项目案例,赏析系统的不同架构风格,并评说其利弊
架构设计步骤总结及实践 静态设计:子系统、分层及分区;职责分配
模块间的通信及耦合设计:组件式编程、考虑通讯机制、解耦、设计数据层
动态设计:抽象与统一不同的因素、整理逻辑控制、设计消息通知机制
模块调整:调整模块等级、用设计模式优化设计、编码时构建适当的动态临时类、效率的优化(优化效率3步骤)
典型案例分析:总结、整理架构设计的步骤
大型软件系统架构实践与剖析 超市收款系统软件架构案例研究
网络数据钻取及分析软件架构案例研究
某政府项目软件架构案例研究
软件架构视图
软件架构视图的意义,软件架构师的多维思考
逻辑视图、开发视图、物理视图、运行视图、场景视图、数据视图、功能视图
如何和怎样绘制软件架构视图
UML建模工具在架构视图的应用
典型案例分析:结合多个项目实例,进行分析软件架构视图
架构设计中的模块划分及职责分配——GRASP原则
架构/模块设计中,如何划分模块,如何分配模块的职责是重要的内容。本节结合多个案例,回答:
如何进行架构设计,什么是好的架构,怎么验证架构的合理性?
如何进行组件(模块化)化设计,在架构基础上保证组件及框架的复用?
内容一 模块及组件的职责分配设计
分层与分区的考虑
基于面向对象的组件职责分配
组件职责分配的深入探讨
大型组件与小组件职责分配的探讨
典型案例分析:如何为模块合理地分配职责,某收款系统、税务系统的组件设计
内容二 组件创建及装载设计
组件的动态装载
组件创建者的选择原则
架构中常见的组件创建方式
典型案例分析:某数据解析系统设计,阐述构件创建的要点
内容三 如何设计出高内聚低耦合的架构
组件的粒度把握原则
不同类型的模块及其复用方式
面向过程式或面向对象组件的选择
在不同的模块中隔离不同的关注面
用单一职责原理指导架构设计
典型案例分析:某Html分析系统、某文档验证系统设计,分析高内聚低耦合的重要意义
内容四 架构设计中如何有效地组织多个组件/模块
设计控制器模块
控制模块与其它模块的交互
设计不同类型的模块在系统中的交互机制
对过大组件/模块的分解原则及实践
典型案例分析:某文档验证系统设计,阐述对系统的整体把握能力
内容五 如何设计出灵活性及可扩展性高的架构
如何设计出可扩展的架构
多态在组件设计中的使用
间接模式在架构设计中的价值及其使用
接模式在基于架构的架构中的运用
典型案例分析:UIM系统设计,如何构造灵活而可扩展的系统
内容六 架构的鲁棒性设计
1)隔离不同的关注面
2)如何封装组件设计中的变化
3)组件设计中的开-闭原则
4)包内聚原则及其运用
5)包耦合原则及其运用
典型案例分析:税务系统、演示汇报系统实例进行分析
架构设计过程
内容一 商业架构设计
软件功能需求对架构的影响
软件质量需求对架构的影响
软件商业质量属性分析
软件约束条件与架构的影响
确定架构目标
系统功能分解(系统、子系统、模块)和部署模式
典型案例分析:结合多个项目实例,分析质量需求、约束对架构的影响(项目错误的架构,导致反复迭代)
内容二 逻辑架构设计
软件架构立方体图
软件架构模式和架构师经验的引入
使用质量场景属性进行迭代架构设计
综合初步设计,确定高层分割(分层 分服务 分区 通信)
典型案例分析:结合项目实例,进行分析该阶段的主要任务和相关成果
内容三 物理架构设计
数据模型视图
结合逻辑架构,设计物理部署
内容四 架构重构
软件架构重构还是重写
软件架构重构技巧
软件架构复用
架构重构的4种方案及模式
核心业务逻辑层
架构设计
内容一 业务逻辑层中的子层设计
业务逻辑层组件设计
业务逻辑层工作流设计
服务facade设计
业务逻辑层实体设计
充血模型、贫血模型、失血模型的博弈及案例分析
分布式应用场景
业务逻辑层框架(EJB,Springframework,.Net框架)
内容二 典型案例分析
订餐系统,逻辑子层分析及设计中的要点
杂志订阅系统,需求分析到领域分析,业务逻辑层的设计要点
媒体墙系统,分析系统的组件划分及业务逻辑层划分
质量属性驱动
架构设计策略
什么是系统质量属性,如何进行质量属性进行驱动架构设计
架构和质量属性的关系
如何获得可维护性、可扩展性、可靠性、互操作性,系统性能,安全性等
系统架构的可靠性设计策略
系统架构的可修改性设计策略
系统架构的性能设计策略
系统架构的安全性设计策略
系统架构的易用性设计策略
系统架构质量属性和架构模式的应用
典型案例分析:架构策略如何应用在自己的实际项目中
设计原则及设计模式
内容一:面向对象设计原则及其分析
软件设计目标,基本原则和模式关系
开闭原则
依赖倒置原则
单一职责原则
里氏替换原则
合成/聚合复用原则
接口隔离原则和Demeter法则
通过案例进行分析,模式如何使用
内容二:常见架构设计原则及其分析
抽象(Abstraction)、封装(Encapsulation)和信息隐藏(Information Hiding)
分而治之(Divide-And-Conquer)和模块化(modularization)
松耦合和高内聚(Coupling and Cohesion)
策略和实现的分离(Separation of Policy and Implementation)
接口和实现的分离(Separation of Interface and Implementation)
单一引用点(Single Point of Reference)
典型案例分析:架构原则在实际项目中应用(奥运项目案例)
内容三:案例分析—OO基本原则 (多个小案例,不涉及特定的业务)
通过经典面向对象案例,要求学员分别使用过程式和面向对象2种思维,进行设计
进行对比2种思维的不同点和结果
通过案例指出OO是否真正做到了它所说的价值
这些小案例涉及项目开发中的常见的困境、疑惑,本节探讨如何通过设计原则解决。
讨论设计原则与设计模式的关系,已经在没有合适模式可用的情况下如何分析、解决问题。
软件架构模式
内容一 常见的架构模式/风格
分层架构模式
Pipe/Filter Pattern
黑板/看板(blackboard)模式
MVC/PVC Pattern
Event-Based Pattern和Microkernel Pattern
分布式和并发架构设计模式
解释器和黑板模式
其他模式的介绍(元数据等)
典型案例分析:软件架构模式如何应用在自己的实际项目中
内容二 典型案例分析
某数据抓取分析系统
某模式识别系统
某多媒体制作系统
通过典型案例分析,总结架构师实际项目架构的经验和应用
设计模式与软件设计思想
内容一 常见的设计模式及其运用
使用GOF设计模式,借鉴前人的经验。
分析创建型模式:单例模式(Singleton)、工厂模式、抽象工厂模式(Abstractfactory)
分析结构型模式:桥梁模式(Bridge)、装饰模式(Decorator)、适配器模式(Adapter)、代理模式(Proxy)、组合模式(Composite)
分析行为型模式:命令模式(Command )、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、访问者模式(Template Method)
典型案例分析:分析薪酬管理、订单管理系统等多个案例,展示设计模式在架构设计中的实际应用
内容二 设计模式的本质探讨
指出什么是优秀设计和丑陋设计
总结自己的模式-神似而非型似
探讨相似模式的本质
“间接类”模式的推演及演化
“流程类”模式的推演及演化
避免模式的误用,讨论模式的陷阱:在看似典型的场景,但不宜使用模式的场合。
内容三 案例- 元搜索系统分析及设计
简单背景介绍
如何面对纷繁的变化因素的组合
一定要使用模式吗——如果能很好地能抽象、隔离不同因素,也许它就是模式。
讨论Command模式的本质。
内容四 案例- 电子文件生成器
简单背景介绍
使用模式的第一反应,及陷入陷阱的思索
具体场景使用模式的本质讨论
多态的本质
讨论并介绍表驱动法
Template Method、DIP原则Strategy模式的的灵活使用——获得优雅的设计
IOC原理在可复用软件框架中的运用
内容一 系统接口设计
接口的意义
所知最少原则
组件接口的设计
接口隔离原则
子系统接口的设计
典型案例分析:文件处理系统实例分析,如何设计一个极度的松耦合接口
内容二 IOC原理在可复用软件框架中的运用
Spring中的IOC运用
理解IOC的本质
IOC及DIP原则的运用
服务组件的设计
功能组件的设计
不依赖于框架的IOC实现
内容三 案例分析
典型案例分析:多功能文件处理系统的设计分析,采用逐步深入的方式,抽丝剥茧,展现如何设计一个优雅而高效的文件处理框架。
数据访问层设计
(持久层设计)
数据库设计中的常见问题
分布式数据库设计的6种模式
伪分布式数据库设计的优劣及运用
数据表设计的6种模式
数据表设计中的反规范化
海量数据技术:如何提高效率
数据ORM的常见问题
结合多个实际项目进行分析,总结6种数据库设计模式及数据表设计模式,分析其实用条件。
系统内间通信设计
系统通信设计原则
常见跨进程通讯的手段
大数据量交互的通讯手段
异构系统间常见的通讯手段
基于消息队列及控制的通讯手段
基于本地SDK的通讯手段
基于数据库的数据交换方案
服务器推技术及对现代软件的影响
协议选择对性能的考虑
同步及异步的通讯手段
典型案例分析:结合项目实例分析,系统内/间的通信设计
部分软件应用类型和架构风格鉴赏
基于树形结构的分布式系统
基于总控端的分布式系统
基于P2P的分布式系统
基于数据网关交互的BS系统
基于集中控制的BS系统
复杂消息控制的桌面运用系统
松散耦合的桌面系统
组件化的桌面系统
基于脚本解释器的桌面系统
其他系统,分析其优劣
典型案例分析:分析实际的项目案例,赏析系统的不同架构风格,并评说其利弊
架构设计步骤总结及实践
静态设计:子系统、分层及分区;职责分配
模块间的通信及耦合设计:组件式编程、考虑通讯机制、解耦、设计数据层
动态设计:抽象与统一不同的因素、整理逻辑控制、设计消息通知机制
模块调整:调整模块等级、用设计模式优化设计、编码时构建适当的动态临时类、效率的优化(优化效率3步骤)
典型案例分析:总结、整理架构设计的步骤
大型软件系统架构实践与剖析
超市收款系统软件架构案例研究
网络数据钻取及分析软件架构案例研究
某政府项目软件架构案例研究

活动详情

提交需求