【新版系统架构】第九章-软件可靠性基础知识

news/2024/7/7 22:38:57

软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版)

  1. 第一章-绪论
  2. 第二章-计算机系统基础知识(一)
  3. 第二章-计算机系统基础知识(二)
  4. 第三章-信息系统基础知识
  5. 第四章-信息安全技术基础知识
  6. 第五章-软件工程基础知识(一)
  7. 第五章-软件工程基础知识(需求工程和系统分析与设计)
  8. 第五章-软件工程基础知识(软件测试、净室软件工程、基于构件的软件工程、 软件项目管理)
  9. 第六章-数据库设计基础知识(数据库基本概念、关系数据库)
  10. 第六章-数据库设计基础知识(数据库设计)
  11. 第七章-系统架构设计基础知识(基于架构的软件开发方法)
  12. 第七章-系统架构设计基础知识(架构风格、复用)
  13. 第八章-系统质量属性与架构评估

软件可靠性基本概念

软件可靠性是软件产品在规定的条件下和规定的时间区间内完成规定功能的能力

失效严重程度是对用户具有相同影响的失效集合

可靠性测试是对软件产品的可靠性进行调查、分析和评价的一种手段,其目的可以归纳为:

  1. 发现软件系统在需求、设计、编码、测试和实施等方面的各种缺陷
  2. 为软件的使用和维护提供可靠性数据
  3. 确认软件是否达到可靠性的定量要求

软件可靠性建模

软件可靠性模型是为预计或估算软件的可靠性所建立的可靠性框图和数学模型,建立可靠性模型是为了将复杂系统的可靠性逐级分解为简单系统的可靠性,以便于定量预计、分配、估算和评价复杂系统的可靠性。

从技术角度看,影响软件可靠性的主要因素如下:

  1. 运行剖面(环境),软件可靠性的定义是相对运行环境而言的,不同环境,可靠性表现不一样
  2. 软件规模
  3. 软件内部结构
  4. 软件的开发方法和开发环境
  5. 软件的可靠性投入

软件可靠性建模方法
一般由以下几部分组成:模型假设、性能度量、参数估计方法、数据要求

好的软件可靠性模型具有的特性:基于可靠的假设、简单、计算一些有用的量、给出为了失效行为的好的映射、可广泛应用

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

软件可靠性管理
软件可靠性管理的内容包括软件工程各个阶段的可靠性活动的目标、计划、进度、任何和修正措施等

软件可靠性设计

保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制。

软件可靠性设计技术主要有:容错技术、检错设计、降低复杂度设计等技术

软件可靠性设计要遵循的原则:

  1. 必须在软件的总体设计框架中使用,并且不能与其他设计原则相冲突
  2. 在满足提高软件质量要求的前提下,以提高和保障软件可靠性为最终目标
  3. 应确定软件的可靠性目标,不能无限扩大化,并且排在功能度、用户需求和开发费用之后考虑

容错设计技术
主要有恢复块设计、N版本程序设计、冗余设计

检错技术
检错技术实现代价低于容错技术和冗余技术,缺点是不能自动解决故障,出现故障后如果不进行人工干预,将导致软件系统不能正常运行

降低复杂度设计
软件复杂性分为模块复杂性和结构复杂性

系统配置技术
主要有双机热备技术、服务器集群技术

软件可靠性评价

软件可靠性评价是指选用或建立合适的可靠性数学模型,运用统计技术和其他手段,对软件可靠性测试和系统运行期间收集的软件失效数据进行处理,并评估和预测软件可靠性的过程,该过程包含:选择可靠性模型、收集可靠性数据、可靠性评估和预测


上面的都是理论,我们还需要实践 ,作者其他要推荐的文章,欢迎来学习:
基于Spring Boot 3.1.0 系列文章

  1. Spring Boot 源码阅读初始化环境搭建
  2. Spring Boot 框架整体启动流程详解
  3. Spring Boot 系统初始化器详解
  4. Spring Boot 监听器详解
  5. Spring Boot banner详解
  6. Spring Boot 属性配置解析
  7. Spring Boot 属性加载原理解析
  8. Spring Boot 异常报告器解析
  9. 使用GraalVM 构建 Spring Boot 3.0 原生可执行文件
  10. Spring Boot 3.x微服务升级经历

Prometheus 系列文章

  1. Prometheus 的介绍和安装
  2. 直观感受PromQL及其数据类型
  3. PromQL之选择器和运算符
  4. PromQL之函数
  5. Prometheus 告警机制介绍及命令解读
  6. Prometheus 告警模块配置深度解析
  7. Prometheus 配置身份认证
  8. Prometheus 动态拉取监控服务
  9. Prometheus 监控云Mysql和自建Mysql

Grafana 系列文章,版本:OOS v9.3.1

  1. Grafana 的介绍和安装
  2. Grafana监控大屏配置参数介绍(一)
  3. Grafana监控大屏配置参数介绍(二)
  4. Grafana监控大屏可视化图表
  5. Grafana 查询数据和转换数据
  6. Grafana 告警模块介绍
  7. Grafana 告警接入飞书通知

http://lihuaxi.xjx100.cn/news/1305213.html

相关文章

基于Springboot+mybatis+mysql+vue实现企业注册模块功能

基于Springbootmybatismysqlvue实现企业注册模块功能 一、系统介绍二、功能展示1.主页面2.注册成功 三、数据库四、代码展示四、其他系统实现五、获取源码 一、系统介绍 该系统实现简单的企业信息注册,保存后,提示注册成功。 运行环境:idea…

哈希表--day6--总结篇

文章目录 数组作为哈希表set作为哈希表map作为哈希表 一般来说哈希表都是用来快速判断一个元素是否出现集合里。 对于哈希表,要知道哈希函数和哈希碰撞在哈希表中的作用. 哈希函数是把传入的key映射到符号表的索引上。 哈希碰撞处理有多个key映射到相同索引上时的…

unity制作游戏,点击鼠标左键,展示屏幕震动效果

在Unity中实现点击鼠标左键展示屏幕震动效果可以通过以下步骤进行: 创建一个新的C#脚本,例如"ScreenShake.cs",并将其附加到想要添加屏幕震动效果的游戏对象上。 在脚本中定义一个变量来控制震动的幅度,例如public flo…

运输层概述、端口号、复用与分用

1.运输层概述、端口号、复用与分用 笔记来源: 湖科大教书匠:运输层概述 湖科大教书匠:运输层端口号、复用与分用的概念 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 1.1 运输层概述 计算机网络体系结构中的物…

【Android】组件安全之Activity

前言 前文系统的总结了组件会有什么安全问题,本文详细的从不同的组件切入,深入的解析组件的实现方式。组件安全https://blog.csdn.net/xiru9972/article/details/123537641?ops_request_misc&request_id7a89a72fdd464cee90c20b2b88549c11&biz_…

Springboot MongoDB封装通用Servcie

上篇文章讲到了如何基于MongoTemplate封装通用Repository,只是解决了数据存储层的代码冗余,但是没有解决业务层的冗余,为了解决业务层的代码冗余,封装一个类似Mybatis plus的通用Service,相信使用过Mybstis plus的同学…

利用auto_explain查看sql、procedure、function实时执行计划

文章目录 1.简介1.1 实时的执行计划1.2 查看procedure、function的执行计划 2.load auto_explain3.相关参数设定4.创建测试表5.测试用的function6.运行测试function7.查看执行过程8.关闭auto_explain 1.简介 postgresql中,利用explain 结合一些选项,如a…

https 证书到期,手动更新

-1. 这里有第一次配置 https 证书步骤 https://blog.csdn.net/u013633921/article/details/129941674 0. 记录一下,因为 3 个月后还会用到的。。 1. 验证域名所有权(在某个目录下放置指定文件验证) http://172.245.xxx.xxx/.well-known/pki-…