UML 常用符号简明图解

来源:互联网 发布:营养配餐软件哪个好 编辑:程序博客网 时间:2024/05/08 17:11

一 简略全图

1、首先看该图中的动物矩形框,它代表的是一个类,类图分三层,第一层是类名(动物),第二层是特性(通常我们说的属性或是字段),第三层是操作(通常我们说的方法或行为),注意特性和操作前面的+,“+”代表public,“-“代表private,“#”代表protected。在这里需要注意一下,动物类的名称是斜体,这就表示该类是抽象类。同样的鸟类也是抽象类。

2、再看左下角的飞翔,它是一个接口图,与类图的不同就在于,顶部有一个<<interface>>,第一行是接口名称,第二行是接口方法。接口还有一种表示方法是棒棒糖表示法,如图中的唐老鸭实现讲人话的接口。

3、鸟继承自动物类,鸭继承自鸟类,唐老鸭又继承自鸭类,继承的关系用空心三角形+实线来表示。

4、大雁实现了飞行的接口,接口用虚线+空心三角来实现

5、企鹅需要了解天气情况,气候的变化,那么如果一个类“知道”另一个类时,可以用关联(association)。关联关系要用实线箭头来表示

6、一个雁群可以包括很多只雁,但雁并不是雁群的一部分,像这样的关系就满足聚合(aggregation)关系,聚合是一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心菱形+实线表示。

7、合成(composition)是一种强的拥有关系,体现的严格的部分与整的关系,部分和整的生命周期一样。上图中鸟和翅膀就是合成的关系,其中图中标注的1,2被称为基数。表明这一端的类可以有多个实例,鸟肯定是两个翅膀喽,一个是没法飞的,哈哈。。。。

8、动物与氧气、水之间是依赖的关系,没有氧气和水,动物(当然也包括人)根本是无法生存的,所以嘛。。。。不管是动物还是植物还是高级动物人也好,都要依赖于氧气和水的,依赖(dependency)关系,用虚线箭头来表示。

或许还有好多好多其他的常用符号,欢迎朋友们和我一起沟通。

 

 

引用:http://hi.baidu.com/bestwisheslhl/blog/item/af32a0fb0ed485254e4aeaf0.html

 

 

 

 

二  类图结构事例:

 

  1. 继承:此实线箭头表示,  从一个非接口类的继承.

    uploads/200706/04_211918_1121523.jpg
  2. 双向关联
    那条连线表示双向关联:
    看左边, Flight扮演assignedFights角色, 有0到1个Plane跟他关联(一个航班要么取消了没有飞机,要么只能对应一架飞机)
    看右边, Plane扮演着assignedPlane角色, 有0到多个Flight跟他关联(一个飞机可以参与多个航班, 也可以停在仓库里面烂掉)
    uploads/200706/04_212112_1121525gl.jpg
  3. 单向关联
    那条连线表示单向关联:
    基本的意义跟上面的是一样的, 唯一不同的是, 右边的类对左边的类是一无所知的.
    uploads/200706/04_213002_1121526dxgl.jpg
  4. 软件包, 那个大的包围的框叫软件包,名字为Account, 就一些可以归类的类包装起来.
    uploads/200706/04_213232_1121527rjb.jpg
  5. 实现接口:
    如此虚线的箭头表示实现一个接口.
    uploads/200706/04_213441_1121529xjc.gif
  6. 多对多关联:
    水平的连线还是表示上面所说的关联, 但从关联连线中引伸出来的虚线, 这意味当Flight类的一个实例关联到 FrequentFlyer 类的一个实例时,将会产生 MileageCredit 类的一个实例.
    uploads/200706/04_213626_11215210gll.jpg
  7. 基本聚合:

    带菱形的箭头表示基本聚合, 由上图知道, Wheel类扮演wheels角色, 聚合4个到Car对象里面去,
    空心的菱形表示Wheel对象并不随Car的创建而创建,销毁而销毁.

    uploads/200706/04_213911_11215211jbjh.jpg
  8. 另一种聚合:
    意义和上面类似, 唯一不同的是, 实心菱形表示Department对象随Company对象的创建而创建,销毁而销毁.

    uploads/200706/04_214248_11215212zhjh.jpg
  9. 反射关联:
    显示一个Employee类如何通过manager / manages角色与它本身相关。当一个类关联到它本身时,这并不意味着类的实例与它本身相关,而是类的一个实例与类的另一个实例相关。

    uploads/200706/04_214435_11215213fs.gif

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

有一个更详细类图的:http://rnylei.javaeye.com/blog/480724

 

原创粉丝点击