# 北京广播学院 2004 年攻读硕士学位研究生入学考试 软件工程试题

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

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

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

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

  3. 瀑布模型本质上是一种(A)。
    A. 线性顺序模型
    B. 顺序迭代模型
    C. 线性迭代模型
    D. 及早见产品模型

  4. 可行性研究要进行一次(D)需求分析。
    A. 深入的
    B. 详尽的
    C. 彻底的
    D. 简化的

  5. 对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。
    A. 结合
    B. 隐藏
    C. 封装
    D. 抽象

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

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

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

  9. 从面向对象的角度观察,电脑与显示器的关系是(C)。
    A. 链
    B. 依赖
    C. 聚合
    D. 泛化

  10. 面向对象设计是(D)的过程。
    A. 软件实现
    B. 需求确立
    C. 建立问题域模型
    D. 建立求解域模型

  11. “编译器系统”是典型的(D)体系结构风格。
    A. 黑板系统
    B. 客户机/服务器
    C. MVC
    D. 管道和过滤器

  12. “语音识别软件系统”是典型的(A)体系结构风格。
    A. 黑板系统
    B. 客户机/服务器
    C. 实时与连续计算
    D. 管道和过滤器

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

  14. 一个人拥有若干个朋友,在面向对象设计中用(C)来实现这种关系。
    A. 继承
    B. 指针
    C. 指针集合
    D. 其它

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

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

  17. 最适合面向对象项目工作量估算的方法是(B)。
    A. 代码行技术
    B. 功能点技术
    C. 类数目估算法
    D. 其它

    似乎没有 类数目估算法 这种方法

  18. 在中国的现实中,软件项目组最常见的组织方式是(B)。
    A. 民主程序员组
    B. 主程序员组
    C. 现代程序员组
    D. 朴素的主程序员组

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

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

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

  1. 软件配置包括:程序、(文档)和数据。
  2. 瀑布模型是由(文档)驱动的。
  3. 程序设计不过是从问题空间向()空间的映射。
  4. 面向对象需求分析可以再细分为两个步骤:(需求陈述)和分析建模。
  5. 对象具有两个责任:“知道什么”和(“做什么”)。
  6. 可以按两种方式对软件系统进行子系统分解:横向分层或(纵向分层)。
  7. 交互式系统往往采用(分层)体系结构风格。
  8. 在面向对象系统中,对象间的关联有两种:单向关联和(双向关联)。
  9. Windows 程序的接收的消息是由(窗口过程)函数处理的。
  10. 软件的“单元测试”后,接下来进行“集成测试”,最后进行(验收测试)。

    确认测试也称为验收测试。

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

  1. ✔️ 软件中错误的发现和改正越晚,所需付出的代价就越大。
  2. ✔️ 瀑布模型的优点之一是可强迫开发人员采用规范的方法。
  3. ❌ 功能模型定义了面向对象系统做事情的主体。

    功能模型指明了系统应该“做什么”。

  4. ✔️ 面向对象方法认为,计算机的观点是不重要的,现实世界的模型才是最重要的。
  5. ❌ 应尽量降低继承耦合。

    降低交互耦合。
    继承耦合是指类及其对象之间的联系是通过继承关系实现的。继承作为抽象类和具体类之间耦合的一种形式,在面向对象设计中是十分需要的,因此这种耦合应尽量提高。

  6. ❌ 面向对象数据库是现今最流行的数据库。

    当前最受欢迎的是关系数据库。譬如 MySQL 。

  7. ❌ 成功的测试是没有发现错误的测试。

    成功的测试是发现了至今为止尚未发现的错误的测试。

  8. ✔️ 集成测试的主要目标是发现与接口有关的问题。
  9. ✔️ 我们不能完全信任软件工作量估算的经验模型。
  10. ❌ 软件与需求规格说明书要求的一致程度,是软件质量的唯一标准。

    度量软件质量的因素主要有正确性、健壮性、效率、完整性(安全性)、可用性、风险、可理解性、可修改性、可测试性、灵活性(适应性)、可测试性、可移植性、可再用性和互运行性。

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

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

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

  1. 简述消除软件危机的途径?
  2. 简述软件生命周期各阶段的基本任务。
  3. 简述对象之间的关系。
  4. 简述软件设计的“强内聚原则”。

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

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

  2. 用 UML 语言画出“模型/视图/控制器”(MVC)体系结构的对象模型。

MVC | 百度百科 (opens new window)

MVC 的 UML 图