结构元素
结构元素包括,类,对象,接口,用例,参与者。
类图
类图图示
类图是UML中最基本的元素了吧?根据OO的思想“天下一切皆对象”,而类是对象的抽象。
左侧图示为一个类图。顶端“ClassName”表示类名
中间部分为该类的属性,其中分别表示为可访问性,属性名,以及属性的数据类型。
第三部分为该类的方法,包括方法的可访问性,方法名,方法的参数以及方法的返回值。
需要说明的是:
-
“#”表示protected
“+”表示Public
“-”表示private
“i”表示internal
对象图图示
对象图
右侧图示为一对象图,该对象为类className类的一个实例对象
该图第一部分说明了该对象为className的一个实例,第二部分指定了该实例的属性值。该图指定的是一个特殊的实例的对象,如果要代表className的所有的对象可省略掉对象名,即为“:ClassName”。
接口
用例与参与者
下图为一简单的用例视图。小人表示参与者,而椭圆表示的是用例。
用例与参与者图示
包图图示
包
右侧图示为一包图,该图示为一名称为Utility的工具包。
包用来组织类,被包含在包里的类一般通过如Utility::StrUtility的形式来反应该类的路径。
关系
关系元素包括了聚集,组成,实现,继承,依赖,关联等。
关联
关联图示
关联是类之间的联系,如篮球队员与球队之间的关联(下图所示)。其中,关联两边的"employee"和“employer”标示了两者之间的关系,而数 字表示两者的关系的限制,是关联两者之间的多重性。通常有“*”(表示所有,不限),“1”(表示有且仅有一个),“0...”(表示0个或者多 个),“0,1”(表示0个或者一个),“n...m”(表示n到m个都可以),“m...*”(表示至少m个)。
在关联中有一种叫“限定关联”,还有一种谓之自身关联。另外,对象之间的关联就没那么复杂,只是将类的关联实例化而已。
依赖
依赖图示
依赖是表示一个类中使用了另外一个类,最常用的依赖是在类A的方法中使用了类B,那么A依赖B。如上图所示。
继承
继承图示
这里的继承是指子类对父类的关系。理解面向对象的各位对继承应该不陌生。啥也不说,看看图好了。
继承使用空心箭头表示继承的方向,用实线连接。
实现
实现图示
实现指的是类对接口的实现。接口实现的表示与继承的表示差不多,只是将实线变为了虚线。
聚集
聚集图示
一个类可能有几个部分类聚集在一起而成。如:电脑主机由cpu,主板,光驱....等组成。类与类之间是“整体-部分”的关系。
组合
组成图示
组成是强类型的聚集,每个部分体只能属于一个整体。如桌子由桌腿和桌面组成。----------------------------------------------------------------------------------------------------------------------------------以上为UML的基本元素的一些表示法,主要目的是供查阅。