section-10-对象约束语言课件.ppt

section-10-对象约束语言课件.ppt

ID:57292522

大小:134.50 KB

页数:22页

时间:2020-08-10

section-10-对象约束语言课件.ppt_第1页
section-10-对象约束语言课件.ppt_第2页
section-10-对象约束语言课件.ppt_第3页
section-10-对象约束语言课件.ppt_第4页
section-10-对象约束语言课件.ppt_第5页
资源描述:

《section-10-对象约束语言课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、对象约束语言内容为什么需要OCLOCL的特点OCL的构成OCL的高级数据类型小结为什么需要OCL对象约束语言(ObjectConstraintLanguage,OCL)作为图形符号的补充,说明建模元素的有关细节,例如:约束,前置条件,后置条件等。为什么需要OCLOCL(objectconstraintlanguage)对象约束语言。用来进行约束定义的,形式化的无二义的语言。OCL于1995年由Warmer等人,在IBM设计成功,并开始使用。1997年UML的1.1版本正式采用OCL2003年1月推出OCL1.4版本OCL2.0版本正在征求意见OC

2、L的特点声明性语言,不会改变模型中的内容。形式化语言语言。无二义规范语言。类型性语言,每一个表达式都有类型;易学好用。OCL的构成OCL作为形式化语言,基本语言要素包括:类型(基本类型,高级类型)操作表达式语句OCL的构成OCL的基本类型:包括整型,实型,字符串型,布尔型OCL的构成OCL在基本类型上的部分运算符解释整型i1+i2加法,整型(-,*)i1/i2除法,实型i1.abs取绝对值,整型i1.max(i2)取最大数,整型实型i1+i2加法,实型(-,*,/)i1.abs取绝对值,实型r1.round四舍五入取整,整型r1.floor向下取

3、整,整型解释字符串型s1.concat(s2)连接,字符串s1.size字符串长度,整型s1.toLower转换成为小写字母,字符串s1.toUper转换成为大写字母,字符串s1.substring(i1,i2)取子串,字符串s1=s2等于,布尔型解释布尔型b1andb2逻辑与,布尔型(or,xor)notb1逻辑非,布尔型b1=b2等于,布尔型b1<>b2不等于,布尔型b1impliesb2蕴涵,布尔型当b1和b2均为真,或b1为假时,表达式为真1ifb1thenelseendif分支判断解释运算符的优先级别优先级决

4、定了操作顺序;优先级从上到下,改变顺序用括号。OCL的构成OCL的表达式(1)表达式的含义OCL的表达式由操作数和运算符按一定规则构成。表达式和特定的上下文有关,表达式具有确定的值。(2)表达式的上下文表达式的上下文表示这个表达式所作用的范围。可以是类,类的属性和操作.context订单--上下文为“订单”类context订单.订单和--上下文为“订单”类的属性“订单和”context订单.求税金()--上下文为“订单”类的操作求“税金()”(3)表达式的不变量不变量由inv关键字规定。上下文表示这个表达式所作用的范围。可以是类,类的属性和操作.

5、context订单inv:--”订单”类中的所有对订单和>10--象的”订单和”都应该大于10context订单inv:--”订单”类的”酬金”的求法酬金=0.01*订单和也可以:context订单inv:--”订单”类的”酬金”的求法self.酬金=0.01*self.订单和(4)表达式的前置条件和后置条件context订单.求税金():Realpre:--post:result=订单和*0.065(6)蕴涵context订单inv订单的文章->size=0implies订单和=0“订单的文章”的数量如果等于0,则“订单”的“订单和”也必须等于

6、0(7)分支context订单inv酬金=if(订单和<100)then2.00else(订单和*0.01)endif求“订单”的“酬金”,如果订单和<100,酬金为2,否则为订单和的百分之一.(8)导航OCL可以从初始的上下文导航到与它有关系的其它类。这些类与初始的类有关联或组合关系.context订单inv订单客户.age>18context客户inv订单->size>=1OCL的高级数据类型OCL定义的高级数据类型有群,集合,袋和序列.其中群是抽象数据类型,集合,袋和序列是群的子集.集合(set):不包含重复元素;袋(Bag):允许包含重复

7、元素;序列(Sequence):元素具有有序性的袋.群的操作(Collection)OCL定义的群的操作有下表中列出的操作.小结OCL是一种形式化语言OCL已经成为UML规范说明的一部分OCL可以表示施加于模型元素或模型元素的属性、操作等上面的约束条件

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。