软考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:

相关推荐
恣逍信点13 分钟前
《凌微经》通俗解读——哲学第一因
学习·职场和发展·创业创新·学习方法·业界资讯·交友·哲学
鱼子星_1 小时前
【C++】内存管理:内存分布,new/delete的使用及细节处理,new/delete的底层,定位new表达式
开发语言·c++·笔记
red_redemption1 小时前
自由学习记录(207)
学习
愚昧之山绝望之谷开悟之坡1 小时前
回购逆回购
笔记
鱼子星_1 小时前
【C++】string(上):string的基本使用
c++·笔记·字符串
AOwhisky1 小时前
Python 学习笔记(第四期)——字符串:格式化、操作与文本处理——核心知识点自测与详解
开发语言·笔记·python·学习·列表·元组·字典
chnyi6_ya1 小时前
论文阅读笔记 | VIDEOPHY: Evaluating Physical Commonsense for Video Generation
论文阅读·笔记
光学补偿1 小时前
微服务学习 --- Spring Cloud概述
学习·spring cloud·微服务
AOwhisky2 小时前
Python 学习笔记(第六期)——函数:定义、参数传递与作用域
笔记·python·学习·云原生·运维开发·函数·参数传递
网小鱼的学习笔记2 小时前
Agent学习001
学习·迁移学习