最新UML实践学习系列6-用Rose创建对象图
- 格式:doc
- 大小:87.00 KB
- 文档页数:5
UML类图关系大全(ROSE画图)1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。
在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。
对象引用本身就是有向的,更适合表达我们所讨论的那种关系。
所以这种关系在设计的时候比较少用到,关联一般都是有向的。
使用ROSE 生成的代码是这样的:class C1...{public:C2* theC2;};class C2...{public:C1* theC1;};双向关联在代码的表现为双方都拥有对方的一个指针,当然也可以是引用或者是值。
单向关联:C3->C4:表示相识关系,指C3知道C4,C3可以调用C4的公共属性和方法。
没有生命期的依赖。
一般是表示为一种引用。
生成代码如下:class C3...{public:C4* theC4;};class C4...{};单向关联的代码就表现为C3有C4的指针,而C4对C3一无所知。
自身关联(反身关联):自己引用自己,带着一个自己的引用。
代码如下:class C14...{public:C14* theC14;};就是在自己的内部有着一个自身的引用。
2、聚合/组合当类之间有整体-部分关系的时候,我们就可以使用组合或者聚合。
聚合:表示C9聚合C10,但是C10可以离开C9而独立存在(独立存在的意思是在某个应用的问题域中这个类的存在有意义。
这句话怎么解,请看下面组合里的解释)。
代码如下:class C9...{public:C10 theC10;};class C10...{};组合(也有人称为包容):一般是实心菱形加实线箭头表示,如上图所示,表示的是C8被C7包容,而且C8不能离开C7而独立存在。
但这是视问题域而定的,例如在关心汽车的领域里,轮胎是一定要组合在汽车类中的,因为它离开了汽车就没有意义了。
UML类图关系大全(ROSE画图)1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。
在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。
对象引用本身就是有向的,更适合表达我们所讨论的那种关系。
所以这种关系在设计的时候比较少用到,关联一般都是有向的。
使用ROSE 生成的代码是这样的:class C1...{public:C2* theC2;};class C2...{public:C1* theC1;};双向关联在代码的表现为双方都拥有对方的一个指针,当然也可以是引用或者是值。
单向关联:C3->C4:表示相识关系,指C3知道C4,C3可以调用C4的公共属性和方法。
没有生命期的依赖。
一般是表示为一种引用。
生成代码如下:class C3...{public:C4* theC4;};class C4...{};单向关联的代码就表现为C3有C4的指针,而C4对C3一无所知。
自身关联(反身关联):自己引用自己,带着一个自己的引用。
代码如下:class C14...{public:C14* theC14;};就是在自己的内部有着一个自身的引用。
2、聚合/组合当类之间有整体-部分关系的时候,我们就可以使用组合或者聚合。
聚合:表示C9聚合C10,但是C10可以离开C9而独立存在(独立存在的意思是在某个应用的问题域中这个类的存在有意义。
这句话怎么解,请看下面组合里的解释)。
代码如下:class C9...{public:C10 theC10;};class C10...{};组合(也有人称为包容):一般是实心菱形加实线箭头表示,如上图所示,表示的是C8被C7包容,而且C8不能离开C7而独立存在。
但这是视问题域而定的,例如在关心汽车的领域里,轮胎是一定要组合在汽车类中的,因为它离开了汽车就没有意义了。
目录1.类图和对象图的概念2.类图的组成3.使用Rose创建类图4.对象图5.使用Rose创建类图案例分析类图和对象图详解对于类图和对象图来说我们需要了解的是类图和对象图的概念,类图的组成,使用Rose创建类图和对象图。
当然最重要的是如何使用Rose创建类图案例分析。
具体的创建通过选课管理系统的简单用例说明创建类图和对象图的方法和具体的过程。
下面是我对类图和对象图学习过程的一个整理,一些资料是直接拿过来直接用的。
希望能对你的学习有一点点的帮助吧。
类图和对象图的概念1. 类的含义类图(Class diagram)显示了系统的静态结构,而系统的静态结构构成了系统的概念基础。
类图,就是用于对系统中的各种概念进行建模,并描绘出它们之间关系的图。
在大多数的 UML 模型中,我们可以将这些概念的类型概括为以下四种,分别是:(1) 类(2) 接口(3) 数据类型(4) 构件在类图中,具体来讲它一共包含了以下几种模型元素,分别是:类、接口、依赖关系、泛化关系、关联关系以及实现关系。
类图可以创建约束、注释和包等。
2. 对象图的含义对象图中包含对象(Object)和链(Link)。
其中对象是类的特定实例,链是类之间关系的实例,表示对象之间的特定关系。
3. 类图在项目开发中的作用类图的作用是对系统的静态视图进行建模。
当对系统的静态视图进行建模时,通常是以以下三种方式来使用类图。
(1)为系统的词汇建模。
(2)模型化简单的协作。
(3)模型化逻辑数据库模式。
在设计数据库时,通常将数据库模式看作为数据库概念设计的蓝图,在很多领域中,都需要在关系数据库或面向数据库中存储永久信息。
系统分析者可以使用类图来对这些数据库进行模式建模。
4. 对象图在项目开发中的作用对象图作为系统在某一时刻的快照,是类图中的各个类在某一个时间点上的实例及其关系的静态写照,可以通过以下几个方面来说明它的作用:(1)说明复杂的数据结构。
对于复杂的数据结构,有时候很难对其进行抽象成类表达之间的交互关系。
UML类图关系大全(ROSE画图)1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。
在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。
对象引用本身就是有向的,更适合表达我们所讨论的那种关系。
所以这种关系在设计的时候比较少用到,关联一般都是有向的。
使用ROSE 生成的代码是这样的:class C1...{public:C2* theC2;};class C2...{public:C1* theC1;};双向关联在代码的表现为双方都拥有对方的一个指针,当然也可以是引用或者是值。
单向关联:C3->C4:表示相识关系,指C3知道C4,C3可以调用C4的公共属性和方法。
没有生命期的依赖。
一般是表示为一种引用。
生成代码如下:class C3...{public:C4* theC4;};class C4...{};单向关联的代码就表现为C3有C4的指针,而C4对C3一无所知。
自身关联(反身关联):自己引用自己,带着一个自己的引用。
代码如下:class C14...{public:C14* theC14;};就是在自己的内部有着一个自身的引用。
2、聚合/组合当类之间有整体-部分关系的时候,我们就可以使用组合或者聚合。
聚合:表示C9聚合C10,但是C10可以离开C9而独立存在(独立存在的意思是在某个应用的问题域中这个类的存在有意义。
这句话怎么解,请看下面组合里的解释)。
代码如下:class C9...{public:C10 theC10;};class C10...{};组合(也有人称为包容):一般是实心菱形加实线箭头表示,如上图所示,表示的是C8被C7包容,而且C8不能离开C7而独立存在。
但这是视问题域而定的,例如在关心汽车的领域里,轮胎是一定要组合在汽车类中的,因为它离开了汽车就没有意义了。
1.1跟我学UML静态建模——在Rational Rose工具中设计实现UML组件图的应用示例在本单元中希望重点了解和掌握与OOP相关的知识,静态建模中的UML包图,在UML 中包的图示及包的联系,网上书店项目中各个包示例;UML中的组件图及其关联,静态建模中的UML类图,类的关联,网上书店项目中的各个类图,静态建模中的UML对象图,静态建模中的UML接口,网上书店项目中所出现的接口。
1.1.1UML中的组件图1、UML中的组件图(1)UML中的组件组件一般表示实际存在的、物理的物件,它是软件系统的一个物理单元,代表系统的一个物理实现块。
(2)组件图的作用1)描述软件组件以及组件之间的关系2)每个组件图只是系统实现视图的一个图形表示,只有各个组件组合起来,才能表示系统完整的实现视图(3)组件图中的三大组件从MVC的角度来看,在一个组件图中应该包括有边界组件、控制组件和实体组件三大部分。
下面为一个系统中的三大组件的关系图示。
(4)组件图的作用1)能够帮助客户理解最终的系统结构2)使开发实现工作有一个明确的目标3)组件图有利于帮助开发组中的其他人员(如帮助文档人员)理解系统(5)组件在UML中的图示组件图由组件、接口和组件之间的联系构成,其中的组件可以是源程序代码、二进制代码或可执行程序。
组件的图示为一个大矩形左嵌两个小矩形,在框内标注组件名字。
如图:注意:1)在组件图中,组件是通用类型而非实例。
要显示组件实例,请使用部署图。
2)组件一般提供对某一接口的实现,如上右图所示。
2、组件类型(1)各种主要类型的组件●配置组件配置组件是可执行系统的基础,它是一个可执行系统必须的组件。
如在J2EE系统中的各种*.xml配置文件、文挡等。
●工作产品组件工作产品组件是在软件开发阶段使用的组件,是配置组件的来源。
如数据文件和数据库表、源程序文件等。
它们并不直接构成可执行系统,而是系统开发过程中的产品。
●执行组件执行组件是可运行系统产生的运行结果,如DLL、*.exe、Jar包文件等COM+、JavaBeans、DLL、ActiveX等都是执行组件。
一使用ROSE绘制用例图的步骤1.创建用例图一般情况下,用例图是UML中要绘制的第一个图。
在用RATIONAL ROSE创建所用的模型之前,首先要新建一个工程.新建工程可以点击【File->New】菜单项,选项卡【New】如图所示,用来选择新建模型时采用的摸板。
在此我们暂时不用摸板,选择Cancel。
要建立新的用例图,可以右键单击“Use Case View”节点,在弹出的菜单中选择【New-〉Use Case Diagram】菜单项,如下图所示。
此时,在“Use Case Diagram”树形结构下多了一个名为“NewDiagram"的图标,这个图标就是新建的用例图标。
右键单击次图标,在弹出菜单中选择【Rename】菜单项,可以为用例图重新命名。
最好为用例图模型取一个有意义的名字。
双击用例图标,出现用例图的编辑区和编辑工具栏,如图所示,左边是用例图的编辑工具栏,右边是用例图的编辑区2.用例图工具栏按纽简介选择一项添加文本框添加注释将图中的元素与注释连接起来包用例参与者关联关系依赖和实例化泛化关系3.工具栏的定制用户可以根据需要自行定制和添加工具栏中的图标,操作方法如下:右键单击工具箱的空白处(注意不要点到图标按纽),在弹出的菜单中选择【Customsize】菜单项后出现“自定义工具栏”对话框4.添加参与者与用例(1)绘制参与者和用例,参与者和用例的绘制方法相同,首先点击工具栏中的图标按纽,然后在编辑区要绘制的地方单击鼠标左键,如下说示显示了一个参与者和一个用例(2)设置用例的属性.在用例上双击,弹出用例属性设置对话框,如图所示。
在对话框的“General”选项卡中可是设置用例的名称“name”,用例的类型“Stereotype”,用例的层次“rank”,以及对用例的问档说明“documentation”。
(3)设置参与者的属性。
参与者的属性设置跟用例的设置一样.5.添加参与者与用例的关系参与者与用例的关系为关联关系,要绘制关联关系。
上机课的时间:5.21——6.15,整4周时间。
上机目的:熟悉和掌握Rational Rose软件的操作和使用。
具体来说,通过这4周的上机课,希望大家了解、熟悉和掌握:(1)在Rational Rose中建立用例图、类图、对象图、时序图、协作图、状态图、活动图、组件图(构件图)、配置图的操作方法。
也即:重点讨论创建(画)这些图的具体操作问题(建模)。
(这是通过上机课要达到的基本要求。
)通过初步接触、学习Rose之后,针对该软件,今后的努力方向:(2)进而加强理解和应用面向对象的概念、思想;(3)进而加强对UML语言的掌握与应用(UML的基本概念、基本方法);(4)再进而具备分析企业系统、规划和设计企业管理信息系统的能力,具有用统一建模语言对复杂对象进行分析、设计等描述的能力;(5)并了解UML领域最新技术发展情况及研究前沿动态。
学习方法:自学上机计划及任务:第1周:掌握用例图、类图、对象图的创建。
第2周:掌握时序图、协作图的创建。
第3周:掌握状态图、活动图的创建。
第4周:掌握构件图、配置图的创建。
上机课导读:Rational Rose是面向对象分析与设计建模最好用的工具。
它的应用领域宽,应用时间长,也较为成熟。
当前,它是IT企业常用的CASE工具之一。
计算机及软件专业的大学生、研究生和软件工程师必须学会它,掌握它,并用它来解决面向对象分析与设计建模的实际问题。
学习与探险一样,针对不会或未知的内容,需要保持一颗无比好奇的心态,去探索。
喜欢冒险和探险的朋友,让我们一起来吧!Rational Rose的理论基础是统一建模语言UML。
在学习Rational Rose之前,必须对UML 有所了解。
由于UML本身也较为复杂。
所以,学习Rational Rose比学习PowerDesigner要困难得多。
但是,天下无难事,只要肯用心!路漫漫其修远兮吾将上下而求索--屈原《离骚》Rose这个软件,由于课堂上没有时间来教大家,大家需要自学这个软件。
UML实验三分析、设计并使用Rose创建类图UML统一建模语言实验实验三分析、设计并使用Rose创建类图1实验目的1.1学会分析与设计实际项目需示中的静态模型1.2掌握在Rational Rose 2007中绘制类图2实验内容2.1阅读、理解并创建教材附录《课程实验一饭店预订管理系统》中的类图(267页)。
2.1.1理解其中的类元素、类之间的关系(依赖、关联、泛化、实现),其中关联关系理解其多重性。
2.1.2在Rational Rose中创建教材中的类图,探索工具中类以及类之间的关系等模型元素的属性表示。
2.2综合实例分析:图书管理系统的静态建模参考实验二对图书管理系统已经完成的需求分析和用例图的创建结果,进一步分析该系统的静态模型,即类的设计。
整个过程中,注意类之间关系的使用,类名、属性名、成员名的命名规则。
要求:1)对类的分析按照实体类、界面类、控制类的类型分别设计;a)一个功能的路径:用户类-》界面类–》控制类–》实体类2)每一个类,考虑其应对外提供的功能,确定操作和属性,对于操作尽量细化到每个操作应该有的参数和返回值;2.2.1设计与创建系统的用户类与实体类根据基本的需求描述,用户类与实体类至少要包括以下:●借阅者(Borrower)●图书管理员(Librarian)●书刊(Book)●物理书刊(BookItem)●借书记录(Loan)●预订记录(Reservation)思考:以上这些存储于数据库的实体类,都要提供增(add)、删(delete)、改(update)、查(get)的操作,能否抽象出一个公用类来定义这些共同操作?该如何定义?2.2.2设计与创建系统的界面类1)为系统的主要功能设计系统的界面,至少应该分为登录界面、借还书服务界面、信息管理界面;2)细分每个界面大类下的子界面类:如借书服务界面应该至少包括借阅界面、退还界面、预约界面等等;a)思考:主界面类与子界面类的关系是什么?b)3)根据用户可能对相应界面进行的操作,定义界面类的操作,以便在后续的动态建模的消息中直接使用操作表示消息名。
计算机科学与技术专业实验报告 课程名称:UML 统一建模语言……………………………………………装……………………………………订……………………………………线……………………………………………………………图图2-4(Ⅱ)按系统的重要模块细分系统设置模块:设置系统基本信息,由系统管理员操控;如图统计管理模块:统计分析营业状况,由财务管理员操控;如图图2-5图2-7图2-8图2-9⑶组件图:描述软件组件以及组件之间的关系,组件本身是代码的物理模块,则显示了代码的结构。
组件图中通常包括:组件、接口和关系。
在系统建模中建立组件图的用途有:能帮助客户理解最终的系统结构;工作有一个明确的目标;有助于工作组的其他人员理解系统;有利于软件系统的组件重用。
以下图2-10是对该软件系统进行组件图建模图2-10图2-123、系统的行为模型动态模型描述了系统随时间变化的行为,这些行为是用从静态视图中抽取的系统的瞬间值的变化来描述的。
在UML的表现上,动态模型主要是建立系统的交互图和行为图。
交互图包括时序图和协作图;行为图则包括状态图和活动图。
(1)时序图:时序图用来显示对象之间的关系,并强调对象之间消息的时间顺序,同时显示对象之间的交互,它可以与时序图互换。
包括了4个元素,分别是对象、生图3-1图3-3图3-5图3-6图3-7活动图是一种特殊形式的状态机,用于对计算流程和工作流程建模。
可以算是状态的一种扩展方式。
活动图与状态图不同,它除了描述对象状态之外,突出了它的活动。
活动图包括动作状态和活动状态。
对象的动作状态是活动图最小单位的构造块,表示原子动作。
动作状态表示状态的入口动作。
对象的活动状态可以被理解成一个组合,它的控制流由其他活动状态或动作状态组成。
110
7.5 实验:使用Rose绘制包与包图
本节将主要介绍如何在Rose工具中使用包组织元素及绘制包图。
7.5.1 包图的Rose操作
1.Rose中包与包图的相关说明
由于UML 1.x规范没有明确定义包图,因此Rose工具并没有为包图建立独立的空间,而是更多的将包作为一种组织结构显示在浏览器中。
然而,包元素可以被创建在几乎所有种类的UML 图中,因此我们建议在Rose中可以将包图表示在同样展现静态结构的类图中。
2.创建包元素
要将包元素直接加入图中,可以直接选中工具栏中的包按钮,再在图中适当位置单击并输入包名即可。
要将包元素添加到浏览器中,可以在要创建的包的上层包中单击鼠标右键,在弹出的菜单中选择【New】Æ【Package】项,并输入包名,如图7-8所示。
另外,可以将浏览器中的包元素拖
动到图中。
图7-8 添加包元素到浏览器中
3.向包中添加元素
要将已存在的元素移动到包中,只需要在浏览器中将该元素从目前的位置拖动到新的包元素的目录节点下即可。
也可以通过在包上单击鼠标右键,在弹出的菜单中选择【New】项来新建元素。
要设置元素在包中的可见性,可以打开该元素的规格说明对话框并在【General】选项卡中的
【Export Control】处选择适当的可见性即可。
4.删除包元素
要删除一个已存在的包元素,只要在浏览器中选中该包并单击鼠标右键,在弹出的菜单中选。
实验一Rose基本使用及用例图[实验目的]1.熟悉Rose的系统界面,掌握其基本使用方法。
2.熟悉模型图标元素。
3.掌握用例图的绘制方法。
[实验内容]1.练习Rose的基本使用。
2.熟悉UML模型元素及表示方法。
3.绘制图书馆管理系统的用例图。
[实验要点及说明]一、Rose简介Rose是美国的Rational公司的面向对象建模工具,利用这个工具,可以建立用UML描述的软件系统的模型,而且可以自动生成和维护C++、Java、VB和Oracle等语言和系统的代码。
➢Rational Rose在建模方面具有以下特点:1.保证模型和代码高度一致。
Rose可以实现真正意义上的正向、逆向和双向工程。
2.支持多种语言。
Rose本身能够支持的语言包括C++、Visual C++、Java、Visual Basic、PowerBuilder 等,还可为数据库应用产生数据库描述语言(DDL)。
3.为团队开发提供强有力的支持。
Rose提供了两种方式来支持团队开发:一种是采用SCM(软件配置管理)的团队开发方式;另一种是没有SCM情况下的团队开发方式。
这两种方式为用户提供了极大的灵活性,用户可以根据开发的规模和开发人员数目以及资金情况等选择一种方式进行团队开发。
4.支持模型的Internet发布。
Rose的Internet Web Publisher能够创建一个基于Web的Rose模型的HTML版本,使得其他人员能够通过标准的浏览器,如IE来浏览该模型。
5.生成使用简单且定制灵活的文档。
Rose本身提供了直接产生模型文档的功能。
6.支持关系型数据库的建模。
利用Rose能够进行数据库的建模。
Rose能够为ANSI、Oracle、SQL Server等支持标准DDL的数据库自动生成数据描述语言。
➢Rational Rose 基本使用Rational Rose主界面如下图所示::Rose的工作区分为4个部分:浏览器、文档区、编辑区和日志区。
对象图的组成
2010-07-31 23:01 胡荷芬/张帆/高斐清华大学出版社我要评论(0)字号:T | T
综合评级:
想读(2)在读(0)已读(0)品书斋鉴(0)已有2人发表书评
《UML系统建模基础教程》第7章类图与对象图L,本章主要介绍UML类图和对象图的基本概念、图形的表示方法以及如何使用Rational Rose来创建这两类图形。
本小节为大家介绍对象图的组成。
AD:
7.4 对象图
前面对对象图的概念做了一些基本的介绍,下面将介绍对象图的基本组成元素以及如何创建对象图。
7.4.1 对象图的组成
对象图(Object Diagram)是由对象(Object)和链(Link)组成的。
对象图的目的在于描述系统中参与交互的各个对象在某一时刻是如何运行的。
1. 对象(Object)
对象是类的实例,创建一个对象通常可以从两种情况来观察。
第一种情况是将对象作为一个实体,它在某个时刻有明确的值;另一种情况是将对象作为一个身份持有者,不同时刻有不同的值。
一个对象在系统的某一个时刻应当有其自身的状态,通常这个状态使用属性的赋值或分布式系统中的位置来描述,对象通过链和其他对象相联系。
对象可以通过声明的方式拥有唯一的句柄引用,句柄可标识对象,提供对对象的访问,代表了对象拥有唯一的身份。
对象通过唯一的身份与其他对象相联系,彼此交换消息。
对象不仅可以是一个类的直接实例,如果执行环境允许多重类元,则可以是多个类的直接实例。
对象也拥有直属和继承操作,可以调用对象执行任何直属类的完整描述中的任何操作。
对象也可以作为变量和参数的值,变量和参数的类型被声明为与对象相同的类或该对象直属类的一个祖先,它的存在可简化编程语言的完整性。
对象在某一时刻,其属性都是有相关赋值的,在对象的完整描述中,每一个属性都有一个属性槽,即每一个属性在它的直属类和每一个祖先类中都进行了声明。
当对象的实例化和初始化完成后,每个槽中都有了一个值,它是所声明的属性类型的一个实例。
在系统运行中,槽中的值可以根据对象所需要满足的各种限制进行改变。
如果对象是多个类的直接实例,则在对象的直属类中和对象的任何祖先中声明的每一个属性在对象中都有一个属性槽。
相同属性不可以多次出现,但如果两个直属类是同一祖先的子孙,则不论通过何种路径到达该属性,该祖先的每个属性只有一个备份被继承。
在一些编程语言中支持动态类元,这时对象就可以在执行期间通过更改直属类操作,指明属性值改变它的直属类,在过程中获得属性。
如果编程语言同时允许多类元和动态类元,则在执行过程中可以获得和失去直属类。
这种编程语言如C++等。
由于对象是类的实例。
对象的表示符号是与类用相同的几何符号作为描述符,但对象使用带有下划线的实例名,将它作为个体区分开来。
顶部显示对象名和类名,并以下划线标识,使用语法是"对象名:类名",底部包含属性名和值的列表。
在Rational Rose 2003中,不显示属性名和值的列表,但可以只显示对象名称,不显示类名,并且对象的符号图形与类图中的符号图形类似,如图7-23所示。
图7-23 对象的各种表示形式
对象也有其他一些特殊的形式,如多对象和主动对象等。
多对象表示多个对象的类元角色。
多对象通常位于关联关系的"多"端,表明操作或信号是应用在一个对象集而不是单个对象上的。
主动对象是拥有一个进程(或线程)并能启动控制活动的一种对象,它是主动类的实例。
2. 链(Link)
链是两个或多个对象之间的独立连接,它是对象引用元组(有序表),是关联的实例。
对象必须是关联中相应位置处类的直接或间接实例。
一个关联不能有来自同一关联的迭代连接,即两个相同的对象引用元组。
链可以用于导航,连接一端的对象可以得到另一端的对象,也就可以发送消息(称通过联系发送消息)。
如果连接对目标方向有导航性,那么这一过程就是有效的。
如果连接是不可导航的,则访问可能有效或无效,但消息发送通常是无效的,相反方向的导航另外定义。
在UML中,链的表示形式为一个或多个相连的线或弧。
在自身相关联的类中,链是两端指向同一对象的回路。
如图7-24所示,是链的普通和自身关联的表示形式。
图7-24 链的表示示例
创建对象图
2010-07-31 23:01 胡荷芬/张帆/高斐清华大学出版社我要评论(0)字号:T | T
综合评级:
想读(2)在读(0)已读(0)品书斋鉴(0)已有2人发表书评
《UML系统建模基础教程》第7章类图与对象图L,本章主要介绍UML类图和对象图的基本概念、图形的表示方法以及如何使用Rational Rose来创建这两类图形。
本小节为大家介绍创建对象图。
AD:
7.4.2 创建对象图
对象图无需提供单独的形式。
类图中就包含了对象,所以只有对象而无类的类图就是一个"对象图"。
然而,"对象图"在刻画各方面特定使用时非常有用。
对象图显示了对象的集合及其联系,代表了系统某时刻的状态。
它是带有值的对象,而非描述符,当然,在许多情况下对象可以是原型的。
用协作图可显示一个可多次实例化的对象及其联系的总体模型,协作图含对象和链的描述符。
如果协作图实例化,则产生了对象图。
在Rational Rose 2003中不直接支持对象图的创建,但是可以利用协作图来创建。
1. 在协作图中添加对象
(1) 在协作图的图形编辑工具栏中,选择图标,此时光标变为"+"号。
(2) 在类图中单击,任意选择一个位置,系统便在该位置创建一个新的对象。
(3) 双击该对象的图标,弹出对象的规范设置对话框。
(4)在对象的规范设置对话框中,可以设置对象的名称、类的名称、持久性和是否多对象等。
(5) 单击"OK"按钮。
2. 在协作图中添加对象与对象之间的链:
(1) 选择协作图的图形编辑工具栏中的图标,或者选择菜单"Tools"(工具)中"Create"(新建)下的"Object Link"选项,此时的光标变为"↑"符号。
(2) 单击需要链接的对象。
(3) 将链的线段拖动到要与之链接的对象中。
(4) 双击链的线段,弹出设置链规范的对话框。
(5) 在弹出的对话框中,在"General"选项卡中设置链的名称、关联、角色以及可见性等。
(6) 如果需要在对象的两端添加消息,可以在"Messages"选项卡中进行设置,如图7-25所示。
图7-25 添加消息示例 在框中可以根据链两端对象的名称插入消息,对象的消息指的是该对象所执行的操作,并设置相应的编号和接受者。
下面是一个带有"驾驶汽车:driveCar(Car)"消息的对象图,如图7-26所示。
图 7-26 带有消息的对象图 出院病人健康宣教 亲爱的病员,您的病情已基本稳定即将出院,为了使您顺利办理出院手续,请按以下流程做好准备,谢谢配合! 出院
前一。