架构概览 |
从一个系统引入软件架构 |
- 一个系统的开发过程回顾,存在的问题
- 为什么需要架构
- 什么是架构,架构都有什么
- 什么时候设计软件架构
- 架构设计和概要设计和详细设计的区别与联系
|
从架构文档实例了解架构 |
实际架构文档展示
1. 架构文档的组织结构
2.构架目标和约束
3.架构范围的选择
4.架构的风险分析
5.架构的多视图描述:
- 用例视图,逻辑视图,开发视图
- 部署视图,运行视图,数据视图 6.根据需要确定架构文档内容
7.分项描述与整体描述方法
8.有关非功能需求的架构章节
9.基于架构的开发顺序与进度估算
|
架构文档的关键内容与质量要求
架构文档和需求文档和代码的关系
从多种角色角度阅读架构文档:
文档的后期管理(使文档保持更新)
架构文档在迭代开发中的维护
|
软件架构师分类与能力要求 |
企业级架构师、应用架构师、技术架构师、信息架构师、平台架构师的定义:
|
软件架构在架构体系中的位置
|
企业架构,关键特点与机制
业务架构,关键特点与机制
应用架构,关键特点与机制
数据架构,关键特点与机制
技术架构,关键特点与机制
平台架构,关键特点与机制 |
国际典型架构参考模型 |
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、公共资源 |
平台架构设计 |
案例讲解:结合某平台实例
- 各种常见的平台架构:工作流,电子交易,信息管理,自动化监控平台
- 基础平台与公共组件的设计目标
- 应用集成与复用的指标和评估方法
- 应用集成与复用的常见问题和解决方案
- 如何从具体应用中提炼基础平台
- 如何从具体应用中提取公共组件
- 设计基础平台的范围与深度
- 如何使基础平台能够适应需求的变化
- 如何扩展基础平台和公共组件
- 通过实例项目了解基础平台和公共组件设计
- 基础平台与公共组件建模与编档
案例剖析:某系统的平台架构分析与设计
|
集成架构设计
|
案例讲解:结合集成架构实例
- 常见集成模式:工作流集成,数据集成,通信集成,用户门户集成,规则集成
- 集成接口设计:同步方式,协议交互,环境适应,速率匹配,异常处理。
- 集成设计要考虑的因素:异构、异质、时序
- 工作流集成原则、策略与方法
- 数据集成原则、策略与方法
- 规则集成原则、策略与方法
- 用户界面集成原则、策略与方法
- 通信集成原则、策略与方法
- 集成设计的关键点和设计法则
- 集成建模与编档
案例剖析:系统的集成架构问题分析与重构设计
|
架构驱动的迭代开发:初选,验证,驱动开发,不断积累
|
案例讲解:结合某实际架构项目过程
- 结合需求建立架构备选方案
- 架构设计、实现与验证
- 基于架构估计开发工作量与进度
- 开发过程中的架构支持
- 架构重构与维护
- 架构提炼与积累
- 面向多产品线的架构体系构建
案例实践:某项目的架构驱动的迭代开发。
|
某大型系统的架构全生命周期管理
|
数据架构设计
系统第一次架构
随着系统发展的问题积累
架构重构需求:应对变化、复用、性能与可靠性
架构的第二次搭建与优化,
建立可持续的架构体系 |