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

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

返回题库 显示答案 15 题30 题50 题100 题

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

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

2某工程师在评审中发现一段代码用继承实现“日志输出到文件”和“日志输出到控制台”的差异,但运行时又需要动态组合格式与输出目标,较合适的重构方向是

  1. A. 将输出目标与格式分别抽象,用组合方式在运行时装配
  2. B. 继续增加继承层次,为每种格式和目标组合建立子类
  3. C. 把输出目标和格式都写成静态常量分支
  4. D. 把日志类改为单例并直接在内部判断输出目标

3在关系数据库中,若关系R(A,B,C)上存在函数依赖A→B和B→C,则根据Armstrong公理可以推出A→C,这一推理过程使用的规则是

  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. A. 里氏替换原则
  2. B. 开闭原则
  3. C. 依赖倒置原则
  4. D. 接口隔离原则

8在面向对象设计中,若子类覆盖了父类的方法,且子类方法中通过super调用父类同名方法后再增加新行为,这种复用方式属于

  1. A. 委托复用
  2. B. 继承复用
  3. C. 组合复用
  4. D. 参数化复用

9某项目采用面向对象方法设计订单模块,需求要求新增一种促销折扣类型时尽量不修改已有订单计算代码,仅通过增加新类并注册即可生效,这主要体现了哪种设计原则

  1. A. 开闭原则
  2. B. 里氏替换原则
  3. C. 接口隔离原则
  4. D. 单一职责原则

10某项目使用瀑布模型开发,在编码阶段发现需求规格说明书中存在重大遗漏,最合理的处置方式是

  1. A. 继续编码并在维护阶段补充
  2. B. 立即修改需求并重新评审后续设计
  3. C. 直接按现有设计完成编码
  4. D. 记录问题待项目结束后统一处理

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

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

12在软件设计过程中,用于描述系统中对象之间消息传递顺序、强调时间次序的UML图是

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

13某项目中需求方频繁变更界面布局,但核心业务规则稳定,从降低变更影响角度最适宜采用的架构策略是

  1. A. 将界面表示与业务逻辑分层隔离
  2. B. 把所有界面元素写成配置文件统一管理
  3. C. 要求需求方冻结界面需求后再开发
  4. D. 让界面代码直接调用数据库存储过程

14在软件设计过程中,将系统划分为多个模块后,若要求每个模块的内部功能联系紧密而模块之间联系尽量少,这体现了哪种设计原则

  1. A. 高内聚低耦合
  2. B. 高耦合低内聚
  3. C. 模块独立性与信息隐藏
  4. D. 抽象与逐步求精

15某模块的圈复杂度为 6,则其独立路径条数至少为

  1. A. 5
  2. B. 6
  3. C. 7
  4. D. 8

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

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

17某开发人员在修改一个大型遗留系统时,发现需要改动的模块被多个上层模块调用,为降低修改影响范围,最应先采取的措施是

  1. A. 直接修改该模块并重新编译整个系统
  2. B. 先为该模块补充接口文档再修改
  3. C. 先分析该模块的扇出与扇入并评估影响
  4. D. 将该模块复制一份供新功能使用

18某项目采用增量模型开发,在第一个增量交付后用户提出对已交付部分的接口进行调整,最恰当的处置是

  1. A. 拒绝变更并说明需求已冻结
  2. B. 将变更纳入下一个增量的计划统一处理
  3. C. 立即停止后续增量开发重新做全部需求分析
  4. D. 把变更直接并入当前增量并跳过回归测试

19某开发人员在实现单例模式时,将构造函数声明为 public,并在每次获取实例时直接 new 一个新对象返回,该实现最主要的问题是

  1. A. 无法保证全局唯一实例
  2. B. 会造成构造函数递归调用
  3. C. 会导致类无法被继承
  4. D. 会使实例方法无法被调用

20某在线支付系统在高峰期出现订单重复扣款,经查扣款接口被客户端重试调用多次,且接口未做幂等控制,在接口层面最应优先补充的机制是

  1. A. 为每笔请求分配唯一请求号并在服务端去重
  2. B. 将扣款接口改为同步阻塞调用
  3. C. 把扣款金额拆分为多次小额扣款
  4. D. 在客户端增加重试次数上限

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

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

22在关系数据库设计中,若某关系模式已达到第三范式,但仍存在非主属性对候选键的部分依赖,则该模式实际上?

  1. A. 尚未达到第二范式
  2. B. 已达到BCNF
  3. C. 已达到第四范式
  4. D. 已达到第五范式

23某系统采用数据库主从复制,读多写少,某次从库查询返回了刚写入主库但尚未同步的数据缺失,最可能的原因是?

  1. A. 主从复制存在延迟
  2. B. 从库磁盘空间不足
  3. C. 主库事务隔离级别过低
  4. D. 从库索引损坏

24已知一棵二叉树的先序遍历序列为ABDECF,中序遍历序列为DBEAFC,则该二叉树的后序遍历序列为

  1. A. DEBFCA
  2. B. DEBCFA
  3. C. DBEFCA
  4. D. EDBFCA

25在软件维护过程中,下列活动属于改正性维护范畴的有(多选)

  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某项目在敏捷开发中采用Scrum,冲刺评审会上产品负责人提出新增需求,团队当前冲刺还剩三天且已接近完成原定目标,最符合Scrum实践的处理方式是

  1. A. 由团队评估后把新需求纳入当前冲刺并调整任务
  2. B. 由产品负责人把新需求放入产品待办列表并排优先级
  3. C. 由Scrum Master直接分配新需求给空闲成员并行开发
  4. D. 由团队延长当前冲刺以保证新需求与原目标同时完成

29在关系数据库设计中,若某关系模式存在非主属性对码的部分函数依赖,则该模式至少不满足

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

30在软件设计阶段使用模块化方法时,若一个模块的内聚类型为“时间内聚”,则该模块内部的各个处理元素之间的关联特征是

  1. A. 各处理元素按固定先后顺序执行且前一个输出作为后一个输入
  2. B. 各处理元素因需要在同一时间段内执行而被组织在一起
  3. C. 各处理元素都围绕同一数据结构中的某个数据项进行操作
  4. D. 各处理元素共同完成一个明确的功能且缺一不可

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

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

32某项目采用增量模型开发,在第三个增量交付后发现前两个增量的接口定义存在冲突,最应该优先检查的配置项是

  1. A. 需求跟踪矩阵
  2. B. 接口控制文档
  3. C. 测试用例库
  4. D. 项目进度计划

33在软件维护中,为适应外部环境变化而修改软件的活动属于

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

34在面向对象设计中,若子类覆盖父类方法后,父类引用调用该方法时执行子类实现,这体现了

  1. A. 封装
  2. B. 继承
  3. C. 多态
  4. D. 抽象

35在UML中描述一个对象在生命周期内经历的状态以及引起状态转移的事件,应优先选用

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

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

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

37某系统采用UML进行建模,若要描述对象在生命周期内响应外部事件时状态迁移及触发动作,应优先选用

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

38在UML中,若需要表达一个类在运行期间与另一个类存在整体与部分关系,且部分可以独立于整体存在,应使用下列哪种关系

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

39在编译原理中,若某文法产生式形如A→αBβ且B→γ,则对该产生式进行自顶向下语法分析时可能遇到的核心问题是

  1. A. 左递归导致无限递归
  2. B. 回溯导致效率低下
  3. C. 移进归约冲突
  4. D. 算符优先关系不唯一

40某项目采用白盒测试,要求设计测试用例使程序中每个判定表达式的每个条件都至少取一次“真”和一次“假”,这种覆盖标准是

  1. A. 语句覆盖
  2. B. 判定覆盖
  3. C. 条件覆盖
  4. D. 路径覆盖

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

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

42在软件维护过程中,为了修复因需求理解偏差导致的功能错误而进行的修改,属于

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

43某系统中多个进程需要共享一个打印机,若允许多个进程同时进入打印临界区,最可能出现的后果是

  1. A. 打印结果交错混乱,输出不可预期
  2. B. 进程因等待打印机而全部死锁
  3. C. 打印机驱动程序被自动卸载
  4. D. 临界区代码被操作系统禁止执行

44在关系数据库模式设计中,若关系R(A,B,C)上存在函数依赖A→B、B→C,则R至少属于

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

45在软件需求分析与建模过程中,下列活动属于需求获取阶段应完成的工作有(多选)

  1. A. 与客户面谈并记录业务目标与约束
  2. B. 分析现有系统的文档与业务流程
  3. C. 编写详细设计类图并确定类间关联
  4. D. 建立用例模型描述系统与参与者交互
  5. E. 编写程序代码验证需求可行性

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

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

47在 UML 中描述一个对象在生命周期内响应事件时所经历的状态序列及状态转移,应优先选用

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

48采用贪心策略求解活动安排问题时,先将活动按结束时间递增排序,再依次选择与已选活动相容的活动,该策略能得到最优解的关键性质是

  1. A. 问题具有最优子结构和贪心选择性质
  2. B. 问题具有重叠子问题和无后效性
  3. C. 问题满足拟阵的交换性但不满足遗传性
  4. D. 问题满足动态规划的最优性原理但不满足贪心选择

49在软件测试中,若某程序输入变量 x 的取值范围是 1≤x≤100,采用边界值分析法设计测试用例时,除 1 和 100 外还应优先选取

  1. A. 0 和 101
  2. B. 2 和 99
  3. C. 50 和 51
  4. D. -1 和 102

50在UML类图中,若类A与类B之间是整体与部分关系,且部分可以脱离整体独立存在,则两者之间应建模为

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