- 适合对象:开发团队中的设计人员,系统分析人员,开发、测试主管或项目经理,以及有望或有志成长
- 教学师资:中软培训讲师、国内资深高级系统架构师,UML/RUP专家,现任国内某知名企业研究院
- 相关资料:中软培训中心内部教材
- 选择班级:
软件架构设计较好实践课程培训班
在软件开发项目中,系统架构师是软件项目的总设计师,是软件企业新产品、新技术体系的构建者,是目前软件开发中急需的高层次技术人才,为建立符合中国国情的软件开发架构设计体系,结合我国现有的软件企业开发环境,同时针对软件需求的多种场景进行综合分析,参照国际上规范的软件过程模型,中软培训中心(原信息产业部计算机技术培训中心)特此开展高级系统架构系列培训,以提高企业在软件开发中的系统架构设计能力、使其达到高级系统架构师的基本要求。
培训大纲:
第一单元:软件生命周期与软件架构介绍
一、软件架构介绍
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)用设计模式优化核心结构:
经典模式运用:用桥接模式作为中心骨架、用工厂模式进行组装、用命令模式处理事务。
模块结构的常见形式:容器模块 + 控制者 + 功能模块 + 临时构建的小类;单例模式;命令模式。
核心模块的接口设计:外观模式;适配器模式;代理模式;中介者模式。
其它形式的的模块结构:变换型模块结构;事务型模块结构。
二、模块间的通信及耦合设计:
1.组件式编程。
2.通讯机制:观察者模式;本地SDK;轮训。
3.解耦:针对接口编程;增加间接模块;依赖注入。
4.设计数据层:数据结构选用的设计;数据访问层的设计
三、动态设计:
1.抽象与统一不同的因素:根据业务寻找关键因素;统一到复杂的情况。
2.常用的流程抽象手段:依赖注入 / 控制反转;表格法;配置文件。
3.逻辑控制:控制者模式;信息专家模式。
4.消息通知机制:MVC模式;观察者模式;责任链模式;中介者模式。
四、模块调整:
1.调整模块等级。适当封装;把属性提升为类;将类降为属性;将类提升为组件。
2.用设计模式优化设计。在主体的框架上进行调整:访问者模式;装饰模式。
3.编码时构建适当的动态临时类。命令模式;事务处理类型。
4.效率的优化。效率与结构的折中:优化效率的3步骤。
第六单元:软件架构设计案例分析
一、 综合架构案例剖析
1.商店POS系统架构设计
2.薪酬系统架构设计
3.仓库管理系统架构设计
二、 实战典型案例分析(以实际项目案例为背景)
1.需求分析、领域建模:零售店销售系统
2.设计模式的综合运用: Dvc文件分析系统
3.架构分析: 互联网商品数据分析系统
4.综合案例分析:图像处理系统、基于搜索的二次开发系统 软件架构设计较好实践课程培训优选中软培训中:心
中软培训中心(原信息产业部计算机技术培训中心)是工信部领导下的国家级计算机软件、硬件与网络安全及国内信息产业领域具有权威性、最有影响力的计算机技术培训机构;是第一家通过ISO-9001国际质量体系认证的计算机技术培训中心;是中国成立最早的、具有国际先进水平的计算机培训实体,中心雄厚的技术实力和优秀业绩得到了国家各级政府和国际计算机界的认可。同时中心也是Sun、微软、Oracle、Cisco、Compaq、Lotus等跨国计算机公司在国内开展IT国际认证培训业务的中国授权培训中心及合作伙伴,也是Prometric和VUE两家国际考试公司的授权考试中心。
特别提醒:本站不提供涉及考试机构、命题人员等 参与的教育、培训;所有项目均不能保证通过升学、考试、考证;如在相关内容中使用自我比较的程度分级、表达经营理念和追求目标时不慎包含了极限用词或不恰当的内容,请用户予以谅解并及时【投诉反馈】,我们将及时整改。
班级名称 | 上课地点 | 上课时间 | 参考价格 | ||
---|---|---|---|---|---|
软件架构设计较好实践课程培训班 | 昌平基地 | 电话预约 | 请咨询 | 预约回访 |
来自 Andy 的咨询提问时间:05-13 16:47:00
京ICP备09016931号-3 京公网安备11010802040892号 法律顾问:王晋刚
CopyRight © since 2006 xuetue,All Rights Reserved. 版权所有 校园通(北京)科技有限公司