1 决策

功能性需求:基于特定的体系结构模式或风格

非功能性需求:性能、信息安全性(security)、安全性(safety)、可用性、可维护性

2 体系结构视图

  1. 逻辑视图

    显示系统中对象和对象类的一些主要抽象

  2. 进程视图

    显示在运行时系统是如何组织为一组交互的进程

    • 对非功能系统特征的判断有效
  3. 开发视图

    将软件分解成可以由单独的开发人员或开发团队实现的组件

    • 软件的管理者、程序员
  4. 物理视图

    显示系统硬件和系统中软件组件是如何分布在处理器上的。

    • 系统工程师

3 体系结构模式

  1. MVC

    M:管理系统数据和在数据上的操作

    V:定义和管理如何显示数据给用户

    C:管理用户的交互

  2. 分层体系结构

    1. 系统支持(操作系统、数据库等)
    2. 核心业务逻辑/应用功能 系统实用程序
    3. 用户界面管理 身份验证和授权
    4. 用户界面
  3. 容器体系结构

    系统所有数据在一个中央容器中管理,该中央容器可被所有系统组件访问。组件间不直接交互,它们只通过容器进行交互

    ​ 例子:IDE

    使用时机:一个系统中所生成的大量信息需要持久保存时,可以使用该模式。也可以在数据驱动系统中使用该模式,每当在容器中收入数据时将触发一个动作或工具。

    优点:组件独立

    缺点:容器出问题,整个系统出问题

  4. C/S结构

    系统功能以服务形态存在,每一个服务来自于某个单独的服务器

    优点:服务器可以分布在网络上

  5. 管道和过滤器体系结构

    系统运行时组织的模型