软件架构是软件业的一个重要研究领域,正受到越来越多的关注,其地位也日益明显地体现出来.而架构设计师——也就成为软件系统的最高设计者。此课程就是为有志成为卓越架构师的人准备的培训课程。作为架构设计师,需要具备统观全局、分而治之的能力,从子系统的划分到组件的定义,从系统设计能力到沟通、协调,表达能力. 我们系统的组织课程,并由15年经验丰富的讲师传授,为您成长为架构设计师打下坚实的基础。
  本课程通过介绍软件架构视图和软件文档,软件架构设计过程,软件架构应用与常用的架构模式/策略/原则等诸多架构实际问题,透视软件架构是如何设计和实现的? 并且介绍应该如何应用系统架构设计为后期的详细设计和应用开发提供指导。针对大多数企业目前是维护遗留系统, 该课程介绍了软件架构的监控,架构的坏症状和重构方法,因为架构设计的前期不能考虑到所有的问题,设计包容一切的完美架构. 还针对软件架构常见设计技术专题等问题进行了分析并提出了解决方案,并结合众多大型软件项目架构案例进行更深入的剖析!

课程内容 
第一单元:
软件架构文档和架构视图-如何有效描述架构蓝图
一、软件架构的视图 
(1)软件架构视图的意义, 软件架构师的多维思考 
(2)逻辑视图、开发视图、部署视图、运行视图、场景视图,数据视图 ,实现视图 
(3)如何和怎样绘制软件架构视图 
(4)UML建模工具在架构视图的应用 
(5)典型案例分析:结合多个电信,金融行业项目案例,分析真实项目软件架构视图

二、软件架构的文档编写 
(1)软件架构文档的意义 
(2)软件架构模板(根据实际项目情况选择合适内容)
(3)软件架构文档的结构(避免出现不必要的重复和缺少关键信息)
(4)软件架构文档必须包含的内容(通过多个项目,分析不同系统包含系统内容不同)
(5)文档的后期管理(使文档保持更新)
(6)软件架构文档的评审 
(7)典型案例分析:结合多个电信项目案例,进行分析和评审软件架构文档

第二单元:
软件架构设计关注点(哪些因素驱动架构设计,是架构开始设计之前必须知道的?)和架构最佳策略
一、软件架构设计关注点(软件架构师在架构设计之前必须考虑的要素)
(1)架构设计的关注是什么 
(2)软件架构的驱动因素(改变传统以功能实现和新技术为驱动的策略)
(3)软件质量需求对架构的影响(质量属性场景定义和对应架构策略)
(4)软件功能需求对架构的影响(分析功能需求变化点和进化点)
(5)软件约束条件与架构的影响(业务,运行环境,开发团队,实现技术等约束)
(6)如何使功能性需求,非功能性需求和平台细节在架构中能保持分离,从而改善可维护性和可扩展性 
(7)处理功能需求,非功能性需求,平台细节.制定架构目标 
(8)典型案例分析:结合项目,因为分析驱动因素的错误,导致项目不能如期验收的失败案例 
(9)其中多个真实失败案例,值得借鉴.

二、软件架构最佳策略 
(1)重新认识系统质量属性,如何定义质量属性和相应的架构策略 
(2)系统架构的可扩展性设计策略 
(3)系统架构的可靠性设计策略 
(4)系统架构的高性能设计策略 
(5)系统架构的可维护性设计策略 
(6)系统架构的易用性设计策略 
(7)系统架构质量属性和架构模式的应用 
(8)通过分析案例,了解基本架构策略如何应用
(9)思考这些架构策略,如何应用在自己的实际项目中

第三单元:
软件架构设计过程 一、软件架构设计过程 
(1)软件架构设计过程方法论(步骤和相应的成果) 
(2)典型案例分析:结合具体项目案例进行分析:演示架构设计过程

二、商业架构分析 
(1)软件系统边界和外部系统接口的定义 
(2)大型软件系统的划分子系统原则 
(4)子系统功能模块的分解 
(5)子系统间的通信接口的设计 
(6)如何应对系统内部紧耦合、高内聚 
(7)软件系统关键质量属性树和可行性分析 
(8)软件系统部署架构(分布式/数据分布/通信/安全)
(9)软件系统部署容量评估(主机/中间件/数据库等资源容量评估)
(10)典型案例分析:结合多个项目实例,分析商业架构成果

三、逻辑架构设计 
(1)应用系统的类型和架构风格 
(2)架构模式在实际项目的应用 
(3)软件架构立方体图(软件架构的分层,分区和基础服务)
(4)软件架构通用机制的分析(如何处理基础设施扩展和具体有什么方法做基础设施扩展, 掌握如何分离这些基础设施用例)
(5)使用质量场景属性进行迭代架构设计 
(6)软件架构各层的架构策略(针对企业应用分层,每层的架构策略)
(8)软件系统线程架构策略(结合Apache HTTP Server分析线程和进程的架构)
(9)典型案例分析:结合项目实例,进行分析该阶段的主要任务和相关成果

四、物理架构设计 
(1)数据架构(数据模型/数据分布/数据存取,以及核心数据流)
(2)用例视图(抽取典型,有分险和客户最关心用例进行分析,结合架构进行设计)
(3)实现视图(架构,设计和开发,实现原则和指南) 
(4)完成架构文档,对架构文档进行评估 
(5)典型案例分析:结合3G增值服务项目,分析物理架构设计

第四单元:
软件架构应用 一、架构设计的评估和验证 
(1)软件架构的验证(软件架构风险验证)
(2)软件架构的验证方法和指标(基于问题检查表和质量属性树)
(3)软件架构的验证注意事项 
(4)软件架构的评估方式 
(5)软件详细设计和实现时期,架构师的职责和架构的监控 
(6)典型案例分析:结合项目实例,分析如何进行验证架构和架构设计的后期重构技巧

二、架构设计重构和复用 
(1)软件架构重构概述 
(2)软件架构常见的坏症状 
(4)软件架构的重构手段 
(5)软件架构的复用 
(6)结合某著名公司全球架构师团队架构实例,分析架构重构和架构复用技巧

第五单元:
软件应用类型和参考架构(不同应用类型,必须采用不同架构风格) (1)联机交易类架构 
(2)Web应用系统/大规模高并发Web2.0互联网系统 
(3)Client/Server系统(银行交易系统)
(4)连接分析分析系统(移动经营分析系统)
(5)大规模实时并发系统(电信计费系统)
(6)Portal系统(个性化和页面集成系统 )
(7)EAI企业集成系统(基于大规模消息集成系统)
(8)基于WAP系统(多渠道/多种手机接入系统)
(9)后台批处理系统(高并发后台批处理类型 银行后台系统)
(10)基于SOA架构系统 
(11)结合多个项目案例分析每种应用类型的架构风格特点,主要架构挑战和相应对策

第六单元:
软件架构模式应用 一、软件架构模式 
(1)软件架构模式概述 
(2)管道过滤器/事件架构/微内核/反射架构模式(其他10多种常见的架构模式)
(4).net常见架构模式和J2EE架构模式 
(5)分布式和并发架构模式 
(6)典型案例分析:结合国内社保平台项目分析软件架构模式的应用经验

第七单元:
软件架构的实现-框架和设计模式 1.应用框架(Application framework)
(1)框架vs.类库   
(2)软件架构如何以框架的方式实现
(3)框架的开发过程和开发技术(通用点vs.扩展点) 
(4)一个著名框架的实现分析 
(5)典型案例分析:结合项目实例,开发框架

2.设计模式技术在软件框架设计之中的应用 
(1)设计模式思想(封装变化)
(2)设计模式的在架构设计之中的综合应用 
(3)典型案例分析:结合项目实例,分析设计模式在架构设计时期的实际应用 
第八单元:
软件架构核心策略 1、领域模型架构 
(1)领域模型架构策略 
(2)领域模型建模(关联,属性)
(3)多个系统数据模型不一致和领域模型的同步 
(4)公共数据模型(CDM)
(5)领域模型分析模式(模型的选择会影响最终产生系统的灵活性和可重用性)
(6)根据电信计费系统和网络资源管理案例分析领域模型的架构 
2、业务逻辑和业务流程架构 
(1)业务逻辑架构模式(事务脚本/领域模型/服务层模式)  
(2)业务流程架构策略 
(3)基于容器的业务逻辑架构(EJB和轻量级,以及容器提供的基础服务)
(4)面向方面的业务架构和AOP技术在业务逻辑架构的应用 
(5)状态管理架构策略(有状态和无状态服务,以及对可扩展性的影响)
(6)业务逻辑的分布式架构策略(远程或本地/同步或异步)
(7)并发和同步架构模式(Half-Sync/Half-Async和Leader/Followers和Active Object和Monitor Object)
(8)基于中间件的业务逻辑架构(Corba/Tuxedo/MQSeries/J2EE/.net)
(9)典型案例分析:结合某银行交易系统分析业务逻辑架构 
3、数据存取(持久性)架构 
(1)数据存取架构策略(对象和关系数据库的映射)
(2)对象关系阻抗/ORM技术/数据映射SQLMapper
(3)缓存技术在存取层的应用/缓存数据和数据库数据一致性 
(4)分布式数据存取策略(读写分离/分布数据/异构数据存取)
(5)数据同步和一致性策略 
(6)数据访问层的性能考虑 
(7)事务管理(本地事务和分布式事务,以及事务补偿)
(8)数据锁管理(悲观锁和乐观锁)
(9)典型案例分析:结合零售行业POS项目分析数据访问层的架构设计 
4、数据架构 
(1)数据架构概述     (2)数据建模原则和优化策略 
(3)数据分布策略(集中,归档,子集,ETL等模式) (4)数据复制和同步策略 
(5)数据一致性和分布式事务  
(6)大数据量数据库可扩展性(水平和垂直扩展,读写分离)以及单表记录过大拆分策略 
(7)数据库集群规划 
(8)分布式数据存取策略(跨多个库, 可能数据库异构类型)
(9)数据备份与恢复    (10)数据库性能规划  (11)数据安全策略 
(12)与遗留系统的数据库兼容性考虑 
(13)结合电信,金融,零售POS项目实例分析,系统数据架构设计策略 
5、系统内部各组件或层之间通信架构 
(1)系统通信设计原则     (2)通信机制和通信模式 
(3)协议选择对性能的考虑 (4)同步还是异步 
(5)适配器策略(基于API/数据库/文件/协议等适配)
(6)通信接口设计策略(统一接口/业务分类)
(7)数据传输形式(DTO/XML等)
(8)Extension/Explicit/Proxy/Dynamic/Batch 接口形式 
(9)结合项目实例分析,系统内部的通信设计 
6、系统与外部系统的接口架构 
(1)系统接口设计策略     (2)点对点和基于EAI平台架构 
(3)系统接口策略(基于文件,共享数据库,同步RPC或者异步消息)
(4)系统接口安全/审计/稽核等架构策略 
(5) 结合某省电信BSS系统EAI项目实例分析,系统接口架构策略 
7、系统基础服务组件架构 
(1)系统基础服务组件架构策略     (2)系统通用服务层与业务逻辑分离 
(3)系统必备13种基础服务架构(异常处理/事务管理/缓存/工作流/校验/通信/安全/日志/定时触发/状态/消息通信/系统监控/配置管理)
(4)业务通用服务架构实现策略

(5) 结合多个项目实例分析,架构师如何萃取基础服务组件和怎样设计实现 
第九单元:
大型软件系统架构实践与剖析 
(该案例分别在以上各单元,结合主题进行介绍)
综合软件架构实践与剖析(以实际项目案例为背景)
(1)电信行业(电信97/移动BOSS/电信MBOSS/经营分析)软件架构案例研究 
(2)金融行业(XXX银行企业信贷和XXX银行)软件架构案例研究 
(3)政府行业(XXX社保和XXX税务)软件架构案例研究 
(4)电力行业(SG168和XXX电网门户系统)软件架构案例研究 
(5)大型互联网系统架构案例研究 
(6)邮政行业(***邮政项目)案例研究

第十单元:
软件架构师成长 软件架构师成长 
(1)软件架构师职责 
(2)软件架构师与项目经理,产品经理,需求分析师不同 
(3)软件架构师技能模型 
(4)软件架构师如何成长
(5)中国特色的架构师(目前国内很多架构师是身兼多职)

师资力量
刘捷 —— 曾任职BEA(中国)资深软件架构师
曾任职BEA(中国)资深软件架构师,十余年的企业软件架构、开发和管理经验, 侧重于企业应用软件架构设计.主要负责客户大型项目的架构设计和研发。
作为技术专家保证项目的成功实施,运行和维护。参加过全国/全省多个大型的计算机应用项目,擅长的领域包括电信,金融、税务,大型互联网web2.0应用等。此前就职于IBM,任软件架构师。 在此之前曾任日本东京一家软件企业的资深技术顾问。

软件架构最佳实践和案例分析相关推荐

  1. 软件架构最佳实践和案例分析——笔记摘要

    1. 架构不是一维的概念,要根据受众情况从多个方面解构.经典的视图包括4+1+2 2. 各种视图的实现方式(描绘方式)是没有定规的,但有些具体的实现细节可以采用标准的,如UML. 3. 逻辑视图可以用 ...

  2. 第 28 小时项目管理过程实践和案例分析

    第 28 小时项目管理过程实践和案例分析 根据考试大纲,这部分作为下午 考试的内容,共有 3 道大题,每题 25 分,共 75 分,45 分及格.考题形式为"计算+项目管理有关知识" ...

  3. C++ 智能指针最佳实践源码分析

    作者:lucasfan,腾讯 IEG Global Pub.Tech. 客户端工程师 智能指针在 C++11 标准中被引入真正标准库(C++98 中引入的 auto_ptr 存在较多问题),但目前很多 ...

  4. 2019年最实用的导航栏设计实践和案例分析全解

    我们都知道,用户的浏览习惯是从左到右,从上到下.所以一个网站的导航栏至关重要,用户进入你的网站,首先查找的信息就是从导航栏开始.一个用户体验好的导航栏,会增加网站的转化率和回访率.反之,用户会离开你的 ...

  5. 独家 | 大数据提升政府决策力的实践与案例分析(附PPT和视频)

    随着互联网的不断发展,社会群众对政府网站的要求越来越高,而国务院办公厅在2017年5月发布了<政府网站发展指引>,目标是推进互联网政务信息数据和便民服务平台建设,提升政府网上服务能力.围绕 ...

  6. 软件设计全程演练与最佳实践

    一.授课思路 一般的书籍和培训,往往是重点介绍设计原则和模式,之后给出几个简单的在理想情况下的应用:或者是拿出最终设计来讲解,然后告诉他的设计的是多么灵活,多么的好.但是当你课程结束后,回到工作之中却 ...

  7. 数据安全最佳实践案例库建设项目案例征集

    2020年5月15日,由清华大学大数据研究中心和大数据系统软件国家工程实验室联合发起的数据安全最佳实践案例库建设项目正式启动. 清华大学大数据研究中心和大数据系统软件国家工程实验室作为我国数据科学与大 ...

  8. Guava Cache 原理分析与最佳实践

    前言 在大部分互联网架构中 Cache 已经成为了必可不少的一环.常用的方案有大家熟知的 NoSQL 数据库(Redis.Memcached),也有大量的进程内缓存比如 EhCache .Guava ...

  9. 技术集锦 | 大数据云原生技术实战及最佳实践系列

    随着云平台.容器等技术的不断成熟,云原生大数据解决了传统大数据平台建设和运维中的繁琐,使即时可得,按需分配的高效大数据开发平台成为可能. 云原生的到来不止为大数据部署和交付带来了变革,它更是帮助大数据 ...

最新文章

  1. Vue 源码阅读(三)Special Attributes
  2. javascript-XMLHttpRequest
  3. (chap1 web网络基础) HTTP协议相关的各个协议(1)
  4. Thread Safety in the Standard C++ Library
  5. 厉害的壁纸,亲测有效
  6. 使用汇编软件emu8086输出十次Hello World!
  7. 最小环 floyd java_Floyd最小环
  8. Leetcode每日一题:101.symmetric-tree(对称二叉树)
  9. linux中一些特殊的权限(setuid/setgid/sticky)
  10. hibernate 插入 效率_美信半导体:打开工厂边缘智能化新思路,助力工厂效率提升...
  11. 6.jQuery appendTo问题解决
  12. 代码生成器技术乱弹十一,伽罗华理论与代码生成器
  13. 随机存储器:SRAM、DRAM、SDRAM的区别
  14. Mac OS X:显示/设置分辨率的命令(源程序)
  15. yarn中MR作业报错Java heap space
  16. html简洁的错误页面设计,40个非常有创意的404错误页面设计
  17. MySQL安全性机制
  18. 分块矩阵求行列式的一道题
  19. java基础最全(包括jdk,ecilpse各个软件的安装下载步骤以及下载地址)
  20. 油菜花系统服务器能删除内容吗,油菜花能吃吗,油菜花有什么用

热门文章

  1. 【Flutter】手机应用类型 ( Android | iOS | Native 应用 | Web 应用 | Hybrid 应用 | ReactNative 应用 | Flutter 应用 )
  2. 【Android 异步操作】Handler 机制 ( MessageQueue 空闲任务 IdleHandler 机制 )
  3. 【Android 异步操作】手写 Handler ( 总结 | Message | MessageQueue | Looper | Handler ) ★
  4. 【Android 异步操作】线程池 ( 线程池 execute 方法源码解析 )
  5. 【数据挖掘】数据挖掘简介 ( 6 个常用功能 | 数据挖掘结果判断 | 数据挖掘学习框架 | 数据挖掘分类 )
  6. 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )
  7. python 内置函数__name__的作用
  8. PHP操作MYSQL--PDO
  9. linux_软件安装策略和升级策略
  10. Java时间和时间戳的相互转换