UML总复习(二)——最细复习教程

UML总复习(二)知识点篇

第一部分传送门:传送门.

前言

这是本博主的第一篇文章,写这篇文章的原因是致我刚刚裸考结束的考试;写这篇文章的目的有二:
其一:为了大家考试前的复习
其二:我要是没过,我自己留着复习!!!


提示:以下是本篇文章正文内容,下面案例可供参考



五、UML状态图

状态图
要创建状态图,首先要找出出哪些实体需要使用状态图进一步建模。一般来说,不需要给所有的类都创建状态图,只有具有重要动态行为的类才需要。
从另一个角度看,状态图应该用于复杂的实体,而不必用于具有复杂行为的实体。
所以状态图描述的对象就是实体。


先说一下状态机和状态图之间的关系:
♦状态机:状态机是展示状态与状态转换的图,包含了一个类的对象在其生命期间所有状态的序列以及对象对接受到的事件所产生的反应。
♦状态图:表示状态机,一个状态机可以用多个状态图描述。
♦状态图表现从一个状态到另一个状态的控制流。

UML的状态图主要用于建立类的一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件,以及因状态转移而伴随的动作。

状态图的目的是为具有以下两个特性的属性建模:
▶属性拥有很少的值
▶属性在这些值之间的转移有一定的限制

先举个例子:图书管理系统中,描述的实体是书
在这里插入图片描述

其实就是描述一本书的实体在系统中的所有可能存在的状态
状态由一个带圆角的矩形表示

状态种类:
▶简单状态:简单状态是指不包含其他状态的状态。简单状态没有子结构,但它可以具有内部转换、入口动作和出口动作等。

▶组成状态:组成状态是可以包含一些嵌套的子状态的状态。组成状态可以使用“与”关系分解为并发子状态,或者通过“或”关系分解为互相排斥的顺序子状态。
顺序子状态:如果一个组成状态的子状态对应的对象在其生命期内的任何时刻都只能处于一个子状态,即多个子状态之间是互斥的,不能同时存在,这种子状态称为顺序子状态。当状态机通过转换从某种状态转入组成状态时,此转换的目的可能是这个组成状态本身,也可能是这个组成状态的子状态。
并发子状态:有时组合状态有两个或者多个并发的子状态机,此时称组成状态的子状态为并发子状态。 顺序子状态与并发子状态的区别在于后者在同一层次给出两个或多个顺序子状态,对象处于同一层次中来自每个并发子状态的一个时序状态中。

在这里插入图片描述

在这里插入图片描述

状态组成:
▶状态名
▶活动
▶入口动作
▶出口动作
在这里插入图片描述


转换
转换用带箭头的直线表示,一端连接源状态即转出的状态,箭头一端连接目标状态即转入的状态。转换可以标注与此转换相关的选项如事件、动作和监护条件。
在这里插入图片描述

状态的之间的转移通常是由事件触发的,此时应在转移上标出触发转移的事件表达式。
转换种类:
▶外部转换
▶内部转换
▶完成转换
▶复合转换

▶外部转换
外部转换是一种改变对象状态的转换,是最常见的一种转换。
在这里插入图片描述
▶内部转换
内部转换有一个源状态但是没有目标状态,它转换后的状态仍旧是它本身。
在这里插入图片描述
▶完成转换
完成转换又称为自转换。
完成转换是因为没有标明触发器事件的转换是由状态中的活动的完成引起的,是自然而然地完成的转换。
在这里插入图片描述
在这里插入图片描述

▶复合转换
复合转换由简单转换组成,这些简单转换通过分支判定、分叉或接合组合在一起。
链式:
在这里插入图片描述
非链式:

在这里插入图片描述

补充:
1.状态图是对系统的动态行为建模。
2.状态图是显示状态机的一种方式,另一种显示状态机的方式是活动图。
3.状态图中定义的状态有:初态、终态、中间状态、组合状态、历史状态等

六、UML活动图

活动是某件事情正在进行的状态
活动图描述系统中各种活动的执行顺序,通常用于描述一个操作中所要进行的各项活动的执行流程。同时,它也常被用来描述一个用例的处理流程,或者某种交互流程
活动图与状态图的关系:
活动图是由状态图变化而来的,活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的转移可能需要事件的触发)。活动图是状态图的特例。
经常用活动图描述用例的处理,活动图的变迁表示用例的处理行为的变迁,状态的变化自然是用例导致的,所以状态图的转移就可能意味着活动图的变迁(一个活动结束立即进入下一个活动)



活动图与状态图的区别:
活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。
状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。
在UML中,活动表示成圆角矩形。
如果一个活动引发下一个活动,两个活动的图标之间用带箭头的直线连接。
活动图也有起点和终点,表示法和状态图中相同。
啥也不说了,直接上图:
在这里插入图片描述

看起来和程序流程图很像,但是灵魂不同:
活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程;而流程图是着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理之间有严格的顺序和时间关系。

活动图的基本组成元素:
♦动作状态
♦活动状态
♦动作流
♦分支与合并
♦分叉与汇合
♦泳道
♦对象流

♦动作状态
动作状态是指执行原子的、不可中断的动作,并在此动作完成后通过完成转换转向另一个状态的状态。
在这里插入图片描述

动作状态是原子的,它是构造活动图的最小单位,已经无法分解为更小的部分。
动作状态是不可中断的状态,它一旦开始运行就不能中断,一直运行到结束。
动作状态是瞬时的行为,它所占用的处理事件极短,有时甚至可以忽略。
动作状态可以有入转换,入转换既可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部动作的完成为起点,与外部事件无关。
动作状态和状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。
在一张活动图中,动作状态允许多处出现。

♦活动状态
活动状态用于表达状态机中的一个非原子的运行。
在这里插入图片描述
♦动作流
所有动作状态之间的转换流称之为动作流。

♦分支与合并
一般用于表示对象类所具有的条件行为。
在活动图中分支与合并用空心小菱形表示。
在这里插入图片描述
在这里插入图片描述
♦分叉与汇合
分叉用于将动作流分为两个或者多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。
在这里插入图片描述在这里插入图片描述
♦泳道
泳道是由垂直长线分割出来的矩形区域,在泳道上方的对象负责该矩形区域内的所有活动,每个活动只能明确地属于一个泳道。
在这里插入图片描述
♦对象流
对象流是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或者动作对对象的影响。
对象流中的对象特点:
一个对象可以由多个动作操纵。
一个动作输出的对象可以作为另一个动作输入的对象。
在活动图中,同一个对象可以多次出现,它的每一次出现表明该对象正处于对象生存期的不同时间点。
在这里插入图片描述

补充:
活动图对表示并发行为很有用。
如果要显示多个对象之间的交互情况,可用顺序图或协作图。

五、UML状态图

组件图和部署图(了解篇)

组件图描述了软件的各种组件和它们之间的依赖关系。
在这里插入图片描述
组件图中通常包含3个元素:
♦组件
♦接口
♦依赖关系

♦组件
组件是定义了良好接口的物理实现单元,是系统中可替换的物理部件。
组件可以是源代码组件、二进制组件或一个可执行的组件。
在UML中,组件用一个左侧带有突出两个小矩形的矩形来表示。
在这里插入图片描述

♦接口
类是逻辑抽象,构件是物理抽象
组件是对其它逻辑元素:如类,的物理实现
类可以有属性和操作
构件通常只有操作,而且这些操作只能通过构件的接口才能使用
接口和组件之间的关系分为两种:
▶实现关系
▶依赖关系
组件的接口分为两种:
导入接口,供访问操作的组件使用
导出接口,由提供操作的组件提供
♦依赖关系
组件图用依赖关系表示各组件之间存在的关系类型。
在这里插入图片描述
例子:对Source Code建模的例子
在这里插入图片描述

部署图(物理方面建模)

配置图也称部署图,实施图。
配置图用来描述系统硬件的物理拓扑结构以及在此结构上执行的软构件。
配置图中通常包含2个元素:
♦节点(处理器、设备)
♦关联关系
在这里插入图片描述

一个系统模型只有一个配置图。
♦节点(处理器、设备)
节点是在运行时代表计算资源的的物理元素。
节点通常拥有一些内存,并具有处理能力。
节点与组件的比较:
在这里插入图片描述
♦关联关系
配置图用关联关系表示各节点之间通信路径,表示为一条实线。
在连接硬件时通常关心节点之间是如何连接的,因此关联关系一般不使用名称,而是使用构造型。
关联关系代表一种交流的机制:
在这里插入图片描述

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值