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

文章目录

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

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

1. 演化的重要性

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

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

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

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

2. 架构演化示例

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

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

  • 分析

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

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

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

  • 什么是约束?

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

相关推荐
高旭的旭11 小时前
图解 Android 系统架构:从 App、Framework、HAL 到 Linux 驱动
android·linux·系统架构
solihawk13 小时前
架构系列之软件架构设计基本概念
系统架构
ABB自动化14 小时前
ABB 500CIM06 (1MRB150077R0111) | REB500 通信接口
大数据·分布式·系统架构·系统安全·模块测试·plc 控制器
youandyouyou15 小时前
局域网视频会议系统架构拆解与私有化部署实践
系统架构·音视频·网络通信
2601_9653842615 小时前
从系统架构与微环境视角,拆解“口臭”的底层成因
系统架构
各类产品分享19 小时前
工业现场 AR 巡检系统架构设计与落地实践
系统架构·ar·ar巡检
我命由我123451 天前
软件工程概念 - 可插拔性
java·后端·学习·java-ee·系统架构·软件工程·学习方法
Vitaliy Kostrov(柯维远)2 天前
客户端如何检查直播流:从流内标记到停止播放
android·运维·服务器·驱动开发·网络安全·系统架构·cdn
黄俊懿3 天前
【架构师从入门到进阶】第六章:服务集群优化——第八节:线程数公式
java·服务器·数据库·分布式·性能优化·架构·系统架构
黄鹂鸟科技3 天前
软件定制开发设计要点:从需求梳理、原型确认到敏捷交付与持续维护
后端·物联网·系统架构