软考高级架构 - 8.1 - 系统质量属性与架构评估 - 超详细讲解+精简总结

第8章 系统质量属性与架构评估

        软件系统属性包括功能属性和质量属性,而软件架构重点关注质量属性

8.1 软件系统质量属性

8.1.1 概述

        软件系统的质量反映了其与需求的一致性,即:软件系统的质量高低取决于它是否能满足用户提出的需求,并在功能和性能上达到预期效果。

根据《GB/T 16260.1》,软件质量的六个主要维度包括:

  1. 功能性:系统的适合性、准确性、互操作性、安全性等。
  2. 可靠性:容错性、易恢复性、成熟性。
  3. 易用性:易学性、易理解性、易操作性。
  4. 效率:资源特性和时间特性。
  5. 维护性:可测试性、可修改性、稳定性、易分析性。
  6. 可移植性:适应性、易安装性、一致性、可替换性。

开发期质量属性

软件在开发阶段的各方面特性,整个过程就是:

设计容易被理解 -> 灵活增加新功能 -> 代码可复用  -> 易测试 -> 代码易修订 ->  方便移植

  • 易理解性:设计被开发人员理解。
  • 可扩展性:软件能否轻松增加新功能
  • 可重用性:系统中某些部分被复用。
  • 可测试性:软件是否容易进行测试。
  • 可维护性:能否快速找到和修改代码。
  • 可移植性:软件是否能方便地从一种环境转移到另一种环境。

运行期质量属性

软件运行阶段所关注的质量属性

  • 性能:软件的运行速度、处理能力和反应时间。
  • 安全性:软件能保护合法用户的使用,阻止未授权的访问。
  • 可伸缩性用户和数据增加时,软件是否能保持良好的表现。
  • 互操作性:软件能否方便地与其他系统进行数据交换或调用。
  • 可靠性:软件长时间运行无故障的能力。
  • 可用性:系统在特定时间内能正常工作的比例。
  • 鲁棒性:软件在异常情况下能否继续运行(如操作错误或硬件故障)。

8.1.2 架构评估的质量属性

架构评估通过以下属性进行质量属性分析:

  1. 性能:系统响应时间和处理能力。
  2. 可靠性:系统在异常条件下持续运行的能力,指标包括MTTF和MTBF
    • 容错:系统在错误发生时继续正确运行。
    • 健壮性:系统在异常情况下(错误输入、使用)保证稳定。
  3. 可用性:系统在一定时间内正常工作的比例。
  4. 安全性:保护合法用户并阻止未授权访问,细分为机密性、完整性、不可否认性和可控性。
  5. 可修改性:系统快速有效修改的能力:包括可维护性可扩展性结构重组可移植性
  6. 功能性:系统完成所需任务的能力。
  7. 可变性:系统架构经扩展或变更后适应新需求的能力。
  8. 互操作性:系统与其他系统间的数据和功能交互的能力。

8.1.3 质量属性场景描述

    质量属性场景是帮助精确描述软件系统质量的方式。它包含以下6个部分:

  1. 刺激源 (Source):谁在行动,比如用户或系统。
  2. 刺激 (Stimulus):发生了什么,例如用户点击按钮、系统崩溃。
  3. 环境 (Environment):发生在什么情况下,比如系统运行正常或过载状态。
  4. 制品 (Artifact):作用在哪,可能是整个系统或某一模块、功能。
  5. 响应 (Response):系统怎么做,系统在接收到刺激后的具体反应。
  6. 响应度量 (Measurement):效果怎么样,系统的表现被如何度量,比如加载时间不超过2秒等。

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

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

相关文章

最详细【Elasticsearch】Elasticsearch Java API + Spring Boot集成 实战入门(基础篇)

Elasticsearch Java API Spring Boot集成 实战入门(基础篇) 一、初始Elasticseach1、什么是Elasticseach2、Elasticsearch生态2、Elasticsearch结构3、Elasticsearch核心概念4、Elasticsearch 实现全文检索的原理 二、Elasticsearch入门1、入门-环境安装…

类文件结构详解

回顾一下字节码 在 Java 中,JVM 可以理解的代码就叫做字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低…

RabbitMQ的应用

七种工作模式介绍 1.Simple(简单模式) P:生产者,也就是要发送信息的程序 C:消费者,消息的接收者 Queue:消息队列。图中黄色背景部分,类似一个邮箱,可以缓存发送信息;生产者向其中…

科研绘图系列:R语言组合堆积图(stacked plot)

文章目录 介绍加载R包数据数据预处理画图1画图2组合图形系统信息介绍 堆积图(Stacked Chart),也称为堆叠图,是一种常用的数据可视化图表,主要用于展示不同类别的数据量在总体中的分布情况。堆积图可以是柱状图、条形图或面积图的形式,其中各个类别的数据量被叠加在一起,…

测试概念以及测试bug

关于测试的概念 什么是需求? 需求分为用户需求和软件需求。 软件需求可以作为开发和测试工作的依据,而用户需求不一定是合理的,这里的不合理有很多的角度:技术角度上,市场需求上,投入成本和收益比噔噔。…

单体架构的 IM 系统设计

先直接抛出业务背景! 有一款游戏,日活跃量(DAU)在两千左右,虽然 DAU 不高,但这两千用户的忠诚度非常高,而且会持续为游戏充值;为了进一步提高用户体验,继续增强用户的忠…

Node.js——fs模块-文件删除

1、在Node.js中,我们可以使用unlink或unlinkSync来删除文件。 2、语法: fs.unlink(path,callback) fs.unlinkSync(path) 参数说明: path 文件路径 callback 操作后的回调函数 本文的分享到此结束,欢迎大家评论区一同讨论学…

Halcon 从XML中读取配置参数

1、XML示例 以下是一个XML配置文件的示例,该文件包含了AOI(自动光学检测)算法的环境参数和相机逻辑参数: <AOI><!--AOI算法参数 20241106--><Env><!--环境参数--><Param name="GPUName" value="NVIDIA GeForce RTX 405…

数据冒险-add x1, x1, x2 add x1, x1, x3 add x1, x1, x4

第一张图没有传递机制 竞争情况分析 读后写&#xff08;RAW&#xff09;竞争&#xff1a;当某条指令需要读取一个寄存器的值&#xff0c;而该寄存器的值尚未被前面的指令写入时&#xff0c;就会发生这种竞争。 指令2&#xff08;dadd r1, r1, r3&#xff09;依赖于指令1&#…

leetcode138:随机链表的复制

给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点的值都设为其对应的原节点的值。新节点的 n…

使用 Umami 部署博客分析工具

Umami 简介 Umami 是一款开源且注重隐私的网站分析工具&#xff0c;可替代 Google Analytics。它提供网站流量和用户行为等见解&#xff0c;但不使用 Cookie 或收集个人数据&#xff0c;符合隐私法规。Umami 轻巧易用&#xff0c;可自行托管。 如果你有自己的博客&#xff0c;…

巡检任务管理系统(源码+文档+部署+讲解)

本文将深入解析“巡检任务管理系统”的项目&#xff0c;探究其架构、功能以及技术栈&#xff0c;并分享获取完整源码的途径。 系统概述 巡检任务管理、巡检抽查、巡检任务随机分派等功能 本项目名称为巡检管理系统&#xff0c;是对巡检工作进行数字化管理的系统。该系统适用…

RK3288 android7.1 适配 ilitek i2c接口TP

一&#xff0c;Ilitek 触摸屏简介 Ilitek 提供多种型号的触控屏控制器&#xff0c;如 ILI6480、ILI9341 等&#xff0c;采用 I2C 接口。 这些控制器能够支持多点触控&#xff0c;并具有优秀的灵敏度和响应速度。 Ilitek 的触摸屏控制器监测屏幕上的触摸事件。 当触摸发生时&am…

Windows系统中Oracle VM VirtualBox的安装

一.背景 公司安排了师带徒&#xff0c;环境搭建问题一直是初级程序员头疼的事情&#xff0c;我记录一下这些基础的内容&#xff0c;方便初学者。大部分开发者的机器还是windows系统&#xff0c;所以写了怎么安装。 二.版本信息及 操作系统&#xff1a;windows11 家庭版…

HTTP的了解

从输入 URL 到页面展示到底发生了什么&#xff1f;&#xff08;非常重要&#xff09; 类似的问题&#xff1a;打开一个网页&#xff0c;整个过程会使用哪些协议&#xff1f; 先来看一张图&#xff08;来源于《图解 HTTP》&#xff09;&#xff1a; 上图有一个错误需要注意&…

2-149 基于matlab的LDPC译码性能分析

基于matlab的LDPC译码性能分析&#xff0c;LDPC&#xff08;Low-Density Parity-Check&#xff09;码作为编码技术&#xff0c;具有优秀的纠错性能和较低的编解码复杂度。为保证可靠的数据传输&#xff0c;对传输过程中可能出现的信道噪声、干扰等进行模拟和分析。分析对比了误…

医学可视化之热力图

在医学领域&#xff0c;热力图是另一种非常有用的可视化工具&#xff0c;它能够以独特的方式展示数据的密度和趋势。 一、热力图的特点 热力图是一种通过颜色变化来表示数据密度或趋势的可视化图表。它通常将数据值映射到不同的颜色区间&#xff0c;颜色越深表示数据值越高&a…

YOLOv11融合[ECCV2024]自调制特征聚合SMFA模块及相关改进思路|YOLO改进最简教程

YOLOv11v10v8使用教程&#xff1a; YOLOv11入门到入土使用教程 YOLOv11改进汇总贴&#xff1a;YOLOv11及自研模型更新汇总 《SMFANet: A Lightweight Self-Modulation Feature Aggregation Network for Efficient Image Super-Resolution》 一、 模块介绍 论文链接&#xff1…

【C++】C++移动语义、左值右值、左值引用右值引用、移动构造函数、std::move、移动赋值操作符

二十五、C移动语义、左值和右值、左值引用右值引用、移动构造函数、std::move、移动赋值操作符 本部分讨论一些更高级的C特性&#xff1a;C移动语义。但是讲移动语义之前我们得先了解什么左值右值、左值引用和右值引用。 1、C的左值和右值、左值引用和右值引用左值是有地址的…

三菱QD77MS定位模块速度更改功能

速度更改功能” 是以任意时机将控制中的速度更改为新指定的速度的功能。更改后的速度直接设置到缓冲存储器中&#xff0c;并根据速度更改指令([cd.15速度更改请求)或者外部指令信号执行速度更改。 但是&#xff0c;机械原点复位的情况下&#xff0c;检测出近点狗 ON 并开始向蠕…