一般性的合并
这一项特性适用于很多的领域,包括重复概念的消除和多数编辑上的修改(比如:给模糊的描述和标准化的术语以及特殊的格式添加相应的说明)
消除了重复和对缺乏定义的概念的说明也是UML2.0另一个重要的需求。受这个需求影响的主要有下面三个主要领域:
动作和活动模板基于组件的设计概念在UML1.5中介绍过动作。动作的概念上的模型被特意的普通化,从而提供数据流和控制流计算模型。这就导致了与活动模型在概念上非常相似。UML2.0利用了这种相似,它为动作和活动提供了一个通用的在语法上和语义上的基础。从你的角度来看,在不同层次上的抽象显得有些过于的形式主义,因为它很典型模拟了不同层次的之间存在的现象。尽管如此,共享概念上的基础使得它完全的简单化和更加的清晰。
在UML 1中,定义模板是非常普遍的:任何的UML 概念都可能产生一个模板。不幸的是,这种普遍性是它应用上的一种阻碍,因为允许存在潜在的无意义的模板类型和可代替的模板。在UML 2.0中的模板机制受到一些容易理解的案例的限制如:分类器,操作,和包。前两种是在流行的程序语言创建模板机制后被模式化的。
基于组件的设计领域中,UML1 有很多使人混淆的概念。你可以使用类,组件,或子系统。这些概念除了在不同方法中有一些微妙的差别外,它们都有着许多共同点。关于在任意的特定情况下来使用,这里没有清楚的描绘。一个子系统仅仅是一个“较大的”组件吗?假如这样的话,毫无疑问的是它在成为一个子系统以前,一个组件要多大呢?类提供了封装和接口的实现,组件和子系统也可以做到。
在UML 2.0中,所有的这些概念都被结合在一起,所以组件被作为一个特殊的例子简单地定义了,即一个结构化类的更加全面的概念;同样地,子系统也仅仅是组件概念的一个特殊例子。两者之间从性质上的不同有清楚的定义,因此,当你使用基于客观的标准概念时,你便能果断地作出决定。
在编辑方面,规范的格式已经统一化了,使用了语法与简单参考资料相结合的模型概念符号规范。每一个元类规范被扩大化了,它明确地确定了语义的不同点,符号的选择权,以及它与UML 1规范的关系。最终,专业术语得到了统一,因此一个特定的条件(例如,类型,实例,规范,或事件)在它出现过的所有上下文中有着相同的全面含义。
总结
UML 2.0对驱动模型方法做了初步的介绍。那些喜欢将它作为一种绘图工具(正如在文章中先前所描述的那样)的使用者同样也可以像UML 1一样以非正式的方式使用它。此外,尽管新的建模性能是非插入式的,但是在大多数的案例中,这样的使用者将在语言的视觉和感觉上看不到任何变化。
然而,现在MDD阶段性进步的机会在标准化的方法中是可得到的。UML 2.0包含必要的精确性的增强,并且如果你希望你可以使用它的新特性的话――所有的方法都可以完全自动的产生代码。
语言的结构被谨慎的重新编制后允许采用一个模型和渐变的方法:你仅仅需要学习你所感兴趣的那部分语言,其余的你可以完全的忽视。随着经验和知识的增加,你能选择性地添加新的能力。随着重组带来了规范标准定义的极大的简化,它将促进了工具之间的互用性,同时也将促进来自不同商家之间的工具的互用性。
仅有少量新特性被添加里面(用来避免语言冗余),实际上所有这些都遵循相同的递规法则设计原则,从而使你能够模型化既大又复杂的系统。尤其是,这些扩展被添加以促进更加直接地建模软件体系结构,复杂的系统交互,和基于流程的建模,使它在例如商业过程建模和系统工程中被理想化的应用,。
语言扩展机制将被结构重组和简化,以给你提供一种更加直接地方法基于UML来定义特定领域语言(DSL),这些语言在直接的利用丰富的UML工具和专门技术上有着独特的优势。
所有这些导致了第二代建模语言的产生,这种语言将使你更快更可靠的开发成熟的软件系统――同时允许你继续使用相同类型的经验和知识,也是每个软件开发人员所要掌握的技能。
文章来源于领测软件测试网 https://www.ltesting.net/