架构师必考题--软件系统质量属性

news2024/11/16 5:32:09

软件系统质量属性

  • 1.质量属性
  • 2.质量属性场景描述
  • 3.系统架构评估

这个知识点是系统架构师必考的题目,也是案例分析题第一题,
有时候会出现在选择题里面,考的分数也是非常高的。

1.质量属性

属性说明
可用性错误检测/恢复/避免
性能资源需求/管理/仲裁
可修改性局部化修改/防止连锁反应/推迟绑定时间
安全性抵抗攻击/检测攻击

2.质量属性场景描述

属性场景说明
刺激源某个生成该刺激的实体(人/计算机系统或其他刺激器)
刺激当刺激到达系统时需要考虑的条件。
环境该刺激在某些条件内发生。
制品某个制品被刺激,可能是整个系统,也可能是系统的一部分。
响应指在激励到达后所采取的行动。
响应度量当响应发生时,应当能够以某种方式对其进行度量,以对需求的测试。

3.系统架构评估

敏感点:实现质量目标时应注意的点,是一个或多个构件的特性。
权衡点:影响多个质量属性的敏感点。
风险承担者或利益相关人:影响体系结构或被体系结构影响的群体。
场景:确定架构质量评估目标的交互机制,一般采用触发机制环境和影响三方面来描述。

系统架构分析方法(SAAM)

主要输入是问题描述、需求说明和架构描述,其分析过程主要包括场景开发、架构描述、单个场景评估、场景交互和总体评估。

在这里插入图片描述

架构权衡分析法(ATAM)

针对性能、可用性、安全性和可修改性等质量属性进行评价和折中。
主要等活动阶段:需求收集、架构视图描述、属性模型架构和分析、架构决策与折中,整个评估过程强调以属性作为架构评估等核心概念。

成本效益分析法(CBAM)

分为整理场景,对场景进行求精,确定场景的优先级,分配效用,架构策略涉及哪些质量属性及响应级别,使用内插法确定期望的质量属性响应级别的效用,计算各架构策略的总收益,根据受成本限制影响的ROI选择架构策略。

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

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

相关文章

元组的创建和删除

目录 使用赋值运算符直接创建元组 创建空元组 创建数值元组 删除元组 自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 元组(tuple)是Python中另一个重要的序列结构&#…

异方差的Stata操作(计量114)

以数据集 nerlove.dta 为例,演示如何在 Stata 中处理异方差。 此数据集包括以下变量: tc ( 总成本 ) ; q ( 总产量 ) ; pl ( 工资率 ) ; pk ( 资本的使用成本 ) ; pf ( 燃料价格 ) ; …

H3CNE-7-TCP和UDP协议

TCP和UDP协议 TCP:可靠传输,面向连接 -------- 速度慢,准确性高 UDP:不可靠传输,非面向连接 -------- 速度快,但准确性差 面向连接:如果某应用层协议的四层使用TCP端口,那么正式的…

【代码随想录训练营】【Day 27 and 28】【回溯1-2】| Leetcode 77, 216, 17

【代码随想录训练营】【Day 27 and 28】【回溯1-2】| Leetcode 77, 216, 17 需强化知识点 组合问题:感受遍历的横向和纵向 题目 77. 组合 注意path要深拷贝 class Solution:def combine(self, n: int, k: int) -> List[List[int]]:result []def backtrac…

Thymeleaf 搭建家居网首页

文章目录 1.引入Thymeleaf sunliving-commodity模块1.在resources目录下引入Thymeleaf 所需资源2.pom.xml引入Thymeleaf依赖3.application.yml 关闭缓存,使页面实时刷新4.在application-prod.yml开启缓存5.编写com/sun/sunliving/commodity/web/IndexController.jav…

VLAN高级特性

1.VLAN聚合 (1)VLAN聚合产生的技术背景 (2)VLAN聚合概述 (3)VLAN聚合的原理 多个Sub-VLAN共享一个网关地址,节约了子网网络地址、子网定向广播地址、子网缺省网关地址,且各Sub-VLAN…

基于51单片机的超声波液位测量与控制系统

基于51单片机液位控制器 (仿真+程序+原理图PCB+设计报告) 功能介绍 具体功能: 1.使用HC-SR04测量液位,LCD1602显示; 2.当水位高于设定上限的时候,对应声光报警报警&am…

【同构字符串】python

思路: 先记录同一个值出现的次数,再将字典中的值取出,比较2个列表即可 代码: class Solution:def isIsomorphic(self, s: str, t: str) -> bool:dit1dict()dit2dict()for i in range(len(s)):if s[i] not in dit1:dit1[s[i…

SQL Server2019安装步骤教程(图文)_最新教程

一、下载SQL Server2019 1.到微软官网下载SQL Server Developer版本,官网当前的2019版本下载需要注册账号。 不想注册的朋友,可以选择从网盘下载:点击此处直接下载 2.下载之后先解压,解压后执行exe安装程序。打开之后的界面如下…

下载 Hugging Face 中的模型文件

下载 Hugging Face 中的模型文件 1. Hugging Face Hub2. ggerganov/whisper.cpp3. 点击图标下载文件4. Clone this model repository5. Using the Hugging Face Client Library6. Using GitReferences 1. Hugging Face Hub The Hugging Face Hub is a platform with over 350k…

linux 常用命令:find grep ps netstat sudo df du rm

rm 命令 删除 -r 是递归参数(recursive),用于删除目录及其内容。如果不加这个参数,rm 命令无法删除非空目录。-f 是强制参数(force),用于强制删除文件或目录,不会进行任何确认提示…

【fastapi+mongodb】使用motor操作mongodb

上一篇文章,我们在电脑上安装了mongodb数据库。这篇文章,我们在fastapi后端使用motor操作mongodb 如果你还没看过上一篇文章,链接在这里:【MongoDB】安装与使用 安装 motor motor 是一个用于操作 mongodb 数据库的 python 库&a…

【ai】pycharm安装langchain 相关module

pycharm module install 【Python学习 】一篇文章教你PyCharm如何快速安装module 【python】pycharm如何安装python的模块包版本 2024.1.2 RC2 找到当前的虚拟项目 找到解释器 我现在配置为专门为openai-start 准备的3.10 版本+ 号可以找到模块

C++标准库中string的底层实现方式

对于C中 std::string 的一些基本功能和用法,我们应该都很熟悉。但它底层到底是如何实现的呢? 其实在 std::string 的历史中,出现过几种不同的方式。下面我们来一一揭晓。 我们可以从一个简单的问题来探索,一个 std::string 对象占据的内存空…

JavaSE 学习记录

1. Java 内存 2. this VS super this和super是两个关键字,用于引用当前对象和其父类对象 this 关键字: this 关键字用于引用当前对象,即调用该关键字的方法所属的对象。 主要用途包括: 在类的实例方法中,通过 this …

鸿蒙ArkTS声明式开发:跨平台支持列表【触摸事件】

触摸事件 当手指在组件上按下、滑动、抬起时触发。 说明: 开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独…

Spring从零开始学使用系列(四)之@PostConstruct和@PreDestroy注解的使用

如果各位老爷觉得可以,请点赞收藏评论,谢谢啦!! 文章中涉及到的图片均由AI生成 公众号在最下方!!! 目录 1. 介绍 1.1 PostConstruct概述 1.2 PreDestroy概述 2. 基本用法 2.1 注册CommonAnn…

Docker进入容器查看内容并从容器里拷贝文件到宿主机

工作中需要从docker正在运行的镜像中复制文件到宿主机,于是便将这个过程记录了下来。 (1)查看正在运行的容器 通过以下命令,可以查看正在运行的容器: docker ps (2)进入某个容器执行脚本 我…

Pytest对协程异步函数进行单元测试

安装 安装基础包 pytest,pytest-asyncio pip install pytest pytest-asyncio测试: pytest -s -v ./python-code/do-async/aiohttp_session_pytest.py书写规范 类名必须以 Test 开头方法和函数名必须以test开头 class TestAddFunc(object): # 测试…

【mysql】in和exists的区别,not in、not exists、left join的相互转换

【mysql】in和exists的区别,not in、not exists、left join的相互转换 【一】in介绍【1】in中数据量的限制【2】null值不参与in或not in,也就是说in and not in 并不是全量值,排除了null值【3】in的执行逻辑 【二】exists介绍【1】exists no…