您的位置:首页 > 运维架构 > 网站架构

高级系统架构师

2013-06-09 10:17 274 查看
                                                                                                        高级系统架构师培训

 

一、培训要点

本课程是关于软件架构设计的高级课程,所针对的对象是资深软件系统设计人员。希望学员在已有工作经验的基础上,站在系统的高度,从什么是设计?为什么要设计?怎样进行设计?三个层面深入研究,进一步提升软件系统设计能力,课程主要思想如下:

1,设计的依据是目标,良好的架构可以根据目标形成一个有远见的设计。软件设计是一个不断变化的过程,这就需要在设计中不断发现问题并解决问题。没有解决问题的设计并不是好设计,而通过识别和分析风险,可以帮助我们发现问题,针对潜在的威胁抓住重点提出设计解决方案,从而设计出更加良好的产品。

2,软件架构设计是一个由问题驱动从整体到细部不断精化、优化并确定解决方案的过程。换句话说,每个不同层面都有架构设计问题。如何在架构设计中考虑关键质量风险要素?如何在设计中考虑影响进度的风险要素?如何从顶层架构到组件设计等不同的细节层面上,通过发现问题到解决问题形成良好的设计风格?如何通过细节层次的设计反馈发现上层设计的问题并优化系统方案?这都是在设计中需要考虑的问题。

3,在今天的企业环境下,变化就意味着胜出。随着人们对软件本质理解越来越深入,在现代软件开发思想中,人们已经不再把软件看成固态的一成不变的东西,而是把它看成一个可培育可成长的活物。变化带来了竞争优势,但需求变更又会影响到软件质量水平,这就形成了一对矛盾。如何通过架构设计平衡这对矛盾?如何“拥抱着变化而设计”?如何把业务的共性和变化性这两个非常重要的特征探寻并挖掘出来,为构建可维护、易扩展、可移植的软件寻求更好的设计策略?

4,架构师并不是一个普通的技术人员,思维空间要由纯技术转向团队和组织,要关注经验总结和团队指导。事实上只凭经验进行设计很危险,因为每一次遇到的情况都不一样。没有经过归纳总结的经验不能反映自然规律,其作为指导的价值也是要打折扣的。如何把已有的经验总结出来,形成能够指导他人的模式?如何让智力资产不断丰富并真正发挥作用?

5,模式是一个经验系统,但如果这个系统是琐碎和散乱的,那它的指导意义也是有限的。如何把模式嵌入到过程中去成为一种模式语言,为每个设计节点提供指导建议?如何通过模式语言帮助我们从整体上考虑问题?如何在系统设计中根据模式语言重新审视最初的设计直觉?如何在实践中跳出现有模式实现更完美的设计?如何通过构建模式语言拉动整个组织的设计思想向更高层次蜕变?这些都是架构师应该考虑的问题。

6,面向服务的架构是在业务易变环境下的一种IT解决方案,云计算是面向服务架构的一种延伸,它集成了多种新技术,发展极为迅速。云计算正向着提高生产率、更好的协同工作、促进信息共享以及降低资源消耗这个目标发展。那么,在这个背景下我们的设计思想会发生什么样的变化?我们如何站在服务提供者或使用者的不同角度去设计,如何利用云计算架构的思想来提升产品的综合水准。

课程将以一个完整案例贯穿始终,但案例分析仅仅是营造问题讨论背景的一个手段,在课程中请关注案例解决问题的过程,但不是生搬硬套。在本课程基础上,我们希望学员不但能掌握软件系统设计方法论,更要根据组织所处领域的不同,通过总结历史形成的经验、教训、方法、模式,通过归纳整理,形成具有本组织领域特色的系统设计方法,并最终形成对本组织有价值的智力资产。

二、培训内容

(一)软件架构设计的方法论

1)系统思考:用风险分析驱动架构设计

2)架构阶段的风险消除策略

质量风险对架构设计的影响

关键质量属性影响架构

从“可行走骨架”开始设计

3)构建阶段的风险消除策略

进度风险对架构设计的影响

如何进行软件结构的优化与重构

尽早发现软件的腐化

4)拥抱着变化而设计

面向对象分析与设计的本质

关注特征:共性和可变性分析

分析矩阵:与客户一起讨论变化

在行为分析中发现共性和变化性

对变化建模

(二)顶层架构设计的过程与模式

1)模式语言:经验积累与知识结构

设计模式起源及内涵

设计模式的表达形式

从设计过程到模式语言

模式语言的表现形式与实际应用

2)顶层架构设计问题空间

如何解决从混沌到结构的问题

如何解决分布式基础设施中的问题

如何解决事件分离和分发中的问题

如何解决接口划分中的问题

3)案例分析:产品线系统的基础架构

软件产品线工程框架

案例背景及领域分析

建立清晰的初期概念架构

确定顶层问题的设计策略

基础架构设计总结

(三)组件设计的过程与模式

1)面向对象的设计原则

2)组件设计问题空间

如何解决组件划分中的问题

如何解决并发方面的问题

如何解决同步方面的问题

如何解决对象之间的交互中的问题

如何解决适配与扩展中的问题

3)资源应用问题空间

如何解决资源管理中的问题

如何解决数据访问中的问题

4)案例分析:基础架构的细化设计

分布式环境对于组件布局的影响

领域对象的并发访问策略

资源应用的问题与对策

基础架构细化设计小结

5)案例分析:业务拓扑组件的设计

业务拓扑组件基础架构设计

业务拓扑组件的问题与对策

业务拓扑组件接口详细设计

业务拓扑组件设计总结

6)软件产品线系统的开发与组织

如何进行开发前的准备工作

如何在开发过程中进行验证与调整

如何建立合作型组织

7)软件架构分析与评价方法

(四)从面向服务的架构到云计算

1)面向服务的架构设计与实施

面向服务分析与设计的方法学

服务识别的方法与过程

接口选型考虑

2)云计算架构模型及其实施

云计算问题的缘起

云计算的三层SPI模型

云计算关键概念:拓展服务领域

3)云计算应用架构所带来的挑战

 

                                                                                                                                  中科院计算所培训中心
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: