软考71-上午题-【面向对象技术2-UML】-UML中的图2

一、用例图

上午题,考的少;下午题,考的多。

1-1、用例图的定义

用例图展现了一组用例、参与者以及它们之间的关系。

用例图用于对系统的静态用例图进行建模。

可以用下列两种方式来使用用例图:

1、对系统的语境建模;

2、对系统的需求建模。

1-2、用例图包含以下内容:

1、用例

2、参与者

3、关系:

①用例之间的关系:扩展关系(《extend》)、包含关系(《include》)、泛化关系;

②参与者之间的关系:泛化关系;

③参与者和用例之间的关系:关联关系。

示例:

包含关系:

用例和用例之间的关系。

示例1:

用例可以理解为参与者(用户)的行为。

参与者与用例之间,关联关系:一条直线。

示例2:

扩展关系

用例和用例之间的关系。

一个用例执行时,可能会发生一些特殊的情况,或者可选的情况,这种情况就是用例的扩展用例。

示例1:特殊情况

示例2:可选情况

泛化关系

参与者-参与者;

用例-用例;

示例:

1-3、真题

真题1:

真题2:

二、 交互图

交互图用于对系统的动态方面进行建模。一张交互图表现的是一个交互。

类图、对象图、用例图:静态图

一张交互图由:一组对象、他们之间的关系、他们之间可能传递的消息。

交互图一般包括:对象、链、消息。

交互图的分类:

  • 序列图:强调消息时间顺序的交互图;
  • 通信图:强调接收、发送消息的对象的结构组织的交互图。

2-1、序列图(顺序图)

2-1-1、序列图的定义

序列图描述了以时间顺序组织的对象之间的交互活动。

示例:

首先把参加交互的对象放在图的上方,沿水平方向排列。

通常把发起交互的对象放在左边,下级对象依次放在右边。然后,把这些对象发送和接收的消息沿垂直方向按时间顺序从上到下放置。这样,就提供了控制流随时间推移的清晰的可视化轨迹。

2-1-2、序列图有两个不同于通信图的特点

1、序列图有对象生命线;

对象生命线是一条垂直的虚线,表示一个对象在一段时间内存在。

对象,生命线的开始、结束:

1、对象可以在交互过程中创建,他们的生命线从接收到构造型为create的消息时开始;

2、对象可以在交互过程中撤销,他们的生命线从接收到构造型为destory的消息时结束;(并给出一个×的标记)

2、序列图有控制焦点;

控制焦点是一个瘦高的矩形,表示一个对象执行一个动作所经历的时间段。

矩形的顶部,表示动作的开始,底部表示动作的结束。

2-1-3、序列图的消息:

2-1-4、序列图实例:

2-1-5、真题

真题1:

Account实现的方法,看指向Account类的箭头。

evaluation虽然也指向Account类,但是它不是一个方法,因为不是:evaluation()

真题2:

真题3:

2-2、通信图(协作图)

2-2-1、通信图的定义

通信图强调收发消息的对象的结构组织。

  • 首先,将参加交互的对象作为图的顶点;(矩形)
  • 然后把连着这些对象的链作为图的弧;(直线)
  • 最后用对象发送和接收的消息来修饰这些链。

2-2-2、通信图有两个不同于序列图的特性

1、通信图有路径。

为了指出一个对象如何与另一个对象链接,可以在链的末端附上路径构造型(如构造型《local》,表示指定对象对发送者而言是局部的)。

通常只需要显式地表示以下几种链的路径:local(局部)、parameter(参数)、global(全局)以及self(自身),但不必表示 association(关联)。

2、通信图有顺序号。

表示一个消息的时间顺序,可以给一个消息加上一个数字前缀。(从1号消息开始),在控制流中,每个新消息的顺序号单调增加(如 2、3等)。

为了显示嵌套,可使用带小数点的号码(1表示第一个消息;1.1 表示嵌套在消息1中的第一个消息,1.2 表示嵌套在消息1中的第二个消息,等等)。嵌套可为任意深度。

还要注意的是,沿同一个链可以显示许多消息(可能发自不同的方向),并且每个消息都有唯一的一个顺序号。

序列图和通信图是同构的,它们之间可以相互转换。

2-2-3、通信图的实例

2-2-4、真题

真题1:

真题2:

相关推荐
xian_wwq25 分钟前
【学习笔记】-深度认知系列-第2讲-大模型到底是什么?——拆解“参数、训练、推理”
笔记·学习·深度认知
lzhdim2 小时前
12、JavaScript常见的内存泄露问题 - JavaScript学习系列文章
开发语言·前端·javascript·学习·ecmascript
Oll Correct3 小时前
Adobe illustrator 案例九:百宝箱图标绘制
笔记·ui·adobe·illustrator
那年窗外下的雪.3 小时前
AIDC 学习日志|第 15 天|EVPN 多归属故障收敛与撤销机制
网络·学习·php
M78佐菲4 小时前
Linux学习笔记:进程
linux·笔记·学习·算法
我命由我123456 小时前
人脸识别 - 勒克斯(光线照射到物体表面上的明亮程度)
android·java·学习·java-ee·人脸识别·学习方法·android runtime
乐橙开放平台7 小时前
养老 SaaS 笔记:setMessageCallback 事件桥接 + msgType 映射 P0/P1,先 ACK 再分流值班流
笔记·物联网·音视频·智能家居
Logintern097 小时前
【每天学习一点点】MPI是什么?
学习·mpi·多机训练
fengci.7 小时前
提示词注入学习小结
学习
晓梦林7 小时前
Tools2靶场学习笔记
笔记·学习