试题详情
- 简答题软件复杂性有哪几类?软件复杂性度量模型应遵循哪些基本原则?
-
K.Magel从六个方面描述软件复杂性:
①理解程序的难度;
②改错及维护程序的难度;
③向他人解释程序的难度;
④按指定方法修改程序的难度;
⑤根据设计文档编写程序的工作量;
⑥执行程序时需要资源的程度。
软件复杂性度量模型应遵循的基本原则:
⑴软件复杂性与程序大小的关系不是线性的;
⑵控制结构复杂的程序较复杂;
⑶数据结构复杂的程序较复杂;
⑷转向语句使用不当的程序较复杂;
⑸循环结构比选择结构复杂,选择结构又比顺序结构复杂;
⑹语句、数据、子程序和模块在程序中的次序对软件复杂性都有影响;
⑺全程变量、非局部变量较多时程序较复杂;
⑻参数按地址传递比按值传递更复杂;
⑼函数副作用比显式参数传递更难以琢磨;
⑽具有不同作用的变量共用一个名字时较难理解;
⑾模块间或过程间联系密切的程序较复杂;
⑿嵌套深度越深程序越复杂。
最典型的两种程序复杂性度量的方法中,McCabe环路复杂性度量就是针对基本原则(2)制定的度量模型;Halstead软件科学则是针对程序中操作符和操作数的出现频度而制定的度量模型。 关注下方微信公众号,在线模考后查看
热门试题
- 软件开发管理主要研究内容?
- 根据输入输出的数据结构产生程序结构的设计
- 在一行内只写一条语句,并且采取适当的移行
- 数据字典中的加工逻辑主要描述该加工(),
- 一个模块的()范围应在其()范围之内,且
- 在软件生存期的各个阶段中跨越时间最长的阶
- 基于复用的面向对象开发过程分为哪几个阶段
- 在软件生存期的模型中,()适合于大型软件
- WIMP界面是屏幕菜单驱动用户界面的一种
- 螺旋模型在笛卡儿坐标的四个象限上分别表达
- 什么是软件过程?
- 状态是对象属性值的抽象,状态指明了对象对
- 如何用PDL语言来实施逐步求精的设计原理
- 举例说明你对概要设计与详细设计的理解。有
- 对于复杂的系统,其对象模型应该由哪五个层
- 试说明ISO为什么要建议停止使用程序流程
- Lipow证明了:当源程序少于100个语
- 软件过程是软件生存期中的一系列相关()集
- 瀑布模型是将()各个活动规定为依()连接
- 随着开发小组人数的(),因交流开发进展情