对象约束语言ppt课件

上传人:pu****.1 文档编号:592612021 上传时间:2024-09-21 格式:PPT 页数:22 大小:190KB
返回 下载 相关 举报
对象约束语言ppt课件_第1页
第1页 / 共22页
对象约束语言ppt课件_第2页
第2页 / 共22页
对象约束语言ppt课件_第3页
第3页 / 共22页
对象约束语言ppt课件_第4页
第4页 / 共22页
对象约束语言ppt课件_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《对象约束语言ppt课件》由会员分享,可在线阅读,更多相关《对象约束语言ppt课件(22页珍藏版)》请在金锄头文库上搜索。

1、第九章第九章 对象象约束言束言语内容内容为什么需求为什么需求OCLOCL的特点的特点OCL的构成的构成OCL的高级数据类型的高级数据类型小结小结9.1 9.1 为为什么需求什么需求OCLOCL对象约束言语对象约束言语(Object Constraint Language, OCL)作为作为图形符号的补充,阐明建模元素的有关细节,例如:约图形符号的补充,阐明建模元素的有关细节,例如:约束,前置条件,后置条件等。束,前置条件,后置条件等。9.1 9.1 为为什么需求什么需求OCLOCLOCL(object constraint language) 对象约束言语。用来进对象约束言语。用来进展约束定义

2、的,方式化的无二义的言语。展约束定义的,方式化的无二义的言语。OCL于于1995年由年由Warmer等人,在等人,在IBM设计胜利,并开设计胜利,并开场运用。场运用。1997年年UML的的1.1版本正式采用版本正式采用OCL2003年年1月推出月推出OCL1.4版本版本OCL2.0版本正在征求意见版本正在征求意见9.2 OCL9.2 OCL的特点的特点声明性言语,不会改动模型中的内容。声明性言语,不会改动模型中的内容。方式化言语言语。方式化言语言语。无二义规范言语。无二义规范言语。类型性言语,每一个表达式都有类型;类型性言语,每一个表达式都有类型;易学好用。易学好用。9.3 OCL9.3 OC

3、L的构成的构成 OCL作为方式化言语,根本言语要素包括作为方式化言语,根本言语要素包括:类型类型(根本类型,高级类型根本类型,高级类型) 操作操作表达式表达式语句语句9.3 OCL9.3 OCL的构成的构成 OCL的根本类型:包括整型,实型,字符串型,布尔型的根本类型:包括整型,实型,字符串型,布尔型9.3 OCL9.3 OCL的构成的构成 OCL在根本类型上的部分运算符在根本类型上的部分运算符解解释释整型整型 i1 + i2 加法加法,整型整型 (-,*) i1 / i2 除法除法,实型实型 i1.abs 取绝对值取绝对值, 整型整型 i1.max(i2) 取最大数取最大数, 整型整型实型实

4、型 i1 + i2 加法加法,实型实型 ( -, *, / ) i1.abs 取绝对值取绝对值,实型实型 r1.round 四舍五入取整四舍五入取整, 整型整型 r1.floor 向下取整向下取整, 整型整型 解解释释字符串型字符串型 s1.concat(s2) 衔接衔接,字符串字符串 s1.size 字符串长度字符串长度,整型整型 s1.toLower 转换成为小写字母转换成为小写字母,字符串字符串 s1.toUper 转换成为大写字母转换成为大写字母, 字符串字符串 s1.substring(i1,i2) 取子串取子串, 字符串字符串 s1 = s2 等于等于, 布尔型布尔型 解解释释布尔

5、型布尔型 b1 and b2 逻辑与逻辑与,布尔型布尔型( or, xor) not b1 逻辑非逻辑非, 布尔型布尔型 b1 = b2 等于等于,布尔型布尔型 b1 b2 不等于不等于,布尔型布尔型 b1 implies b2 蕴涵蕴涵,布尔型布尔型 当当b1和和b2均为真均为真,或或b1为假时为假时,表达式为真表达式为真1 if b1 then else endif 分支判别分支判别 解解释释运算符的优先级别运算符的优先级别优优先先先先级级决决决决议议了操作了操作了操作了操作顺顺序;序;序;序;优优先先先先级级从上到下,改从上到下,改从上到下,改从上到下,改动顺动顺序用括号序用括号序用括号

6、序用括号 。 9.3 OCL9.3 OCL的构成的构成OCL的表达式的表达式(1) 表达式的含义表达式的含义 OCL的表达式由操作数和运算符按一定规那么构的表达式由操作数和运算符按一定规那么构成。表达式和特定的上下文有关,表达式具有确定的值。成。表达式和特定的上下文有关,表达式具有确定的值。 (2) 表达式的上下文表达式的上下文 表达式的上下文表示表达式的上下文表示这这个表达式所作用个表达式所作用的范的范围围。可以是。可以是类类,类类的属性和操作的属性和操作. context 订单订单 - 上下文上下文为为“订单订单类类 context 订单订单.订单订单和和 -上下文上下文为为“订订单单类类

7、 的属性的属性“订单订单和和 context 订单订单.求税金求税金( ) -上下文上下文为为“订单订单 类类的操作求的操作求“税金税金( ) (3) (3) 表达式的不表达式的不变变量量 不不变变量由量由invinv关关键键字字规规定。上下文表示定。上下文表示这这个表达式所作用的个表达式所作用的范范围围。可以是。可以是类类,类类的属性和操作的属性和操作. . context context 订单订单 inv: - inv: -订单订单类类中的一切中的一切对对 订单订单和和 10 - 10 -象的象的订单订单和都和都应该应该大于大于1010 context context 订单订单 inv:

8、- inv: -订单订单类类的酬金的求法的酬金的求法 酬金酬金= 0.01 * = 0.01 * 订单订单和和 也可以也可以: : context context 订单订单 inv: - inv: -订单订单类类的酬金的求法的酬金的求法 self. self.酬金酬金 = 0.01 * self. = 0.01 * self.订单订单和和 (4) 表达式的前置条件和后置条件表达式的前置条件和后置条件 context 订单订单.求税金求税金(): Real pre: - post: result = 订单和订单和 * 0.065 (6) 蕴蕴涵涵 context 订单订单 inv 订单订单的文章

9、的文章-size = 0 implies 订单订单和和 = 0 “订单订单的文章的数量假的文章的数量假设设等于等于0,那么那么 “订订单单的的“订单订单和也必需等于和也必需等于0 (7) 分支分支 context 订单订单 inv 酬金酬金 = if (订单订单和和100) then 2.00 else (订单订单和和*0.01) endif 求求“订单订单的的“酬金酬金,假假设订单设订单和和 18 context 客户客户 inv 订单订单-size = 1 9.4 OCL9.4 OCL的高的高级级数据数据类类型型 OCL定义的高级数据类型有群定义的高级数据类型有群,集合集合,袋和序列袋和序

10、列.其中群是其中群是笼统数据类型笼统数据类型,集合集合,袋和序列是群的子集袋和序列是群的子集. 集合集合(set):不包含反复元素不包含反复元素; 袋袋(Bag):允许包含反复元素允许包含反复元素; 序列序列(Sequence):元素具有有序性的袋元素具有有序性的袋. 群的操作群的操作(Collection) OCL定义的群的操作有下表中列出的操作定义的群的操作有下表中列出的操作.小小结结OCL是一种方式化言语是一种方式化言语OCL曾经成为曾经成为UML规范阐明的一部分规范阐明的一部分OCL可以表示施加于模型元素或模型元素的属性、操作可以表示施加于模型元素或模型元素的属性、操作等上面的约束条件等上面的约束条件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号