| 主题一: 软件架构本质
 | 1.软件架构思想  | (1)软件架构诞生原因和定义 (2)软件架构设计的任务,质量评价,特点
 (3)软件架构的主要理论、方向和趋势
 (4)Zachman架构框架, Meta Group/
 Open Group/Gartner企业架构
 (5)基于J2EE,.Net等技术架构概述
 | 
| 2.软件架构的视图  | (1)软件架构视图的意义 (2)4+1架构视图
 (3)逻辑视图 开发视图 物理视图 运行视图 场景视图
 (4)如何和怎样绘制软件架构视图
 (5)UML建模工具在架构视图的应用
 (6)结合多个案例,进行分析软件架构视图
 | 
| 3.软件架构文档编写  | (1)软件架构文档的意义 (2)ISO模板和RUP模板
 (3)软件架构文档的结构(避免出现不必要的重复和缺少关键信息)
 (4)从读者的角度编写软件架构文档
 (5)软件架构文档记录原理和如何避免歧义
 (6)文档的后期管理(使文档保持更新)
 (7)软件架构文档的评审
 (8)结合多个案例,进行分析和评价软件架构文档
 | 
| 主题二:软件架构设计过程  | 1.软件架构设计过程  | (1)软件架构设计过程方法论(应该有法可依) (2)确定关键需求
 (3)概念架构设计
 (4)细化架构设计
 (5)软件架构的验证
 (6)结合具体案例进行分析,介绍当初项目架构设计的过程
 | 
| 2. 需求决定架构  | (1)软件功能需求对架构的影响 (2)软件质量需求对架构的影响
 (3)软件约束条件与架构的影响
 (4)结合多个案例,分析关键功能需求,质量属性需求,约束对架构的影响(项目错误的架构,导致不能最终验收)
 | 
| 3. 概念架构设计  | (1)软件架构立方体图 (2)软件架构模式和架构师经验的引入
 (3)使用目标-场景-决策表进行迭代架构设计
 (4)综合初步设计,确定高层分割
 (5)结合案例,进行分析该阶段的主要任务和相关成果,注意事项等
 | 
| 4. 细化架构设计  | (1)根据功能确定职责模型 (2)根据质量调整职责模型
 (3)基于接口确定职责间协作
 (4)完成4+1架构视图
 (5)完成架构文档
 (6)结合案例,进行细化架构的主要方法和成果,以及注意事项等
 | 
| 5.架构设计的验证和评审  | (1)软件架构的验证 (2)软件架构的验证方法和指标
 (3)软件架构的重构
 (4)软件架构的评审
 (5)软件架构的风险管理
 (6)结合案例,分析如何进行验证架构和架构设计的后期重构技巧
 | 
| 主题三:软件架构设计原则与架构模式  | 1.软件架构模式  | (1)软件架构模式概述 (2)分层架构模式
 (3)Pipe/Filter Pattern
 (4)MVC Pattern
 (5)Event-Based Pattern和Microkernel Pattern
 (6)其他模式的介绍
 (7)软件架构模式如何应用在实际项目
 (8)架构师实际项目架构经验总结和应用
 | 
| 2.软件架构设计的方法论  | (1)什么是架构任务,如何分离关注点,它和系统是如何关联的 (2)如何获得可维护性、可扩展性、可重用性、互操作性等
 (3)在系统中如何组织组件(Component)
 (4)如何组织组件(Component)的内部
 (5)如何保持平台相关的细节和应用的分离
 (6)如何应用封装(encapsulation)、抽象(abstraction)和 委派(delegation)的原则
 (7)如何应用设计模式来实现好的结构
 (8)如何使测试改进架构
 | 
| 3.设计模式技术在软件架构设计之中的应用  | (1)面向对象软件架构设计思想 (2)设计模式的本质论
 (3)分析创建型模式
 (4)分析结构型模式
 (5)分析行为型模式
 (6)设计模式的在架构设计的综合应用
 (7)结合实际案例,分析设计模式在架构设计时期的应用
 | 
| 4.软件架构之中应用框架(framework)  | (1)框架vs.类库 (2)通用点vs.扩展点
 (3)设计模式技术在框架的设计之中的应用
 (4)如何开发框架
 (5)如何选择第三方框架
 | 
| 主题四:软件架构设计实现  | 1.表现层框架设计  | (1)使用MVC模式设计表现层 (2)BS和CS的选择
 (3)表现层中AJAX设计思想
 (4)表现层易用性的考虑
 (5)表现层的设计框架(Struts,JSF,WebWork,ASP.net,PHP等)
 (6)表现层的如何支持多渠道的接入(如支持Web,WAP等)
 (7)结合案例分析,表现层的架构设计
 | 
| 2.业务逻辑层架构设计  | (1)业务逻辑层组件设计 (2)业务逻辑层工作流设计
 (3)服务facade设计
 (4)业务逻辑层实体设计
 (5)分布式应用场景
 (6)业务逻辑层框架(EJB,Springframework,.Net框架)
 (7)结合案例分析,业务逻辑层的架构设计
 | 
| 3.数据访问层架构设计  | (1)数据访问层架构模式 (2)数据访问层组件设计
 (3)离线和在线方式的数据访问
 (4)ORM、Hibernate,JPA与SQLMap(iBatis),LINQ设计思想
 (5)缓存技术在存取层的应用
 (6)数据访问层的性能考虑
 (7)事务管理和数据的同步与锁
 (8)连接对象管理设计
 (9)结合案例分析,数据访问层的架构设计
 | 
| 4.领域模型设计,数据架构规划与数据库设计  | (1)领域模型设计  (2)数据库设计与类的设计融合
 (3)数据库设计与XML设计融合
 (4)数据库性能规划
 | 
| 5.通用服务层的架构设计  | (1)系统通用服务的架构设计 (2)业务通用层的架构设计
 | 
| 6.各层通信设计  | (1)应用通信的策略 (2)进程之间和分布式通信
 (3)通信内容组织
 (4)同步、异步(基于Message的架构)
 | 
| 主题五:企业应用系统架构设计  | 1.SOA 面向服务的架构设计  | (1)掌握SOA的基本概念 (2)了解服务的设计原则和方法学
 (3)SOA基础架构和企业服务总线ESB
 (4)服务识别,分类,实现
 (5)业务流程管理和BPEL技术
 (6)服务注册,发现,生命周期管理
 (7)服务的消息交换模式
 (8)服务的版本管理和SOA安全,性能管理
 (9)SOA的开发过程
 (10)SOA和组织,监管(SOA Organization and Governance)
 (11)SOA应用案例
 | 
| 2. 企业集成系统架构设计  | (1)解决方案、数据集成、应用(接口)集成及应用服务 (2)EAI参考模型:业务模式、概念模式、逻辑模式、物理模式和实现模式
 (3)如何设计企业应用系统集成
 (4)企业集成应用的架构模式
 (5)企业集成应用的案例分析
 | 
| 3. 企业门户Portal系统架构设计  | (1)企业门户Portal概述 (2)企业门户核心技术
 (3)企业门户内容管理(CMS)
 (4)企业门户的个性化
 (5)企业门户的架构案例
 | 
| 主题六:软件架构设计专题技术问题分析  | 1.软件架构设计专题技术问题分析  | (1)架构体系选择 (2)架构设计中的数据库存取(ORM,底层存取,SQLMap等选择)
 (3)架构设计中的WEB容器、EJB容器及Spring等相关容器
 (4)软件架构设计的分布式和通讯的思考
 (5)软件架构设计的性能的思考
 (6)软件架构设计的可扩展性(集群技术)的思考
 (7)软件架构设计的事务管理的思考
 (8)软件架构设计的异常管理的思考
 (9)软件架构设计利用AOP和IOC这两个有价值的技术–
 (10)软件架构设计的缓存技术的应用
 (11)软件架构设计的安全考虑
 (12)以上技术专题结合实际案例进行分析
 | 
| 主题七:软件架构案例分析  | 1.软件架构案例分析  | (1)电信行业软件架构案例研究 (2)金融行业 软件架构案例研究
 (3)政府行业( 保和税务)软件架构案例研究
 (4)电力行业软件架构案例研究
 (5)SOA软件架构案例研究
 |