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

中级 | 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. 采用分布式事务强一致方案并取消从库