您好,欢迎访问广东培训网!
当前位置:首页 > 企业内训 > 人力资源 > 课程内容

高级面向对象系统架构师培训

  • 课程类型:内训课
  • 培训天数:3天
  • 用手机看:
    手机扫码
  • 授课老师:推荐
  • 课程编号:NX9228
  • 费用预算:根据方案进行定制
在线咨询
培训对象

技术总监、项目经理、主管、资深开发人员、测试经理及有志于成为系统架构师的技术人员

课程简介

课程大纲

第一单元:软件生命周期与软件架构介绍

一、软件架构介绍

1.IT行业的人才结构与软件架构师的定位

2.软件架构师应掌握的知识体系

3.软件架构设计的特点、层次、分类

4.软件架构的主要理论、方向和趋势

5.软件工厂,实现软件开发的产业化

二、软件生命周期进程模型介绍

1.RUP与XP

2.Agile与CMMI

3.MSF

第二单元:技术架构视图─面向对象程序设计原则与模式及方法论

一、衡量软件系统质量的标准

1.软件系统开始变坏的表现:硬化、脆弱、绑死、胶着。

2.软件系统关键的质量特性:正确性、健壮性、可扩展性、可复用性、兼容、可移植性、高效性、timeliness、economyandfunctionality

二、面向对象设计的基本原则

1.类的设计原则:

开闭原则、依赖倒置原则、Liskov替换原则、单一职责原则、接口分离原则、组合复用原则、所知最少原则

例:会议管理系统等、API函数的启示等

2.包内聚原则:发布与复用等价原则、共同封闭原则、共同复用原则

3.包耦合原则:无循环的依赖原则、稳定的依赖原则、稳定的抽象

三、用GRASP模式指导架构设计:

1.GRASP架构模式:

信息专家、创建者、高内聚、低耦合、控制者、多态、间接、纯虚构、保护变化

2.典型案例分析:

违反信息专家模式案例分析

应用信息专家模式案例分析

应用GRASP模式精化架构设计案例分析

四、软件架构设计的关键因素

1.什么是架构,它和系统是如何关联的。

2.如何获得可维护性、可扩展性、可重用性、互操作性等。

3.在系统中如何组织组件(Component)。

4.如何组织组件(Component)的内部。

5.如何保持平台相关的细节和应用的分离。

6.如何应用封装(encapsulation)、抽象(abstraction)和委派(delegation)的原则。

7.如何应用设计模式来实现好的结构。

五、案例分析:

模板容器、Movie查询等。

第三单元:用UML辅助系统分析与设计

一、UML中的常见疑难问题辨析

1.用例图

1)参与者建模中的常见问题。

2)用例建模中的常见问题。

3)UaseCase的本质讨论。

2.类设计

1)UML中关系的辨析:

依赖关系、关联关系辨析;聚合,组合辨析。

2)类设计中的常见问题:

1)一些常见但易混淆的类关系图;

2)熟悉类的自关联形式;使用关联类;

3)一些易混淆的重数表示方法

4)建模为对象与建模为属性/建模为方法与建模为对象的辨析。

3.其它辨析

1)包与组件。

2)扩展基类与覆盖基类等;自关联、关联多重性、关联角色名辨析。

3)消除多重继承的常用手段。

二、借鉴RUP的设计过程。

1.全局分析:

选用架构模式;识别关键抽象;标识分析机制;常见的分析机制

2.局部分析:

提取分析类:

分析类的类型划分:边界类、实体类、控制类,分析类在模型中的位置,边界类的复用,控制类的变通。

分析动态场景:

消息与责任;事件序列在边界、实体及控制类间的原则;控制类在交互图中的表现特征;交互图的正确性。

整理分析类:

分析类的责任和关联关系;动态与静态的关系;确定类的责任;设计类和子系统接口。

三、实践:

四、投递系统分析设计。

第四单元:设计模式与软件设计思想

一、GOF设计模式。

1.使用GOF设计模式,借鉴前人的经验。

2.分析创建型模式:

单例模式(Singleton)、工厂模式、抽象工厂模式(Abstractfactory)

3.分析结构型模式:

4.桥梁模式(Bridge)、装饰模式(Decorator)、适配器模式(Adapter)、代理模式(Proxy)、组合模式(Composite)

5.分析行为型模式:

6.命令模式(Command)、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、模板方法模式(TemplateMethod)、访问者模式(TemplateMethod)

二、设计模式深入讨论:

1.设计模式的本质:

2.隔离变化点;间接;透明;局部双向依赖;逻辑与功能;用接口抹平差异、延迟调用。

3.模式的推演:

4.掌握模式的本质,而非形式。

5.设计模式的高级运用:

6.高手的选择;神似而非形似;一切以工程实际为标准;可以牺牲掉的特征;简化的模式;防止滥用;自创的模式。

三、常用的软件架构风格及适用情况分析:

1.系统软件

2.分层(Layer)、管道和过滤器(PipesandFilters)、黑板(Blackboard)

3.分布式软件

4.经纪人(Broker)、客户/服务器(Client/Server)、点对点(PeertoPeer)

5.交互软件

6.模型-视图-控制器(Model-View-Controller)、显示-抽象-控制(Presentation-Abstraction-COntrol)

四、SOA的设计思想:

1.SOA的概念。

2.SOA的设计目标

异构性Heterogeneity;可伸缩性Scalability;适用性Availability;分布式Distribution;.机动性Flexibility;可见性

五、典型案例分析:

六、媒体显示、数据采集系统、编辑器、文件解析器。

第五单元:架构设计实践

一、静态设计:

1.按层+高内聚低耦合的原则进行模块划分

高内聚原则;按功能分解;按业务进行分解;以数据转换为中心分解;实际运用中的折中。

2.划分层次

3.将模块划入对应的层;分层与分区;逻辑模块与实体组件的对应关系。

4.为模块进行职责分配

隔离关注面:低耦合原则;适当采用设计模式;

用设计模式优化核心结构:经典模式运用:

用桥接模式作为中心骨架。

用桥接模式作为中心骨架。

用工厂模式进行组装。

用命令模式处理事务。

模块结构的常见形式

容器模块+控制者+功能模块+临时构建的小类;单例模式;命令模式。

核心模块的接口设计。

外观模式;适配器模式;代理模式;中介者模式。

其它形式的的模块结构:变换型模块结构;事务型模块结构。

二、模块间的通信及耦合设计:

1.组件式编程。

2.通讯机制:

3.观察者模式;本地SDK;轮训。

4.解耦:

5.针对接口编程;增加间接模块;依赖注入。

6.设计数据层

数据结构选用的设计;数据访问层的设计

三、动态设计:

1.抽象与统一不同的因素

根据业务寻找关键因素;统一到复杂的情况。

2.常用的流程抽象手段:

依赖注入/控制反转;表格法;配置文件。

3.逻辑控制:

控制者模式;信息专家模式。

4.消息通知机制

MVC模式;观察者模式;责任链模式;中介者模式。

四、模块调整:

1.调整模块等级。

适当封装;把属性提升为类;将类降为属性;将类提升为组件。

2.用设计模式优化设计

在主体的框架上进行调整:访问者模式;装饰模式。

3.编码时构建适当的动态临时类。

命令模式;事务处理类型。

4.效率的优化

效率与结构的折中:优化效率的3步骤。

第六单元:软件架构设计案例分析

一、综合架构案例剖析

1.商店POS系统架构设计

2.薪酬系统架构设计

3.仓库管理系统架构设计

二、实战典型案例分析(以实际项目案例为背景)

1.需求分析、领域建模:零售店销售系统

2.设计模式的综合运用:Dvc文件分析系统

3.架构分析:互联网商品数据分析系统

4.综合案例分析:

图像处理系统

基于搜索的二次开发系统

讲师介绍

康老师,国内资深高级系统架构师,UML/RUP专家,现任国内某知名企业研究院首席架构师,软件设计师。具有15年的从事IT行业的软件开发、系统架构设计分析经验。熟悉中国企业的需求管理,经历过多种文化氛围与组织形态,对大型项目、系统工程管理有着深入的实践与体会。最难能可贵的是康老师现在一直工作在实际项目的大型软件开发、系统架构设计的一线。主要客户包括:中国工商银行、中国农业银行、国家开发银行、交通银行、中国铁通、中国电信、中电集团、中石油、中石化、西南电信、海关总署、中国科学院计算机网络信息中心、中国航天研究院、上海盛大网络、上海证券研究所、上海携程计算机、杭州恒生电子等上百家企事业单位。

内训服务流程
内训服务流程
在线报名/咨询
联 系 人 :
联系方式:
公司名称:
咨询事项: