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
二 类图结构事例:
- 继承:此实线箭头表示, 从一个非接口类的继承.
- 双向关联
那条连线表示双向关联:
看左边, Flight扮演assignedFights角色, 有0到1个Plane跟他关联(一个航班要么取消了没有飞机,要么只能对应一架飞机)
看右边, Plane扮演着assignedPlane角色, 有0到多个Flight跟他关联(一个飞机可以参与多个航班, 也可以停在仓库里面烂掉) - 单向关联
那条连线表示单向关联:
基本的意义跟上面的是一样的, 唯一不同的是, 右边的类对左边的类是一无所知的. - 软件包, 那个大的包围的框叫软件包,名字为Account, 就一些可以归类的类包装起来.
- 实现接口:
如此虚线的箭头表示实现一个接口. - 多对多关联:
水平的连线还是表示上面所说的关联, 但从关联连线中引伸出来的虚线, 这意味当Flight类的一个实例关联到 FrequentFlyer 类的一个实例时,将会产生 MileageCredit 类的一个实例. - 基本聚合:
带菱形的箭头表示基本聚合, 由上图知道, Wheel类扮演wheels角色, 聚合4个到Car对象里面去,
空心的菱形表示Wheel对象并不随Car的创建而创建,销毁而销毁. - 另一种聚合:
意义和上面类似, 唯一不同的是, 实心菱形表示Department对象随Company对象的创建而创建,销毁而销毁. - 反射关联:
显示一个Employee类如何通过manager / manages角色与它本身相关。当一个类关联到它本身时,这并不意味着类的实例与它本身相关,而是类的一个实例与类的另一个实例相关。
有一个更详细类图的:http://rnylei.javaeye.com/blog/480724
- UML 常用符号简明图解
- 常用 UML 符号说明
- UML常用符号
- UML常用 符号解说
- UML类图,常用符号小计
- UML类图常用符号
- UML类图常用符号
- 常用UML符号和参考资源
- 常用UML符号和参考资源
- UML符号
- UML符号
- UML 符号
- UML符号
- uml图解
- UML-图解
- C++设计模式:UML工具及常用符号
- 红黑树简明图解
- 简明UML--类图
- ARM 中断向量介绍
- C# 调用wcf代理类
- 使用RadioButtonGroup 取值和赋值的例子
- ARM中的RO、RW和ZI DATA说明
- Change Detection
- UML 常用符号简明图解
- 一些鲜为人知的编程真相
- 滑窗协议
- int后带问号(int ?)的意义
- 翻译:Serial Communications in Win32
- ovar 函数介绍
- 研发管理系统对矩阵管理的支持!
- 滑窗算法
- 初学者学习C++的50条忠告