高级系统架构师训练(北京,11月10-11日)
【举办单位】北京曼顿培训网
【咨询电话】4006820825 010-56133998 13810210257
【培训日期】2022年11月10-11日
【培训地点】北京、线上
【培训对象】项目经理、系统架构师、系统分析师、高级程序员、资深开发人员。
【课程背景】
在软件产品的开发组织中,系统架构师是软件项目的总设计师,是软件企业新产品、新技术体系的指导者和构建者,是目前软件开发中急需的高层次技术人才,为建立符合中国国情的软件开发架构设计体系,特举办“高级系统架构师”培训班
【学员基础】
1、具有任何一种平台或嵌入式的项目设计、开发与组织的工作经验。
2、要求熟悉软件工程相关知识并有一定实践经验。
【培训要点】
本课程是关于软件架构设计的高级课程,所针对的对象是资深软件系统设计人员。在课程中,我们并不准备详细讨论某些具体的技术手段,而希望学员在已有工作经验的基础上,站在系统的高度,从什么是设计?为什么要设计?怎样进行设计?三个层面深入研究,进一步提升软件系统设计能力,提升软件项目开发水平。课程主要思想如下:
1,任何设计的依据都是目标,良好的架构可以根据目标形成一个有远见的设计。如果没有架构支撑,项目很可能会发展到一个无法预测的方向。而为了正确的设计就需要有一整套思想、方法和原则来支撑,如果思想是匮乏的,设计也就无从谈起了。
2,问题在于,这些思想、方法和原则是从哪里来的?任何人认识事物都离不开实践,在实践中解决问题、增长才干、形成积淀。但是光有积淀是不够的,还需要把实践中的问题进行梳理,通过分析,发现规律,上升到理论的高度,并用理论来指导实践。
3,软件架构设计是由风险分析驱动从整体到细部不断精化、优化并确定解决方案的过程。我们如何从顶层架构到部件设计等不同的细节层面上,通过发现问题到解决问题并形成良好的设计风格?这些不同层面的设计需要考虑哪些问题?如何把这些方法归纳出来成为指导团队的知识系统?如何通过理性思维把目标、人、技术三者统一起来?这些都是需要我们解决的问题。
4,本课程的设计摒弃了泛泛的理论阐述,而是由案例驱动的。对每个问题的阐述,首先描述一个案例场景,然后通过案例分析得到的感悟,进而归纳出一套方法论。从而在一层又一层的螺旋中,完成人们认识事物的上升循环。从某种意义上说,这种能力提升的方法论本身,要比仅仅记住结论重要得多。
希望学员通过课程不但能掌握现代软件系统设计方法论,更要根据组织所处领域的不同,通过总结历史形成的经验、教训、方法、模式,经过归纳整理,形成具有本领域特色的系统设计方法,并最终形成对组织有价值的智力资产。
【培训目标】
1、掌握现代软件架构设计的核心思想与方法,并能够在设计质量优化中灵活应用。
2、理解影响软件架构设计质量的问题、对策、解决方案与整体应对策略。
3、能够发挥创造性思维去改进已有的过程与设计方案,以应对技术发展的新需要。
【课程大纲】
第一天 上午 第一讲 系统思考:软件架构设计的方法论
1,设计要素与设计风格
■软件架构与架构师
■学会系统思考
■什么是设计与怎样设计
■质量约束决定了架构风格
■软件架构的设计过程
2,案例分析:基于高可靠性的架构设计
■可靠性的定义
■解决可靠性问题的基本方法
■四冗余度架构设计
3,案例分析:分布式计算的架构设计
■分布式计算的需求
■分布式文件系统架构
■分布式计算的技术架构
第一天 下午 第二讲 风险驱动的架构设计方法
1,应对风险的解决方案
■一个有启发性的案例
■从案例所获得的启示
2,需求变更:拥抱着变化而设计
■变化是一个重要的设计要素
■关注特征:共性和可变性分析
■特征分析与架构设计
3,变化环境中的结构优化原则
■单一职责原则(SRP)
■开放/封闭原则(OCP)
■依赖倒置原则(DIP)
■接口隔离原则(ISP)
4,包的设计与重构原则
■包的内聚性原则
■包的耦合性原则
■包的稳定依赖原则
第三讲 案例分析:分布式系统研发决策
1,产品的约束、愿景与谋划
■案例背景与领域分析
■确定关键质量指标
■方向:愿景、目标、路线图
2,整体的架构思想
■核心框架的架构思想
■系统的骨架化
■子系统架构规则
3,问题、对策与解决方案
■团队组织
■开源阶段研发制度
■基于用户的评价系统
第二天 上午 第四讲 案例分析:分布式系统顶层架构设计
1,基础框架的顶层设计
■顶层概念性设计与构思
■分布式问题的设计考虑
2,顶层设计的新问题
■分离表现层的设计考虑
■解决业务处理的性能问题
■领域对象的并发访问考虑
■日志处理的并发性考虑
■顶层架构设计的设计树
第五讲 案例分析:业务拓扑领域对象设计
1,领域对象的基本设计
■支持软件模型的重新组织
■提高访问领域对象的性能
■支持重新配置行为考虑
2,领域对象设计的新问题
■实现全局拓扑管理功能
■业务拓扑的遍历考虑
■支持业务流扩展
■业务拓扑的配置方案
3,资源应用的考虑与设计
■关于数据访问的考虑
■合理的设计缓存
■业务拓扑领域对象接口详细设计
■领域对象设计的设计树
第二天 下午 第六讲 总结归纳:过程模型与设计模式
1,理性思维与总结归纳
■从过程的角度归纳总结
■从模式的角度归纳总结
■把设计模式嵌入过程
2,顶层架构设计过程域