1、架构师职业生涯规划,探讨软件架构师应具备的素质与能力(1小时)
(1)软件架构师应具有的技术素质
(2)软件架构师应具有的管理素质
(3)软件架构师与其它角色的关系
(4)软件架构师个人能力成熟度的培养方案
2、定义软件架构设计的视图及流程(1小时)
(1)RUP的4+1视图体系结构
(2)RM-ODP中5视图体系结构
(3)Hofmeister提出的4视图体系结构
(4)综合前三种视图体系结构自定义新4视图体系结构
(5)定义软件架构设计流程(RUP , Agile , MSF)
3、软件架构设计的工具以及管理方案(1小时)
(1)IBM Rational Software Architect V7.0
(2)Microsoft Team System Architecture 2005
(3)IBM Clear Quest管理架构文档
(4)Microsoft Team System管理架构文档
[下午]
1、软件架构设计方法综述(1小时)
(1)面向对象设计原则
(2)面向对象设计模式本质揭示
(3)面向方面设计模式(AOSD)
(4)面向服务设计模式
(5)软件架构设计思维模式(矩阵模式)
2、软件体系结构模式综述(1小时)
(1)管道和过滤器
(2)模型-视图-控制器
(3)总线模式
(4)客户-服务器
(5)分层模式
3、特定领域软件架构体验(1小时)
(1)分布式系统的架构体系(企业级的架构体系)
(2)嵌入式系统的架构体系
(3)桌面系统的架构体系
(4)基于操作系统底层的架构体系
(5)基于产品线的架构体系
第二天
[上午]
1、管理调度分析设计(1小时)
(1)内存管理调度相关模式
(2)进线程调度相关模式
(3)组件管理调度相关模式
(4)服务管理调度相关模式
2、MDA与软件工厂(1小时)
(1)MDA与UML(OCL , ASL , MOF , XMI)
(2)MDA可实现性研究
(3)软件工厂可实现性研究
(4)演示:软件工厂生产过程
3、软件架构相关的国际标准(1小时)
(1)组件相关的标准:CORBA , SCA , SDO
(2)服务相关的标准:SOAP , WSDL , UDDI , WS-*
(3)业务编排语言标准:BPEL , XLANG , …
(4)消息层相关的标准
[下午]
1、由需求相关文档完成架构元素提取(架构全局分析)(1.5小时)
(1)需求文档相关误区分析(文档标准、管理方式、追踪方式)
(2)软件架构元素分离原则
(3)软件架构元素间关系描述
(4)实战演练:提供原始企业需求文档进行分析,提交架构元素列表
2、软件架构师分配局部分析任务(1.5小时)
(1)定义软件设计师局部分析流程
(2)分解局部分析任务(WBS)
(3)实战演练:在上述任务完成以后,局部分析分解工作,提交计划文档
(4)实战演练:完成设计师的局部分析工作,提交相关UML文档
第三天
[上午]
1、依据设计师局部分析结果完成对象聚合(1小时)
(1)分离边界组件Component(或服务Service)
(2)分离业务组件Component(或服务Service)
(3)分离服务组件Component(或服务Service)
(4)实战演练:完成对象聚合设计,提交组件Component(或服务Service)列表
2、描述组件Component(或服务Service)关系(1小时)
(1)分层模式描述组件Component(或服务Service)关系
(2)总线模式描述组件Component(或服务Service)关系
(3)实战演练:完成组件Component(或服务Service)关系设计,提交UML文档
3、设计组件Component(或服务Service)接口
(1)接口设计的原则
(2)组件Component(或服务Service)接口新思维方式
(3)开源组件分析:UI Process组件设计剖析
(4)实战演练:完成服务组件设计,提交相关文档
[下午]
1、组件Component(或服务Service)管理容器设计(2小时)
(1)Portal设计
(2)业务引擎设计
(3)框架设计
(4)总线设计
(5)实战演练:企业服务总线设计,提交相关文档
2、开源资源剖析(1小时)
(1)JAVA平台:Open ESB剖析
(2).NET平台:DotnetNuke 4.X剖析
(3)单元测试框架:Junit(或Nunit)剖析
(4)工作流框架:剖析OSWorkflow
第四天
[上午]
1、软件架构质量属性分析(1.5小时)
(1)与用户相关的质量属性分析
(2)与开发相关的质量属性分析
(3)对于质量属性进行规划设计
(4)实战演练:完成需求文档中质量属性规划设计,提交相关文档
2、软件架构技术选型与硬件体系结构设计(1.5小时)
(1)软件架构技术选型,分析业界主流软件平台的优劣
(2)针对软件架构体系结构,设计相应的硬件体系结构
(3)软件架构与硬件架构相互约束规划
(4)实战演练:完成软件架构技术选型与硬件体系结构设计,提交相关文档
[下午]
1、软件架构文档撰写(1小时)
(1)软件架构文档模板设计
(2)软件架构文档编写规范
(3)软件架构文档中UML图形比例
(4)实战演练:完成软件架构文档撰写,提交一份完整架构文档。
2、软件架构评审,发布架构基线(1小时)
(1)软件架构9种评估方法
(2)软件架构评审相关的角色
(3)软件架构评审的过程
(4)配置管理人员发布软件架构基线
3、软件架构变更控制管理(1小时)
(1)软件架构文档分散管理
(2)软件架构文档可追踪实现
(3)软件架构变更控制管理流程
(4)软件架构可度量分析
(5)实战演练:使用相关工具完成架构文档管理