【软考】软件复杂性度量

一、说明
  • 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
四、例题
4.1 例题1
  • 1.题目
1.软件复杂性度量的参数不包括(B)。
A.软件的规模
B.开发小组的规模
C.软件的难度
D.软件的结构
  • 2.解析
1.软件复杂性度量的参数很多,主要有规模、难度、结构、智能度,因此选B
  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件开发成本度量规范2018版是一份用于规范软件开发成本度量的指南,可以帮助企业或组织在软件项目开发过程中有效地评估和控制成本。该指南的目的是为了提供一个统一的标准和方法,使不同的软件开发项目能够在成本度量上进行比较和评估。 该指南主要包括以下几个方面的内容: 1. 成本度量的定义和背景:介绍了成本度量的基本概念和重要性,以及其在软件开发过程中的应用。 2. 成本度量的方法和指标:介绍了几种常见的成本度量方法和指标,例如功能点分析、工作量分析和成本/效益分析等。同时,还说明了这些方法的适用范围和使用注意事项。 3. 成本度量的流程和步骤:详细描述了成本度量的流程和各个步骤,包括需求分析、成本估算、成本控制和成本评估等。每个步骤都提供了相应的工具和技术,以帮助项目团队进行成本度量活动。 4. 成本度量的指导和建议:给出了一些关于如何有效地进行成本度量的指导和建议,例如如何选择合适的成本度量方法、如何应对风险和变更等。 通过遵循该指南所提供的规范和方法,企业或组织可以更好地管理和控制软件开发过程中的成本,提高项目的成功率和效益。同时,该指南还可以作为软件开发行业的参考标准,促进行业内的良性竞争和合作,提升整个行业的发展水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值