高级软件架构设计分析和实践研修班-易程培训-软件研发管理培训、咨询服务
首页 | 快捷通道:我是

关注的讲师:

分享到:
公开课
高级软件架构设计分析和实践研修班

开课地点:北京
开课时间:2014-04-20至2014-04-23
课程费用:5000 元/人
课程简介:

课程背景

    软件架构定义了整个软件的灵魂,如何获取高质量、成熟的架构,已成为架构师奋斗的目标,而作为影响目标实现的需求,无疑成为其中的重要因素之一,如何通过弹性的架构设计满足业务扩展的要求,如何在架构中体现非功能性需求,以期实现软件的可维护性、高性能、高可复用性、可靠性等特点,已成为软件开发活动中重要的待突破点。通过基于软件生命周期的层次化分析软件需求方法,以工业界标准形式定义的需求信息映射到架构设计,最终成功构建一个高质量、高可扩展性、高可复用和可维护性的软件架构。本课程以实践和案例驱动,采用一个完整地案例贯穿整个课程,来完成学习实践环节,让学员体验从需求到架构的完整过程。在课程中学员将被赋予不同的开发角色,通过模拟不断地需求,以及不断地调整案例内容状况变化,使学员感悟架构设计的艰辛和成就。

课程收益

  • 掌握规范和全面地创建软件架构的技能
  • 掌握使用包括需求分析信息和架构模式,以构建高质量和成熟的软件架构
  • 破解如何在时间、成本和质量之间追求平衡,以低成本平稳地架构演进
  • 借助金融、电信等大型项目案例了解大型软件架构最佳实践

课程对象

系统架构师、分析人员、设计人员、开发人员和测试人员

课程大纲

课程正常授课时间为4天,每天授课时间为上午9:00~12:00,下午13:30~16:30。

 

时间

内容

Part1-架构视图和软件架构文档-如何有效描述架构蓝图

软件架构的视图

  • 软件架构视图的意义, 软件架构师的多维思考
  • 逻辑视图、开发视图、部署视图、运行视图、数据视图 ,实现视图
  • 如何和怎样绘制软件架构视图
  • UML建模工具在架构视图的应用
  • 典型案例分析:结合多个电信,金融行业项目案例,分析真实项目软件架构视图

编写软件架构文档

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

Part2-软件架构师成长

软件架构师成长

  • 软件架构师职责
  • 软件架构师与项目经理,产品经理,需求分析师不同
  • 软件架构师技能模型
  • 软件架构师如何成长

Part3-软件架构设计过程

软件架构设计过程

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

商业架构分析

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

逻辑架构设计

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

架构设计原则

  • 抽象(Abstraction)、封装(Encapsulation)和信息隐藏(Information Hiding)
  • 分而治之(Divide-And-Conquer)和模块化(modularization)
  • 松耦合和高内聚(Coupling and Cohesion)
  • 策略和实现的分离(Separation of Policy and Implementation)
  • 接口和实现的分离(Separation of Interface and Implementation)
  • 单一引用点(Single Point of Reference)

物理架构设计

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

Part4-软件架构设计关注点(哪些因素驱动架构设计,是开始架构设计之前获知的和架构最佳策略

软件架构设计关注点(软件架构师在架构设计之前必须考虑的要素)

  • 架构设计的关注是什么
  • 软件架构的驱动因素(改变传统以功能实现和新技术为驱动的策略)
  • 软件质量需求对架构的影响(质量属性场景定义和对应架构策略)
  • 软件功能需求对架构的影响(分析功能需求变化点和进化点)
  • 软件约束条件与架构的影响(业务,运行环境,开发团队,实现技术等约束)
  • 如何使功能性需求,非功能性需求和平台细节在架构中能保持分离,从而改善可维护性和可扩展性
  • 处理功能需求,非功能性需求,平台细节.制定架构目标
  • 典型案例分析:结合项目,因为分析驱动因素的错误,导致项目不能如期验收的失败案例

软件架构最佳策略

  • 重新认识系统质量属性,如何定义质量属性和相应的架构策略
  • 系统架构的可扩展性设计策略
  • 系统架构的可靠性设计策略
  • 系统架构的高性能设计策略
  • 系统架构的可维护性设计策略
  • 系统架构的易用性设计策略
  • 系统架构质量属性和架构模式的应用
  • 通过分析案例,了解基本架构策略如何应用
  • 思考这些架构策略,如何应用在自己的实际项目中

Part5-软件架构应用

架构设计的评估和验证

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

架构评审

  • 基于ATAM架构评审方法
  • 架构评审检查列表

架构设计重构和复用

  • 软件架构重构概述
  • 软件架构常见的坏症状
  • 软件架构的重构手段
  • 软件架构的复用
  • 结合架构师团队架构实例,分析架构重构和架构复用技巧

Part6-软件应用类型和参考架构(不同类型应用,采用不同的架构风格)

典型架构风格

  • 联机交易类架构
  • Web应用系统/大规模高并发Web2.0互联网系统
  • Client/Server系统(银行交易系统)
  • 连接分析系统(移动经营分析系统)
  • 大规模实时并发系统(电信计费系统)
  • Portal系统(个性化和页面集成系统 )
  • EAI企业集成系统(基于大规模消息集成系统)
  • 基于WAP系统(多渠道/多种手机接入系统)
  • 后台批处理系统(高并发后台批处理类型 银行后台系统)
  • 基于SOA架构系统
  • 结合多个项目案例分析每种应用类型的架构风格特点,主要架构挑战和相应对策

Part7-软件架构模式应用

软件架构模式

  • 软件架构模式概述
  • 管道过滤器/事件架构/微内核/反射架构模式(其他10多种常见的架构模式)
  • .NET常见架构模式和J2EE架构模式
  • 分布式和并发架构模式
  • 典型案例分析:结合银行财富管理平台项目分析软件架构模式的应用经验

Part8-软件架构核心策略

业务逻辑和业务流程架构

  • 业务逻辑架构模式(事务模型/领域模型/服务层模式)  
  • 业务流程架构策略
  • 基于容器的业务逻辑架构(EJB和轻量级,以及容器提供的基础服务)
  • 面向方面的业务架构和AOP技术在业务逻辑架构的应用
  • 状态管理架构策略(有状态和无状态服务,以及对可扩展性的影响)
  • 业务逻辑的分布式架构策略(远程或本地/同步或异步)
  • 并发和同步架构模式(Half-Sync/Half-Async和Leader/Followers和Active Object和Monitor Object)
  • 基于中间件的业务逻辑架构(Tuxedo/Websphere MQ/J2EE/.NET)
  • 典型案例分析:结合某银行交易系统分析业务逻辑架构

系统基础服务组件架构

  • 系统基础服务组件架构策略
  • 系统通用服务层与业务逻辑分离
  • 系统必备13种基础服务架构(异常处理/事务管理/缓存/工作流/校验/通信/安全/日志/定时触发/状态/消息通信/系统监控/配置管理)
  • 业务通用服务架构实现策略
  • 结合多个项目实例分析,架构师如何萃取基础服务组件和怎样设计实现

Part9-云计算技术

云计算技术

  • 云计算技术概述
  • 云计算与网格计算
  • Google云计算技术
  • 微软云计算技术
  • 开源云计算系统简介
  • 开源云计算系统解决方法:Hadoop
  • 互联网SAAS云计算解决方案

Part10-大型软件系统架构实践与剖析

软件架构模式

  • 软件架构模式概述

综合软件架构实践与剖析(以实际项目案例为背景)

  • 金融行业—XXXX银行网银、财富管理软件架构案例研究
  • 大型互联网系统—淘宝电子商务架构案例研究
  • 中国电信CRM系统案例研究

 

课程信息

收费标准:5000元/人(费用含教材费、资料、文具、午餐);可代订食宿,费用自理。我司收到您的报名回执表后,参会的详细路线图在开课前一周以电子版的形式给您发至邮箱。

联系方式

联 系 人:林老师

手    机:13366649993

传    真:010-56106823

报名邮箱:linjing@yitraining.com

讲师资料:


程老师

【基本情况】

中科院软件所架构师,通晓国际项目环境和设计模式,熟悉中国企业的软件项目管理实践。曾主持过中央电视台、信息产业部、北京商业银行等多个大型复杂项目的开发工作,培训客户包括西门子、摩托罗拉、联想集团、一汽集团等几百家企业,有着非常深厚的理论基础和丰富的实际工作经验。

主要关注方向:软件项目管理、需求管理、敏捷开发、软件设计模式、软件架构设计、软件测试、网络分布式计算、数据库、网络操作系统,精通J2EESQL、中间件服务器。在J2EE技术领域具有理论功底和实践经验。

【资质证书】
  • Sun认证SCJP、SCDP、SCWSD
  • BEA Weblogic Server系统管理员
  • 微软的MCSD
  • 微软的MCSE
【培训授课专长】
  • 软件项目管理、开发管理
  • 敏捷开发
  • 需求分析和需求管理
  • 软件设计模式
  • 软件构架设计
  • UML、OOAD
  • 构建企业级SOA应用系统
  • J2EE企业级高级应用开发
【技能】
  • 精通J2EE体系架构、设计模式
  • 精通JSP、Servlet、JavaBeans、EJB和Web Services的开发、测试以及Struts、JSF、Hibernate、Spring等开源框架的使用
  • 精通开发工具: Eclipse、 JBuilder等
  • 精通中间件服务器,如 WeblogicServer、Weblogic Portal、Websphere、JBoss、Tomcat的配置、管理、性能调优
  • 精通基于IBM、BEA产品的SOA解决方案实现
  • 精通J2EE项目开发流程各个环节:从开发团队的搭建、管理和项目的管理和风险控制等
  • 精通Oracle、MS SQL Server、MySQL数据库的开发和管理
【近期授课的企业和课程】
  • 西门子中国研究院的软件项目管理
  • 诺基亚西门子研发中心的敏捷开发
  • 深圳卓望数码的软件项目管理
  • 深圳晨星科技的敏捷开发
  • 广东发展银行的敏捷开发
  • 大庆油田勘探研究院的敏捷开发
  • 完美时空网络有限公司的软件项目管理
  • 西门子中国研究院讲UML和OOAD
  • 中国移动设计研究院基于需求分析和软件架构设计
  • 航空工业集团设计院讲需求分析、UML、OOAD
  • 深圳富士康科技集团需求分析和软件架构设计、软件项目管理
  • 中国石化集团公司的SOA
  • 铁道部信息中心讲UML、weblogic、需求分析、架构设计
  • 航天信息集团的UML、OOAD
  • 神州数码的J2EE和weblogic
  • 鄂尔多斯集团需求分析、软件架构设计
  • 中国农业发展银行的J2EE架构设计、软件项目管理
  • 上海电信研究院的软件架构设计
  • 摩托罗拉中国软件中心的J2EE、Weblogic Server开发
  • 富士通软件(中国)有限公司的详细设计实践
【近期主持的软件项目】
  • 中国移动Mobile Market项目(使用敏捷方法开发的项目)
  • 中科院三明治空间抽样和统计分析软件(使用敏捷方法开发的项目)
  • 北京市商业银行内部信息系统
  • 中央电视台通用信息系统
  • 南京中兴电信工单系统
  • 中央电大教务管理系统项目
  • 国家某部委内部综合业务系统(涉密)
  • 新华人寿银宝通业务系统
  • 鄂尔多斯集团分销物流系统
  • 内蒙古汇能集团生产物料管理系统
  • 北京国电中能公司能源基础信息管理系统
  • 北京国电中能公司企业门户站点系统
  • 中国建设银行软件系统安全集中业务
  • 中国农业发展银行基于SOA的OCR新增值业务系统
  • 中国建设银行特色业务集成项目
  • 北京汉王科技基于SOA的WebOCR系统

 



易程培训长期致力于面向软件研发团队的培训与咨询专业机构,专注于软件研发中心快速成长,提升软件研发团队技能、改善研发流程及研发产品创新能力。分享行业软件研发团队最佳管理实践,致力成为中国最专业权威的IT高端技术专业培训机构!

销售服务热线 010-56106823- CopyRight © 2009-2018 易程培训

京ICP备12043667号-1