统一建模语言实验指导书

更新时间:2023-11-14 17:45:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《统一建模语言》实验指导书

计算机与信息工程学院

计算机科学与技术系

1

目录

实验准备 UML建模工具 .............................................. 1 实验一 Rational Rose基本操作 ..................................... 16 实验二 用例图设计 ................................................. 17 实验三 实验四 实验五 实验六

类图设计 ................................................... 19 行为图设计 ................................................. 20 交互图设计 ................................................. 23 实现图设计 ................................................. 25

实验准备 UML建模工具

在进行面向对象分析与设计时,UML为系统的分析与设计内容的描述提供了有效的描述方式,但是形成符合UML规范要求的电子文档并不是一件容易的事情,通常需要我们借助于一些工具来进行UML模型的创建以及相关电子文档的完成。目前,许多的CASE(Computer-Aided Software Engineering)工具都在不同层次上提供了对UML的支持,其中常用的工具主要有Rational Rose和Microsoft Visio。Rational Rose是一种基于UML的建模工具,使用起来相当的便捷、有效,是目前最为常用的UML建模工具;Microsoft Visio是Microsoft公司Office软件的一部分,该软件业可以完成常规UML模型的描述工作,但它并不是专为描述UML设计结果而设计的,尽管它包括了UML的一些图形集,但在描述软件组件间的关联性上能力还是非常有限的,所以尽管可以利用它来生成相关的设计图,但是使用起来并不方便;相对于以上两个比较常用的软件,随着UML建模技术的普及,现在还产生了一些其他的小型UML建模工具,它们的主要特点是方便、有效,并且一般都非常的小巧实用。

我们主要向大家介绍一下Rational Rose和Windows Visio软件的特点及使用方法,另外以JUDE软件为例介绍一下小型UML建模软件。

1. Rational Rose 2003简介

(1)Rational Rose概述

Rational Rose是由美国的Rational公司开发的面向对象的可视化建模工具。利用这个工具,可以建立用UML描述的软件系统模型,而且可以自动生成和维护C++、Java、Visual Basic和Oracle等语言和系统的代码。Rational Rose包含了统一建模语言(UML)、面向对象软件工程(OOSE)以及对象建模技术(OMT)这几项最为常用的面向对象技术。

由于Rational公司已于2002年被IBM公司收购,目前Rational Rose已作为一款非常重要的商业软件成为IBM公司旗下的第五大品牌。

Rational Rose本身可以支持多种语言,包括Java、C++、Visual C++、Visual Basic、Smalltalk、Ada和PowerBuilder,还可以为数据库应用产生数据库描述语言(DDL)以及为CORBA应用产生接口定义语言(IDL)。

运用Rational Rose工具可以真正意义上的实现正向、逆向和双向工程。在正向工程中,Rational Rose可以为系统模型生成相应的代码;在逆向工程中,它可以从现存的软件系统中导出该系统的模型;而在双向工程中,它可以真正实现系统模型和代码之间的循环工程,从而保证模型与代码的高度一致。

另外,还可以应用Rational Rose工具进行数据库建模,它可以为Oracle、SQL Server、Sybase、ANSI、Watcom等支持准确DDL的数据库自动生成数据描述语言。

1

除此之外,Rational Rose工具还具备支持团队开发、支持模型Internet发布及文档生成方便等特点,从而保证了Rational Rose软件在支持UML建模的工具中的主导地位。

目前Rational Rose的最新版本是Rational Rose 2003,在本节接下来的内容中将介绍Rational Rose 2003的安装和使用。如果读者现在使用的是Rational Rose 2002也没有关系,基本的功能和操作是一样的,不影响正常使用。

(2)Rational Rose的安装

1.Rational Rose的获取

安装Rational Rose 2003必须先得到Rose软件的安装包。Rational Rose 2003是一款商业软件,建议读者购买Rational公司的正版软件,由于Rational公司已经被IBM公司收购,所以读者可以到IBM公司的官方网站(http://www.ibm.com)以获得相关信息或下载Rational Rose 2003的试用版进行使用。

2.Rational Rose的运行环境

安装Rational Rose 2003需要Windows 2000/Windows XP及其以上版本的操作系统平台,如果是Windows 2000操作系统,需要确定已经安装了Server Pack 2及其以上的补丁程序。

安装Rational Rose 2003的最低硬件配置条件为基于Pentium的PC机,600 MHz CPU,512 MB内存,400 MB硬盘空间,其中软件所需硬盘空间270 MB,每增加一个Rose模型,需增加1~3 MB。

3.Rational Rose的安装步骤

(1)双击启动Rational Rose 2003的安装程序setup.exe,进入安装向导界面,如图1所示。

(2)单击【下一步】按钮,进入如图2所示界面,此界面让用户选择所要安装的产品,这里选择第2项即【Rational Rose Enterprise Edition】。

图1 Rational Rose 2003安装向导 图2 选择安装产品界面

(3)单击【下一步】按钮,进入如图3所示界面,此界面让用户选择安装方式,在此选择【Desktop installation from CD image】选项,表示从本地CD进行安装。

(4)单击【下一步】按钮,进入安装向导界面,如图4所示。

2

图3 选择安装方式界面 图4 安装向导界面

(5)单击【Next】按钮,进入产品说明界面,如图5所示。

(6)单击【Next】按钮,进入协议许可界面,如图6所示。在此界面中选中【I accept the terms in the license agreement】单选按钮即可。

图5 产品说明界面 图6 协议许可界面

(7)单击【Next】按钮,进入安装路径设置界面,如图7所示。在此界面中可以单击【Change】按钮选择安装路径。

(8)在安装路径设置完毕后,单击【Next】按钮,即可进入自定义安装设置界面,如图8所示。在此界面中用户可以根据实际安装需要进行选择。

图7 安装路径设置界面 图8 自定义安装设置界面

3

图19 用例图编辑示例

(1)建立用例视图

用户可以通过用例视图建立多个用例包图,每个用例包图可以包含各自的子包图、用例图、参与者、用例及相互之间的关系等内容。如图19是一个用例视图下正在编辑的用例图。

下面介绍一下建立用例视图的步骤。 ① 创建新包目录

? 鼠标右键单击模型结构窗口中的【Use Case View】子目录项。

? 用户在弹出的菜单中选择【New?Package】菜单项,在用例视图子目录下创建一个空的用例包图目录项。

? 用户输入包名,此处以“Business Package”为例。一个名为“Business Package”的用例包创建完毕。 ② 创建新用例图目录

? 鼠标右键单击模型结构窗口中的“Business Package”包图目录项。

? 用户在弹出的菜单中选择【New?Use Case Diagram】菜单项,在“Business Package”用例包图目录下创建一个空的用例图目录项。

? 用户输入用例图名称,此处以“Library”为例。一个名为“Library”的用例图创建完毕。系统默认用例图名为“Main”。 ③ 建立和编辑用例图

? 选择模型结构窗口中的“Business Package”包图目录项下的“Library”用例图目录,并双击打开。

? Rational Rose在编辑窗口开辟一个工作区,用于绘制“Library”用例图。 ? 添加用例。首先绘制用例图符并命名;然后右键该用例,在弹出菜单中选择【Open Specification】项,完成用例的特性说明;依次顺序完成其他用例的添加。 ? 添加参与者。首先绘制参与者图符并命名;然后右键该参与者,在弹出菜单中选择【Open Specification】项,完成参与者的特性说明;依次顺序完成其他参与者的添加。

? 添加关系。首先单击工具栏中的实线箭线(单向关联)图符按钮;然后单击指定的参与者,并将鼠标从参与者拖动到指定的用例;输入关联名称,为关联命名;右键该关联,在弹出菜单中选择【Open Specification】项,完成关联的特性说明;依次顺序完成其他参与者和用例之间以及用例和用例之间关联的添加。除单向关联外的其他关系,如泛化、依赖等关系,添加方法相同。

? 如需删除某个元素,有两种删除方法。一种方法可在编辑窗口的工作区中选中要删除的元素,单击右键,在弹出菜单中选择【Delete】删除该元素,此时该元素在工作区中删除,但在模型结构窗口中仍然保留;另一种方法是在模型结构窗口中选中要删除的元素,单击右键,在弹出菜单中选择【Delete】删除该元素,这种方法删除得彻底。 ④ 建立和编辑用例包图

? 选择模型结构窗口中的“Business Package”包图目录项,并双击打开。

? Rational Rose在编辑窗口开辟一个工作区,用于绘制“Business Package”包图。

9

? 添加包。 ? 添加关系。

对于用例包图中包与关系的添加及删除方法与用例图的处理方法相同,在此不再赘述。 (2)建立逻辑视图

用户可以通过逻辑视图建立包括类图、对象图、状态图、活动图、时序图、协作图等在内的各类模型图。逻辑视图模型结构目录项的建立过程与用例视图完全一样,建立和编辑逻辑视图各个模型图的过程也与用例图的建立和编辑相似。

① 建立和编辑类图

类图的建立和编辑过程与用例图类似,但也有自己的特点,建立一个类图的过程如下: ? 建立类图模型结构目录,其方法与建立用例图结构目录基本相同。

? 添加类。添加类及类命名的方法与添加用例的方法相同;类添加之后鼠标右键该类,在弹出菜单中选择【Open Specification】菜单项,打开类的特性说明窗口,进行详细的设置。

? 添加类的属性。鼠标右键该类,在弹出菜单中选择【New?Attribute】菜单项并输入属性名称,格式为“属性名:数据类型=初始值”;然后鼠标右键该属性,在弹出菜单中选择【Open Specification】菜单项,打开属性特性说明窗口,设置属性的数据类型、取值范围、可见性(Public、Private、Protected)等。

? 添加类的操作。鼠标右键该类,在弹出菜单中选择【New?Operation】菜单项并输入操作名称,格式为“操作名(参数:类型,??):返回值类型”;然后打开操作特性说明窗口,设置操作的返回类型、功能说明、可见性、指定操作协议、限定、异常处理等。

? 建立类之间的关系。类间关系主要有关联关系、依赖关系、聚合关系和泛化关系(继承关系),在工具栏中分别选择相应的按钮进行建立;关系建立后,鼠标右键该关系,在弹出菜单中选择【Open Specification】菜单项,进行关系的特性说明设置。 ② 建立和编辑时序图

一个时序图的建立和编辑过程与类图完全相似。在时序图中,纵轴方向由上至下表示时间的先后顺序;横轴方向由左至右安排各个相关的对象。每个对象下面有由竖直虚线表示的生命线,用来标记该对象的生命活跃期。对象之间的消息传递又带箭头的实线表示,实线上标记消息名称;箭头方向由消息发送方指向接受方,消息的序号用来标记各消息发生的时间顺序。

③ 建立和编辑状态图、活动图、协作图及对象图

对象图、状态图、活动图及协作图都采用同样的方法进行建立和编辑,在这里不再赘述。 (3)建立组件视图及配置视图

组件视图由组件图及其包图组成;配置视图由配置图及其包图组成。组件视图及配置视图的包图、组件图及配置图的建立过程和方法与用例视图类似,在这里不再赘述。

2. Rose的双向工程

双向工程包括正向工程和逆向工程。正向工程就是从模型生成代码,而逆向工程刚好相

10

反,是指从代码生成模型。通过双向工程,在系统开发过程中可以分别从不同的角度满足开发人员的不同需要。通过正向工程,开发人员可以在设计工作完成后,直接从模型生成代码框架,减少了编写代码的时间;通过逆向工程,开发人员可以直接由现有系统的源代码得到系统的设计模型,对于一些设计文档不完善的软件的项目管理提供了便利手段。

(1)双向工程概述

UML不是一种编程语言,但用UML描述的模型可与各种编程语言直接相关联。这就意味着可以把用UML描述的模型映射成编程语言甚至是关系数据库的表,同时也可以把现有的程序代码转换为用UML描述的系统模型。

无论是从模型生成代码,还是由代码生成模型,都是一项非常复杂的工作。Rational Rose 2003将正向工程和逆向工程结合在了一起,提供了编程语言与UML模型图之间的双向转换的机制。

正向工程是指从模型直接产生一个代码框架,它可以为开发人员节约很多编写代码的时间。在一般情况下,开发人员首先要将系统设计细化到一定程度,然后就可以应用正向工程来获得代码框架了。

逆向工程是指将代码转换成模型。在软件开发过程中,保持代码与模型一致时间很繁琐的事情,在这方面逆向工程非常有用。在迭代开发过程中,一旦某个模型作为迭代的一部分被修改,正向工程则会加入所有新的类、属性和方法的代码。以前这些代码都是靠手工来完成的,在编程人员编写代码时会出现一些新的问题,导致增加或改变原来的设计。随着代码的改变模型变得不同步了,这时完全不需要手工重新更改模型。因为有了逆向工程,代码与模型是同步的,在代码修改的同时,模型也在更新。

Rational Rose 2003支持正向、逆向和双向工程,可实现为模型产生相应代码框架、由用户原有系统的源代码导出该系统的模型以及模型和代码之间的循环工程。

(2)正向工程

在Rational Rose中,正向工程主要是指从Rose模型中的一个或多个类图生成Java源代码的过程。Rational Rose中的正向工程是以组件为中心的,Java源代码生成的关键是基于组件的,而不是基于类的,所以在创建一个类后需要将它分配给一个有效的Java组件。如果模型的缺省语言是Java,Rational Rose会自动为这个类创建一个组件。下面简要介绍一下Rose正向工程从模型生成Java代码的方法。

1.创建组件

组件有多种类型,比如源代码、执行文件、运行库、ActiveX组件和其它小程序。组件框图上可以加入组件之间的依赖型。组件图的创建参照上一节中介绍的方法。

(1)建立组件与类的映射

鼠标右键单击组件框图中的组件,从弹出菜单中选择【Open Specification】菜单项,在弹出对话框中选择【Realizes】选项卡,如图20所示。鼠标右键相应的类,并从菜单中选择【Assign】选项,则在模型结构窗口逻辑视图中的相关类名后将显示组件名。

(2)设置代码生成属性

类和组件都可以设置代码生成属性,一般使用Rose默认的设置方式。要设定浏览代码

11

的生成属性,应在菜单中选择【Tools?Options】,弹出如图21所示的对话框,选择相应的选项卡即可设定相应的值。

图20 建立映射界面 图21 设置代码生成属性界面

(3)选择类和组件

代码生成时,一次可以生成一个类或组件,也可以生成包,可以通过鼠标单击来激活相应的类、组件或包。

2.检查模型语法

这时一个可选的步骤。在生成代码之前,可以选择对模型组件的语法进行检查。在生成代码时,Rose会自动进行语法检查,不同语言的语法检查是不同的。

模型组件的语法检查主要有步骤: ? 打开包含用于生成代码组件的模型图。 ? 选择菜单命令【Tools?Check Model】,从日志记录窗口中观察错误日志,如果有错误,将在日志记录窗口中显示错误信息。

? 进行独立检查,可以选择【Tools?Java/J2EE? Syntax Check】进行语法的检查,也可以检查其它语言的语法,把Java替代成相应的语言即可。

? 对组件进行改正。 3.设置Classpath

选择菜单命令【Tools?Java/J2EE?Project Specification...】,打开Rose中的【Project

图22 设置路径界面

12

Specification】对话框,其中【Classpath】选项卡可以用来为模型指定一个Java类路径,如图22所示。

无论是从模型生成代码还是从代码导出模型,Rose都将使用该路径。 4.备份文件

代码生成后,Rose将会生成一份当前源文件的备份,后缀名是“.jv~”。在用代码生成模型时,必须将源文件备份。如果多次为同一个模型生成代码,那么新生成的文件备份将覆盖原来的备份文件。

5.生成代码

选择菜单命令【Add-Ins?Add-In Manager】,弹出如图18所示的对话框,在对话框中可以设置显示或隐藏各种语言生成菜单。然后选择菜单命令选择菜单命令【Tools? Java/J2EE?Generation Code】生成代码。

至此,Java代码生成完毕,正向工程结束。

(3)逆向工程

在Rational Rose中,以Java语言为例,逆向工程是分析Java代码,然后利用Rose将其转化成模型的过程。Rational Rose允许从Java源文件(.java文件)、Java字节码(.class文件)以及一些打包文件(.zip,.jar,.cab等)中进行逆向工程。

下面简单介绍一下逆向工程的过程。 1.检查Classpath环境变量

进行逆向工程的时候,必须要有JDK类库的支持,所以这已不是必要的。Classpath可以指向不同类型的类库文件,例如.zip,rt.jar等。有关Classpath的配置,可以从“环境变量”中设置,这里不再赘述。

2.启动逆向工程

启动逆向工程的方法有3种。第一种方法,选择一个类,然后单击【Tools?Java/J2EE? Reverse Engineer】子菜单;第二种方法,右键单击某个类,然后在弹出的菜单中选择【Java/J2EE?Reverse Engineer】;第三种方法,将文件拖到Rose模型中的组件图或者类图中。

13

图23 【Java Reverse Engineer】对话框

在如图23所示的【Java Reverse Engineer】对话框中,左侧目录显示了Classpath的路径,另外还需要单击目录下方的【Edit CLASSPATH...】按钮为自己创建一个路径,这个路径是你的.java文件的存放路径。然后再右侧会显示该目录下的所有.java文件。选中右侧目录下需要的.java文件,单击【Add】按钮,就会将其加入到FileName区域中,在该区域再次选择需要逆向的.java文件,单击【Reverse】按钮,完成后单击【Done】按钮即可完成.java文件向模型图的转换。

至此,逆向工程结束。

3. Microsoft Visio 2003简介

作为知名的绘图工具,Microsoft Visio专业版在添加了众多UML相关功能后,成为一种功能强大的建模工具。UML建模只是Microsoft Visio众多功能中的一种。下面简要介绍一下使用Microsoft Visio 2003绘制UML模型图的方法。

图24 Microsoft Visio 2003中的UML绘图界面

图24显示了Microsoft Visio准备进行UML建模绘图的状态。界面中右侧白色区域为绘图区;左上方的“形状”区域表示的是Visio的UML元素调板,它由很多的标签页组成,每个标签页提供一组特定的UML图标用于绘制一种UML模型图;左下方的“模型资源管理器”以树形结构给出Visio的字典。

作为绘图软件,Visio可以绘制各种UML模型图,如图24中“形状”区域所显示的,主要包括:用例图、静态结构(类图、对象图和包图)、状态图、活动图、时序图(图中的“序列”)、协作图、组件图和配置图(图中的“部署”)。在绘制相应模型图过程中,可

14

以根据“形状”区域中相关标签页所提供的特定图标,通过拖放的形式将其放置在绘图区域中;然后根据对于待开发系统的分析与设计结果进行图形元素的适当组合,以形成相应模型图;之后还可以对于模型图进行详细设置,通过鼠标双击图中各元素,可以弹出相应的属性设置对话框,在弹出的对话框中可以进行图形元素属性及其相互关系的设置。

作为Microsoft公司Office系列的一款软件,Visio在于其他文档排版工具的兼容方面拥有不可替代的优势,可以使所绘制的UML模型图与其它文档很好的结合在一起,它的这个优点是其深受广大UML建模人员的欢迎。

虽然Microsoft Visio作为一款绘图软件可以完成常规UML模型的描述工作,但它并不是专为描述UML设计结果而设计的,尽管它包括了UML的一些图形集,但在描述软件组件间的关联性上能力还是非常有限的,所以尽管可以利用它来生成相关的设计图,但是在完成其他一些UML建模工作(例如正向工程和逆向工程)时,使用起来并不方便。

4. JUDE工具简介

相比前面介绍过的Rational Rose和Microsoft Visio而言,JUDE(Java and UML Developers’ Environment)则是一种介于两者之间的一个非常方便、有效、实用小巧的UML建模工具。虽然它的大小不到2MB,却不仅可以容易的创建用例图、类图、状态图、活动图、时序图、协作图、组件图和配置图等模型图,还可以将模型导出成Java源文件、HTML和文本格式。另外,在JUDE中还可以直接导入Java源文件,逆向工程化的直接建模,进而简化源文件直接分析的难度。

在与其他设计工具的接口上JUDE做得也很好,例如JUDE中可以导入Rose 98的MDL文件,这样就可以将Rational Rose中所设计的内容直接引入到JUDE中使用。

在JUDE中可以将某一个系统的设计放在同一个文件中生成,这样不仅可以将此系统设计中所生成的UML各类模型图统一在一起,并且这些图中的UML组件还可以被其他模型图方便的重用。同时,JUDE还对于各个UML组件间的关联关系提供了非常方便的描述手段。

相比于Rational Rose而言,JUDE工具所能支持的系统开发环境比较单一,JUDE对于应用Java语言开发的系统支持得很好,但是对于其他程序设计语言开发的系统无法完成正常的导入、导出。同时,JUDE软件在安装前,必须要求已经预装了J2SE环境,这也是它相对于Rational Rose的一个局限性。对于采用Java语言进行系统开发的读者来说,JUDE工具不失为一个方便、实用的UML建模工具,感兴趣的读者可以进行进一步的应用及探索。

15

实验一 Rational Rose基本操作

1. 实验名称

Rational Rose基本操作 2. 实验目的

(1)学会安装Rational Rose 2003,并掌握建模环境设置的方法。 (2)掌握Rational Rose 2003的菜单栏及工具栏的基本操作。 (3)熟悉Rational Rose的4个视图的相关操作。 (4)掌握运用Rational Rose 2003进行建模的方法。 3. 实验要求

(1)参照实验准备中所介绍的方法安装Rational Rose 2003,并进行设置。 (2)记录应用Rational Rose 2003进行UML建模的过程。 (3)按要求撰写实验报告。 4. 实验任务

(1)安装Rational Rose 2003,并进行全局设置,根据自己的需要设置字体、颜色以及其他全局选项。

(2)使用Rational Rose进行建模,完成以下操作:创建模型、保存模型、保存日志、导入与导出模型、发布模型。

(3)通过菜单栏及工具栏完成对4个视图的操作:在视图中新建、修改、保存及删除模型图;在绘图区域完成图形元素的添加与删除;完成对图形元素的属性及其关系的设置。

(4)运用双向工程完成模型图与基本代码之间的转化。(选作)

16

实验二 用例图设计

1. 实验名称 用例图设计 2. 实验目的

(1)熟悉UML建模实验环境。本书推荐实验环境为Rational Rose,使用方法详见实验准备。

(2)掌握识别参与者和用例的方法。

(3)掌握定义参与者之间、用例之间关系的方法。 (4)学会对用例进行描述。 (5)学会绘制用例图。 3. 实验要求

(1)写出用例图建模的完整过程。

(2)结合所分析系统说明识别参与者和用例的方法。

(3)结合所分析系统说明如何定义参与者之间以及用例之间的关系。 (4)给出主要用例的描述。

(5)保存用例图模型,并输出系统用例图。 (6)按要求撰写实验报告。 4. 实验任务

现拟开发一个BBS论坛系统,其总体需求如下: ? 新会员注册

? 会员登录论坛发表文章 ? 会员及游客查询文章 ? 会员信息、等级及权限管理 ? 论坛分类管理 ? 帖子管理

分析该系统的总体要求,创建其用例模型。创建用例模型应遵循以下步骤: ① 识别和确定参与者。 ② 识别和确定用例。 ③ 描述用例。

④ 定义用例之间的关系。 ⑤ 建立用例图,构造用例模型。

17

上述系统为本次实验建议开发的系统,依据不同读者的需要,可以根据实际情况另选其他系统作为实验系统完成实验内容。

18

个消息的内容标识。

⑤ 设置对象的激活期,可视化消息的嵌套或可视化实际计算发生时的时间点。 ⑥ 如果需要设置时间或空间的约束,可以为每个消息附上合适的时间和空间约束。 ⑦ 如果需要形式化的说明某控制流,可以为每个消息附上前置和后置条件。 在使用协作图进行系统动态行为交互建模时,可以参考以下步骤: ① 设置交互的语境,这些语境可以是系统、子系统、类、用例或其脚本。

② 识别对象在交互语境中所扮演的角色,将这些对象以节点的形式放置在协作图中。 ③ 对协作图中的对象进行初始化设置。

④ 完成对象的初始化设置后,根据对象间的交互关系建立对象之间的链接。 ⑤ 从引起交互的消息开始,按消息的顺序依次将后续的消息添加在适当的链接上,还

可以使用带有二级或二级以上编号来表达消息的嵌套。

⑥ 如果需要设置时间或空间的约束,可以为每个消息附上合适的时间和空间约束。 ⑦ 如果需要形式化的说明某控制流,可以为每个消息附上前置和后置条件。 上述系统为本次实验建议开发的系统,依据不同读者的需要,可以根据实际情况另选其他系统作为实验系统完成实验内容。

24

实验六 实现图设计

1.实验名称 实现图设计 2.实验目的

(1)掌握组件建模及结点建模的方法,能够准确识别出组件图及配置图中各类组成元素。

(2)学会定义组件提供的接口,并能确定组件间、组件与接口间以及结点间的关系。。 (3)掌握配置图与组件图的嵌套。 (4)学会绘制组件图及配置图。 3.实验要求

(1)结合所分析系统说明如何识别系统组件、接口、配置图中的结点以及各结点上驻留的组件。

(2)说明所创建的组件间、组件与接口间、结点间的关系。 (3)保存组件图及配置图模型,并输出系统组件图及配置图。 (4)按要求撰写实验报告。 4.实验任务

现拟开发一个BBS论坛系统,其主要功能如下: ? 新会员注册

? 会员登录论坛发表文章 ? 会员及游客查询文章 ? 会员信息、等级及权限管理 ? 论坛分类管理 ? 帖子管理

结合以上系统功能,对待开发系统进行分析,创建相应组件,完成组件图建模;确定系统结点,定义结点间关联关系,扩展各结点上驻留的组件,完成配置图建模。

在组件图的建模过程中,可以参考以下步骤: ① 对系统中的组件建模。 ② 定义相应的组件提供的接口。

③ 对组件与组件、组件与接口之间的关系建模。 ④ 将逻辑设计映射为物理实现,完成组件图。 ⑤ 对建模结果进行精化和细化。

25

配置图建模可以参照下列步骤: ① 对系统中的结点建模。 ② 对结点之间的关联关系建模。 ③ 对驻留在结点上的组件建模。 ④ 对结点上组件间的依赖关系建模。 ⑤ 对建模的结果进行精化和细化。

另外,在建模的基础上绘制配置图的步骤如下: ① 添加结点。

② 完成结点上的配置及内嵌组件图的建模。 ③ 添加结点间的关系。 ④ 精化、细化、整理配置图。

上述系统为本次实验建议开发的系统,依据不同读者的需要,可以根据实际情况另选其他系统作为实验系统完成实验内容。

26

实验三 类图设计

1. 实验名称 类图设计 2. 实验目的

(1)掌握识别和定义类的方法。 (2)掌握定义类间关系的方法。 (3)学会绘制类图。 3.实验要求

(1)写出类图建模的完整过程。

(2)结合所分析系统说明识别和定义类的方法。 (3)结合所分析系统说明如何定义类与类之间的关系。 (4)保存类图模型,并输出系统类图。 (5)按要求撰写实验报告。 4.实验任务

现拟开发一个BBS论坛系统,其总体需求如下: ? 新会员注册

? 会员登录论坛发表文章 ? 会员及游客查询文章 ? 会员信息、等级及权限管理 ? 论坛分类管理 ? 帖子管理

分析该系统的总体要求,创建其类图模型。创建类图模型应遵循以下步骤: ① 识别系统对象。 ② 识别和定义类。 ③ 定义类间的关系。 ④ 建立类图,构造静态模型。

上述系统为本次实验建议开发的系统,依据不同读者的需要,可以根据实际情况另选其他系统作为实验系统完成实验内容。

19

实验四 行为图设计

1.实验名称 行为图设计 2.实验目的

(1)能够准确识别状态图及活动图建模的系统元素。

(2)掌握状态图设计中事件建模及动作建模方法,能够确定引起对象状态转移的事件以及转移激活时被执行的动作。

(3)掌握控制流及对象流建模方法,能够定义活动图中的控制流和对象流;并学会在活动图中添加泳道。

(4)掌握不断细化、完善活动图的方法。 (5)学会绘制状态图及活动图。 3.实验要求

(1)写出行为图建模的完整过程。

(2)结合所分析系统说明确定行为图中各种模型元素的方法。 (3)保存状态图及活动图模型,并输出系统状态图、活动图。 (4)按要求撰写实验报告。 4.实验任务

本次实验内容为使用状态图及活动图进行待开发系统中对象或子系统的动态行为建模,主要任务分为以下两部分:

1)状态图建模

状态图建模部分进行待开发系统中对象或子系统的状态机模型设计,可以在(1)、(2)任务中任选其一进行完成。

(1)针对实验三的BBS论坛系统,主要完成以下子系统的状态图建模: ? 前台业务处理子系统(主要处理访问论坛过程中的状态转移) ? 后台会员管理子系统 ? 后台论坛分类管理子系统 ? 后台帖子管理子系统

(2)现拟开发一个人力资源管理系统,要求建立employee类的状态图,employee类的状态信息如下:

? Apply状态 在这个状态下进行面试,出现hire(雇佣)事件时提出此状态。

20

? Employed状态 该状态按工资的支付方式分为三个子状态Hourly、Salaried和Commissioned。其支付方式可随时改变。当进入/退出子状态时建立/删除支付方式分类。

? Leave of Absence状态 雇员在任何雇佣子状态下最长可请假1年。如果雇员返回到Employed状态的同样支付方式子状态,则结束此状态信息。

? Terminated状态 在任何Employed状态的子状态下,雇员可以被开除或自动提出辞职。此状态终结时,要做雇员记录(Employee Record)。 ? Retired状态 雇员在60岁时退休,在此状态下计算养老金信息。 在使用状态图进行动态建模时,可以参照以下步骤进行: ① 识别一个需要继续建模的实体。

② 对状态建模,即确定对象可能存在的状态。 ③ 对事件建模,即确定能引起状态转移的事件。 ④ 对动作建模,即确定转移激活时被执行的动作。 ⑤ 对建模结果进行精化和细化。 在绘制状态图时,基本的操作步骤如下: ① 创建状态图。

② 添加初始状态和终止状态。 ③ 添加状态,并完成状态相关设置。 ④ 完成组合状态。 ⑤ 添加历史指示器。

⑥ 添加转移,并完成相关设置。 ⑦ 检查状态图,并进行细化整理。 2)活动图建模

现拟开发一个BBS论坛系统,其总体需求如下: ? 新会员注册

? 会员登录论坛发表文章 ? 会员及游客查询文章 ? 会员信息、等级及权限管理 ? 论坛分类管理 ? 帖子管理

本实验内容为:在完成代开发系统用例图建模基础上,使用活动图对于待开发系统中各主要用例进行动态行为建模。

在使用活动图进行动态建模时,可以参照以下步骤进行: ① 识别要对其工作流进行描述的用例。 ② 进行主路径建模。

③ 对细化主路径,进行从路径建模。

21

④ 添加泳道来标识活动的事务分区。 ⑤ 改进高层活动并添加到更多活动图。 在绘制活动图时,基本的操作步骤如下: ① 创建活动图。

② 添加动作,完成动作建模。

③ 添加其他结点及控制流,完成控制流建模。 ④ 添加对象及对象流,完成对象流建模。 ⑤ 添加泳道。

⑥ 检查活动图,并进行细化整理。

上述系统为本次实验建议开发的系统,依据不同读者的需要,可以根据实际情况另选其他系统作为实验系统完成实验内容。

22

实验五 交互图设计

1.实验名称 交互图设计 2.实验目的

(1)能够准确识别所创建时序图及协作图中的给类模型元素。 (2)能够准确识别控制流所包括的全部对象。 (3)能够准确定义时序图及协作图中各对象间的消息。 (4)学会绘制时序图及协作图。 3.实验要求

(1)写出时序图建模及协作图建模的完整过程。

(2)结合所分析系统说明确定对象及对象间消息的方法。 (3)保存时序图及协作图模型,并输出系统时序图、协作图。 (4)按要求撰写实验报告。 4.实验任务

现拟开发一个BBS论坛系统,其总体需求如下: ? 新会员注册

? 会员登录论坛发表文章 ? 会员及游客查询文章 ? 会员信息、等级及权限管理 ? 论坛分类管理 ? 帖子管理

本次实验内容为:在完成待开发系统用例图建模基础上,使用时序图及协作图对于待开发系统中各主要用例进行动态交互图建模。

使用时序图对系统进行交互图建模时,可以参考以下策略:

① 设置交互的语境,这些语境可以是系统、子系统、类、用例和协作的一个脚本。 ② 识别对象在交互语境中所扮演的角色,根据对象的重要性及相互关系,将其从左至

右放置在时序图的顶部。

③ 设置每个对象的生命线。通常情况下,对象存在于整个交互过程中,但它们也可以

在交互过程中创建和撤销。对于这类对象,在适当的时刻设置它们的生命线,并用适当的构造型消息显示地说明它们的创建和撤销。

④ 从引发某个消息的信息开始,在生命线之间画出从顶到底依次展开的消息,显示每

23

本文来源:https://www.bwwdw.com/article/gzmv.html

Top