端海教育集团
全国报名免费热线:4008699035 微信:shuhaipeixun
或15921673576(微信同号) QQ:1299983702
首页 课程表 在线聊 报名 讲师 品牌 QQ聊 活动 就业
 
 
   班级规模及环境--热线:4008699035 手机:15921673576( 微信同号)
       坚持小班授课,为保证培训效果,增加互动环节,每期人数限3到5人。
   上课时间和地点
上课地点:【上海】:同济大学(沪西)/新城金郡商务楼(11号线白银路站) 【深圳分部】:电影大厦(地铁一号线大剧院站)/深圳大学成教院 【北京分部】:北京中山学院/福鑫大楼 【南京分部】:金港大厦(和燕路) 【武汉分部】:佳源大厦(高新二路) 【成都分部】:领馆区1号(中和大道) 【沈阳分部】:沈阳理工大学/六宅臻品 【郑州分部】:郑州大学/锦华大厦 【石家庄分部】:河北科技大学/瑞景大厦 【广州分部】:广粮大厦 【西安分部】:协同大厦
最近开课时间(周末班/连续班/晚班):2024年12月30日
   实验设备
     ☆资深工程师授课
        
        ☆注重质量 ☆边讲边练

        ☆合格学员免费推荐工作
        ★实验设备请点击这儿查看★
   质量保障

        1、培训过程中,如有部分内容理解不透或消化不好,可免费在以后培训班中重听;
        2、课程完成后,授课老师留给学员手机和Email,保障培训效果,免费提供半年的技术支持。
        3、培训合格学员可享受免费推荐就业机会。

课程大纲
 
第一单元:软件生命周期与软件架构介绍
一、软件架构介绍
1.       IT行业的人才结构与软件架构师的定位
2.       软件架构师应掌握的知识体系
3.       软件架构设计的特点、层次、分类
4.       软件架构的主要理论、方向和趋势
5.       软件工厂,实现软件开发的产业化
二、软件生命周期进程模型介绍
1.       RUP与XP
2.       Agile与CMMI
3.       MSF
 
第二单元:技术架构视图─面向对象程序设计原则与模式及方法论
一、衡量软件系统质量的标准
1.       软件系统开始变坏的表现:硬化、脆弱、绑死、胶着。
2.       软件系统关键的质量特性:正确性、健壮性、可扩展性、可复用性、兼容、可移植性、高效性、timeliness、economy and functionality
二、面向对象设计的基本原则
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.       分析结构型模式:
  桥梁模式(Bridge)、装饰模式(Decorator)、适配器模式(Adapter)、代理模式(Proxy)、组合模式(Composite)
4.       分析行为型模式:
命令模式(Command )、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、访问者模式(Template Method)
二、设计模式深入讨论:
1.       设计模式的本质:
隔离变化点;间接;透明;局部双向依赖;逻辑与功能;用接口抹平差异、延迟调用。
2.       模式的推演:
掌握模式的本质,而非形式。
3.       设计模式的高级运用:
高手的选择;神似而非形似;一切以工程实际为标准;可以牺牲掉的特征;简化的模式;防止滥用;自创的模式。
三、常用的软件架构风格及适用情况分析:
1.       系统软件
分层(Layer)、管道和过滤器(Pipes and Filters)、黑板(Blackboard)
2.       分布式软件
经纪人(Broker) 、客户/服务器(Client/Server)、点对点(Peer to Peer)
3.       交互软件
模型-视图-控制器(Model-View-Controller)、显示-抽象-控制(Presentation-Abstraction-COntrol)
四、SOA的设计思想:
1.       SOA的概念。
2.       SOA的设计目标
异构性Heterogeneity;可伸缩性Scalability;适用性Availability;分布式Distribution; .机动性Flexibility;可见性
五、典型案例分析:
媒体显示、数据采集系统、编辑器、文件解析器。
 
第五单元:架构设计实践
一、             静态设计:
1.       按层+高内聚低耦合的原则进行模块划分
高内聚原则;按功能分解;按业务进行分解;以数据转换为中心分解;实际运用中的折中。
2.       划分层次
将模块划入对应的层;分层与分区;逻辑模块与实体组件的对应关系。
3.       为模块进行职责分配
隔离关注面:低耦合原则;适当采用设计模式;
用设计模式优化核心结构:经典模式运用:
用桥接模式作为中心骨架。
用桥接模式作为中心骨架。
用工厂模式进行组装。
用命令模式处理事务。
模块结构的常见形式
容器模块 + 控制者 + 功能模块 + 临时构建的小类;单例模式;命令模式。
核心模块的接口设计。
外观模式;适配器模式;代理模式;中介者模式。
其它形式的的模块结构:变换型模块结构;事务型模块结构。
二、模块间的通信及耦合设计:
1.       组件式编程。
2.       通讯机制:
观察者模式;本地SDK;轮训。
3.       解耦:
针对接口编程;增加间接模块;依赖注入。
4.       设计数据层
数据结构选用的设计;数据访问层的设计
三、动态设计:
1.       抽象与统一不同的因素
根据业务寻找关键因素;统一到复杂的情况。
2.       常用的流程抽象手段:
依赖注入 / 控制反转;表格法;配置文件。
3.       逻辑控制:
控制者模式;信息专家模式。
4.       消息通知机制
MVC模式;观察者模式;责任链模式;中介者模式。
四、模块调整:
1.       调整模块等级。
适当封装;把属性提升为类;将类降为属性;将类提升为组件。
2.       用设计模式优化设计
在主体的框架上进行调整:访问者模式;装饰模式。
3.       编码时构建适当的动态临时类。
命令模式;事务处理类型。
4.       效率的优化
效率与结构的折中:优化效率的3步骤。   
 
第六单元:软件架构设计案例分析
一、综合架构案例剖析
1.       商店POS系统架构设计
2.       薪酬系统架构设计
3.       仓库管理系统架构设计
二、实战典型案例分析(以实际项目案例为背景)
1.       需求分析、领域建模:零售店销售系统
2.       设计模式的综合运用:Dvc文件分析系统
3.       架构分析:互联网商品数据分析系统
4.       综合案例分析:
图像处理系统
基于搜索的二次开发系统

 

 

 

 

 

 

 

 

 

 
 
 
热线:4008699035 手机:15921673576( 微信同号)
备案号:备案号:沪ICP备08026168号-1 .(2014年7月11).....................
友情链接:Cadence培训 ICEPAK培训 EMC培训 电磁兼容培训 sas容培训 罗克韦尔PLC培训 欧姆龙PLC培训 PLC培训 三菱PLC培训 西门子PLC培训 dcs培训 横河dcs培训 艾默生培训 robot CAD培训 eplan培训 dcs培训 电路板设计培训 浙大dcs培训 PCB设计培训 adams培训 fluent培训系列课程 培训机构课程短期培训系列课程培训机构 长期课程列表实践课程高级课程学校培训机构周末班培训 南京 NS3培训 OpenGL培训 FPGA培训 PCIE培训 MTK培训 Cortex训 Arduino培训 单片机培训 EMC培训 信号完整性培训 电源设计培训 电机控制培训 LabVIEW培训 OPENCV培训 集成电路培训 UVM验证培训 VxWorks培训 CST培训 PLC培训 Python培训 ANSYS培训 VB语言培训 HFSS培训 SAS培训 Ansys培训 短期培训系列课程培训机构 长期课程列表实践课程高级课程学校培训机构周末班 端海 教育 企业 学院 培训课程 系列班 长期课程列表实践课程高级课程学校培训机构周末班 短期培训系列课程培训机构 端海教育企业学院培训课程 系列班