版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉大学国际软件学院第九章对象约束语言武汉大学国际软件学院内容为什么需要OCLOCL的特点OCL的构成OCL的高级数据类型小结武汉大学国际软件学院9.1为什么需要OCL对象约束语言(ObjectConstraintLanguage,OCL)作为图形符号的补充,说明建模元素的有关细节,例如:约束,前置条件,后置条件等。武汉大学国际软件学院9.1为什么需要OCLOCL(objectconstraintlanguage)对象约束语言。用来进行约束定义的,形式化的无二义的语言。OCL于1995年由Warmer等人,在IBM设计成功,并开始使用。1997年UML的1.1版本正式采用OCL2003年1月推出OCL1.4版本OCL2.0版本正在征求意见武汉大学国际软件学院9.2OCL的特点声明性语言,不会改变模型中的内容。形式化语言语言。无二义规范语言。类型性语言,每一个表达式都有类型;易学好用。武汉大学国际软件学院9.3OCL的构成
OCL作为形式化语言,基本语言要素包括:类型(基本类型,高级类型)操作表达式语句武汉大学国际软件学院9.3OCL的构成
OCL的基本类型:包括整型,实型,字符串型,布尔型武汉大学国际软件学院9.3OCL的构成
OCL在基本类型上的部分运算符武汉大学国际软件学院解释整型
i1+i2加法,整型(-,*)i1/i2除法,实型
i1.abs
取绝对值,整型
i1.max(i2)取最大数,整型实型i1+i2加法,实型(-,*,/)i1.abs取绝对值,实型
r1.round
四舍五入取整,整型
r1.floor
向下取整,整型武汉大学国际软件学院解释字符串型
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为假时,表达式为真1ifb1then<expr1>else<expr2>endif分支判断武汉大学国际软件学院解释运算符的优先级别优先级决定了操作顺序;优先级从上到下,改变顺序用括号。武汉大学国际软件学院9.3OCL的构成OCL的表达式(1)表达式的含义
OCL的表达式由操作数和运算符按一定规则构成。表达式和特定的上下文有关,表达式具有确定的值。
(2)表达式的上下文表达式的上下文表示这个表达式所作用的范围。可以是类,类的属性和操作.context订单--上下文为“订单”类
context订单.订单和--上下文为“订单”类的属性“订单和”
context订单.求税金()--上下文为“订单”类的操作求“税金()”
(3)表达式的不变量
不变量由inv关键字规定。上下文表示这个表达式所作用的范围。可以是类,类的属性和操作.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,则“订单”的“订单和”也必须等于0
(7)分支
context订单inv
酬金=if(订单和<100)then2.00else(订单和*0.01)endif
求“订单”的“酬金”,如果订单和<100,酬金为2,否则为订单和的百分之一.
(8)导航
OCL可以从初始的上下文导航到与它有关系的其它类。这些类与初始的类有关联或组合关系.context订单inv
订单客户.age>18context客户inv
订单->size>=19.4OCL的高级数据类型OCL定义的高级数据类型有群,集合,袋和序列.其中群是抽象数据类型,集合,袋和序列是群的子集.
集合(set):不包含重复元素;
袋(Bag):允许包含重复元素;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风险管理的实施与案例分析计划
- 新余学院《综合英语》2022-2023学年第一学期期末试卷
- 新余学院《商务英语写作》2022-2023学年第一学期期末试卷
- 西南林业大学《中国文学批评史》2021-2022学年第一学期期末试卷
- 西南林业大学《大学语文》2021-2022学年第一学期期末试卷
- 西南交通大学《安全运算》2022-2023学年第一学期期末试卷
- 西京学院《版面设计》2023-2024学年第一学期期末试卷
- 西南交通大学《微机与接口技术实验》2023-2024学年第一学期期末试卷
- 2024年01月11189政府经济学期末试题答案
- 西昌学院《中国文学批评》2022-2023学年第一学期期末试卷
- 初中七年级语文教案 诫子书-全国优质课一等奖
- 路基二工区涵洞施工台账
- 2022年中国人口与发展研究中心招聘应届生笔试备考题库及答案解析
- 单位负反馈系统校正自动控制原理课程设计
- 高强度螺栓连接课件
- 精读未来简史2023章节测试答案-精读未来简史超星尔雅答案
- 使用移情图分析客户
- 医疗器械生产质量管理规范法规及案例培训课件(厂房与设施、设备)
- 锅炉备品备件清单
- 积分参数详解
- 英语教师师徒结对工作计划6篇
评论
0/150
提交评论