我想知道在设计大型 IT 系统时应该首先创建这两个图表中的哪个图表。在我读到的每篇关于 UML 的文章中,几乎最后都提到了组件图。我认为,在设计更大的系统时,最好将其划分为组件图上的较小部分/模块,然后为每个组件创建一个详细的类图。那是对的吗?
从您的经验来看,它在实践中的表现如何?您是否知道任何文章/教程从头到尾展示了使用 UML 进行系统设计?
我想知道在设计大型 IT 系统时应该首先创建这两个图表中的哪个图表。在我读到的每篇关于 UML 的文章中,几乎最后都提到了组件图。我认为,在设计更大的系统时,最好将其划分为组件图上的较小部分/模块,然后为每个组件创建一个详细的类图。那是对的吗?
从您的经验来看,它在实践中的表现如何?您是否知道任何文章/教程从头到尾展示了使用 UML 进行系统设计?
UML 图设计没有强制性的顺序——事实上,您经常会发现自己创建了几个不同类型的简单图,然后再对它们进行改进。该过程通常是迭代的,但没有遵循特定的顺序。
话虽如此,一些 UML 图提供了比其他图更抽象的视图,有时从最抽象的视图开始,然后逐步深入到最专业的视图可能是有意义的。用例图通常较早出现,而对象图或状态图通常在设计过程中较晚出现,一旦原始的抽象解决方案得到改进。
您还需要查看图表之间的一致性:实际上,对于多个视图,您将引入冗余元素,并且确保它们不会相互矛盾是很重要的。例如,如果你有一个序列图和一个类图,前者中的任何调用消息都应该对应于后者中的一个操作。请参阅Alexander Egyed 等人关于 UML 模型中的自动化一致性管理和校正的工作。