文章目录
- [1. 演化的重要性](#1. 演化的重要性)
- [2. 架构演化示例](#2. 架构演化示例)
教材中,本节名为:"软件架构演化和定义的关系"
1. 演化的重要性
- 演化目的:维持软件架构自身的有用性
- 为什么说,软件架构是演化来的,而不是设计来的?
软件架构的演化就是软件整体结构的演化,演化过程涵盖软件架构的全生命周期,包括软件架构需求的获取、软件架构建模、软件架构文档、软件架构实现以及软件架构维护等阶段。
-
架构演化的重要性
- 软件架构演化保障软件系统向人们的预期方向发展
软件架构作为软件系统的骨架支撑着整个软件系统,是软件系统具备良好特性的重要保障,
- 软件演化从软件架构演化出发更加合理
- 更好地保证软件演化的一致性和正确性
- 明显降低软件演化的成本
- 软件架构演化使得软件系统演化更加便捷
2. 架构演化示例
-
注意:软件架构演化要根据具体软件架构的定义来确定
-
示例,软件架构定义是 SA={components,connectors,constraints}
-
分析
- 可知,软件架构包括:组件 (Components)、 连接件 (Connectors) 和约束 (Constraints) 三大要素
- 即软件架构需要考虑:组件、连接件、约束的添加、修改、删除
-
组件的演化
- 什么是组件?
- 组件是软件架构的基本要素和结构单元,表示系统中主要的计算元素、数据存储以及一些重要模块
- 什么会引起组件演化?
- 如:消除软件架构存在的缺陷、增加新的功能、适应新的环境等
- 组件的演化的体现是什么?
- 在组件中模块的增加、删除或修改
- 产生波及效应:
- 增加模块会导致增加新的交互消息
- 删除模块会导致删除已有交互消息
- 改变模块会导致改变已有交互消息
- 什么是组件?
-
连接件的演化
- 什么是连接件?连接件是组件之间的交互关系,大多数情况下组件的演化牵涉到连接件的演化
- 什么会引起连接件演化?
- 模块的改变
- 由于系统内部结构调整导致的人与系统交互流程的改变
- 连接件的演化体现是什么?
- 组件交互消息的增加、删除或改变
-
约束的演化
-
什么是约束?
- 约束是组件和连接件之间的拓扑关系和配置,它为组件和连接件提供额外数据支撑,可以是架构的约束数据,也可以是架构的参数
- 约束的演化体现?
- 知识库中仿真数据的增加、删除或改变。