参考答案和解析
正确答案: K.Magel从六个方面描述软件复杂性:
①理解程序的难度;
②改错及维护程序的难度;
③向他人解释程序的难度;
④按指定方法修改程序的难度;
⑤根据设计文档编写程序的工作量;
⑥执行程序时需要资源的程度。
软件复杂性度量模型应遵循的基本原则:
⑴软件复杂性与程序大小的关系不是线性的;
⑵控制结构复杂的程序较复杂;
⑶数据结构复杂的程序较复杂;
⑷转向语句使用不当的程序较复杂;
⑸循环结构比选择结构复杂,选择结构又比顺序结构复杂;
⑹语句、数据、子程序和模块在程序中的次序对软件复杂性都有影响;
⑺全程变量、非局部变量较多时程序较复杂;
⑻参数按地址传递比按值传递更复杂;
⑼函数副作用比显式参数传递更难以琢磨;
⑽具有不同作用的变量共用一个名字时较难理解;
⑾模块间或过程间联系密切的程序较复杂;
⑿嵌套深度越深程序越复杂。
最典型的两种程序复杂性度量的方法中,McCabe环路复杂性度量就是针对基本原则(2)制定的度量模型;Halstead软件科学则是针对程序中操作符和操作数的出现频度而制定的度量模型。
更多“软件复杂性有哪几类?软件复杂性度量模型应遵循哪些基本原则?”相关问题
  • 第1题:

    ● 软件复杂性度量的参数不包括 (7) 。

    (7)

    A. 软件的规模

    B. 开发小组的规模

    C. 软件的难度

    D. 软件的结构


    正确答案:B
    试题(7)分析
    软件复杂性度量是软件度量的一个重要分支。软件复杂性度量的参数有很多,主要包括:规模,即指令数或者源程序行数;难度,通常由程序中出现的操作数所决定的量来表示;结构,通常用与程序结构有关的度量来表示;智能度,即算法的难易程度。
    参考答案
    (7)B

  • 第2题:

    定义风险参数的考虑有().

    A.软件失效发生的机率

    B.软件功能复杂性

    C.软件失效产生的影响

    D.软件周期长短


    正确答案:ABCD

  • 第3题:

    ● 某项目组拟开发一个大规模系统,且具备了相关领域及类似规模系统的开发经验。下列过程模型中, (6) 最合适开发此项目。

    (6)

    A. 原型模型

    B. 瀑布模型

    C. V模型

    D. 螺旋模型

    ● 软件复杂性度量的参数不包括 (7) 。

    (7)

    A. 软件的规模

    B. 开发小组的规模

    C. 软件的难度

    D. 软件的结构


    正确答案:B,B

  • 第4题:

    软件复杂性的常用度量方法包括()

    • A、BOEHM度量法
    • B、可扩充度量法
    • C、线性度量法
    • D、代码行度量法

    正确答案:D

  • 第5题:

    软件工程必须遵循哪些基本原则?


    正确答案: (1)抽象
    (2)信息隐藏
    (3)模块化
    (4)局部化
    (5)一致性
    (6)完全性
    (7)可验证性

  • 第6题:

    软件复杂性的概念?


    正确答案: K.Magel从6个方面来描述软件复杂性:
    1)理解程序的难度;
    2)维护程序的难度;
    3)向其他人解释程序的难度;
    4)按指定方法修改程序的难度;
    5)根据设计文件编写程序的工作量;
    6)执行程序时需要资源的多少。

  • 第7题:

    对软件复杂性进行归纳分析


    正确答案: 1、无法对程序进行完全测试
    (1)测试所需要的输入量太大
    (2)测试的输出结果太多
    (3)软件实现的途径太多
    (4)软件规格说明没有一个客观标准
    2、测试无法显示潜在的软件缺陷和故障
    ——通过软件测试只能报告软件已被发现的缺陷和故障,无法报告隐藏的软件故障。
    3、存在的故障现象与发现的故障数量成正比
    ——结论:应当对故障集中的程序段进行重点测试
    4、不能修复所有的软件故障
    ——原因:没有足够的能力进行修复;修复的风险较大;不值得修复;可不算做故障的一些缺陷;“杀虫剂现象”。
    ——结论:关键是要进行正确的判断、合理的取舍,根据风险分析决定哪些故障必须修复,哪些故障可以不修复。
    5、软件测试的代价
    ——工作原则:就是如何将无边无际的可能性减小到一个可以控制的范围,以及如何针对软件风险做出恰当选择,去粗存精,找到最佳的测试量,使得测试工作量不多也不少,既能达到测试的目的,又能较为经济。

  • 第8题:

    程序复杂性的度量方法有哪些?


    正确答案:代码行度量法、环路度量法。

  • 第9题:

    单选题
    软件复杂性的常用度量方法包括()
    A

    BOEHM度量法

    B

    可扩充度量法

    C

    线性度量法

    D

    代码行度量法


    正确答案: C
    解析: 暂无解析

  • 第10题:

    问答题
    软件复杂性有哪几类?软件复杂性度量模型应遵循哪些基本原则?

    正确答案: K.Magel从六个方面描述软件复杂性:
    ①理解程序的难度;
    ②改错及维护程序的难度;
    ③向他人解释程序的难度;
    ④按指定方法修改程序的难度;
    ⑤根据设计文档编写程序的工作量;
    ⑥执行程序时需要资源的程度。
    软件复杂性度量模型应遵循的基本原则:
    ⑴软件复杂性与程序大小的关系不是线性的;
    ⑵控制结构复杂的程序较复杂;
    ⑶数据结构复杂的程序较复杂;
    ⑷转向语句使用不当的程序较复杂;
    ⑸循环结构比选择结构复杂,选择结构又比顺序结构复杂;
    ⑹语句、数据、子程序和模块在程序中的次序对软件复杂性都有影响;
    ⑺全程变量、非局部变量较多时程序较复杂;
    ⑻参数按地址传递比按值传递更复杂;
    ⑼函数副作用比显式参数传递更难以琢磨;
    ⑽具有不同作用的变量共用一个名字时较难理解;
    ⑾模块间或过程间联系密切的程序较复杂;
    ⑿嵌套深度越深程序越复杂。
    最典型的两种程序复杂性度量的方法中,McCabe环路复杂性度量就是针对基本原则(2)制定的度量模型;Halstead软件科学则是针对程序中操作符和操作数的出现频度而制定的度量模型。
    解析: 暂无解析

  • 第11题:

    填空题
    软件复杂性主要表现在程序的复杂性。程序的复杂性主要指()程序的复杂性。

    正确答案: 模块内
    解析: 暂无解析

  • 第12题:

    单选题
    软件复杂性度量的参数不包括()。
    A

    软件的规模

    B

    开发小组的规模

    C

    软件的难度

    D

    软件的结构


    正确答案: C
    解析: 暂无解析

  • 第13题:

    下列不属于软件复杂性的度量参数是(19)。

    A.规模

    B.结构

    C.效率

    D.智能度


    正确答案:C
    解析:软件度量的一个重要分支就是软件复杂性度量。软件复杂性与质量属性有着密切的关系,从某些方面反映了软件可维护性、可靠性等质量要素。软件复杂性度量的参数很多,主要有:(1)规模。即总共的指令数,或源程序行数。(2)难度。通常由程序中出现的操作数的数目所决定的量来表示。(3)结构。通常用与程序结构有关的度量来表示。(4)智能度。即算法的难易程度。

  • 第14题:

    QESAT/C工具的主要功能有______。

    A.软件覆盖测试

    B.软件复杂性度量

    C.程序执行频度分析

    D.以上全部


    正确答案:D

  • 第15题:

    软件复杂性是指理解和处理软件的难易程度,其度量参数不包括______。

    A.规模
    B.类型
    C.结构
    D.难度

    答案:B
    解析:
    本题考查软件质量的基础知识。软件复杂性是度量软件的一种重要指标,其参数主要包括规模、难度、结构、智能度等。规模,即总指令数,或源程序行数;难度,通常由程序中出现的操作数数目所决定的量表示;结构,通常用与程序结构有关的度量来表示;智能度,即算法的难易程度。

  • 第16题:

    软件复杂性主要表现在程序的复杂性。程序的复杂性主要指()程序的复杂性。


    正确答案:模块内

  • 第17题:

    用某种软件复杂性度量算法来度量不同类型的程序时。得出的度量值是否真正反映了它们的复杂性?如果对同类型的程序进行度量,其结果是否就比较有价值?


    正确答案: 开发规模相同,但复杂性不同的软件,花费的成本和时间会有很大的差异。因此到目前为止,还没有一个软件复杂性度量的方法能够全面、系统地度量任一软件的复杂性,某一种度量方法只偏重于某一方面。所以,用某种软件复杂性来度量不同类型的程序,所得到的度量值不一定真正反映它们的复杂性。但对同一类里的程序,按某种视点来度量它们的复杂性,其结果还是比较有价值的。

  • 第18题:

    软件复杂性度量的参数不包括()。

    • A、软件的规模
    • B、开发小组的规模
    • C、软件的难度
    • D、软件的结构

    正确答案:B

  • 第19题:

    简述软件测试的复杂性?


    正确答案: 1、完全测试是不现实的;
    2、软件测试是有风险的;
    3、杀虫剂现象;
    4、缺陷的不确定性。

  • 第20题:

    对软件系统模型分层是为了控制软件开发的复杂性,在需求层创建的是()rup过程。

    • A、软件模型
    • B、部署模型
    • C、概念模型
    • D、参考模型

    正确答案:C

  • 第21题:

    问答题
    用某种软件复杂性度量算法来度量不同类型的程序时。得出的度量值是否真正反映了它们的复杂性?如果对同类型的程序进行度量,其结果是否就比较有价值?

    正确答案: 开发规模相同,但复杂性不同的软件,花费的成本和时间会有很大的差异。因此到目前为止,还没有一个软件复杂性度量的方法能够全面、系统地度量任一软件的复杂性,某一种度量方法只偏重于某一方面。所以,用某种软件复杂性来度量不同类型的程序,所得到的度量值不一定真正反映它们的复杂性。但对同一类里的程序,按某种视点来度量它们的复杂性,其结果还是比较有价值的。
    解析: 暂无解析

  • 第22题:

    问答题
    程序复杂性的度量方法有哪些?

    正确答案: 代码行度量法、环路度量法。
    解析: 暂无解析

  • 第23题:

    单选题
    对软件系统模型分层是为了控制软件开发的复杂性,在需求层创建的是()rup过程。
    A

    软件模型

    B

    部署模型

    C

    概念模型

    D

    参考模型


    正确答案: A
    解析: 暂无解析