软考 系统架构设计师系列知识点之软件质量属性(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)鲁棒性

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

相关推荐
刀法如飞1 天前
从程序员到架构师:6大编程范式全解析与实践对比
设计模式·系统架构·编程范式
郑州光合科技余经理6 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
阿狸猿6 天前
云原生数据库
云原生·软考
阿狸猿6 天前
性能测试核心内容及项目实践论述
软考
BOB-wangbaohai6 天前
软考-云原生系统设计分析
软考·系统架构师·云原生架构
王九思6 天前
Thrift Server 介绍
大数据·系统架构·运维开发
xiaozhazha_6 天前
技术选型深度解析:企业级AI智能办公系统架构设计与“人机协同”实践——以快鹭为例
人工智能·系统架构
C澒6 天前
SLDS 自营物流系统:Pickup 揽收全流程
前端·架构·系统架构·教育电商·交通物流
阿狸猿6 天前
单元测试中静态测试、动态测试及白盒测试、回归测试实践
单元测试·软考
阿狸猿6 天前
事件驱动架构的核心概念、特点及设计开发过程——结合项目实践的落地、问题与解决方案
架构·软考