每日学习之UML

发布时间 2023-12-07 19:51:20作者: 辞楠

一、类图

类图是用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系。

类之间的关系有依赖、泛化(继承)、实现、关联、聚合与组合

各种关系的图形化表示如下图所示

UML类图中的类有抽象类(abstract) 接口类(interface)UML类图中的类分为三层,第一层是类名,第二层是类的静态属性,第三层是类的动态方法(行为)。其中+表示该属性或者方法是公有的(public) -表示该属性或者方法是私有的(private) #表示该属性或者方法是保护的(protected)

二、时序图

时序图时会涉及7种元素:角色(Actor)、对象(Object)、生命线(LifeLine)、控制焦点(Activation)、消息(Message)、自关联消息、组合片段

角色(Actor)
系统角色,可以是人或者其他系统,子系统。以一个小人图标表示。
对象(Object)
对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:
1 对象名和类名。例如:华为手机:手机、loginServiceObject:LoginService。
2 只显示类名,不显示对象,即为一个匿名类。例如::手机、:LoginSservice。
3 只显示对象名,不显示类名。例如:华为手机:、loginServiceObject:。
生命线(LifeLine)
时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。
控制焦点(Activation)
控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。
消息(Message)
表现代表对象之间发送的信息。消息分为三种类型:同步消息、异步消息、返回消息

三、活动图

活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流,活动图在本质上是一种流程图;活动图着重表现从一个活动到另一个活动的控制流。

活动图中的元素有:动作状态、活动状态、

动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态

活动状态用于表达状态机中的非原子的运行在UML中活动状态和动作状态的图标相同,但活动状态可以在图标中给出入口动作和出口动作等信息。活动状态有开始点、结束点、子活动状态、泳道、对象流。

活动图和状态图的区别
活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程
状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与

活动图和流程图的区别
流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理之间有严格的顺序和时间关系
活动图描述的则是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程
活动图能够表示并发活动的情形,流程图不能

四、用例图

用例图包括:参与者、用例、关系和边界四个要素。

参与者是与系统交互的用户或其他软硬件系统,用小人形表示。

用例是系统中执行的一系列动作,用椭圆表示。

关系是参与者与用例、参与者之间、用例之间的联系。

参与者与参与者之间的关系是泛化关系。

参与者与用例之间关系是关联关系

用例与用例之间的关系是

包含关系:一个用例(基础用例)的行为包含另外一个用例(被包含用例)的行为。基础用例依赖于包含用例的执行结果。包含关系是通过在依赖关系上应用<<include>>构造型(衍型)来表示的。箭头的方向是从基础用例指向被包含的用例。包含关系是一定要执行的。

扩展关系:扩展用例可以在基础用例之上添加新的行为,基础用例必须声明某些特定的扩展点,扩展用例只能在这些扩展点上扩展新的行为,将扩展用例的事件流在一定的条件下按照相应的扩展点插入到基础用例中。扩展关系是通过在依赖关系上应用<<extend>>构造型(衍型)来表示的。箭头方向由扩展用例指向基础用例。扩展关系是当特殊情况下触发的。

泛化关系:一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。泛化关系表示的是一般与特殊的关系。