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

news/2024/11/14 19:50:39/

软考-系统架构设计师知识点提炼-系统架构设计师教程(第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://www.ppmy.cn/news/711672.html

相关文章

tortoiseGit fatal: Could not read from remote repository.

1、问题场景: 使用tortoiseGit工具pull代码的时候报错 git.exe pull --progress -v --no-rebase "origin" fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 无法从存…

@RequestBody接收不到前端传递过来的json数据

uniRequest.post(/orderParking,{parkingRecord:this.ParkingRecord})我刚开始只是写RequestBody ParkingRecord parkingRecord 一直获取的都是null, 直到用了Map标签才终于获取到参数了 RequestMapping(value "/orderParking",produces"application/json"…

C# --- 类型安全 与 var关键字

C# --- 类型安全 与 var关键字 什么是类型安全var关键字 什么是类型安全 类型安全就是编译器在编译阶段会检查变量内容和变量类型是否匹配, 如果不匹配会抛出错误类型安全的语言包括Java, C, C#等类型不安全的语言有JavaScript 下面这段代码是JavaScript, 编译器不会进行类型检…

关联查询和子查询

关联查询和子查询: 二、关联查询: 1、全连接:两个表作笛卡尔积 2、内连接:找到两个表中的关联数据 3、外连接: 左外连接:grade中12无学生,但是还是会显示出来(以左边的表为基准&am…

C++之GNU C的__attribute__((constructor))优先级使用(一百四十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

iOS开发-- iPhone6 屏幕尺寸

http://www.paintcodeapp.com/news/iphone-6-screens-demystified 转载于:https://www.cnblogs.com/feiling/p/4884486.html

iPhone6和iPhone6 plus的iOS8设计尺寸参考指南

不管怎样,我们要相信土豪还是多的,iPhone6和plus出来后,道长就苦苦追寻iOS8在i6和plus下面的设计尺寸, 百度是找不到的,问过好几个开发群,也没有收获,幸好认识一位加州的伙伴,他给了…

iOS 纯代码适配iPhone6,6p

首先说下让自己的程序支持iPhone6和6,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述;第二种方法是和之前iPhone5的类似,比较简单,为iPhone6和6添加两张特殊的png iPhone6&a…