软件设计师,高级软件开发工程师
| 课程编号 | 开课日期 | 地点 | 培训天数 | 选择报名 |
软件设计师,高级软件开发工程师
地点时间: 上海 2012年 3月15-17日
课程费用: 5000元/人
培训对象: 软件设计师,高级软件开发工程师
学员基础: 至少2年以上系统维护、管理经验。有实际项目经验。
课程特点:
本课程关注与具有多个层面问题的企业级软件架构,适合于进行大规模系统级架构设计的关注者的视角:
首先通过经典架构案例的回顾,使学员对软件架构有个整体认识
然后结合多个实际案例(电信、银行、互联网、自动化、企业管理),讲解各种架构的问题、解决方法,不断关注新系统,更关注基于已有的系统进行重构。
进而认识架构不是孤立的,把各种架构结合已有的遗留系统,集成为统一支撑平台,实现持续发展:
最后,学习如何在迭代开发过程中,以架构为核心,逐步构建完善的架构
各部分概要内容如下:
架构总体概览 业务架构、应用架构、数据架构、技术架构、平台架构
设计架构各方面
层次、业务、逻辑、物理、数据、性能、可靠、扩展
集成各种架构为统一平台
公共支撑平台、公共组件、ESB、公共资源
大型系统案例回顾与剖析
结合具体的大型系统架构设计、验证、重构历程
架构驱动的迭代开发
初选,验证,驱动开发,不断积累。
授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
培训内容:
架构概览
从一个系统引入软件架构
一个系统的开发过程回顾,存在的问题
为什么需要架构
什么是架构,架构都有什么
什么时候设计软件架构
架构设计和概要设计和详细设计的区别与联系
从架构文档实例了解架构 实际架构文档展示
架构文档的组织结构
构架目标和约束
架构范围的选择
架构的风险分析
架构的多视图描述:
用例视图,逻辑视图,开发视图
部署视图,运行视图,数据视图
根据需要确定架构文档内容
分项描述与整体描述方法
有关非功能需求的架构章节
基于架构的开发顺序与进度估算
架构文档的关键内容与质量要求
架构文档和需求文档和代码的关系
从多种角色角度阅读架构文档:
架构师
项目经理
客户代表
开发工程师
文档的后期管理(使文档保持更新)
架构文档在迭代开发中的维护
软件架构师分类与能要求 企业级架构师、应用架构师、技术架构师、信息架构师、平台架构师的定义:
基本素质
职责范围
特殊的视角
决策机制
软件架构在架构体系中的位置
企业架构,关键特点与机制
业务架构,关键特点与机制
应用架构,关键特点与机制
数据架构,关键特点与机制
技术架构,关键特点与机制
平台架构,关键特点与机制
国际典型架构参考模型
Zachman企业架构框架
TOGAF框架
IAF框架
NASICO企业业务框架
基于SOA的架构
SaaS架构模式
统一资源架构和云计算技术
常见的应用架构模式
C/S架构模式
B/S/S架构模式
多任务后台批处理系统
多任务、分布式、实时处理
通信、互联接口集成
工作流集成
企业应用集成系统(多应用系统集成)
从架构角度评估需求与现状
结合某大型系统讲解
功能需求的架构相关评估方法
非功能性需求的评估方法
性能需求
可靠性需求
可扩展需求
可维护需求
安全性需求
可用性需求
外部接口需求
物理需求
现有系统资产的架构相关因素调查
架构相关问题定位与描述
案例实践:某实际系统需求的评估与系统资产调查
架构评价标准和设计策略
案例讲解:某大型系统案例
从失败的案例看架构评价指标的重要性
从成功案例看如何建立评价指标,建立设计策略
关键技能
业务有效性评价指标、评价方法、设计策略
系统可用性评价指标、评价方法、设计策略
可靠性评价指标、评价方法、设计策略
性能评价指标、评价方法、设计策略
扩展性评价指标、评价方法、设计策略
安全性评价指标、评价方法、设计策略
案例实践:某实际系统架构评估与设计策略的建立
层次框架设计 案例讲解: 结合某大型系统
常见的层次组织类别:传统的C/S, B/S,SOA,C/S, B/S,SOA,云计算
层次评估的指标和评估方法
层次设计的常见问题和解决方案
表示层—常见问题、设计原则和设计策略
服务层—常见问题、设计原则和设计策略
业务层—常见问题、设计原则和设计策略
资源层—常见问题、设计原则和设计策略
基础层—常见问题、设计原则和设计策略
数据采集层—常见问题、设计原则和设计策略
层次之间的依赖关系设计
层次之间的接口和通信机制设计
层次框架的建模方法和编档
如何对已有的系统进行重构
案例剖析:某大型系统架构分析与设计
业务架构设计 案例讲解: 结合系统实例
常见的业务架构关注视角:信息管理,电子交易,自动化监控,专业处理
业务架构的常见问题、设计原则和设计模式
业务逻辑:逻辑的划分、组织与依赖关系
业务流程:流程的引擎、接口和配置
业务规则:规则的引擎、结构和接口
领域模型与业务架构
如何建立能够适应业务变化的业务架构
如何对已有的系统进行重构
案例剖析:某系统的业务架构分析与设计
逻辑架构设计
案例讲解: 结合行业典型系统实例
子系统评估的指标和评估方法
子系统设计的常见问题和解决方案
子系统划分的原则与方法
子系统接口互访设计:协议、安全机制、性能
子系统接口设计模式:远程调用,Web服务,消息队列,数据共享,事件监听
子系统内部逻辑的划分
子系统内部逻辑模块的依赖关系设计
子系统内部的常见模块问题
子系统内部模块划分原则
子系统内部的装配设计。
案例剖析:某系统的逻辑架构分析与设计
物理架构设计
案例讲解: 结合典型系统实例
常见的不同行业物理架构组织:银行,电信,互联网,分布式监控系统
常见数据分布模型:集中数据模型,分散数据模型,联邦制数据模型
系统分布与部署
面向地理分布设计系统分布
系统节点配置与设计:组件配置、软件、硬件配置
物理存储划分与容量设计
节点的I/O处理设计与配置
系统网络通信设计
各个节点的协调与同步机制
建立面向运行时负载变化的动态分布机制
服务集群与负载均衡
案例剖析:某系统的逻辑架构分析与设计
数据架构设计
案例讲解:结合典型系统实例
常见的不同行业数据组织模式:银行,电信,互联网,独立软件
常见数据分布模型:集中数据模型,分散数据模型,联邦制数据模型
数据架构的设计目标
数据架构的评价指标和评估方法
大数据量、并发、高性能数据库设计
数据标准化
数据分布、共享与同步
数据质量监控
数据备份与恢复
数据安全策略
数据仓库积累与数据挖掘
与遗留系统的数据库兼容性考虑
构建高性能的数据访问层
对象关系映射
数据逻辑划分与物理分布
对象缓存
事务管理
并发数据访问锁保护与性能提升
案例剖析:某系统数据架构的分析与设计
性能架构设计 案例讲解:结合系统实例
常见的不同关注视角:银行,电信,互联网,自动化系统
性能评估的指标和评估方法
性能设计的常见问题、设计原则和策略
通信接口性能设计
计算单元性能设计
信息互访性能设计
分布式应用的性能平衡设计
常见技术框架:人机界面,数据通信,数据处理,复杂计算
性能设计建模与编档
案例剖析:某系统的性能问题分析与重构设计
可靠性架构设计
案例讲解:结合某系统实例
常见的不同关注视角:银行,电信,互联网,自动化系统
可靠性架构的目的和范围
常见软件故障:错误、崩溃、异常
可靠性评估的指标和评估方法
可靠性设计的常见问题、设计原则和解决方案
独立的故障监视任务
故障诊断与分类
故障风险和概率估计
故障的恢复手段:热备、冷备、重构
常见性能框架:交易,数据处理,通信,自动化监控
可靠性设计建模与编档
案例剖析:某系统的性能问题分析与重构设计
可扩展架构设计 案例讲解:结合系统实例
产间的扩展应用类型:用户驱动的处理,后台处理,专业计算,通信协同
可扩展架构的目的和范围
可扩展的指标和评估方法
可扩展的常见问题和解决方案
可扩展架构相关技术:
可扩展设计原则
常见的软件扩展模型:接入层,界面,工作流,数据容量,通信接口,规则
可扩展设计建模与编档
案例剖析:结合系统案例进行性能问题分析与重构设计
集成各种架构为统一平台:公共支撑平台、公共组件、ESB、公共资源
平台架构设计
案例讲解:结合某平台实例
各种常见的平台架构:工作流,电子交易,信息管理,自动化监控平台
基础平台与公共组件的设计目标
应用集成与复用的指标和评估方法
应用集成与复用的常见问题和解决方案
如何从具体应用中提炼基础平台
如何从具体应用中提取公共组件
设计基础平台的范围与深度
如何使基础平台能够适应需求的变化
如何扩展基础平台和公共组件
通过实例项目了解基础平台和公共组件设计
基础平台与公共组件建模与编档
案例剖析:某系统的平台架构分析与设计
集成架构设计
案例讲解:结合集成架构实例
常见集成模式:工作流集成,数据集成,通信集成,用户门户集成,规则集成
集成接口设计:同步方式,协议交互,环境适应,速率匹配,异常处理。
集成设计要考虑的因素:异构、异质、时序
工作流集成原则、策略与方法
数据集成原则、策略与方法
规则集成原则、策略与方法
用户界面集成原则、策略与方法
通信集成原则、策略与方法
集成设计的关键点和设计法则
集成建模与编档
案例剖析:系统的集成架构问题分析与重构设计
架构驱动的迭代开发:初选,验证,驱动开发,不断积累
案例讲解:结合某实际架构项目过程
结合需求建立架构备选方案
架构设计、实现与验证
基于架构估计开发工作量与进度
开发过程中的架构支持
架构重构与维护
架构提炼与积累
面向多产品线的架构体系构建
案例实践:某项目的架构驱动的迭代开发。
某大型系统的架构全生命周期管理
系统第一次架构
随着系统发展的问题积累
架构重构需求:应对变化、复用、性能与可靠性
架构的第二次搭建与优化,
建立可持续的架构体系
讲师资质:
UML软件工程组织技术专家。
从事过10年以上相关实际工作,曾在著名IT企业就职,具备丰富的实践经验。
在多个大中型项目中成功实施了相关的工程技术实践,具备真实有效的能力,而不仅仅是“名气”。
具备深厚的理论功底,进行过专业系统化研究与学习。
丰富的授课经验,为多家大型企业授课,获得了客户的高度评价。
丰富的咨询经验,为多家企业客户咨询。
能够结合学员的需求,有效地讲授理论和实践经验,带领学员进行具体的实践演练。