【软件】软件评审

目录

          • 1. 说明
          • 2. 设计质量的评审内容
          • 3. 程序质量的评审内容
            • 3.1 软件结构
            • 3.2 功能的通用性
            • 3.3 模块的层次
            • 3.4 模块结构
            • 3.4 处理过程的结构
          • 4. 与运行环境的接口
          • 5. 例题
            • 5.1 例题1

1. 说明
  • 1.通常,把“质量”理解为“用户满意程度”。为了使得用户满意,有两个必要条件。
  • 2.设计的规格说明书符合用户的要求,这称为设计质量
  • 3.程序按照设计规格说明所规定的情况正确执行,这称为程序质量
  • 4.软件的规格说明分为外部规格说明内部规格说明
  • 5.外部规格说明是从用户角度来看的规格,包括硬件/软件系统设计功能设计
  • 6.内部规格说明是为了实现外部规格的更详细的规格,即软件模块结构模块处理过程的设计
  • 7.内部规格说明是从开发者角度来看的规格说明设计质量是由外部规格说明决定的,程序是由内部规格说明决定的
  • 8.设计质量评审的对象是在需求分析阶段产生的软件需求规格说明数据需求规格说明,以及在软件概要设计阶段产生的软件概要设计说明书等。
  • 9.程序质量评审通常是从开发者的角度进行评审,与开发技术直接相关。它是着眼于软件本身的结构、与运行环境的接口以及变更带来的影响而进行的评审活动。
2. 设计质量的评审内容
  • 1.评价软件的规格说明是否合乎用户的要求,即总体设计思想和设计方针是否明确;需求规格说明是否得到了用户或单位上级机关的批准;需求规格说明与软件的概要设计规格说明是否一致等。
  • 2.评审可靠性,即是否能避免输入异常(错误或超载等)、硬件失效及软件失效所产生的失效,一旦发生应能及时采取代替手段或恢复手段。
  • 3.评审保密措施实现情况,即是否对系统使用资格进行检查;是否对特定数据、特定功能的使用资格进行检查;在检查出有违反使用资格的情况后,能否向系统管理人员报告有关信息;是否提供对系统内重要数据加密的功能等。
  • 4.评审操作特性实施情况,即操作命令和操作信息的恰当性;输入数据与输入控制语句的恰当性;输出数据的恰当性;应答时间的恰当性等。
  • 5.评审性能实现情况,即是否达到所规定性能的目标值。
  • 6.评审软件是否具有可修改性、可扩充性、可互换性和可移植性
  • 7.评审软件是否具有可测试性
  • 8.评审软件是否具有复用性
3. 程序质量的评审内容
3.1 软件结构
  • 1.在软件的各种结构中,功能结构是用户唯一能见到的结构。
  • 2.功能结构是联系用户与开发者的规格说明,它在软件的设计中占有极其重要的地位。
  • 3.在评审软件的功能结构时,必须明确软件的数据结构。
  • 4.数据结构。包括数据名和定义;构成该数据的数据项;数据与数据之间的关系。
  • 5.功能结构。包括功能名和定义:构成该功能的子功能;功能与子功能之间的关系。
  • 6.数据结构和功能结构之间的对应关系。包括数据元素与功能元素之间的对应关系;数据结构与功能结构的一致性。
3.2 功能的通用性
  • 1.在软件的功能结构中,某些功能有时可以作为通用功能反复出现多次。
  • 2.从功能便于理解、增强软件的通用性及降低开发的工作量等观点出发,希望尽可能多地使功能通用化。
  • 3.需检查的项目包括抽象数据结构(抽象数据的名称和定义、抽象数据组成元素的定义)、抽象功能结构。
3.3 模块的层次
  • 1.模块的层次是指程序模块结构。
  • 2.由于模块是功能的具体体现,所以模块层次应当根据功能层次来设计。
3.4 模块结构
  • 1.上述的模块层次结构是模块的静态结构,现在要检查模块的动态结构。
  • 2.模块分为处理模块和数据模块两类,模块间的动态结构也与这些模块分类有关。
  • 3.控制流结构。规定了处理模块与处理模块之间的流程关系,检查处理模块之间的控制转移关系与控制转移形式(调用方式)。
  • 4.数据流结构。规定了数据模块是如何被处理模块进行加工的流程关系,检查处理模块与数据模块之间的对应关系;处理模块与数据模块之间的存取关系。
  • 5.模块结构与功能结构之间的对应关系。包括功能结构与控制流结构的对应关系;功能结构与数据流结构的对应关系;每个模块的定义(功能、输入/输出数据)。
3.4 处理过程的结构
  • 1.处理过程是最基本的加工逻辑过程。
  • 2.对它的检查项目有模块的功能结构与实现这些功能的处理过程的结构应明确对应;控制流应是结构化的;数据的结构与控制流之间的对应关系应是明确的,并且可根据这种对应关系来明确数据流程的关系:用于描述的术语标准化。
4. 与运行环境的接口
  • 1.运行环境包括硬件、其他软件和用户,主要的检查项目如下。
  • 2.与硬件的接口。包括与硬件的接口约定,即根据硬件的使用说明等所做出的规定;硬件故障时的处理和超载时的处理。
  • 3.与用户的接口。包括与用户的接口约定,即输入数据的结构:输出数据的结构;异常输入时的处理,超载输入时的处理;用户存取资格的检查等。
5. 例题
5.1 例题1
  • 1.题目
1.(A)不属于软件设计质量评审。
A.功能与模块之间的对应关系
B.软件规格说明是否符合用户的要求
C.软件是否具有可测试性
D.软件是否具有良好的可靠性
  • 2.分析
1.评价软件的规格说明是否合乎用户的要求,即总体设计思想和设计方针是否正确,需求规格说明是否
得到了用户或单位上级机关的批准;需求规格说明与软件的概要设计规格说明是否一致等。
2.评审可靠性,即是否能避免输入异常(错误或超载等)、硬件失效及软件失效所产生的失效,一旦发生
应能及时采取代替手段或恢复手段。
3.评审保密措施实现情况,即是否提供对使用系统资格、对特定数据的使用资格及特殊功能的使用资
格进行检查,在查出有违反使用资格情况后,能当向系统管理人员报告有关信息,是否提供对系统内
重要数据加密的功能。
4.评审操作特性实施情况,即操作命令和操作信息的恰当性,输入数据与输入控制语句的恰当性,
输出数据的恰当性,应答时间的恰当性等。
5.评审性能实现情况。
6.评审软件是否具有可修改性、可扩充性、可互换性和可移植性。
7.评审软件是否具有可测试性。
8.评审软件是否具有复用性。

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

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

相关文章

SprinBoot+Vue图书馆预约与占座微信小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue3.6 uniapp代码 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平…

SpringBoot+Vue实现大文件上传(断点续传-后端控制(一))

SpringBootVue实现大文件上传(断点续传) 1 环境 SpringBoot 3.2.1,Vue 2,ElementUI,spark-md5 2 问题 在前一篇文章,我们写了通过在前端控制的断点续传,但是有两个问题,第一个问题&…

铁打的程序员轻易“不哭”-我的大模型创业近2年来的感悟

楔子 2022年11月,GPT-3发布那一刻,我被AI的强大能力所震撼,意识到“超级个体”时代的来临。自那时起,我开始全心投入创业,经历了许多苦乐交织的时光。 2023年6月,我尝试将AI应用于智能营销导购&#xff0…

云原生架构概念

云原生架构概念 云原生架构(Cloud Native Architechtrue)作为一种现代软件开发的革新力量,正在逐渐改变企业构建、部署和管理应用程序的方式。它的核心优势在于支持微服务架构,使得应用程序能够分解为独立、松耦合的服务&#xf…

window系统怎么设置闹钟提醒?分享一个桌面提醒设置办法

在日常工作和生活中,我们常常会因忙碌而遗忘一些重要事项。对于很多使用电脑办公的用户来说,如果能在桌面上设置闹钟提醒,无疑会大大提高工作效率,减少遗漏。那么,如何设置这样的闹钟提醒呢? 这时&#xf…

ElementUI实现el-table组件的合并行功能

前言 有时遇到一些需求,需要实现ElementUI中,el-tabled组件合并单元格的功能,稍微了解一下它的数据格式,不难可以写出比合并方法。但是在鼠标经过单元行时,会出现高亮的行与鼠标经过的行不一致的BUG。因此还需要实现c…

UniApp 中页面跳转的方法及传值

一、UniApp 中页面跳转的方法及特点 (一)常见的页面跳转方法 uni.navigateTo: 用途:用于跳转到应用内的某个页面,非 tabBar 页面,它会保留当前页面,打开新的页面并推入页面栈中。特点&#xf…

8月刷题笔记

刷题笔记—8月 LCP40.心算挑战(贪心、排序) class Solution { public:int maxmiumScore(vector<int>& cards, int cnt) {//24.8.1ranges::sort(cards, greater()); //从大到小排序int s reduce(cards.begin(), cards.begin()cnt, 0);if(s%2 0) return s;auto rep…

无线麦克风哪个牌子的好,麦克风哪个好,无线麦克风品牌推荐

​在自媒体日益繁荣的当下&#xff0c;内容创作成为了许多人追求的目标。对于视频内容创作者而言&#xff0c;出色的内容是成功的基石&#xff0c;而高质量的设备则是保证作品品质的关键。为了提升视频音质&#xff0c;拥有一款专业的无线麦克风是不可或缺的。 然而&#xff0…

PHP智能匹配轻松预订自习室在线订座系统小程序源码

智能匹配&#xff0c;轻松预订——自习室在线订座系统 &#x1f4da;【开篇&#xff1a;告别排队&#xff0c;迎接智能学习新时代】&#x1f4da; 还在为找不到合适的自习室座位而烦恼吗&#xff1f;是不是每次去图书馆或自习室都要提前好久去排队占位&#xff1f;现在&#…

Python教程:面向对象

模块3&#xff1a;Python高级 模块概述 本课程旨在介绍Python编程语言中的面向对象编程&#xff08;OOP&#xff09;概念和技术。学生将学习如何使用类、对象、继承、多态等OOP的关键要素来构建灵活、可重用和可扩展的代码。通过实际编程练习和项目&#xff0c;学生将提高他们…

太速科技-1路万兆光纤SFP+和1路千兆网络 FMC子卡模块

1路万兆光纤SFP和1路千兆网络 FMC子卡模块 一、概述 该板卡是基于kc705和ml605的fmc 10g万兆光纤扩展板设计&#xff0c;提供了1路万兆光纤SFP和1路千兆网络接口。可搭配我公司开发的FPGA载卡使用。载卡可参考&#xff1a;ID204 SFP&#xff08;10 Gigabit Small…

AWS-亚马逊网络服务(基础服务)-AWS 定价计算器-概述与动手部署:

让我们来概述并亲身实践如何使用 AWS 定价计算器来计算 概述&#xff1a; AWS 定价计算器是 Amazon Web Services (AWS) 提供的基于 Web 的工具&#xff0c;可帮助用户估算其特定用例的 AWS 服务成本。欢迎来到雲闪世界。 它允许客户建模他们的基础设施并根据他们打算使用的…

Android 9.0 增加interface audio接口,解决编译报错

最近修改Android接口&#xff0c;报了一个VNDK的错误 我总结了如下几种方式&#xff1a; 1、直接关闭&#xff08;不推荐&#xff09;&#xff1a; 在BoardConfig.mk中加入如下两行&#xff0c;可以在编译的时候不去check VNDK&#xff0c;关掉这个可能会导致XTS某些测项跑不…

Burp Suite Professional 2024.8 for macOS x64 ARM64 - 领先的 Web 渗透测试软件

Burp Suite Professional 2024.8 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件 世界排名第一的 Web 渗透测试工具包 请访问原文链接&#xff1a;https://sysin.org/blog/burp-suite-pro-mac/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页…

Linux内核编程(十五)网络设备驱动

本文目录 一、常见的网络协议二、传输介质三、RJ-45接口 对于网络知识不太熟悉的同学可以查看这篇文章&#xff1a;计算机网络知识点详情总结。 一、常见的网络协议 TCP、UDP协议&#xff1a;详情查看-TCP、UDP系统编程。DNS协议&#xff1a;是互联网中用于将域名&#xff08…

RocketMQ集群搭建,及RocketMQ-Dashboard部署(前RocketMQ-Console)

集群搭建 RocketMQ不支持单主机搭建主从结构集群&#xff0c;当从节点启动时&#xff0c;即使和主节点设置不同的监听端口&#xff0c;他也要去监听主节点端口&#xff0c;也就是说正常启动的从节点会监听四个端口。原因未知&#xff0c;现象后面会列举出来。 1. 准备JAVA环境…

python用波形显示udp数据实现一个模拟示波器

显示端代码: import socket import matplotlib.pyplot as plt import matplotlib.animation as animation import numpy as np# UDP setup udp_ip = 0.0.0.0 # Listen on all network interfaces udp_port = 12345 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)…

在 Ubuntu 环境下使用 VSCode 和 PlatformIO 下载程序到 Arduino Uno

安装 VSCode 访问 VSCode 官网 下载 .deb 包使用以下命令安装&#xff1a;sudo dpkg -i <下载的文件名>.deb sudo apt-get install -f安装 PlatformIO 扩展 在 VSCode 中&#xff0c;转到扩展市场&#xff08;CtrlShiftX&#xff09;搜索 “PlatformIO IDE”点击 “安装”…

STM32 HAL CAN (TJA1050CAN模块) 通讯(一)理论

1、简介 CAN具备多个设备交互的能力,但是网上大多是两个单片机进行交互,或者单片机通过CAN收发器与上位机进行交互测试,本次通过STM32cubeMX完成CAN通讯配置,并通过多个单片机进行数据交互测试。 2、CAN简介 CAN是一种串行通讯协议,主要有低速、高速CAN两种。 低速CAN…