系统架构评估_3.ATAM方法

news2025/1/12 21:40:48

        架构权衡分析方法(Architecture Tradeoff Analysis Method,ATAM)是在SAAM的基础发展起来的,主要针对性能、实用性、安全性和可修改性,在系统开发之前,对这些质量属性进行评价和折中。

        (1)特定目标。

         ATAM的目标是在考虑多个相互影响的质量属性的情况下,从原则上提供一种理解软件架构的能力的方法。对于特定的软件架构,在系统开发之前,可以使用ATAM方法确定在多个质量属性之间折中的必要性。

        (2)质量属性。

         ATAM方法分析多个相互竞争的质量属性。开始时考虑的是系统的可修改性、安全性、性能和可用性。

        (3)风险承担者。

         在场景、需求收集相关活动中,ATAM方法需要所有系统相关人员的参与。

        (4)架构描述。

         架构空间受到历史遗留系统、互操作性和以前失败的项目约束。架构描述基于5种基本结构来进行,这5种结构是从Kruchten的4+1视图派生而来的。其中逻辑视图被分为功能结构和代码结构。这些结构加上它们之间适当的映射可以完整地描述一个架构。

         用一组消息顺序图表示运行时的交互和场景,对架构描述加以注解。ATAM方法被用于架构设计中,或被另一组分析人员用于检查最终版本的架构。

        (5)评估技术。

         可以把ATAM方法视为一个框架,该框架依赖于质量属性,可以使用不同的分析技术。它集成了多种优秀的单一理论模型,其中每种都够高效、实用地处理属性。该方法使用了场景技术。从不同的架构角度,有3种不同类型的场景,分别是用例(包括对系统典型的使用、引出信息)、增长场景(用于涵盖那些对它的系统的修改)、探测场景(用于涵盖那些可能会对系统造成过载的极端修改)。

        ATAM还使用定性的启发式分析方法(Qualitative Analyse Heuristics),在对一个质量属性构造了一个精确分析模型时要进行分析,定性的启发式分析方法就是这种分析的粗粒度版本。

        (6)方法的活动。

         ATAM被分为4个主要的活动领域(或阶段),分别是场景和需求收集、架构视图和场景实现、属性模型构造和折中。图1描述了与每个阶段相关的步骤,还描述了架构设计和分析改进中可能存在的迭代。

 

图1 ATAM分析评估过程 

        (7)领域知识库的可重用性。

         领域知识库通过基于属性的架构风格(Attribute Based Architecture Style)维护。ABAS有助于从架构风格的概念转向基于特定质量属性模型的推理能力。

        (8)方法验证。

         该方法已经应用到多个软件系统,但仍处在研究之中。虽然软件架构分析与评价已经取得了很大的进步,但是在某些方面也存在一些问题。例如,架构的描述、质量特征的分析、场景不确定性的处理、度量的应用架构分析和评价支持工具等,这些都影响和制约着分析评估技术的发展。

        ATAM方法采用效用树(Utility tree)这一工具来对质量属性进行分类和优先级排序。效用树的结构包括:树根——质量属性——属性分类——质量属性场景(叶子节点)。需要注意的是,ATAM主要关注4类质量属性:性能、安全性、可修改性和可用性,这是因为这4个质量属性是利益相关者最为关心的。

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

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

相关文章

K8s学习十(高级调度)

高级调度 CronJob计划任务 在 k8s 中周期性运行计划任务,与 linux 中的 crontab 相同注意点:CronJob 执行的时间是 controller-manager 的时间,所以一定要确保 controller-manager 时间是准确的cron表达式如下: 配置如下&#x…

提高网站安全性,漏洞扫描能带来什么帮助

随着互联网的蓬勃发展,网站已经成为人们获取信息、交流思想、开展业务的重要平台。然而,与之伴随的是日益严重的网络安全问题,包括恶意攻击、数据泄露、隐私侵犯等。 为了保障网站的安全性,提前做好网站的安全检测非常有必要&…

基于Springboot+Vue实现前后端分离酒店管理系统

一、🚀选题背景介绍 📚推荐理由: 近几年来,随着各行各业计算机智能化管理的转型,以及人们经济实力的提升,人们对于酒店住宿的需求不断的提升,用户的增多导致酒店管理信息的不断增多,…

[计算机网络] 当输入网址到网页

HTTP 首先,对URL进行解析,URL包含了Web服务器和对应的文件(文件路径) URL是请求服务器中的文件资源 通过Web服务器和对应文件来生产HTTP包(超文本传输协议) DNS 根据域名查询对应的IP地址 域名的层级 根…

基于深度学习的电动自行车头盔佩戴检测系统

文章目录 1. 文档说明2. 运行环境说明2.1 硬件配置2.2 软件配置2.3 程序依赖库 3. 基本环境配置3.1 软件安装3.1.1 集成开发环境安装与配置3.1.2 数据库安装与配置3.1.3 编程语言安装3.1.4 CUDA和cuDNN安装与配置3.1.5 机器学习库安装 3.2 依赖库安装 4. 运行程序资源下载地 1.…

vue vue3 日期选择的组件,封装组件

一、背景 基于element日期选择组件,自行封装了一个组件。 以下是达到的效果: 1.选择年,日期选择组件默认填充是:当时的年; 2.选择月,日期选择组件默认填充的是:当时的年月; 3.选择日…

从人机界面设计黄金三法则视角看 ChatGPT 的界面设计的“好”与“坏”

热门文章推荐: (1)《为什么很多人工作 3 年 却只有 1 年经验?》(2)《一文掌握大模型提示词技巧:从战略到战术巧》(3)《AI 时代,程序员的出路在何方&#xff1…

window安装c环境(window安装GCC)

1.下载mingw 地址:MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.net 2.安装mingw-get-setup.exe文件: 安装完成之后显示: 3.勾选需要安装的内容,然后进行安装或按第5步使用命令安装,推荐使用5步…

华为USG6000v

1、安全区域 一个及或多个接口的集合 默认的安全区域 Trust --- 优先级85,一般连接内网 Untrust --- 优先级5, 一般连接外网 Dmz --- 优先级50,一般连接服务器、 Local --- 优先级100,防火墙接口所在区的区域 2…

在Ubuntu系统下连接远程Ubuntu服务器

本篇文章介绍,如何在Ubuntu系统下连接远程Ubuntu系统并传输文件。 一. 连接远程Ubuntu服务器。 1. 打开命令行,输入 : sudo apt-get update , 对系统进行更新。 2. 安装 OpenSSH Server,输入 : sudo apt-get insta…

mysql 运算符 语句 字符集 校队集

mysql 运算符 使用select语句可以输出运算的结果 mysql标识符不区分大小写 算数运算符 1./除法 得到的结果是一个小数 %是整数,省略小数 2、除以0不会报错,得到的结果是 null 3.数宇和字符串做加法运算,并不会拼接 比较运算符 1.mysql里面的=是比较运算符,而不是赋值运算…

深入解析template,掌握C++模板的精髓!

掌握C模板(template)的优雅之道! 一、什么是模板?二、模板如何工作?三、C 中的模板类型3.1、 类模板3.2、 函数模板 四、模板参数推导4.1、模板参数推导示例4.2、函数模板参数推导4.3、类模板参数推导(C17 …

《C语言深度解剖》(4):深入理解一维数组和二维数组

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多数据结构与算法点击专栏链接查看&am…

Blender怎么样启动默认移动和Cavity效果

在使用Blender的过程中,有一些特殊的技巧很重要。 比如默认地设置blender打开时,就是移动物体,这样怎么样设置的呢? 需要在界面里打开下面的菜单: 这样就找到默认设置的地方,把下面的移动勾选起来,这样点…

IEEE Robotics and Automation Letters(RAL)论文模板及投稿须知

一、背景 IEEE Robotics and Automation Letters(RAL)期刊自2015年6月1日创刊以来,得到了机器人领域许多学术大牛的青睐,因其周期短,论文质量高,许多优秀的成果都会选择发表在RAL期刊上。下面介绍一下RAL论…

如何从零基础进入IT行业

目录 前言1 确定适合的方向1.1 前端开发1.2 后端开发1.3 数据分析1.4 软件测试1.5 产品管理1.6 网络与系统管理 2 制定学习计划2.1 学习基础知识2.2 选择合适的学习资源2.3 参加课程或培训2.4 制定学习计划和目标 3 实践项目和参与社区3.1 构建个人项目3.2 参与开源社区3.3 寻找…

回顾2D绘图的数学知识

本篇旨在帮助开发人员回顾在2D图形编程中可能会涉及到的数学知识。 1. 矩形 矩形面积 S 长 ∗ 宽 S 长 * 宽 S长∗宽 矩形周长 C 2 ∗ ( 长 宽 ) C 2 * ( 长 宽) C2∗(长宽) 2. 两点间的距离 在直角坐标系中,设两个点A、B以及坐标分别为 A ( x 1 , y 1…

Redis中的集群(一)

集群 概述 Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能 节点 一个Redis集群通常由多个节点(node)组成,在刚开始的时候,每个节点都是相互独立的,它们都…

X86汇编速成

平时用的电脑都是X86的,但是现在大家都在搞RISC-V,计组也都开始以RISC-V作为示例,所以专门回头来补一下X86的汇编,方便平时使用。 寄存器register X86_64中一共有16个64位的通用寄存器,分别为: RAX, RBX,…

vmware和ubuntu的问题与解决

1.问题与对策 最近使用vmware安装ubuntu16和ubuntu20,遇到了挺多的问题,如下 ubuntu在用过多次后,重启后登录用户名后会出现花屏的现象。 解决方案如下 在键盘上同时按键:Ctrl Alt F4,进入命令行模式,…