UML软件工程组织

 

 

UML2.0实战:项目开发指南-2.7 UML 2.0
 
来源:csdn
 


2.7  UML 2.0

2.7.1  UML 2.0概述

本书是基于UML最新的2.0版本,在该版本中,UML的结构和文档经过了彻底的修订。现在描述UML的文档包括两个:

  • UML 2.0下部构造  定义了UML所依托的基本语言构造,这部分内容和UML的用户(我们的读者)并无直接关联,而是直接和建模工具的开发者相关的。
  • UML 2.0上层构造  定义了UML 2.0的用户构造,也就是那些用户可以直接使用的UML元素。

另外,这个UML修订版本是为了实现以下目标。

(1)对UML的结构进行重组和精化,提高其可用性,使其执行和修改更加简单。

(2)UML下部构造的目标是:

  • 提供一个可重用的元语言核心,UML通过它能够定义其自身;
  • 提供一个修正语言的机制。

(3)UML上层构造的目标是:

  • 更好地支持基于构件的开发;
  • 改进架构描述所需使用的构造;
  • 对行为建模提供更好的选择。

除了UML下部构造规范和上层构造规范提案之外,还有两个针对新对象约束语言(OCL)和图形交互的提案。加在一起,构成了全部UML 2.0包,如图2.12所示。

图2.12  UML 2.0包的全部内容

UML 2.0从总体上看,扩展性要比早期版本更好,也更复杂。UML文档的内容也有进一步增加。UML 1.5的文档加上OCL,共有730页,而UML 2.0文档加上OCL,则共有约1050页。

尽管部分文档不是针对“普通”UML用户的,但对于大部分软件开发项目成员而言,阅读所有的内容也是不切实际的。这不仅仅是因为页数太多,还因为UML构造的数量和复杂度。正因如此,和早期版本相比而言,对每个项目减少所需的UML构造是更必要的。

从这里可得出本书的两个结论。

本书的观念是展示一个很简化的UML视图。随着UML范围的扩大,这已经变得十分重要,因为UML在2.0版本中的可访问性并没有任何提高。

幸运的是,UML 2.0中的很多新功能对于本书在应用UML的方式而言影响很少或没有影响。因此,和本书的早期德语版相比,这一版本只做了少量的修改。本书应用UML的方式可以确保对于新的UML版本同样适用。

我们特意只展现冰山的顶端,虽然在水下的部分变得越来越大。我们越来越确信冰山的顶端(如图2.13所示)对于目标读者(IT项目团队的成员)而言,已经足够使其理解UML并应用于项目中了。

图2.13  UML冰山

我们也意欲指出UML 2.0所引出的新可能。UML 2.0的目标之一是使定义更加正式,语义上更加严格。如果这一规则在模型开发中加以利用,就能够从这些模型中生成相应的系统。这将带来以下好处:

  • 用UML描述的模型体现了真实的系统;
  • 使得尽早并持续地修改模型中的错误成为可能;
  • 诸如修正代码等模型设计之外的中间步骤将被忽略;
  • 使得相同的模型运行于不同平台(硬件或软件平台)成为可能。

但是,为了获得这些好处也需要花费一定的代价。必须深入、正确地理解UML,并且在模型开发时需要付出很大的努力。

2.7.2  对业务系统模型的影响

在建模性能上的一些增强提高了业务系统建模的可能性。首先,我们将举几个在UML 2.0中的修改及改进实例。

活动图不再被看作是状态图的特例。最初,它事实上与普通的UML用户是无关的,但是,随着在元模型中添加了新的自主元素,还进行了几个其他修正与改进。

  • 迄今为止,活动图中的每个步骤可以引用其他活动集。现在整个图称为活动(activity),而以前称为活动集的步骤现在称为动作(action)。一个操作可以调用一个主操作或另一个活动。这对于一个组织严密的模型视图而言,提供了一个灵活的调节机制。
  • 分区之间不再必须重新同步。
  • 一个活动图可以有多个初态。基于该功能,同时可以启动多个事件。
  • 在活动中可以添加输入和输出参数。
  • 在顺序图中的改进之一是添加了“操作符(operators)”。通过操作符可以将顺序图中的几个动作/活动组成一个包。例如,操作符可以用来引用其他顺序图或序列,适当的操作符还能够表示迭代。基于新引入的操作符,顺序图现在也成为了一个组织严密的视图。

OCL现在成了UML固有的部分。它可以用来描述UML模型中的协定、常量、前置条件和后置条件,它可以使业务系统和业务过程的模型更加精确。

2.7.3  对IT系统模型的影响

本书中,在IT系统不同视图里使用的图并没有遇到很大的变化。最大的变化是顺序图中的符号。在这里,其中变化之一是交互引用被当作模块化构造引入。不过,在本书使用的详细程度上,顺序图的含义和功能并没有发生改变,对于类图和用例图而言也是如此。

对于IT系统建模而言,状态图发生了最有趣的变化,例如,引入了连接点,它可以提高状态图模块化程度。不过,我们并不打算在这个简化的UML方法中使用该元素。

2.7.4  对系统集成模型的影响

当然,对于行为建模的改进也将对系统集成模型中的过程视图产生影响。最重要的改进在于可以为活动添加输入/输出参数(参见2.7.2节“对业务系统模型的影响”)。

在静态视图(用类图进行业务对象设计)中几乎没有发生任何变化。

除了UML 2.0框架中的变化之外,UML针对企业应用集成(EAI)的profile在系统集成领域的影响日益增大。除了系统集成领域所需的基本操作之外,还展示了针对许多非面向对象编程语言的数据元模型。不过,这将在更详细的级别上才会使用,对现在还没有什么影响。

2.7.5  小结

对于普通用户而言,UML 2.0并未颠覆UML的早期版本,只是在原有概念上提出了一些改进,因此可以在未来的模型中使用UML 2.0。换句话说,仍然可能继续使用原有的构造,并基于UML早期版本建模。对于正在进行中的项目而言,要考虑转用UML 2.0所带来的优势(更精确的模型)必须大于其产生的缺点(额外的工作)。

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号