《系统架构设计师教程(第2版)》第10章-软件架构的演化和维护-01-软件架构演化概述

文章目录

  • [1. 演化的重要性](#1. 演化的重要性)
  • [2. 架构演化示例](#2. 架构演化示例)

教材中,本节名为:"软件架构演化和定义的关系"

1. 演化的重要性

  • 演化目的:维持软件架构自身的有用性
  • 为什么说,软件架构是演化来的,而不是设计来的?
    软件架构的演化就是软件整体结构的演化,演化过程涵盖软件架构的全生命周期,包括软件架构需求的获取、软件架构建模、软件架构文档、软件架构实现以及软件架构维护等阶段。
  • 架构演化的重要性

    1. 软件架构演化保障软件系统向人们的预期方向发展

    软件架构作为软件系统的骨架支撑着整个软件系统,是软件系统具备良好特性的重要保障,

    1. 软件演化从软件架构演化出发更加合理
      • 更好地保证软件演化的一致性和正确性
      • 明显降低软件演化的成本
      • 软件架构演化使得软件系统演化更加便捷

2. 架构演化示例

  • 注意:软件架构演化要根据具体软件架构的定义来确定

  • 示例,软件架构定义是 SA={components,connectors,constraints}

  • 分析

    • 可知,软件架构包括:组件 (Components)、 连接件 (Connectors) 和约束 (Constraints) 三大要素
    • 即软件架构需要考虑:组件、连接件、约束的添加、修改、删除
  • 组件的演化

    • 什么是组件?
      • 组件是软件架构的基本要素和结构单元,表示系统中主要的计算元素、数据存储以及一些重要模块
    • 什么会引起组件演化?
      • 如:消除软件架构存在的缺陷、增加新的功能、适应新的环境等
    • 组件的演化的体现是什么?
      • 在组件中模块的增加、删除或修改
    • 产生波及效应:
      • 增加模块会导致增加新的交互消息
      • 删除模块会导致删除已有交互消息
      • 改变模块会导致改变已有交互消息
  • 连接件的演化

    • 什么是连接件?连接件是组件之间的交互关系,大多数情况下组件的演化牵涉到连接件的演化
    • 什么会引起连接件演化?
      • 模块的改变
      • 由于系统内部结构调整导致的人与系统交互流程的改变
    • 连接件的演化体现是什么?
      • 组件交互消息的增加、删除或改变
  • 约束的演化

  • 什么是约束?

    • 约束是组件和连接件之间的拓扑关系和配置,它为组件和连接件提供额外数据支撑,可以是架构的约束数据,也可以是架构的参数
    • 约束的演化体现?
      • 知识库中仿真数据的增加、删除或改变。

相关推荐
zzjjiaa9 小时前
2026上半年软考高级系统架构设计师备考攻略
系统架构·软考
zhou_gai9 小时前
供应链计划系统架构实战(三):全球系统数据与实现难点分析
系统架构
zhou_gai9 小时前
供应链计划系统架构实战(一):核心概念与体系概述
系统架构·制造
MC丶科17 小时前
Spring Boot + Elasticsearch 实现全文搜索功能(商品搜索)!让搜索快如闪电
spring boot·后端·elasticsearch·软考高级·软考架构师
JienDa1 天前
JienDa聊PHP:Laravel驱动的企业级图床系统架构设计与实战
系统架构·php·laravel
小毅&Nora1 天前
【人工智能】【AI外呼】系统架构设计与实现详解
人工智能·系统架构·ai外呼
p***q783 天前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构
阿祥~3 天前
sqdaxiang Framework
系统架构
p***43483 天前
HarmonyOS系统架构
华为·系统架构·harmonyos