课程简介
一、培训对象
项目经理、系统架构师、系统分析师、高级程序员、资深开发人员。
二、学员基础
1、具有任何一种平台或嵌入式的项目设计、开发与组织的工作经验。
2、要求熟悉软件工程相关知识并有一定实践经验。
3、系统地学习过OOA、OOD和OOP知识的人员。
三、师资
由业界知名软件架构师亲自授课:
谢老师 培训中心副校长、教授,大型电子对抗项目首 席系统架构师
四、培训要点
什么是设计呢?设计是一种对话,它不仅仅是与利益相关方的对话,也是自己与自己的对话。对于设计人员来说,本身的工作背景只是一个点,如果思考方式仅仅依靠这个点,慢慢的思想就被禁锢住了,这会严重约束我们的发展。我们必须撕破这个束缚,站在更高的角度看软件,这才能寻求更大的发展空间,本课程主要思想如下:
1,软件设计是一个思维活动,需要站在系统的高度,从什么是设计?为什么要设计?怎样进行设计?三个层面深入研究,才可能进一步提升软件设计能力,提升软件项目开发水平。世界上没有神奇的设计,优秀的设计来自于对每个问题的细致分析,来自于对每一个问题和解决方案的仔细权衡,也来自于我们的经验和眼光。设计的质量是由设计人员的质量决定的,深厚的积淀能够帮助我们应对软件开发的主要挑战,并且指导我们按照什么方法去应对这些挑战。
2,在今天的企业环境下,变化意味着胜出。在现代软件开发思想中,人们已经不再把软件看成固态的一成不变的东西,而是把它看成一个可培育可成长的活物,设计的理念变成了“拥抱着变化而设计”。那么我们的设计思维如何为这种理念提供更好的支持?如何把业务的共性和变化性这两个重要特征探寻并挖掘出来,为构建可维护、易扩展、可移植的软件寻求更好的帮助呢?
3,优秀的设计师是怎样成长起来的?任何人的成长都离不开实践,在实践中体会,在实践中解决问题,在实践中增长才干,这就形成了深厚的积淀。但是光有积淀是不够的,还需要把实践中的问题进行梳理,通过深刻的分析,发现其中的规律,上升到理论的高度,并用理论来指导实践。正是在这种一层又一层的循环中,才能使我们上升到前 所未有的高度。
4,创新是企业的生命。为了应对新一代软件的挑战,软件研发方法发生了引人注目的变化,包括:软件质量以服务质量形式展现;希望更多的用户深人参与到软件全生命周期;用户体验得到空 前重视。架构师应该如何迎接这些挑战?如何通过对软件架构的评价、分析帮助我们发现架构的问题,寻找架构改进的方向和重点,挣脱原有思维的束缚从而创造出伟大的产品?
5,课程将以设计方法论引入思考的框架,然后直接通过案例分析进入设计过程,不断地提出问题并解决问题,使学员逐步的领悟:如何进行系统思考?如何系统化考虑各种关系?如何发现问题并提出解决方案?在这个基础之上,进一步归纳整理寻找规律,上升到理性的高度,完成人们认识事物螺旋上升法则的循环。
从这个意义上说,本课程与其说是告诉人们怎么设计,还不如说是描述了一个向更高层次蜕变的故事,这个故事中蕴含的思想,可能比仅仅告诉人们怎么去做更有意义。在课程中请关注案例解决问题的过程,但不是生搬硬套。
在本课程基础上,我们希望学员不但能掌握软件系统设计方法论,更要根据组织所处领域的不同,通过总结历史形成的经验、教训、方法、模式,通过归纳整理,形成具有本组织领域特色的系统设计方法,并最终形成对本组织有价值的智力资产。
五、培训内容
第 一讲 系统思考:软件架构设计的方法论
1,软件架构设计的定义与问题
软件系统架构与架构师
软件架构设计方法学基础
设计之初首先需要弄清楚为什么设计
2,解决方案:风险分析与架构设计
项目不同阶段的风险关注点
质量风险对架构设计的影响
可靠性问题的架构解决方案
可集成性问题的架构解决方案
3,重构:不要让技术债务变得庞大
为什么要进行重构与怎样进行重构
对结构进行优化的基本原则
4,关注变化:拥抱着变化而设计
让变化成为一个重要的设计要素
关注特征:共性和可变性分析
分析矩阵:与客户一起讨论变化
在行为分析中发现共性和变化性
对变化建模
软件复用与框架技术
5,业务敏捷:SOA的设计与实施
业务环境的易变性以及相应的架构策略
面向服务分析与设计的方法学
服务识别过程
SOA设计中接口选型的考虑
第二讲 案例分析:分布式系统架构设计与优化
1,案例背景及邻域分析
领域分析与建模
产品设计的目标与策略
2,基础系统的顶层设计
根据领域分析对系统进行划分
分布式问题的设计考虑
分离用户界面的设计考虑
解决性能问题的设计考虑
领域对象的并发访问考虑
日志处理的并发性考虑
3,业务拓扑领域对象设计
支持软件模型的重新组织
提高访问领域对象的性能
提供组织标准列表
支持重新配置行为考虑
4,业务拓扑领域对象的新问题
实现全局拓扑管理功能
业务拓扑的遍历考虑
支持业务流扩展
业务拓扑的配置方案
业务拓扑领域对象接口详细设计
5,资源应用的考虑与设计
关系型数据库应用考虑
合理的设计缓存
维护内存中的存储单元数据
第三讲 理论归纳:架构设计的过程与模式
1,如何把经验归纳总结成理论
从过程的角度进行归纳总结
从模式的角度进行归纳总结
把模式嵌入过程:模式语言
模式语言的表现形式
2,顶层架构设计过程域
如何解决从混沌到结构的问题
如何解决分布式基础设施中的问题
如何解决事件分离和分发中的问题
如何解决接口划分中的问题
3,领域对象设计过程域
如何解决对象划分中的问题
如何解决并发方面的问题
如何解决同步方面的问题
如何解决对象之间的交互中的问题
如何解决适配与扩展中的问题
4,资源应用过程域
如何解决资源管理中的问题
如何解决数据库访问中的问题
第四讲 凝聚智慧:软件架构的评价、分析与改进
1,产品评估的新问题及其方法改进
2,站在技术的角度评价产品
软件架构的质量评估
ATAM的参与人员
ATAM的结果
ATAM的阶段
3,站在用户的角度评价产品
以用户体验为核心进行评估
用户体验评估的策划与实施
4,用户使用效果的测量与分析
对任务时间进行统计分析
对任务成功率进行统计分析
对错误进行统计分析
对易学性进行统计分析
用户期望与效果的比较分析
分析度量结果决定产品改进方向
5,结束语:执著的追求 卓 越
六、培训目标
1、掌握架构设计的核心思想与方法,并能够在软件架构设计的质量优化中灵活应用。
2、理解影响软件架构设计质量的问题、对策、解决方案与整体应对策略。
3、能够发挥创造性思维去改进已有的过程与设计方案,从而达到高质量与低成本的目的。
七、培训时间、地点
时间:2015年4月22日-4月24日 地点:北京
2015年5月13日-5月15日 地点:上海
八、证 书
培训结束,颁发中科院计算所职业培训中心“高级系统架构师”结业证书。
九、费 用
培训费:5800元/人(含教材、证书、午餐等)。食宿协助安排,费用自理。