课程主题
|
课程内容
|
软件架构视图
|
² 软件架构视图的意义,软件架构师的多维思考
² 逻辑视图、开发视图、物理视图、运行视图、场景视图、数据视图、功能视图
² 如何和怎样绘制软件架构视图
² UML建模工具在架构视图的应用
|
|
² 软件生命周期及常见软件开发方法(RUP、XP、MSF等)
² 软件架构的主要理论、方向和趋势
² 软件架构师应掌握的知识体系
² 软件架构设计的特点、层次、分类
² 软件工厂,实现软件开发的产业化
典型案例分析:结合多个项目实例,进行分析和评价软件架构文档
|
架构设计的GRASP模式
|
² 什么是GRASP设计模式
² 信息专家模式和应用场景,以及案例分析
² 创建者模式和应用场景,以及案例分析
² 高内聚/低耦合模式和应用场景,以及案例分析
² 控制者模式和应用场景,以及案例分析
² 多态纯虚构模式和应用场景,以及案例分析
² 间接/保护变量模式和应用场景,以及案例分析
² 保护变量模式的重要意义。
典型案例:结合大量具体项目案例进行分析:演示GRASP模式在架构设计中的实际运用
|
质量属性驱动
|
² 什么是系统质量属性,如何进行质量属性进行驱动架构设计
² 架构和质量属性的关系
² 如何获得可维护性、可扩展性、可靠性、互操作性,系统性能,安全性等
² 系统架构的可靠性设计策略
² 系统架构的可修改性设计策略
² 系统架构的性能设计策略
² 系统架构的安全性设计策略
² 系统架构的易用性设计策略
² 系统架构质量属性和架构模式的应用
典型案例分析:架构策略如何应用在自己的实际项目中
|
软件架构模式分析及其实际运用
|
² 软件架构模式概述
² 分层架构模式(Layer)
² 管道过滤器模式(Pipe/Filter Pattern)
² MVC/PVC模式(MVC/PVC Pattern)
² 基于事件相应的模式(Event-Based Pattern和Microkernel Pattern)
² 解释器和黑板模式(Blackboard)
² 分布式和并发架构设计模式
² 其他模式的介绍(元数据等)
典型案例分析:软件架构模式如何应用在自己的实际项目中
典型案例分析:架构师实际项目架构的经验总结和实际应用
|
架构设计原则
|
² 抽象(Abstraction)、封装(Encapsulation)和信息隐藏(Information Hiding)
² 分而治之(Divide-And-Conquer)和模块化(modularization)
² 松耦合和高内聚(Coupling and Cohesion)
² 策略和实现的分离(Separation of Policy and Implementation)
² 接口和实现的分离(Separation of Interface and Implementation)
² 单一引用点(Single Point of Reference)
典型案例分析:架构原则在实际项目中应用
|
面向对象的设计原则
|
² 开闭原则(OCP:Open-Closed Principle)
² 依赖倒置原则(DIP:Dependency Inversion Principle)
² 控制反转(IOC: Inversion of Control)
² Liskov替换原则(LSP: Liskov Substitution Principle LSP)
² 接口分离原则( ISP: nterface Segregation Principle)
² 单一职责原则 (SRP:Single Responsibility Principle )
典型案例分析:结合项目实例,进行原则的综合运用分析
|
架构设计验证
|
² 使用GOF设计模式,借鉴前人的经验。
² 分析创建型模式:单例模式(Singleton)、工厂模式、抽象工厂模式(Abstractfactory)
² 分析结构型模式:桥梁模式(Bridge)、装饰模式(Decorator)、适配器模式(Adapter)、代理模式(Proxy)、组合模式(Composite)
² 分析行为型模式:命令模式(Command )、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、模板方法模式(Template Method)、访问者模式(Template Method)
典型案例分析:结合项目实例,分析设计模式的实际运用
|
设计模式本质
|
² 设计模式的本质
² 设计模式的使用误区
² 框架设计中的反模式
典型案例分析:结合项目实例,分析经典模式运用及反模式误用
|
领域模型及业务逻辑层在架构设计中的实现
|
² 领域模型设计
² 服务facade设计
² 业务逻辑层实体设计
² 业务逻辑层框架(EJB,Springframework,.Net框架)
² 失血模型、贫血模型、充血模型、胀血模型的取舍
典型案例分析:结合项目实例分析,领域模型、业务逻辑层的架构设计
|
数据访问层设计(持久层设计)
|
² 5种数据访问模式(在线访问,Data Access Object,Data Transfer Object,离线数据模式,对象/关系映射)
² 数据访问层组件设计
² 工厂模式在数据访问层应用
² ORM、Hibernate,JPA与SQLMap(iBatis)设计思想
² 缓存技术在存取层的应用
² 数据访问层的性能考虑
² 事务管理和数据的同步与锁
典型案例分析:结合项目实例分析,数据访问层的架构设计
|
借鉴RUP中的设计流程
|
² UML建模概要
² UML中的易混淆问题辨析
² UML使用误区
² 全局分析、局部分析、全局设计、局部设计
² 设计中的边界、控制、实体及其关系
² 分析类的整理
² 设计中的经验法则
典型案例分析:结合项目实例分析,重点分析设计中易犯的错误
|
SOA的设计思想
|
² SOA的概念。
² SOA的设计目标
² SOA基础架构和企业服务总线ESB
² 服务识别,分类,实现
² BPM、工作流引擎与SOA
典型案例分析:结合项目实例分析
|
|
² 静态设计:
² 模块间的通信及耦合设计:
² 动态设计:
² 模块调整:
典型案例分析:结合项目实例分析
|
软件系统架构实践与剖析
|
Web2.0项目失败的案例研究
网络数据获取及分析案例研究
超市POS收款系统软件架构案例研究
信息发布系统架构案例研究
|