系统架构师考试学习笔记第三篇——架构设计高级知识(11)软件可靠性基础知识

news2024/9/23 5:30:07

本章知识点:

        第11课时主要学习软件可靠性基本概念、建模、管理、设计、测试和评价等内容。本课时内容侧重于概念知识,根据以往全国计算机技术与软件专业技术资格(水平)考试的出题规律,考查的知识点多来源于教材,扩展内容较少。根据考试大纲,本课时知识点会涉及单项选择题(约占2~3分),论文也会有涉及。本课时知识架构如图11.1所示。

一、软件可靠性基本概念

1.软件可靠性的定义


        软件可靠性是指在规定的时间内,软件不引起系统失效的概率。该概率是系统输入和系统使用的函数,也是软件中存在的缺陷函数;系统输入将确定是否会遇到已存在的缺陷。


2.软件可靠性的定量描述


        软件的可靠性是在软件使用条件、在规定时间内、系统的输入/输出、系统使用等变量构成的数学表达式,如图11.2所示。

3.可靠性的目标


        软件可靠性是指用户对所使用的软件的性能满意程度的期望。可以用可靠度、平均失效时间和故障强度等来描述。


4.可靠性测试的意义与目的


        可靠性测试的意义是:
        (1)软件失效可能造成灾难性的后果。
        (2)软件的失效在整个计算机系统失效中的比例较高。
        (3)相比硬件可靠性技术,软件可靠性技术不成熟。
        (4)软件可靠性问题会造成软件费用增长。

      (5)系统对软件的依赖性强,对生产活动和社会生活影响目益增大。

可靠性测试的目的如图11,3所示。

5.广义的可靠性测试与狭义的可靠性测试


(1)广义的可靠性测试是为了最终评价软件系统的可靠性而运用建模、统计、试验、分析和评价等一系列手段对软件系统实施的一种测试。
(2)狭义的可靠性测试指为了获取可靠性数据,按预先确定好的测试用例,在软件预期使用环境中,对软件实施的一种测试。

二、软件可靠性建模

        (1)影响软件可靠性的因素包括:运行环境、软件规模、软件的内部结构、软件的开发方法和开发环境、软件的可靠性投入。
        (2)软件可靠性模型的组成和特性,如图11.4所示。

        (3)软件可靠性建模方法包括:种子法、失效率类、曲线拟合类、可靠性增长、程序结构分析、输入域分类、执行路径分析方法、非齐次泊松过程、马尔可夫过程、贝叶斯分析。

三、软件可靠性管理

        软件可靠性管理的各阶段,如图11.5所示。

四、软件可靠性设计 

        软件可靠性设计技术有:容错设计技术、检错技术、降低复杂度设计、系统配置技术。
(1)容错设计技术:恢复块设计、N版本程序设计、冗余设计。
        1)恢复块设计:选择一组操作作为容错设计单元,把普通的程序块变成恢复块。
        2)N版本程序设计:通过设计多个模块或不同版本,对相同初始条件和相同输入的操作结果,实行多数表决,防止其中某一软件模块/版本的故障提供错误的服务。
        3)冗余设计:在一套完整的软件系统之外,设计一种不同路径、不同算法或不同实现方式方法的模块或系统作为备份,在出现故障时可使用冗余部分进行替换。
(2)检错技术。
        1)检错技术代价低于容错技术和冗余技术,但是不能自动解决故障,需要人工干预。
        2)检错技术着重考虑检测对象、检测延时、实现方式、处理方式四个要素。
(3)降低复杂度设计。
降低复杂度设计思想是在保证实现软件功能基础上,简化软件结构、缩短程序代码长度、优化软件数据流向、降低软件复杂度、提高软件可靠性。

(4)系统配置技术:可以分为双机热备技术和服务器集群技术。
        1)双机热备技术。
        ·采用“心跳”方法保证主系统与备用系统的联系。
        ·根据两台服务器的工作方式分为双机热备模式(十台工作,一台后备)、双机互备模式(两台运行相对独立应用,互为后备)、双机双工模式(两台同时运行相同应用,互为后备)。
        2)服务器集群技术。
        集群内各节点服务器通过内部局域网相互通信,若某节点服务器发生故障,这台服务器运行的应用被另一节点服务器自动接管。

五、软件可靠性测试

1.软件可靠性测试概述


        软件可靠性测试包括:可靠性目标的确定、运行剖面的开发、测试用例的设计、测试实施、测试结果分析等。


2.定义软件运行剖面


        为软件的使用行为建模,开发使用模型,明确需测试内容。


3.软件可靠性测试用例设计


        测试用例要能够反映实际的使用情况,优先测试最重要的和最频繁使用的功能,其组成如图11.6所示。设计测试用例,针对组合功能或特定功能,编写成相关文档。

4.数件可靠性测试的实施


        用时间定义的软件可靠性数据分为4类:失效时间数据、失效间隔时间数据、分组时间内的失效数据、分组时间内的累积失效数。
        测试记录与测试报告的组成如图11.7所示。

六、软件可靠性评价

1.软件可靠性评价概念


        评估和预测软件可靠性过程包括:
        (1)选择可靠性模型。
        (2)收集可靠性数据。
        (3)可靠性评估和预测。


2.如何选择可靠性模型


        可以从以下几方面选择可靠性模型:
        (1)模型假设的适用性。
        (2)预测的能力与质量。
        (3)模型输出值能否满足可靠性的评价需求。
        (4)模型使用的简便性。


3.可靠性数据的收集


        数据收集可行的办法有:
        (1)尽可能早地确定可靠性模型。
        (2)数据收集计划要有较强的可操作性。

        (3)重视测试数据的分析和整理。
        (4)充分利用技术手段(数据库技术)来完成分析和统计。


4.软件可靠性的评估和预测


        (1)软件可靠性的评估和预测的目的是评估软件系统的可靠性状况和预测将来一段时间的可靠性水平。
        (2)软件可靠性的评估和预测以软件可靠性模型分析为主,以失效数据的图形分析法和试探性数据分析技术等为辅。

七、课后练习

1.采用检错设计技术要着重考虑四个要素:检测对象、()、实现方法和处理方式。
A.检测延时
B.测试结果
C.性能测试
D.功能测试

2.(   )是通常所说的Active/Standby方式,Active服务器处于工作状态,Standby服务器处于监控准备状态,服务器数据包括数据库数据同时往两台或多台服务器写入,保证数据的即时同步。
A.双机热备
B.双机互备
C.双机双工
D.服务器集群

答案解析:

1、解析:对软件可靠性管理的检错技术的考查。采用检错设计技术要着重考虑4个要素:检测对象、检测延时、实现方法和处理方式。
答案:A

2、解析:对软件可靠性管理的检错技术的考查。
一台服务器处于工作状态,另一台处于后备状态,是双机热备模式。
答案:A

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

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

相关文章

注册安全分析报告:央视网

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

day47——面向对象特征之继承

一、继承(inhert) 面向对象三大特征:封装、继承、多态 继承:所谓继承,是类与类之间的关系。就是基于一个已有的类,来创建出一个新类的过程叫做继承。主要提高代码的复用性。 1.1 继承的作用 1> 实现…

16、修改Markdown Preview Enhanced默认样式

前言 vscode的markdown preview enhanced插件的主题并不一定符合每个人的审美,所以有的时候需要自定义,笔者根据网上大佬的文章整合了下自定义修改Markdown Preview Enhanced默认样式的方法,模板在文章中,大家可以直接使用,希望能…

【数据结构】反射,枚举你必须知道的相关知识

前言: 🌟🌟本期讲解关于反射以及枚举,希望能帮到屏幕前的你。 🌈上期博客在这里:http://t.csdnimg.cn/7D225 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 目录 &#x1f…

获得并修改硬件序列号--CPU、主板、内存、硬盘等(有源码)

大家都知道很多Anti Cheat会封硬件序列号,所以本文探索一下如何get and modify序列号。 这个服务是比较贵的: 于是有了研究一下的想法。 思路: 1. 通过厂商自带的程序刷新固件。 2. 自己写驱动修改。 思路1不讨论,要拿到厂商去修改,很不方…

台球助教陪练预约系统源码开发

随着科技的发展和人们对生活质量要求的提高,体育运动的数字化趋势日益明显。台球作为一种集休闲娱乐与竞技于一体的运动项目,在全球范围内拥有广泛的爱好者群体。为了更好地满足这部分人群的需求,开发一个高效的台球助教陪练预约系统变得尤为…

国家超算互联网入选国家数据局“全国一体化算力网应用优秀案例”

在2024年8月29日举行的中国国际大数据产业博览会上,国家数据局公布了首批“全国一体化算力网应用优秀案例”。 这一举措是在经过严格的评审过程后,挑选了包括“国家超算互联网”在内的25个创新平台和方案,它们代表了当前算力网建设的先进与创…

【ssh】环境问题汇总

问题1.同时显示两个不同的 Conda 环境,如图 (base) 环境 是 Conda 安装后默认激活的环境。 (ani) 是手动创建的另一个 Conda 环境。 解决:执行conda deactivate。如果 (ani) 环境多次激活,需要多次执行 conda deactivate 才能回到 base 环境…

【论文分享】sNPU: Trusted Execution Environments on Integrated NPUs 24‘ISCA

目录 AbstractINTRODUCTIONBACKGROUND AND RELATED WORKTrusted Execution Environment (TEE)Neural Processing Unit (NPU)Integrated NPU v.s. Discrete NPU Multi-tasking Requirements for NPUsLow NPU utilization for a single ML workloadSimultaneous execution of bot…

jquery swiper插件的用法

一、Swiper插件简介 Swiper是一个纯JavaScript打造的滑动特效插件,面向手机、平板电脑等移动终端,同时也支持桌面浏览器。Swiper开源、免费、稳定、使用简单且功能强大,是架构移动终端网站的重要选择。 它支持触摸滑动、响应式设计、循环滑动…

基于Java+SpringBoot+Vue+MySQL的地方美食分享网站

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于SpringBootVue的地方美食分享网站【附源码文档】、前后…

NXP i.MX8系列平台开发讲解 - 4.1.3 GPSD 使用

专栏文章目录传送门:返回专栏目录 Hi, 我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】 文章目录 关注星号公众号,不容错过精彩 作者:HywelStar 目录 1. 认识GPSD 2. 安装GPSD 2.…

哪些好用的待办事项清单值得推荐:待办任务清单app

在现代快节奏的生活中,我们每个人都面临着大量的待办事项。无论是工作中的紧急任务,还是生活中的琐碎事务,这些事情常常让我们感到应接不暇。为了更好地管理这些待办事项,将它们列成清单,并设置明确的完成时间节点&…

2024年9月3日嵌入式学习

数据结构 1定义 一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据) 程序的设计:将现实中大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中, 并在此基础上实现某个特定的功能的操作&am…

数据结构(6.4_5)——有向无环图

有向无环图:若一个有向图中不存在环,则称为有向无环图,简称DAG图(Directed Acyclic Graph) DAG描述表达式 普通表达式: DAG描述表达式:解题方法: 练习 总

初始MYSQL数据库(2)——创建、查询、更新、删除数据表的相关操作

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: MYSQL 前面我们学习了创建、删除数据库以及创建、查看、删除数据表的相关操作。 我们知道数据库中所存储的数据其实就是数据表中一条一条的记…

eval 函数 >>>> 变量 = eval (字符串)

作用: 去掉引号并会进行数据之间的加法等运算 eval函数与input的使用 注意eval 后面的括号中必须是字符串(加了引号的),不能直接跟字符串

vue在生产环境和测试环境去掉 console 打印日志 只保留 “error“、 “warn“

vue在生产环境和测试环境去掉 console 打印日志 只保留 “error”、 “warn” 文章目录 vue在生产环境和测试环境去掉 console 打印日志 只保留 "error"、 "warn"一、安装插件二、babel.config.js配置 一、安装插件 npm install babel-plugin-transform-r…

Python的VSCode配置

主要参考: 使用vscode编写、运行Python程序_vscode写python-CSDN博客 这篇文章主要记录在vscode中编写、运行Python程序的方法,以便于后面的学习。 这里我是在win10里完成的,在Ubuntu中的配置方法与之类似。 如果你也在Win10下完成&#xff0…

Leetcode - 138双周赛

目录 一,3270. 求出数字答案 二,3271. 哈希分割字符串 三,3272. 统计好整数的数目 四,3273. 对 Bob 造成的最少伤害 一,3270. 求出数字答案 本题数据范围小,可以将数字转换成字符串来做,这里…