首页>全部课程>软件架构设计师特训营
软件架构设计师特训营
软件架构设计师特训营
报名课程可获赠0.0元助学金,助学金说明 >>
直播面授
课程图标 课程代码 NX0109

课程背景:

系统架构师是软件项目的总设计师,是软件企业新产品、新技术体系的构建者,是目前软件项目开发中急需的高层次技术人才。为此在总结IBM与Microsoft及大型软件开发商的开发经验的基础上,针对中国的实际情况,**开发了本课程。

该课程以案例分析与研讨为基础,独立于具体的软件开发平台,注重解决软件架构设计中的实际问题,分析国际流行的软件架构方案,并辅以相关的理论学习,结构完整、重点突出、形式多样,能够很好地满足我国软件企业培养高级软件架构人才的实际需要。

本次培训由任职于知名IT企业的资深专家全程组织答疑,为大家解答实际工作中遇到的难题!同时现场将与学员分享成功的架构经验和最佳实践!


课程实施:

实践经验分享

大型实例案例分析

深入探讨

系统性理论知识梳理


课程特色:

本课程方案注重课程的实战过程,去掉了一定量的理论,把实战的比重增大到总课时数的60%。其余40%为理论以及指导性的流程


课程收获:

帮助IT企业解决获得可重用的架构设计的完整方案

揭示大型软件项目的架构设计过程

帮助架构师掌握架构设计方法与架构设计的模式

帮助架构师掌握软件架构设计的流程,减少架构设计缺陷的产生

帮助IT掌握领域分析与建模的正确方法

帮助IT企业制定软件架构设计的规范

帮助甲方解决软件架构评估问题


课程大纲:

软件架构设计开篇-大型应用系统的架构设计   

  • 软件架构与企业信息化架构

  • 解决项目风险的关键-架构基线

  • 大系统成败的关键因素

  • 软件开发的完整生命周期中,架构设计参与哪些周期

  • 敏捷开发中的架构设计与瀑布式开发中的架构设计异同

  • 架构定义系统整体结构

  • 架构定义系统的交互行为

  • 架构师团队与其他团队的沟通与写作

  • 架构师团队的主要职责与工作边界界定

  • 所有系统都存在架构-哪些系统对架构的要求更高

  • 架构的边界定义-如何界定架构的范围

  • 11个软件架构设计关注的考量点

  • 软件架构设计的核心

  • 软件架构 = 需求+架构机制+广义功能

  • 企业如何在时间、质量及成本间进行平衡

  • 架构是否都需要大量的成本, 其价值意义

  • 如何通过成型的架构选型降低架构的成本

  • 如何在企业内部推动架构的执行过程

  • 软件架构设计的六个阶段

典型案例分析:分析一个千万级代码、全球多中心协同开发的大型商业化软件的设计, 从大型架构的高层分割,API装配图,主体风格设计,系统模块设计图,分层设计图, 详细设计图,数据模型设计图, 底层核心架构设计,其中包括大型系统中软件架构设计的大部分疑难点的解决方案

架构师职业生涯规划、探讨软件架构师应具备的素质与能力-架构师团队的培养与再造   

  • 软件架构师应具有的技术素质

  • 软件架构师应具有的管理素质

  • 软件架构师与其它角色的关系

  • 如何成长为一名优秀的架构师

  • 团队架构师的培养

  • 架构师团队的培养与再造过程

  • 架构师个人职业规划与技能成长

  • 软件架构师个人能力成熟度的培养方案

深入探讨:通过讲师个人的架构师成长过程, 探讨如何成为一名架构师, 如何从编码走向设计走向架构, 如何设计架构师的职业规划, 如何更加深入的掌握架构设计, 如何分享架构体系知识, 如何带领团队完成架构。

业务架构设计阶段

  • 架构涉及业务的基本组织说明

  • 软件的目标体系设计

  • 业务流程确认

  • 架构设计中引入功能性需求分析

  • Business Road Map对架构设计的影响

  • 目标体系对于架构的设计影响

  • 13个非功能性属性的架构设计目标(解决如“高可靠性系统”该非功能性属性如何落地问题)

  • 从需求到架构

典型案例分析:通过大量大型项目的实例文档进行说明,每个环节的业务架构设计粒度

从业务架构设计过渡到软件架构设计-从需求到设计(解决需求与架构间的鸿沟)

这里从有效的业务架构过渡到逻辑架构的设计,完成功能分解,协助下个阶段的逻辑划分

  • 需求与设计的映射

  • 如何构建设计阶段的需求类型

  • 系统架构的非功能性需求分析

  • 从业务架构到模块划分, 模块的职责分配与有效的业务到系统整体结构的设计

  • 如何获得可维护性、可扩展性、可靠性、健壮性等非功能性属性

  • 系统架构的可靠性设计策略

  • 系统架构的可修改性设计策略

  • 系统架构的性能设计策略

  • 从需求到设计的过渡及转变

  • 从特定的需求输出转化到软件的架构设计

典型案例分析:结合项目实例,讲解需求到设计的转化过程,针对设计各个层次的转化,从需求真正过渡到架构,

逻辑架构设计阶段-架构的功能性需求的设计方法

系统架构的高层分割

这个部分主要是系统的高层分割设计,完成系统的大结构划分,系统的高层分割,其中包括子系统设计,模块划分,分层设计,分区设计,及

  • 如何开始软件的逻辑架构设计

  • 划分子系统,确定子系统职责及边界

  • 划分子系统的时机

  • 定义子系统通信契约,明确子系统间通信策略

  • 划分模块,模块业务职责分配

  • 模块接口设计的6个实践原则

  • 明确关键类,说明设计模式

  • 分层与建构

  • 定义抽象层

  • 分层的7个最佳实践原则(如:分层越多越好吗?解决如何分层的落地问题)

  • 数据架构设计初步

  • 软件架构模式和架构师经验的引入

  • 进行迭代的过程性架构设计,完善架构

  • 综合初步设计,确定高层分割(分层 分服务 分区 通信)

典型案例分析:通过一个大型500企业的项目实例,讲解如何完成大系统的结构划分,完成大粒度的划分与设计

架构的机制决策-非功能性需求的设计方法   

系统架构的机制决策- 架构模式的综述

  • 架构机制的实践分析过程

  • 确认架构的分析机制

  • 系统架构机制决策的实践原则

  • 12种通用的分析机制解决方案

  • 可靠性系统架构的设计决策

  • 健壮性系统架构的设计决策

  • 可扩展性系统架构的设计决策

  • 高性能系统架构的设计决策

  • 安全性系统架构的设计决策

  • 易用性系统架构的设计决策

  • 综述架构模式-每种模式解决的非功能性需求

  • 典型的架构设计模式分析,及其综合应用

典型案例分析:结合项目实例,讲解如何系统的通用问题, 以及针对这些通用问题的通用解决方案, 及其架构设计机制,以解决系统架构设计中60%以上的设计难题

大型分高并发与大数据系统的分布式的架构设计-案例研讨形式讲解

这个部分主要讲解如何构建多服务器大型高并发的分布式系统的架构设计,针对大型分布式系统的问题设计分布式系统的架构解决方案。

  • 分布式系统的系统场景

  • 高并发系统分布式的架构场景

  • 高并发的指标分析

  • 高吞吐的指标分析

  • 高并发的分布式解决方案的核心设计思想

  • 从一个百万采集点的高并发实时数据采集系统的分布式设计谈起

  • 分布式高并发系统要解决的核心问题汇总

  • 动态架构(Dynamic Infrastructure)

  • 如何设计部署,使服务器能进行动态扩展,提高系统分区容忍性,解决高并发问题

  • SOA在分布式架构设计中的核心设计思想,提高分布式系统的可扩展性,提高系统高效访问机制

  • 大型分布式并发系统的负载设计, 哪个服务器应该承担更多

  • 服务器分区的划分-核心分区以及为何分区

  • 分布式并发系统的交互协议的设计

  • 分布式系统中各个服务器的数据共享问题解决方案

  • 大型分布式系统的可靠性/高可用性设计-如何可靠, 系统的0故障设计,系统进行自修复

  • 大型分布式系统的健壮性设计-如何健壮,系统的自修复过程如何设计

  • 大型分布式系统的监控管理设计

  • 基于大型分布式系统云计算演变过程- 为什么大型的分布式应用最终将演变到云计算的应用中

经验分享:如何实现.NET及J2EE应用系统大量并发支付的稳定性问题的相关技术;

典型案例分析:结合一个大型500强系统的实例案例进行串讲,将整体串讲到分布式系统设计过程中的几大核心问题, 我们设计过程中遇到的问题及通用的架构设计解决方案

展现层与业务逻辑层代码分离架构设计   

这个部分详细指导完成展现层与业务逻辑层代码分离的软件架构设计, 自主完成优于Struts的架构设计

  • 展现层与业务逻辑层代码分离的核心设计思想

  • MVC的错误认知(如:Action中的业务逻辑如何管理?)

  • MVC的实现途径

  • MVC的扩展实现, 大型系统的MVC实现特性已超过Struts的实现更加有效

  • C/S大型系统的MVC与B/S大型系统的MVC的区别

  • 展现层与业务逻辑层代码分离架构设计实现

典型案例分析:分析一个千万级代码、全球多中心协同开发的大型商业化软件,在架构设计中的展现层与业务逻辑层代码分离架构设计。掌握展现层与业务逻辑层代码分离架构设计的设计技巧,提升展现层与业务逻辑层的设计与实现分离

业务逻辑层设计

这个部分进行展现层及业务逻辑层的业务服务设计,有效将业务拆分到展现层及业务逻辑层中进行组织

  • 服务层

  • 基于服务的业务逻辑层设计

  • 业务服务的业务功能分配与重用

  • 抽象业务服务,以服务形式提供

  • 服务职责分配的3个实践原则

  • 服务接口的设计

  • 领域模型建模,如何设计出有价值的领域模型实体对象

  • 从展现层到业务逻辑层的调用如何进行

  • 如何从展现层传递信息到业务逻辑层

典型案例分析:结合项目实例,讲解业务逻辑层的设计原则及实践经验分享

高可扩展性及高灵活性软件架构设计-设计可适应于软件需求变更的架构设计   

这个部分详细指导完成扩展架构的设计, 实现灵活、扩展的软件架构设计的实践能力, 解决研发过程中需求变更所产生的架构影响

  • 业务变更与扩展

  • 业务服务框架如何动态支撑业务变更与扩展

  • 大粒度的业务扩展如何支持

  • 小粒度的业务扩展如何支持

  • 抽象的业务组件设计原则

  • 扩展性软件架构的核心设计

典型案例分析:

分析一个千万级代码、全球多中心协同开发的大型商业化软件,在架构设计中的扩展性软件架构设计。掌握扩展性软件架构设计设计的设计技巧,提升业务模块的隔离性,并发开发,实现业务扩展对已有代码无修改的目标

领域模型建模Domain Model  

  • 从业务模型分解领域模型

  • 领域建模

  • 领域本身的分析

  • 现实世界中对象的可视化表示

  • 抽象业务模型

  • 对象-关系行为模式

  • 领域对象的实践设计原则

  • 领域对象关联设计的实践设计原则

典型案例分析:结合一个千万级代码、全球多中心协同开发的大型商业化软件,分析其领域建模的过程及步骤,及成型的领域模型定义,实践领域建模的设计原则

松耦合软件架构设计 

  • 松耦合架构的核心设计思想

  • 把需求变化的影响面控制在很小的范围内如何做到,使业务变更所带来的影响最小

  • 热拔插,热部署的软件架构核心设计思想

  • 实现可拔插业务模块的设计目的

典型案例分析:分析一个千万级代码、全球多中心协同开发的大型商业化软件,在架构设计中的松耦合软件架构设计。掌握松耦合软件架构设计设计的设计技巧,提升业务的可扩展性

系统的数据总线架构设计  

  • 统一的数据总线管理机制

  • 极端高性能的数据总线设计

典型案例分析:5000/s次并发请求的数据架构如何设计

  • 领域模型在数据总线中的应用

  • 对象-关系结构映射模式

  • 数据层对整体架构设计的重要意义

  • 数据总线对业务层的支撑

  • 业务层到数据总线的访问

  • 数据总线的架构设计

典型案例分析:演示一个千万级代码、多中心协同开发的大型商业化软件,在架构设计中的数据总线及持久数据层的设计。掌握数据总线及持久数据层架构设计的设计技巧,建立统一的数据总线

海量数据处理系统的架构设计   

这个部分主要讲解海量数据处理的架构设计,针对海量数据的问题设计海量数据的架构解决方案。

  • 海量数据处理的系统场景

  • 海量数据处理的架构汇总

  • 8种海量数据处理的架构设计比较

  • 分布式系统架构的海量数据处理设计

  • 海量数据处理设计

典型案例分析:结合一个500强系统的实例案例进行分析,详细分析海量数据处理的架构设计

 NoSQL在大数据系统架构设计中的实践应用 

  • NoSQL综述解决的实际问题

  • 关系数据库暴露的问题

  • High performance并发要求

  • Huge Storage的存取

  • High Scalability的服务器分布要求

  • High Availability的服务器健壮要求

  • 关系型数据库失效的场景

  • NoSQL与关系型数据库设计理念比较

  • NoSQL设计模型分析

  • K-V模型的Column设计

  • Document模型的B Tree设计

  • Object模型的基于Object数据访问设计

  • NoSQL实例分析

  • Apache Hbase架构解析

  • Facebook Cassandra架构解析

  • Google BigTable架构解析

  • 综合应用NoSQL的解决方案处理复杂环境数据高负载,高

典型案例分析:结合一个500强实时数据采集系统的实例案例进行分析,详细分析NoSQL的综合开源架构应用多种NoSQL的产品集合应用

高并发软件架构设计

这个部分主要讲解高并发系统的架构设计,通过多个实例案例解析高并发系统的架构设计

  • 高并发系统的架构场景

  • 架构设计如何解决高并发系统的架构设计

  • 分布式系统架构的高并发核心设计实践

  • 如何通过缓存的解决方案解决高并发系统的架构设计

  • 分布式部署系统的架构设计

典型案例分析:结合一个500强系统的实例案例实例,分析高并发架构设计的实际运用

软件架构文档撰写

  • 软件架构文档模板设计

  • 软件架构文档编写规范

  • 软件架构文档中UML图形比例

实战演练:完成软件架构文档撰写,提交一份完整架构文档

软件架构评估

  • 初步实施规划

  • 架构评估的4大要点

  • 评估优先顺序

  • 架构的性能优化

  • 软件架构9种评估方法

  • 软件架构评审相关的角色

  • 软件架构评审的过程

  • 配置管理人员发布软件架构基线

  • 架构的测试,如何有效通过测试团队验证架构的有效性

  • 架构的使用,如何提升团队对架构的使用, 降低开发成本

典型案例分析:结合项目实例分析,架构评估的实践原则

软件架构变更控制管理 

  • 软件架构文档分散管理

  • 软件架构文档可追踪实现

  • 软件架构变更控制管理流程

  • 软件架构可度量分析

大中型软件架构设计全过程的总结与贯串

  • 架构设计的预准备

  • 软件架构设计的完整六个阶段

  • 软件架构的成熟框架

实战:分析一个大型500强系统的架构设计

某大型500项目架构设计实例咨询建议

针对以下5个方面综合给出架构设计建议:

1、大数据并发方面的解决方案及其建议;
2、解决大量并发访问,目前流行的技术及应用;

3、解决大数据系统下的数据体系架构设计
4、.大量并发及数据分析系统的稳定性问题的相关技术;
5、 架构师团队的成长与培养