ARTICLE · 1029141
软考 系统架构设计师 第十章 软件架构的演化和维护(三)- 软件架构演化时期
软考 系统架构设计师 第十章 软件架构的演化和维护(三)- 软件架构演化时期
画板
:::tipsHi,新朋友吗?点击上方“关注”,我们就是朋友啦!每天5分钟,为你解读[软考架构]那些事儿。
:::

软件架构演化时期
1. 本章一句话
软件架构演化可按粒度、研究方法、是否运行期分类;演化时期分设计时、运行前、有限制运行时、运行时四档,运行时最难。
2. 知识框架
• 演化方式分类 • 按实现方式与实施粒度 • 按研究方法(Barnes 4类) • 按是否运行期(静态/动态) • 演化时期(4种) • 设计时演化 • 运行前演化 • 有限制运行时演化 • 运行时演化
3. 核心内容
3.1 演化方式的三类分类法
• 目前尚无公认分类法,以下为三种典型: • 按实现方式与实施粒度 → 基于过程和函数 / 面向对象 / 基于组件 / 基于架构的演化 • 按研究方法(Jeffrey M. Barnes 4类)★: • 第1类:对演化的支持(模块化准则、内聚耦合指示、代码重构) • 第2类:版本与工程管理工具(CVS、COCOMO) • 第3类:架构变换的形式方法(结构/行为变换模型、重现风格) • 第4类:成本收益分析(决定如何增加系统弹性) • 按演化是否处于系统运行期 → 静态演化(设计/实现/维护期,未运行或已停止)与动态演化(运行中)⚠ • 本章重点介绍:静态演化与动态演化
3.2 软件架构演化时期(4种)
• 设计时演化(Design-Time):发生在架构模型及代码编译之前 • 运行前演化(Pre-Execution)★:发生在执行之前、编译之后;程序未执行,可不考虑状态,但需考虑体系结构,且系统需具备增删组件机制 • 有限制运行时演化(Constrained Runtime):设计时就规定演化条件,置于"安全"模式,仅在特定约束满足时做规定好的操作 • 运行时演化(Runtime)★:体系结构在运行时不满足要求时演化,含增删组件、升级替换、改拓扑结构;最难实现
4. 关键概念速查
5. 易错 / 易混淆
• 静态 vs 动态演化 ⚠:区别在"是否处于系统运行期"。判定口诀:看系统在不在跑——没跑/停了=静态,边跑边改=动态。 • 运行前 vs 运行时演化:运行前是"编译后、执行前",程序还没动,不用管状态;运行时是"执行中",要边跑边改。
6. 章节速记
三句话
1. 演化分类无标准,典型按粒度/方法/运行期三种。 2. 演化时期分四档:设计时、运行前、有限制运行时、运行时。 3. 运行时演化最难,需边运行边改架构。
口诀:粒法期三分,四期递难行(设计→运行前→有限运行时→运行时,难度递增)。
关键词链:分类法 → 粒度/方法/运行期 → 静态/动态 → 四时期 → 运行时最难
自测三问
1. Barnes 四类演化研究方法第3类是什么? 答:架构变换的形式方法(结构/行为变换模型、重现风格)。 2. 运行前演化与运行时演化最关键的区别? 答:运行前程序未执行、不考虑状态;运行时程序执行中、边跑边改。 3. 哪种演化时期最难实现? 答:运行时演化(Runtime Evolution)。
:::tips听说给本文点“赞”的人,下半年都会好运爆棚!❤️
写文不易,您的关注就是对我最大的支持。我会持续产出更多优质内容,感谢相遇!
关注我,可查看更多往期内容!🎉
:::