ATAM方法架构评估实践

        用ATAM方法评估软件体系结构,其工作分为4个基本阶段,即演示、调查和分析、测试和报告ATAM(如图1所示)。接下来分别就每个阶段的实践进行详细介绍。

 图1 ATAM方法的评估实践阶段划分

1.阶段1——演示(Presentation)

        这是使用ATAM评估软件体系结构的初始阶段。此阶段有3个主要步骤:介绍ATAM、介绍业务驱动因素、介绍要评估的体系结构。 

1.1第1步:介绍ATAM

        这一步涉及ATAM评估过程的描述。在此步骤中,评估负责人向所有相关参与者提供有关ATAM过程的一般信息。领导者说明评估中使用的分析技术以及评估的预期结果。领导者解决小组成员的任何疑虑、期望或问题。 

1.2第2步:介绍业务驱动因素

        在这一步中,提到了系统体系结构驱动程序的业务目标。这一步着重于系统的业务视角。它提供了有关系统功能、主要利益相关方、业务目标和系统其他限制的更多信息。 

1.3第3步:介绍要评估的体系结构

        在这一步中,架构团队描述了要评估的架构。它侧重于体系结构、时间可用性以及体系结构的质量要求。此步骤中的体系结构演示非常重要,因为它会影响分析的质量。这里涉及的关键问题包括技术约束,与正在评估的系统交互的其他系统,以及为满足质量属性而实施的架构方法。系统的质量属性是代表系统所需质量的问题。这些属性的例子包括性能、可靠性等。

2.阶段2——调查和分析

         这是使用ATAM技术评估架构的第2阶段。在这个阶段,人们对评估期间需要重点关注的一些关键问题进行彻底调查。这个阶段被细分为3个步骤:确定架构方法、生成质量属性效用树、分析体系结构方法。

2.1第4步:确定架构方法

         这一步涉及能够理解系统关键需求的关键架构方法。在这一步中,架构团队解释了架构的流程控制,并提供了关于如何达成关键目标以及是否达到关键目标的适当解释。

2.2第5步:生成质量属性效用树

        在评估阶段,系统最重要的质量属性目标被确定,并确定优先次序和完善。这一步至关重要,因为它将所有利益相关方和评估人员的注意力集中在关系到体系成功至关重要的体系结构的不同方面。这是通过建立效用树来实现的。

2.3第6步:分析体系结构方法

        这是“调查和分析”阶段的最后一步。在这一步中,人们分析前一步生成的效用树的输出,并进行彻底调查和分析,找出处理相应质量属性架构的方法。

3.阶段3——测试 

3.1第7步——头脑风暴和优先场景

         这是ATAM测试阶段的第一步。前者代表利益相关者的利益,用于理解质量属性要求。在效用树生成步骤中,主要结果是从架构师的角度来理解质量属性。在这一步中,目标是让更大的利益相关者参与其中。

        将头脑风暴情景的优先列表与在步骤5中或得的优先方案进行比较。利益相关者需要使用头脑风暴的三种场景:用例场景、增长情景、探索性场景

3.2第8步——分析架构方法

        这是“测试”阶段的最后一步。在这一步中,我们分析上一步中高优先级的质量属性。我们找到了处理这些质量属性的架构设计方案,并检查相应的架构设计方案是否可支持满足这些属性。这一步重复“调查和分析”阶段的第6步。唯一的区别在于,在步骤6种,高优先级质量属性来自效用树,而这一步需要考虑在头脑风暴的步骤中,高得票数的质量属性。一些在步骤6中被认为是高优先级的质量属性可能在头脑风暴的步骤中,仍被认为是高优先级的质量属性。同时,头脑风暴的过程也可能产生一些新的高优先级的质量属性。最后,分析架构设计方案中的风险、非风险、敏感点和权衡点。

4.阶段4——报告ATAM

        这是ATAM评估的最后阶段,其中提供了评估期间收集的所有信息。ATAM团队将他们的发现呈现给利益相关者。

        ATAM团队的主要发现通常包括:

  •         一种效用树;
  •         一组生成的场景;
  •         一组分析问题;
  •         一套确定的风险和非风险;
  •         确定的架构方法。

        报告中包含的所有内容在前述的8个步骤中已经进行了介绍。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux进阶之路】地址篇

文章目录 一、ipv4地址1. 基本概念2. 分类3.CIDR4.特殊的ip地址 二、IP协议1. 协议字段2.分片与重组3.路由 三、NAT技术1.公有和私有2.NAT3.NAPT 四、ARP协议1.MAC地址2.ARP 五、DHCP协议六、DNS协议尾序 一、ipv4地址 1. 基本概念 概念:IP地址,英文全…

下一代分层存储方案:CXL SSD

近日,在Memcon 2024大会上,三星推出了一款名为CXL Memory Module-Hybrid for Tiered Memory(CMM-H TM),这款扩展卡配备了高速DRAM和NAND闪存,允许CPU和加速器远程访问额外的RAM和闪存资源。 那么&#xff0…

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

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

Element Plus 表单校验

原理 为 rules 属性传入约定的验证规则&#xff0c;并将 form-Item 的 prop 属性设置为需要验证的特殊键值:model和:rules中字段的名称需要一致 示例&#xff1a; <template><el-form ref"ruleFormRef" :model"ruleForm" :rules"rules&q…

【C语言】深入了解指针(2),进来小白,出去大佬!

目录 1&#xff0c;const修饰指针 1.1&#xff0c;const修饰变量 1.2&#xff0c;const修饰指针变量 2&#xff0c;指针运算 2.1&#xff0c;指针-整数 2.2&#xff0c;指针-指针 2.3&#xff0c;指针的关系运算 3&#xff0c;野指针 3.1&#xff0c;野指针成因 1&…

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

文章目录 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.…

【拓扑的基】示例及详解

集合X的某拓扑的一个基是X的子集的一个族(其成员称为基元素)&#xff0c;满足条件&#xff1a; 1. 2. 由基生成拓扑 由生成的拓扑(满足以上两个条件&#xff09; 等价描述&#xff1a; 由所有可表示为的某些成员的井的那些集合组成 例1: 证明&#xff1a;由生成的族确实是拓扑…

VMware虚拟机(Rocky9.3)硬盘扩容详细图文教程

参考<<鸟哥的Linux>>以及VMware虚拟机硬盘扩容详细图文教程 原因: 用户空间不足,且系统是用LVM&#xff08;logical volume manager&#xff09;进行分区 df -h #查看/home目录下磁盘容量不足磁盘扩容步骤 关闭虚拟机,选择编辑虚拟机, 点击硬盘,再点击扩容 这个…

OpenStack云计算(六)——OpenStack身份管理

项目实训一 【实训题目】 通过图形界面管理项目、用户和角色 【实训目的】 掌握图形界面的身份管理基本操作。 【实训准备】 &#xff08;1&#xff09;复习Keystone身份服务体系相关知识。 &#xff08;2&#xff09;了解项目、用户和角色之前的关系。 【实训内容】 …

2024年3月30日~2024年4月7日周报

文章目录 一、前言二、创意收集2.1 多任务学习2.1.1 多任务学习的定义与优势2.1.2 多任务学习的分类 2.2 边缘检测2.2.1 基础理论2.2.2 sobel代码介绍2.2.3 canny代码介绍 三、《地震速度模型超分辨率的多任务学习》3.1 M-RUDSR架构3.2 详细介绍3.3 实验设置 四、实验五、小结5…

K8s学习九(配置与存储_存储)

存储管理 Volumes HostPath 将节点上的文件或目录挂载到 Pod 上&#xff0c;此时该目录会变成持久化存储目录&#xff0c;即使 Pod 被删除后重启&#xff0c;也可以重新加载到该目录&#xff0c;该目录下的文件不会丢失 效果就是容器里的数据和主机里的数据进行共享 配置文…

智慧运维解决方案

1&#xff1a;排口截污 控源截污、内源治理、生态修复 通过传感器对周围环境进行监测&#xff0c;将雨水和污水分别流入不同的管道&#xff0c;进行分流和净化处理&#xff0c;守好排污口&#xff0c;解决城市雨水和污水污染问题&#xff0c;减少城市环境污染。 2&#xff1…

【三维重建工具】NeRFStudio、3D GaussianSplatting、Colmap安装与使用指南(更新中)

目录 一、NeRFStudio安装1.安装&#xff08;ubuntu系统&#xff09;2.安装&#xff08;windows系统&#xff09; 二、安装tinycudann三、Colmap安装与使用1. 安装依赖2. 安装colmap3.使用colmap3.1 可视化界面使用3.2 Nerfstudio命令行调用Colmap 四、使用NeRFStudio进行三维重…

【深度学习】图像风格混合——StyleGAN原理解析

1、前言 上一篇&#xff0c;我们讲了PGGAN的模型原理&#xff0c;本章我们就来讲解一下StyleGAN&#xff0c;这个模型能够自由控制图像的风格&#xff0c;细节变化等等&#xff0c;生成用户想要的图像&#xff0c;甚至从某种程度上说&#xff0c;其可以实现AI换脸。 PS&#…

Android Framework学习笔记(2)----系统启动

Android系统的启动流程 启动过程中&#xff0c;用户可控部分是framework的init流程。init是系统中的第一个进程&#xff0c;其它进程都是它的子进程。 启动逻辑源码参照&#xff1a;system/core/init/main.cpp 关键调用顺序&#xff1a;main->FirstStageMain->SetupSel…

使用 Jenkins、Gitlab、Harbor、Helm、k8s 来实现流水线作业

文章目录 一、流程二、Dockerfile 使用 Jenkins、Gitlab、Harbor、Helm、Kubernetes 来实现一个完整的持续集成和持续部署的流水线作业 一、流程 开发人员提交代码到 Gitlab 代码仓库通过 Gitlab 配置的 Jenkins Webhook 触发 Pipeline 自动构建Jenkins 触发构建构建任务&…

JUC基础

1.JUC概念 JUC是文件Java官方文档下面的java.Util下面的工具包。作用于多线程&#xff0c;内容有lock锁&#xff0c;以及callable等内容。JDK官方文档路径。基础多线程不了解可以看多线程子线程结束&#xff0c;执行主线程 2.线程、进程 1.进程&#xff1a; 一个程序是线程…

【C语言】if语句选择题

前言 题目一&#xff1a; 题目二&#xff1a; 题目三&#xff1a; 题目四&#xff1a; 题目五&#xff1a; 题目六&#xff1a; 题目七&#xff1a; 题目八&#xff1a; 前言 关于if语句相关的选择题 题目一&#xff1a; 关于if语句说法正确是&#xff1a;( ) A .if语…

蓝桥杯刷题-12-公因数匹配-数论(分解质因数)不是很理解❓❓

蓝桥杯2023年第十四届省赛真题-公因数匹配 给定 n 个正整数 Ai&#xff0c;请找出两个数 i, j 使得 i < j 且 Ai 和 Aj 存在大于 1 的公因数。 如果存在多组 i, j&#xff0c;请输出 i 最小的那组。如果仍然存在多组 i, j&#xff0c;请输出 i 最小的所有方案中 j 最小的那…

牛顿:Archetype AI 的开创性模型,实时解读真实世界的新宠儿

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…