对象图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Home
OnLine Services 订单处理
OrderEntry, Tracking Payme
型与实现类
导出属性与导出关联
Home
抽象类
抽象类(Abstract Class)是不能直接产生实例的类,抽 象类的实例对象只能通过一个非抽象类的子类产生。 抽象类的作用仅仅是为了其他的非抽象类继承和重用它 所说明的属性、操作及其他性质。 UML的抽象类与程序设计语言中的纯虚函数的含义一 抽象类一般是在继承结构中作为一个公共接口。 UML中的抽象类与接口是不同的模型元素。一个抽象类 可以含有属性,接口不含有属性,而且接口既可以由类 实现(逻辑抽象元素),也可以由组件实现(物理抽象 元素)。 抽象类的表示:在类图标中的类名下标有约束{abstract}, 或把类名写成斜体字 。
图5.23 用接口定义角色
Home
接口与端口
端口(Port)是分类符(类、组件 等)的一种特征(Property),是 一个分类符与其外部环境的交互 点,它将分类符的内部与它的外 部环境隔离,实现了双向封装。 端口必须结合有接口。一个分类符 (类、组件等)通过端口使用接 口或实现接口,通过与端口相结 合的供给接口和/或需要接口与外 部环境联系。 一个分类符可以有多个端口,一个 端口可以有一个和多个供给接口 和需要接口。 端口的图标是一个小正方形,该小 正方形放置在分类符图标的边框 上,如图5.24所示。
图5.21 抽象类表示的接口
Home
接口与端口
接口也可以用棒糖式图标或托座式图标表示,前者是一个小圆球, 并加虚箭头表示依赖关系;后者是一个小圆球加一个弧形托座, 图标旁标有接口的名字,如图5.22所示。 接口可以分为两种:供给接口和需要接口。 供给接口表示一个系统元素(类、组件等)能够向外界提供的功能 行为,需要接口表示本系统元素所需要的外界的服务。 在图形上,供给接口用一个小圆球表示,需要接口用一个弧形凹托 座表示,分别用一条直线段连接到某系统元素(类、组件等)的 图形边框上,并在直线段旁给出接口的名称。
三、建立类之间的泛化关系
在子类中可观察属性与操作的泛化效果
四、建立类之间的关联关系 1、二元关联 (1)在工具栏上添加关联按纽 方法:右击工具栏空白处->Customize
弹出如下窗口
(2)选择此项,单击添加,点击关闭
(3)用关联按纽进行连接
Person
Company
(4)设置关联名和角色名
Home
抽象类
例:抽象类的应用,如图所示。
抽象类示例
Home
参数类
参数类(Parameterized Class)又称类模板(Template), 是带有形式参数的类描述符,它定义一个类的家族。 在参数类中属性和操作都是以形式参数来定义的(参数通 常代表属性的类型),参数类是不能直接使用的类,只有 通过把参数类的形式参数绑定到实在参数时才得到一个类。 参数类用类图标表示,其右上角有一个小的虚线框,其中 列出形式参数表。 参数类的名称、属性、操作等的定义与常规类相同,但必 须包含形式参数。 参数类不能是其他常规的类的超类,但可以是其他常规的 类的子类 。
图5.22 接口的棒糖式表示与托座式表示
Home
接口与端口
接口可以通过一个实现联系(Realization)获得其他类的支持,这 些类提供在接口中定义的全部操作。 实现联系是一种泛化联系,用带空心三角箭头的虚箭线表示(称为 虚泛化符)。对于棒糖式接口的实现联系则用一条实线表示。 类可以通过依赖联系(虚箭线)使用接口,此时可以标出构造型 “<<use>>”,也可不标。 可以用接口定义角色,把一个类和它的实例对象静态地绑定,如图 5.23所示。
Home
型与实现类
实现类定义对象的物理数据结构和方法。 如果一个实现类为一个型所规定的行为提供了全部的操 作,则说明该实现类实现了该型。 一个实现类可以实现多个不同的型,而且实现类中的物 理属性和关联,不一定与其实现的型中的属性和关联一 样。实现类甚至可以通过其物理属性和关联为型提供方 法。 在类图中,实现类与型的图标之间用一条虚泛化线连接, 它从实现类指向型。 虚泛化线表示该实现类为该型所规定的行为提供了全部 的操作,但并不意味该实现类与型之间存在继承结构 (属性和关联)。
Home
型与实现类
例:在图中,类“Object”和“Set”代表型,类 “HashTable”和“HashTableSet”代表实现类。型“Set” 由实现类“HashTableSet”实现。
型与实现类示例
Home
导出属性与导出关联
导出属性和导出关 联是可以从其他属 性和关联计算推演 得到的属性和关联。 在类图中导出属性 和导出关联的名字 前需加一个斜杠 “/”。 例:在图中,属性 “/年龄”是导出 属性,关联“/为 公司工作”是导出 关联。
捕获实例和连接;
在分析和设计阶段创建; 捕获交互的静态部分; 举例说明数据/对象结构; 详细描述瞬态图; 由分析人员、设计人员和代码实现人员开发。
4.4.1 对象
对象(Object)是类的实例(Instance),用于模型化特定的实体。 对象是唯一的,可以标识的。每个对象都是不同的,即使它具有 相同的属性。 对象的图标与类一样是用实线矩形框表示的,矩形框中含有若干 分隔框。 对象名分隔框中包含一个对象的名字,对象名的格式为: 对象名:类列表 [状态列表] 一个对象可以有多个型(角色),它们可以动态地改变。但是, 一个对象只属于一个类,它是不能改变的。 对象名分隔框中的状态列表,表示该对象的并发状态。 对象的属性分隔框含有该对象的属性值。 对象图标中可以有其他的分隔框,如同在其类中定义的那样,但 是可以不含有操作框。
对象图VS类图
对象图VS类图
接口与端口
接口(Interface)是一组外部可访问的操作,用于为类或组件提供 服务。 接口可以看作为一种特殊的抽象类,它不含属性,它的操作也没有 方法(method),即没有操作的实现。 接口代表系统中的接缝,接口两端的对象或组件可以独立变更,只 要它们遵守和实现接口的规定,通过接口相联系即可。 接口可以用一个类图标表示,如图5.21所示。
Home
4.4.2 对象图
图(a) 类图示例
图(b) 对象图示例
Home
对象图组成
对象图组成 对象名有下列三种表示格式。 (1)第一种格式形如: 对象名:类名 即对象名在前,类名在后,中间用冒号连接。 (2)第二种格式形如: :类名 这种格式用于尚未给对象命名的情况,注意,类名前的冒号不能 省略。 (3)第三种格式形如: 对象名 。
在需要转弯的地方单击,继续拖动
使线条变直:
五、建立类之间的依赖关系
六、建立类之间的实现
七、接口
八、包
1、新建包
2、向包中添加类
方法1:在浏览器中将已经存在的类拖到包中
方法2:在浏览器中新建类 方法:右击包名->new->class
3、设置类在包中的可见性
方法:在浏览器中双击类,弹出下窗,选择
二、创建类图 1、右击Logical View->New->class Diagram
2、重命名并双击类图
类 接口 单向关联 关联类 依赖 泛化 实现
3、将类拖到类图中
提示:也可在类图中直接创建类,并设置类
显示操作的全部设置:右击类->Options-> show operation signature
Home
4.4.2 对象图
对象图是类图的一个实例。对象图表示了在某一时刻 系统对象的状态、对象之间的联系的状态以及对象行 为的静态方面的状态。 对象图的表示方法与类图没有什么不同,但它们所表 达的内容、含义和侧重点是有所不同的。 例:图(b)是类图(a)的一个实例对象图。 在图(b)中的对象是图(a)中相应的类的一个实例。 对象之间一律用实线相连,表示当前的链接。 在图中没有显示对象所能进行的操作,但是每一个对 象都可以进行其所属的类定义的操作。
Home
参数类
例:在图中,“设置”是一个参数类,它有形式参数 “p”和“q”,均为整型数;它的两个操作“insert(p, q)” 和“remove(p, q)”以形式参数“p”和“q”为变量。
参数类示例
Home
型与实现类
可以用构造型<<type>>或<< implementationClass>>把 类说明为型(Type)或实现类(Implementation Class)。 型是类的一个构造型,用于说明对象的域和作用于对象 的操作,但不定义这些对象的物理实现。 型可以不包含任何方法,但可能提供其操作行为的说明。 型有时也有属性和关联,但只限于说明其操作行为的少 数,并不包含静态数据的实际实现。 型的概念与接口很相近,只不过型可以包含属性,而接 口不可以包含属性。 接口可以看成一个型。
4.4 对象图
对象 对象图
Home
对象图概述
对象图概述
类图表示类和类与类之间的关系,对象图则表示在某一时刻这些类的具 体实例和这些实例之间的具体连接关系。
对象图显示了类所对应的一组对象和他们之间的关系,对象图和类图一
样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。 在UML建模过程中使用对象图的目的包括:
导出属性与导出关联示例
Home
4.8 类图的Rose建模
一、创建类
名称 属性:[可见性]属性名[:类型][=初始值] 操作:[可见性]操作名[(参数表)][:返回值类型]
1、右击Logical View->new->Class
2、重命名类 方法: 在浏览器中右击类,选择rename
3、添加属性
4、设置属性 双击属性名,弹出
设置类型 设置初始值 设置可见性
5、添加操作
6、设置操作 双击操作,弹出
设置返回类型
设置可见性
设置操作的参数 a.单击Detail b.在Arguments的空 白处右击,选择 Insert
c.输入参数名 d.双击参数名, 弹出以下窗口
e.设置参数类型
f.设置参数初始值
双击关联线,弹出右窗 输入关联名 输入角色名
Person
Company
(5)设置多重性
2、聚合
(1)添加关联
A B
(2)双击关联线,弹出右窗 选中Aggregate
A B
3、组成
(1)添加关联
A B
(2)双击关联线,弹出右窗 选中Aggregate 选中By Value
A
B
4、关联类
5、反身关联
4、将包拖到绘图区
5、 显示包中的元素
在绘制区中右击包,选择此项,弹出下窗
选择元素,点击添加按纽,单击OK返回
OnLine Services 订单处理
OrderEntry, Tracking Payme
型与实现类
导出属性与导出关联
Home
抽象类
抽象类(Abstract Class)是不能直接产生实例的类,抽 象类的实例对象只能通过一个非抽象类的子类产生。 抽象类的作用仅仅是为了其他的非抽象类继承和重用它 所说明的属性、操作及其他性质。 UML的抽象类与程序设计语言中的纯虚函数的含义一 抽象类一般是在继承结构中作为一个公共接口。 UML中的抽象类与接口是不同的模型元素。一个抽象类 可以含有属性,接口不含有属性,而且接口既可以由类 实现(逻辑抽象元素),也可以由组件实现(物理抽象 元素)。 抽象类的表示:在类图标中的类名下标有约束{abstract}, 或把类名写成斜体字 。
图5.23 用接口定义角色
Home
接口与端口
端口(Port)是分类符(类、组件 等)的一种特征(Property),是 一个分类符与其外部环境的交互 点,它将分类符的内部与它的外 部环境隔离,实现了双向封装。 端口必须结合有接口。一个分类符 (类、组件等)通过端口使用接 口或实现接口,通过与端口相结 合的供给接口和/或需要接口与外 部环境联系。 一个分类符可以有多个端口,一个 端口可以有一个和多个供给接口 和需要接口。 端口的图标是一个小正方形,该小 正方形放置在分类符图标的边框 上,如图5.24所示。
图5.21 抽象类表示的接口
Home
接口与端口
接口也可以用棒糖式图标或托座式图标表示,前者是一个小圆球, 并加虚箭头表示依赖关系;后者是一个小圆球加一个弧形托座, 图标旁标有接口的名字,如图5.22所示。 接口可以分为两种:供给接口和需要接口。 供给接口表示一个系统元素(类、组件等)能够向外界提供的功能 行为,需要接口表示本系统元素所需要的外界的服务。 在图形上,供给接口用一个小圆球表示,需要接口用一个弧形凹托 座表示,分别用一条直线段连接到某系统元素(类、组件等)的 图形边框上,并在直线段旁给出接口的名称。
三、建立类之间的泛化关系
在子类中可观察属性与操作的泛化效果
四、建立类之间的关联关系 1、二元关联 (1)在工具栏上添加关联按纽 方法:右击工具栏空白处->Customize
弹出如下窗口
(2)选择此项,单击添加,点击关闭
(3)用关联按纽进行连接
Person
Company
(4)设置关联名和角色名
Home
抽象类
例:抽象类的应用,如图所示。
抽象类示例
Home
参数类
参数类(Parameterized Class)又称类模板(Template), 是带有形式参数的类描述符,它定义一个类的家族。 在参数类中属性和操作都是以形式参数来定义的(参数通 常代表属性的类型),参数类是不能直接使用的类,只有 通过把参数类的形式参数绑定到实在参数时才得到一个类。 参数类用类图标表示,其右上角有一个小的虚线框,其中 列出形式参数表。 参数类的名称、属性、操作等的定义与常规类相同,但必 须包含形式参数。 参数类不能是其他常规的类的超类,但可以是其他常规的 类的子类 。
图5.22 接口的棒糖式表示与托座式表示
Home
接口与端口
接口可以通过一个实现联系(Realization)获得其他类的支持,这 些类提供在接口中定义的全部操作。 实现联系是一种泛化联系,用带空心三角箭头的虚箭线表示(称为 虚泛化符)。对于棒糖式接口的实现联系则用一条实线表示。 类可以通过依赖联系(虚箭线)使用接口,此时可以标出构造型 “<<use>>”,也可不标。 可以用接口定义角色,把一个类和它的实例对象静态地绑定,如图 5.23所示。
Home
型与实现类
实现类定义对象的物理数据结构和方法。 如果一个实现类为一个型所规定的行为提供了全部的操 作,则说明该实现类实现了该型。 一个实现类可以实现多个不同的型,而且实现类中的物 理属性和关联,不一定与其实现的型中的属性和关联一 样。实现类甚至可以通过其物理属性和关联为型提供方 法。 在类图中,实现类与型的图标之间用一条虚泛化线连接, 它从实现类指向型。 虚泛化线表示该实现类为该型所规定的行为提供了全部 的操作,但并不意味该实现类与型之间存在继承结构 (属性和关联)。
Home
型与实现类
例:在图中,类“Object”和“Set”代表型,类 “HashTable”和“HashTableSet”代表实现类。型“Set” 由实现类“HashTableSet”实现。
型与实现类示例
Home
导出属性与导出关联
导出属性和导出关 联是可以从其他属 性和关联计算推演 得到的属性和关联。 在类图中导出属性 和导出关联的名字 前需加一个斜杠 “/”。 例:在图中,属性 “/年龄”是导出 属性,关联“/为 公司工作”是导出 关联。
捕获实例和连接;
在分析和设计阶段创建; 捕获交互的静态部分; 举例说明数据/对象结构; 详细描述瞬态图; 由分析人员、设计人员和代码实现人员开发。
4.4.1 对象
对象(Object)是类的实例(Instance),用于模型化特定的实体。 对象是唯一的,可以标识的。每个对象都是不同的,即使它具有 相同的属性。 对象的图标与类一样是用实线矩形框表示的,矩形框中含有若干 分隔框。 对象名分隔框中包含一个对象的名字,对象名的格式为: 对象名:类列表 [状态列表] 一个对象可以有多个型(角色),它们可以动态地改变。但是, 一个对象只属于一个类,它是不能改变的。 对象名分隔框中的状态列表,表示该对象的并发状态。 对象的属性分隔框含有该对象的属性值。 对象图标中可以有其他的分隔框,如同在其类中定义的那样,但 是可以不含有操作框。
对象图VS类图
对象图VS类图
接口与端口
接口(Interface)是一组外部可访问的操作,用于为类或组件提供 服务。 接口可以看作为一种特殊的抽象类,它不含属性,它的操作也没有 方法(method),即没有操作的实现。 接口代表系统中的接缝,接口两端的对象或组件可以独立变更,只 要它们遵守和实现接口的规定,通过接口相联系即可。 接口可以用一个类图标表示,如图5.21所示。
Home
4.4.2 对象图
图(a) 类图示例
图(b) 对象图示例
Home
对象图组成
对象图组成 对象名有下列三种表示格式。 (1)第一种格式形如: 对象名:类名 即对象名在前,类名在后,中间用冒号连接。 (2)第二种格式形如: :类名 这种格式用于尚未给对象命名的情况,注意,类名前的冒号不能 省略。 (3)第三种格式形如: 对象名 。
在需要转弯的地方单击,继续拖动
使线条变直:
五、建立类之间的依赖关系
六、建立类之间的实现
七、接口
八、包
1、新建包
2、向包中添加类
方法1:在浏览器中将已经存在的类拖到包中
方法2:在浏览器中新建类 方法:右击包名->new->class
3、设置类在包中的可见性
方法:在浏览器中双击类,弹出下窗,选择
二、创建类图 1、右击Logical View->New->class Diagram
2、重命名并双击类图
类 接口 单向关联 关联类 依赖 泛化 实现
3、将类拖到类图中
提示:也可在类图中直接创建类,并设置类
显示操作的全部设置:右击类->Options-> show operation signature
Home
4.4.2 对象图
对象图是类图的一个实例。对象图表示了在某一时刻 系统对象的状态、对象之间的联系的状态以及对象行 为的静态方面的状态。 对象图的表示方法与类图没有什么不同,但它们所表 达的内容、含义和侧重点是有所不同的。 例:图(b)是类图(a)的一个实例对象图。 在图(b)中的对象是图(a)中相应的类的一个实例。 对象之间一律用实线相连,表示当前的链接。 在图中没有显示对象所能进行的操作,但是每一个对 象都可以进行其所属的类定义的操作。
Home
参数类
例:在图中,“设置”是一个参数类,它有形式参数 “p”和“q”,均为整型数;它的两个操作“insert(p, q)” 和“remove(p, q)”以形式参数“p”和“q”为变量。
参数类示例
Home
型与实现类
可以用构造型<<type>>或<< implementationClass>>把 类说明为型(Type)或实现类(Implementation Class)。 型是类的一个构造型,用于说明对象的域和作用于对象 的操作,但不定义这些对象的物理实现。 型可以不包含任何方法,但可能提供其操作行为的说明。 型有时也有属性和关联,但只限于说明其操作行为的少 数,并不包含静态数据的实际实现。 型的概念与接口很相近,只不过型可以包含属性,而接 口不可以包含属性。 接口可以看成一个型。
4.4 对象图
对象 对象图
Home
对象图概述
对象图概述
类图表示类和类与类之间的关系,对象图则表示在某一时刻这些类的具 体实例和这些实例之间的具体连接关系。
对象图显示了类所对应的一组对象和他们之间的关系,对象图和类图一
样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。 在UML建模过程中使用对象图的目的包括:
导出属性与导出关联示例
Home
4.8 类图的Rose建模
一、创建类
名称 属性:[可见性]属性名[:类型][=初始值] 操作:[可见性]操作名[(参数表)][:返回值类型]
1、右击Logical View->new->Class
2、重命名类 方法: 在浏览器中右击类,选择rename
3、添加属性
4、设置属性 双击属性名,弹出
设置类型 设置初始值 设置可见性
5、添加操作
6、设置操作 双击操作,弹出
设置返回类型
设置可见性
设置操作的参数 a.单击Detail b.在Arguments的空 白处右击,选择 Insert
c.输入参数名 d.双击参数名, 弹出以下窗口
e.设置参数类型
f.设置参数初始值
双击关联线,弹出右窗 输入关联名 输入角色名
Person
Company
(5)设置多重性
2、聚合
(1)添加关联
A B
(2)双击关联线,弹出右窗 选中Aggregate
A B
3、组成
(1)添加关联
A B
(2)双击关联线,弹出右窗 选中Aggregate 选中By Value
A
B
4、关联类
5、反身关联
4、将包拖到绘图区
5、 显示包中的元素
在绘制区中右击包,选择此项,弹出下窗
选择元素,点击添加按纽,单击OK返回