分类:
2010-07-23 17:52:21
UML100723:UML类视图符号简记
Hist:
100723,draft
类视图(class diagram)中的关键元素是类,接口和它们之间的关系。这里简要总结了类视图中常用的符号标记。
类由分成矩形表示,分成3部分,分别是类名,属性说明,方法说明。 Visibility(可见性)属性可用于修饰属性和方法(类名也可以被修饰,但实际中不常用)。 Visibility的取值有4个: public,prortected,private,和package。Visibility在Java中被称作Access Control(访问控制), package对应的是default.
可见性低 |
|
|
可见性高 |
private |
package(java default) |
protected |
public |
仅当前类可访问 |
同包类可访问 |
同包类或子类可访问 |
公开可访问 |
访问控制紧 |
|
|
访问控制松 |
接口的表示有两种, 其中圆圈的表示方法仅强调interfaceName。Java中interface的方法全部是public的。
泛化通常描述父类子类关系。 用空心箭头实线表示, 箭尾是子类,箭头是父类。
聚集和组成是描述整体和部分之间关系的。 组成比聚集更强一些,聚集类对部分类负有更强的责任,通常部分类对象是聚集类的private成员。聚集由空心菱形实线表示,菱形端连接聚集类,另一端连接部分类。组成用实心菱形实线表示。符号的两端还可以标注数字或*表示数量对应关系。还可以用箭头表示navigability(导航,方向)信息。 导航的方向表示了箭尾是否负责维持箭头的引用信息信息, 例如图中,通过set类中就可以找到item, 在C中这通常意味着指向item的指针,在java中通常是引用。
关联基本算是万能胶水了,类跟类,跟接口之间只要有联系,就都可以‘关联’上。聚集和组成只不过是特殊的关联,被单独拿出来给以特别的表示。二元关联关系用一个实线表示,当然也还可以同聚集和组成一样,在两端标注数字或*表示数量对应关系,用箭头表示navigability(导航,方向)信息。特别的,如果关联关系使用类还表示,就有了AssociationClass(关联类)的形式,不赘述。
实现关系一种经常使用的场合是类实现一个接口。 用空心箭头虚线表示, 箭头连接要的接口/类,箭尾连接具体的类。特别的,接口是园圈图符表示时,则用实现直接连接即可。
依赖的概念相对庞杂, UML模型中定义了不少的种类,例如 access, bind, call, derive, friend, import等等。简单说,语义上的共同点,依赖描述的是这样的关系,被依赖者发生的变化将会影响到依赖者。关联和泛化也可以视为依赖的特殊形式。依赖用箭头虚线表示,箭头是被依赖者,箭尾是依赖者。
REF
1. UML reference manual
2. UML Distil 2nd
3. starUML v5.0.2