UML教程
类图
类似于C++的类;
分三块:
最上面的一块:
名称;
其下方:
属性,由权限符号+名称+:+数据类型组成;
最下方:
方法:由权限符号+名称+()+数据类型;
其中最为重要的是,在属性部分和方法部分是可以设置权限的。
“-”代表private,任何其他类和子类都无法访问它;
“+”代表public,于上面的相反,任何类都可以访问到它;
“#”代表protect,这个类只能由相同的类或者它的子类存取;
“~”代表可见性为package或者default,意味着只要在一个包中,任何其他类都可以使用它;
关系:
继承:继承有父类的所有属性和方法,抽象类(将类名称用<<>>所包裹)用于被继承,不用实例化方法;
关联:多个类之间建立联系(线);
聚合:说明整体和部分的关系,即一部分可以存在于整体之外,但也属于一个整体(空心菱形);
组合:说明整体和部分的关系,部分于整体相绑定,不可分割,当父类不复存在时子类也不能存在(实心菱形);
描述
在流程图上(关联线上)写出:
0…1:零到一;
n:随机数字;
0…*:从零到很多;
1…*:从一到很多;
m…n:从m到n;
时序图
也称之为序列图,循序图或顺序图,是一种UML交互图,它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作;
展示对象之间交互的顺序。
相对于其他UML图,时序图更加强调交互的时间顺序,可以直观的描述并发进程;
时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各个对象之间横向传递,依照时间顺序纵向排列;
时序图的元素
角色
系统角色,可以是人及甚至是其他的系统或者子系统。
对象
对象代表时序图中的对象在交互中所扮演的角色对象包括三种命名方式:
- 包括对象名和类名;
- 只显示类名不显示对象名(表示一个匿名对象);
- 只显示对象名不显示类名
时间线
用虚线来表示,表示对象的存活时间;
控制焦点/激活器
控制焦点是时序图中表示时间段的符号,在这个时间段内,对象将执行相应的操作,用小矩形来表示;
消息
同步消息:实心黑箭头
异步消息:简易单箭头
返回消息:简易虚线单箭头;
自关联消息:用来描述对象内部的互相调用。表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。
组合片段
可以添加逻辑内容
如果时序图的左上角出现了alt那么说明这就是一个条件判断语句;
loop代表循环;
opt类似于switch语句(满足不同的条件使用不同的图);
par代表并行;
|