[软件工程]九.可依赖系统(Dependable Systems)

news2025/1/18 17:24:47

9.1什么是系统的可靠性(reliability)

系统的可靠性反映了用户对系统的信任程度。它反映了用户对其能够按照预期运行且正常使用中不会失效的信心程度。

9.2什么是可依赖性(dependablity)的目的

其目的是覆盖系统的可用性,可靠性,安全性和信息安全性。

9.3系统的可依赖性通常会比它们本身的具体功能更加重要

  1. 系统失效会影响到很多人(有次百度网盘失效,导致百度网盘大量数据的泄露,很多人从此不再把重要和私密文件存在百度网盘中了)
  2. 用户经常拒绝不可靠,不安全或信息安全有问题的系统
  3. 系统失效的代价可能是巨大的
  4. 可依赖性差的系统可能导致信息丢失和泄露

9.4设计一个可依赖系统我们要考虑什么

  1. 硬件失效:系统硬件失效有可能是源自设计上的失误,也可能是源自构件加工制造中的问题,或者是硬件构件已达到了它们的使用年限。
  2. 软件失效:系统软件失效可能是由于规格说明,设计和实现中的错误。
  3. 操作事务:系统的操作人员未按照预期正确地使用系统。

9.5可依赖性属性(Dependablity Property)

1)计算机系统地可依赖性是衡量其可信赖度(trustworthiness)的性能指标:

2)可依赖性包含的五个维度

  1. 可用性(availability):系统在任何时间都能运行并能够提供有用的服务
  2. 可靠性(reliability):系统的可靠性是系统在给定的时段内能够正确提供用户希望的服务的可能性
  3. 安全性(safety):系统的安全性是判断系统将会对人和系统的环境造成伤害的可能性(不会对人/物造成伤害)
  4. 信息安全性(security):系统的信息安全性是判断系统能否抵御意外或者蓄意的入侵的可能性(鲁棒性)
  5. 韧性(resilience):系统的韧性是指当出现一些干扰性事件的时候(比如,设备故障或者恶意攻击)系统保持其关键服务继续正常运行的可能性。(遭到破坏或攻击后的恢复能力)

0950d7c544934dd784b40a325ef1e3ac.png

3)还有三个属性与可依赖性有关

  1. 可维修性(Repairability)
  2. 可维护性(Maintainablity)
  3. 容错(Error tolerance)

4)成本和可依赖性的关系

8f17ced8693c4b13af02f189a5b1448a.png

  1. 如果可依赖性低,通过好的软工方法可以大大提高软件质量,但在好的措施的基础上,改进的效益低。
  2. 如果软件的可依赖性变得更高,这急剧增加了高可用性系统的成本

9.6社会技术系统(Sociotechnical systems)

1)什么是社会技术系统

将技术系统与社会系统相结合的概念。这个概念强调在设计和实施技术解决方案时,必须同时考虑技术因素和人类因素,以及它们之间的相互作用。社会技术系统理论认为,技术系统和人类系统是相互依赖的,它们共同构成了一个整体,影响着组织的效率、生产力和员工的满意度。

2)社会技术系统在软件工程中的应用

在软件工程实践中,社会技术系统理论指导开发者和组织在设计和实施软件系统时,不仅要关注技术实现,还要考虑如何通过技术来支持和改进工作流程、提高员工的工作效率和满意度、以及如何适应组织的业务目标和文化。

3)一个简单的例子

例如,在开发一个企业资源规划(ERP)系统时,不仅要考虑软件的功能性、性能和安全性,还要考虑如何通过系统来优化业务流程、提高决策效率、以及如何培训员工使用新系统。

9.7冗余和多样性(Redundancy and Diversity)

1)什么是冗余(Redundancy)

  1. 在软件工程和计算机科学中指的是系统中存在多余或重复的组件、数据或功能,这些组件、数据或功能在正常情况下可能不是必需的,但在系统出现故障或错误时可以提供额外的保护或恢复能力。冗余可以分为硬件冗余、软件冗余和数据冗余。
  2. 冗余主要是要保留多个版本

2)什么是多样性(Diversity)

  1. 多样性(Diversity)通常指的是尽量给保留的版本提供多样的形式(为软件的不同版本提供多种不同的配置、功能集、环境或部署选项。这种多样性有助于满足不同用户群体的需求,提高软件的适应性和灵活性。下面是一些具体例子来解释这个概念:)
  2. 给保留的版本提供不同的形式,提高不同的功能:比如高考的全国A卷,B卷还会有防止意外情况的备用卷,这就是多样性,给保留下的版本提供更多的形式。

3)什么时候使用冗余

在可用性(任何时间都可以提供服务)要求高的系统中,冗余的服务常常被使用。

4)什么时候使用多样性

在使用版本发布的系统中,对于新版本,提供多的形式

9.8QA:Quality Assurance(质量保证)

1)QA保证的是什么

QA不管你的结果是否正确,只是对过程进行规范,通过了QA才可以送去测试。

2)QA是完成实现阶段的标志

3)一个QA的例子

比如:A写了一个排序,QA不管是可以正确排序,只是对过程中的行为进行规范,只有通过了QA才可以送去测试

9.9QC:Quality Control

1)什么是QC

质量控制(QC)是软件开发过程中的一系列活动,旨在通过测试和检查来识别和修正软件中的缺陷。QC关注的是软件产品的质量,包括单元测试、集成测试、系统测试、验收测试等。QC的目标是确保软件产品满足用户需求和质量标准。

9.10RTM(RTraceability Matrix)需求跟踪矩阵

9c286bce08f3405881838bedd460823d.png

9.11什么标志着需求分析的结束

通过需求评审。

 

 

 

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

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

相关文章

vue3中使用watchEffect和watch函数时应当防止内存泄漏

官方文档:https://cn.vuejs.org/api/reactivity-core.html#watcheffect 也就是说当使用他们两个时候,使用完成之后要及时停止他们,防止一直在运行,停止他们之后,也可以再次开启。 watchEffect()​ 立即运行一个函数…

Wwise SoundBanks内存优化

1.更换音频格式为Vorbis 2.停用多余的音频,如Random Container的随机脚步声数量降为2个 3.背景音乐勾选“Stream”。这样就让音频从硬盘流送到Wwise,而不是保存在内存当中,也就节省了内存 4.设置最大发声数Max Voice Instances 5.设置音频…

Windows宝塔面板下IIS环境如何部署SSL证书?

Windows宝塔面板下IIS环境如何部署SSL证书? 平时服务器linux宝塔用的较多,所以linux系统宝塔,如何部署SSL证书还是比较熟悉,今天遇到一个windows的部署SSL证书,还是头一次,所以记录一下,以防忘…

【计算机视觉】图像的几何变换

最常见的几何变换有仿射变换和单应性变换两种,最常用的仿射变换有缩放、翻转、旋转、平移。 1. 缩放 将图像放大或缩小会得到新的图像,但是多出的像素点如何实现----插值 1.1 插值方法 最近邻插值 双线性插值 cv2.resize() 是 OpenCV 中用于调整图像…

深入浅出 Go 语言:数组与切片

深入浅出 Go 语言:数组与切片 引言 在 Go 语言中,数组和切片是两种非常重要的数据结构,用于存储和操作一组相同类型的元素。虽然它们看起来相似,但在使用上有很大的区别。理解数组和切片的区别以及如何正确使用它们,…

基于超级电容和电池的新能源汽车能量管理系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 超级电容特性 4.2 电池特性 5.完整工程文件 1.课题概述 基于超级电容和电池的新能源汽车能量管理系统simulink建模与仿真。分析不同车速对应的电池,超级电容充放电变化情况。 2.系统仿…

y3编辑器文档3:物体编辑器

文章目录 一、物体编辑器简介1.1 界面介绍1.2 复用(导入导出)1.3 收藏夹(项目资源管理)1.4 对象池二、单位2.1 数据设置2.2 表现设置2.3 单位势力和掉率设置2.4 技能添加和技能参数修改2.5 商店2.5.1 商店属性设置2.5.2 商店物品设置三、装饰物3.1 属性编辑3.2 碰撞体积四、…

「嵌入式系统设计与实现」书评:学习一个STM32的案例

本文最早发表于电子发烧友论坛:【新提醒】【「嵌入式系统设计与实现」阅读体验】 学习一个STM32的案例 - 发烧友官方/活动 - 电子技术论坛 - 广受欢迎的专业电子论坛!https://bbs.elecfans.com/jishu_2467617_1_1.html 感谢电子发烧友论坛和电子工业出版社的赠书。 …

Qt Designer Ui设计 功能增加

效果展示 输入密码,密码错误,弹出提示 密码正确,弹出提示并且关闭原窗口 代码(只提供重要关键主代码)lxh_log.py代码: import sysfrom PySide6.QtWidgets import QApplication, QWidget, QPushButtonfrom …

RT Thread Studio新建STM32F407IG工程文件编译提示错误

编译提示错误 原因: RT 源码使用4.0.3的话,请用STM32F4支持包的0.2.2版本,就不会出错了。 如果支持包用0.2.3版本的话,需要用RT内核4.1.0版本。0.2.3 版本更新了一些针对内核4.1.0的驱动代码,这几个定义都是4.1.0里的。

智能制造标准体系建设指南

一、智能制造系统架构总览 智能制造作为当今制造业转型升级的核心,深度整合了新一代信息技术与传统制造工艺,催生出一个横跨产品全生命周期、纵贯多层级组织架构,并彰显多元智能特性的复杂系统。这一架构从生命周期、系统层级、智能特征三个…

DApp开发与APP开发的五大区别

随着比特币与区块链技术的不断发展,DApp应用会逐渐成为主流。与APPAPP相比,DApp有许多不同之处,尤其是在架构、数据存储、用户隐私等方面。本文将通过五大关键点,深入探讨DApp开发与APP开发之间的主要区别。 1. 后端架构&#xff…

XSS(DOM)-HIGH错误总结

HIGH就不从简单的开始。 我们直接闭合HTML标签绕过 ></option></select><img srcx:alert(alt) οnerrοreval(src) altxss> 没有变化 这里应该是后端的问题&#xff0c;试试锚点注入 English#<script>alert(xss)</script> 这里不知道什么…

Mitel MiCollab 企业协作平台 任意文件读取漏洞复现(CVE-2024-41713)

0x01 产品简介 Mitel MiCollab是加拿大Mitel(敏迪)公司推出的一款企业级协作平台,旨在为企业提供统一、高效、安全的通信与协作解决方案。通过该平台,员工可以在任何时间、任何地点,使用任何设备,实现即时通信、语音通话、视频会议、文件共享等功能,从而提升工作效率和…

【PostgreSQL系列】列类型从整数转换为 UUID

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【原生js案例】webApp实现鼠标移入移出相册放大缩小动画

图片相册这种动画效果也很常见&#xff0c;在我们的网站上。鼠标滑入放大图片&#xff0c;滑出就恢复原来的大小。现在我们使用运动定时器来实现这种滑动效果。 感兴趣的可以关注下我的系列课程【webApp之h5端实战】&#xff0c;里面有大量的css3动画效果制作原生知识分析&…

Java项目实战II基于微信小程序的消防隐患在线举报系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着城市化进程的加快&…

饲料颗粒机全套设备有哪些机器组成

颗粒饲料机主要用于将各种饲料原料&#xff08;如玉米、豆粕、麦麸、鱼粉等&#xff09;进行混合、压制&#xff0c;制成颗粒状的饲料。这种饲料不仅方便储存和运输&#xff0c;还能提高动物的采食效率和饲料利用率。同时&#xff0c;颗粒饲料在加工过程中能灭部分微生物和寄生…

Free-RTOS实现LED闪烁

开发板&#xff1a;正点原子探索者 F407 LED定时定时闪烁 本次实验验证&#xff1a; 配置文件 1、打开CubeMX 2、选择芯片型号&#xff0c;然后点击开始项目 3、配置时钟 配置烧录引脚&#xff0c;与FreeRTOS系统时钟 选择FreeRTOS 这里已经默认有一个任务&#xff…