【发布时间】:2021-04-16 04:26:01
【问题描述】:
UML 图和 UML 模型有什么区别?
我已经创建了几个 UML 图,例如活动图和用例图。该指南要求我准备我为演示文稿设计的软件的模型。
这是否意味着我必须使用我制作的 UML 图以及内容描述,还是我需要模型或线框图之类的东西来展示软件?
【问题讨论】:
UML 图和 UML 模型有什么区别?
我已经创建了几个 UML 图,例如活动图和用例图。该指南要求我准备我为演示文稿设计的软件的模型。
这是否意味着我必须使用我制作的 UML 图以及内容描述,还是我需要模型或线框图之类的东西来展示软件?
【问题讨论】:
模型从某个角度代表整个系统或其一部分,具有多个方面和所有复杂性。图表将其切成小块,可以逐点分析。
根据定义(从内存中写入), 模型是实际对象(现有的或设计的)或其部分的简化表示,通常侧重于特定方面。模型用于更好地理解真实对象及其属性。 图表是对象或其部分的某个方面的直观表示,通常采用标准化的图形表示法。
两个主要区别如下:
在一个非常简单的系统并且只有一个有趣的方面的情况下,一张图可以代表整个模型的唯一有趣的方面。实际上,尽管我们通常创建系统模型以完全理解复杂系统(或组件),但在这种情况下,您需要以其他方式(不仅仅是图表)可视化或描述系统的多个方面。例如,您通常同时考虑系统的静态和行为方面,并且需要单独的图表来显示它们,但它们可能仍然是单个模型的一部分。模型也可以有模拟、描述的形式。从广义上讲,BRD 也是一个模型。
另一方面,图表只是一个图形表示。它是整套“计划”中的一种。
在实践中,您会将构成模型的复杂信息拆分为易于理解的小块,然后在图表上显示(有时还以其他形式,例如文本描述屏幕模拟或决策表)。大型、复杂的数据模型将被包和几个显示复杂关系的图表分割。系统的多种行为将同时呈现一个(你不能用一个活动图来呈现多个活动,对吗?)。系统的整个模型将从静态和行为的各个角度表示,并显示在不同的模型上。以此类推。
因此,模型通常由系统中的对象列表组成,通常以图表表示,行为,也至少部分表示为图表,有时部分信息以附加形式表示为文档的一部分。
想想一栋两层楼的房子。房子每一层的平面图将是一个版本,甚至只是模型的一部分,第二部分是物理模型或系统可视化。这些计划可以非常通用(以便您了解房间的位置或如何运行整个基础架构)。一层的单一平面图将是一个图表。
一个自然的后续问题是“模型中应该包含什么?”不幸的是,对此没有简单的答案。根据经验,虽然模型应该包含所有必要的信息(而不是更多!),并且图表应该以允许理解信息的方式(足够简单和逻辑拆分)构建。
【讨论】:
图是模型的一部分,它们是模型的子集,所以 UML 图和 UML 模型有什么区别没有意义。
图表是模型一部分的图形表示。但是,UML 模型的所有细节/元素都没有图形表示。
图表不是强制,没有图表也可以有模型,但是你知道一张图值一千字,所以一定要有图表对理解有很大帮助型号。
另一方面,模型中不能只有图表,除非所有这些图表都是空的,因为图表显示模型的元素。
还要注意,在 UML 建模器中,可以强制使用图表在模型中添加元素,例如在我的工具 BoUML 中,您不能从图表中手动创建关系(但可以通过plug-out,例如 reverse),但当然可以删除图表或不在用于创建它的图表或任何兼容图表中显示该关系,而不影响模型中继续存在的关系。
然后,您可以使用 UML 建模,范围很广,从用例到部署。所以你可以指定什么必须做/目标,如何做/被实现,它是如何部署在主机/网络和/或库/可执行文件/文件/ ...
【讨论】: