• 软件工程阶段测试4


    1.【单选】

    对多个模块或功能是否可共用同一个程序代码单元的代码方案设计,属于软件的哪个特性设计?
    • A. 可复用性设计
    • B. 可扩展性设计
    • C. 安全性设计
    • D. 可理解性设计
    答案:A

    2.【单选】

    关于代码审查的说法错误的是( )
    • A. 代码审查能够用于发现代码的bug
    • B. 代码审查比程序运行测试的效率低,应减少代码审查会议
    • C. 代码审查可用于纠正不规范的代码设计
    • D. 代码在审查之前必须要成功地编译通过
    答案:B

    3.【单选】

    针对面向对象设计原则,说法错误的是()
    • A. 单一职责原则指一个类只允许定义一个方法
    • B. 遵循开/闭原则能够提高代码的稳定性
    • C. 接口行为分组一般按业务类型划分
    • D. 遵循依赖倒置原则的代码增加了测试的难度
    答案:A

    4.【多选】

    以下可以提高代码质量的方法有()
    • A. 模块化设计
    • B. 面向抽象编程
    • C. 不做异常处理
    • D. 统一使用固定的设计模式
    答案:A,B

    5.【单选】

    “一个模块或类应该只实现一个或一种类型的业务职责”是面向对象设计的
    • A. 单一职责原则
    • B. 开闭原则
    • C. 里氏替换原则
    • D. 接口隔离原则
    答案:A

    6.【单选】

    为了提高模块的独立性,模块内部最好是( )
    • A. 逻辑内聚
    • B. 时间内聚
    • C. 功能内聚
    • D. 通信内聚
    答案:C

    7.【单选】

    提高程序可读性的有力手段是( )
    • A. 选好一种程序设计语言
    • B. 显式说明一切变量
    • C. 使用三种标准控制语句
    • D. 给程序增加适当的注释
    答案:D

    8.【单选】

    面向对象设计中的()意图在不暴露内部数据结构的前提下,向外部对象提供遍历聚合元素的统一方法
    • A. 单例模式
    • B. 适配器模式
    • C. 迭代器模式
    • D. 观察者模式
    答案:C

    9.【单选】

    ( )不是良好编码的习惯
    • A. 在开始编码之前建立单元测试计划
    • B. 少使用break,continue等程序流程重定向关键词
    • C. 确保注释与代码逻辑一致
    • D. 保持变量名缩写和简短以便代码紧凑
    答案:D

    10.【单选】

    数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是
    • A. 数据、公共、无耦合、控制
    • B. 无耦合、数据、控制、公共
    • C. 控制、数据、无耦合、公共
    • D. 控制、数据、公共、无耦合
    答案:B

    11.【多选】

    以下关于程序结构规范合理的做法有()
    • A. 多分支尽量采用switch…case
    • B. 为了使代码美观,每一行都应格式对齐
    • C. 尽量使用语句格式化
    • D. 少用continue和break
    答案:A,C,D

    12.【单选】

    为了提高软件的可维护性,在编码阶段合理的做法有()
    • A. 减少代码版本更新
    • B. 提高代码的抽象度
    • C. 少写文档
    • D. 养成好的程序设计风格
    答案:D

    13.【单选】

    设函数C(X)定义问题X 的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。对于两个问题P1 和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得
    出结论E(P1+P2)>E(P1)+E(P2),这个原理是( )的依据
    • A. 模块化
    • B. 逐步求精
    • C. 抽象
    • D. 信息隐藏和局部化
    答案:A

    14.【多选】

    GoF将Java的设计模式总体分为了()
    • A. 创建型模式
    • B. 结构型模式
    • C. 行为型模式
    • D. 互动型模式
    答案:A,B,C

    15.【多选】

    Java语言中,注释包含()
    • A. 代码文件注释
    • B. 类注释
    • C. 方法注释
    • D. 语句注释
    答案:A,B,C,D

    16.【单选】

    初始化模块和结束模块,从块内联系看,被称为()
    • A. 过程内聚
    • B. 功能内聚
    • C. 时间内聚
    • D. 偶然内聚
    答案:D

    17.【单选】

    模块的独立性是由内聚性和耦合性来度量的, 其中内聚性指的是
    • A. 模块之间的联系程度
    • B. 信息隐藏程度
    • C. 模块内各元素彼此结合的紧密程度
    • D. 接口的复杂度
    答案:C

    18.【多选】

    应用程序编程接口(API)的设计,应包含( )
    • A. API的调用者和提供者
    • B. API的功能
    • C. API的引用路径
    • D. API的入参、出参和异常状态标识等
    答案:A,B,C,D

    19.【单选】

    程序的三种基本控制结构是
    • A. 过程、子程序和分程序
    • B. 顺序、选择和循环
    • C. 递归、迭代和回溯
    • D. 调用、返回和转移
    答案:B

    20.【单选】

    程序的三种基本控制结构的共同特点是
    • A. 不能嵌套使用
    • B. 只能用来写简单的程序
    • C. 已经用硬件实现
    • D. 只有一个入口和一个出口
    答案:D

    21.【单选】

    “当目标数据源不是调用者所期望的类型,不能通过重新构造数据源和调用者代码的方式解决该问题”,此时应采用
    • A. 享元模式
    • B. 适配器模式
    • C. 单例模式
    • D. 迭代器模式
    答案:C

    22.【单选】

    在进行模块设计时,由于A、B、C三个模块的规模非常小,因此把它们合并成一个模块D,则D模块的内聚类型为()
    • A. 过程内聚
    • B. 功能内聚
    • C. 时间内聚
    • D. 偶然内聚
    答案:A

    23.【单选】

    关于内容耦合的描述正确的是( )
    • A. 内容耦合是最高程度的耦合
    • B. 两个模块都引用了同一个全局变量,则它们之间是内容耦合
    • C. 应该尽量使用内容耦合
    • D. 内容耦合的耦合程度比控制耦合要低
    答案:A

    24.【单选】

    以下不属于软件系统的接口设计内容的是()
    • A. 用户接口
    • B. 管理员接口
    • C. 内部接口
    • D. 外部接口
    答案:B

    25.【单选】

    针对接口设计的说法不正确的是()
    • A. 接口需要标注访问路径
    • B. 接口都必须有输入参数
    • C. 接口都有名称
    • D. 接口都有功能
    答案:B

    26.【单选】

    模块本身的内聚是模块独立性的重要度量因素之一,具有最强内聚的是()
    • A. 顺序内聚
    • B. 过程内聚
    • C. 逻辑内聚
    • D. 功能内聚
    答案:D

    27.【多选】

    使用软件设计模式时,不正确的做法有
    • A. 遇到代码设计问题时,都应使用设计模式进行解决
    • B. 不同的设计模式具有不同的代码优点,有的设计模式没有代码缺点
    • C. 某种软件设计模式只能在代码设计中使用一次
    • D. 软件设计模式没有编程语言类型的限制
    答案:A,B,C,D

    28.【单选】

    在软件设计阶段应提供的文档是()
    • A. 软件需求规格说明书
    • B. 概要设计规格说明书和详细设计规格说明书
    • C. 数据字典及流程图
    • D. 源程序以及源程序的说明书
    答案:B

    29.【多选】

    以下关于代码文档说法中,正确的有
    • A. 代码文档应说明代码运行时环境及对应的具体版本号
    • B. 代码文档一旦形成,便可以保持不变
    • C. 代码文档应说明代码测试的方法,并提供相应的测试用例等
    • D. 代码文档应与最终的软件代码版本保持一致
    答案:A,C,D

    30.【单选】

    “某种类型对象实例频繁地创建或销毁,每次创建或销毁消耗大量的程序资源或性能”,此时应采用()
    • A. 工厂方法模式
    • B. 适配器模式
    • C. 单例模式
    • D. 迭代器模式
    答案:C

    31.【多选】

    以下属于面向对象中“接口隔离”的优点的是
    • A. 减少冗余行为
    • B. 稳定性高
    • C. 可复用性好
    • D. 可读性好
    答案:A,B,C

    32.【单选】

    “子类可以扩展父类的功能,但不能改变父类原有的功能
    ”,这符合面向对象设计的()原则
    • A. 单一职责原则
    • B. 开闭原则
    • C. 里氏替换原则
    • D. 接口隔离原则
    答案:C

    33.【单选】

    要减少两个模块之间的耦合,则必须()
    • A. 调用次数要少
    • B. 传递参数要少
    • C. 传递参数 要少且不传递控制型信息
    • D. 传递参数 要少且不传递控制型信息且不引用同一个全局变量
    答案:D

    34.【单选】

    以下哪种模块设计是最好的
    • A. 高耦合、强内聚
    • B. 低耦合、弱内聚
    • C. 低耦合、强内聚
    • D. 高耦合、弱内聚
    答案:C

    35.【单选】

    在软件设计中,把一个时期内必须解决的问题按照优先级排序,从而确保每个问题都将被解决,且每个问题都将在适当的时候被解决,它属于软件设计的哪种方法( )
    • A. 模块化
    • B. 抽象
    • C. 逐步求精
    • D. 信息隐藏
    答案:C

    36.【单选】

    “类或模块的代码对扩展是开放的,对修改是关闭的”是面向对象程序设计的
    • A. 单一职责原则
    • B. 开闭原则
    • C. 里氏替换原则
    • D. 接口隔离原则
    答案:D

    37.【单选】

    某成绩查询模块的功能是提示学生成绩等级,包括A、B、C、D四个等级,调用模块向该模块传递不同的分数,该模块以此来判断显示给学生的成绩等级,此时成绩查询模块和调用模块之间的耦合称为()
    • A. 数据耦合
    • B. 公共耦合
    • C. 控制耦合
    • D. 内容耦合
    答案:C

    38.【单选】

    模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )
    • A. 内聚性和耦合性
    • B. 局部化和封装化
    • C. 抽象和信息隐藏
    • D. 逐步求精和结构图
    答案:A

    39.【多选】

    从程序语言表现形式来看,程序设计语言可以分为()
    • A. 机器语言
    • B. 汇编语言
    • C. 高级语言
    • D. 自然语言
    答案:A,B,C

    40.【单选】

    下列说法正确的是()
    • A. 模块的作用域在模块的控制域内
    • B. 模块的控制域在模块的作用域之内
    • C. 模块的控制域和模块的作用域有时相同
    • D. 模块的作用域和模块的控制域都是一种层次结构
    答案:A
  • 相关阅读:
    2019年互联网高频Java面试题指南!互联网升职加薪方案!
    事件过滤器
    基于SSM实现在线租房系统
    22 VueComponent 响应式处理
    如何用SSH克隆GitHub项目
    不清楚的照片如何变清晰?教你几招变清晰的方法
    三步减少打包机故障
    【CGE】“双碳”目标下资源环境中的可计算一般均衡CGE模型应用
    神经网络拟合图像:Implicit Neural Representations with Periodic Activation Functions
    【漏洞复现】图书馆集群管理系统存在逻辑绕过
  • 原文地址:https://blog.csdn.net/qq_54351538/article/details/128079856