admin 管理员组文章数量: 1087652
2024年1月13日发(作者:oracle11g数据还原)
中国地质大学(北京)继续教育学院 2014年03课程考试
《面向对象分析与设计》模拟题(补)
一.单项选择题
1.一个设计得好的面向对象系统具有( B )特征。
A.低内聚、低耦合 B.高内聚、低耦合 C.高内聚、高耦合 D.低内聚、高耦合
2.耦合表示一个模块( D )的程度。
A.可以被更加细化 B.能够适时地完成其功能
C.仅关注在一件事情上 D.联接其他模块和外部世界
3.在一个课程注册系统中,定义了类CourseSchedule和类Course,其中类CourseSchedule中定义了方法add(c: Course)和方法remove(c: Course),则这两个类之间的关系是( C )。
A.泛化关系
分割的整体来处理。
A.信息
A.类图
A.重用性更强
A.整体-部分
B.数据隐藏
B.对象图
B.运行速度更快
B.一般-特殊
C.对数据的操作
C.序列图
C.占用存储量小
C.实例链接
D.数据抽象
D.用例图
D.维护更复杂
D.消息连接
5.( D )是从用户使用系统的角度描述系统功能的图形表达方法。
6.采用面向对象技术开发的应用系统的特点是( A )。
7.多态性出现在具有( B )结构的类之间。
8.需求规格说明描述( A )。
A.基于计算机系统的功能、性能和约束 B.每个子系统的实现
C.软件体系结构元素 D.系统使用说明
9.Innovation公司正在为Rose开发插件,使得Rose可以把OOA、OOD模型以各种图形格式导出,如JPEG格式、BMP格式、GIF格式等。在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。为了描述这些算法,在下面这些图中,那个是最适合的?( A )
A.活动图 B.状态图 C.类图 D.用例图
10.关于面向对象方法的优点,下列不正确的叙述是( C )。
A.与人类习惯的思维方法比较一致 B.可重用性好
C.以数据操作为中心 D.可维护性好
11.构成对象的两个主要因素是( A )。
A.属性和服务 B.标识和内容 C.继承和多态 D.消息和封装
12.下面模型图中( D )能描述“一个雇员最多有一个经理,经理可能管理多个雇员,也可能不管理任何雇员”的含义。
A.
B.
B.组合关系 C.依赖关系 D.包含关系
4.面向对象程序设计将描述事物的数据与( C )封装在一起,作为一个相互依存、不可第1页(共6页)
中国地质大学(北京)继续教育学院 2014年03课程考试
C.
D.
13.对某企业的工作流程进行建模,( B )是最有效的。
A.交互图 B.活动图 C.状态图 D.类图
14.以下对UML的描述中,正确的是( D )。
A. UML是一种软件过程方法 B. UML是一种面向对象分析和设计方法
C. UML是一种面向对象设计原则 D. UML是一种标准化建模语言
15.不属于敏捷过程特征的是( C )。
A.迭代性 B.自适应 C.过程化开发 D.轻量级
16.以下叙述中,错误的是( B )。
A.类的命名通常为名词或名词短语 B.用例的命名通常为名词或名词短语
C.方法命名通常为动词或动词加名词形式 D.实体对象往往是领域问题中的重要名词
17.以下不属于统一过程(RUP)的特点是( D )。
A.以架构为中心的 B.以用例为驱动
C.属于迭代和增量开发模型 D.一种结构化开发方法
18.( C )对系统的业务数据和业务逻辑进行封装。
A.控制对象 B.边界对象 C.实体对象 D.生命周期对象
19.下面的顺序图表明,greet方法应该由( B )实现。
clienthello : Greetinggreet(String)A. client
A.类
B. Greeting
B.接口
C. hello
C.消息
D. 不确定
D.关系
20.类图中不包括( C )。
21.顺序图主要可以为设计人员提供( A )信息。
A.消息发送的顺序 B.某个方法的执行流程
C.类之间关联关系的多重性 D.某个对象在不同状态之间的转移
二.简答题
1.根据下面的代码,绘制包含类A和类B的类图。
public class B {
private int pa;
protect int pb;
public void doSomething(){ ... }
};
第2页(共6页)
中国地质大学(北京)继续教育学院 2014年03课程考试
public class A {
private B theB;
public double pc;
public void doSomething(){ hing(); }
}
答:
2.根据下面的Java代码,绘制包含Applet、Graphics、HelloWorld及其关系的类图。
import ;
import cs;
public class HelloWorld extends Applet {
public void paint(Graphics g) {
ring("Hello World!", 50, 25);
}
}
答:
3.简述内聚和耦合的概念。
答:
①内聚性描述同一个组内的各个成员之间的相互关系。强内聚表明组内成员属于一个整体;弱内聚表明分组是随意的,甚至是不合逻辑的。内聚性可适用于类中的一组方法、包中的一组类、一组包上。
②耦合性描述不同组之间的依赖程度。紧耦合表明组之间依赖很强,对一个组的修改会产生复杂的连锁反应并波动到其它包中;松耦合的组之间相对独立,易于理解、维护和扩展。
4.以下类图中的类关系是否正确?若不正确,说明理由并改正。
公司的员工很多,包括程序员、分析员、项目经理……
第3页(共6页)
中国地质大学(北京)继续教育学院 2014年03课程考试
答:不正确,员工和程序员、分析员、项目经理之间不应该是组合关系,应该是泛化关系。
程序员分析员项目经理员工
5.请指出下图中的错误。
答:
1) 计算机与其部件之间不是继承关系,应是聚合关系
2) 人与用户、维修人员之间不是聚合关系,应是继承关系
3) 计算机与维修人员之间不是聚合关系,而应该是关联或依赖
6.简述类图和交互图在面向对象分析模型中的作用。
答:
1) 类图:描述了构成一类对象特征的状态和行为,以及类之间的结构关系,描述系统的静态结构;
2) 交互图:描述对象之间的交互行为,演示用例实现,描述系统的动态行为。
7.设计一个饮料自动售货机系统,其主要功能是向顾客出售饮料,同时供应商需要向其中放置饮料,收银员需要向其中放置零钱和收回营业收入。画出该系统的用例图。
答:
第4页(共6页)
中国地质大学(北京)继续教育学院 2014年03课程考试
System购买饮料顾客放置零钱收回营业收入供应商放置饮料收银员
8.简述包和子系统的主要区别。
答:
1) 包和子系统是划分系统和表达架构的建模元素;
2) 子系统是封装了实现细节的包,提供行为和接口,封装实现细节;
3) 包只是对类似建模元素分组管理的机制。
三.应用题
考虑一个应用于手机的“电话簿管理系统”,电话簿包含若干电话记录,每个电话记录包括:姓名、手机电话、家庭电话、邮箱4项内容。对电话簿系统要求的操作包括:查看电话簿、查找电话、添加电话记录、删除电话记录、拨打电话,拨打电话功能需要使用电信网关的服务。要求系统通过图形用户界面操作电话簿,添加电话记录时,创建电话记录对象,通过图形界面输入属性后保存到对象中。
请回答下面问题:
1)绘制系统的用例图。
2)如果要求在电话簿中不允许有姓名相同的电话记录,请写出“添加电话记录”功能的事件流描述(包括可选事件流)。
3)经过初步分析,找到如下类,请用类图描述类之间的关系。
电话簿(Phones)、电话记录(Phone)、界面(UserUI)
4)为2)中的正常事件流绘制顺序图。
答:(本题仅为参考答案,学生可自由发挥,灵活设计)
1) 系统用例图
第5页(共6页)
中国地质大学(北京)继续教育学院 2014年03课程考试
System查看电话簿添加电话号码User删除电话号码查找电话号码拨打电话电信网关
2) 正常事件流
a.用户查看电话簿,选择添加电话号码功能项,启动该用例;
b.用户输入姓名、手机电话、家庭电话和邮箱
c.系统保存电话簿数据,更新视图
2.1 用户输入姓名已存在,系统提示是否重新输入姓名
2.2 用户选择重新输入姓名,用例从第2步正常执行
2.3 用户选择放弃,用例结束
UserUI+ViewPhone()+FindPhone()+AddPhone()+RemovePhone()+Dial()+UpdatePhoneList()可选事件流 第2步(用户输入姓名重复)
3) 类图
4) 顺序图
: UserUI : UserAddPhone()FindPhone()NO_EXISTING<
: PhoneSetInfo()AddPhone()
第6页(共6页)
UpdatePhoneList()
版权声明:本文标题:面向对象分析与设计模拟题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1705099639a473189.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论