软考-软件设计师:面向对象技术-UML:类图、对象图

类图

一组对象(此处指的是类)、接口、协作和它们之间的关系

建模

对以下进行建模:

  • 对系统词汇建模:如:名词

  • 对简单协作建模:一些共同工作的类、接口和其他元素的群体,该群体提供的一些合作行为

  • 对逻辑数据库模式建模:用类图对关系型数据库的模式建模

答题技巧

类名 通常是题干中的 名词,如:用户、商品、部门

组成

  • 类
  • 接口
  • 协作
  • 依赖、泛化和关联关系

例子

关系

详见 链接

泛化关系(继承)
实现关系
依赖关系
关联关系
聚合关系
组合关系

多重度

在关联关系、聚合关系、组合关系中,还要标出多重度,即:是 0 个,还是 1 个,还是 n 个:

1 :表示一个集合中的一个对象对应另一个集合中1个对象。

0..* 或 * :表示一个集合中的一个对象对应另一个集合中的0个或多个对象。(可以不对应)

1..*:表示一个集合中的一个对象对应另一个集合中的1个或多个对象。(至少对应一个)

0..1:表示一个集合中的一个对象对应另一个集合中的0个或1个对象。(可以不对应)

对象图

某一时刻 一组对象以及它们之间的关系,描述了在类图中所建立的事物的 实例的静态快照

是从真实案例或原型案例的角度建立的。

识别对象图技巧:标准名字 类名:对象名,中间有 :,可能会省略 类名 或 对象名

题

如下所示的UML类图中,Shop和Magazine之间为()关系,Magazine和Page之间为()关系。
UML类图通常不用于对()进行建模。

A、关联
B、依赖
C、组合
D、继承

A、关联
B、依赖
C、组合
D、继承

A、系统的词汇
B、简单的协作
C、逻辑数据库模式
D、对象快照

答案

注意:题目中的关系可能会标错

  1. A,有时 关联关系 没有箭头
  2. C,题目中标出的是聚合,根据选项可知:只能是 组合关系
  3. D,题干说的是 UML类图

题

UML图中,对象图展现了(),()所示对象图与下图所
示类图不一致。

A、一组对象、接口、协作和它们之间的关系
B、一组用例、参与者以及它们之间的关系
C、某一时刻一组对象以及它们之间的关系
D、以时间顺序组织的对象之间的交互活动

第一问分析

A:是类图,注意:此处的对象是指 类
B:用例图
D:序列图

第一问答案

C

第二问答案

从题面可知,A是 1个,B可以是 0 个、1 个,多

A:正确
B:正确
C:正确
D:错误,不能表示 2 个 A对应 1 个 B

题

采用面向对象方法进行软件开发时,将汽车作为一个系统。
以下()之间不属于组合(Composition) 关系。
A、汽车和座位
B、汽车和车窗
C、汽车和发动机
D、汽车和音乐系统

答案

D,按照找不同也能分析出 A、B、C是一样的,只能选 D


原文出处:/show_1GW100ZvDIyq.html