软件体系结构-概述

软件体系结构的定义

软件体系结构 = 构件+连接件+约束,它是可预制和可重构的软件框架结构。

构件:

  • 可预制可重用的软件部件,是组成体系结构的基本计算单元或数据存储单元
  • 指一个计算单元或数据存储单元,可以是一个处理过程或数据元素
  • 是用于实现计算和状态的单元,可以工作在客户端、服务器端、数据库或层等
  • 可简单可复杂。一个体系结构有一些描述系统的复杂构建组成

连接件:

  • 也是可预制可重用的软件部件,是构件之间的连接单元
  • 是体系结构的一个元素,可用于建模构件之间的相互作用,控制这些相互作用的规则
  • 简单的相互作用:过程的调用,访问共享变量等
  • 复杂和语义相关的相互作用:客户端-服务器协议、数据库访问协议、异步事件的多点传送、管道数据流

约束:

  • 构件和连接件之间的关系用约束来描述
  • 描述了体系结构的配置和拓扑要求
  • 用于描述软件体系结构的构成,确定了体系结构的构件和连接件之间的连接关系:
    • 正确的连接性
    • 并发和分布性
    • 符合设计的启发式和风格规则

软件体系结构的意义

  • 体系结构有助于确保系统能够满足其利益相关人的关注点;构想、计划、构建、维护系统时,体系机构有助于处理复杂性

  • 开发一个具有一定规模和复杂性的软件系统和编写一个简单的程序是不一样的

软件体系结构的发展

大三律:只有经过 3 个以上不同类型(或不同领域)的系统的校验,一个解决方案才能从候选模式升格为模式。

软件体系结构的优势

  1. 容易理解
    • 从一个高层设计的抽象层次来表征一个系统
    • 简化了我们理解庞大系统的能力
  2. 重用
    • 重用大的构件
    • 重用一些集成构件的框架
    • 特定领域的软件体系结构
    • 设计模式
  3. 控制成本
    • 系统维护者可以更好的理解变更带来的影响,可以更加精确的估算变更所需的成本
  4. 可分析性
    • 对系统的一致性检查提供高层次的视图
    • 研究系统是否与某种体系结构风格相符合
    • 对符合特定风格的特定领域系统的体系结构分析
    • 分析依赖于其中的构件