第十一篇对象约束语言(UML)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第11章 对象约束语言
►11.1 对象约束语言概述 ►11.2 标准OCL类型 ►11.3 OCL表达式 ►11.4 用OCL表达对象性质约束
1
面 向 对
11.1 对象约束语言概述
象
技
UML
术
►UML中的图形符号有时候不能很好的表达所
教 程
要建模的对象一些细节。
►需要对模型中的元素增加一些约束
►约束条件可以采用形式化语言
教 程
型。
第 十 一 章
对 象 约 束 语 言
11
WUHAN UNIVERSITY OF SCIENCE AND 对
2. Set
象
技
UML
术
►Set是不包括重复元素的对象组,Set中的元
教 程
素是无序的。
第 十 一 章
对 象 约 束 语 言
12
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面
向 对
3. Bag
象
技
UML
术
►Bag也是对象组,Bag和Set不同之处在于Bag
教 程
中可以包含重复元素。
第 十 一 章
对 象 约 束 语 言
13
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面
向 对
4. Sequence
象
技
UML
术
►Sequence和Bag相似,也可以包含重复元素,
第 十 一 章
对 象 约 束 语 言
15
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
束
语
言
4
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
OCL的特点
象
技
术 ① OCL是一种精确的、无二义性的语言,易于使用和
UML
教
掌握。
程 ② OCL是一种规范说明性语言,所有有关实现的问题
都不能用OCL来表达。
③ OCL是一种纯表达式语言,它是具有没有任何副作
面 向 对
11.2 标准OCL类型
象
技
术
►OCL预定义的标准类型定义了一组基本类型
UML
教 程
和集合类型。
►OCL的基本类型有“Boolean”、“Integer”、
“Real”和“String”等,集合类型包括
第 十
Collection(群集)以外,还有Set(集合)、
一 章
Bag(袋)和Sequence(序列)等,这些标
对 准类型是OCL表达式的组成部分。
象
约
束
语
言
6
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2 标准OCL类型
象
技
UML
术
►11.2.1 基本类型
教 程
►11.2.2
集合类型
►11.2.3 OCL中的关键字
第 十 一 章
对 象 约 束 语 言
用的声明性语言。对OCL表达式的计算将返回一个
第 十
值,计算不会改变系统的状态。
一 章
④
OCL是一种类型化语言,即OCL中的每个表达式都
是具有类型的。
对 象
⑤
OCL不是一种程序设计语言,不能用OCL编写程序
约 束
逻辑和控制流程。
语
言
5
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
7
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.1 基本类型
象
技
UML
术
►OCL定义了很多基本类型,它的基本类型和
教 程
程序设计语言中的数据类型的含义类似。
►OCL还在基本类型上定义了一些操作,这些
操作也与程序设计语言中的操作类似。
第 十
►OCL的基本类型与操作见表11.1、11.2。
一
章
对 象 约 束 语 言
8
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.2 集合类型
象
技
UML
术
►除了基本类型以外,OCL还定义了一些较为
教 程
高级的标准OCL类型称为集合类型。
►集合是成组的对象或元素,可以用来作为表 达式计算过程中的结果。
面 向 对
OCL的产生
象
技
UML
术
►OCL的产生是为了解决约束表达的问题。
教 程
►OCL最初由IBM公司设计成功。
►OCL已经为标准化组织OMG所接受,成为了
UML标准的一部分。
第
十 一
►OCL语言虽然是一种形式化语言,但是它既
章 具有形式化语言无二义性的特点,又消除了
对 象
形式化语言的复杂性。
约
第
十 一
►形式化语言对于数学知识很好的人才能熟练
章 运用,普通的开发人员使用起来比较困难.
对 象 约
►对象约束语言是一个形式化的语言,但是不复
束 语
杂.
言
2
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.1 对象约束语言概述
象
技
UML
术
►对象约束语言简称OCL(Object Constraint
第 十
►集合类型除了抽象数据类型Collection(群集)
一 章
以外,还有Set(集合)、Bag(袋)和
对 象
Sequence(序列)等。
约
束
语
言
9
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.4 集合类型
象
技
UML
术
►1. Collection (群集)
教 程
Language),它是一种用于施加在指定的模
型元素上约束的语言。
►OCL表达式以附加在模型元素上的条件和限
第 十
制来表现对该对象的约束,其中包括附加在
一 章
模型元素上的不变量或约束的表达式、附加
对 在操作和方法上的前置条件和后置条件等。
象 约 束 语 言
3
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
教 程
►2.
Set(集合)
►3. Bag(袋)
第 ►4. Sequence(序列)
十 一 章
对 象 约 束 语 言
10
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面
向 对
1. Collection
象
技
UML
术
►Collection是OCL中所有集合的抽象的上级类
教 程
不过Sequence中的元素是有序的。
第 十 一 章
对 象 约 束 语 言
14
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.3 OCL中的关键字
象
技
术
►与程序设计语言一样,OCL也定义了一些关
UML
教 程
键字。
►OCL中的关键字见表11.4(P117)。
►11.1 对象约束语言概述 ►11.2 标准OCL类型 ►11.3 OCL表达式 ►11.4 用OCL表达对象性质约束
1
面 向 对
11.1 对象约束语言概述
象
技
UML
术
►UML中的图形符号有时候不能很好的表达所
教 程
要建模的对象一些细节。
►需要对模型中的元素增加一些约束
►约束条件可以采用形式化语言
教 程
型。
第 十 一 章
对 象 约 束 语 言
11
WUHAN UNIVERSITY OF SCIENCE AND 对
2. Set
象
技
UML
术
►Set是不包括重复元素的对象组,Set中的元
教 程
素是无序的。
第 十 一 章
对 象 约 束 语 言
12
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面
向 对
3. Bag
象
技
UML
术
►Bag也是对象组,Bag和Set不同之处在于Bag
教 程
中可以包含重复元素。
第 十 一 章
对 象 约 束 语 言
13
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面
向 对
4. Sequence
象
技
UML
术
►Sequence和Bag相似,也可以包含重复元素,
第 十 一 章
对 象 约 束 语 言
15
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
束
语
言
4
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
OCL的特点
象
技
术 ① OCL是一种精确的、无二义性的语言,易于使用和
UML
教
掌握。
程 ② OCL是一种规范说明性语言,所有有关实现的问题
都不能用OCL来表达。
③ OCL是一种纯表达式语言,它是具有没有任何副作
面 向 对
11.2 标准OCL类型
象
技
术
►OCL预定义的标准类型定义了一组基本类型
UML
教 程
和集合类型。
►OCL的基本类型有“Boolean”、“Integer”、
“Real”和“String”等,集合类型包括
第 十
Collection(群集)以外,还有Set(集合)、
一 章
Bag(袋)和Sequence(序列)等,这些标
对 准类型是OCL表达式的组成部分。
象
约
束
语
言
6
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2 标准OCL类型
象
技
UML
术
►11.2.1 基本类型
教 程
►11.2.2
集合类型
►11.2.3 OCL中的关键字
第 十 一 章
对 象 约 束 语 言
用的声明性语言。对OCL表达式的计算将返回一个
第 十
值,计算不会改变系统的状态。
一 章
④
OCL是一种类型化语言,即OCL中的每个表达式都
是具有类型的。
对 象
⑤
OCL不是一种程序设计语言,不能用OCL编写程序
约 束
逻辑和控制流程。
语
言
5
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
7
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.1 基本类型
象
技
UML
术
►OCL定义了很多基本类型,它的基本类型和
教 程
程序设计语言中的数据类型的含义类似。
►OCL还在基本类型上定义了一些操作,这些
操作也与程序设计语言中的操作类似。
第 十
►OCL的基本类型与操作见表11.1、11.2。
一
章
对 象 约 束 语 言
8
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.2 集合类型
象
技
UML
术
►除了基本类型以外,OCL还定义了一些较为
教 程
高级的标准OCL类型称为集合类型。
►集合是成组的对象或元素,可以用来作为表 达式计算过程中的结果。
面 向 对
OCL的产生
象
技
UML
术
►OCL的产生是为了解决约束表达的问题。
教 程
►OCL最初由IBM公司设计成功。
►OCL已经为标准化组织OMG所接受,成为了
UML标准的一部分。
第
十 一
►OCL语言虽然是一种形式化语言,但是它既
章 具有形式化语言无二义性的特点,又消除了
对 象
形式化语言的复杂性。
约
第
十 一
►形式化语言对于数学知识很好的人才能熟练
章 运用,普通的开发人员使用起来比较困难.
对 象 约
►对象约束语言是一个形式化的语言,但是不复
束 语
杂.
言
2
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.1 对象约束语言概述
象
技
UML
术
►对象约束语言简称OCL(Object Constraint
第 十
►集合类型除了抽象数据类型Collection(群集)
一 章
以外,还有Set(集合)、Bag(袋)和
对 象
Sequence(序列)等。
约
束
语
言
9
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.4 集合类型
象
技
UML
术
►1. Collection (群集)
教 程
Language),它是一种用于施加在指定的模
型元素上约束的语言。
►OCL表达式以附加在模型元素上的条件和限
第 十
制来表现对该对象的约束,其中包括附加在
一 章
模型元素上的不变量或约束的表达式、附加
对 在操作和方法上的前置条件和后置条件等。
象 约 束 语 言
3
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
教 程
►2.
Set(集合)
►3. Bag(袋)
第 ►4. Sequence(序列)
十 一 章
对 象 约 束 语 言
10
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面
向 对
1. Collection
象
技
UML
术
►Collection是OCL中所有集合的抽象的上级类
教 程
不过Sequence中的元素是有序的。
第 十 一 章
对 象 约 束 语 言
14
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
面 向 对
11.2.3 OCL中的关键字
象
技
术
►与程序设计语言一样,OCL也定义了一些关
UML
教 程
键字。
►OCL中的关键字见表11.4(P117)。