求知 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
 
 
 
全部课程 | 技术学院 | 管理学院 | 嵌入式学院 | 在线学院  
成功案例   品质保证  电话 English
追随技术信仰

随时听讲座
每天看新闻
 
   
成功案例
某核电企 软件设计重构与代码
某集成电 多核体系的软件仿真
某电力能 设计模式原理及应用
南方航空 软件设计方法与实践
某跨国公 软件设计原理与实
爱立信( 软件设计
Moto 设计模式

 

高质量架构设计案例分析和最佳实践         
 
授课讲师: John,现任某企业高级系统架构师,负责面向全国范围的大型系统系统架构设计
时间地点: 上海、北京、 深圳根据报名开班
课程费用: 5700元/人,详见 公开课学习手册
企业内训: 可以根据企业需求,定制内训,详见 内训学习手册
 
课程介绍:

随着网络与信息技术的高速发展,软件研发逐渐朝着大规模、高复杂度的大型软件系统发展。软件系统逐渐成为全行业、全系统、全社会,乃至整个国家的信息管理核心。在这样的背景下,如何从全局的角度思考软件系统方方面面的问题,提前识别软件项目的技术风险点,并有针对性地制订技术方案,成为大型软件系统至关重要的设计内容,软件架构设计的意义与价值就在于此。

本课程将系统地讲述高质量的软件架构该如何设计。首先,它将从宏观的角度探讨了几个与架构相关的、让人困惑的问题:什么是架构设计?架构设计应具备的素质与思维方式?什么是架构师?

接着,本课程运用5视图的方法,逐一讲述了架构设计应当思考的5个方面的问题:从需求的角度、运用用例模型与领域模型进行逻辑架构的分析与设计;像一个乐队指挥一样进行分层结构、技术选型、模块划分等开发架构的设计;运用数据持久化的方式设计数据架构;运用“属性->场景->决策”的过程进行运行架构的设计;从部署、网络、性能的角度进行物理架构的设计。运用5视图法可以避免架构设计时遗漏关键风险点。

在此基础上,讲解高质量架构设计的关键:恰如其分的架构设计,以及什么是风险驱动设计。

课程的最后,以专题的形式讲解架构设计中几个关键属性的设计:大并发高性能架构设计、高可靠架构设计、可维护易变更架构设计。

 
培训目标:
  • 剖析什么是软件架构设计
  • 讲解系统架构师应具备的素质和要求
  • 介绍架构设计5视图法
  • 讲解架构设计的逻辑架构
  • 讲解架构设计的开发架构
  • 讲解架构设计的数据架构
  • 讲解架构设计的运行架构
  • 讲解架构设计的物理架构
  • 讲解如何进行恰如其分的架构设计
  • 剖析架构设计常见的误区
  • 动手练习架构设计
  • 大并发与高性能的架构设计:前期分析过程
  • 大并发高性能架构设计:相关技术与设计过程
  • 大并发与高性能架构设计:方案验证
  • 高可靠架构设计
  • 基于云端的架构设计
  • 大数据
 
培训对象:软件架构师,系统架构师
学员基础:具有一定的架构设计和实施经验
授课方式: 小班授课 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
培训内容: 3天
剖析什么是软件架构设计 讲解我们为什么需要架构设计
  1. 讲解软件开发的演变过程
  2. 揭示架构设计的意义
软件架构是从宏观上说明一套软件系统的组成与特性
  1. 软件可以提供的功能
  2. 软件的代码层次结构
  3. 软件的部署与网络结构
  4. 软件的数据结构
  5. 软件的性能特征
软件架构设计是一系列有层次的决策
  1. 功能与展现的决策
  2. 技术架构的决策
  3. 自主研发还是合作
  4. 商业软件还是开源软件
讲解系统架构师应具备的素质和要求 什么是架构师
  1. 架构师是介于需求与研发的那个人
  2. 架构师是能够统领全局的那个人
  3. 架构师能够将需求转换为技术
  4. 架构师能够为软件研发提供指导
  5. 架构师需要全面思考软件系统方方面面的问题
  6. 架构师能够攻关和搞定重要技术难题
架构师应具备的思维方式
  1. 全局思维
  2. 战略思维
  3. 前瞻思维
  4. 抽象思维
  5. 逆向思维
架构师应具备的素质
  1. 熟练的沟通能力
  2. 丰富的想象与创造能力
  3. 权衡利弊取舍的能力
  4. 有广阔的知识与超强的学习能力
  5. 全方位思考分析的能力
架构师分类
介绍架构设计5视图法

5视图法的概念
5视图法的意义
5视图法的步骤

讲解架构设计的逻辑架构 通过案例讲解逻辑架构的设计
案例:一个绩效考核系统的逻辑架构设计过程
  1. 逻辑架构的概念与作用
  2. 需求分析与用例模型设计
  3. 流程分析与行动图
  4. 领域模型分析与原文分析法
  5. 职责单一原则(SRP)与信息专家
  6. 用状态图与对象图细化领域模型
  7. 鲁棒性分析与鲁棒图
  8. 需求确认与可行性分析
讲解架构设计的开发架构 讨论开发架构的设计思路
  1. 开发架构的概念与作用
  2. 讨论合理的分层架构
案例:演示一个工资系统如何应对需求变更

讲解开发架构的设计过程
案例:通过该考核系统讲解开发架构的设计过程
  1. 技术选型与决策
  2. 软件技术架构的设计
  3. 软件架构设计
  4. 模块划分与分包
  5. 分层结构与接口的定义
  6. 软件开发规范的制订
探讨软件质量属性
  1. 软件质量属性及其相互的制约
  2. 可扩展设计
  3. 易变更设计
  4. 易维护设计
讲解架构设计的数据架构 通过案例讲解数据架构的设计
案例:该绩效考核系统的数据架构设计过程
  1. 建立领域模型
  2. 领域模型转换为数据库设计
  3. 贫血模型vs.充血模型
讲解架构设计的运行架构 讲解运行架构的设计过程
  1. 属性->场景->决策
  2. 整体vs.局部
运行架构需要思考的质量属性
  1. 并发与串行
  2. 同步与异步
  3. 进程与线程
讲解架构设计的物理架构 通过案例讲解物理架构的设计
  1. 几种典型的物理架构设计
  2. 相关质量属性
讲解如何进行恰如其分的架构设计
讲解调查工作的意义与作用
案例:一个邮件系统的架构演变过程
  1. 恰如其分的架构设计
  2. 风险驱动的架构设计
剖析架构设计常见的误区
  1. 高开高走落不到实处
  2. 理想与现实需要折中(恰如其分的架构设计)
  3. 遗漏关键性约束与非功能需求
  4. 为虚无的未来埋单而过度设计
  5. 过早做出关键性决策
  6. 客户说啥就是啥成为酱油哥
  7. 埋头干活儿缺乏前瞻性
  8. 架构设计还要考虑系统可测性
  9. 架构设计不要企图一步到位
动手练习架构设计 案例:大型网络开票系统的架构设计
  1. 逻辑架构
  2. 开发架构
  3. 数据架构
  4. 运行架构
  5. 物理架构
大并发与高性能的架构设计:前期分析过程 讲解相关的技术指标
分析解决相关问题的设计思路
系统性能的分析过程
案例:大型网络开票系统的分析过程
  1. 高并发峰值
  2. 数据容量及增长量
  3. 业务操作与查询统计需求的分析
  4. 梳理与发现瓶颈点
大并发高性能架构设计:相关技术与设计过程 案例:大型网络开票系统的大并发架构设计过程
  1. 分布式网络分发技术
  2. 读写分离技术及其架构设计
  3. 数据分库的设计及其应用
  4. 数据库分区技术及其应用
  5. 数据集群技术及其应用
  6. 内存数据库及其设计
  7. 分布式缓存技术及其设计
  8. 数据仓库与实时分析
大并发与高性能架构设计:方案验证
案例:该网络开票系统的架构验证过程
  1. 测试计划的制订
  2. 测试用例的设计
  3. 测试环境的搭建
  4. 测试报告的编写
高可靠架构设计
案例:该网络开票系统的高可靠架构设计
什么是高可靠的架构设计
  1. 高可靠设计的思路
  2. 高可靠设计的建议
应用服务器的高可靠性设计
  1. 应用集群的高可靠性设计
  2. 分布式缓存的高可靠性设计
数据库的高可靠性设计
  1. 各种数据库的备份策略
  2. 各种数据库的恢复策略
可维护易变更的架构设计
  1. 传统软件的架构设计
  2. 基于SOA的架构设计
  3. 基于云计算的架构设计
  4. 基于大数据的架构设计
基于云端的架构设计

云计算

  1. 云计算的概念与发展历程
  2. 云计算的三个层次
    1. 基础设施即服务(IaaS)
    2. 平台即服务(PaaS)
    3. 案例:国家金税三期的云平台设计
    4. 软件即服务(SaaS)
  3. 云计算的相关技术
    1. OpenStack简介
    2. CloudStack简介
    3.  Docker简介
  4. 国内厂商的应用
  5. 案例:阿里云的云平台架构
    案例:12306在阿里云中的弹性设计
    案例:比格达塔的数据云概念
  6. 传统架构的云技术转型
    1. 数据集中化管理
    2. 进行业务整合
    3. 提供云端服务
    4. 开发模式的变化
大数据
  1. Hadoop大数据分析与处理技术
    1. HDFS的工作原理
    2. MapReduce的工作原理
    3. Hadoop集群的优势与劣势
  2. Hadoop的生态环境
    1. Hive简介及其应用
    2. HBase工作原理及其架构
  3. NoSQL数据库
    1. 分布式架构CAP理论
    2. BASE原则与弱一致性
    3. NoSQL数据库的崛起与发展
    4. MongoDB数据库简介
 
其他人还看了课程
数据分析与挖掘  
红帽认证  
企业战略与变革管理  
软件架构设计方法  
定制内训




最新活动计划
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
LLM大模型应用与项目构建 12-26[特惠]
UML和EA进行系统分析设计 12-20[线上]
数据建模方法与工具 12-3[北京]
SysML建模专家 1-16[北京]