高级软件架构设计.ppt
高级软件架构设计;目录;第一单元:软件生命周期与软件架构介绍;;软件架构师的定位;;;;;软件架构师的知识体系;;?;软件架构师在干什么?;软件架构师的知识结构;软件架构师的知识结构;软件架构师的思维方式;软件架构师的思维方式;信息系统综合知识体系;;软件架构知识体系;;软件架构师的任职条件;;第二单元:技术架构视图─面向对象程序设计原那么与模式;25;26;用GRASP模式指导设计;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;领域模型;;层次结构;;领域模型;失血模型;贫血模型;充血模型;;胀血模型;;EJB到轻量级框架;EJB;;;;;;;;;部署POJO程序;;;面向对象设计的根本原那么;72;liskov替换原那么〔LSP〕;子类型必须能够替换掉其基类型;违反LSP导致违反OCP的简单例子;改善;例:会议管理系统;例:GUI对象;;;改善2;例;接口隔离原那么〔ISP〕;例;使用委托别离接口;使用多重继承别离接口;内接口与外接口;普通接口与智能接口;软件系统坏死的病症;“Copy”程序;需求在变化;需求在变化2;依赖倒置原那么〔DIP〕;相关概念;接口和实现别离?;;;;电影清单的例子;;对抗变化;配置文件;第三单元:用UML辅助系统分析与设计;UML简介及常见疑难问题辨析;;UML中的关系;一些常见问题辨析;层次结构;领域建模-重数;细化类模型;关联角色;;关联类;Actor的一些本卷须知;用例的一些本卷须知;仓库信息系统的用例图;借鉴RUP的UML建模与分析
;全局分析;全局分析;局局部析;局局部析;局局部析;局局部析;局局部析;局局部析;分析类的职责;分析类的职责;分析类经验法那么;;分析类经验法那么;第四单元:设计模式与软件设计思想;设计模式;设计模式在实际开发中的运用;GoF中的模式分类;设计模式的特点;例;;;例;;;策略〔Strategy〕模式;练习;原始的类与接口;例:电子零售系统;分析矩阵;桥接〔Bridge〕模式;;例;需求变化;识别变化;描述变化;桥接模式;观察者〔observer〕模式;;命令〔command〕模式;;例子;结构;其它设计模式;;例;问题;VISITOR模式的结构;VISITOR+组合模式;例:报表生成器;VlSITOR模式的解决方法;其它模式;DECORATOR模式;多个Decorator;;常用的软件架构风格及适用情况分析;;软件架构概论;;架构的目标;架构的目标;;架构的种类;逻辑架构;物理架构;系统架构;??构的两要素;软件框架;框架;为什么要用框架;常见的框架;常见的JAVA框架;.NET框架;C++框架;不同层次的模式;;几种典型的架构模式;其它;分层(Layer);分层模型;;管道和过滤器〔PipesandFilters〕;;;解决方案与结构;优点与缺点;黑板(Blackboard);经纪人(Broker);;客户/效劳器〔Client/Server〕;优缺点;点对点〔PeertoPeer〕;模型-视图-控制器〔MVC〕;模型—视图—控制器交互的示意图;模型:视图:控制器:;SOA及分层架构设计;SOA的架构的特点;;;;;;;OOAD;;SOAD效劳定义层次;;;第五单元:架构设计实践;;一、静态设计;一、静态设计〔续〕;一、静态设计〔续〕;二、模块间的通信及耦合设计;二、模块间的通信及耦合设计〔续〕;三、动态设计;四、模块调整;四、模块调整〔续〕;