# 中国传媒大学 2017 年全国硕士研究生入学考试(复试笔试) 软件工程试题

答题说明:答案一律写在答题纸上,不需抄题,标明题号即可,答在试题上无效。

# 一、单项选择题(每小题1分,共10分)

  1. 需求分析的任务不包括(B)。
    A. 问题分析
    B. 系统设计
    C. 需求描述
    D. 需求评审

  2. 对在数据流图中每一个命令的图形元素均给以定义是(B)。
    A. 条目定义
    B. 数据字典
    C. 数据定义
    D. 数据说明

  3. (A)意味着一个操作在不同的类中可以有不同的实现方式。
    A. 多态性
    B. 多继承
    C. 类的复用
    D. 封装

  4. 数据字典是用来定义(D)中的各个成分的具体含义的。
    A. 流程图
    B. 功能结构图
    C. 系统结构图
    D. 数据流图

  5. 原型化方法是一种(A)型的设计过程。
    A. 自外向内
    B. 自顶向下
    C. 自内向外
    D. 自底向上

    原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于需求不确定性高的系统。它从用户界面的开发入手,首先形成系统界面原型,用户运行用户界面原型,并就同意什么和不同意什么提出意见,它是一种自外向内型的设计过程。

  6. 软件开发的结构化生命周期方法将软件生命周期划分成(A)。
    A. 计划阶段、开发阶段、运行阶段
    B. 计划阶段、编程阶段、测试阶段
    C. 总体设计、详细设计、编程调试
    D. 需求分析、功能定义、系统设计

  7. 从结构化的瀑布模型看,在它的生命周期中的八个阶段中,(C)环节出错,对软件的影响最大。
    A. 详细设计阶段
    B. 概要设计阶段
    C. 需求分析阶段
    D. 测试和运行阶段

  8. UML 是软件开发中的一个重要工具,它主要应用于(C)软件开发方法。
    A. 基于瀑布模型的结构化方法
    B. 基于需求动态定义的原型化方法
    C. 基于对象的面向对象的方法
    D. 基于数据的数据流开发方法

  9. 为适应软件运行环境的变化而修改软件的活动称为(B)。
    A. 纠错性维护
    B. 适应性维护
    C. 改善性维护
    D. 预防性维护

  10. 从现存的程序代码中抽取有关数据、体现结构和处理过程的设计信息,以便恢复设计结果的过程,称为(B)。
    A. 代码重构
    B. 逆向工程
    C. 数据重构
    D. 正向工程

# 二、 名词解释(每小题5分,共30分)

  1. 软件危机
  2. 增量模型
  3. 白盒测试
  4. 内聚性
  5. CMM
  6. CASE

# 三、 简答题(每小题5分,共30分)

  1. 为什么说喷泉模型较好地体现了面向对象软件开发过程无缝和迭代的特性?
  2. 在软件开发的早期阶段为什么要进行可行性研宄?应该从哪些方面研宄目标系统的可行性?
  3. 为什么要进行需求分析?通常对软件系统有哪些需求?
  4. 简述建立对象模型的过程。
  5. 什么是软件可靠性?什么是软件的可用性?两者的主要区别是什么?
  6. 软件的可维护性与哪些因素有关?在软件开发过程中应该采取哪些措施来提高软件产品的可维护性?

# 四、 应用题(每小题15分,共30分)

  1. QQ软件的用户分为游客和登录会员,登录会员分为群成员和非群成员,群成员分为群主和群普通成员、群管理员,请用类的继承关系描述QQ用户群。

    QQ用户群

  2. 一个学生考试成绩统计程序,小于60分为“不及格”;60-79为“中”;80-89为“良”;90分以上为“优秀”,录入其他成绩均为“无效”。

    要求:设计语句覆盖的测试用例。

    假设变量 A 是读入的成绩,则设计的测试用例有 5 个:

    输入 输出
    A=59 不及格
    A=79
    A=89
    A=99 优秀
    A=101 无效

    说明:此题的答案不唯一,只要符合等价类划分要求即可。