艾威软件架构案例分析和最佳实践培训,企业内训
软件架构案例分析和最佳实践培训
课程介绍:
培训对象:
软件架构师/技术总监/资深技术人员/高级软件设计师。授课方式:
课程大纲:
课程主题 | 课程内容 |
第一单元:软件架构文档和架构视图-如何有效描述架构蓝图 |
一、软件架构的视图 (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) 通过分析案例,了解基本架构策略如何应用 思考这些架构策略,如何应用在自己的实际项目中 |
第三单元:软件架构设计过程 |
一、软件架构设计过程 (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~2个部分内容) |
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. 软件架构师如何成长 中国特色的架构师(目前国内很多架构师是身兼多职)(LJ) |
【艾威(中国)】简介:
● 2017年成为EPI 授权的数据中心CDCP培训机构,华东地区唯一CDCP授权培训机构,同时也是CDCP认证考试考场。
【艾威(中国)】简介:
艾威培训隶属于上海艾威信息科技有限公司,于2002年在上海建立办事处,2003年正式注册成立上海艾威信息科技有限公司并全面开展国内的培训业务,主要专注于职业认证培训与IT技术培训,致力于中国数字化管理人才与技术人才的培养。
艾威主要业务为培训业务与咨询业务两大类,目前培训的主要产品有:项目管理培训、IT管理培训、敏捷培训、业务分析与需求管理培训、企业架构培训、业务流程管理培训、数据管理与治理培训、信息安全培训、办公软件与多媒体培训、大数据与人工智能培训、虚拟化与云计算培训、数据库培训、软件开发培训等....近30给分类上百门的课程的培训与咨询服务。
艾威凭借引进国际领先的课程知识体系和多年积累的丰富教学经验,结合中国本土企业文化、实际需求,为企业、个人提供定制化的培训解决方案。艾威已服务了超过 10000 多家客户,获得了良好的口碑!已被众多 500强企业纳入培训供应商,如 HP,NOKIA,CISCO,INTEL,GE,华为,宝马,德电,通用,大陆汽车,中国银行,交行,工行,罗氏,赛诺菲,埃森哲……等。
- 2002年艾威成立上海办事处,并于2003年正式成立公司,开启全面培训业务
- 2002年成为思科Cisco授权培训中心
- 2003年成为Oracle授权培训中心
- 2003年成为国际项目管理协会PMI授权的全球(PMP,PGMP,ACP,PBA)教育机构
- 2005年成为国际需求管理协会IIBA授权的全球(ECBA,CCBA,CBAP)教育机构
- 2008-2015年成为100+家央企、国企、外企指定培训供应商(惠普、诺基亚、德电、罗氏、中国银行、交通银行、中国海关等)。
- 2015年艾威国际网校(edu.avtechcn.com)成立,引进数百门在线课程。
- 2016年成为国际信息审计协会ISACA授权的CISA,CISM,CRISC,CGEIT,COBIT教育机构。
- 2017年成为The Open Group授权的TOGAF企业架构的官方培训机构。
- 2017年成为APMG与国际外包专业协会(IAOP)授权的外包治理国际认证SGF(Sourcing Governance Foundation)教育机构。
- 2017年成为APMG与业务关系管理协会(BRMI)授权的BRMP、CBRM教育机构。
- 2018年成为PeopleCert授权ITIL、Prince2、MSP培训及考试机构。
- 2018年成为DRI授权CBCP培训及考试机构。
- 2019年成为亚马逊培训合作伙伴。
- 2019年成为国际云安全联盟CCSK授权培训合作伙伴。
- 2020年艾威数字化人才培训中心成立,并首创发布了艾威MDD数字化人才三角模型及8大能力培训体系。
- 2021年成为SAFe大规模敏捷认证官方培训机构。
- 2021年成为DAMA国际数据管理协会CDGA/CGDP/CDMP数据管理认证官方培训机构。
- 2022年艾威数字化人才培训中心成立一周年,进一步完善并升级“艾威MDD数字化人才三角模型及8大能力体系”为“艾威数字化人才18大能力罗盘”。