如何绘制UML类图?

如何绘制UML类图?,第1张

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

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

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

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

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

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

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

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

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

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

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

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

绘制完成的UML类图

Visio画UML用例图步骤:

1.在“文件”菜单上,依次指向“新建”、“软件”,然后单击“UML模型图”。

2.在树视图中,右击要包含用例图的包或子系统,再指向“新建”,然后单击“用例图”。

此时会出现一个空白页,而且“UML用例”模具也会显示在最顶部。工作区将“用例”显示为水印。树视图将添加一个表示该图表的图标。

注释如果看不见树视图,请在“UML”菜单中指向“视图”,然后单击“模型资源管理器”。

3.将“系统边界”形状拖到绘图页上。

使用系统边界形状

在用例图中指示系统边界

4.Visio画UML用例图时要从“用例”模具中将“用例”形状拖出并放在系统边界内,然后将“参与者”形状拖到系统边界外。

使用用例形状

使用参与者形状

5.使用“通信”形状指出用例和参与者之间的关系。

使用通信形状

指出参与者和用例之间的关系

6.Visio画UML用例图时需要通过“使用”和“扩展”形状,指出用例之间的关系。

指出两个用例之间的使用关系,指出两个用例之间的扩展关系

7.双击任意形状(“系统边界”形状除外),打开其“UML属性”对话框,您可以在其中添加名称、特性、 *** 作和其他属性。

8.保存该图表。

UML中的四种机制使地它简单和更易于使用,你可以在UML语言的任何时候用同样的方法来使用,这四种机制是:

l specifications

l adornments

l common divisions

l extensibility

本章讨论adornments和extensibility这两种机制。

注释是最重要的一种修饰。一个注释在UML中是一个图形符号,描述了和它相关联的元素或一组元素的限制或注释语。

上图就是一个使用注释的例子,图中右边的为注释符号。

UML的扩充性机制允许你在控制的方式下扩充UML语言。这一类的机制包括:stereotype,标记值、约束。Stereotype扩充了UML的词汇表,允许你创建新的建筑块,这些建筑块从已有的继承而来,但特别针对你的问题。标记值扩充了UML的建筑块的属性,允许你在元素的规格中创建新的信息。约束扩充了UML建筑块的语义,允许你添加新的规则或修改已有的。你将使用这些机制来让UML满足你的领域和开发的特别需要。

上面是一个使用扩充机制的例子。<>是stereotype,{version = 3.2}是标记值

术语和概念

注释是一种图形符号用来限制或给一个元素或一组元素加上注解。注释画成一个带折角的矩形,在矩形中加上文字或图形的注解,stereotype是UML词汇的扩充,允许你创建新的UML建筑块,这些新的建筑块和原有的类似,但特别针对你自己的问题。通常stereotype画成用>包围起来的一个名字,通常放在另一个元素的名字之上。作为可选,stereotype可以画成加一个图标。

标记值是UML元素特性的扩充,允许你创建元素规格的新的信息。在UML中标记值画成{}内的字符串,跟在元素名后面。

限制是UML元素语义的扩充,允许你对一个UML元素添加新规则或修改存在的规则。限制通常画成{}内的字符串,放在关系附近。当然,你也可以把限制用注释来表示。

通用建模技术

1. 建模注解

使用注释的目的是为了让模型更清晰,下面是使用注释的一些技巧:

l 将注释放在你要注解的元素边上,写下注解的文字。用依赖关系的线将注释和被注释的元素连起来会让人更明白。

l 记住,你可以隐藏元素或使隐藏的元素可见。这就意味着你可以将注释不隐藏起来,而她注释的元素是可见的,这样会使你的模型图简洁,在必要的地方让注释可见。

l 如果你的注释很长或不仅仅是普通文本,你可以将你的注解放到一个独立的外部文件中(如WORD文档)然后链接或嵌入到你的模型中。

下面是一个使用注解的例子:

建立新的建筑块

UML的建筑块如:类、接口、合作、组件、注释、关系等等,都在为具体问题建模的时候基本上是够用了。然而,如果你想扩展你的模型的词汇,如用来表示你的特定的问题领域,你需要stereotypes。

建立新的建筑块有如下的技巧:

l 确定没有现成的基本的UML方法可以表达你的需要。如果你碰到一个普通的建模问题,很有可能已经有某种标准的stereotype是你想要的。

l 如果你确信没有现成的东西可以表达这些语义,首先找到一个UML中的最接近你要建立的模型的元素(例如:类、接口、组件、注释、关系等等)然后为她定义一个stereotype。值得一提的是你可以定义stereotypes的层次从而得到一般的stereotypes和为它定义的特别的特性。这种方法尽量少用。

l 通过对普通的stereotype定义一组标记值和对stereotype进行限制可以实现普通stereotype不能实现的功能。

l 如果你希望这些stereotype具有不同的视觉效果,为他们定义一个特别的图标。

上面是一个例子。假如你用活动图来为一个涉及到教练工作流和队员工作流的体育活动建模。在这里,区别教练和运动员以及与其他的本领域的对象是有意义的。上面的图中有两个事物是很突出的,教练对象和队员对象。这里不仅仅是普通的类,更确切地说,他们现在是两个新的建筑块。因为定义了教练和员stereotype,并且运用到了UML的类上。在这个图上,被标记为:Coach和:Team的匿名实例,后者显示了不同的状态。

建模新属性

UML建筑块的基本属性如:类的属性和 *** 作,包的内容等等,都足够描述清楚你要建立的模型。然而,如果你想扩展这些基本建筑块(或者用stereotype建立的新的建筑块)的属性,你就需要使用标记值。

下面是一些技巧:

l 首先要确定的是你的需要无法用基本的UML表达。如果你碰到一个普通的建模问题,很有可能已经有某种标准的标记值是你想要的

l 如果你确定没有其他的方法可以表达你需要的语义,添加新的属性到一个单独的元素或一个stereotype。继承的规则是适用的,也就是说对父亲定义的标记值对儿子也具有。

建立新的语义

当你用UML建立模型的时候,你总是使用UML定义的规则,这实在是件好事,因为别的懂得如何读UML的人可以毫无偏差地读懂你想要表达的东西。然而,如果你发现你需要表达的语义是UML无法表达的或你想要修改UML的规则,这时你就需要使用限制了。下面是使用限制的一些技巧:

l 首先要确定的是你的需要无法用基本的UML表达。如果你碰到一个普通的建模问题,很有可能已经有某种标准的限制是你想要的。

l 如果你确定没有其他的方法可以表达你需要的语义,用文本的形式在限制中写下你的新语义,并且将他放在他涉及的元素附近。你可以使用依赖关系来明确地表示限制和他涉及的元素之间的关联。

l 如果你需要详细说明你的语义,你可以用使用OCL把它写下来。

下面的图是一个公司人力资源系统的一小部分:

这副图显示了每个Person可能是0个或多个Department的成员。每个Department至少要有一个Person成员。这副图进一步说明每个Department严格地有一个Person作为管理者,每个Person可以是0个或多个Department的被管理人员。所有的这些语义可以被简单的UML表达。然而,为了指出一个管理者必须也是Department的成员是多员关系所忽略的,也是简单的UML无法表达的。为了表达这种关系,你必须写下一个限制指出管理者是Department成员的一个子集。从子集到超集用依赖关系将两个关系联系起来。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11548033.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存