# 中国传媒大学 2005 年攻读硕士学位研究生入学考试 软件工程试题
答题说明:答案一律写在答题纸上,不需抄题,标明题号即可,答在试題上无效。
# 一、单项选择题(每小题 1 分,共 20 分)
软件是一种(C)。
A. 程序
B. 数据
C. 逻辑产品
D. 物理产品计算机软件是计算机系统中与硬件互相依存的另一部分,是程序、数据及相关文档的完整集合。软件是一种逻辑实体,而不是物理实体,具有抽象性。
在软件危机产生的原因中,(A)是我们无法控制的。
A. 用户对需求描述不精确
B. 软件本质的复杂性
C. 开发人员对用户需求的理解有误
D. 观念下面哪一种软件过程模型是文档驱动的(A)。
A. 瀑布模型
B. 快速原型法
C. 螺旋模型
D. 喷泉模型下面哪一种软件过程模型是风险驱动的(C)。
A. 瀑布模型
B. 快速原型
C. 螺旋模型
D. 喷泉模型在面向对象技术中,在类等级的不同层次中可以公用一个方法的名字,然而不同层次的类却按自己的需要来实现这个行为,这种现象叫做(C)。
A. 继承
B. 重载
C. 多态
D. 封装对象模型描述了面向对象系统的(A)结构。
A. 静态
B. 动态
C. 总体
D. 控制哪个模型明确规定了面向对象系统应在何时去做。(B)
A. 对象模型
B. 动态模型
C. 功能模型
D. 抽象模型在面向对象需求分析的活动中,建立对象模型最重要的工作是(A)。
A. 识别对象
B. 识别关联
C. 识别责任
D. 识别属性从面向对象的角度观察,房子与窗户的关系是(C)。
A. 链
B. 依赖
C. 聚合
D. 泛化(A)是软件最高层次的设计。
A. 体系结构设计
B. 子系统设计
C. 对象设计
D. 责任分解“飞船控制系统”是典型的(C)体系结构风格。
A. 黑板系统
B. 客户机/服务器
C. 实时与连续计算
D. 管道和过滤器“web应用”往往是典型的(B)体系结构风格。
A. 黑板系统
B. 客户机/服务器
C. 实时与连续计算
D. 管道和过滤器将软件组件的接口与实现分离,主要体现(D)原则。
A. 强内聚
B. 依赖倒转
C. 弱耦合
D. 信息隐藏现今有(B)种数据存储管理方式。
A. 2
B. 3
C. 4
D. 很多数据存储 (opens new window) DAS/NAS/SAN
Windows 程序的窗口函数是一个(B)。
A. 回调函数
B. API 函数
C. 主函数
D. 绘图函数在(A)完成后,可以着手制定测试计划。
A. 需求分析
B. 系统设计
C. 详细设计
D. 软件编码一个软件项目的规模(代码行数)被估算出乐观值、可能值、悲观值分别为 4000、7000、9000,则按“代码行估算”技术,此项目的规模估算为(D)。
A. 7000
B. 7333
C. 7250
D. 其它L = (a + 4*m + b) / 6
(4000 + 7000 * 4 + 9000)/4 ≈ 6833.33下面那种项目组的组织方式对成员的平均水平要求最高(A)。
A. 民主程序员组
B. 主程序员组
C. 现代程序员组
D. 其它正在开发一个没有人真正需要的软件产品,这是遭遇了(C)风险。
A. 项目
B. 技术
C. 商业
D. 其它商业中的市场风险
希望一个软件很容易读懂,这是要求它的(A)好。
A. 可理解性
B. 可用性
C. 灵活性
D. 可再用性
# 二、填空题(每小题 1 分,共 10 分)
- 人们曾采用的软件工程方法学有:结构化技术、(面向对象技术)、面向组件技术。
- 快速原型法最根本的任务就是为获取用户真实的(需求)。
- 面向对象软件是由一系列对象组成,对象之间通过(消息)互相协作。
- 面向对象需求分析可以再细分为两个步骤:(需求陈述)和分析建模。
- 面向对象需求分析的任务是:抽取和整理用户的需求,建立(问题域)的精确模型。
- 子系统之间的关系有两种:“客户机/服务器”关系和(对等关系)。
- 主要存在三种软件的控制范式:过程驱动型、(对象型)和并发型。
- 动态模型的(事件跟踪)和功能模型的“数据处理”常对应着类中的服务。
- 软件调试就是把症状和(原因)联系起来的智力过程。
- 为了估计软件项目的工作量和完成期限,首先要度量软件的(规模)。
# 三、判断对错题(每小题 1 分,共 10 分)
- 在程序真正运行之前,没有办法评估其质量。(❌)
- 瀑布开发模型是由文档驱动的。(✔️)
- 动态模型指明了面向对象系统应该“做什么”。(❌)
功能模型指明了系统应该“做什么”,动态模型明确规定“什么时候做”。
- 在面向对象的问题域模型中,动态模型是最基本和最重要的。(❌)
对象模型是最基本和最重要的。
- 面向对象开发方法就是把程序分解成一组互相协作的对象。(✔️)
- 一个软件的子系统可以通过它所提供的服务来标识。(✔️)
- 在客户机/服务器关系中,服务器需要知道客户机的接口。(❌)
应该反过来。
- 详细设计主要是一个优化和加入实现对象的过程。(❌)
详细设计:把解法具体化,详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。
- 软件测试的目标是为了使程序没有错误。(❌)
测试的目的就是在软件投入生产性运行之前, 尽可能多地发现软件中的错误。
- 动态多变量模型是以软件规模和开发时间为自变量的函数。(✔️)
# 四、名词解释(每小题 4 分,共 20 分)
# 五、简答题(每小题 5 分,共 20 分)
# 六、论述与应用题(每小题 10 分,共 20 分)
论述面向对象方法学的优点。
有一个影片租赁店,想要开发一个计算机软件来管理它的日常业务。它每天的主要工作 是:接待顾客借出或还回影片。店里有两种影片:喜剧片和恐怖片。当一个顾客要租借影碟时, 店员将查找顾客名单,如果找到了,该顾客的姓名以及以往的租赁纪录将显示出来。然后店员 查找影碟存货纪录,如果店内还有此影碟,则将生成一个租赁纪录,其中包含影碟号、日期、 日租金等信息。然后店员将此租赁纪录记录到此顾客的名下。当顾客归还影碟时,店员找到顾 客纪录后,再输人影碟号,如果找到该影碟的一个租赁纪录,则根据借出及归还日期、日租金 等信息计算租金。
请根据上述软件需求的自然语言描述,试建立它的对象模型。