专题三:类图(对象图)
一、单项选择题
1.在UML中,类之间的关系有一种为关联关系,其中多重性用来描述类之间的对应关系,下面哪个不是其中之一(  )
A. 0….1
B. 0….*
C. 1….*
D. *….*
2.通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员访问限定性(  )
A.公有的(public)
B.受保护的(protected)
C.友员(friendly)
D.私有的(private)
3、在一个课程注册系统中,定义了类CourseSchedule和类Course,并在类CourseSchedule中定义了方法addc:Course)和方法removec:Course),则类CourseSchedule和类Course之间的关系是:(  )
A泛化关系          B组成关系          C依赖关系            D包含关系
4、A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是( )关系。(   )
A、 实现    B关联    C 依赖    D 泛化
5、在UML中下列图形代表什么关系?(   )
      A、组成关系        B、 依赖关系      C、聚集关系          D、泛化关系
6、在UML中下列图形代表什么关系?(  )
A、组成关系        B、 依赖关系      C、聚集关系          D、泛化关系
7、汽车(Car)由轮子、发动机、油箱、座椅、方向盘等组成。那么car类和其他类(Wheel、Engin、Tank、Chair、SteeringWheel)之间的关系是:(    )
A、泛化关系(Generalization)            B、实现关系(Realization)
C、包含关系(Inclusion)                D、组合关系(Composition)
8.在下面的图例中,哪个用来描述注释(  )
      A                    B                  C                D
9、在一个网络游戏系统中,定义了类Cowboy和类Castle,并在类Cowboy中定义了方法open(c:Castle)和方法Close(c:Castle),则类Cowboy和类Castle之间的关系是:……(   )
A、依赖(dependency)关系                B、组成(composition)关系
C、泛化(generalization)关系            D、包含(include)关系
10、根据下面的代码,判断下面那些叙述是正确的?(      )
public class HouseKeeper{
private TimeCard timecard;
public void clockIn(){
timecard.punch();
}
}
A、类HouseKeeper和类TimeCard之间存在关联(Association)关系;
B、类HouseKeeper和类TimeCard之间存在泛化(Generalization)关系;
C、类HouseKeeper和类TimeCard之间存在实现(Realization)关系;
D、类HouseKeeper和类TimeCard之间存在包含(Inclusion)关系
11、已知类A需要类B提供的服务,下列所描述的四种情况中,哪种情况不好把类A和类B之间的关系定义成依赖关系    
A、类A中存在两个操作都需要访问类B的同一个对象
B、类A的某个操作内部创建了类B的对象,而其他操作均与类B无关
C、类A的某个操作其参数是类B的对象,而其他操作均与类B无关
D、类B是一个全局变量
12、“一个研究生在软件学院做助教(teaching assistant),同时还在校园餐厅打工做收银员(cashier)。也就是说,这个研究生有3种角:学生、助教、收银员,但在同一时刻只能有一种角。”
根据上面的陈述,下面哪个设计是最合理的?(  )
 
   
            A                                   B
     
            C                                  D
14、类X与类Y有许多的属性,但是它的行为与类Y稍微有所不同;这时可以认为类X是类Y的一种特例;则类X和类Y之间是(    )关系。
A 、泛化关系      B 关联关系      C 依赖关系      D 实现关系
二、简答题
1、在UML建模中使用“包”是为了达到怎样的效果?
2、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。
现在提出一个新的需求:"一个教师也可以是某些课程的学生",那么下面设计AC中哪一个是最好的?为什么?
  设计A
  设计B
.  设计C
uml图例案:设计__  _最好。 理由:
3、 请为下面这段编译正确的代码,补充类图。
pulic class Student{
    private String name;
    public void setName(String name){
    this.name=name;
}
public String getName(){
    return this.name;
}
}
4、根据下面的陈述画出类图
1)学生包括本科生、研究生两种。
2)研究生的一部分利用课余时间担任助教。
3)教师包括讲师和教授两种。
4)一名助教可以为一位讲师或一位教授助课,一位讲师只能有一名助教,一位教授可以有5名助教。
5按如下描述画出一个自治机器人的类图。这张图的焦点是聚集在那些让机器人在路上行走的机制所对应的类上。你可以发现一个虚类Motor和两个从它派生出来的类:SteeringMotor和MainMotor。这两个类都从它的父亲Motor继承了五个方法:move()、stop()、resetCounter()、statues()、distance()。这两个类又是另一个类Driver的一部分。类PathAgent和Driver有一个1对1的关系,和CollisionSensor有1对n的关系   
【问题:】综上所述请你用UML来绘制分析类图

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。