文章目录

  • (一)软件质量特性
    • 1.ISO/IEC 9126软件质量模型
    • 2.Mc Call软件质量模型
  • (二)软件质量保证
  • (三)软件评审
    • 1.设计质量的评审内容
    • 2.程序质量的评审内容
    • 3.与运行环境的接口
  • (四)软件容错技术
    • 1.容错软件的定义
    • 2.容错的一般方法

软件质量是指反映软件系统或软件产品满足规定或隐含需求的能力的特征和特性全体。

(一)软件质量特性

1.ISO/IEC 9126软件质量模型

由三个层次组成:

  1. 质量特性
  2. 质量子特性
  3. 度量指标

各质量特性和质量子特性的含义:

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

    • 适应性
    • 准确性
    • 互用性
    • 依从性
    • 安全性
  • 可靠性(与在规定的一段时间内和规定的条件下软件维持在其性能水平有关的能力)
    • 成熟性
    • 容错性
    • 易恢复性
  • 易使用性(与为使用所需的努力和由一组规定或隐含的用户对这样使用所做的个别评价有关的一组属性)
    • 易理解性
    • 易学性
    • 易操作性
  • 效率(在规定条件下,与软件的性能水平与所用资源量之间的关系有关的软件属性)
    • 时间特性
    • 资源特性
  • 可维护性(与进行规定的修改所需要的努力有关的一组属性)
    • 易分析性
    • 易改变性
    • 稳定性
    • 易测试性
  • 可移植性(与软件可从某一环境转移到另一环境的能力有关的一组属性)
    • 适应性
    • 易安装性
    • 一致性
    • 易替换性

2.Mc Call软件质量模型

由三层模型组成:

  • 质量特性
  • 评价准则
  • 度量指标


(二)软件质量保证

软件质量保证是指为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划、有组织的活动,其目的是生产高质量的软件。

要点:

  • 软件必须满足用户规定的需求,与用户需求不一致的软件无质量可言
  • 软件应遵循规定标准所定义的一系列开发准则,不遵循这些准则的软件,其质量难以得到保证
  • 软件还应满足某些隐含的需求,例如希望有好的可理解性、可维护性等

包括:

  • 应用技术方法
  • 进行正式的技术评审
  • 测试软件
  • 标准的实施
  • 控制变更
  • 度量
  • 记录保存和报告

(三)软件评审

使得用户满意的必要条件:

  • 设计的规格说明书符合用户的要求,称为设计质量
  • 程序按照设计规格说明书所规定的情况正确执行,称为程序质量

1.设计质量的评审内容

对象: 在需求分析阶段产生的软件需求规格说明、数据需求规格说明,及在软件概要设计阶段产生的软件概要设计说明书等

评审内容:

  • 评价软件的规格说明是否合乎用户的要求,即总体设计思想和设计方针是否明确;需求规格说明是否得到了用户或单位上级机关的批准;需求规格说明与软件的概要设计规格说明是否一致等
  • 评审可靠性,即是否能避免输入异常、硬件失效及软件失效所产生的失效,一旦发生应能及时采取代提手段或恢复手段
  • 评审保密措施实现情况,即是否对系统使用资格进行检查;是否对特定数据、特定功能的使用资格进行检查;在检查出有违反使用资格的情况后,能否向系统管理人员报告有关信息;是否提供对系统内重要数据加密的功能等
  • 评审操作特性实施情况,即操作命令和操作信息的恰当性;输入数据与输入控制语句的恰当性;输出数据的恰当性;应答时间的恰当性等
  • 评审性能实现情况,即是否达到所规定性能的目标值
  • 评审软件是否具有可修改性、可扩充性、可互换性和可移植性
  • 评审软件是否具有可测试性
  • 评审软件是否具有复用性

2.程序质量的评审内容

程序质量评审通常是从开发者的角度进行评审,与开发技术直接相关。

软件的结构:

  • 功能结构,需要检查的项目如下:

    • 数据结构(包括数据名和定义;构成该数据的数据项;数据与数据之间的关系)
    • 功能结构(包括功能名和定义;构成该功能的子功能;功能与子功能之间的关系)
    • 数据结构和功能结构之间的对应关系(包括数据元素与功能元素之间的对应关系;数据结构与功能结构的一致性)
  • 功能的通用性
  • 模块的层次
  • 模块的结构,需要检查的项目如下:
    • 控制流结构
    • 数据流结构
    • 模块结构与功能结构之间的对应关系
  • 处理过程的结构

3.与运行环境的接口

检查项目如下:

  • 与硬件的接口(包括与硬件的接口约定,即根据硬件的使用说明等所做出的规定;硬件故障时的处理和超载时的处理)
  • 与用户的接口(包括与用户的接口约定,即输入数据的结构;输出数据的结构;异常输入时的处理,超载输入时的处理;用户存取资格的检查等)

(四)软件容错技术

1.容错软件的定义

定义:

  • 规定功能的软件,在一定程度上对自身错误的作用具有屏蔽能力,则称该软件具有容错功能的软件,即容错软件
  • 规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为容错软件
  • 规定功能的软件,在因错误发生错误时仍然能在一定程度上完成预期的功能,则称该软件为容错软件
  • 规定功能的软件,在一定程度上具有容错能力,则称该软件为容错软件

2.容错的一般方法

实现容错的主要手段是冗余。
冗余是指对于实现系统规定功能是多余的那部分资源,包括硬件、软件、信息和时间。

冗余技术分类:

  • 结构冗余

    • 静态冗余
    • 动态冗余
    • 混合冗余
  • 信息冗余
  • 时间冗余
  • 冗余附加技术

软件设计师考试 | 第五章 软件工程基础知识 | 软件质量相关推荐

  1. 软件设计师考试 | 第五章 软件工程基础知识 | 系统设计

    文章目录 (一)概要设计 1.设计软件系统总体结构 2.数据结构及数据库设计 3.编写概要设计文档 4.评审 (二)详细设计 在系统分析阶段,把需求通过规格说明书描述了出来,这是目标系统的逻辑模型:在 ...

  2. 嵌入式系统设计师考试笔记之嵌入式系统基础知识

    以下是转帖一位网友的嵌考笔记 嵌入式系统设计师考试笔记之嵌入式系统基础知识 欧浩源(ohy3686@qq.com) 20080818 一.引言 自<嵌入式系统设计师考试复习笔记之存储管理篇> ...

  3. 【正点原子STM32连载】第五章 STM32基础知识入门 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  4. 软件设计师(五)——软件工程基础知识

    软件工程基础知识 软件工程基础知识部分分为五部分,如下图所示: 1. 软件工程概述 软件工程 1)含义:指使用计算机科学.数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程 2)目的:提高 ...

  5. 【软件设计师考试32小时】1. 计算机系统知识

    1 计算机系统知识 1.1 计算机系统基础知识 1.1.1 计算机系统硬件基本组成 计算机的基本硬件系统由运算器.控制器.存储器.输入设备和输出设备五大部件组成. 运算器.控制器等部件被集成在一起统称 ...

  6. 软件设计师考试 | 第十一章 标准化和软件知识产权基础知识 | 知识产权基础知识

    文章目录 (一)基本概念 1. 知识产权的特点 2. 中国知识产权法规 (二)计算机软件著作权 1. 计算机软件著作权的主体与客体 2. 计算机软件受著作权法保护的条件 3. 计算机软件著作权的权利 ...

  7. 软考-软件设计师 - 第5章 软件工程基础知识【附补充常考知识点】

    5.1 软件工程概述 5.1.1.计算机软件: (1)系统软件 (2)应用软件 (3)工程.科学软件 (4)嵌入式软件 (5)产品线软件 (6)Web应用 (7)人工智能软件 (8)开放计算 (9)网 ...

  8. 软件设计师考试 | 第四章 操作系统知识 | 文件管理

    文章目录 (一)文件与文件系统 1.文件 2.文件系统 3.文件的类型 (二)文件的结构和组织 1.文件的逻辑结构 2.文件的物理结构 (三)文件目录 1.文件控制块 2.目录结构 (四)存取方法和存 ...

  9. 软件设计师考试准备五

    文章目录 需求工程 需求开发-需求分类与需求获取 需求开发-需求分析-OOA-相关概念 需求开发-需求分析-OOA-UML 面向对象设计-设计原则 面向对象设计-设计模式的概念 面向对象设计-设计模式 ...

最新文章

  1. 使用Maven运行Java main的方法(转)
  2. java inflaterinputstream_java.util.zip.InflaterInputStream.available()方法示例
  3. java注释和注解_深入理解JAVA注解(Annotation)以及自定义注解
  4. 计算机网络之应用层:1、概述
  5. 椭圆极点极线性质_笔记:关于极点极线的一些思考
  6. Mr.J-- jQuery学习笔记(三十二)--jQuery属性操作源码封装
  7. impdp 不兼容_oracle - Oracle:使用impdp导入数据库转储时出错:Data Pump客户端与数据库版本12.1.0.2.0不兼容 - 堆栈内存溢出...
  8. 浅谈对于业务中台的理解
  9. python做数据可视化的优势_用Python进行数据可视化的10种方法
  10. obs无法录制mkv视频文件的解决方法
  11. 行业案例 | 数据分析在银行业应用之欺诈检测
  12. python输入用户名和密码_验证Python中的用户名和密码输入
  13. VeryCD关闭音乐视频下载视频网站的正版化历程
  14. __attribute__((weak)) 简介及作用
  15. War3地图编辑器基础:物体编辑器F6(自定义单位+单位属性设置)
  16. Win10_ltsc_2019_x64集成DPO基于人工智能优化可动态提高应用程序性能提升高达394%
  17. 《企业大数据系统构建实战:技术、架构、实施与应用》——2.2 大数据职位构建体系...
  18. 关于计算机合成图像的应用中,数字图像合成技术综述
  19. 100个世界上鲜为人知的“常识”
  20. Android Studio分析工具ApkAnalyzer基本使用

热门文章

  1. 了解模型预测控制5--如何加速运行MPC
  2. 大数据,并非越大越好?
  3. 反汇编工具objdump的使用简介
  4. Flutter开发:折叠效果对应的组件使用
  5. 伪元素中content的用法详解
  6. 浅谈c语言问号冒号的用法
  7. 大数据揭秘:低学历者发财的概率有多大?结果很吃惊
  8. CNN卷积神经网络结构及参数配置
  9. 南航计算机学院陈兵,我校人工智能研究院赴中国电子科技集团第二十八研究所开展无人系统交流...
  10. 凌度动感车夫行车记录仪 A1款高清1080P后视镜双向录影 超大广角 倒车后视 超强红外夜视 4.3寸大屏 蓝屏防眩