面向对象软件架构设计实践
培训讲师:康凯
面向对象软件架构设计实践详细内容
面向对象软件架构设计实践
一、 培训大纲
第一单元:软件生命周期与软件架构介绍一、软件架构介绍 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. 综合案例分析: 图像处理系统基于搜索的二次开发系统
康凯老师的其它课程
高效能人士的七个习惯 05.09
课程背景:2002年,福布斯将《高效能人士的七个习惯》评为有史以来最具影响力的10大管理类书籍之一。该书在全球以32种语言发行过亿册。史蒂芬·柯维曾被《时代》杂志誉为“人类潜能的导师”,并入选为全美25位最有影响力的人物之一。财富500强中80以上的公司都有把此课程当作其职员必备学习的课程。播种思想,收获行动,播种行动,收获习惯,播种习惯,收获品格,播种品格
讲师:于唐山详情
一、培训目的与培训目标1培训目的:1.1帮助员工加速职业化进程,提升员工的胜任力,进而创造高绩效;1.2帮助企业有效降低流失率,提升员工的稳定性,降低因员工流失造成的巨大损失。2培训目标:2.1开展系统分析,提升职业认知,谋划好前程;2.2培养职业心态,提升职业素养,激发正能量;2.3学习工作方法,提升胜任能力,创造高绩效。二、培训对象与参训人数1培训对象:
讲师:薛老师详情
房地产行业土地增值税清算及其他税收政策解析 01.11
【主讲内容】第一部分:土地增值税政策运用解析1、土地增值税的纳税义务人、征收范围2、有偿转让及收入的界定3、新房旧房的区分标准及土地增值税的计算方法4、土地增值税与会计核算的关系5、土地增值税预交的规定6、土地增值税清算不同于所得税7、什么情况下要清算土地增值税8、如何计算土地增值税9、土地增值税的视同销售10、土地增值税有哪些优惠政策11、无发票如何清算土
讲师:李民详情
房地产开发企业全周期会计核算及税收风险分析 01.11
【主讲内容】第一部分:房地产开发成本会计核算与税收政策协调一、房地产项目开发周期概述1、项目筹建期的会计核算(国家税务总局2012年15号公告)2、制造成本法与完全成本法对比分析3、筹建期时间长短的把握及账簿的设立二、土地开发阶段的会计处理及税收分析,取得方式决定核算方法1、以招、拍、挂方式取得土地成本的确定2、以分立方式取得土地成本的确定3、以购买股权方式
讲师:李民详情
- [潘文富] 经销商终端建设的基本推进
- [潘文富] 中小企业招聘广告的内容完
- [潘文富] 优化考核方式,减少员工抵
- [潘文富] 厂家心目中的理想化经销商
- [潘文富] 经销商的产品驱动与管理驱
- [王晓楠] 辅警转正方式,定向招录成为
- [王晓楠] 西安老师招聘要求,西安各区
- [王晓楠] 西安中小学教师薪资福利待遇
- [王晓楠] 什么是备案制教师?备案制教
- [王晓楠] 2024年陕西省及西安市最
- 1社会保障基础知识(ppt) 21160
- 2安全生产事故案例分析(ppt) 20239
- 3行政专员岗位职责 19048
- 4品管部岗位职责与任职要求 16223
- 5员工守则 15461
- 6软件验收报告 15395
- 7问卷调查表(范例) 15113
- 8工资发放明细表 14555
- 9文件签收单 14195