【软考】软件复杂性度量

2024-02-22 02:20
文章标签 软件 软考 度量 复杂性

本文主要是介绍【软考】软件复杂性度量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

        • 一、说明
        • 二、程序复杂性度量原则
          • 2.1 说明
          • 2.2 描述程序复杂性
          • 2.3 基本原则
        • 三、McCabe度量法
          • 3.1 说明
          • 3.2 环路复杂度
          • 3.3 简化公式

一、说明
  • 1.软件复杂性度量是指理解和处理软件的难易程度
  • 2.软件复杂性度量的参数很多,主要有规模、难度、结构、智能度
  • 3.规模:即总共的指令数,或源程序行数
  • 4.难度:通常由程序中出现的操作数的数目所决定的量来表示
  • 5.结构:通常用与程序结构有关的度量来表示
  • 6.智能度:即算法的难易程度
  • 7.软件复杂性包括程序复杂性和文档复杂性,软件复杂性主要体现在程序的复杂性中
二、程序复杂性度量原则
2.1 说明
  • 1.程序复杂性度量是软件度量的重要组成部分。开发规模相同、复杂性不同的程序花费的时间和成本会有很大差异
2.2 描述程序复杂性
  • 1.程序理解的难度
  • 2.纠错、维护程序的难度
  • 3.向他人解释程序的难度
  • 4.根据设计文件编写程序的工作量
  • 5.执行程序时需要资源的程度
2.3 基本原则
  • 1.程序复杂性与程序大小的关系不是线性的
  • 2.控制结构复杂的程序较复杂
  • 3.数据结构复杂的程序较复杂
  • 4.转向语句使用不当的程序较复杂
  • 5.循环结构比选择结构复杂,选择结构比顺序结构复杂
  • 6.语句、数据、子程序和模块在程序中的次序对复杂性有影响
  • 7.全局变量、非全局变量较多时程序较复杂
  • 8.函数的隐式副作用相对于显示参数传递而言更加难以理解
  • 9.具有不同作用的变量共用一个名字时较难理解
  • 10.模块间、过程间联系密切的程序比较复杂
  • 11.嵌套程度越深,程序越复杂
三、McCabe度量法
3.1 说明
  • 1.由Thomas McCabe提出的一种基于程序控制流的复杂性度量方法
  • 2.McCabe复杂性度量又称为环路度量,它认为程序的复杂性在很大程度上取决于控制的复杂性
  • 3.单一的顺序程序结构最为简单,循环和选择构成的环路越多,程序就越复杂
  • 4.以图论为工具,先画出程序图,然后用该图的环路数作为程序复杂性的度量值
  • 5.程序图是退化的程序流程图,把程序流程图中的每个处理符号都退化成一个结点,原来连接不同处理符号的流线变成连接不同点的有向弧,这样的有向图称为程序图
  • 6.程序图仅描述程序内部的控制流程,完全不表现对数据的具体操作以及分支和循环的具体条件
3.2 环路复杂度
  • 1.根据图论,在一个强连通的有向图G中,环的个数V(G)由以下公式给出:V(G)=m-n+2p
  • 2.V(G)是有向图G中的环路数,m是图G中弧的个数,n是图G中的节点数,p是G中强连通分量个数
  • 3.在一个程序中,从程序图的入口点总能到达图中的任何一个结点,因此程序总是连通的,但不是强连通的
  • 4.为了使程序图成为强连通图,从图的入口点到出口点加一条用虚线表示的有向边,使图成为强连通图,就可以使用公式计算环路复杂性
  • 5.环路复杂性度量反映了程序(或模块)的控制结构的复杂性
3.3 简化公式
  • 1.McCabe度量法的计算简化公式为:环路复杂度=环路数+1

这篇关于【软考】软件复杂性度量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/733852

相关文章

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

免费也能高质量!2024年免费录屏软件深度对比评测

我公司因为客户覆盖面广的原因经常会开远程会议,有时候说的内容比较广需要引用多份的数据,我记录起来有一定难度,所以一般都用录屏工具来记录会议内容。这次我们来一起探索有什么免费录屏工具可以提高我们的工作效率吧。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  录屏软件录屏功能就是本职,这款录屏工具在录屏模式上提供了多种选项,可以选择屏幕录制、窗口

【软考】希尔排序算法分析

目录 1. c代码2. 运行截图3. 运行解析 1. c代码 #include <stdio.h>#include <stdlib.h> void shellSort(int data[], int n){// 划分的数组,例如8个数则为[4, 2, 1]int *delta;int k;// i控制delta的轮次int i;// 临时变量,换值int temp;in

HomeBank:开源免费的个人财务管理软件

在个人财务管理领域,找到一个既免费又开源的解决方案并非易事。HomeBank&nbsp;正是这样一个项目,它不仅提供了强大的功能,还拥有一个活跃的社区,不断推动其发展和完善。 开源免费:HomeBank 是一个完全开源的项目,用户可以自由地使用、修改和分发。用户友好的界面:提供直观的图形用户界面,使得非技术用户也能轻松上手。数据导入支持:支持从 Quicken、Microsoft Money

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

梳理2024年,螺丝钉们爱用的3款剪辑软件

这年头,视频到处都是,就跟天上的星星一样数不清。不管你是公司里的新面孔,还是职场上的老狐狸,学会怎么剪视频,就好比找到了赢的秘诀。不管是给上司汇报工作,展示你的产品,还是自己搞点小视频记录生活,只要是剪辑得漂亮,肯定能一下子吸引大家的目光,让人记得你。咱们今天就来侃侃现在超火的三款视频剪辑工具,尤其是PR剪辑,你肯定听说过,这货在剪辑界可是大名鼎鼎,用它剪视频,既专业又麻利。 NO1. 福昕轻松