系统架构设计师教程 第10章 10.1 软件架构演化和定义的关系 笔记

10.1 软件架构演化和定义的关系 ★★★☆☆

10.1.1 演化的重要性

软件架构的演化就是软件整体结构的演化,演化过程涵盖软件架构的全生命周期,包括软件架构需求的获取、软件架构建模、软件架构文档、软件架构实现以及软件架构维护等阶段。

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

其次,软件架构作为软件蓝图为人们宏观管控软件系统的整体复杂性和变化性提供了一条有效途径,而且基于软件架构进行的软件检测和修改成本相对较低

10.1.2 演化和定义的关系

软件架构包括组件 (Components)、 连接件 (Connectors) 和约束 (Constraints) 三大要素,主要关注的就是组件、连接件和约束的添加、修改与删除等。

组件是软件架构的基本要素和结构单元,表示系统中主要的计算元素、数据存储以及一些重要模块。组件的演化体现在组件中模块的增加、删除或修改。通常模块的改动会影响交互消息的变动。

连接件是组件之间的交互关系,大多数情况下组件的演化牵涉到连接件的演化。连接件的演化体现在组件交互消息的增加、删除或改变,以及组件之间交互消息的增加、删除或改变。

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

组件、连接件、约束的演化都可能导致一系列的波及效应,从而分为受变更直接影响的组件、连接件、约束,以及受到变更波及的组件、连接件、约束两类变更元素。这两类变更元素和不受影响的元素共同组成了演化后的软件架构。

相关推荐
坏孩子的诺亚方舟1 天前
FPGA系统架构设计实践15_高云Arora V系列时钟体系
fpga开发·系统架构
闪闪发亮的小星星1 天前
高斯光以及高斯光公式解释
笔记
桥田智能1 天前
桥田智能 QT-650S:面向白车身焊装的 800kg 重载快换解决方案
开发语言·qt·系统架构
cqbzcsq1 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
阿米亚波1 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.1 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
.千余1 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.1 天前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding
秋波。未央1 天前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
@insist1231 天前
系统架构设计师-5G 技术、冗余设计与分层架构
5g·架构·系统架构·软考·系统架构设计师·软件水平考试