【笔记-软考】架构演化

Author:赵志乾
Date:2024-07-20
Declaration:All Right Reserved!!!

1. 概念

        架构都会经历初始设计、实际使用、修改完善和退化弃用的过程,其中修改完善即为架构的演化过程,其演化的目的是为了便于软件为适应环境的变化而进行纠错性与完善性修改。

2. 演化的重要性

        架构演化是为了维持自身的有用性,从而便于软件为适应环境的变化而进行纠错性与完善性修改;故其重要性主要通过架构本身的重要性间接体现。

  • 架构作为系统骨架,是系统具备诸多特性的重要保障;
  • 架构自身优劣直接影响其能否满足用户需求;
  • 架构作为蓝图为宏观管控系统的整体复杂性和变化性提供了有效途径;    

3. 架构演化与软件演化间的关系

        架构演化能够更好地促进软件演化,保证软件演化的一致性与正确性,降低软件演化成本,其原因有以下3点:

  • 对架构进行形式化、可视化表示,提高了软件的可构造性,便于软件演化;
  • 架构设计方案所涵盖的整体结构信息、配置信息、约束信息等有助于开发人员充分考虑未来可能出现的各种演化问题;
  • 架构设计时对系统构件之间的耦合描述有助于系统的动态调整;

4. 架构定义与演化间的关系

        架构定义很多,以下面的架构定义为例进行说明:

        架构:包括构件、连接件、约束三大要素,其演化过程主要关注构件、连接件、约束的增删改;

  • 构件是架构的基本要素和结构单元,其演化体现在构件中模块的增删改,这一过程往往会产生波及效应,例如:新增模块会导致交互消息新增、删除模块会导致交互消息删除、变更模块会导致已有交互消息的变更;
  • 连接件是构件间的交互关系,其演化体现在构件间交互消息的增删改,往往伴随着构件的演化而演化;
  • 约束是构件和连接件间的拓扑关系和配置,其为两者提供额外的数据支撑,可以是架构的约束数据或参数,其演化体现在知识库内容的增删改;

        构件、连接件、约束的演化都可能导致一系列的波及效应,最后受影响和不受影响的元素共同构成了演化后的架构。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/873813.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32+USART串口(1)

GPIO口的复用功能是有对应的,作USART使用的话要选择对应的GPIO;可以参考引脚定义; (1)串口通信分为:串行通信和并行通信; (2)通信波特率 :通常用波特率&…

Yolo-World网络模型结构及原理分析(三)——RepVL-PAN

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1. 网络结构2. 特征融合3. 文本引导(Text-guided)4. 图像池化注意力(Image-Pooling Attention)5. 区域文本匹配&…

springboot+vue+mybatis校园热点新闻系统+PPT+论文+讲解+售后

21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到…

Tomcat长连接源码解析

长连接: 客户端发送Http请求至服务端,请求发送完之后socket连接不断开,可以继续接收下一个Http请求并且解析返回。接手并解析这些Http请求的时候socket连接不断开,这种过程被称为长连接。 需要注意的点就在于,在满足什么条件的情况…

如何在 Windows 上恢复丢失或删除的文件

意外删除重要文件或文档的历史与 Windows 本身一样悠久,这就是为什么有许多内置方法来恢复它。从深入回收站到挖掘 Microsoft 的 Windows 文件恢复实用程序,以下是如何在 Windows 中恢复丢失和删除的文件。 检查回收站 Windows 帮助您恢复已删除并需要再…

IO多路复用之poll、epoll和select区分

epoll和select 假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。 select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。 而epoll版宿管大妈会先记下每位同学的房间号, 你的朋友来时,只需告诉你…

【Langchain大语言模型开发教程】链

🔗 LangChain for LLM Application Development - DeepLearning.AI 学习目标 1、LLMChain 2、Sequential Chains 3、Router Chain LLMChain import warnings warnings.filterwarnings(ignore) import os import pandas as pdfrom dotenv import load_dotenv, find…

德国汉堡大学、清华大学联合英国布里斯托机器人实验室的研究工作分享:基于视觉遥操作的多指机械手灵巧操作

德国汉堡大学(张建伟院士团队)、清华大学(孙富春教授和方斌)联合英国布里斯托机器人实验室等单位在基于视觉信息遥操作的多指机械手灵巧操作研究方面取得进展。该工作得到了德国科学基金会(DFG)与中国国家自…

Git分支管理基本原理

原文全文详见个人博客: Git分支管理基本原理上文已讨论过svn分支管理的基本原理,本文将继续探讨Git分支管理的基本原理,以便后续进行进一步的理解和对比:https://www.coderli.com/git-branch-method/【Java学习交流(982860385)】…

Linux journalctl日志太长,如何倒序查看journalctl --reverse,journalctl -xeu

文章目录 需求实验方法一方法二 需求 Linux journalctl日志太长,如何倒序查看 我们通常关心的是最近的日志,但是每次打开日志都是按时间先后顺序显示的,如何倒序查看,请看下面: 实验 方法一 journalctl 命令默认按…

关于限定视频码率的问题

这几天有人对码率提出要求。其实这本来不是问题。码率是设给编码器的,编码器根据复杂度编码,有时高有时低。 他希望设定码率之后,码率不超过这个值。 你说他无理取闹?强词夺理?其实他的想法也有道理。我现在带宽就这…

Linux工具相关介绍

目录 1.linux安装软件 2.Linux软件生态问题 3.linux软件包管理器yum 4.linux里面好玩的小命令 4.1安装源 4.2小火车 4.3人物说话情景 5.vim简单介绍 5.1简单认识 5.2代码编写 5.3命令模式 1.linux安装软件 1.1源代码安装:这个里面可能根据代码bug需要修改…

AI模型大比拼:Claude 3系列 vs GPT-4系列最新模型综合评测

AI模型大比拼:Claude 3系列 vs GPT-4系列最新模型综合评测 引言 人工智能技术的迅猛发展带来了多款强大的语言模型。本文将对六款领先的AI模型进行全面比较:Claude 3.5 Sonnet、Claude 3 Opus、Claude 3 Haiku、GPT-4、GPT-4o和GPT-4o Mini。我们将从性能…

huawei USG6001v1学习---防火墙高可靠性(双机热备)

1.什么是双机热备 如图:当左图的防火墙发生故障时,整个系统都会收到影响,而右图即使有防火墙发生故障,但是还有一台防火墙做备份,相对于只有一台防火墙,要可靠些。 由于防火墙上不仅需要同步配置信息&…

C# 中的委托

委托的概念 在C#中,委托是一种引用类型,它表示对方法的引用,即委托就是一种用来指向一个方法的引用类型变量。委托的声明类似于方法签名,但是关键字是delegate。下面是一个委托的声明和使用的例子: // 声明一个委托 p…

【数据分享】2013-2022年我国省市县三级的逐月SO2数据(excel\shp格式\免费获取)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000——2022年的省市县三级的逐月PM2.5数据和2013-2022年的省市县三级的逐月CO数据(均可查看之前的文章获悉详情)! 本次我们分享的是我国2013——2022年的省…

【开源库学习】libodb库学习(一)

Hello World Example 在本章中,我们将使用传统的“Hello World”示例展示如何创建一个依赖于ODB进行对象持久化的简单C应用程序。特别是,我们将讨论如何声明持久类、生成数据库支持代码以及编译和运行我们的应用程序。我们还将学习如何使对象持久化&…

DAY05 CSS

文章目录 1 CSS选择器(Selectors)8. 后代(包含)选择器9. 直接子代选择器10. 兄弟选择器11. 相邻兄弟选择器12. 属性选择器 2 伪元素3 CSS样式优先级1. 相同选择器不同样式2. 相同选择器相同样式3. 继承现象4. 选择器不同权值的计算 4 CSS中的值和单位1. 颜色表示法2. 尺寸表示法…

WEB渗透信息收集篇--域名信息

一、CDN是否存在 Ping、多地ping、国外ping 在线 Website uptime monitoring service, check is site down - Host-tracker https://www.webpagetest.org/ 多个地点Ping服务器,网站测速 - 站长工具 Website Speed Test | Pingdom Tools 本地 CDNcheck https://github.…

java中多态的用法

思维导图: 1. 多态的概念 多态通俗的讲就是多种形态,同一个动作,作用在不同对象上,所产生不同的形态。 例如下图: 2. 多态的实现条件 Java中,多态的实现必须满足以下几个条件: 1. 必须在继承…