课程简介
随着移动互联时代的到来,数据量急剧增加,如何在各种各样纷繁复杂的技术中构建最适合企业的分布式系统架构,变成了一件极具挑战的事情。一个好的分布式架构可以以最低的成本、更灵活的方式,满足企业用户需求。
本课程通过介绍软件架构视图和软件文档,软件架构设计过程,软件架构应用与常用的架构模式/策略/原则等诸多架构实际问题,透视软件架构是如何设计和实现的? 并且介绍应该如何应用系统架构设计为后期的详细设计和应用开发提供指导。针对大多数企业目前是维护遗留系统, 该课程介绍了软件架构的监控,架构的坏症状和重构方法,因为架构设计的前期不能考虑到所有的问题,设计包容一切的完美架构. 还针对软件架构常见设计技术专题等问题进行了分析并提出了解决方案,并结合众多大型软件项目架构案例进行更深入的剖析。
课程收益
1、帮助学员深入理解软件架构核心原理和设计过程;
2、帮助学员掌握大型高可用高并发分布式系统架构设计;
3、助力企业培养成熟的架构设计师
受众人群
软件架构师/技术总监/资深技术人员/高级软件设计师及其他对架构设计感兴趣的人员
课程周期
多天可定制
课程大纲
标题 | 授课内容 |
第一篇: 软件架构核心原理和设计过程 第一单元:软件架构文档和架构视图-如何有效描述架构蓝图 | 1. 软件架构的视图 (1) 软件架构的视图原理 (2) 软件架构视图的意义, 软件架构师的多维思考 (3) 逻辑视图、开发视图、部署视图、运行视图、场景视图,数据视图 ,实现视图 (4) 如何和怎样绘制软件架构视图 (5) UML建模工具在架构视图的应用 (6) 典型案例分析:结合多个电信,金融行业项目案例,分析真实项目软件架构视图 2. 软件架构的文档编写 (1) 软件架构文档的意义 (2) 软件架构模板(根据实际项目情况选择合适内容) (3) 软件架构文档的结构(避免出现不必要的重复和缺少关键信息) (4) 软件架构文档必须包含的内容(通过多个项目,分析不同系统包含系统内容不同) (5) 文档的后期管理(使文档保持更新) (6) 软件架构文档的评审 (7) 典型案例分析:结合多个电信项目案例,进行分析和评审软件架构文档 (8) 典型案例分析:结合多个电信项目案例,进行分析和评审软件架构文档 |
第一篇: 软件架构核心原理和设计过程 第二单元:软件架构设计关注点(哪些因素驱动架构设计,是架构开始设计之前必须知道的?)和架构最佳策略 | 1. 软件架构设计关注点(软件架构师在架构设计之前必须考虑的要素) (1) 架构设计的关注是什么 (2) 软件架构的驱动因素(改变传统以功能实现和新技术为驱动的策略) (3) 软件质量需求对架构的影响(质量属性场景定义和对应架构策略) (4) 软件功能需求对架构的影响(分析功能需求变化点和进化点) (5) 软件约束条件与架构的影响(业务,运行环境,开发团队,实现技术等约束) (6) 如何使功能性需求,非功能性需求和平台细节在架构中能保持分离,从而改善可维护性和可扩展性 (7) 处理功能需求,非功能性需求,平台细节.制定架构目标 (8) 典型案例分析:结合项目,因为分析驱动因素的错误,导致项目不能如期验收的失败案例 2. 软件架构最佳策略 (1) 重新认识系统质量属性,如何定义质量属性和相应的架构策略 (2) 系统架构的可扩展性设计策略 (3) 系统架构的可靠性设计策略 (4) 系统架构的高性能设计策略 (5) 系统架构的可维护性设计策略 (6) 系统架构的易用性设计策略 (7) 系统架构质量属性和架构模式的应用 (8) 通过分析案例,了解基本架构策略如何应用 |
第一篇: 软件架构核心原理和设计过程 第三单元:软件架构设计过程 | 1. 软件架构设计过程 (1) 软件架构设计过程方法论(步骤和相应的成果) (2) 软件系统边界和外部系统接口的定义 (3) 大型软件系统的划分子系统原则 (4) 子系统功能模块的分解 (5) 子系统间的通信接口的设计 (6) 如何应对系统内部紧耦合、高内聚 (7) 软件系统关键质量属性树和可行性分析 (8) 软件系统部署架构(分布式/数据分布/通信/安全) (9) 软件系统部署容量评估(主机/中间件/数据库等资源容量评估) (10) 应用系统的类型和架构风格 (11) 架构模式在实际项目的应用 (12) 软件架构立方体图(软件架构的分层,分区和基础服务) (13) 软件架构通用机制的分析(如何处理基础设施扩展和具体有什么方法做基础设施扩展, 掌握如何分离这些基础设施用例) (14) 使用质量场景属性进行迭代架构设计 (15) 软件架构各层的架构策略(针对企业应用分层,每层的架构策略) (16) 软件系统线程架构策略(结合Apache HTTP Server分析线程和进程的架构) (17) 数据架构(数据模型/数据分布/数据存取,以及核心数据流) (18) 用例视图(抽取典型,有分险和客户最关心用例进行分析,结合架构进行设计) (19) 实现视图(架构,设计和开发,实现原则和指南) (20) 完成架构文档,对架构文档进行评估 (21) 典型案例分析:结合3G增值服务项目,分析物理架构设计 |
第一篇: 软件架构核心原理和设计过程 第四单元:软件架构应用 | 1. 架构设计的评估和验证 (1) 软件架构的验证(软件架构风险验证) (2) 软件架构的验证方法和指标(基于问题检查表和质量属性树) (3) 软件架构的验证注意事项 (4) 软件架构的评估方式 (5) 软件详细设计和实现时期,架构师的职责和架构的监控 (6) 典型案例分析:结合项目实例,分析如何进行验证架构和架构设计的后期重构技巧 2. 架构设计重构和复用(架构复用) (1) 软件架构重构概述 (2) 软件架构常见的坏症状 (3) 软件架构的重构手段 (4) 软件架构的复用 (5) 结合某著名公司全球架构师团队架构实例,分析架构重构和架构复用技巧 |
第二篇: 软件架构分层架构和每层核心策略 第五单元:软件架构核心策略 | 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) 数据复制和同步策略 (4) 数据一致性和分布式事务 (5) 大数据量数据库可扩展性(水平和垂直扩展,读写分离)以及单表记录过大拆分策略 (6) 数据库集群规划 (7) 分布式数据存取策略(跨多个库, 可能数据库异构类型) (8) 数据备份与恢复 (9) 数据库性能规划 (10) 数据安全策略 (11) 与遗留系统的数据库兼容性考虑 (12) 结合电信,金融,零售POS项目实例分析,系统数据架构设计策略 5. 系统基础服务组件架构 (1) 系统基础服务组件架构策略 (2) 系统通用服务层与业务逻辑分离 (3) 系统必备13种基础服务架构(异常处理/事务管理/缓存/工作流/校验/通信/安全/日志/定时触发/状态/消息通信/系统监控/配置管理) (4) 业务通用服务架构实现策略 (5) 结合多个项目实例分析,架构师如何萃取基础服务组件和怎样设计实现 |
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员
Mace Liu
百林哲咨询(北京)有限公司专家团队成员