用Viso画UML类图示例

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

这一部分基础介绍UML中的类(接口)以及几种类关系的表示方法,以及在visio中一些图示(一)类、接口的UML表示以及visio图示以下是visio中类和接口的表示方法,左边的是注释说明(二)介绍各种类关系的表示方法UML中类之间分类:继承(包括继承类和接口)、聚合、组合(合成)、依赖、关联1、继承继承包括两种:类和接口1)类继承表示方法:空心三角形+实线visio表示:在visio中是有现成的图标的,直接拖动即可。2)接口继承表示方法:空心三角形+虚线。visio表示:在visio中是没有该现成图标的,我们要自己设置实现,如下:例子:“大雁(类)”继承“飞翔(接口)”我们右击大雁实体类——“形状显示选项”,在弹出框中的“常规选项”中,我们勾上“实现链接”属性,点击确定,这时在“大雁”这个类中间会有一个黄色点,我们拖动它连接到需要继承的接口,这就实现了继承接口的表示了上一节介绍了类(接口)以及继承的表示方法,下面我们介绍另外几种类关系的表示2、聚合、依赖、关联和组合表示方法:聚合(一种弱的拥有关系):用空心菱形+实线+箭头,它所体现的思想是A对象可以包含B对象,但是B对象却不是A对象的一部分。组合(即合成/复合,一种强的拥有关系,部分与整体的关系):实心菱形+实线+箭头依赖:虚线+箭头关联:实心线+箭头依赖和关联区别:我用锤子修了一下桌子,我和锤子之间就是一种依赖,我和我的同事就是一种关联。依赖是一种弱关联,只要一个类用到另一个类,但是和另一个类的关系不是太明显的时候(可以说是“uses”了那个类),就可以把这种关系看成是依赖,依赖也可说是一种偶然的关系,而不是必然的关系。关联是类之间的一种关系,例如老师教学生,老公和老婆这种关系是非常明显的。依赖是比较陌生,关联是我们已经认识熟悉了。以上四种关系中除了组合在visio中是有直接表示方法,另外三种二元关系在visio中是没有现成图标用以表示的,所以我们需要自己设置属性来表示,我们以聚合为例介绍,其他关系设置类似:例子:以大雁和雁群为例,每只大雁属于一个雁群,而每个雁群又有很多只大雁,它们之间满足这种聚合关系。新建一个visio的uml模型图,建完“大雁”和“雁群”实例以后,我们从左边的“UML静态结构”中选择一个“二元关联”的形状拖到面板中,右击,出现如下界面:我们看上面的图中红色标出的部分,我们选择“结束1”,然后单击“属性”出现如下界面:名称可以有,也可以没有,我们这里不要了!聚合关系的表示是:空心菱形+实线+箭头,我们分别介绍两端设置:菱形端:箭头端设置:这样就设置好聚合关系了,然后分别连上关联的两端即可!依赖和关联的设置类似详解UML中的6大关系(关联、依赖、聚合、组合、泛化、实现)大话设计模式上的一个图,我用EA画出来的:UML中的6大关系相关英文及音标:依赖关系dependency[di'pendənsi]关联关系association[ə,səuʃi'eiʃən]聚合关系aggregation[ˌægrɪˈgeɪʃən]组合关系composition[,kɔmpə'ziʃən]实现realization[,ri:əlɪ'zeɪʃən]泛化generalization[,dʒenərəlɪ'zeɪʃən]UML中的6大关系简单解释:1.关联:连接模型元素及链接实例,用一条实线来表示;2.依赖:表示一个元素以某种方式依赖于另一个元素,用一条虚线加箭头来表示;3.聚合:表示整体与部分的关系,用一条实线加空心菱形来表示;4.组成:表示整体与部分的有一关系,用一条实线加实心菱形来表示;5.泛化(继承):表示一般与特殊的关系,用一条实线加空心箭头来表示;6.实现:表示类与接口的关系,用一条虚线加空心箭头来表示;注意:泛化关系和实现关系又统称为一般关系;总之:一般关系表现为继承或实现(isa),关联关系、聚合关系、合成/组合关系表现为成员变量(hasa),依赖关系表现为函数中的参数(usea);转自:中的6大关系详细说明:1、关联关系:含义:类与类之间的连结,关联关系使一个类知道另外一个类的属性和方法;通常含有“知道”,“了解”的含义体现:在C#中,关联关系是通过成员变量来实现的;方向:双向或单向;图示:实线+箭头;箭头指向被关联的类;举例:“渔民”需要知道“天气”情况才能够出海//公司关联雇员publicclassCompany{privateEmployeeemployee;publicEmployeeGetEmployee(){returnemployee;}publicvoidSetEmployee(Employeeemployee){this.employee=employee;}//公司运作publicvoidRun(){employee.StartWorking();}}//A关联BclassA{Bb=newB();}classB{}2、依赖关系:含义:是类与类之间的连接,表示一个类依赖于另外一个类的定义;依赖关系仅仅描述了类与类之间的一种使用与被使用的关系;体现:在C#中体现为局部变量、方法/函数的参数或者是对静态方法的调用;方向:单向;图示:虚线+箭头;举例:人依赖于水和空气;汽车依赖汽油//人划船,人依赖于船publicclassPerson{//划船publicvoidOarage(Boatboat){boat.Oarage();}}//A依赖于BclassA{publicvoidFunction(Bb){}}classB{}3、聚合关系:含义:是关联关系的一种,是一种强关联关系;聚合关系是整体和个体/部分之间的关系;关联关系的两个类处于同一个层次上,而聚合关系的两个类处于不同的层次上,一个是整体,一个是个体/部分;在聚合关系中,代表个体/部分的对象有可能会被多个代表整体的对象所共享;体现:C++中,聚合关系通过将被聚合者的(数组)指针作为内部成员来实现的;方向:单向;图示:空心菱形+实线+箭头;箭头指向被聚合的类,也就是说,箭头指向个体/部分;举例:鸭群与鸭子具有聚合关系;汽车由引擎、轮胎以及其它零件组成,因为汽车坏掉了,没有坏掉的引擎,轮胎和其他零件还可以继续使用。4、组合关系:含义:它也是关联关系的一种,但它是比聚合关系更强的关系.组合关系要求聚合关系中代表整体的对象要负责代表个体/部分的对象的整个生命周期;组合关系不能共享;在组合关系中,如果代表整体的对象被销毁或破坏,那么代表个体/部分的对象也一定会被销毁或破坏,而聚在合关系中,代表个体/部分的对象则有可能被多个代表整体的对象所共享,而不一定会随着某个代表整体的对象被销毁或破坏而被销毁或破坏;体现:在C#中,组合关系是通过成员变量来实现的;方向:单向;图示:实心菱形+实线+箭头;箭头指向代表个体/部分的对象,也就是被组合的类的对象;举例:一个人由头、四肢、等各种器官组成,因为人与这些器官具有相同的生命周期,人死了,这些器官也挂了;5、泛化关系:含义:它表示一个更泛化的元素和一个更具体的元素之间的关系;也就是通常所说的类的继承关系;体现:在C#中,泛化关系通过类的继承来实现的;方向:单向;子类继承父类;图示:空心箭头+实线;箭头指向父类;举例:动物下面可以分为哺乳动物,脊椎动物,爬行动物等6、实现关系:含义:它指定了两个实体之间的一份合同;即:一个实体定义一份合同,另外一个实体则保证履行该合同;体现:在C#中,实现关系通过类实现接口来实现的,即:一个类实现某个接口;方向:单向;子类实现接口;图示:空心箭头+虚线;箭头指接口向接口;举例:唐老鸭(对象)会说话(接口),因为一般鸭子不会说话,所以不会将说话这个方法给一般的鸭子带上;超人(对象)会飞(接口)转自:中的6大关系参考:你是我的玫瑰-类关系阐微中关联、依赖、聚集等关系的异同类与类之间的关系类间的关系解惑:图说UML中的六大关系大话设计模式引用:详解UML中的6大关系(关联、依赖、聚合、组合、泛化、实现)

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功