可视化建模与UML习题集及答案 下载本文

A 实现 B 关联 C 依赖 D 泛化 E 聚合

16、已知类A需要类B提供的服务,下列所描述的四种情况中,哪种情况不好把类A和类

B之间的关系定义成依赖关系 ( D )

A、类A中存在两个操作都需要访问类B的同一个对象

B、类A的某个操作内部创建了类B的对象,而其他操作均与类B无关 C、类A的某个操作其参数是类B的对象,而其他操作均与类B无关 D、类B是一个全局变量 17、“一个研究生在软件学院做助教(teaching assistant),同时还在校园餐厅打工做收银员(cashier)。也就是说,这个研究生有3种角色:学生、助教、收银员,但在同一时刻只能有一种角色。”

根据上面的陈述,下面哪个设计是最合理的?(B)

PersonPerson<<接口>>PersonRole0..1StudentTeachingAssistantCashierStudentTeachingAssistantCashier

A B

Student<<接口>>Cashier<<接口>>TeachingAssistant<<接口>>StudentTeachingAssistantCashierPersonPerson

C D

18、类X与类Y有许多的属性,但是它的行为与类Y稍微有所不同;这时可以认为类X是

类Y的一种特例;则类X和类Y之间是( A )关系。

A 、泛化关系 B、 关联关系 C、 依赖关系 D、 实现关系 19、关于类和对象的关系,下列说法中哪个是错误的 ( B )

A、每个对象都是某个类的实例

B、每个类某一时刻必定存在对象实体 C、类是静态的描述 D、对象是动态的实例

二、填空题

4

1.下图中类的名字是:__login__类中的成员属性是:sname_、spass__ 类中的行为(方法)是:____checkuser()____。

2、在UML中分组元素是 包 。

3、在UML模型图中,最适合用来设计数据库大纲的图形是 类图 。 4、在对系统建模时、接口可分为 提供接口 、 所需接口 。

5、下图所表示的含义是WashingMachine 实现 了接口ControlKnob,Person 使用 了接口ControlKnob

三、简答题

1、在UML建模中使用“包”是为了达到怎样的效果?

在UML中,包是分组事物的一种,它是建模时用来组织模型中的元素的,在系统运行时并不存在包的实例。包在开发大型软件系统时是一个非常重要的机制,它就象一个“容器”,可用于组织模型中的相关元素以便更容易理解。

2、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。

现在提出一个新的需求:\一个教师也可以是某些课程的学生\,那么下面设计A~C中哪一个是最好的?为什么? 设计A:

设计B:

5

. 设计C:

答案: 设计C最好。 理由:

设计A方案:应用了自身关联,可以实现新的需求,但是不便于扩展。 设计B方案:不能实现新的需求。

设计C方案:应用开闭原则,实现了新的需求,并且便于扩展。

3、 请为下面这段编译正确的代码,补充类图。 pulic class Student{ private String name;

public void setName(String name){ this.name=name; }

public String getName(){ return this.name; } }

4、 请参考下图,回答问题:

6

图A.2

1) 图中的实体类为____书籍、书目____ 2) 图中的控制类为_____书籍管理_____ 3) 图中的边界类为_____借书界面_____

4) “借书界面”类中的成员属性有___susername、spass___

四、根据下面的陈述画出类图

1)学生包括本科生、研究生两种。

2)研究生的一部分利用课余时间担任助教。 3)教师包括讲师和教授两种。

4)一名助教可以为一位讲师或一位教授助课,一位讲师只能有一名助教,一位教授可以有5名助教。

7