《系统架构设计师教程(第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,一经查实,立即删除!

相关文章

Spring 面试题(七)

1. Spring 是如何解决循环依赖的? Spring 通过一系列复杂的机制来解决循环依赖问题,特别是在单例作用域的 Bean 之间。以下是一些关键点和 Spring 如何处理它们: 构造函数循环依赖: Spring 容器无法解决构造函数注入导致的循环依赖。这是因…

222222222222222222222222

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

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

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

1087: 【C3】【高精度】计算2的N次方

题目描述 任意给定一个正整数N(N<100)&#xff0c;计算2的n次方的值。 输入 输入一个正整数N。 输出 输出2的N次方的值。 样例输入 5 样例输出 32 Code: xint(input()) print(pow(2,x)) 用C太长了&#xff0c;这里放Python代码。

Linux quotaon命令教程:如何在Linux中启用磁盘配额(附实例详解和注意事项)

Linux quotaon命令介绍 quotaon是一个用于在一个或多个文件系统上启用磁盘配额的命令。文件系统配额文件必须存在于指定文件系统的根目录中&#xff0c;并且命名为aquota.user&#xff08;用于版本2用户配额&#xff09;&#xff0c;quota.user&#xff08;用于版本1用户配额&…

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

&#x1f921;博客主页&#xff1a;醉竺 &#x1f970;本文专栏&#xff1a;《C语言深度解剖》 &#x1f63b;欢迎关注&#xff1a;感谢大家的点赞评论关注&#xff0c;祝您学有所成&#xff01; ✨✨&#x1f49c;&#x1f49b;想要学习更多数据结构与算法点击专栏链接查看&am…

动态指定easyui的datagrid的url

动态指定easyui的datagrid的url 重新指定datagrid url的请求方法&#xff1a; $("#dg").datagrid("options").url"xxx"注意&#xff0c;如果直接使用 $(#btnq).bind(click, function(){ $(#dg).datagrid({ url: xxx });//重新指定url$(#dg)…

(delphi11最新学习资料) Object Pascal 学习笔记---第9章第1节(Try-Except块)

9.1 Try-Except块 ​ 让我从一个相当简单的 try-except 示例&#xff08;ExceptionsTest 示例的一部分&#xff09;开始&#xff0c;这个示例有一个通用的异常处理块&#xff1a; function DividePlusOne(A, B: Integer): Integer; begintry// 如果B等于0&#xff0c;则引发异…

WKWebView生成PDF

一、简介 在使用 WKWebView 将网页内容保存为 PDF 文件时&#xff0c;您可以设置打印页面的大小和可打印区域&#xff0c;以确保生成的 PDF 文件符合您的需求。在 WKWebView 中&#xff0c;您可以使用 UIPrintPageRenderer 类的 paperRect 和 printableRect 属性来设置页面的大…

题目:#if #ifdef和#ifndef的综合应用。

题目&#xff1a;#if #ifdef和#ifndef的综合应用。 There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated s…

裸机编程与RTOS编程:理解模式差异与实例说明

裸机编程和RTOS&#xff08;实时操作系统&#xff09;编程是嵌入式系统开发中的两种主要编程模式&#xff0c;它们在资源管理、任务调度、并发处理、实时性保证等方面存在显著差异。本文将详细阐述这两种编程模式的特点、模式差异&#xff0c;并通过实例进行说明。 一、裸机编…

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

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

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

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

Spring、SpringMVC、Springboot三者的区别和联系

1.背景 最近有人问面试的一个问题&#xff1a;Spring、SpringMVC、Springboot三者的区别和联系&#xff0c;个人觉得&#xff1a;万变不离其宗&#xff0c;只需要理解其原理&#xff0c;回答问题信手拈来。 2.三者区别和联系 2.1 先了解Spring基础 Spring 框架就像一个家族…

oracle回收表空间

1. 手工计算实际大小 col owner format a20 col table_name format a40 col "act/block %" format 9999999 select owner, table_name, tablespace_name, act_size, block_size, block_size - act_size, round(act_size /…

Social Skill Training with Large Language Models

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

线程的666种状态

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

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

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

003 静态代理

文章目录 StudentServiceImplStudentService.javaStudentServiceProxy.javaStudentServiceProxy1.javaStudentServiceProxyTest.java StudentServiceImpl package com.aistart.service.impl;import com.aistart.mapper.StudentMapper; import com.aistart.pojo.Student; import…

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

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