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

软考 系统架构设计师系列知识点之软件质量属性(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.lryc.cn/news/186893.html

相关文章:

  • GPT系列论文解读:GPT-1
  • 数学分析:含参变量的积分
  • 关于一篇ElementUI之CUD+表单验证
  • VUE模板编译的实现原理
  • 基础算法之——【动态规划之路径问题】1
  • 三十三、【进阶】索引的分类
  • VBox启动失败、Genymotion启动失败、Vagrant迁移
  • 一篇短小精悍的文章让你彻底明白KMP算法中next数组的原理
  • CSS盒子定位的扩张
  • SpringBoot整合POI实现Excel文件读写操作
  • 从零开始的力扣刷题记录-第八十七天
  • 【1】c++设计模式——>UML类图的画法
  • SAP UI5 指定 / 变更版本
  • SpringMVC中异常处理详解
  • PPT课件培训视频生成系统实现全自动化
  • Densenet--->比残差力度更大 senet-->本质抑制特征
  • 基于腾讯云的OTA远程升级
  • 如何在VS2022中进行调试bug,调试的快捷键,debug与release之间有什么区别
  • 初识jmeter及简单使用
  • Spring 在多线程环境下如何确保事务一致性
  • [Machine Learning] Learning with Noisy Data
  • C++中有哪些常用的标准库?
  • 软考-信息安全工程师概述
  • 2023-2024年华为ICT网络赛道模拟题库
  • 英特尔参与 CentOS Stream 项目
  • Centos 服务器 MySQL 8.0 快速开启远程访问
  • 充电保护芯片TP4054国产替代完全兼容DP4054DP4054H 锂电充电芯片
  • Java Spring Boot中的爬虫防护机制
  • 状态模式 行为型模式之六
  • JAVA NIO深入剖析