高级系统架构师

在软件产品的开发组织中,系统架构师是软件项目的总设计师,是软件企业新产品、新技术体系的构建者,是目前软件开发中急需的高层次技术人才,为建立符合中国国情的软件开发架构设计体系,培训中心特举办“高级系统架构师”培训班,具体事宜通知如下:

一、培训对象

项目经理、系统架构师、系统分析师、高级程序员、资深开发人员。

二、学员基础

1、具有任何一种平台或嵌入式的项目设计、开发与组织的工作经验。

2、要求熟悉软件工程相关知识并有一定实践经验。

三、师资

由业界知名软件架构师亲自授课:

谢老师   培训中心副校长、教授,大型电子对抗项目首席系统架构师

刘老师   国内某著名网站技术总监

四、培训要点

    什么是设计呢?设计是一种对话,它不仅仅是与利益相关方的对话,也是自己与自己的对话。对于设计人员来讲,本身的工作背景只是一个点,如果思考方式仅仅依靠这个点,慢慢的思想就被禁锢住了,这会严重约束我们的发展。我们必须撕破这个束缚,站在更高的角度看软件,才能寻求更大的发展空间。

    软件设计是一个思维活动,需要从什么是设计?为什么要设计?怎样进行设计?三个层面系统思考与研究,才可能进一步提升软件设计能力。世界上没有神奇的设计,优秀的设计来自于对每个问题的细致分析,来自于对每一个问题和解决方案的仔细权衡,也来自于我们的经验和眼光。设计的质量是由设计人员的质量决定的,深厚的积淀能够帮助我们应对软件开发的挑战,并且指导我们应对这些挑战。

    那么优秀的设计师是怎样成长起来的?任何人的成长都离不开实践,在实践中体会,在实践中解决问题,在实践中增长才干,这就形成了深厚的积淀。但是光有积淀是不够的,还需要把实践中的问题进行梳理,通过分析发现其中的规律,把它上升到理论的高度,并用理论来指导实践。正是在这种层层的循环中,才能使我们上升到前所未有的高度。

    课程将从设计方法论开始引入思考框架,然后直接通过案例分析进入设计过程,不断地提出问题并解决问题,使学员逐步的领悟:如何进行系统思考?如何系统化考虑各种关系?如何发现问题并解决问题?在这个经验的基础上,进一步寻找规律,从过程和模式两个方面进行归纳总结,使经验上升到理性的高度,形成能够指导未来设计的设计模式与模式语言。在此基础上,课程将引导学员再一次回到实践,以一个“日超过亿万调用的互联网中间层改造工程”案例为背景,重点讨论在这个背景下遇到的问题以及面对的挑战,紧扣“并发”、“同步”、“缓存”、“表”这四个关键问题展开讨论,完成认识事物螺旋上升法则的一个完整循环。

    从这个意义上说,本课程与其说是告诉人们怎么设计,还不如说是描述了一个向更高层次蜕变的故事,这个故事中蕴含的思想,可能比仅仅告诉人们怎么去做更有意义。在本课程基础上,我们希望学员不但能掌握软件系统设计方法论,更要根据组织所处领域的不同,通过总结历史形成的经验、教训、方法、模式,通过归纳整理,形成具有本组织领域特色的系统设计方法,并最终形成对本组织有价值的智力资产。

五、培训内容

第一讲 软件架构设计的方法论 

    1,系统思考:软件架构设计方法学

    2,用风险消除策略驱动架构设计

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

         可靠性问题的架构解决方案

         可集成性问题的架构解决方案

         性能问题的架构解决方案

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

    3,拥抱着变化而设计

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

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

         对变化建模:发现变化的规律

    4,面向对象的设计原则

第二讲 从实践到理论:顶层设计的案例

    1,实践:从案例分析入手研究问题

         案例背景及领域分析

         确定产品设计的目标与策略

    2,建立清晰的初期概念架构

         从混沌到结构:职责的层次分解

         分布式问题的设计考虑

         分离用户界面的设计考虑

    3,基础系统的细化设计

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

         领域对象的并发访问考虑

         日志处理的并发性考虑

第三讲 从实践到理论:领域对象设计的案例

    1,关注细节:业务拓扑组件设计

         支持软件模型的重新组织

         提高访问领域对象的性能

         支持重新配置行为考虑

    2,组件设计的问题与对策 

         实现全局拓扑管理功能

         支持业务流的后期扩展

         维护内存中的存储单元数据

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

第四讲 从理论到实践:设计模式与模式语言 

    1,如何把经验归纳总结成理论 

         从过程的角度进行归纳总结

         从模式的角度进行归纳总结

         把模式嵌入过程:模式语言

    2,顶层架构设计过程域

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

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

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

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

    3,组件设计过程域

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

         如何解决并发方面的问题 

         如何解决同步方面的问题 

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

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

    4,资源应用过程域    

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

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

    5,问题与扩展:面向服务的架构设计与实施 

第五讲 理论到实践:日超过亿次调用的互联网中间层改造工程 

    1,案例背景:遇到的问题以及面对的挑战

    2,项目的初期决策以及关注点

         对IT架构和架构师的职责定义

         IT技术的四个领域及构建知识体系

         IT架构都必定拥有的三个架构组成部分

    3,并发设计

         多核处理器并发所面临的挑战

         NUMA、SMP与CMP架构的特点

         多核情况下CPU缓存所带来的问题:一致性和性能问题

         并发设计解决方案

    4,阻塞同步与自旋

         自旋锁的概念,使用条件

         偏向锁、可重入锁和读写锁

         粗粒度和细粒度同步,乐观同步、非阻塞同步

         复合逻辑的并发问题

         上下文切换的影响,以及如何降低上下文切换

         同步问题解决方案

    5,缓存设计

         缓存的常见算法:拉链法和开放地址散列,内外缓存

         缓存部署分类:单机混合部署、多机部署

         通过命中率、缓存穿透后代价等因素来评价缓存

         脏数据和时间不同步所带来的问题。

         CPU缓存设计的启示,使用多级缓存,冷热数据分离

         缓存服务的解决方案

    6,合理的表结构设计

        互联网中的反范式

        混搭数据库类型的问题和好处

        空间与时间互相交换,散列

    7,课程总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值