UML 设计技巧
UML设计技巧
+ 表示bublic
- 表示private
# 表示protected
~ 表示default,可省略不写
字段或方法返回值的数据类型非必须
抽象类或抽象否昂发用斜体表示。
静态类或静态方法加下划线。
如果是接口在类名上方加 <<interface>>
继承关系
实现关系
组合关系
聚合关系
关联关系
依赖关系
箭头方向:从子类指向父类
记忆技巧:
-
定义子类是需要通过extends关键字指定父类;
-
子类一定是知道父类定义的,但父类并不知道子类的定义;
-
只有知道对方信息时才能指向对方;
-
所以箭头的方向是从子类指向父类。
继承/实现:用线条连接两个类
记忆技巧:
-
空心三角箭头表示继承或实现。
-
实线表示继承,是is-a的关系,表示拓展,不虚,很结实;
-
虚线表示实现,虚线代表“虚”无实体。
关联/依赖:用线条连接两个类
记忆技巧:
-
虚线表示依赖关系:临时用一下,若即若离,虚无缥缈,若有若无;表示一种使用关系,一个类需要借助另一个类实现功能;一般是一个类将另一个作为参数使用,或者作为返回值。
-
实线表示关联关系:关系稳定,实打实的关系,铁哥们;表示一个类对象和另一个类对象有关联;通常是一个类对象中有另一个类对象作为属性。
组合/聚合:用菱形表示
记忆技巧:
-
菱形就是像是一个盛东西的器皿(比如盘子);
-
聚合:空心菱形,代表空器皿里可以放很多相同的东西,聚集在一起(箭头所指向的类);整体和局部的关系,两者有独立的生命周期,是has-a的关系;弱关系,消极的词:弱-空。
-
组合:实心菱形,代表器皿里已经有实体结构的存在,生死与共;整体与局部的关系,和聚合关系对比,关系更加强烈;两者具有相同的生命周期,contatins-a的关系;强关系,积极的词:强-满。
注意:UML类关系图中,没有实心箭头
UML关系图案例
时序图定义
时序图描述对象之间发送消息的顺序,强调时间顺序。时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,依照时间顺序纵向排列。用箭头表示消息、用竖虚线表示对象生命周期。
时序图作用
1、展示对象之间交互的顺序。将交互行为建模为消息传递,通过描述消息是如何在对象间发送和接收的来动态展示对象之间的交互;
2、相对于其他UML图,时序图更强调交互的时间 顺序;
3、可以直观的 描述并发进程
时序图的组成元素
角色(Actor)
对象(Object)
生命线(Lifeline)
控制焦点(Focus of Control)
消息(Message)
自关联消息
组合片段