软件工程阶段测试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
  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangkay88

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值