UML 模式

2003 年 5 月 28 日

当我研究 UML 2 时,我意识到人们对 UML 中应该包含什么存在分歧,因为他们对 UML 应该是什么存在着不同的基本观点。当我思考这个问题时,我想出了三种关于 UML 的主要分类:UmlAsSketchUmlAsBlueprintUmlAsProgrammingLanguage。(有趣的是,史蒂夫·梅勒独立地得出了相同的分类。)

因此,当其他人的 UML 观点与你的观点大相径庭时,可能是因为他们使用的是与你不同的模式。同样,你对 UML 的理解也可能受到你最初接触它的模式的影响。

分歧的未来?

我和其他一些人对 UML 2 的一个问题是,为了提高其精确性,它引入了许多变化——这些变化主要是为了使其更适合 UmlAsBlueprintUmlAsProgrammingLanguage。但是这些变化增加了 UML 的体积——因此,对于那些更喜欢 UmlAsSketch 的人来说,它变得更难使用。我的感觉是,有很多草图绘制者,他们并不真正关心深入研究 UML 标准的细节。因此,我认为 UML 可能会分化为类似但不同的东西:标准 UML 和草图绘制者使用的传统非正式用法。问题是,如果这种情况发生,那么非正式用法将随着它们越来越远离标准的细节而发生分歧。

事实上,从我对非 UML 书籍中 UML 使用情况的调查来看,这种情况已经发生了。