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

文章目录

  • 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.mzph.cn/news/801770.shtml

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

相关文章

222222222222222222222222

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

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

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

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

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

3D Web轻量引擎HOOPS Communicator装配制造流程演示

介绍 该演示介绍了使用HOOPS Communicator的独特工作流程,该工作流程从零件列表中加载零件,并使用自定义配合操作符(例如共线、同心和共面)构建装配模型。该工作流程可用于各种行业,例如维护手册、工作指令或电子商务…

BMS基础之锂电池充放电特性

磷酸铁锂电池 它充电在3.3V以后,会有一个猛地增加,所以3.3v其实就是他的饱和电压,如果继续充电就会损坏电池,同理放电到一定程度电压就会急剧下降,过放也会损坏电池(充放电截止电压) 三元锂电…

Social Skill Training with Large Language Models

Social Skill Training with Large Language Models 关键字:社交技能训练、大型语言模型、人工智能伙伴、人工智能导师、跨学科创新 摘要 本文探讨了如何利用大型语言模型(LLMs)进行社交技能训练。社交技能如冲突解决对于有效沟通和在工作和…

线程的666种状态

文章目录 在Java中,线程有以下六种状态: NEW:新建状态,表示线程对象已经被创建但还未启动。RUNNABLE:可运行状态,表示线程处于就绪状态,等待系统分配CPU资源执行。BLOCKED:阻塞状态…

SpringBoot的旅游管理系统+论文+ppt+免费远程调试

项目介绍: 基于SpringBoot旅游网站 旅游管理系统 本旅游管理系统采用的数据库是Mysql,使用SpringBoot框架开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。 (1&…

想进阶为 Go 语言高级开发工程师吗?那么,一定要阅读此文!

大家好,我是孔令飞,字节跳动云原生开发专家、前腾讯云原生技术专家;《企业级Go项目开发实战》作者,云原生实战营 知识星球星主; 我们知道,Go 出自名门 Google 公司,是一门支持并发、垃圾回收的编…

如何快速开启一个项目-ApiHug - API design Copilot

ApiHug101-001开启篇 🤗 ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin |…

ClickHouse 介绍

前言 一个通用系统意味着更广泛的适用性,但通用的另一种解释是平庸,因为它无法在所有场景内都做到极致。 ClickHouse 在没有像三驾马车这样的指导性论文的背景下,通过针对特定场景的极致优化,获得闪电般的查询性能。 ClickHous…

[StartingPoint][Tier2]Oopsie

Task 1 With what kind of tool can intercept web traffic? (哪种工具可以拦截web数据包) proxy Task 2 What is the path to the directory on the webserver that returns a login page? (路径到返回登录页面的 Web 服务器目录是什么?) /cdn-cgi/login Tas…

标定系列——Ubuntu18.04下opencv-4.5.3与opencv_contrib-4.5.3源码编译(二十)

Ubuntu18.04下opencv-4.5.3与opencv_contrib-4.5.3源码编译 说明下载安装步骤1.更新2.安装必要的依赖包3.下载源码包并解压4.终端运行如下命令5.添加配置路径6.验证安装是否成功 说明 Ubuntu18.04下对opencv-4.5.3与opencv_contrib-4.5.3源码编译 下载 CSDN下载 安装步骤 …

基于单片机数码管20V电压表仿真设计

**单片机设计介绍,基于单片机数码管20V电压表仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机数码管20V电压表仿真设计的主要目的是通过单片机和数码管显示电路实现一个能够测量0到20V直流电压的电…

如果用大模型考公,kimi、通义千问谁能考高分?

都说大模型要超越人类了,今天就试试让kimi和通义千问做公务员考试题目,谁能考高分? 测评结果再次让人震惊! 问题提干:大小两种规格的盒装鸡蛋,大盒装23个,小盒装16个,采购员小王买了…

【鸿蒙开发】系统组件Row

Row组件 Row沿水平方向布局容器 接口: Row(value?:{space?: number | string }) 参数: 参数名 参数类型 必填 参数描述 space string | number 否 横向布局元素间距。 从API version 9开始,space为负数或者justifyContent设置为…

用vue.js写案例——ToDoList待办事项 (步骤和全码解析)

目录 一.准备工作 二.编写各个组件的页面结构 三.实现初始任务列表的渲染 四.新增任务 五.删除任务 六.展示未完成条数 七.切换状态-筛选数据 八.待办事项(全)代码 一.准备工作 在开发“ToDoList”案例之前,需要先完成一些准备工作&a…

电力变压器数据集介绍和预处理

1 电力变压器数据集介绍 1.1 数据背景 在这个Github仓库中,作者提供了几个可以用于长序列时间序列问题的数据集。所有数据集都经过了预处理,并存储为.csv文件。数据集的范围从2016/07到2018/07。 ETT-small: 含有2个电力变压器(来自2个站点…

React - 你使用过高阶组件吗

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

公网环境下如何端口映射?

公网端口映射是一种网络技术,它允许将本地网络中的设备暴露在公共互联网上,以便能够从任何地方访问这些设备。通过公网端口映射,用户可以通过互联网直接访问和控制局域网中的设备,而无需在本地网络中进行复杂的配置。 公网端口映射…