UML 1和UML 2之间有什么区别?我应该关注哪一个?

6
我在工作中被赋予了一个特殊的任务,需要学习和讨论UML(统一建模语言)。我对这个主题有一点基础知识,但我不确定应该把哪个领域放在更优先的位置,因为现在UML已经有多个版本。我应该坚持使用第一个版本的UML,并为UML 2提供概述吗?还是应该更加关注UML 2,因为它是最新版本?我很困惑,因为我不熟悉这两个版本的区别。
我需要有关此事的建议。谢谢您的帮助。如果这个问题与本网站无关,请见谅。

1
请查看以下链接:http://www.differencebetween.info/difference-between-uml-1-and-uml-2 - munsifali
@deadman,谢谢你。我会去看看的。 - Vinvinvinvin
4
如果你要前往意大利进行商务活动,那么你应该学习拉丁语还是意大利语? - qwerty_so
@VojtěchDohnal,感谢您的建议! - Vinvinvinvin
2
我想补充一下,UML的演进是一种持续的过程,因此最好查看最新版本(我认为是UML 2.5)。 - Jordi Cabot
显示剩余2条评论
1个回答

6
几乎所有可用的绘图工具从很久以前开始就实现了UML 2,因此仅限于使用UML 1可能在实践上难以实现。因此,每次绘制某个结构时,您都需要手动检查它是否已在UML 1中可用。
从UML 1到2的转变在很大程度上是由大约10-15年前名为MDA(模型驱动架构)的软件工程热潮所推动的。这是关于直接从模型生成软件。为支持此功能,所有模型元素都通过某些形式的语义进行定义。而且,一些模型和图表类型得到了增强。序列图被丰富到控制结构以表达控制流。组件和部署图得到了增强。
除了建议不要回到UML 1之外,我从您的问题中读出您需要设置优先级。这很有道理,因为UML的定义(1和2)非常冗长,您不想学习每一个细节。所以这里有一些提示:
- 随着面向对象技术无处不在,“类建模”是核心概念。因此,您应该熟悉类、关联、聚合、组合、继承、属性、操作及其参数和结果、方法和属性的可见性、抽象类和方法以及接口。 - 类的对象通过应用它们的操作改变其状态。因此,一种中心且有时被低估的模型类型是“状态建模”。在这里,UML提供了两种部分冗余的模型和图表类型:状态和活动模型。您应该至少熟悉其中之一--然后切换到另一个将不会太困难。 - 大多数UML用户非常喜欢“用例建模”。我不是,因为这些用例往往缺乏重要性(如果限制为命名用例和参与者)或结构(如果您开始使用用例记录系统数据和功能)。但是,如果您想成为UML专家,其他人将只接受您知道它们,因此您将无法避免它们。在广泛使用它们之前,请考虑如何通过用例描述系统时达到DRY(不要重复自己)原则。

请注意,您应该使用术语“操作”而不是“方法”。 “方法”指的是“操作”与实现该“操作”的“行为”之间的关系。 - Geert Bellekens
抱歉,我没有考虑从Java切换到UML模式。我会编辑答案。 - TAM
谢谢您,TAM。您为我节省了很多研究时间。我也发现用例的意义不是很大,而且我发现的例子都过于深入地描述了系统的行为。在许多现实任务中,我们并不需要这些细节。 - Hesham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接