OCL教程一为什么OCL.docVIP

  • 20
  • 0
  • 约3.31万字
  • 约 20页
  • 2017-02-01 发布于天津
  • 举报
OCL教程一为什么OCL

OCL教程一 为什么OCL Alex.W编译 ??? OMG的OCL(对象约束语言)被视为精确化模型的基础,形式化模型约束的突破口,MDA技术乃至下一代软件开发技术的基石,已经得到了越来越多的关注。本系列教程将由浅入深向读者呈现OCL的全貌。 UML之痛 ?????? 建模,特别是软件建模,过去曾经被视为一个生产图纸的过程。绝大多数模型是由许多方框箭头图和一些附随的文本所组成,这样的模型所传达的信息是不够完整 的,非正式的和不够精确的,甚至有些时候自相矛盾。模型中的许多缺陷都是由于所使用的图形表达能力有限而造成的。仅仅只有一个图的时候并不能表达一些条件 陈述,而它本应该是一个完整的规约的一部分。例如,在图一所示的UML模型中,类Flight和类Person之间的关联表示一次航班的乘客是确定的一组 人,这个一对多的关联在Person端是多重关系(0..*),这意味着乘客的数目是无限的。但是实际上,乘客的数目不可能超过执行这个航班的飞机上座位 的数目。然而,在图上我们无法表达这个约束。 ????? 此主题相关图片如下: 1 一个航班顾客模型 在这个例子中,正确的指定多重性的方法是向图中添加如下的OCL约束: ? context Flight inv: passengers-size() = plane.numberOfSeats ? 使用OCL这 样基于数学的、精确的语

文档评论(0)

1亿VIP精品文档

相关文档