软件体系结构与
设计模式

(第三部分:面向对象分析与设计方法,第7章)

李欣

Created: 2022-05-10 Tue 23:57

0.1. 互动课堂

Click to host the seminar.

0.2. 本次课的目标

第三部分:面向对象分析与设计方法

第7章:软件体系结构与设计模式

  • 软件体系结构的基本概念
  • 典型的体系结构风格
  • 特定领域的软件体系结构
  • 分布式系统结构
  • 体系结构框架
  • 设计模式

1. 软件体系结构的基本概念

1.1. 什么是体系结构

一个程序或计算机系统的软件体系结构是指系统的一个或者多个结构。 结构中包括软件的构件、构件的外部可见属性以及它们之间的相互关系。

1.2. 体系结构模式、风格和框架的概念

  • 模式

software-architecture-pattern.png

  • 风格
  • 框架

1.3. 体系结构的重要作用

  • 体系结构的表示有助于风险承担者(项目共利益者)进行 交流
  • 体系结构突出了早期设计 决策
  • 软件体系结构是 可传递可复用 的模型

2. 典型的体系结构风格

2.1. 数据流风格

  • 管道/过滤器
  • 批处理序列

2.2. 调用/返回风格

  • 主程序/子程序体系结构
  • 面向对象风格
  • 层次结构风格

2.3. 仓库风格

  • 数据库系统
  • 超文本系统
  • 黑板系统

3. 特定领域的软件体系结构

  • 类属模型
  • 参考模型

4. 分布式系统结构

硬件技术的发展具有两个主要的 趋势

  • 带有多CPU的计算机系统逐渐进入小型办公场所
    • IBM OS/2 Warp, IBM z/OS
    • Microsoft Windows NT
    • UNIX
  • 在局域网内链接成百上千台不同种类的计算机已经变得很平常

分布式计算模型主要具有以下 优点

  • 资源共享
  • 经济性
  • 性能和可扩展性
  • 固有分布性
  • 健壮性

4.1. 多处理器体系结构

4.2. 客户机/服务器体系结构

客户机/服务器(C/S)体系结构 有3个主要组成部分:

  • 服务器 : 负责给其他子系统 提供服务
  • 客户机 : 向服务器 请求服务
  • 网络连接 客户机和服务器

cs-architecture-types.png

4.3. 分布式对象体系结构

4.4. 代理

5. 体系结构框架

5.1. 模型-视图-控制器

mvc-architecture.png

5.2. J2EE体系结构框架

5.3. PCMEF与PCBMER框架

  • PCMEF框架
  • PCBMER框架

6. 设计模式

  • 抽象工厂
  • 单件
  • 外观
  • 适配器
  • 职责链
  • 中介者
  • 观察者

7. 课后作业

  1. (习题7.6) 浏览器/服务器体系结构有什么优点和缺点?
  2. (习题7.9) 什么是设计模式?常用的设计模式有哪些?