软考 系统架构设计师系列知识点之基于架构的软件开发方法ABSD(5)

接前一篇文章:软考 系统架构设计师系列知识点之基于架构的软件开发方法ABSD(4)

所属章节:

第7章. 系统架构设计基础知识

第2节. 基于架构的软件开发方法

9. 体系结构演化

在构件开发过程中,用户的需求可能还有变动;在软件开发完毕正常运行后,由一个单位移植到另一个单位,需求也会发生变化。在这两种情况下,就必须相应地修改软件体系结构,以适应已发生变化的软件需求,这就是体系结构演化。

体系结构演化是使用系统演化步骤去修改应用,以满足新的需求 。主要包括以下6个步骤:

(1)需求变化归类

首先必须对用户需求的变化进行归类,使变化的需求与已有构件对应。对找不到对应构件的变动,也要做好标记,在后续工作中,将创建新的构件,以对应这部分变化的需求。

(2)制订体系结构演化计划

在改变原有结构之前,开发组织必须制订一个周密的体系结构演化计划,作为后续演化开发工作的指南。

(3)修改、增加或删除构件

在演化计划的基础上,开发人员可根据在第1步得到的需求变动的归类情况,决定是否修改或删除存在的构件、增加新构件。最后,对修改和增加的构件进行功能性测试。

(4)更新构件的相互作用

随着构件的增加、删除和修改,构件之间的控制流必须得到更新。

(5)构件组装与测试

通过组装支持工具把这些构件的实现组装起来,完成整个软件系统的连接与合成,形成新的体系结构。然后对组装后的系统整体功能和性能进行测试。

(6)技术评审

对以上步骤进行确认,进行技术评审。评审组装后的体系结构是否反应需求变动、符合用户需求。如果不符合,则需要在第2步到第6步之间进行迭代。

在原来系统上所做的所有修改必须集成到原来的体系结构中,完成一次演化过程。

相关推荐
GeorgiaStar13 小时前
为什么Kafka不像MySQL与Redis那样做读写分离
kafka·系统架构
粟悟饭&龟波功1 天前
【软考系统架构设计师】八、软件可靠性
系统架构·软件工程
程序员小胖胖1 天前
每天一道面试题之架构篇|动态功能开关(Feature Flag)系统架构设计
架构·系统架构
dylanstudy1 天前
【Droidrun自然语言控制Android和iOS设备】
ai·智能手机·系统架构
武子康2 天前
Java-208 RabbitMQ Topic 主题交换器详解:routingKey/bindingKey 通配符与 Java 示例
java·分布式·性能优化·消息队列·系统架构·rabbitmq·java-rabbitmq
郝学胜-神的一滴4 天前
使用EBO绘制图形:解锁高效渲染与内存节省之道
c++·qt·游戏·设计模式·系统架构·图形渲染
学海_无涯_苦作舟4 天前
高并发、高可用、高性能系统架构设计方案(万字详解版)
系统架构
辣机小司4 天前
【软件设计师】自编思维导图和学习资料分享(中级已过)
java·c++·软考·软件设计师
职业码农NO.14 天前
智能体推理范式: Plan-and-Execute(规划与执行)
人工智能·python·数据分析·系统架构·知识图谱·agent·集成学习
想用offer打牌4 天前
虚拟内存与寻址方式解析(面试版)
java·后端·面试·系统架构