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