美文网首页
UML图(一)

UML图(一)

作者: Ayres | 来源:发表于2017-09-27 15:52 被阅读0次

一、UML类图

在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency);
①、泛化(Generalization)

是一种继承关系, 表示一般与特殊的关系, 它指定了子类如何特化父类的所有特征和行为.
【箭头指向】:带三角箭头的实线,箭头指向父类


Paste_Image.png
②、 实现(Realization)

是一种类与接口的关系, 表示类是接口所有特征和行为的实现.
【箭头指向】:带三角箭头的虚线,箭头指向接口。


Paste_Image.png
③、 关联(Association)

是一种拥有的关系, 它使一个类知道另一个类的属性和方法。
关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【箭头及指向】:带普通箭头的实心线,指向被拥有者。


Paste_Image.png
④、 聚合(Aggregation)

【聚合关系】:是整体与部分的关系, 且部分可以离开整体而单独存在.
【箭头及指向】:带空心菱形的实心线,菱形指向整体


Paste_Image.png
⑤、 组合(Composition)

【组合关系】:是整体与部分的关系, 但部分不能离开整体而单独存在.
【箭头及指向】:带实心菱形的实线,菱形指向整体


Paste_Image.png
⑥、 依赖(Dependency)

【依赖关系】:是一种使用的关系, 即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖.
【箭头及指向】:带箭头的虚线,指向被使用者


Paste_Image.png

关联是老师和学生,依赖是学生和笔

二、UML用例图

用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示一个外部用户能够观察到的系统功能模型图。用例图多用于静态建模阶段(主要是业务建模和需求建模),帮助开发团队以一种可视化的方式理解系统的功能需求。

参与者(Actor)

在系统外部与系统直接交互的人或事物;需要注意以下两点:
1)参与者是角色而不是具体的人,它代表了参与者在与系统打交道的过程中所扮演的角色。所以在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。
2)参与者作为外部用户(而不是内部)与系统发生交互作用,是它的主要特征。
在UML中,参与者使用如图所示的一个小人表示:


Paste_Image.png
用例(Use Case)

系统外部可见的一个系统功能单元。系统的功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。用椭圆表示,椭圆中的文字简述系统的功能:


Paste_Image.png
Paste_Image.png
①关联(Association)

表示参与者与用例之间的交互,通信途径,任何一方都可发送或接受消息。
箭头指向:指向消息接收方。


Paste_Image.png
②泛化(Inheritance)

在编程中,泛化关系是一种很重要的关系,我们随处可见。
泛化关系是一般和特殊关系,就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。
箭头指向(需要特别注意):指向父用例。


Paste_Image.png
③包含(Include)

包含关系用来把一个较复杂用例所表示功能分解成较小的步骤。包含用例是必须的,如果缺少包含用例,基用例就不完整;包含用例必须被执行。
箭头指向:指向分解出来的功能用例。


Paste_Image.png
④扩展(Extend)

扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。扩展用例是可选的,如果缺少扩展用例,不会影响到基用例的完整性。
箭头指向(需要特别注意):指向基用例


Paste_Image.png

三、UML时序图

时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:角色(Actor)、对象(Object)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。

①角色(Actor)

系统角色,可以是人、及其甚至其他的系统或者子系统。

②对象(Object)

对象包括三种命名方式:
第一种方式包括对象名和类名;
第二中方式只显示类名不显示对象名,即表示他是一个匿名对象;
第三种方式只显示对象名不显示类明。

③生命线(Lifeline)

生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间,如下图


Paste_Image.png
④控制焦点(Focus of Control)

控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示。如下图表示:


Paste_Image.png
⑤消息(Message)

消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message).如下图所示:


Paste_Image.png

同步消息=调用消息(Synchronous Message)
消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。
异步消息(Asynchronous Message)
消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
返回消息(Return Message)
返回消息表示从过程调用返回
自关联消息(Self-Message)
表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。


Paste_Image.png
Combined Fragments
表示带有一些特定条件发送的消息。
Paste_Image.png

如上图,就表示,循环(loop)发送GetProperty消息获得属性。在使用Astah画时序图时,选择一个Combined Fragments之后,可以在其对应的属性面板更改对应的发送条件。

相关文章

  • UML图系列——用例图

    UML图系列文章目录 UML图系列——UML概要 UML图系列——建模和面向对象 UML图系列——UML模型图的构...

  • JavaScript面向对象之UML类图

    UML类图 什么是UML类图 UML(Unified Modeling Language)类图,中文意思为“统一建...

  • [一]UML入门

    类图 二 UML类图讲解 三 UML类图讲解-自上而下 四 UML类图讲解-对比讲解

  • Java自学-接口与继承 UML图

    UML 图 步骤 1 : UML 图 —— 类之间的关系 UML-Unified Module Language统...

  • 终于明白六大类UML类图关系了

    UML,全称Unified Modeling Language,统一建模语言。而UML图分为用例图、类图、对象图、...

  • UML 时序图 Sequence diagram

    UML 时序图 Sequence diagram [toc] 时序图 时序图,又名序列图,循环图,是一种UML交互...

  • JUC整体架构图

    JUC相关整体框架图 JUC相关UML图 reentrantlock uml图reentrantlock.png ...

  • 一张图简述UML类图

    一张图简述UML类图 UML建模常用视图中,类图可算是最多的,初学UML的类图绘制,基于starUML工具,现简记...

  • UML类图与类的详解

    在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Di...

  • UML

    在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Di...

网友评论

      本文标题:UML图(一)

      本文链接:https://www.haomeiwen.com/subject/tgyuextx.html