软件工程基础知识-软件质量

2023-10-27

软件质量是指反映软件系统或软件产品满足规定或隐含要求的能力的特征和特性全体。软件质量保证是为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划。有组织的活动,其目的是生产该质量的软件。

一、软件质量特性

ISO/IEC 9126软件质量模型由3个层次组成∶第一层是质量特性∶第二层是质量子特性∶第三层是度量指标。该模型的质量特性和质量子特性的含义如下。

(1) 功能性。与一组功能及其指定的性质的存在有关的一组属性。功能是指能演足规定或隐含需求的那些功能。

  • 适合性:与规定任务能否提供一组功能以及这组功能能否适合有关的软件属性。
  • 准确性:与能否得到正确的或相符的结果或效果有关的软件属性。
  • 互用性:与同其他指定系统进行交互操作的能力有关的软件属性。
  • 依从性:使软件服从有关的标准、约定、法规及类似规定的软件属性。
  • 安全性:与避免对程序及数据的非授权故意或意外访问的能力有关的软件属性。

(2)可靠性。与在规定的一段时间内和规定的条件下,软件维持其性能水平有关的能力。

  • 成熟性:与由软件故障引起失效的频度有关的软件属性。
  • 容错性:与在软件错误或违反指定接口情况下,维持指定的性能水平的能力有关
的软件属性。
  • 易恢复性:与在故障发生后重新建立其性能水平并恢复直接受影响数据的能力。
以及为达此目的所需的时间有关的软件属性。

(3)易使用性。与为使用软件所需的努力和由一组规定的或隐含的用户对如此使用所做的评价有关的一组属性。

  • 易理解性:与用户为理解逻辑概念及其应用范围所花的努力有关的软件属性。
  • 易学性:与用户为学习其应用(如操作控制、输入、输出)所需努力有关的软件照性。
  • 易操作性:与用户为进行操作或操作控制所需努力有关的软件属性。

(4)效率。与在规定条件下,软件的性能水平与所用资源量之间的关系有关的一组属性。

  • 时间特性:与响应和处理时间以及软件执行其功能时的吞吐量有关的软件属性。
  • 资源特性:与软件执行其功能时所使用的费源量以及使用资源的持续时间有关的
软件属性。

(5)可维护性。与进行规定的修改所需努力有关的一组属性。

  • 易分析性:与为诊断缺陷或失效原因,或为判定待修改的部分所需努力有关的软
件属性。
  • 易改变性:与进行修改、调试或适应环境变化所需努力有关的软件属性。
  • 稳定性:与修改造成未预料后果的风险有关的软件属性。
  • 易测试性:与确认修改软件所需努力有关的软件属性。

(6)可移植性。与软件从一种环境转移到另一种环境的能力有关的一组属性。

  • 适应性:与软件无须采用特别为该软件准备的处理手段就能适应规定的环境有关
的软件属性。
  • 易安装性:与在指定环境下安装软件所需努力有关的软件属性。
  • 一致性:使软件服从与可移植性有关的标准或约定的软件属性。
  • 易替换性:与软件在该软件环境中用来替代指定的其他软件的可能和努力有关的
软件属性。

二、软件质量保证

软件质量保证包括与以下7个主要活动相关的各种任务。

(1)应用技术方法。软件质量保证首先从一组技术方法和工具开始,这些方法和工具帮助分析人员形成高质量的规格说明和高质量的设计。

(2)进行正式的技术评审。这是一种由技术人员实施的程式化会议,其唯一的目的是揭露质量问题。
(3) 测试软件。软件测试组合了多种测试策略,这些测试策略带有一系列有助于有效地检测错误的测试用例及设计方法。

(4)标准的实施。多数情况下,标准由客户或某些章程确定。与标准是否一致的评估可以被软件开发者作为正式技术评审的一部分来进行。

(5)控制变更。变更控制过程通过对变更的正式申请、评价变更的特性和控制变更的影响等直接提高软件的质量。变更控制应用于软件开发期间和较后的软件维护阶段。

(6)计量。其包括某些技术上的和面向管理的计量。

(7)记录保存和报告。为软件质量保证提供收集和传播软件质量保证信息的过程。评审、监察、变更控制、测试和其他软件质量保证活动的结果必须变成项目历史记录的一部分,并且应当把它传播给需要知道这些结果的开发人员。

三、软件评审

通常把“质量”理解为“用户满意程度”。为了使得用户满意,有以下两个必要条件。

(1)设计的规格说明书符合用户的要求。这称为设计质量。

(2)程序按照设计规格说明所规定的情况正确执行,这称为程序质量。

设计质量评审的对象是在需求分析阶段产生的软件需求规格说明、数据需求规格说明,在软件概要设计阶段产生的软件概要设计说明书等。

程序质量评审通常是从开发者的角度进行评审,与开发技术直接相关。它是着眼于软件本身的结构,与运行环境的接口以及变更带来的影响而进行的评审活动。

四、软件容错技术

1) 容错软件定义

归纳容错软件的定义,有以下4种。

(1) 规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的软件,即容错软件。


(2)规定功能的软件。在一定程度上能从错误状态自动恢复到正常状态。则称之为容错软件。


(3) 规定功能的软件,在发生借误时,仍然能在一定程度上完成预期的功能,则把该软件称为容错软件。


(4) 规定功能的软件,在一定程度上具有容错能力,则称之为容错软件。

2) 容错的一般方法

实现容错的主要手段是冗余。冗余是指对于实现系统规定功能是多余的那部分资源,包括硬件、软件、信息和时间。由于加入了这些资源,有可能使系统的可靠性得到较大的提高。通常冗余技术分为4类,即结构冗余、信息冗余、时间冗余和冗余附加技术。

未完待续。。。

更多知识传送:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

以上内容整理参考《软件设计师教程(第5版)》和《软件设计师考试同步辅导(第四版)》(忘记是哪个老师的了,侵删)。本文章内容旨在帮助更多想要进军软考,给自己镀金的小伙伴。有兴趣的小伙伴可以共勉。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件工程基础知识-软件质量 的相关文章

  • 24分+的医药顶刊带你学习表观组学解析超级热点“肿瘤耐药”的机制

    对癌症患者采用治疗干预时获得性耐药是转移性癌症复发的主要原因 此前 获得性耐药发展的研究主要集中在识别耐药肿瘤中常见的基因突变 越来越多的证据表明 在永久性获得性耐药出现之前 癌症中存在一种表观遗传调控的可逆耐药状态 这种可逆状态可能会导致
  • 14:00面试,14:06就出来了,问的问题有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到9月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • 校招失败后,在小公司熬了 2 年终于进了字节跳动,竭尽全力....

    其实两年前校招的时候就往字节投了一次简历 结果很明显凉了 随后这个理想就被暂时放下了 但是这个种子一直埋在心里这两年除了工作以外 也会坚持写博客 也因此结识了很多优秀的小伙伴 从他们身上学到了特别多东西 把这次面试分享出来 也是希望可以帮助
  • 1.常用单词学习

    1 1 听力练习 第一课 Av264771740 P1 Av736460000 P1 哔哩哔哩 bilibili 有推荐的吗 这个和这个都很推荐 这个多少钱 请给我这个 全部 这些一共多少钱 卫生间在哪呢 一度 願 麻烦再来一次 英語話 会
  • 我当年自学黑客(网络安全)的一些心得!(内附学习笔记)

    前 言 写这篇教程的初衷是很多朋友都想了解如何入门 转行网络安全 实现自己的 黑客梦 文章的宗旨是 1 指出一些自学的误区 2 提供客观可行的学习表 3 推荐我认为适合小白学习的资源 大佬绕道哈 文末有福利 一 自学网络安全学习的误区和陷阱
  • 为什么这么多人自学黑客,但没过多久就放弃了(掌握正确的网络安全学习路线很重要)

    网络安全是一个 不断发展和演变 的领域 以下是一个 网络安全学习路线规划 旨在帮助初学者快速入门和提高自己的技能 基础知识 网络安全的 基础知识 包括 网络结构 操作系统 编程语言 等方面的知识 学习这些基础知识对理解网络安全的原理和技术至
  • 通过一个寒假能学会黑客技术吗?看完你就知道了

    一个寒假能成为黑客吗 资深白帽子来告诉你 如果你想的是学完去美国五角大楼内网随意溜达几圈 想顺走一点机密文件的话 劝你还是趁早放弃 但是成为一名初级黑客还是绰绰有余的 你只需要掌握好渗透测试 Web安全 数据库 搞懂web安全防护 SQL注
  • OpenHarmony基于HDF简单驱动开发实例

    背景 OpenHarmony 3 0 LTS qemu small system demo liteos a qemu 添加配置 device qemu arm virt liteos a hdf config device info de
  • Python采集猎聘网站招聘数据内容,看看现在职位风向

    嗨喽 大家好呀 这里是爱看美女的茜茜呐 环境使用 Python 3 10 Pycharm 模块使用 第三方模块 需安装 requests gt pip install requests pandas gt pip install panda
  • 白帽子如何快速挖到人生的第一个漏洞 | 购物站点挖掘商城漏洞

    本文针对人群 很多朋友们接触安全都是通过书籍 网上流传的PDF 亦或是通过论坛里的文章 但可能经过了这样一段时间的学习 了解了一些常见漏洞的原理之后 对于漏洞挖掘还不是很清楚 甚至不明白如何下手 可能你通过 sql labs 初步掌握了sq
  • 新入职一个00后卷王,每天加班到2点,太让人崩溃了····

    在程序员职场上 什么样的人最让人反感呢 是技术不好的人吗 并不是 技术不好的同事 我们可以帮他 是技术太强的人吗 也不是 技术很强的同事 可遇不可求 向他学习还来不及呢 真正让人反感的 是技术平平 却急于表现自己的人 每天加班到12点 在老
  • Docker 安全必知:最佳实践、漏洞管理与监控策略

    容器安全是实施和管理像 Docker 这样的容器技术的关键方面 它包括一组实践 工具和技术 旨在保护容器化应用程序及其运行的基础架构 在本节中 我们将讨论一些关键的容器安全考虑因素 最佳实践和建议 容器隔离 隔离对于确保容器化环境的强大性和
  • C++ 中 const 和 constexpr 关键字解析:常量、函数和指针

    很多 C 的初学者看到 const 这个关键字的第一反应都是一头雾水 主要是因为 const 可 以出现在很多的位置 以及后面加入的 constexpr 更是常常感到困惑 今天就为大家一一解释出现它们的含义和以及作用 const 关键字 c
  • 深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析

    Python MongoDB 排序 对结果进行排序 使用 sort 方法对结果进行升序或降序排序 sort 方法接受一个参数用于 字段名 一个参数用于 方向 升序是默认方向 示例 按名称按字母顺序对结果进行排序 import pymongo
  • 深入了解 Python MongoDB 查询:find 和 find_one 方法完全解析

    在 MongoDB 中 我们使用 find 和 find one 方法来在集合中查找数据 就像在MySQL数据库中使用 SELECT 语句来在表中查找数据一样 查找单个文档 要从MongoDB的集合中选择数据 我们可以使用 find one
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Android Navigation的四大要点你都知道吗?

    在JetPack中有一个组件是Navigation 顾名思义它是一个页面导航组件 相对于其他的第三方导航 不同的是它是专门为Fragment的页面管理所设计的 它对于单个Activity的App来说非常有用 因为以一个Activity为架构
  • 计算机Java项目|基于SSM的微课学习系统

    作者主页 编程指南针 作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智
  • 『力扣刷题本』:逆波兰表达式求值

    大家好久不昂 最近 1 个多月罗根一直在备考期末 文章发的很少 现在已经放寒假啦 学习自然也不能拉下 毕竟 4 月份就要去参加蓝桥杯了 先给自己定个小目标 日更 2 篇 咳咳 下面马上开始讲题 一 题目 给你一个字符串数组 tokens 表
  • 为什么我强烈推荐大学生打CTF!

    前言 写这个文章是因为我很多粉丝都是学生 经常有人问 感觉大一第一个学期忙忙碌碌的过去了 啥都会一点 但是自己很难系统的学习到整个知识体系 很迷茫 想知道要如何高效学习 这篇文章我主要就围绕两点 减少那些罗里吧嗦的废话 直接上干货 CTF如

随机推荐

  • python 存根_pyi文件是干吗的?(一文读懂Python的存根文件和类型检查)

    参考资料 html 写这篇文章的缘由是我在网上下载的项目中看到了 pyi文件 可是寻找了不少资料才对这些个概念 存根文件 类型检查 有了一个直观的印象 这篇随笔的目的是用最短的篇幅让你理解这些概念 测试 首先我介绍几个论断 this 1 P
  • React composing components

    bottom up div div
  • PyTorch源码安装小记

    Torch是Facebook AIR去年6月开源的深度学习框架 向G家的Tensorflow看起 基于Lua开发 可以充分利用GPU进行计算加速 PyTorch是FAIR今年1月发布的 在原来基础上提供python接口支持 也是正面刚支持p
  • 基于深度图与RGB图-->点云数据

    在这里记录一下 以备后续查阅 输入 对齐的深度图与RGB图 输出 点云数据 include
  • React 源碼解析 - Hooks 系列

    React 源碼解析 Hooks 系列 前言 正文 調用 React Hook 到底背後發生了什麼 初探 Hooks 源碼 Dispatcher useState Hook Hook 的實現 Hook 在 Mount 階段 useState
  • STM32CubeMX5.6.1生成的代码无启动文件

    丢失启动文件 使用这个版本的CubeMX 生成的代码里面没有对应的启动文件 编译报错 展开图片 在Drivers CMSIS文件夹下面 没有启动文件 编译不通过 报错No section matches selector no sectio
  • 微信小程序云开发:上传图片、视频到云存储指定目录并渲染到页面上

    该文章功能为主 样式为次 页面展示 前期准备 在云开发控制台的云存储环境中创建新建img文件夹和video文件夹 wxml
  • C 标准库 - 《limits.h》

    原文链接 https www runoob com cprogramming c standard library limits h html 简介 limits h 头文件决定了各种变量类型的各种属性 定义在该头文件中的宏限制了各种变量类
  • python控制系统操作-tqdm模块在终端控制台cmd中实现程序进度条的显示和控制(分别通过for循环和while循环实现)

    python控制系统操作 tqdm模块在终端控制台cmd中实现程序进度条的显示和控制 分别通过for循环和while循环实现 1 for循环控制 推荐使用 因为可以正常显示运行的时间 手动迭代进度条 from time import sle
  • Telink泰凌微TLSR8258蓝牙开发笔记(一)

    一 开发环境搭建 1 1 软件开发环境 1 1 1 开发的IDE IDE下载链接 1 1 2 烧录工具 DBT下载地址 1 1 3 蓝牙SDK 蓝牙SDK下载地址 1 2 硬件开发环境 8258开发板 烧录工具一套 二 运行例程 并使能打印
  • Leetcode 122:买卖股票二

    题目描述 题目连接 与第一次的题目相比 可以多次买卖等情况 只要求出最大利润即可 可以将一次买卖分为过个过程即可 1 2 3 4 5 比如正常情况下是第一天买进 第五天卖出 但这个过程可以分解为多次买进卖出 在第一天买进 第二天卖出 获得利
  • Meshlab源码编译 VS2013+QT5.8.0

    有了前面的配置基础 VS2013 QT5 8 0配置 接下来我们来编译源码 1 下载meshlab源码 我以 meshlab 32bit v 1 3 3 为例 利用它的源代码 MeshLabSrc AllInc v133 tgz 详细给出编
  • 关于TypeError: decode() argument ‘encoding‘ must be str, not None 的三种解决方法

    使用Scrapy Redis时 有一个常见的错误可能会让你烦恼不已 TypeError decode argument encoding must be str not None 这是因为Scrapy Redis在从Redis队列中读取请求
  • Fiddler新版全平台适配抓包,关键还免费,再也不用费劲找破解版了

    Fiddler Everywhere是适用于macOS Windows和Linux的安全且现代化的web调试代理 他可以捕获 检查 监视计算机与Internet之间的所有HTTP S 流量 并且可以mock请求 并诊断网络问题 这种方法既简
  • 水仙花数(c语言程序实现)

    描述 请判断一个数是不是水仙花数 其中水仙花数定义各个位数立方和等于它本身的三位数 输入 有多组测试数据 每组测试数据以包含一个整数n 100 lt n lt 1000 输入0表示程序输入结束 输出 如果n是水仙花数就输出Yes 否则输出N
  • 里面如何配置库_沙龙回顾

    随着自动驾驶技术不断发展 Apollo 已经从研发走向量产产品落地 作为 Apollo 开源软件平台的一部分 Apollo Cyber RT处于底层的实时操作系统 RTOS 和算法模块之间 能够在保证高吞吐的情况下 又能低延迟的实时响应上层
  • thinkbook14+(thinkbook16+) 屏幕亮度忽明忽暗

    thinkbook14 thinkbook16 在断开电源线的情况下 屏幕会时不时忽明忽暗 非常恶心 查了半天 才在贴吧找到如何解决这个问题 开始菜单里搜索英特尔显卡控制中心 在系统选项里有个功率 功率里有个显示器节能 关掉就好了
  • Hyperledger Fabric 入门笔记(三)Fabric V2.4 环境搭建

    文章目录 前言 一 基本概念 1 1 虚拟机 1 2 虚拟机软件 二 虚拟机相关 2 1 VirualBox7安装Ubuntu 2 2 Vmware安装Ubuntu 2 3 Ubuntu的使用 2 3 1 软件包管理器 2 3 1 1 yu
  • vue汉字转拼音-pinyin.js

    需求 用户在输入姓和名字的时候 由于姓 拼音 和名 拼音 为字母 容易输错 于是就有了自动生成拼音这个需求 npm install安装的四种用法 save和 save dev npm install xxx 安装项目到项目目录下 不会将模块
  • 软件工程基础知识-软件质量

    软件质量是指反映软件系统或软件产品满足规定或隐含要求的能力的特征和特性全体 软件质量保证是为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划 有组织的活动 其目的是生产该质量的软件 一 软件质量特性 二 软件质量保证 三 软件评审