软考 系统架构设计师系列知识点之软件质量属性(1)

这个十一注定是一个不能放松、保持“紧”的十一。由于报名了全国计算机技术与软件专业技术资格(水平)考试,11月4号就要考试,因此8天长假绝不能荒废,必须要好好利用起来。现在将各个核心知识点一一进行提炼并做记录。

所属章节:

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

        第1节. 软件系统质量属性

0. 概述

软件系统属性包括功能属性质量属性,软件架构重点关注的是质量属性架构的基本需求是在满足功能属性的前提下,关注软件系统质量属性。为了精确、定量地表达系统的质量属性,通常会采用质量属性场景的方式进行描述。

在确定软件系统架构、精确描述质量属性场景后,就需要对系统架构进行评估。软件系统架构评估是在对架构分析、评估的基础上,对架构策略的选取进行决策。它也可以灵活地运用与软件架构评审等工作。

1. 质量属性概念

软件系统的质量就是“软件系统与明确地和隐含地定义的需求相一致的程度”。更具体地说,软件系统质量是软件与明确地叙述的功能性能需求文档中明确描述的开发标准以及专业开发的软件产品都应该具有的隐含特征相一致的程度。根据GB/T 16260.1定义,从管理角度对软件系统质量进行度量,可将影响软件质量的主要因素划分为6种维度特性:功能性、可靠性、易用性、效率、维护性与可移植性。

  • 功能性包括:适合性、准确性、互操作性、依从性、安全性;
  • 可靠性包括:容错性、易恢复性、成熟性;
  • 易用性包括:易学性、易理解性、易操作性;
  • 效率包括:资源特性、时间特性;
  • 维护性包括:可测试性、可修改性、稳定性和易分析性;
  • 可移植性包括:适应性、易安装性、一致性、可替换性。

软件系统质量属性是一个系统的可测量或者可测试的属性,用来描述系统满足利益相关者需求的程度基于软件系统的生命周期,可以将软件系统的质量属性分为开发期质量属性运行期质量属性两个部分。

(1)开发期质量属性

开发期质量属性主要指在软件开发阶段所关注的质量属性。主要包括6个方面。

1)易理解性

指设计被开发人员理解的难易程度。

2)可扩展性

软件因适应新需求或需求变化而增加新功能的能力,也成为灵活性

3)可重用性

指重用软件系统或某一部分的难易程度。

4)可测试性

对软件测试以证明其满足需求规范的难易程度。

5)可维护性

当需要修改缺陷、增加功能、提高质量属性时,识别修改点并实施修改的难易程度。

6)可移植性

将软件系统从一个运行环境转移到另一个不同的运行环境的难易程度。

(2)运行期质量属性

运行期质量属性主要指在软件运行阶段所关注的质量属性,主要包括7个方面。

1)性能

指软件系统及时提供相应服务的能力,如速度、吞吐量和容量等的要求。

2)安全性

指软件系统同时兼顾向合法用户提供服务、以及阻止非授权使用的能力。

3)可伸缩性

指当用户数和数据量增加时,软件系统维持高服务质量的能力。例如,通过增加服务器来提高能力。

4)互操作性

指本软件系统与其它系统交换数据和相互调用服务的难易程度。

5)可靠性

指软件系统在一定的时间内持续无故障运行的能力。

6)可用性

指系统在一定时间内,正常工作的时间所占的比例。可用性会受到系统错误、恶意攻击、高负载等问题的影响。

7)鲁棒性

指软件在非正常情况下(如用户进行了非法操作、相关的软硬件系统发生了故障等)仍能够正常运行的能力,也称健壮性容错性

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

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

相关文章

Vue中如何进行分布式任务调度与定时任务管理

在Vue中进行分布式任务调度与定时任务管理 分布式任务调度和定时任务管理是许多应用程序中的关键功能之一。它们用于执行周期性的、异步的、重复的任务,例如数据备份、邮件发送、定时报告生成等。在Vue.js应用中,我们可以结合后端服务实现分布式任务调度…

Linux命令(96)之seq

linux命令之seq 1.seq介绍 linux命令seq是用来产生整数序列 2.seq用法 seq [参数] [首数] [增量] [尾数] seq参数 参数说明-f使用printf 样式的浮点格式-s指定分隔符-w输出同宽数列,不足的位数用 0 补齐 3.实例 3.1.输出1到5 命令: seq 5 OR s…

关于氮化镓的干蚀刻综述

引言 GaN及相关合金可用于制造蓝色/绿色/紫外线发射器以及高温、高功率电子器件。由于 III 族氮化物的湿法化学蚀刻结果有限,因此人们投入了大量精力来开发干法蚀刻工艺。干法蚀刻开发一开始集中于台面结构,其中需要高蚀刻速率、各向异性轮廓、光滑侧壁…

记一次 .NET某账本软件 非托管泄露分析

一:背景 1. 讲故事 中秋国庆长假结束,哈哈,在老家拍了很多的短视频,有兴趣的可以上B站观看:https://space.bilibili.com/409524162 ,今天继续给大家分享各种奇奇怪怪的.NET生产事故,希望能帮助…

Java基础(二)

1. 面向对象基础 1.1 面向对象和面向过程的区别 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。 面向对象开发的方式更容易维护和迭代升级、易复用、易扩展。 1…

3D孪生场景搭建:参数化模型

1、什么是参数化模型 参数化模型是指通过一组参数来定义其形状和特征的数学模型或几何模型。这些参数可以用于控制模型的大小、形状、比例、位置、旋转、曲率等属性,从而实现对模型进行灵活的调整和变形。 在计算机图形学和三维建模领域,常见的参数化模…

Docker 镜像的缓存特性

Author:rab 目录 前言一、构建缓存二、Pull 缓存总结 前言 首先我们要清楚,Docker 的镜像结构是分层的,镜像本身是只读的(不管任何一层),当我们基于某镜像运行一个容器时,会有一个新的可写层被…

Torch使用过程错误解决记录

1、错误信息:cannot import name notf from tensorboard.compat (dl_base) [rootlocalhost WiNGPT2]# python test.py [2023-10-08 02:18:35,071] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect) Traceback (mos…

Springboot 音乐网站管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot 音乐网站管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统 具有完整的源代码和数据库&…

让丢失成为过去,尽在我们的智能防丢器

我们都知道,生活中总会遇到一些小烦恼,比如钥匙不见了,钱包忘在哪里,甚至手机掉在了不知名的地方,这些看似小事,却足以打乱我们的日程。那么,有没有一种方法,可以让这些烦恼一扫而空…

一座“城池”:泡泡玛特主题乐园背后,IP梦想照亮现实

“更适合中国宝宝体质”的主题乐园,被泡泡玛特造出来了。 9月26日,位于北京朝阳公园内的国内首个潮玩行业沉浸式 IP 主题乐园,也是泡泡玛特首个线下乐园——泡泡玛特城市乐园 POP LAND正式开园。 约4万平方米的空间中,泡泡玛特使…

visual studio code配置anaconda3的python虚拟环境

参考: Visual Studio Code配置anconda3虚拟环境 - 知乎

Javascript - 轮播图

轮播图也称banner图、广告图、焦点图、滑片。是指在一个模块或者窗口,通过鼠标点击或手指滑动后,可以看到多张图片。这些图片统称为轮播图,这个模块叫做轮播模块。可以通过运用 javascript去实现定时自动转换图片。以下通过一个小Demo演示如何运用Javascript实现。 <!DOCTYP…

Rust 技术文档及详细使用命令

概述 Rust 是一种现代、安全、并发、高性能的系统级编程语言。它与其他语言相比具有许多独特的特性&#xff0c;例如内存安全、所有权系统和生命周期等&#xff0c;使得它成为编写可靠和高效软件的理想选择。 本文档将介绍 Rust 的基本概念、语法、工具以及常用命令&#xff…

winform中DevExpress控件一些属性

1.DevExpress控件bar去掉前面四点和后面的倒三角。 如图。设置bar属性optionsBar→allowQuickCustomizationFALSE

练[WUSTCTF2020]朴实无华

[WUSTCTF2020]朴实无华 文章目录 [WUSTCTF2020]朴实无华掌握知识解题思路代码分析 关键paylaod 掌握知识 ​ 目录扫描&#xff0c;抓包放包&#xff0c;代码审计&#xff0c;php函数特性的了解&#xff1a;intval函数&#xff0c;md5特性绕过&#xff0c;RCE一些bypass方法 解…

NestJS代码片段解读(1)

import { NestFactory } from nestjs/core;import {FastifyAdapter,NestFastifyApplication, } from nestjs/platform-fastify;import { AppModule } from ./app.module;async function bootstrap() {// 使用fastify驱动const app await NestFactory.create<NestFastifyApp…

测试老鸟总结,Jmeter接口测试实例-签名接口,一文彻底打通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、签名规则 1&a…

3分钟带你认识腾讯云服务器CVM_一看就懂

腾讯云服务器CVM提供安全可靠的弹性计算服务&#xff0c;腾讯云明星级云服务器&#xff0c;弹性计算实时扩展或缩减计算资源&#xff0c;支持包年包月、按量计费和竞价实例计费模式&#xff0c;CVM提供多种CPU、内存、硬盘和带宽可以灵活调整的实例规格&#xff0c;提供9个9的数…

多个excel合并

目的&#xff1a;将同一个文件下的多个 “京东差评.xlsx” 合并为一个&#xff1a;“京东汇总.xlsx" 代码如下&#xff1a; # -*- coding: utf-8 -*- """ Created on Wed Oct 4 12:52:32 2023author: 64884 """import pandas as pd impor…