软件设计师_面向对象技术——UML(下午第三题)

关系

UML 中有4种关系:依赖、关联、泛化和实现。

依赖(Dependency)

依赖是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义。在图形上,把一个依赖画成一条可能有方向的虚线,如图 7-6 所示。

image-20221020132714334

关联(Association)

关联是一种结构关系,它描述了一组链,链是对象之间的连接。聚集(Aggregation)是一种特殊类型的关联,它描述了整体和部分间的结构关系。关联和聚集的图形化表示如图 7-7 和图 7-8 所示。在关联上可以标注重复度(Multiplicity)和角色(Role)。

image-20221020132757869

泛化(Generalization)

泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素共享了父元素的结构和行为。在图形上,把一个泛化关系画成一条带有空心箭头的实线,它指向父元素,如图 7-9 所示。

image-20221020132828850

实现(Realization)

实现是类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。在两种情况下会使用实现关系:一种是在接口和实现它们的类或构件之间;另一种是在用例和实现它们的协作之间。在图形上,把一个实现关系画成一条带有空心箭头的虚线,如图 7-10 所示。

image-20221020132907665

这四种关系是UML模型中可以包含的基本关系事物。它们也有变体,例如,依赖的变体有精化、跟踪、包含和延伸。

UML中的图

**图(Diagram)**是一组元素的图形表示,大多数情况下把图画成顶点(代表事物)和弧(代表关系)的连通图。为了对系统进行可视化,可以从不同的角度画图,这样图是对系统的投影。UML 2.0 提供了 13 种图,分别是类图、对象图、用例图、序列图、通信图、状态图、活动图、构件图、组合结构图、部署图、包图、交互概览图和计时图。序列图、通信图、交互概览图和计时图均被称为交互图。

类图(Class Diagram)

类图(Class Diagram)展现了一组对象、接口、协作和它们之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出系统的静态设计视图。包含主动类的类图给出了系统的静态进程视图。
类图中通常包括下述内容(如图 7-11 所示)。
(1)类。
(2)接口。
(3)协作。
(4)依赖、泛化和关联关系。

image-20221020133404459

用例图(Use Case Diagram)

用例图(Use Case Diagram)展现了一组用例、参与者(Actor)以及它们之间的关系。用例图通常包括以下内容(如图 7-13 所示)。
(1)用例。
(2)参与者。
(3)用例之间的扩展关系(<>)和包含关系(<>),参与者和用例之间的关联关系,用例与用例以及参与者与参与者之间的泛化关系。

image-20221020133637419

包含关系

image-20221020134512261

扩展关系

image-20221020134723956

泛化关系

image-20221020135116146

21年下半年

image-20221020141226228

image-20221020141541961

image-20221020143415334

解析:U1:编写迷宫文件 U2:导入迷宫文件 U3:设置计时器

image-20221020141554000

image-20221020150653135

解析:用户与用户之间有三种关系:包含扩展泛化

每个机器人都设置有一个计时器,用于支持执行预先定义好的定时事件,也就是说用户要使用机器人,就要设置定时器,所以U3应该是“操作机器人”的子类应该是操作机器人“包含”设置定时器。包含关系是包含用例指向被包含用例。

建立迷宫,用户可以使用编辑器编写迷宫文件,将迷宫文件导入游戏系统建立用户自定义的迷宫。建立迷宫这个事件可以通过“编写迷宫文件”和“导入迷宫文件”来完成所以是泛化关系,“编写迷宫文件”与”导入迷宫文件“是子类,建立迷宫是父类。泛化关系子类指向父类。

答案:U1、U2和建立迷宫是泛化关系,建立迷宫用例泛化U1、U2用例
U3和操作机器人是包含关系,操作机器人用例包含U3用例。

image-20221020141602504

image-20221020161842839

答案:C1:机器人(Robos) C2:计时器(Timer) C3:小精灵(PacMan) C4:幽灵(Ghost) C3和C4可以互换
C5:传感器(Sensor) C6:前向传感器(FrontSensor) C7:近距离传感器(ProxiSensor) C6和C7可以互换
C8:迷宫(Maze)

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要什么自行车儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值