当前位置: 首页 > backend >正文

软考 系统架构设计师系列知识点之杂项集萃(83)

接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(82)

第150题

体系结构权衡分析方法(Architecture Tradeoff Analysis Method,ATAM)是一种常见的系统架构评估框架,该框架主要关注系统的(),针对性能、()、安全性和可修改性,在系统开发之前进行分析、评价与折中。

第1空

A. 架构视图

B. 架构描述

C. 需求说明

D. 需求建模

正确答案:C(似乎应是B)。 易答错选项:A。

第2空

A. 可测试性

B. 可用性

C. 可移植性

D. 易用性

正确答案:B。

解析:

架构权衡分析方法是一种系统架构评估方法,主要在系统开发之前,针对性能、可用性、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、架构视图描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以属性作为架构评估的核心概念。

参考:软考 系统架构设计师系列知识点之系统架构评估(3)_架构权衡中属性模型构造分析做什么-CSDN博客

2. ATAM方法

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

(1)特定目标

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

(2)质量属性

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

(3)风险承担者

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

(4)架构描述

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

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

(5)评估技术

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

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

(6)方法的活动

ATAM被分为4个主要的活动领域(或阶段),分别是场景和需求收集、架构视图和场景实现、属性模型构造和分析、折中。

属性专家独立地创建和分析他们的模型,然后交换信息(澄清和创建新的需求)。属性分析是相互依赖的,因为每个属性都会涉及其它属性。获得属性关联的方法有两种,即使用敏感度分析来发现折中点和通过检查假设。

在架构设计中,ATAM提供了迭代的改进。除了通常从场景派生而来的需求,还有很多对行为模式和执行环境的假设。由于属性之间存在着折中,每一个假设都要被检查、验证和询问,以此作为ATAM方法的结果。在完成所有这些操作之后,把分析的结果和需求进行比较;如果系统预期的行为大多接近于需求,设计者就可以继续进行下一步更为详细的设计或实现。

第2空参考:软考 系统架构设计师系列知识点之杂项集萃(67)-CSDN博客

可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考查这些变更的代价衡量可修改性。可修改性包含四个方面。

(1)可维护性(maintainability)

可维护性主要体现在问题的修复上,在错误发生后“修复”软件系统。为可维护性做好准备的软件体系结构往往能做局部性的修改并能使对其它构件的负面影响最小化。

(2)可扩展性(extendibility)

可扩展性关注的是使用新特性来扩展软件系统,以及使用改进版本来替换构件,并删除不需要或不必要的特性和构件。为了实现可扩展性,软件系统需要松散耦合的构件。其目标是实现一种体系结构,它能使开发人员在不影响构件客户的情况下替换构件。支持把新构件集成到现有的体系结构中也是必要的。

(3)结构重构(reassemble)

也称结构重组。这一点处理的是重新组织软件系统的构件及构件间的关系,例如通过将构件移动到一个不同的子系统而改变它的位置。为了支持结构重组,软件系统需要精心设计构件之间的关系。理想情况下,它们允许开发人员在不影响实现的主体部分的情况下灵活地配置构件。

(4)可移植性(portability)

可移植性使软件系统适用于多种硬件平台、用户界面、操作系统、编程语言或编译器。为了实现可移植,需要按照硬件无关的方式组织软件系统,其它软件系统和环境被提取,出。可移植性是系统能够在不同计算环境下运行的能力。这些环境可能是硬件、软件,也可能是两者的结合。在关于某个特定计算环境的所有假设都集中在个构件中时,系统是可移植的。如果移植到新的系统需要做些更改,则可移植性就是一种特殊的可修改性。

http://www.xdnf.cn/news/12537.html

相关文章:

  • 1、cpp实现Python的print函数
  • 构建 MCP 服务器:第 4 部分 — 创建工具
  • 【人工智能】一些基本概念
  • 虹科方案 | 高效集成!CAN/CAN FD通信与数字信号控制一体化
  • 流量治理:熔断 vs 限流的协同防御体系构建‌
  • AI Infra运维实践:DeepSeek部署运维中的软硬结合
  • 应用宝和苹果App Store上架条件、审核规则及操作流程文档
  • 【更新至2024年】2000-2024年上市公司财务困境RLPM模型数据(含原始数据+结果)
  • SpringBoot整合RocketMQ与客户端注意事项
  • 网页端 VUE+C#/FastAPI获取客户端IP和hostname
  • LOOI机器人的技术实现解析:从手势识别到边缘检测
  • 深度解读JS内存机制:8种泄漏案例与优化方案
  • RFC8489-STUN
  • Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
  • 什么是空闲钩子函数?
  • MySQL数据库表设计与索引优化终极指南
  • Linux驱动:再看静态映射和动态映射
  • C#中的路由事件(Routed Events)
  • k8s入门教程(集群部署、使用,镜像拉取失败网络问题排查)
  • freeRTOS xQueueGenericSend以及xQueueGenericReceive函数疑问
  • 在uni-app中如何从Options API迁移到Composition API?
  • CMake控制VS2022项目文件分组
  • [蓝桥杯 2024 国 B] 立定跳远
  • Linux中shell编程表达式和数组讲解
  • 使用C/C++和OpenCV实现图像拼接
  • Python绘图库及图像类型之特殊领域可视化
  • CAU人工智能class7 迁移学习
  • JAVA-什么是JDK?
  • 【动手学深度学习】2.6. 概率
  • VTK 显示文字、图片及2D/3D图