# 中国传媒大学 2006 年攻读硕士学位研究生入学考试 软件工程试题

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

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

  1. 软件是一种(C)。
    A. 程序
    B. 数据
    C. 逻辑产品
    D. 物理产品

  2. 在软件危机产生的原因中,(A)是我们无法控制的。
    A. 用户对需求描述不精确
    B. 软件本质的复杂性
    C. 开发人员对用户需求的理解有误
    D. 观念

  3. 下面哪一种软件过程模型是文档驱动的(A)。
    A. 瀑布模型
    B. 快速原型法
    C. 螺旋模型
    D. 喷泉模型

  4. 下面哪一种软件过程模型是风险驱动的(C)。
    A. 瀑布模型
    B. 快速原型
    C. 螺旋模型
    D. 喷泉模型

  5. 在面向对象技术中,在类等级的不同层次中可以公用一个方法的名字,然而不同层次的类却按自己的需要来实现这个行为,这种现象叫做(C)。
    A. 继承
    B. 重载
    C. 多态
    D. 封装

  6. 对象模型描述了面向对象系统的(A)结构。
    A. 静态
    B. 动态
    C. 总体
    D. 控制

  7. 哪个模型明确规定了面向对象系统应在何时去做。(B)
    A. 对象模型
    B. 动态模型
    C. 功能模型
    D. 抽象模型

  8. 在面向对象需求分析的活动中,建立对象模型最重要的工作是(A)。
    A. 识别对象
    B. 识别关联
    C. 识别责任
    D. 识别属性

  9. 从面向对象的角度观察,房子与窗户的关系是(C)。
    A. 链
    B. 依赖
    C. 聚合
    D. 泛化

  10. (A)是软件最高层次的设计。
    A. 体系结构设计
    B. 子系统设计
    C. 对象设计
    D. 责任分解

  11. 将软件组件的接口与实现分离,主要体现了(D)原则。
    A.强内聚
    B.依赖倒转
    C.弱耦合
    D.信息隐藏

  12. Windows 程序的窗口函数是一个(B)。
    A. 回调函数
    B. API 函数
    C. 主函数
    D. 绘图函数

    Windows 程序的窗口函数是一个(B)。 | 单项选择题

  13. 在(A)完成后,可以着手制定测试计划。
    A. 需求分析
    B. 系统设计
    C. 详细设计
    D. 软件编码

  14. 希望一个软件很容易读懂,这是要求它的(A)好。
    A. 可理解性
    B. 可用性
    C. 灵活性
    D. 可再用性

  15. 传统软件的单元测试针对的是(C)。
    A. 过程
    B. 类对象
    C. 模块
    D. 其它

  16. 希望一个软件在任何意外的情况下都能适应,这是要求它的(B)好。
    A. 正确性
    B. 健壮性
    C. 安全性
    D. 可用性

  17. 软件生命周期中所花费用最多的阶段是(D)。
    A. 详细设计
    B. 软件编码
    C. 软件测试
    D. 软件维护

  18. 假如在某个类中完成了多种功能,则此种设计违反了(A)原则。
    A. 强内聚
    B. 依赖倒转
    C. 弱耦合
    D. 信息隐藏

  19. 开发软件中高成本、低质量、低效率的现象称做(C)。
    A. 软件工程
    B. 软件周期
    C. 软件危机
    D. 软件产生

  20. Windows 程序是(B)驱动的。
    A. 过程
    B. 事件
    C. 并发
    D. 其它

# 二、填空题(每小题 1 分,共 10 分)

  1. 软件配置包括:程序、(文档)和数据。
  2. 瀑布模型是由(文档)驱动的。
  3. 程序设计不过是从问题空间向(解空间)的映射。
  4. 面向对象需求分析可以再细分为两个步骤:(需求陈述)和分析建模。
  5. 对象具有两个责任:“知道什么”和(“做什么”)。
  6. 子系统之间的关系有两种:“客户机/服务器”关系和(对等关系)。
  7. 主要存在三种软件的控制范式:过程驱动型、(对象型)和并发型。
  8. 动态模型的(事件跟踪)和功能模型的“数据处理”常常对应着类中的服务。
  9. 软件调试就是把症状和(原因)联系起来的智力过程。
  10. 为了估计软件项目的工作量和完成期限,首先要度量软件的(规模)。

# 三、判断对错题(每小题 1 分,共 10 分)

  1. 在程序真正运行之前,没有办法评估其质量。(❌)
  2. 瀑布开发模型是由文档驱动的。(✔️)
  3. 动态模型指明了面向对象系统应该“做什么”。(❌)

    功能模型指明了系统应该“做什么”,动态模型明确规定“什么时候做”。

  4. 在面向对象的问题域模型中,动态模型是最基本和最重要的。(❌)

    对象模型是最基本和最重要的。

  5. 面向对象开发方法就是把程序分解成一组互相协作的对象。(✔️)
  6. 一个软件的子系统可以通过它所提供的服务来标识。(✔️)
  7. 在客户机/服务器关系中,服务器需要知道客户机的接口。(❌)

    应该反过来。

  8. 详细设计主要是一个优化和加入实现对象的过程。(❌)

    详细设计:把解法具体化,详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。

  9. 软件测试的目标是为了使程序没有错误。(❌)

    测试的目的就是在软件投入生产性运行之前, 尽可能多地发现软件中的错误。

  10. 动态多变量模型是以软件规模和开发时间为自变量的函数。(✔️)

# 四、名词解释(每小题 4 分,共 20 分)

  1. 软件工程方法学
  2. 多态
  3. 面向对象分析
  4. 软件测试
  5. 软件的健壮性

# 五、简答题(每小题 5 分,共 20 分)

  1. 简述软件工程的目标。
  2. 简述三种面向对象模型的主要功能。
  3. 简述软件开发中文档的重要性。
  4. 简述软件设计的“信息隐藏原则”。

# 六、论述与应用题(每小题 10 分,共 20 分)

  1. 论述面向对象方法学的优点。

    论述面向对象方法学的优点。 | 论述题

  2. 有一个影片租赁店,想要开发一个计算机软件来管理它的日常业务。它每天的主要工作 是:接待顾客借出或还回影片。店里有两种影片:喜剧片和恐怖片。当一个顾客要租借影碟时, 店员将查找顾客名单,如果找到了,该顾客的姓名以及以往的租赁纪录将显示出来。然后店员 查找影碟存货纪录,如果店内还有此影碟,则将生成一个租赁纪录,其中包含影碟号、日期、 日租金等信息。然后店员将此租赁纪录记录到此顾客的名下。当顾客归还影碟时,店员找到顾 客纪录后,再输人影碟号,如果找到该影碟的一个租赁纪录,则根据借出及归还日期、日租金 等信息计算租金。
    请根据上述软件需求的自然语言描述,试建立它的对象模型。

影片租赁店