软考 系统架构设计师系列知识点之软件可靠性基础知识(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 软件可靠性定义"的全部内容就讲解完了。更多内容请看下回。

相关推荐
长不大的杨瑞杰2 天前
ChatGPT 广告技术栈架构拆解:多轮意图、LLM 工具编排、ANN 召回与拍卖闭环
人工智能·chatgpt·系统架构·推荐系统·广告
艺杯羹2 天前
Windows原生软件锁设计:从暴力杀进程丢数据到零轮询事件驱动架构
windows·系统架构·开源·开源软件·内存管理·开源协议
jktantan3 天前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·后端·算法·spring cloud·系统架构
艺杯羹5 天前
MCP本地服务集成避坑:从Stdio管道僵死到双向JSON-RPC稳健通信
人工智能·python·ai·系统架构·大语言模型·ai编程·mcp
奇树谦5 天前
Qt Quick 图片加载与 GPU 纹理机制详解:QImage、QQuickTextureFactory、QSGTexture 与异步加载
开发语言·qt·系统架构
无心水5 天前
24、系统架构师论文写作专题 核心考点与学习笔记
笔记·学习·系统架构·架构师·安全架构·软考架构师·软考系统架构设计师
拆房老料7 天前
DeepSeek Super-agent 架构解析:从单任务 Agent 到持续运行的任务系统
人工智能·设计模式·系统架构
Jmyd01237 天前
文物3D数字化的技术选型指南:从WW/T 0115标准到落地工程,一次讲透采集、建档、管理与展示
3d·系统架构·博物馆·数字展厅·博物馆数字化
薛定谔的猫-菜鸟程序员7 天前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
被放养的研究生8 天前
第一章 信息系统架构
系统架构·金融监管计算机类