预备知识
了解本教程预期的内容,以及如何充分利用它。
当您将 UML 模型用作系统的蓝图,或者转换的输入(例如在模型驱动的体系结构,或 MDA 中)时,成功的关键是提供适当级别的模型的精确度。增加模型精确度的一种已证实的方法是使用约束条件和对象约束语言(Object Constraint Language,OCL)。然而,利用文本的约束条件细化类模型是浪费时间且容易出错的工作。在最坏的情况下,由于自相矛盾的约束条件,约束规范可能会非故意地矛盾。
本教程将向您介绍如何使用 IBM® Constraint Patterns and Consistency Analysis 扩展,一种基于模式以及一致性保持的 UML 类模型细化工具。一般情况下,当您创建 UML 模型时,您用模型来达到三个目的:
- 获取解决方案的设计
- 与其他人交流设计
- 利用模型中的信息生成其他相关的工件
当从模型中获得的信息缺乏足够的精确度时,您实现这些目标的成功几率就严重地受到限制。当您向这些目标前进时,利用约束条件,并且特别是 OCL,可以使您受益。
然而,理解 OCL 需要额外的专家经验,什么时候使用它,以及使用它时的最佳实践是什么。与其投入大量时间试图构建所需的专家经验,倒不如利用一组 IBM® Rational® Software Architect 的扩展,简化您识别约束条件的需求的方式、使用用于约束条件的最佳实践的方式,以及为您生成必要的 OCL 的方式。这些扩展被打包成一组自动化产品,称为 IBM Constraint Patterns and Consistency Analysis 扩展,可以从 IBM® developerWorks® 可复用的资产存储库中下载它们。
在本教程中,您提出以下的用例。UML 类模型已经在 IBM® Rational® Software Architect 中生成了。本教程的目的是添加 OCL 的文本约束条件来限制模型的非期望的实例,并且因而达到更高的成熟级别(参见 参考资料 [1],了解更多详情)。图 1 显示了一个实例类模型,它表示一家拥有雇员和办公室的公司。
图 1. 公司的类模型
您将看到如何利用 IBM Constraint Patterns and Consistency Analysis 扩展,以简化的,自动的,且一致的方式增加该模型的精确度。在您了解使用 IBM Constraint Patterns and Consistency Analysis 扩展的细节之前,您需要向 Rational Software Architect 安装资产。
为了从本系列教程中获得更好的价值,建议您了解以下内容,但不是必需的:
- 对象约束语言(Object Constraint Language,OCL)
- 统一建模语言(Unified Modeling Language,UML)
- IBM Rational Software Architect V7.0(推荐 fix 002)或更高
在阅读本教程之前,我们强烈推荐您阅读有关本主题的 概述文章。
为了完成本教程,您应该安装以下内容(在线试用版可用):
- Rational Software Architect V7.0(推荐的 fix 002)或更高

