主题一: 软件架构本质
|
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软件架构案例研究
|