UML建模实验指导书总结

UML及其工具实验指导书

实验一 熟悉UML开发工具Microsoft Visio 2007

【实验目的】

熟悉UML开发工具Microsoft Visio 2007。 【实验要求】

1. 熟悉Visio的UML建模绘图界面。 2. 通过绘制类图学习Visio的使用方法。 3. 通过绘制对象图学习Visio的使用方法。 4. 通过绘制顺序图学习Visio的使用方法。 【实验步骤】

一.熟悉Visio的UML建模绘图界面 1.进入Visio的UML建模绘图界面 通过“开始”|“程序”,运行Microsoft Office Visio 2007,出现Microsoft Visio界面。在左侧的“类别”区域中单击“软件”,然后在右侧的“模板”中单击“UML模型图”,则进入Visio的UML建模绘图界面。

2.熟悉UML建模绘图界面

在Visio的UML建模绘图界面中,最大的白色区域就是绘图区。左上方的“形状”窗口就是Visio的UML元素调板,它由很多的标签页组成。每个标签页提供了一个特定的UML图标。左下方的“模型资源管理器”就是Visio的字典,字典就是所创建的所有元素及其属性的记录的集合。当Visio打开并准备开始UML绘图的时候,“UML静态结构”标签页就会激活,我们就可以创建类图和对象图了。

二.绘制类图

下面我们使用Visio来绘制一个如图1所示的行星系统的类模型。

图1 一个行星系统的类图

1.从“UML静态结构”标签页中选择“类”图标并把它拖放到绘图区中。双击绘图区

1

中的类图标,出现“UML类属性”窗口。在“名称”字段中输入“PlanetarySystem”来重新命名这个类。单击“确定”按钮回到绘图界面。我们可以通过控制工具栏中“缩放”按钮的显示比例,使界面中的类图标显示合适的大小。采用同样的方法添加Planet类。在“模型资源管理器”中反映出了增加的新类。

2.下面我们为Planet类添加两个属性和一个操作,并把它设置为一个抽象类。

在Planet类上双击打开“UML 类属性”对话框。选中“IsAbstract”复选框,然后,从左边的“类别”区域选择“特性”,在右边的对话框中打开“特性”表。单击“新建”按钮,则在 “特性”表中添加了一行,在“特性”表项中输入diameter。采用同样的方式加入 distanceFromStar属性。

然后从“类别”区域选择“操作”,打开“操作”表,单击“新建”按钮,则在 “操作”表中添加了一行,在“操作”表项中输入“receiveLight”。单击“确定”按钮,赋予抽象类Planet相应的属性和操作。

3.注意每个属性左边的减号和每个操作左边的加号,它们表示可见性。为了使图显得比较简单,我们可以在图中去掉它们。只需要在Planet类上右击,打开弹出式菜单,选择“形状显示选项”,打开“UML 形状显示选项”对话框。去掉“可见性”复选框,单击“确定”按钮,则Planet类的属性和操作前面不再显示可见性。

4.我们把其他的类拖拽到大图中,然后添加组成关系。

首先是组成关系。从“UML静态结构”标签页中把“聚合”图标拖拽到绘图区,实心菱形一端连接到PlanetarySystem,另一端(尾端)连接到Star。

在图中,我们可以看到组成关系的每一段都有多重关系、可见性和缺省名。为了在图中去掉缺省名和可见性,在组成关系上右击,在弹出菜单中选择“形状显示选项”。这次,在“UML 形状显示选项”对话框中,去掉“第一个端名”、“第二个端名”和“端的可见性”选项,单击“确定”按钮。

现在我们来关注一下Star类的多重关系。双击组成关系图标,打开“UML关联属性”对话框。在“关联端”表格中,选择“结束2”一行“多重性”列的单元格。单击这个单元格中的下拉列表框,显示出“结束2”的可能多重性关系的一个列表。选择“1”并单击“确定”按钮,我们将在图中得到所选多重性的表示。

采用同样的方式拖拽“聚合”图标,先把菱形箭头的一端连在“PlanetarySystem”,然后再把尾端连接到Planet类,并进行多重性等相关设置。

5.向图中添加继承关系。

从“UML静态结构”标签页中将“泛化”符号拖拽到绘图区,把三角形的一端连接到Planet,尾端连接到HabitablePlanet。重复拖拽一个“泛化”符号,把三角形的一端连接到Planet,尾段连接到NonHabitablePlanet。完成这些操作后,绘图区中就是完整的类图。

三.绘制对象图

下面我们使用Visio绘制一个如图2所示的Earth和Sun的对象模型。

图2 Earth和Sun的对象图

1.在“模型资源管理器”中“顶层包”的文件夹上右击,从弹出菜单中选择“新建”|“静态结构图”,则创建并打开了一个新的静态结构图。从“形状”的“UML 静态结构”标签页中选择“对象”图标,拖拽到绘图区。

2

2.在对象图标上双击打开“UML对象属性”对话框。在“名称”字段中输入“theSun”替代缺省名字。我们还需要表明theSum是Star类的一个实例,为此,选择“类”字段并单击下拉列表。从类列表中选择“顶层包::Star”,然后单击“确定”按钮。

3.用相同的一系列步骤创建HabitablePlanet类的一个earth对象。双击打开“UML对象属性”对话框。从“类别”区域选择“特性值”打开“Attribute Values”表。在这张表中,我们可以填入diameter和distanceFromTheStar属性的值,这两个属性是HabitablePlanet继承自Planet的。在“值”列赋值,单击“确定”按钮。

4.在对象之间添加连接。

从“UML 静态结构”标签页中拖动“链接”符号到绘图区,将其两端分别和对象连接起来。完成这个步骤后,“结束1”和“结束2”的名字就出现了,在连接上右击,并通过“形状显示选项”可以从图中移除它们。

四.绘制顺序图

下面我们使用Visio绘制一个如图3所示的示意theSun和Earth之间的一个交互的顺序图(简化的图形,只有一条消息)。

图3 示意theSun和earth之间的一个交互的顺序图

1.在“模型资源管理器”的“顶层包”图标上右击,从弹出菜单上选择“新建”|“序列图”,则打开一个新的绘图区。

2.从“UML序列”标签中,拖拽一个“对象生命线”图标并把它放入到绘图区。双击图标打开“UML 分类器角色属性”对话框,在“名称”区域命名对象以后,在“分类器”区域从你创建的类列表中选定对象所属的类,单击“确定”按钮。

3.右击新添加的对象生命线,单击“UML形状显示选项”,通过选择“分类器名称”复选框可以显示类名。

4.通过一系列类似的步骤,创建另一个表示Earth的对象生命线图标。 5.创建从sun对象到earth对象的消息。

从“UML 序列图”中选择 “消息”图标,并把它拖拽到绘图区,把它的尾部连接到sun对象的生命线,把它的头部连接到earth对象的生命线。

要改变消息的缺省标记,双击消息图标打开“UML 消息属性”对话框。 由于只有一个可能的操作,名字和来自earth对象的消息所请求的操作都已经被选好了。单击“确定”按钮,则把操作放到消息之上。

6.从“UML序列”标签中,拖拽一个“激活条”图标完成顺序图。 【思考问题】

1.对于本实验中创建的类图和对象图能在两个不同的绘图文件中分别创建吗?类图和顺序图呢?为什么?

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4