软件工程自测题及答案

课程链接
课件链接
软件工程单元测试题及答案

文章目录

1. 第1周

1.1. 软件工程的概念

  1. 需求分析阶段的任务是确定
    A. 软件开发方法
    B. 软件开发工具
    C. 软件开发费
    D.软件系统的功能
    正确答案:D
  2. 软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以( )维护所占的维护量最小。
    A. 纠错性维护
    B. 代码维护
    C. 预防性维护
    D. 文档维护
    正确答案:C
  3. 软件详细设计的基本任务是确定每个模块的
    A. 功能
    B. 调用关系
    C. 算法和数据结构
    D. 输入输出数据
    正确答案:C
  4. 把模块的控制结构转变成计算机可接受的程序代码的阶段是
    A. 详细设计
    B. 测试
    C. 维护
    D. 编码
    正确答案:D
  5. 软件概要设计结束后得到
    A. DFD
    B. 软件结构图
    C. 模块详细的算法
    D. 程序编码
    正确答案:B

1.2. 软件过程

  1. 瀑布模型的关键不足在于
    A. 过于简单
    B. 各个阶段需要进行评审
    C. 过于灵活
    D. 不能适应需求的动态变更
    正确答案:D
  2. 快速原型是利用原型辅助软件开发的一种新思想,它是在研究( )的方法和技术中产生的。
    A. 需求阶段
    B. 设计阶段
    C. 测试阶段
    D. 软件开发的各个阶段
    正确答案:A
  3. 软件开发的增量模型是
    A. 适用于需求被清晰定义的情况
    B. 一种需要快速构造核心产品的好方法
    C. 最适合于大规模团队开发的项目
    D. 一种不适用于商业产品的创新模型
    正确答案:B
  4. 螺旋模型的特点是下面哪一个?
    A. 在软件产品发布时结束
    B. 比增量模型更加混乱
    C. 在每一次迭代过程中包含项目风险评价
    D. 以上所有选项
    正确答案:C
  5. 下面的哪个不是RUP模型的阶段?
    A. 启动阶段
    B. 精化阶段
    C. 构造阶段
    D. 确认阶段
    正确答案:D

2. 第2周

2.1. 可行性分析任务与过程

  1. 可行性研究阶段的成果形式是
    A. 可行性研究报告
    B. 用户操作手册
    C. 软件问题报告
    D. 软件需求分析报告
    正确答案:A
  2. 在进行可行性研究的过程中,以下步骤顺序正确的是
    ①推荐行动方针②研究目前正在使用的系统③导出新系统的高层逻辑模型④进一步定义问题⑤导出和评价供选择的解法⑥复查系统规模和目标⑦草拟开发计划⑧书写文档提交审查
    A. ⑥②③④⑤①⑦⑧
    B. ①③⑤②⑥④⑦⑧
    C. ①⑥②③④⑤⑦⑧
    D. ②⑤③④①⑥⑦⑧
    正确答案:A
  3. 数据流图和数据字典共同定义了新系统的逻辑模型。
    A. \checkmark
    B. ×\times
    正确答案:A
  4. 可行性研究可行性研究需要的时间长短和所研究系统的规模关系不大。
    A. \checkmark
    B. ×\times
    正确答案:B
  5. 把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。
    A. \checkmark
    B. ×\times
    正确答案:A

2.2. 成本效益分析

  1. 在进行成本/效益分析的时候,需要考虑
    A. 运行费用
    B. 开发成本
    C. 系统使用寿命
    D. 系统带来的经济效益

    正确答案:A、B、C、D

2.3. 需求分析要求1

  1. 在综合需求分析中,描述应用系统与它的环境通信的格式的需求是
    A. 约束
    B. 逆向需求
    C. 接口需求
    D. 性能需求
    正确答案:C
  2. 分析系统的数据要求通常采用建立下面哪种方法。
    A. 信息处理
    B. 数据模型
    C. 数据处理
    D. 数据操作
    正确答案:B

2.4. 需求分析要求2

  1. 需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统"做什么"的问题。 下列哪一项并不是需求分析的实现步骤之一。
    A. 获得当前系统的物理模型
    B. 抽象出当前系统的逻辑模型
    C. 建立目标系统的逻辑模型
    D. 建立目标系统的物理模型
    正确答案:D

2.5. 获取用户需求的方法

  1. 下列哪一项不是用来获取用户需求的。
    A. 发放调查问卷
    B. 与业务人员进行访谈
    C. 绘制数据流图
    D. 绘制时序图
    正确答案:D

2.6. 获取用户需求的方法2

  1. 原型法获取用户需求适合下列哪种情况
    A. 天气预报系统
    B. 大数据分析系统
    C. 科学计算系统
    D. 图书馆WEB网站开发
    正确答案:D

2.7. 获取用户需求的方法3

  1. 需求分析过程应该建立3种模型不包括
    A. 需求分析过程应该建立3种模型不包括
    B. 功能模型
    C. 用例模型
    D. 行为模型
    正确答案:C

3. 第3周

3.1. 数据流图

  1. 数据流图的四个基本符号是下列哪一组。
    A. 数据源点,数据终点,处理,数据存储
    B. 数据源点,处理,数据存储,数据流
    C. 外部实体,处理,数据终点,数据流
    D. 外部实体,数据存储,处理,数据流
    正确答案:D
  2. 下列哪一项的作用是"用来明确系统和环境的界限"的?
    A. 数据源点
    B. 数据存储
    C. 外部实体
    D. 数据终点
    正确答案:C

3.2. 数据流图2

  1. 在下列的基本成分中,哪个不是数据流程图的基本成分?
    A. 信息处理
    B. 信息存储
    C. 外部实体
    D. 系统状态
    正确答案:D
  2. 数据流图的用途不包括以下哪几项?
    A. 数据流图的用途不包括以下哪几项?
    B. 作为建立系统功能模型的工具

    C. 作为详细设计的工具
    D. 作为分析和设计的工具
    正确答案:A、B、D
  3. 画分层DFD图的基本原则包括下列哪些选项?
    A. 加工分解的原则
    B. 数据守恒原则
    C. 数据封闭原则
    D. 父图与子图"平衡"原则

    正确答案:A、B、C、D

3.3. 实体联系图

  1. 在实体联系图中,用椭圆形或圆角矩形表示
    A. 实体
    B. 属性
    C. 联系
    D. 重数关系
    正确答案:B
  2. 在实体联系图中,下列说法错误的是
    A. 实体可以有属性,也可以没有属性。
    B. 联系也可能有属性。
    C. 属性定义了数据对象的性质。
    D. 数据对象彼此间是有关联的。
    正确答案:A

3.4. 实体联系图2

  1. 在下列的范式中,哪个消除了对主键的传递依赖?
    A. 第一范式
    B. 第二范式
    C. 第三范式
    D. 第四范式
    正确答案:C
  2. 在下列的范式中,哪个消除了对主键的部分依赖?
    A. 第一范式
    B. 第二范式
    C. 第三范式
    D. 第四范式
    正确答案:B

4. 第4周

4.1. 概要设计过程

  1. 以下哪个选项的内容可以描述概要设计的目的。( )
    A. 实现功能所需的具体方法函数
    B. 描述系统的实现方式
    C. 整体划分功能模块
    D. 各模块详细说明
    正确答案:C
  2. 软件结构设计的任务包括以下哪些选项( )
    A. 将系统划分成模块
    B. 决定每个模块的功能
    C. 决定模块间的调用关系
    D. 决定模块之间的接口

    正确答案:A、B、C、D

4.2. 模块化

  1. 模块具有3个基本属性( )
    A. 状态
    B. 功能

    C. 方法
    D. 逻辑
    正确答案:A、B、D
  2. 采用模块化的优点包括以下哪些选项?( )
    A. 使软件结构清晰
    B. 减少代码编写量
    C. 提高软件的可修改性
    D. 有助于软件开发工程的组织管理

    正确答案:A、C、D

4.3. 抽象与信息隐藏

  1. 在软件结构中,下列哪个选项用来完成对数据的一个具体处理。( )
    A. 顶层模块
    B. 中间模块
    C. 协调模块
    D. 底层模块
    正确答案:D
  2. 总体设计阶段把系统抽象为( )
    A. 功能
    B. 模块的处理过程
    C. 结构
    D. 程序
    正确答案:C

4.4. 抽象与信息隐藏2

  1. 信息隐藏和局部化的好处是( )
    A. 多人分别编写系统的不同模块,可以根据需要自由命名局部变量
    B. 防止把一个模块的错误扩散到其他模块

    C. 一个模块内包含的信息对于不需要这些信息的模块来说,也可访问
    D. 保证块独立性
    正确答案:A、B、D
  2. 信息隐藏指的是一个模块内包含的信息(过程和数据) 对于不需要这些信息的模块来说,是不能访问的(隐藏)。
    A. \checkmark
    B. ×\times
    正确答案:A
  3. 局部化与信息隐藏是相互独立的。
    A. \checkmark
    B. ×\times
    正确答案:B

4.5. 模块独立

  1. 耦合度也可以分为七级:其中最松散的耦合是( )。
    A. 非直接耦合
    B. 数据耦合
    C. 特征耦合
    D. 控制耦合
    正确答案:A
  2. 数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( )
    A. 数据、公共、标记、控制
    B. 数据、标记、控制、公共
    C. 控制、数据、标记、公共
    D. 控制、数据、公共、标记
    正确答案:B
  3. 为了提高模块的独立性,模块之间最好是( )
    A. 控制耦合
    B. 公共耦合
    C. 内容耦合
    D. 数据耦合
    正确答案:D

4.6. 模块独立2

  1. 下列模块内聚中,内聚性最强的是( )。
    A. 功能内聚
    B. 偶然内聚
    C. 过程内聚
    D. 顺序内聚
    正确答案:A
  2. 通信内聚、过程内聚、顺序内聚和时间内聚的内聚性从高到低顺序是( )
    A. 通信、过程、顺序、时间
    B. 通信、时间、顺序、过程
    C. 顺序、通信、时间、过程
    D. 顺序、通信、过程、时间
    正确答案:D
  3. 一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是( )
    A. 通信内聚
    B. 顺序内聚
    C. 偶然内聚
    D. 功能内聚
    正确答案:B

4.7. 描述软件结构的图形工具

  1. 下列关于层次图和结构图的说法,正确的是( )
    A. 层次图和结构图并不严格表示模块的调用次序
    B. 层次图和结构图只表明一个模块调用那些模块

    C. 层次图既能表示模块间的数据信息、控制信息,也能表示选择调用和循环调用关系
    D. 在结构图中通常还用带注释的箭头表示模块调用过程中来回传递的信息
    正确答案:A、B、D
  2. 在描述系统结构的图形工具中使用带注释的箭头表示模块调用过程中来回传递的信息。下列说法正确的是( )
    A. 空心圆表示传递的是数据
    B. 实心圆表示传递的是数据
    C. 空心圆表示传递的是控制信息
    D. 实心圆表示传递的是控制信息
    正确答案:A、D

5. 第5周

5.1. 结构化程序

  1. 扩展的结构程序设计中,不允许使用( )
    A. BREAK结构
    B. IF-THEN-ELSE型分支
    C. WHILE型循环
    D. UNTIL型循环
    正确答案:A
  2. 经典的结构程序设计中,只能有以下哪些结构存在( )
    A. 顺序
    B. 分支
    C. WHILE型循环

    D. UNTIL型循环
    正确答案:A、B、C

5.2. 界面程序设计

  1. 程序流程图的优点是( )
    A. 不易表示数据结构。
    B. 随意转移控制。
    C. 本质上不是逐步求精的好工具
    D. 对控制流程的描绘很直观
    正确答案:D
  2. 程序流程图必须有一个入口和一个出口。
    A. \checkmark
    B. ×\times
    正确答案:B
  3. 用户进行数据输入时,尽量减少用户的输入动作。
    A. \checkmark
    B. ×\times
    正确答案:A
  4. 用户与系统进行交互操作时,系统应尽量减少用户的记忆量。
    A. \checkmark
    B. ×\times
    正确答案:A

5.3. 过程设计工具1

  1. 下列说法不正确的是( )
    A. 流程图既可以表示二分支结构,又可以表示多分支结构
    B. 流程图既可以表示while循环,也可以表示until循环
    C. 流程图不可以随意转移控制
    D. 流程图不易表示数据结构
    正确答案:C
  2. 流程图中的菱形表示( )
    A. 输入输出
    B. 开始
    C. 处理
    D. 分支
    正确答案:D

5.4. 过程设计工具2

  1. 下列关于盒图的说法,不正确的是( )
    A. 不可任意转移控制
    B. 容易表现嵌套关系
    C. 很容易确定局部和全程数据的作用域
    D. 不可表示模块的层次结构
    正确答案:D

5.5. 过程设计工具3

关于PAD图,以下哪个说法是错误的( )
A. 使用PAD符号所设计出来的程序必然是结构化程序
B. 可用于表示程序逻辑,但不可用于描绘数据结构
C. PAD图所描绘的程序结构十分清晰;
D. 容易将PAD图转换成高级语言源程序。
正确答案:B

5.6. 过程设计工具4

  1. 判定表由四部分组成,左上部列出的是下列哪一项( )
    A. 条件组合与动作之间的对应关系
    B. 所有条件
    C. 所有可能的动作
    D. 可能的条件组合
    正确答案:B

5.7. 过程设计语言

  1. 下列哪个是伪码的缺点( )
    A. 不如图形工具形象直观
    B. 可以嵌入在源程序中一起作为程序文档
    C. 描述复杂的条件组合与动作间的对应关系时,不如判定表清晰简单。
    D. 可自动生成程序代码
    正确答案:A、C

6. 第6周

6.1. 编码

  1. 选择编程语言只需求考虑用户的要求。()
    A. \checkmark
    B. ×\times
    正确答案:B
  2. 开发系统软件时,常用的高级语言是________。
    正确答案:C语言

6.2. 编码2

  1. 对建立良好的程序设计风格,下面描述正确的是()。
    A. 程序应简单、清晰、可读性好
    B. 只要符号名的命名符合语法
    C. 充分考虑程序的执行效率,越高越好
    D. 程序的注释可有可无
    正确答案:A
  2. 标识符的命名应该采用有实际意义的名字。( )
    A. \checkmark
    B. ×\times
    正确答案:A
  3. 在正规的程序文件中,注释行的数量占整个源程序的1/5到1/3,甚至更多。( )
    A. \checkmark
    B. ×\times
    正确答案:A

6.3. 软件测试的基本概念

  1. 一个成功的测试是___________。
    A. 发现错误码
    B. 发现了至今尚未发现的错误
    C. 没有发现错误码
    D. 证明发现不了错误
    正确答案:B
  2. 软件测试是为发现程序中的______________而执行程序的______________。
    正确答案:错误,过程

6.4. 测试用例概述

  1. 以程序的内部结构为基础的测试用例技术属于( )。
    A. 灰盒测试
    B. 数据测试
    C. 黑盒测试
    D. 白盒测试
    正确答案:D

  2. 软件测试是采用( )执行软件的活动。
    A. 测试用例
    B. 输入数据
    C. 测试环境
    D. 输入条件
    正确答案:A

  3. 测试用例是由______________和预期的______________两部分组成。
    正确答案:测试输入数据 ,输出数据

  4. 设计测试用例时应该考虑到合法的输入和________输入以及各种边界条件。
    正确答案:不合法的

6.5. 软件测试过程

  1. ___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。( )
    A. 系统测试
    B. 集成测试
    C. 单元测试
    D. 功能测试
    正确答案:A
  2. 单元测试是以____________说明书为指导,测试源程序代码。
    正确答案:详细设计
  3. 集成测试以____________说明书指导,测试软件结构。
    正确答案:概要设计
  4. 验收测试以____________说明书为指导。
    正确答案:需求分析

6.6. 软件测试方法

  1. 代码会审属于____________,不实际运行程序。
    正确答案:静态测试
  2. 黑盒测试又称之为___________测试,只依据程序的功能来设计测试用例。
    正确答案:功能
  3. 白盒测试又称为______________测试,以程序内部逻辑结构为基础设计测试用例。
    正确答案:结构

6.7. 白盒测试

  1. 有一组测试用例使得每一个被测试用例的条件至少被执行一次,它满足的覆盖标准()。
    A. 语句覆盖
    B. 判定覆盖
    C. 条件覆盖
    D. 路径覆盖
  2. 判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支______被执行一次。
    正确答案:至少
  3. 根据覆盖目标的不同,逻辑覆盖又可分为:____________,判断/条件覆盖,条件组合覆盖。
    正确答案:语句覆盖,判定覆盖,条件覆盖

6.8. 白盒测试2

  1. 一个程序中所含有的路径数与____有着直接的关系。
    A. 程序的复杂程度
    B. 程序语句行数
    C. 程序模块数
    D. 程序指令执行时间
  2. 路径测试中的点覆盖,等价于逻辑覆盖中的( )
    A. 语句覆盖
    B. 判定覆盖
    C. 条件组合覆盖
    D. 条件覆盖

6.9. 墨盒测试

  1. 测试程序时,不可能遍历所有可能的输入数据,而只能是选择一个子集进行测试,那么最好的选择方法是( )。
    A. 随机选择
    B. 划分等价类
    C. 根据接口进行选择
    D. 根据数据大小进行选择
  2. 等价类测试技术具备完备性和无冗余性。( )
    A. \checkmark
    B. ×\times
  3. 等价类划分有两种不同的情况:
    正确答案:有效等价类,无效等价类
  4. 等价类的基本思想是:将所有可能的输入数据划分成若干个等价类,然后从每一类中选取________________的数据作为测试用例。
    正确答案:少数有代表性

6.10. 墨盒测试2

  1. 不属于白盒测试的技术是 ( ) 。
    A. 语句覆盖
    B. 判定覆盖
    C. 边界值分析
    D. 基本路径测试
  2. 在边界值分析中,下列数据通常不用来做数据测试的是( )。
    A. 正好等于边界的值
    B. 等价类中的等价值
    C. 刚刚大于边界的值
    D. 刚刚小于边界的值
  3. 边界值分析法属于____________。
    正确答案:黑盒测试

6.11. 软件维护

  1. 下列属于维护阶段的文档是( )
    A. 软件规格说明
    B. 用户操作手册
    C. 软件问题报告
    D. 软件测试分析报告
  2. 下列维护类型中,在所有维护中占比最大的是( )
    A. 改正性维护
    B. 完善性维护
    C. 适应性维护
    D. 其他维护

6.12. 软件维护2

  1. 维护要求首先被反映给以下哪个角色?( )
    A. 维护管理员
    B. 系统管理员
    C. 变化授权人
    D. 维护实施人员
  2. 以下关于维护事件流的说法中,不正确的是哪项?( )
    A. 改正性维护从评价错误严重程度开始
    B. 适应性维护和改正性维护具有相同的事件流
    C. 严重的改正性维护要立即开展维护工作
    D. 维护过程不包括测试

7. 第7周

7.1. 面向对象的概念

  1. 对象的静态特征是( )
    A. 方法
    B. 属性
    C. 关系
    D. 操作
  2. 对象的动态特征是( )
    A. 特征
    B. 属性
    C. 关系
    D. 操作
  3. 对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。
    A. 结合
    B. 隐藏
    C. 封装
    D. 抽象
  4. 面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( )到计算机世界的方法。
    A. 对应
    B. 映射
    C. 反映
    D. 反射

7.2. 面向对象的概念2

  1. 在UML中,类是用 ( )表示的
    A. 矩形框
    B. 椭圆
    C. 箭头
    D. 菱形框
  2. 属于某个类的一个具体对象称为该类的( )。
    A. 虚拟
    B. 实例
    C. 继承
    D. 多态
  3. 框架是一组可用于不同应用的( )集合
    A. 模块
    B. 对象
    C. 类
    D. 代码

7.3. 面向对象的概念3

  1. 下面关于面向对象方法中消息的叙述,不正确的是( )。
    A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息
    B. 操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息
    C. 应用程序之间可以相互发送消息
    D. 发送与接收消息的通信机制与传统的子程序调用机制不同
  2. 一个对象和另一个对象之间,通过消息来进行通信。消息通信在面向对象的语言中即( )。
    A. 方法实现
    B. 方法嵌套
    C. 方法调用
    D. 方法定义
  3. UML的( )表示消息源发出消息后不必等待消息处理过程的返回,即可继续执行自己的后续操作。
    A. 简单消息
    B. 返回消息
    C. 同步消息
    D. 异步消息

7.4. 面向对象的概念4

  1. ( )是子对象或者子类自动共享父对象或者父类数据结构和方法的机制。
    A. 封装
    B. 抽象
    C. 继承
    D. 信息隐藏
  2. 在有多重继承的类层次结构中,类层次结构是( )。
    A. 树型层次结构
    B. 网状型层次结构
    C. 星型层次结构
    D. 环型层次结构
  3. 反映了类间的一种层次关系的是( )。
    A. 继承
    B. 组合
    C. 封装
    D. 多态

7.5. 面向对象的概念5

  1. 软件部件的内部实现与外部可访问性的分离,是指软件的( )
    A. 继承性
    B. 共享性
    C. 封装性
    D. 抽象性
  2. 面向对象的主要特征除对象惟一性、封装、继承外,还有( )
    A. 多态性
    B. 完整性
    C. 可移植
    D. 兼容性
  3. ( )意味着一个操作在不同的类中可以有不同的实现方式。
    A. 多继承
    B. 多态性
    C. 类的可复用
    D. 信息隐蔽

7.6. UML相关知识

  1. 在UML中,协作图反映收发消息的对象的结构组织,它与( )是同构的。
    A. 用例图
    B. 时序图
    C. 活动图
    D. 类图
  2. UML是一种 ( )
    A. 建模工具
    B. 可视化的程序设计语言
    C. 可视化的建模语言
    D. 过程
  3. UML语言支持面向对象的主要概念,并与具体的开发过程相关()
    A. \checkmark
    B. ×\times
  4. 活动图显示动作极其结果,着重描述操作实现中所完成的工作,以及用例实例或类活动()
    A. \checkmark
    B. ×\times

7.7. 面向对象建模

  1. 面向对象分析过程中建立的模型有( )。
    A. 数据模型、功能模型、活动模型
    B. 对象模型、功能模型、测试模型
    C. 属性模型、功能模型、对象模型
    D. 对象模型、功能模型、动态模型

8. 第8周

8.1. 动态模型

  1. 动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统"控制 "特性。面向对象方法中,常用( )实现。
    A. 状态图
    B. 交互图
    C. 活动图
    D. 以上全部
    正确答案:D
  2. ( )是一种特殊形式的状态机,用于对计算流程和工作流程建模。
    A. 时序图
    B. 流程图
    C. 活动图
    D. 状态图
    正确答案:C
  3. 下列对状态图描述不正确的是( )
    A. 状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为
    B. 状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件如何随着时间的推移来影响这些状态
    C. 状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率
    D. 状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件作出反应
    正确答案:C
  4. 在状态机图中,转换包括以下( )类型
    A. 外部自转换
    B. 内部自转换

    C. 模拟转换
    D. 正常转换
    正确答案:A、B、D

8.2. 功能模型

  1. 在用例图中,可以用()来表示整个软件系统或其中一些子系统的边界,也可以用它表示软件系统的不同发布版本的功能范围
    A. 执行者
    B. 关联关系
    C. 用例
    D. 边界框
    正确答案:D
  2. 关于用例的概念,下列说法不正确的是( )。
    A. 用例是一个连贯的功能性单元
    B. 用例是通过Actor确认的
    C. 可以借助状态转换图来描述用例
    D. 用例是一个类,而不是事件
    正确答案:C
  3. 如果用例A与用例B相似,但A的功能较B多,A的动作序列是通过在B的动作序列中的某些执行点上插入附加的动作序列而构成的,则称()
    A. 用例A扩展用例B
    B. 用例A包含用例B
    C. 用例A继承用例B
    D. 用例A实现用例B
    正确答案:C
  4. 在识别用例时,以下()问题可以帮助识别用例
    A. 当系统状态发生故障时,是否需要通知参与者
    B. 系统是否存在外部事件,如果存在,是哪个能参与者通知系统这些个部事件
    C. 参与者希望系统为他提供什么样的功能

    D. 系统运行环境是什么
    正确答案:A、B、C

8.3. 功能模型2

  1. 用例之间是具有相关性的。在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是( )关系。
    A. 包含(include)
    B. 扩展(extend)
    C. 分类(classification)
    D. 聚集(aggregation)
    正确答案:A
  2. 如果用例A与用例B相似,但A的动作序列是通过改写B的部分或者扩展B的动作而获得的,则称( )
    A. 用例A实现用例B
    B. 用例A继承用例B
    C. 用例A扩展用例B
    D. 用例A包括用例B
    正确答案:B
  3. 用例的实现细节不会在( )描述。
    A. 用例说明
    B. 用例图
    C. 活动图
    D. 顺序图
    正确答案:B
  4. 基于用例图的需求捕获的第一步就是确定系统的参与者,在寻找系统参与者时,可以根据以下()等问题来确定。
    A. 系统同环境如何进行交互
    B. 由谁安装系统
    C. 系统为哪些对象提供信息、服务
    D. 系统的使用者是谁

    正确答案:A、B、C、D

8.4. 三种模型间的关系

  1. ( )定义了做事情的实体。
    正确答案:对象模型
  2. 动态模型描述了类实例的生命周期或运行周期。
    正确答案:生命周期(运行周期)
  3. 功能模型中的( )对应于对象模型中的类所提供的服务。
    正确答案:处理(或用例)
  4. 面向对象建模技术所建立的对象、动态、功能模型中,最基本、最核心的模型是( )。
    正确答案:对象模型

9. 第9周

9.1. 面向对象分析的基本过程

  1. 对于一个学校的课程注册管理系统,如果有一条需求为“本软件必须通过接口定义文档规定的接口API与计费系统、学籍管理系统、教师信息管理系统交互。”该属于( )类型。
    A. 可集成性需求
    B. 可伸缩性需求
    C. 可互操作性需求
    D. 安全性需求
    正确答案:C
  2. 面向对象的分析,就是用( ),抽取和整理用户需求并建立问题域精确模型的过程。
    正确答案:面向对象的概念和方法
  3. 对象模型的属性层由对象的属性和( )连接共同构成。服务层由对象的( )加上对象间的消息通信构成。( )层由应用领域中的特定结构(比如泛化和聚合等)构成。
    正确答案:实例、服务、结构层
  4. 面向对象分析过程可按照下列流程进行:确定类-&-对象、识别结构、识别主题、( )、建立动态模型、( )、定义服务(方法)。
    正确答案:定义属性、建立功能模

9.2. 建立对象模型

  1. 下列不属于可感知的物理实体的是( )。
    A. 飞机
    B. 教师
    C. 汽车
    D. 房屋
    正确答案:B
  2. 下列需长期记忆的事件是( )。
    A. 银行的取款
    B. 银行的存款

    C. 商品订单
    D.保险公司的索赔
    正确答案:A、B、D
  3. 建立对象模型时的主要信息来源为:需求陈述、应用领域的( )以及关于客观世界的常识。
    正确答案:专业知识
  4. 非正式分析(也称词法分析),用自然语言书写的需求陈述中的( )作为候选的对象。
    正确答案:名词

9.3. 建立对象模型2

  1. 确定关联时,无需领域专家介入。( )
    A. \checkmark
    B. ×\times
    正确答案:B
  2. 确定关联是从对象的外部研究其结构特征。( )
    A. \checkmark
    B. ×\times
    正确答案:A
  3. 关联应该描述问题域的静态结构,而不应该是一个瞬时事件。( )
    A. \checkmark
    B. ×\times
    正确答案:A
  4. 应该去掉那些可以用其他关联定义的冗余关联。( )
    A. \checkmark
    B. ×\times
    正确答案:A

9.4. 建立对象模型3

  1. 建立主题时,推荐采用自顶向下的方法。 ( )
    A. \checkmark
    B. ×\times
    正确答案:B
  2. 大型系统可设多层主题。( )
    A. \checkmark
    B. ×\times
    正确答案:B
  3. 主题可用UML中的包图表示。( )
    A. \checkmark
    B. ×\times
    正确答案:A

9.5. 建立对象模型4

  1. 例如实时监控系统的传感器对象,为实现其定时采集信号的功能,需要一个( )属性,为实现其报警功能,需要一个 ( )属性。
    正确答案:时间间隔, 临界值
  2. 在邮政目录中,“城市”是一个( ),在人口普查中,“城市”是一个( )。
    正确答案:属性,对象。
  3. 如果某设备在不同状态下系统中的行为是不同的,需要在( )对象中设立一个“状态”属性,来表示其实际的不同状态。
    正确答案:设备

9.6. 建立对象模型5

  1. 动物与老虎之间是( )关系。
    正确答案:泛化
  2. 只有单重继承的类层次结构是( )层次结构。
    正确答案:树型
  3. 一般使用使用自底向上、自顶向下两种方式建立继承关系。
    通过抽象出现有类中的共同属性,构造一个父类,是( )方式;把现有类细化成更具体的子类,是( )方式;
    正确答案:自底向上、自顶向下

10. 第10周

10.1. 建立动态模型

  1. 建立动态模型的步骤为( )
    A. 排列事件发生的次序
    B. 提取出事件
    C. 编写典型交互行为的脚本
    D. 绘制状态图
  2. 编写脚本时,首先编写正常情况脚本。然后,考虑特殊情况,最后考虑出错情况。下列属于出错情况的是( )
    A. 输入的数据值为最大值或最小值
    B. 输出的数据值为最大值或最小值
    C. 输入的值为非法值
    D. 响应失败

10.2. 建立动态模型2

  1. 顺序图由类角色,生命线,激活期和( )组成
    A. 关系
    B. 消息
    C. 用例
    D. 实体
  2. 一般情况下,系统的某个用例往往包含好几个工作流程,这个时候就需要创建一个或多个( )进行描述。
    A. 类图
    B. 状态图
    C. 序列图
    D. 包图

10.3. 建立动态模型3

  1. 如果要对一个学院课程注册系统中三个主要角色学生、教授、教务长的工作流程建模,那么下面4个图中哪个图是最有用的?
    A. 活动图
    B. 类图
    C. 序列图
    D. 部署图
  2. 在状态机图中,( )表示两个状态之间的关系,源状态和目的状态。
    A. 转换
    B. 状态
    C. 事件
    D. 监护条件
  3. 状态图描述一个对象在不同( )的驱动下发生的状态迁移。
    A. 对象
    B. 事件
    C. 执行者
    D. 数据
  4. 事件表示对一个在时间和空间上占据一定位置的有意义的事情的规格说明,下面哪个不是事件的类型( )。
    A. 信号
    B. 调用事件
    C. 源事件
    D. 时间事件

10.4. 建立功能模型

  1. 功能模型描述软件系统的( )能力,最直接地反映了用户对系统的需求。
    正确答案:数据处理
  2. 一般来说,应在建立了对象模型和( )模型之后再建立功能模型。
    正确答案:动态
  3. 描述功能模型中的处理框,要着重描述每个处理的( )。
    正确答案:功能
  4. 功能模型中,处理框的描述可以是说明性的,也可以是过程性。一般来说,( ) 优于( )。
    正确答案:说明性,过程性

11. 第11周

11.1. 面向对象设计的准则

  1. 优秀设计的标准是在满足用户需求的情况下,( )
    A. 设计费用最低
    B. 设计质量最好
    C. 系统总开销最小
    D. 维护费用最低
  2. 在面向对象设计中,信息隐藏是通过类的( )实现的。
    A. 封装性
    B. 继承性
    C. 多态性
    D. 抽象性

11.2. 面向对象设计的准则2

  1. 以下哪个做法符合启发规则的要求?( )
    A. 减少消息模式的数目
    B. 分解复杂的服务
    C. 简化复杂的服务
    D. 使用CASE语句代替一般特殊结构
  2. 对对象的命名应做到用词一致。
    A. \checkmark
    B. ×\times

11.3. 软件重用和系统分解

  1. 以下哪项不属于软件成分重用?( )
    A. 代码重用
    B. 设计结果重用
    C. 分析结果重用
    D. 文档重用
  2. 关于软件重用的效益,以下哪项说法是错误的?( )
    A. 软件重用可以降低代码中的错误率
    B. 软件中被重用的部分不需要成本
    C. 软件重用可以提高软件生产率
    D. 软件重用可以带来成本节约

11.4. 软件重用和系统分解2

  1. 关于系统分解策略的说法中,以下哪项是错误的?( )
    A. 分而治之,各个击破
    B. 根据功能划分子系统
    C. 应增强子系统间的交互性
    D. 应减少子系统间的依赖性
  2. 关于组织系统的方案,以下哪项说法是错误的?( )
    A. 层次组织方案中,上层在下层的基础上建立
    B. 层次组织方案中,上层只能使用其直接下层提供的服务
    C. 块状组织方案中,软件系统被垂直地分解为子系统块
    D. 应用系统可以混合使用层次和块状组织方案

11.5. 子系统设计

  1. 关于重用的典型过程的描述中,以下哪项是错误的?( )
    A. 无用属性和服务最少的类可被选为可重用类
    B. 由可重用类派生出问题域类
    C. 使用所用继承到的属性和服务
    D. 修改类的关联
  2. 关于问题域子系统的设计,以下说法不正确的是?( )
    A. 添加一般化类可以使系统结构更加清晰
    B. 类或对象功能接近时,可以考虑合并类或对象
    C. 类或对象的职责过多时,应考虑分解类或对象
    D. 多重继承需要转为单继承方式

11.6. 子系统设计2

  1. 在进行人机交互设计过程中,描述用户时不需要记录以下哪项信息?( )
    A. 使用系统要达到的目的
    B. 技能水平
    C. 完成本职工作的脚本
    D. 是否是系统的使用者
  2. 以下哪项外观或操作给用户的感觉与windows应用程序的不同?( )
    A. 左上角有最小化和关闭按钮
    B. 程序出现错误会弹出提示对话框
    C. 每个程序至少有一个窗口
    D. 通常使用右键弹出菜单

11.7. 子系统设计3

  1. 以下哪项不是面向对象数据库的特点?( )
    A. 操作级别低
    B. 抽象程度高
    C. 易于管理对象
    D. 应用尚不普及
  2. ( )1. 数据管理子系统可以为系统隔离不同的数据存储存储管理模式。
    A. \checkmark
    B. ×\times

11.8. 子系统设计4

  1. 以下哪项不是设计实现服务的方法时需要考虑的?( )
    A. 是否能满足用户的需求
    B. 是否易于理解
    C. 采用哪种物理数据结构
    D. 是否达到了最高运行效率

11.9. 设计关联和设计优化

  1. 以下哪项属于双向关联?( )
    A. 职工具有所属公司属性,公司具有所在地属性
    B. 班级具有所属专业属性,专业具有专业编号属性
    C. 手机具有所有者属性,人具有通信工具属性
    D. 人具有所在地区属性,地区具有总人口数量属性
  2. ( ) “单向关联+遍历查找”的方式适合两个方向都需要频繁访问的情形。
    A. \checkmark
    B. ×\times

11.10. 设计关联和设计优化2

  1. 以下关于调整类继承关系的说法中,哪一项是错误的?( )
    A. 归纳和具体化是一个持续不断的演化过程
    B. 为提高继承程度,可以违背领域知识和常识
    C. 仅当真实存在一般-特殊关系时,使用继承机制才合理
    D. 非继承关系或不支持多重继承的环境下,可以使用委托实现行为共享
  2. 以下关于设计优化的说法中,哪项是错误的?( )
    A. 系统的各项质量指标并不是同等重要的
    B. 优化目标之间可能存在冲突
    C. 运行效率、代码清晰性和内存消耗都是系统的质量指标
    D. 设计优化应该以运行效率为主

12. 第12周

12.1. 面向对象程序设计语言

  1. 面向对象分析、设计的结果,只能选用面向对象语言来实现。( )
    A. \checkmark
    B. ×\times
  2. 所有面向对象语言都允许用户动态创建对象,并且可以用指针引用动态创建的对象。( )
    A. \checkmark
    B. ×\times

12.2. 面向对象程序设计语言2

  1. 面向对象程序设计风格主要体现在提高可重用性、提高可扩充性、提高健壮性等三个方面。( )
    A. \checkmark
    B. ×\times
  2. 对于任何一个实用软件来说,健壮性都是可以忽略的质量指标。( )
    A. \checkmark
    B. ×\times

12.3. 面向对象测试

  1. 在面向对象系统中.系统的最小可测试单元不再是函数或过程.而是类和对象。( )
    A. \checkmark
    B. ×\times
  2. 继承是面向对象软件系统的主要特征,在一定程度上实现了软件代码的重用,使得多个类能够共享相同的属性和方法。( )
    A. \checkmark
    B. ×\times
  3. 封装对软件测试的影响是:无法直接考察对象调用的内部实现,从而无法确认操作的正确性。
    A. \checkmark
    B. ×\times

12.4. 面向对象测试2

  1. 面向对象测试用例的设计由软件的输入—处理----输出视图或单个模块的算法细节驱动。( )
    A. \checkmark
    B. ×\times
  2. 类测试主要是验证类的实现是否和该类的说明完全一致。( )
    A. \checkmark
    B. ×\times
  3. 系统测试不仅是检测软件的整体行为表现,从另一个侧面看,也是对软件开发设计的再确认。( )
    A. \checkmark
    B. ×\times
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读