一. 单选题(共6题,60分)

1.(单选题) 类图中两个类之间的关系不包括下列哪一项
A、关联
B、实现
C、泛化
D、继承
答:D

2.(单选题) 在结构化系统设计中,模块之间要做到()
A、高耦合,低内聚
B、高耦合,高内聚
C、低耦合,低内聚
D、低耦合,高内聚
答:D

3.(单选题) 类图中的泛化关系可以用下面那个短语进行描述
A、is a kind of
B、has a
C、is a part of
D、use a
答:A

4.(单选题) 用例图中,用来表示系统边界的符号是
A、矩形
B、圆角矩形
C、空心椭圆
D、两条线段
答:A

5.(单选题) 在UML中,关联关系是类之间的关系之一,其中多重性用来描述类之间的对应关系,下列不是其中之一的是
A、0..1
B、0..n
C、1..*
D、..
答:D

6.(单选题) 汽车(car)由轮子、发动机、油箱、座椅、方向盘等组成。那么Car类和其他类(Wheel、Engin、Tank、SteeringWheel)之间的关系是
A、实现关系
B、泛化关系
C、依赖关系
D、关联关系
答:D

二. 多选题(共2题,20分)

7.(多选题) 下列选项中,哪些是用例描述应该包含的内容
A、概述
B、基本事件流
C、扩展事件流
D、后置条件
答:ABCD
8.(多选题) 下列在用例图中会出现的关系有
A、关联关系
B、泛化关系
C、包含关系
D、扩展关系
答:ABCD

三. 简答题(共2题,20分)

9.(简答题) 聚合和组合有何区别?请举例说明
答:组合是一种受限制的聚合关系,代表了part-of关系;其中的两个实体(或者类)是高度依赖于彼此的。就好比如:人类和心脏,人类需要心脏来生存,心脏也需要人体才能生存。身体与细胞是一个组合关系。但我们创建一个身体,细胞随之被创建;反过来,当我们销毁一个身体,细胞随之被销毁。换句话说,当类(实体)彼此依赖并且它们的寿命同时(如果一个人死了,那么另一个也死了),那么它就是一个组合。例如:如果没人类,人类的心脏就没有意义了。
  聚合:has-a关系,父类包含子类,子类可以独立于父类存在,是一种特殊的关联关系,是类(或实体)之间的一种单向关系。例如:钱包和钱,钱包会有钱,钱里面不会包含钱包;这是一种天生的单向关系。班级和学生是一种聚合关系。一个班级,可以有学生,也可以没有学生;反过来,当我们把班级解散,学生仍然存在。再聚合关系中,两种类(或实体)是可以单独存在的,不会相互影响;也就是说:一个类(或实体)的是否存在不会影响与之聚合的其他类的存在与否。
聚合与组合的区别:
1.依赖性区别
 聚合中的两个类(或实体)是可以单独存在的,不会相互影响;被关联的一方可以独立于关联的一方,依赖性不强。相反,组合中的两个类(或实体)是高度依赖于彼此的,他们之间会相互影响。
2.关系类型的区别
 聚合代表了has-a的关系,一种单向关系;组合代表了part-of关系。
3.关联强度的不同
 聚合是一种弱关联关系;组合是一种强关联关系。
4.生命周期的不同
 在聚合关系中的两个类(或实体)的生命周期是不同步;但是,在组合关系中的两个类(或实体)的生命周期是同步的。

10.(简答题) 比较组件图和部署图,说出他们各自的特点
2.1.png