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

文章目录

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

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

1. 演化的重要性

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

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

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

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

2. 架构演化示例

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

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

  • 分析

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

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

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

  • 什么是约束?

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

相关推荐
kicikng1 小时前
走在智能体前沿:智能体来了(西南总部)的AI Agent指挥官与AI调度官实践
人工智能·系统架构·智能体协作·ai agent指挥官·ai调度官·应用层ai
C澒5 小时前
前端技术核心领域与实践方向
前端·系统架构
犀思云18 小时前
如何通过网络即服务平台实现企业数字化转型?
运维·网络·人工智能·系统架构·机器人
liu****19 小时前
4.Qt窗口开发全解析:菜单栏、工具栏、状态栏及对话框实战
数据库·c++·qt·系统架构
Python_Study20251 天前
面向工程材料行业的数据采集系统架构设计与选型指南
系统架构
鱼跃鹰飞1 天前
面试题:什么是时钟回拨问题?怎么解决
分布式·系统架构
宋康1 天前
QThread 与 QtConcurrent
数据库·c++·系统架构
智算菩萨1 天前
【无线通信基础】典型的无线通信系统全解析:从无线寻呼到卫星通信
网络·系统架构
一路往蓝-Anbo2 天前
第 4 篇:策略模式 (Strategy) —— 算法的热插拔艺术
网络·驱动开发·stm32·嵌入式硬件·算法·系统架构·策略模式
AUVpwoxkW3 天前
探索自动避障路径选择:Matlab 路径规划算法与仿真实践
系统架构