uml绘制-如何绘制UML类图?

如题所述

uml类图关系怎么画

类图画法

1、类图的概念

A、显示出类、接口以及它们之间的静态结构和关系

B、用于描述系统的结构化设计

2、类图的元素

类、接口、协作、关系,我们只简单介绍一下这四种元素。

同其他的图一样,类图也可以包含注解和限制。

类图中也可以包含包和子系统,这两者用来将元素分组。

有时候你也可以将类的实例放到类图中。

3、类

A、类是对一组具有相同属性、操作、关系和语义的对象的抽象,它是面向对象系统组织结构的核心,包括名称部分(Name)、属性部分(Attribute)和操作部分(Operation),见下图。

B、类属性的语法为:

[可见性]属性名[:类型][=初始值][{属性字符串}]

可见性:公有(Public)“+”、私有(Private)“-”、受保护(Protected)“#”

类操作的语法为:

[可见性]操作名[(参数表)][:返回类型][{属性字符串}]

可见性:公有(Public)“+”、私有(Private)“-”、受保护(Protected)“#”、包内公有(Package)“~”

参数表:

定义方式:“名称:类型”;若存在多个参数,将各个参数用逗号隔开;参数可以具有默认值;

属性字符串:

在操作的定义中加入一些除了预定义元素之外的信息。

4、接口

在没有给出对象的实现和状态的情况下对对象行为的描述。

一个类可以实现一个或多个接口。

使用两层矩形框表示,与类图的区别主要是顶端有<>显示:

也可以用一个空心圆表示:

5、协作

协作是指一些类、接口和其他的元素一起工作提供一些合作的行为,这些行为不是简单地将元素加能得到的。例如:当你为一个分布式的系统中的事务处理过程建模型时,你不可能只通过一个类来明白事务是怎样进行的,事实上这个过程的执行涉及到一系列的类的协同工作。使用类图来可视化这些类和他们的关系。

6、关系

这篇文章的重点,详见第二部分。

二、类之间的几种关系

1、泛化(Generalization)

A、是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为,描述了一种“isakindof”的关系。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。

B、用带空心箭头的实线表示,箭头指向父类,如下图:

2、实现(Realization)

A、是一种类与接口的关系,表示类是接口所有特征和行为的实现。

B、用带空心箭头的虚线表示,箭头指向接口,如下图:

3、关联(Association)

A、一般关联

a、关联关系是类与类之间的联结,它使一个类知道另一个类的属性和方法,指明了事物的对象之间的联系,如:老师与学生、丈夫与妻子。关联可以是双向的,也可以是单向的,还有自身关联。

b、用带普通箭头的实心线表示。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,如下图:

B、聚合(Aggregation)

a、它是整体与部分(整体hasa部分)的关系,且部分可以离开整体而单独存在,如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。聚合关系是关联关系的一种,是强的关联关系,关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

b、用带空心菱形的实线表示,菱形指向整体,如下图:

C、组合(Composition)

a、它是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

b、用带实心菱形的实线表示,菱形指向整体,如下图:

4、依赖(Dependency)

A、元素A的变化会影响元素B,那么B和A的关系是依赖关系,B依赖A。要避免双向依赖,一般来说,不应该存在双向依赖。关联、实现、泛化都是依赖关系。

B、用带箭头的虚线表示,箭头指向被依赖元素。

5、总结

各种关系的强弱顺序如下:

泛化=实现>组合>聚合>关联>依赖

下面这张UML图,比较形象地展现了各种类图关系:

如何绘制UML顺序图

1.在VP官网下载。

2.在VisualParadigm中打开已下载的vpp文件。通过工具栏中的Project>Open可打开这个项目。

3.打开类图Registration,通过对图表内容的查看,我们了解到这里有三个类——RegistrationUI、RegistrationController和User。

4.现在我们想要对在运行时这些类的对象实例间的交互进行建模。由于控制器类负责控制登记流程,因此添加一个它的子顺序图。将鼠标指针移动到RegistrationController,点击底部右下角的资源图标然后从弹出菜单中选择NewDiagram...。

5.在NewDiagram窗口,选择SequenceDiagram,然后点击Next。保持默认图标名称不变,然后点击OK进行确认。

6.一个空的UML顺序图创建以后,从图表工具栏中选择BoundaryLifeLine(B)。

7.点击图表创建生命线的分界线。

8.输入registrationUI作为生命线名称,然后敲击回车键进行确认。

9.右键点击生命线,然后从弹出菜单中选择electClass>SelectClass...。

10.在SelectClass窗口,选择RegistrationUI类,然后点击OK进行确认。

然后所绘制的生命线就:

11.创建一个控制生命线(ControlLifeLine):registrationController:RegistrationController和一个实体生命线(EntityLifeLine):user:User。不要忘了为它们选择合适的类。所绘制的图表如下图所示:

12.让我们为生命线之间所调用的方法进行建模,将鼠标指针移动到生命线registrationUI。

13.按住资源ResourceCatalog,然后进行拖动。

14.移动到生命线registrationController,然后释放鼠标按钮。

15.从ResourceCatalog中选择Message。

16.这会弹出一个可供你选择的新的序列信息的列表名称。你可以看到这些选项都是classRegistrationController的操作,在其中选择createUser(name,password)。

17.关联生命线registrationController和user,我们可以看到是registrationController创建了user生命线。因此,我们需要创建一条信息来关联这两者。将鼠标指针移动激活生命线registrationController。

18.按住资源ResourceCatalog进行拖动。

19.在生命线user处放开鼠标指针。

20.从ResourceCatalog中选择CreateMessage。

于是信息就被创建好了,所得的图像如下图所示:

21.创建从生命线registrationController到user的信息setName和setPassword,到目前为止,图表如下图所示:

22.您还可以指定操作的参数,以信息createUser(name,password)为例。右键点击它,然后从下拉菜单中选择OpenSpecification...。

23.通过点击按钮上的省略号对行为属性进行编辑,跳转到Actiontype。

24.在CallActionSpecification窗口,点击Add>Text...添加参数。在本例中,点击Add>Text...添加参数peter。再次点击Add>Text...添加参数mypwd。注意,这里的两个参数指的是两个通过操作赋予的参数,如果你再添加第三个参数,它将被自动忽略(因为只定义了两个操作)。

25.点击OK关闭窗口,然后返回图表。添加的参数被呈现在了图表上

如何绘制UML类图?

类图的属性和方法是指类本身的属性和行为,类及其属性和方法是在程序设计过程中产生的,类图只是用Visio绘制出来,用于项目团队成员间或项目干系人之间的沟通和交流。例如:如果要设计一个关于销售苹果的程序,苹果就可以看作一个实体(类),其基本属性有颜色、形状、味道、种类等,行为有开花、落果、膨大、成熟等行为。

下面给出绘制苹果类图的方法和步骤:

第一步:启动Visio2010或更高版本,如下图:

第二步:在模板类别中选择“软件和数据库”,进入选择模板窗口,如下图:

第三步:选择“UML模型图”,并用鼠标双击“UML模型图”图标,进入UML绘图窗口,如下图:

第四步:选择“UML静态结构”,如下图:

第五步:按下鼠标左键,拖动“类图标”,到工作区域窗口,如下图:

第六步:双击工作区域窗口的类框图,如下图:

第七步:在UML类属性窗口,可以修改类的名称,添加属性(特性)和操作(方法)

第八步:在UML类属性窗口,修改类名为“苹果”,如下图:

第九步:在UML类属性窗口,选择特性,分别输入苹果的颜色、形状、味道等属性,类型为数据类型,可以选择字符串、整型等,如下图:

第十步:在UML类属性窗口,选择操作,分别输入苹果的行为开花、落果、膨大、成熟方法,样例中方法名称用的中文,实际应用应该采用英文,如下图:

绘制完成的UML类图

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜