最新面向对象的分析与设计期末考试试卷(F卷)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象的分析与设计期末考试试卷(F卷)一、选择题(30分)
说明:每题2分,只有1个正确答案,请将正确答案填写在下面表格中。
1. 一个设计得好的面向对象系统具有()特征。
A 低内聚、低耦合
B 高内聚、低耦合
C 高内聚、高耦合
D 低内聚、高耦合2.构成对象的两个主要因素是()。
A 属性和服务
B 标识和内容
C 继承和多态
D 消息和封装
3. 下面描述中()不是使用软件模型的目的。
A 可以更好地理解问题
B 可以更早地发现错误或疏漏的地方
C 可以为最后代码的生成提供依据
D 在开发过程中使用面向对象方法
4. 下列事物中一般不是目标系统的外部参与者的是()。
A 人
B 外部设备
C 外部系统
D 数据存储
5. 下面()可以描述一个用例中多个对象之间的相互协作关系以及协作过程的行为次序。
A 交互图
B 状态图
C 对象图
D 用例图
6. 统一过程(或称RUP)所提出的迭代开发过程是()。
A 一种结构化开发方法,该方法给出了功能分解有具体步骤
B 一种管理软件开发的过程复杂性和对变更进行规划的技术
C 一种自顶向下的开发过程,且开发过程没有使用数据流图
D 是RUP中最重要的特点
7. 下列描述中正确的是()。
A 消息可以由被动对象发送到主动对象
B 状态图中,动作可以被中断而活动不能被中断
C 构件图中,一个构件和一个接口之间只能存在实现关系
D 状态图不适合于描述跨多个用例的单个对象的行为,而适合描述多个对象之间的行为协作
8. 根据下面的代码,可以确定类A与类B之间存在()关系。
public class A {
private B theB;
public void aMethod(){ theB.doSomthing(); }
}
A 关联
B 泛化
C 实现
D 包含
9. 面向对象的特点主要概括为()。
A 可分解性、可组合性、可分类性
B 继承性、封装性、多态性
C 抽象性、继承性、封装性、多态性
D 封装性、易维护性、可扩展性、可重用性
10.关于面向对象分析与设计的叙述中正确的是()。
A 因为我们要重用类,所以在分析设计过程中不能过早确定领域类
B 面向对象方法是针对功能的而不是针对组成部分的
C 用例分析是面向对象分析与设计的起点
D 通过用例分析和时序分析可以获得全部的问题领域类
11.在类设计过程中引入类不变式的目的是达到系统设计的()。
A 正确性
B 健壮性
C 灵活性
D 高效性
12.在数据库设计的()阶段开始考虑具体的数据库管理系统(DBMS)的特性
A 需求分析
B 概念设计
C 逻辑设计
D 物理设计
13.关于在建立软件系统模型过程中业务模型的作用描述中错误的是()。
A 帮助确定什么样的软件系统对机构中的业务过程是最合适的。
B 帮助定义功能性和非功能性的需求。
C 作为分析和设计目标软件系统的基础。
D 建立与软件模型之间的一一对应关系,实现模型转换。
14.下列关于面向对象方法中描述中错误的是()。
A 使用设计模式有助于在软件开发中应用面向对象技术
B 选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度
C UML作为一种可视化建模语言需要与RUP开发过程同时使用
D 目前在软件生命周期的分析、设计、实现和测试中均可以应用面向对象方法
15.下面()不是UML的基本构成元素。
A 控制语言
B 基本构造块
C 规则
D 公共机制
二、判断题(10分)
判断下列类之间的关系,把相应编号填写在下面表格中(A聚合B 继承C 关联D 都不是)
1.大学–学院 2.学生–课程 3.学生–大一新生 4.汽车–车门
5.货车–交通工具 6.公共汽车–车站 7.工具条–按钮 8.汽车发动机–汽车车体9.员工–公司 10.本科生–研究生
三、简答题(42分,每小题6分)
1. 画出能正确表示下面叙述的类图(括号内为类名)。
“一个雇员(Employee)最多由一个经理(Manager)管理,某些经理管理多个雇员,某些经理不管理任何雇员”。
2. 汽车可能处于“静止”和“行驶”状态,其中“行驶”状态可以在“前进”和“后退”状态之间转移,“行驶”状态又包括“高速”和“低速”状态之间的变化。画出汽车的状态图。
3. 简要叙述“聚集”关系和“组合”关系的相同点和不同点。
4. 设计一个饮料自动售货机系统,其主要功能是向顾客出售饮料,同时供应商需要向其中放置饮料,收银员需要向其中放置零钱和收回营业收入。画出该系统的用例图。
5. 请根据如下Java代码画出相应的顺序图。
class C1{
C2 c2 = new C2();
public void f1(){ c2.f2(); }
}
Class C2{
public void f2(){ f2(); }
}
6. 找出并说明下面类图中的错误。
7. 下面类图中,接口Service中定义了三个方法。其中ClientA只使用methodA方法,ClientB只使用methodB方法,ClientC只使用methodC方法。根据接口分离原则重新设计该类图。