计算机技术与软件专业技术资格(软件设计师) 练习卷

中级 | 30 题 | 姓名:__________ 得分:______

返回题库 隐藏答案 15 题30 题50 题100 题

1在软件设计阶段使用UML对系统进行建模时,若需要强调对象之间按时间顺序的消息交互并体现生命线激活期,应优先选用哪种图

  1. A. 时序图
  2. B. 通信图
  3. C. 状态图
  4. D. 活动图

2在UML类图中,若类A与类B之间表示“整体与部分”关系,且部分可以脱离整体独立存在,这种关系应建模为

  1. A. 泛化
  2. B. 聚合
  3. C. 组合
  4. D. 依赖

3在UML中用于描述系统与外部参与者之间交互边界、强调系统对外提供哪些功能的是

  1. A. 用例图
  2. B. 类图
  3. C. 状态图
  4. D. 部署图

4某系统中订单服务在创建订单后必须同时通知库存服务扣减库存,若扣减失败则订单创建回滚,设计时最应优先保证的架构属性是

  1. A. 可修改性
  2. B. 一致性
  3. C. 可用性
  4. D. 可测试性

5在软件设计过程中,采用模块化设计时追求高内聚低耦合,以下关于内聚类型的描述中,属于逻辑内聚的是

  1. A. 模块内各元素按功能顺序依次执行,前一个的输出是后一个的输入
  2. B. 模块内各元素执行相关但不相同的功能,由调用者决定执行哪一个
  3. C. 模块内各元素共同完成一个明确且单一的功能,缺一不可
  4. D. 模块内各元素处理相同的输入数据但各自独立输出不同结果

6在软件设计阶段使用模块化方法时,若希望降低模块间耦合且提高模块内聚,通常应优先追求的是

  1. A. 高耦合高内聚
  2. B. 低耦合低内聚
  3. C. 低耦合高内聚
  4. D. 高耦合低内聚

7某项目在需求分析阶段发现用户对“响应时间”的要求为“大多数操作应在 1 秒内完成”,设计人员应优先将该需求转化为下列哪种可验证的表述

  1. A. 95% 的用户操作响应时间不超过 1 秒
  2. B. 所有操作响应时间均不超过 1 秒
  3. C. 平均响应时间不超过 1 秒
  4. D. 响应时间尽量控制在 1 秒左右

8某C程序中函数内定义了一个较大的局部数组,运行到该函数时出现栈溢出,而同样逻辑改用全局数组后正常,造成差异的主要原因是

  1. A. 局部数组分配在栈上,栈空间通常远小于全局数据区
  2. B. 全局数组会被编译器自动优化掉,不占内存
  3. C. 局部数组未初始化,编译器为其额外分配空间
  4. D. 全局数组默认放在寄存器中,不消耗内存

9在关系数据库设计中,若关系模式 R 已达到第三范式,但其中仍存在主属性对码的部分函数依赖,则 R 最高属于

  1. A. 第二范式
  2. B. 第三范式
  3. C. BCNF
  4. D. 第四范式

10在UML中描述一个对象在生命周期内经历的状态及状态间迁移,并强调事件触发迁移的图是

  1. A. 活动图
  2. B. 状态图
  3. C. 序列图
  4. D. 协作图

11在数据库设计中,若关系模式 R 已达到第三范式但存在主属性对码的部分函数依赖,则 R 最高可达到的范式等级是

  1. A. 第一范式
  2. B. 第二范式
  3. C. 第三范式
  4. D. BCNF

12某项目在需求分析阶段采用数据流图建模,若一个加工既有输入流又有输出流,但输出流的数据无法由输入流经该加工推导得到,该数据流图最可能存在的错误是

  1. A. 出现了无源输出流
  2. B. 出现了无宿输入流
  3. C. 加工只有输入没有输出
  4. D. 数据流命名不规范

13在数据库设计中,若关系模式R已满足第三范式,但某非主属性对码存在传递依赖,则R至少应进一步规范到

  1. A. 第一范式
  2. B. 第二范式
  3. C. 第三范式
  4. D. BC范式

14某软件公司对核心模块进行代码审查时,发现一段循环中每次迭代都重复创建相同的对象,最恰当的优化措施是?

  1. A. 将对象创建移到循环外并复用
  2. B. 把循环改为递归调用
  3. C. 增加循环次数以减少创建频率
  4. D. 把对象改为静态全局并加锁访问

15某系统中多个类都需要使用同一个复杂对象的创建逻辑,且创建过程包含多个可选部件,最适宜采用的创建型模式是

  1. A. 建造者模式
  2. B. 原型模式
  3. C. 单例模式
  4. D. 适配器模式

16某项目在需求分析阶段发现用户对同一业务术语存在多种理解,最应优先产出的文档是

  1. A. 数据流图
  2. B. 数据字典
  3. C. 项目进度计划
  4. D. 模块结构图

17在面向对象设计中,若子类覆盖父类方法时把父类方法的可见性由public改为private,则可能违反的设计原则是

  1. A. 开闭原则,因为子类修改了父类的行为
  2. B. 里氏替换原则,因为子类实例无法在父类使用场景中替换父类
  3. C. 依赖倒置原则,因为高层模块依赖了具体子类
  4. D. 单一职责原则,因为子类承担了父类的方法实现

18某开发人员在评审时提出:系统在高峰期响应变慢,应首先查看数据库慢查询日志并分析执行计划。这一处置属于

  1. A. 代码级性能优化
  2. B. 架构级容量规划
  3. C. 基于度量的性能诊断
  4. D. 用户界面交互优化

19在软件维护中,为了改进软件未来可维护性而对代码进行重构,但不改变软件外部可观察行为,这种维护类型属于

  1. A. 纠正性维护
  2. B. 适应性维护
  3. C. 完善性维护
  4. D. 预防性维护

20在敏捷开发中,团队在每个迭代结束时向产品负责人演示可工作的软件并获取反馈,该活动属于

  1. A. 迭代评审会议
  2. B. 迭代回顾会议
  3. C. 每日站会
  4. D. 需求梳理会议

21在编译过程中,将源程序划分为记号序列并识别单词类别的工作属于

  1. A. 词法分析
  2. B. 语法分析
  3. C. 语义分析
  4. D. 代码优化

22某系统采用观察者模式实现事件通知,当被观察对象状态改变时需要通知多个观察者,若通知过程中某观察者抛出异常,较合理的处理策略是

  1. A. 捕获异常并继续通知其余观察者
  2. B. 立即终止通知并回滚被观察对象状态
  3. C. 忽略异常并直接返回成功
  4. D. 将异常包装后重新抛出并中断整个调用链

23在软件体系结构设计中,采用分层风格时通常需要关注哪些设计点(多选)

  1. A. 层间接口的稳定性与职责边界
  2. B. 是否允许跨层直接调用
  3. C. 每层内部是否可独立替换实现
  4. D. 所有层是否必须共享同一全局变量
  5. E. 层数越多是否必然性能越高

24在软件设计师考试涉及的数据结构知识中,对含有 n 个结点的完全二叉树按层序从 1 开始编号,若某结点编号为 i,则其左孩子编号存在的条件是

  1. A. 2i ≤ n
  2. B. 2i < n
  3. C. 2i+1 ≤ n
  4. D. 2i-1 ≤ n

25某系统采用UML进行面向对象建模,需要表达一个“订单”对象在创建后随支付、发货、收货等事件发生的状态迁移及触发条件,应优先选用

  1. A. 状态图
  2. B. 用例图
  3. C. 协作图
  4. D. 包图

26在软件维护中,为了改善软件未来可维护性而对代码进行重构、增加注释和调整结构,但不改变外部功能,这类维护属于

  1. A. 预防性维护
  2. B. 纠正性维护
  3. C. 适应性维护
  4. D. 完善性维护

27在软件维护类型中,为适应外部运行环境变化(如操作系统升级、数据库更换)而修改软件的活动属于

  1. A. 适应性维护
  2. B. 纠正性维护
  3. C. 完善性维护
  4. D. 预防性维护

28某项目采用增量模型开发,第一个增量交付后用户提出基础架构需大改,导致后续增量返工严重,最可能的原因是

  1. A. 未在早期增量中确定核心架构
  2. B. 增量划分时按功能数量平均分配
  3. C. 每个增量都进行了独立测试
  4. D. 用户参与了第一个增量的评审

29在面向对象设计中,若某类需要同时具备“接口稳定”和“实现可替换”两项特征,下列做法中恰当的有(多选)

  1. A. 面向抽象编程,调用方仅依赖接口
  2. B. 通过继承具体类并覆写其全部方法
  3. C. 用工厂方法封装具体实现类的创建
  4. D. 在接口中直接暴露实现类的私有字段

30某电商系统在“双十一”期间订单量激增,数据库读写比约为 9:1,且要求订单查询响应稳定,最合适的数据库扩展策略是

  1. A. 主从复制并配置读写分离,写走主库读走从库
  2. B. 对订单表按用户 ID 做水平分表并关闭索引
  3. C. 将所有订单数据放入单个大表并增加内存缓存
  4. D. 采用分布式事务强一致方案并取消从库

参考答案

  1. A 时序图按时间顺序展示对象间消息交互,并可表示激活期;通信图强调对象间链接关系而不突出时间顺序;状态图描述单个对象状态迁移…
  2. B 知识点是UML类图关系辨析。聚合表示整体与部分关系且部分可独立于整体存在,符合题意;泛化表示继承关系;组合虽然也是整体与…
  3. A 知识点为UML图的作用辨析。用例图从外部视角描述参与者与系统功能的关系,符合题干;类图描述静态结构与关系,状态图描述对象…
  4. B 知识点是架构质量属性。场景强调跨服务操作要么全成功要么全回滚,核心是一致性;可修改性关注变更成本,可用性关注故障恢复,可…
  5. B 知识点为模块内聚类型。逻辑内聚指模块内各元素在逻辑上相关但功能不同,由调用者选择执行哪部分,故B正确;A是顺序内聚;C是…
  6. C 知识点是模块独立性度量。低耦合高内聚使模块间联系少、模块内部联系紧密,便于维护和复用,因此正确项是低耦合高内聚。高耦合高…
  7. A 知识点是非功能需求的可验证性。正确项给出比例和阈值,便于测试验证。所有操作不超过 1 秒过于绝对且可能无法达到;平均响应…
  8. A 知识点是程序运行时存储布局。局部自动变量通常分配在栈上,栈空间有限,大数组易导致栈溢出;全局数组位于静态数据区,空间较大…
  9. C 知识点是范式判定。3NF 允许主属性对码存在部分依赖和传递依赖,BCNF 要求所有函数依赖左部都包含码;题中主属性对码有…
  10. B 知识点是UML动态视图。状态图描述对象状态及事件驱动的迁移。活动图强调控制流与并发;序列图强调按时间顺序的消息交互;协作…
  11. C 知识点为范式判定。第三范式允许主属性对码存在部分依赖和传递依赖,只要非主属性不部分依赖且不传递依赖于码即可,所以存在主属…
  12. A 知识点为数据流图平衡与守恒。加工的输出必须能由输入推导,否则该输出相当于凭空产生,属于无源输出流错误。无宿输入流指输入无…
  13. D 知识点为关系规范化。第三范式允许主属性对码的传递依赖,但要求非主属性不传递依赖于码;若仍存在非主属性对码的传递依赖,说明…
  14. A 知识点是性能优化与对象生命周期管理。把不变对象提到循环外复用可减少创建开销;改递归不减少创建;增加循环次数适得其反;静态…
  15. A 知识点为创建型模式适用场景。建造者模式将复杂对象构建与表示分离,适合分步创建含多个部件的对象,故A正确。B项原型模式通过…
  16. B 知识点是需求分析阶段文档的作用。数据字典用于统一和精确定义数据项、数据流、数据存储等的含义,能消除术语歧义。错误项:数据…
  17. B 知识点为面向对象设计原则及方法覆盖规则。子类缩小父类方法可见性会破坏父类契约,使子类实例不能替换父类使用,违反里氏替换原…
  18. C 知识点是性能诊断方法。查看慢查询日志和执行计划属于基于运行度量的诊断;代码级优化关注具体代码;容量规划关注资源预估;界面…
  19. D 知识点是软件维护分类。预防性维护指为预防未来问题、提高可维护性而修改软件,故D正确;纠正性维护针对已发现的错误;适应性维…
  20. A 知识点为Scrum框架中的会议类型。迭代评审会议在迭代末向产品负责人及相关方演示增量并收集反馈。迭代回顾会议聚焦团队过程…
  21. A 知识点是编译阶段划分。词法分析扫描字符流生成记号;语法分析建立语法树;语义分析检查静态语义;代码优化改进中间代码。
  22. A 知识点是观察者模式异常处理。为保证通知的鲁棒性,应隔离单个观察者异常并继续通知,故正确;终止通知会使其他观察者漏收;忽略…
  23. A、B、C 知识点为分层体系结构风格。层间接口稳定和职责清晰是分层的基础;是否允许跨层调用会影响耦合度,是常见设计约束;层内实现可替…
  24. A 知识点:完全二叉树的顺序存储下标关系。正确项:编号 i 的结点左孩子编号为 2i,当 2i 不超过结点总数 n 时左孩子…
  25. A 知识点是UML图的适用场景。状态图描述对象状态及事件驱动的迁移,适合订单生命周期,故A正确;用例图描述系统与参与者的功能…
  26. A 知识点是软件维护分类。预防性维护是为提高未来可维护性、可靠性而主动改造软件。错误项:纠正性维护修复缺陷;适应性维护适应外…
  27. A 知识点是软件维护分类。适应性维护目的是适应外部环境变化;纠正性维护针对已发现的错误;完善性维护为增加或改进功能性能;预防…
  28. A 知识点:增量模型风险。增量模型要求先实现核心骨架再逐步扩展,若早期增量只做外围功能而未稳定架构,后期改动会波及所有增量。…
  29. A、C 知识点为依赖倒置与工厂模式。面向抽象编程使调用方不依赖具体实现;工厂方法把创建细节封装在实现侧。继承具体类并覆写全部方法…
  30. A 知识点:高并发数据库扩展策略。读多写少场景适合主从复制加读写分离,故A正确;关闭索引会拖慢查询,故B错;单表加缓存不能解…