软件架构师培训大纲
1. 企业软件构架简介
, Zachman架构框架
, Meta Group/Open Group/Gartner企业架构
, IBM企业架构/Microsoft架构框架 , 美国国防部架构框架(DODAF ) , 美国联邦政府架构框架(FEA) , 集成化结构框架(IAF) , 企业业务架构及描述语言(EBA-ML)
, 企业架构与分区迭代
, 企业架构的不同视图
, 从企业架构到软件架构
2. 架构方法论
1) 管理架构视图
, 软件架构规范的制订
o 需求规范
规范 o
o 编码规范
o 测试规范
, 软件架构文档管理与配置管理
o 软件配置管理
o 软件架构模版设计
o 软件架构文档管理
o 设置软件架构基线
, 软件架构风险管理
o 软件架构风险管理模型
o 如何识别和规避软件架构的风险
o 软件架构风险管理与控制
, 如何描述和评估软件架构质量
o 软件的质量建模
o 软件架构设计的技术性评估
o 软件架构设计的经济性评估
o 评估软件架构质量的价值
o 怎样改变软件架构的质量
o 如何评价软件架构
2) 业务架构视图
, 业务现状及评估
o 业务战略定位
o 业务现状调研及评估
o 信息化现状调研及评估
, 领域(业务)分析,获得领域架构 o 领域规范获取
o 领域建模方法
o 使用DSL定义领域语言
, 需求分析及需求建模,获得业务架构 o 需求获取
o 建立需求模型
o 需求评审
o 业务
和业务流程描述
o 使用OCL对业务定义业务规则 o 利用26种业务模式进行业务建模
3) 技术架构视图
, 构建信息化总体建设蓝图
o 信息化总体架构设计(MTSS)
o 应用系统规划(REJ)
o 基础设施规划(MSA)
o 信息安全规划(MSA)
o IT管控规划
, 软件架构的多维度
o 面向对象(OOAD)
, 面向对象本质论
, 面向对象的软件架构设计
, 设计模式精要
, 设计模式原则
, GOF设计模式实现方法及其扩展
, 设计模式的整合与拆分
, 设计模式与软件架构
, 如何应用设计模式来实现好的结构
, 如何使测试改进架构
o 面向方面(AOSD)
, 同时使用用例和方面
, 使用用例捕获关注
, 保持关注点的分离
, 对用例片和方面建模
, 保持对等用例的分离
, 保持扩展用例的分离
, 保持基础结构能力的分离
, 保持平台具体细节的分离
o 面向服务(SOA)
, 服务的设计与原则
, BPM与SOA
, 面向服务架构的消息模式
, ESB实现模型
, 评估基于服务的集成技术的过程和准则
, 服务模式与反模式
, Web服务的体系结构
, 改善web服务的协同工作能力
, 基于SOA的软件构件的复用模式
, 基于SOA的软件构件的管理模式 , 软件架构模式
o 软件架构的设计原则
o 软件架构的设计模式
o 软件架构的组织方式
o 软件架构的行为方式
3. 企业信息化架构设计实现
, 定义企业关键策略:
o 企业业务发展策略
o 信息技术策略
o 企业IT策略
, 规划企业信息化架构(IT planning)
o 基于MTSS/REJ/MSA实现企业信息化架构规划
o 定义企业内/外集成模型
o 规划企业应用系统及设计应用系统集成
o 剖析动态架构(DYA)模型 , 实现企业集成框架
o 数据集成、应用集成、服务集成等设计思路
o EAI参考模型与实现
o IBM SOA实现企业集成框架
o Microsoft SOA实践
4. 软件架构设计实现
, 软件架构与软件过程
o 统一软件过程(RUP)与MSF
o XP/Agile
o 实现CMMI的软件过程
o 选择软件过程与架构
, 软件架构设计总体流程
o 软件架构设计的输入
o 软件架构设计的风险管理
o 软件架构分析
, 全局分析与局部分析
, 选取关键用例
o 软件架构设计:
, 软件架构选择
, 软件架构实现的科学与艺术
, 全局设计与局部设计
, 基于UML实现架构设计流程
o 软件架构设计的平台及互操作性问题考虑
, 不同级别的架构设计与平台选择
, .NET/J2EE架构比较
, 互操作性问题考虑: SOA还是点到点的互操作性 , 互操作性安全考虑
, WSE与JWSDP
, Web Logic/Websphere与.NET Framework/WSE协
同
o 分层软件架构设计
, 用户界面/
现层设计
, 微软用户界面设计精要
, 实现Web Form和Win Form统一的几种方法及相
应设计模式
, 基于MVC模式的表现层设计
, CUI(Common User Interface)组件设计
UIP(用户界面处理组件)设计与用户界面框架 ,
, WPF与三维用户界面设计考虑
, 基于B/S和C/S的用户界面集成的设计思想
, Smart Client设计
, 动态界面设计
, 表现层数据缓存与验证的设计
, 表现层安全控制与通讯设计 , 业务逻辑层/ 中间层设计
, 把业务规则融合到业务逻辑层组件
, 基于服务的中间层设计
, 基于SOA/BPM的业务工作流设计
, 工作流的选择与设计
, 业务逻辑层安全设计
, 跨组件及跨不同分层的安全设计
, 业务逻辑层事务设计思想
, 组件依赖的解耦设计
, 多种服务模式设计
, 持久层/数据层设计
, 关键抽象与实体组件
, 数据访问层组件设计
, 不同设计模式在持久层设计中的应用
, 多种数据访问模型的考虑(实时数据访问、离线
数据访问、通用数据访问对象模型等)
, ORM/Hibernate/CMP设计思想
, XML与业务实体
, 通过动态实体支持动态表单
, 连接对象管理
, 数据库设计
, 数据库设计原则
, 数据库性能规划与海量数据存储设计
, 由实体模型实现数据库模型
, 数据库设计与XML设计整合
, 数据库封装业务逻辑设计
, 基础框架设计考虑
, 软件架构与服务模式
, SSO(Single Sign-on)设计思想
, 基于异构平台的SSO
, 基于B/S和C/S融合的SSO
, 企业服务总线(ESB)设计
, 消息管理服务设计
, 配置管理服务设计
缓存思想与设计 ,
5.商用软件/开源架构分析
, SAP与Axapta
, Biztalk与Tuxedo
, Team Foundation Server与Sharepoint Portal
, Spring/JBoss
, Hibernate/NHibernate , NUnit/JUnit
6.软件架构师素养
, 沟通技巧与表达力提升
, 团队技巧提升
7.软件架构设计案例分析
, 政府行业大型业务应用项目设计分析 , 大型企业应用集成项目系统架构分析 , 大型商业软件系统架构分析