《系统架构设计师教程(第2版)》第8章-系统质量属性与架构评估-03-ATAM方法架构评估实践(下)

news2024/11/25 7:01:48

文章目录

  • 3. 测试阶段
    • 3.1 头脑风暴和优先场景(第7步)
      • 3.1.1 理论部分
      • 3.1.2 示例
    • 3.2 分析架构方法(第8步)
      • 3.2.1 调查架构方法
        • 1)安全性
        • 2)性能
      • 3.2.2 创建分析问题
      • 3.2.3 分析问题的答案
        • 胡佛架构
        • 银行体系结构
      • 3.2.4 找出风险、非风险、敏感点和权衡点。
        • 1)风险与非风险点
        • 2)敏感点
        • 3)权衡点。
  • 4. 报告ATAM阶段

3. 测试阶段

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

3.1.1 理论部分

  • 使用头脑风暴的情景:
    • 用例场景:利益相关者是最终用户
    • 增长情景:代表了架构发展的方式
    • 探索性场景:代表架构中极端的增长形式
  • 得到优先场景的活动:
    • 收集头脑风暴之后的产生的情景
    • 利益相关者投票选出他们认为最重要的场景
      • 合并与相同质量属性有关的所有场景
      • 利益相关者投票选出他们认为最重要的场景
        • 票数=场景总数×30%
      • 场景按总票数排序
      • 划分截止线,截止线以上场景为头脑风暴优先情景
    • 优先头脑风暴优先情景列表合并到效用树中

3.1.2 示例

注意:以下内容主要演示该步骤流程,不需要记忆,旨在辅助理解该步骤

  • 头脑风暴情景列表:

在这里插入图片描述
在这里插入图片描述

  • 利益相关者投票:
  • 分配给每个利益相关者的票数定义如下:票数=情景总数×30%=0.3×16(到最近的整数)=5
  • 三个利益相关者都有5张投票
  • 投票后,对结果排序
  • 化分截止线,取前8个情景(其他弃掉)
  • 结果如下表:

在这里插入图片描述

  • 按质量属性将这些情景重新统计

教材前边说要合并到质量树,因为示例中没有效用树,因此只处理头脑风暴中优先场景

在这里插入图片描述
在这里插入图片描述

3.2 分析架构方法(第8步)

  • 概述

    • 调查、分析上一步产生的“高优先级的质量属性”
      • 方法同第6步“调查和分析”
      • 区别:第6步的“高优先级质量属性”来自效用树
    • 分析架构设计方案中的风险、非风险、敏感点和权衡点
  • 四个阶段

3.2.1 调查架构方法

1)安全性
  • 胡佛架构:安全性高

    使用数据封装,满足安全性

  • 银行体系结构: 安全性低

  • 特定于应用程序的信息被嵌入到许多组件中,数据机密性低
  • 应用程序处理程序仅由事件管理器调用,说明也有一定的安全性
2)性能
  • 胡佛架构:性能高

执行任何给定流程所涉及的组件都很少

  • 银行体系结构:性能低

执行任何给定流程所涉及的组件都很多

3.2.2 创建分析问题

以下是利益相关方收集的分析问题清单,并基于高投票数的情景:
①系统是否允许未经授权的访问?(安全)
②架构是否描绘数据机密性?(安全)
③架构是否以最快的速度处理任何任务?(性能)

3.2.3 分析问题的答案

胡佛架构

①系统是否允许未经授权的访问?
在组件层面,胡佛的架构中未经授权的访问受到限制。但是,在应用程序级别,如果需要,可以通过修改应用程序组件来限制访问。
②架构是否描绘数据机密性?
如前所述,特定于应用程序的信息并未嵌入组件的不同部分,因此数据得到了很好的保护。
③架构是否以最快的速度处理任何任务?
由于执行任何任务所涉及的组件数量极少,并且每个组件中的处理量在此架构中最小,因此后者以最快的速度执行操作。

银行体系结构

①系统是否允许未经授权的访问?
在组件级别,某些组件受到限制,而体系结构中的大多数组件都可用于访问未经授权的组件。
②架构是否描绘数据机密性?
考虑到应用程序特定的信息在许多组件中可用,这些信息分散在架构中,因此不存在数据机密性。
③架构是否以最快的速度处理任何任务?
由于涉及事件处理的组件数量很多,因此此架构不能以最快的速度执行操作。

3.2.4 找出风险、非风险、敏感点和权衡点。

1)风险与非风险点

在这里插入图片描述

2)敏感点
  • 数据保密级别对嵌入应用程序的地点数量很敏感
  • 执行任务的平均速度对处理任务所涉及的组件数量敏感
3)权衡点。
  • 对象:刚才得出的敏感点+步骤6中的敏感点
  • 得出以下权衡点。
    • 应用程序嵌入的地点数量
    • 处理任务所涉及的组件数量
  • 胡佛架构:没有权衡点
  • 银行架构:两个权衡点都有

4. 报告ATAM阶段

  • TAM团队将他们的发现呈现给利益相关者
  • 发现通常包括:
    • 效用树
    • 一组生成的场景
    • 一组分析问题
    • 确定的风险和非风险
    • 确定的架构方法

在这里插入图片描述

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

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

相关文章

初学ELK - elk部署

一、简介 ELK是3个开源软件组合,分别是 Elasticsearch ,Logstash,Kibana Elasticsearch :是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自…

开源免费的多功能PDF工具箱

它支持修改PDF、编辑PDF书签、导出PDF书签、导入书签、生成、合并、拆分、提取页面内容、提取图片、OCR 功能介绍: 修改PDF信息:修改文档属性、页码编号、页面链接、页面尺寸;删除自动打开网页等动作,去除复制及打印限制;设置阅读…

ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录

文章目录 截图1.在开发者网站的app id中添加Sign in with Apple功能2.在Xcode中添加Sign in with Apple功能3.代码:只有第一次登录的时候可以获取到用户名参考博客chatGPT答案 截图 1.在开发者网站的app id中添加Sign in with Apple功能 1.1 如果你新建app id,记得在…

OpenHarmony实战:物联网解决方案之芯海cst85芯片移植案例

本文介绍基于芯海cst85芯片的cst85_wblink开发板移植OpenHarmony LiteOS-M轻量系统的移植案例。 开发了Wi-Fi连接样例和XTS测试样例,同时实现了wifi_lite, lwip, startup, utils, xts, hdf等部件基于OpenHarmony LiteOS-M内核的适配。 移植架构上采用Board和Soc分…

流式密集视频字幕

流式密集视频字幕 摘要1 IntroductionRelated Work3 Streaming Dense Video Captioning Streaming Dense Video Captioning 摘要 对于一个密集视频字幕生成模型,预测在视频中时间上定位的字幕,理想情况下应该能够处理长的输入视频,预测丰富、…

GEE:样本点的样式设置

作者:CSDN @ _养乐多_ 本文将介绍在Google Earth Engine (GEE)平台上为样本点设置样式的方法和代码,样本点可以设置成任何颜色,以及7种形状,以便更直观了解数据的分布和特征。 文章目录 一、统一设置样式1.1 示例代码1.2 示例代码链接二、每一类一个样式2.1 示例代码2.2…

React - 你使用过高阶组件吗

难度级别:初级及以上 提问概率:55% 高阶组件并不能单纯的说它是一个函数,或是一个组件,在React中,函数也可以做为一种组件。而高阶组件就是将一个组件做为入参,被传入一个函数或者组件中,经过一定的加工处理,最终再返回一个组件的组合…

【C语言】结构体、枚举、联合(自定义类型)

文章目录 前言一、结构体1.结构体的声明2.结构体的自引用3.结构体变量的定义和初始化4.结构体成员的访问5.结构体内存对齐(重点)6.#pragma修改默认对齐数7.结构体传参 二、位段1.位段的声明2.位段的内存分配3.位段的跨平台问题 三、枚举四、联合 &#x…

Vite+Vue3.0项目使用ant-design-vue <a-calendar>日期组件汉化

antd的弹框、日期等默认为英文,要把英文转为中文请看下文: 1.首先我们要在main.js中引入ant-design组件库并全局挂载: import App from ./App import Antd from ant-design-vue; import ant-design-vue/dist/antd.css;const app createApp(…

备考ICA----Istio实验18---单集群中部署多个Istio控制面

备考ICA----Istio实验18—单集群中部署多个Istio控制面 单个 Kubernetes 控制面以及多个 Istio 控制面和多个网格。通过 Kubernetes 命名空间和 RBAC 实现软多租户业务隔离。 1. 环境准备 1.1 创建2个命名空间 kubectl create ns usergroup-1 kubectl label ns usergroup-…

React - 你知道props和state之间深层次的区别吗

难度级别:初级及以上 提问概率:60% 如果把React组件看做一个函数的话,props更像是外部传入的参数,而state更像是函数内部定义的变量。那么他们还有哪些更深层次的区别呢,我们来看一下。 首先说props,他是组件外部传入的参数,我们知道…

如何使用vscode启动Flask并实现无公网IP远程访问内网服务

文章目录 1. 安装部署Flask2. 安装Cpolar内网穿透3. 配置Flask的web界面公网访问地址4. 公网远程访问Flask的web界面 本篇文章主要讲解如何在本地安装Flask,以及如何将其web界面发布到公网进行远程访问。 Flask是目前十分流行的web框架,采用Python编程语…

蓝桥杯真题Day48 倒计时7天 练了几道真题小程序+回溯剪枝应用一个小程序

[蓝桥杯 2023 省 A] 更小的数 题目描述 小蓝有一个长度均为 n 且仅由数字字符 0∼9 组成的字符串,下标从0到 n−1,你可以将其视作是一个具有n位的十进制数字num,小蓝可以从num 中选出一段连续的子串并将子串进行反转,最多反转一次…

2月智能手表线上电商市场(京东天猫淘宝)分析:华为手表成最大赢家!

近年来,各大厂商纷纷积极布局健康管理领域,智能手表成为可穿戴市场的热门产品。随着越来越多的厂商进入,智能手表的芯片技术、显示屏技术、传感器技术等都在不断进步,整体性能和功能得到显著提升,使得用户体验更加出色…

Leetcode 6. Z 字形变换

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往右逐行读取&#xff0…

2024年MathorCup+认证杯数模竞赛助攻规划+竞赛基本信息介绍

为了更好的帮助大家助攻未来几天的竞赛,除了给大家上次提供的2024年上半年数学建模竞赛一览表(附赠12场竞赛的优秀论文格式要求) 又为大家提供了本周末两场数模竞赛2023年的竞赛题目以及优秀论文,希望能对大家本周末的竞赛有所帮…

【深度学习】环境搭建ubuntu22.04

清华官网的conda源 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ 安装torch conda install pytorch torchvision torchaudio pytorch-cuda12.1 -c pytorch -c nvidia 2.2.2 conda install 指引看这里: ref:https://docs.nvidia.com/cuda/cuda-installatio…

基于RKNN的YOLOv5安卓Demo

1.简介 基于RKNPU2 SDK 1.6.0版的安卓YOLOv5演示应用程序,选择图片进行对象检测并显示识别结果。 GitHub源码地址:https://github.com/shiyinghan/rknn-android-yolov5 2.实现过程 参考RKNN官方库RKNN Model Zoo提供的YOLOv5对象检测demo&#xff0c…

政安晨:【Keras机器学习实践要点】(二十二)—— 基于 TPU 的肺炎分类

目录 简述 介绍 / 布置 加载数据 可视化数据集 建立 CNN 纠正数据失衡 训练模型 拟合模型 可视化模型性能 ​编辑预测和评估结果 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客…

使用aspose相关包将excel转成pdf 并导出

SpringBoot 项目 基于aspose相关jar包 将excel 转换成pdf 导出 1、依赖的jar包 &#xff0c; jar获取链接 aspose相关三方jar &#xff0c;下载解压后,在项目路径下建一个libs包&#xff0c;然后将下图两个jar 拷贝至刚新建的libs目录中 2、pom.xml中加入maven引入 <depend…