# 中国传媒大学 2011 年全国硕士研究生入学考试 软件工程试题

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

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

  1. 软件文档是(C)。
    A. 程序
    B. 工具
    C. 文书和资料
    D. 数据

  2. 软件的主要结构和功能是在(A)阶段决定的。
    A. 分析设计
    B. 编程
    C. 测试
    D. 维护

  3. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称为(C)。
    A. 软件工程
    B. 软件周期
    C. 软件危机
    D. 软件产生

  4. 制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是(D)。
    A. 组织与管理
    B. 生产原型的复杂性
    C. 设计与测试
    D. 规划与调整

    软件的计划主要是根据软件开发的要求、软件系统的规模等,对软件开发的各种资源(包括软硬件资源及开发人员)进行合理的规划,以便在开发过程中得到合理的调度,从而使软件开发最充分地利用资源,以在最短的时间内取得最大的经济效益;软件工程经济学的任务是对软件开发的成本、效益等进行分析和估算;软件工程管理学的任务是有效组织和管理软件开发,软件工程开发技术的任务之一是设计和测试软件系统,所以答案是 D 。

  5. 需求分析阶段的研究对象是(A)。
    A. 用户要求
    B. 分析员要求
    C. 系统要求
    D. 软硬件要求

  6. 调试应该由(B)完成。
    A. 与源程序无关的程序员
    B. 编制该源程序的程序员
    C. 不了解软件设计的机构
    D. 设计该软件的机构

  7. 影响输入输出风格的因素不包括(A)。
    A. 数据状态
    B. 通信环境
    C. 用户经验
    D. 输入/输出设备

  8. 软件测试不需要了解软件设计的(D)。
    A. 功能
    B. 内部结构
    C. 确认测试
    D. 系统测试

    题目有问题 原题搜到的 C/D 选项如下

    C. 处理过程
    D. 条件

  9. 火车是一种陆上交通工具,火车和陆上交通工具之间的关系是(D)。
    A. 组装关系
    B. 整体部分关系
    C. has a 关系
    D. 一般具体关系

  10. 软件质量作为一个极为重要的问题贯穿软件的(B)。
    A. 开发
    B. 生存期
    C. 度量
    D. 测试

# 二、判断题(每题 1 分,共 6 分)

  1. 在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。(❌)
  2. 软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。(❌)

    可行性研究在需求分析之前进行。

  3. 好的测试是用少量测试用例运行程序,发现被测程序尽可能多的错误。(✔️)
  4. 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(✔️)
  5. 如果通过软件测试没有发现错误,则说明软件是正确的。(❌)
  6. 瀑布模型的优点之一是可强迫开发人员采用规范的方法。(✔️)

# 三、名词解释

  1. 数据词典
  2. 可移植性
  3. 注释
  4. 详细设计
  5. 原型
  6. 继承性
  7. 耦合
  8. 风险性分析

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

  1. 什么是软件工程?简述软件工程的基本原理及软件工程的目标。
  2. 有哪些主要的软件开发方法?
  3. 为什么面向对象的方法能够有效地解决软件需求中存在的问题?
  4. 软件重用的效益是什么?
  5. 影响软件代码效率的因素有哪些?
  6. 软件测试通常包含哪几个基本步骤?

# 五、应用题(共 30 分)

  1. 说明下面伪代码描述的程序过程的功能,并画出对应的 PAD 图和 N-S 图。(10分)

    n=0;
    while ( n < 9 )
    {
      if ( A[n] <= A[n+1] ) max = A[n+1];
      else max = A[n];
      n = n + 1;
    }
    

    N-S 盒图:

    N-S 盒图

    PAD 图:

    PAD 图

  2. 输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出“不能构成三角形”。 要求:

    1. 用程序流程图表示该问题的算法;
    2. 计算程序复杂度;
    3. 设计路径覆盖的测试用例。(20分)

    1.程序流程图:

    是否构成三角形-程序流程图

    2.程序复杂度 3+1 = 4

    我也没搞懂,搜来的。

    3.路径:

    1. ①-②-③-④-⑥-⑦
    2. ①-②-⑤-⑥-⑦
    3. ①-⑤-⑥-⑦
    4. ①-②-③-⑤-⑥-⑦

    测试用例:

    路径 测试用例(A,B,C) 结果
    1 A=3, B=4, C=5 A=3, B=4, C=5
    2 A=5, B=8, C=2 不能构成三角形
    3 A=2, B=2, C=5 不能构成三角形
    4 A=5, B=2, C=2 不能构成三角形