软考 系统架构设计师系列知识点之软件可靠性基础知识(2)

接前一篇文章:软考 系统架构设计师系列知识点之软件可靠性基础知识(1)

所属章节:

第9章. 软件可靠性基础知识

          第1节 软件可靠性基本概念

9.1 软件可靠性基本概念

9.1.1 软件可靠性定义

软件可靠性(Software Reliability)是软件产品在规定的条件下和规定的时间区间内完成规定功能的能力。规定的条件是指直接与软件运行相关的、使用该软件的计算机系统的状态和软件的输入条件,或统称为软件运行时的外部输入条件;规定的时间区间是指软件的实际运行时间区间;规定功能是指为提供给定的服务,软件产品所必须具备的功能。

软件与硬件有很多不同点,但从可靠性的角度来看,它们主要有如下4个不同点:

(1)复杂性

(2)物理退化

(3)唯一性

(4)版本更新速度

1983年,美国IEEE计算机学会对“软件可靠性”做出了明确的定义,随后,此定义经美国标准化研究所批准为美国的国家标准。1989年,我国国家标准GB/T-11457也采用了这个定义。这个定义就是:在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统输入和系统使用的函数,也是软件中存在的缺陷函数;系统输入将确定是否会遇到已存在的缺陷(如果缺陷存在的话)。

简而言之,就是在规定的时间周期内,在所述条件下,程序执行所要求的功能的能力。显而易见,美国IEEE计算机学会关于“软件可靠性”的定义仍然沿用了“产品可靠性”的定义,但有了更具体的定位和更深入的描述。

下面来分析一下软件可靠性的框架性定义。

(1)规定的时间

软件可靠性只是体现在其运行阶段,所以将“运行时间”作为“规定的时间”的度量。“运行时间”包括软件系统运行后工作与挂起(开启但空闲)的累计时间。由于软件运行的环境与程序路径选取的随机性,软件的失效为随机事件,所以运行时间属于随机变量。

(2)规定的条件

规定的条件主要指软件的运行环境。它涉及软件系统运行时所需的各种支持要素,如支持硬件平台(服务器、台式机和网络平台等)、操作系统、数据库管理系统、中间件,以及其它支持软件、输入数据格式和范围及操作规程等。不同的环境条件下,软件的可靠性是不同的,具体地说,规定的环境条件主要是描述软件系统运行时计算机的配置情况及对输入数据的要求,并假定其它一切因素都是理想的。有了明确规定的环境条件,还可以有效地判断软件失效的责任在用户放还是开发方。

(3)所要求的功能

软件可靠性还与规定的任务和功能有关。由于要完成的任务不同,软件的运行情况会有所区别,则调用的子模块就不同(包括程序选择路径不同),其可靠性也可能不同。所以,要准确度量软件系统的可靠性,必须先明确其任务和功能。

(4)“软件可靠性”定义具有以下特点

1)用内在的“缺陷”和外在的“失效”关系来描述可靠性,更能深刻地体现软件的本质特点。

2)定义使人们对软件可靠性进行量化评估成为可能。对于软件的可靠性这样一个质量特性,很难用一个明确直观的数值去体现。而根据这个定义,人们有可能通过分析影响可靠性的因素,用函数的形式,按照不同的目的建立各种数学模型去分析软件可靠性。

3)用概率的方法去描述可靠性是比较科学的。前面讲到,软件失效是随机的外部表现,完全是有一个随机事件,而软件缺陷是软件固有的没有损耗的内在特点。定义用规定时间内其操作不出现软件失效的概率,也就是输入未碰到软件缺陷的概率来描述可靠性,这种方法就是用概率来描述纯粹的随机事件,是比较合理的,也是可行的。

至此,“9.1.1 软件可靠性定义”的全部内容就讲解完了。更多内容请看下回。

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

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

相关文章

Arcgis 定义投影、投影变换、导出栅格为tif、矢量转tif

目录 一、Arcgis 定义投影 1、定义投影 2、设置平移 二、投影变换 1、栅格数据的投影变换 2、矢量数据的投影变换

【ARMv9 DSU-120 系列 3 -- 系统控制寄存器】

文章目录 DSU-120 系统控制寄存器系统控制寄存器的访问方式Cluster 通用系统控制寄存器寄存器重置值Generic System Control registers summaryCluster Configuration RegisterDSU-120 系统控制寄存器 在ARMv9架构中,DSU-120(DynamIQ™ Shared Unit-120)是一个关键组件,负…

Python爬虫入门指南--爬虫技术的由来、发展与未来--实战课程大赠送

爬虫,也称为网络爬虫或网络蜘蛛,是一种自动化程序,专门用于遍历互联网并收集数据。这种技术的起源、发展和未来都与互联网紧密相连,并在信息检索、数据挖掘等多个领域发挥着不可或缺的作用。 "免费IP池大放送!助…

堆的概念、堆的向下调整算法、堆的向上调整算法、堆的基本功能实现

目录 堆的介绍 堆的概念 堆的性质 堆的结构 堆的向下调整算法 基本思想(以建小堆为例) 代码 堆的向上调整算法 基本思想(以建小堆为例) 代码 堆功能的实现 堆的初始化 HeapInit 销毁堆 HeapDestroy 打印堆 HeapPrint …

洛谷 P1021 邮票面值设计

原题链接:[NOIP1999 提高组] 邮票面值设计 - 洛谷 目录 题目描述 解题思路: 代码实现: 题后总结: 题目描述 给定一个信封,最多只允许粘贴 N 张邮票,计算在给定 K(NK≤15)种邮票…

RAG的进化之路:从单兵作战到多智协作

原文:https://arxiv.org/pdf/2404.15155.pdf 近年来,随着大规模预训练语言模型的蓬勃发展,基于检索的知识问答技术越来越受到学术界和工业界的青睐。其中最具代表性的当属RAG方法。RAG通过将外部知识库集成到语言模型中,对输入的问题进行深入理解、推理,并生成相应的…

【C语言】联合体详解

目录 1.联合体的声明 2.联合体的特点 3.相同成员的结构体和联合体对比 4.联合体大小的计算 1.联合体的声明 像结构体一样,联合体也是由一个或者多个成员构成,这些成员可以不同的类型。但是编译器只为最大的成员分配足够的内存空间。 联合体的特点是所…

深入解析CSS3 @font-face 规则:自定义与网络字体全面指南

CSS3的font-face规则为网页设计开辟了全新的天地,允许开发者引入自定义字体以及网络字体资源,极大丰富了网页的视觉表现力与品牌一致性。本文不仅将详细解析font-face规则的工作原理、关键属性,还将指导您如何在实际项目中应用自定义字体&…

骑砍2霸主MOD开发(6)-使用C#-Harmony修改本体游戏逻辑

一.C#-Harmony反射及动态注入 利用C#运行时环境的反射原理,实现对已加载DLL,未加载DLL中代码替换和前置后置插桩. C#依赖库下载地址:霸王•吕布 / CSharpHarmonyLib GitCodehttps://gitcode.net/qq_35829452/csharpharmonylib 根据实际运行.Net环境选择对应版本的0Harmony.dll…

慢生活,慢光阴

不知是哪一天,也不知是在哪一年,生物钟不像以前那样准了,节奏也慢了许多,姿态也是收的,像暮色轻笼之下的睡莲,一瓣一瓣地收回盛开的花瓣;无谓的期盼渐渐少了,更在意过好每一个今天&a…

C++(Qt)软件调试---crashpad捕获崩溃(19)

C(Qt)软件调试—crashpad捕获崩溃(19) 文章目录 C(Qt)软件调试---crashpad捕获崩溃(19)1、概述2、资源地址3、配置环境4、解决报错5、测试代码6、测试结果7、Qt中使用crashpad 更多精彩内容👉个人内容分类汇总 &#x…

Java学习路线大纲

一、Java基础 Java语言基础 变量与数据类型 运算符与表达式 控制结构(if、switch、for、while等) 方法与函数 数组与集合 面向对象编程 类与对象 封装、继承、多态 抽象类与接口 异常处理 泛型与注解 常用工具类与API Java常用工具类(如Math…

c#对控件的操作无效,子线程调用主线程的控件

很多人都曾遇到过一件事,我明明已经对这个控件赋值了,或者对这个控件进行了什么操作,但是操作无效。我就曾遇到过这个问题。当时我上网搜了一下。其中可能出现的问题就是我在子线程中调用主线程中的控件。当时给出的答案都是使用委托来解决这…

矩阵按列相乘运算的并行化实现方法

这两天一直在琢磨如下矩阵计算问题。 已知dm矩阵X和hq矩阵Y,求如下矩阵: 其中X(:,i), Y(:,j)分别表示矩阵X, Y的第i列和第j列,易知Z为dh矩阵。 如果直接串行计算矩阵Z,两个循环共有mq,则会很慢,能不能并行化…

枚举(enum)/共用体(union)/结构体(struct)---详解

前言 C语言包含内置类型和自定义类型。 其实C语言中有内置类型,包含:char,short,int,long,long long,float,double,long double ,这些是C语言本身支持的现成的类型。 但仅仅只有内置类型是远远不够的,在描述一个复杂对象是无法使用内置类型来…

(不是Al创作助手、AiLink、开放猫、AiTab新标签、Official Index)分享好用的ChatGPT

目录 1、不是Ai创作助手 2、聊天 - AiLink 3、开放猫-你的智能助手 4、AiTab新标签

Java23种设计模式-创建型模式之建造者模式

建造者模式(Builder Pattern),也被称为生成器模式,是一种创建型设计模式,主要用于解决复杂对象的构建问题。建造者模式的主要特点是: 1.分离构建与表示:将一个复杂对象的构建与它的表示分离&…

ik分词器是什么,有那些配置? ik_smart和ik_max_word的两个分词算法有何区别?

1、ik分词器是什么,有那些配置? 1、ik分词器是什么? IK分词器是一种基于正向匹配的分词算法,它是中文自然语言处理中的一个基本环节。在搜索时,IK分词器会把用户的信息以及数据库或索引库中的数据进行分词&#xff0…

一般数组队列(具有伪溢出的队列)

该队列中需要用到的函数和结构体声明&#xff1a; #pragma once #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <assert.h> // 定义队列中的元素类型 typedef int Datatype;// 定义队列结构体 typedef struct Que…

react经验14:动态修改第三方组件的样式

应用场景 已知第三方组件提供了少许的属性用于程序控制部分样式&#xff0c;现在要求能控制所有细节。 实现方式 核心思路&#xff1a;使用css变量 这里以antd组件库的Tabs控件为例&#xff0c;控制Tabs被选中的页签字体样式。 定义css class&#xff0c;这里用的sass .t…