UML 统一建模语言

一、UML图中6中关系

  1. 泛化(Generalization) 是一种继承关系,表示一般与特殊的关系,指定了子类如何特化父类的所有特征和行为。用带三角箭头的实线,箭头指向父类。
  2. 实现(Realization)是一种实现关系,(类与接口之间的实现关系),表示类是接口所有特征和行为的实现。用带三角箭头的虚线表示,箭头指向父类。
  3. 关联(Association)是一种拥有关系,他使一个类知道另一个类的属性和方法。(个人将其理解为数据库中一对一、一对多、多对多的关系的表示);代码体现为:类的成员变量。用带箭头的实线表示(表示多对多关系时可以省略)。
  4. 聚合(Aggregation)是整体与部分的关系,并且部分离开整体可以单独存在。例如笔盒与铅笔的关系。代码表现为:类的成员变量。用带空心菱形的实线表示,菱形指向整体。
  5. 组合(Composition)是整体与部分的关系,并且部分离开整体后无意义不可单独存在。例如公司和部门是整体和部分的关系,没有不依赖公司存在的部门。用带实心菱形的实线,实心菱形指向整体。
  6. 依赖(Dependency)是一种使用关系,即一个类的使用需要另一个类的协助(要尽量不使用双向的互相依赖.)。代码体现:局部变量、方法参数、对象静态方法的调用。用带箭头的虚线表示,箭头指向被使用者。

二、六种关系的强弱顺序

泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

三、实例

这里写图片描述

四、UML图

UML图分为结构型和行为型两大类。需求分析工作中应用各种UML图的情况大致如下表所示。
这里写图片描述

一、使用Enterprise Architect画图

  1. 打开Enterprise Architect,新建一个项目
    这里写图片描述

这里写图片描述
选择自己要穿件的图的类型。

时序图

一:什么是时序图
时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。

时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,依照时间顺序纵向排列。

二:时序图的作用
1、展示对象之间交互的顺序。将交互行为建模为消息传递,通过描述消息是如何在对象间发送和接收的来动态展示对象之间的交互;
2、相对于其他UML图,时序图更强调交互的时间顺序;
3、可以直观的描述并发进程。

三:时序图的组成元素
1. 角色(Actor):系统角色,可以是人、机器、其他系统、子系统;
2. 对象(Object)
3. 生命线(Lifeline):在时序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间。
4. 控制焦点(Focus of Control):又称为激活期,表示时间段的符号,在这个时间段内对象将执行相应的操作。
5. 消息(Message):消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。

消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义;
消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
返回消息表示从过程调用返回。

6.自关联消息:表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。
7.组合片段:组合片段用来解决交互执行的条件和方式,它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。组合片段共有13种,名称及含义如下
这里写图片描述

这里写图片描述

四:常用组合片段举例
(1)抉择(Alt)
抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。else 的临界指示其他任何临界都不为 True 时应运行的片段。如果所有临界都为 False 并且没有 else,则不执行任何片段。
这里写图片描述

(2)选项(Opt)
包含一个可能发生或不发生的序列;
这里写图片描述

(3)循环(Loop)
片段重复一定次数,可以在临界中指示片段重复的条件。
这里写图片描述

(4)并行(Par)
这里写图片描述

五、 时序图的画法及实例
划清边界,识别交互的语境;
将所要绘制的交互场景中的角色以及对象梳理出来;
从触发整个交互的某个消息开始,在生命线之间从上到下依次画出所有消息,并注明每个消息的特性(如参数等)。

这里写图片描述

参考以及转载文章:
时序图-百度百科
http://www.uml.org.cn/oobject/201609062.asphttp://www.360doc.com/content/17/0315/19/22712168_637155090.shtml
https://blog.csdn.net/soft_zzti/article/details/79811923
UML序列图总结 http://www.trufun.net/UML/UMLwendang/2016/0115/138.html
UML系列-时序图 http://www.lupaworld.com/article-233409-1.html
UML建模之时序http://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html

猜你喜欢

转载自blog.csdn.net/zhangsuhua0702/article/details/81807063