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

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

 

软件架构案例分析和最佳实践     8566 次浏览    1409 次 
 
授课讲师: 刘老师, 曾任IBM软件架构师,BEA中国高级技术顾问、资深架构师。
时间地点: 北京、 深圳根据报名开班
课程费用: 5700元/人,详见 公开课学习手册
企业内训: 可以根据企业需求,定制内训,详见 内训学习手册
 
  本课程通过介绍软件架构视图和软件文档,软件架构设计过程,软件架构应用与常用的架构模式/策略/原则等诸多架构实际问题,透视软件架构是如何设计和实现的? 并且介绍应该如何应用系统架构设计为后期的详细设计和应用开发提供指导。针对大多数企业目前是维护遗留系统, 该课程介绍了软件架构的监控,架构的坏症状和重构方法,因为架构设计的前期不能考虑到所有的问题,设计包容一切的完美架构. 还针对软件架构常见设计技术专题等问题进行了分析并提出了解决方案,并结合众多大型软件项目架构案例进行更深入的剖析!
 
培训对象:软件设计师,高级软件开发工程师
学员基础:至少2年以上开发经验,具备面向对象编程基础。有实际项目经验。
授课方式: 小班授课 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
培训内容: 3天
第一单元:
软件架构成果(视图和架构文档)和软件架构驱动因素

1、软件架构的视图
(1)软件架构视图的意义, 软件架构师的多维思考
(2)逻辑视图、开发视图、物理视图、运行视图、场景视图,数据视图 ,功能视图
(3)如何和怎样绘制软件架构视图
(4)UML建模工具在架构视图的应用
(5)典型案例分析:结合多个项目案例,分析真实项目软件架构视图
2、软件架构的文档编写
(1)软件架构文档的意义
(2)ISO模板和RUP模板(根据实际项目情况选择合适内容)
(3)软件架构文档的结构(避免出现不必要的重复和缺少关键信息)
(4)软件架构文档必须包含的内容(通过多个项目,分析不同系统包含系统内容不同)
(5)文档的后期管理(使文档保持更新)
(6)软件架构文档的评审
(7)典型案例分析:结合多个项目案例,进行分析和评审软件架构文档
3、软件架构驱动因素(软件架构师在架构设计之前必须考虑的要素)
(1)软件架构的驱动因素(改变传统以功能实现和新技术为驱动的策略)
(2)软件质量需求对架构的影响(质量属性场景定义和对应架构策略)
(3)软件功能需求对架构的影响(分析功能需求变化点和进化点)
(4)软件约束条件与架构的影响(业务,运行环境,开发团队,实现技术等约束)
(5)如何使功能性需求,非功能性需求和平台细节在架构中能保持分离,从而改善可维护性和可扩展性
(6)处理功能需求,非功能性需求,平台细节.制定架构目标
(7)典型案例分析:结合项目,因为分析驱动因素的错误,导致项目不能如期验收的失败案例
第二单元:
软件架构设计过程
1、软件架构设计过程
(1)软件架构设计过程方法论(步骤和相应的成果)
(2)商业架构分析(完成系统拆分子系统,以及子系统部署模式)
(3)逻辑架构设计
(4)物理架构设计
(5)软件架构的评估和验证
(6)基于软件架构的开发(开发之中,软件架构的监控和坏症状分析)
(7)软件架构的重构
(8)软件架构的复用
(9)典型案例分析:结合具体项目案例进行分析:演示架构设计过程
2、商业架构分析
(1)软件系统边界和外部系统接口的定义
(2)大型软件系统的划分子系统原则
(4)子系统功能模块的分解
(5)子系统间的通信接口的设计
(6)如何应对系统内部紧耦合、高内聚
(7)软件系统关键质量属性树和可行性分析
(8)软件系统部署架构(分布式/数据分布/通信/安全)
(9)软件系统部署容量评估(主机/中间件/数据库等资源容量评估)
(10)典型案例分析:结合多个项目实例,分析质量需求,约束对架构的影响(项目错误的架构,导致不能最终验收)
3、逻辑架构设计
(1)应用系统的类型和架构风格
(2)架构模式在实际项目的应用
(3)软件架构立方体图(软件架构的分层,分区和基础服务)
(4)软件架构通用机制的分析(如何处理基础设施扩展和具体有什么方法做基础设施扩展, 掌握如何分离这些基础设施用例)
(5)使用质量场景属性进行迭代架构设计
(6)软件架构各层的架构策略(针对企业应用分层,每层的架构策略)
(8)软件系统线程架构策略(结合Apache HTTP Server分析线程和进程的架构)
(9)典型案例分析:结合项目实例,进行分析该阶段的主要任务和相关成果
4、物理架构设计

(1)数据架构(数据模型/数据分布/数据存取,以及核心数据流)
(2)用例视图(抽取典型,有分险和客户最关心用例进行分析,结合架构进行设计)
(3)实现视图(架构,设计和开发,实现原则和指南)
(4)完成架构文档,对架构文档进行评估
(5)典型案例分析:结合3G增值服务项目,分析物理架构设计
5、架构设计的评估和验证
(1)软件架构的验证(软件架构风险验证)
(2)软件架构的验证方法和指标(基于业务用例和质量属性树)
(3)软件架构的验证注意事项
(4)软件架构的评估方式
(5)软件详细设计和实现时期,架构师的职责和架构的监控
(6)典型案例分析:结合项目实例,分析如何进行验证架构和架构设计的后期重构技巧
6、架构设计重构和复用
(1)软件架构重构概述
(2)软件架构常见的坏症状
(4)软件架构的重构手段
(5)软件架构的复用
(6)结合项目实例,分析架构重构和架构复用技巧
第三单元:
软件架构原则、策略、模式
1、软件架构模式
(1)软件架构模式概述
(2)管道过滤器架构模式(其他10多种常见的架构模式)
(4).net常见架构模式和J2EE架构模式
(5)分布式和并发架构模式
(6)基于消息的大规模集成架构模式
(7)典型案例分析:结合社保平台项目分析软件架构模式的应用经验
2、软件架构策略(针对质量属性策略)
(1)重新认识系统质量属性,如何定义质量属性和相应的架构策略
(2)如何获得可维护性、可扩展性、可靠性、互操作性,系统性能,安全性等
(3)系统架构的可扩展性设计策略
(4)系统架构的可靠性设计策略
(5)系统架构的可修改性设计策略
(6)系统架构的高性能设计策略
(7)系统架构的安全性设计策略
(8)系统架构的易用性设计策略
(9)系统架构质量属性和架构模式的应用
(10)架构策略如何应用在自己的实际项目中
3、架构原则
(1)软件架构原则概述
(2)软件架构原则-系统拆分
(3)软件架构原则-组件整合
(4)架构原则在实际项目中应用
第四单元:
软件架构的实现技术-框架和设计模式
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)基于SOA架构系统
(2)Web应用系统/大规模高并发Web2.0互联网系统
(3)Client/Server系统(联机事务型 银行交易系统)
(4)BI经营分析系统(移动经营分析系统)
(5)大规模实时并发系统(电信计费系统)
(6)Portal系统(个性化和页面集成系统 )
(7)EAI企业集成系统(基于大规模消息集成系统)
(8)基于WAP系统(多渠道/多种手机接入系统)
(9)后台批处理系统(高并发后台批处理类型 银行后台系统)
第七单元:
大型软件系统架构实践与剖析

综合软件架构实践与剖析(以实际项目案例为背景)
(1)电信行业(电信97/移动BOSS/电信MBOSS/经营分析)软件架构案例研究
(2)金融行业(XXX银行企业信贷和XXX银行)软件架构案例研究
(3)政府行业(XXX社保和XXX税务)软件架构案例研究
(4)电力行业(SG168和XXX电网门户系统)软件架构案例研究
(5)大型互联网系统架构案例研究
(6)邮政行业(***邮政项目)案例研究
8566 次浏览   1409 次
其他人还看了课程
软件架构师(面向服务)  4979 次浏览
详细设计+单元测试+模式+重构  6890 次浏览
技术方案设计与应用  4309 次浏览
软件架构师——高级实践  7590 次浏览
虚拟化管理原理与实践(VMware)  3672 次浏览
虚拟化技术及其应用  3801 次浏览
定制内训




最新活动计划
数据建模方法与工具 12-3[北京]
基于模型系统仿真与验证 12-14 [讲座]
白盒测试技术与工具实践 12-24[线上]
LLM大模型应用与项目构建 12-26[特惠]
UML和EA进行系统分析设计 12-20[线上]
SysML建模专家 1-16[北京]