对象约束语言课件

上传人:痛*** 文档编号:190226702 上传时间:2023-02-26 格式:PPT 页数:22 大小:135KB
收藏 版权申诉 举报 下载
对象约束语言课件_第1页
第1页 / 共22页
对象约束语言课件_第2页
第2页 / 共22页
对象约束语言课件_第3页
第3页 / 共22页
资源描述:

《对象约束语言课件》由会员分享,可在线阅读,更多相关《对象约束语言课件(22页珍藏版)》请在装配图网上搜索。

1、对象约束语言对象约束语言为什么需要为什么需要OCLOCL的特点的特点OCL的构成的构成OCL的高级数据类型的高级数据类型小结小结对象约束语言对象约束语言对象约束语言(Object Constraint Language,OCL)作为作为图形符号的补充,说明建模元素的有关细节,例如:约图形符号的补充,说明建模元素的有关细节,例如:约束,前置条件,后置条件等。束,前置条件,后置条件等。对象约束语言OCL(object constraint language)对象约束语言。用来对象约束语言。用来进行约束定义的,形式化的无二义的语言。进行约束定义的,形式化的无二义的语言。OCL于于1995年由年由Wa

2、rmer等人,在等人,在IBM设计成功,并开始设计成功,并开始使用。使用。1997年年UML的的1.1版本正式采用版本正式采用OCL2003年年1月推出月推出OCL1.4版本版本OCL2.0版本正在征求意见版本正在征求意见对象约束语言声明性语言,不会改变模型中的内容。声明性语言,不会改变模型中的内容。形式化语言语言。形式化语言语言。无二义规范语言。无二义规范语言。类型性语言,每一个表达式都有类型;类型性语言,每一个表达式都有类型;易学好用。易学好用。对象约束语言 OCL作为形式化语言,基本语言要素包括作为形式化语言,基本语言要素包括:类型类型(基本类型,高级类型基本类型,高级类型)操作操作表达

3、式表达式语句语句对象约束语言 OCL的基本类型:包括整型,实型,字符串型,布尔的基本类型:包括整型,实型,字符串型,布尔型型对象约束语言 OCL在基本类型上的部分运算符在基本类型上的部分运算符对象约束语言整型整型 i1+i2 加法加法,整型整型(-,*)i1/i2 除法除法,实型实型 i1.abs 取绝对值取绝对值,整型整型 i1.max(i2)取最大数取最大数,整型整型实型实型 i1+i2 加法加法,实型实型(-,*,/)i1.abs 取绝对值取绝对值,实型实型 r1.round 四舍五入取整四舍五入取整,整型整型 r1.floor 向下取整向下取整,整型整型 对象约束语言字符串型字符串型

4、s1.concat(s2)连接连接,字符串字符串 s1.size 字符串长度字符串长度,整型整型 s1.toLower 转换成为小写字母转换成为小写字母,字符串字符串 s1.toUper 转换成为大写字母转换成为大写字母,字符串字符串 s1.substring(i1,i2)取子串取子串,字符串字符串 s1=s2 等于等于,布尔型布尔型 对象约束语言布尔型布尔型 b1 and b2 逻辑与逻辑与,布尔型布尔型(or,xor)not b1 逻辑非逻辑非,布尔型布尔型 b1=b2 等于等于,布尔型布尔型 b1 b2 不等于不等于,布尔型布尔型 b1 implies b2 蕴涵蕴涵,布尔型布尔型 当当

5、b1和和b2均为真均为真,或或b1为假时为假时,表达式为真表达式为真1 if b1 then else endif 分支判断分支判断 对象约束语言运算符的优先级别运算符的优先级别对象约束语言OCL的表达式的表达式(1)表达式的含义表达式的含义 OCL的表达式由操作数和运算符按一定规则构成。的表达式由操作数和运算符按一定规则构成。表达式和特定的上下文有关,表达式具有确定的值。表达式和特定的上下文有关,表达式具有确定的值。对象约束语言对象约束语言 (2)表达式的上下文表达式的上下文 表达式的上下文表示这个表达式所作用的范围。可以表达式的上下文表示这个表达式所作用的范围。可以是是类,类的属性和操作类

6、,类的属性和操作.context 订单订单 -上下文为上下文为“订单订单”类类 context 订单订单.订单和订单和 -上下文为上下文为“订单订单”类类 的属性的属性“订单和订单和”context 订单订单.求税金求税金()-上下文为上下文为“订单订单”类的操作求类的操作求“税金税金()”对象约束语言(3)表达式的不变量表达式的不变量 不变量由不变量由inv关键字规定。上下文表示这个表达式所作用关键字规定。上下文表示这个表达式所作用的范围。可以是类,类的属性和操作的范围。可以是类,类的属性和操作.context 订单订单 inv:-”订单订单”类中的所有对类中的所有对 订单和订单和 10 -

7、象的象的”订单和订单和”都应该大于都应该大于10 context 订单订单 inv:-”订单订单”类的类的”酬金酬金”的求法的求法 酬金酬金=0.01*订单和订单和 也可以也可以:context 订单订单 inv:-”订单订单”类的类的”酬金酬金”的求法的求法 self.酬金酬金=0.01*self.订单和订单和对象约束语言 (4)表达式的前置条件和后置条件表达式的前置条件和后置条件 context 订单订单.求税金求税金():Real pre:-post:result=订单和订单和*0.065对象约束语言 (6)蕴涵蕴涵 context 订单订单 inv 订单的文章订单的文章-size=0

8、implies 订单和订单和=0 “订单的文章订单的文章”的数量如果等于的数量如果等于0,则则“订单订单”的的“订单和订单和”也必须等于也必须等于0 (7)分支分支 context 订单订单 inv 酬金酬金=if(订单和订单和100)then 2.00 else(订单和订单和*0.01)endif 求求“订单订单”的的“酬金酬金”,如果订单和如果订单和 18 context 客户客户 inv 订单订单-size=1 对象约束语言 OCL定义的高级数据类型有群定义的高级数据类型有群,集合集合,袋和序列袋和序列.其中群是其中群是抽象数据类型抽象数据类型,集合集合,袋和序列是群的子集袋和序列是群的子集.集合集合(set):不包含重复元素不包含重复元素;袋袋(Bag):允许包含重复元素允许包含重复元素;序列序列(Sequence):元素具有有序性的袋元素具有有序性的袋.对象约束语言群的操作群的操作(Collection)OCL定义的群的操作有下表中列出的操作定义的群的操作有下表中列出的操作.对象约束语言OCL是一种形式化语言是一种形式化语言OCL已经成为已经成为UML规范说明的一部分规范说明的一部分OCL可以表示施加于模型元素或模型元素的属性、操作可以表示施加于模型元素或模型元素的属性、操作等上面的约束条件等上面的约束条件

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!