图和模型有什么区别

时间:2021-01-11 08:08:10

标签: model uml modeling

UML 图和 UML 模型有什么区别?
我已经创建了几个 UML 图,例如活动图和用例图。指导方针要求我准备我为演示设计的软件的模型

这是否意味着我必须使用我制作的 UML 图和内容描述,或者我是否需要诸如模型或线框之类的东西来展示软件?

2 个答案:

答案 0 :(得分:3)

TL;DR

模型从某个角度代表整个系统或其部分,具有多个方面和所有的复杂性。图表把它切成小块,可以一点一点地分析。

更详细的说明

根据定义(从内存中写入), 模型是实际对象(现有或设计的)或其部分的简化表示,通常侧重于特定方面。模型用于更好地理解真实对象及其属性。 图表是对象或其部分的某个方面的可视化表示,通常采用标准化的图形符号。

两个主要区别如下:

  1. 模型可以有多种不同的形式,不一定是图形化的。图表是一种图形表示。
  2. 模型通常侧重于更广泛的方面。它通常非常复杂。您将系统视为一个整体,因此您需要了解其中的所有(或大多数)类、所有(或至少或复杂的)行为等等。另一方面,图表专门用于简化视图。将其“切片”成更容易理解的小块。

在一个非常简单的系统并且只有一个有趣的方面的情况下,一张图可以用唯一有趣的方面来表示整个模型。实际上,尽管我们通常创建系统模型来完全理解一个复杂的系统(或组件),但在这种情况下,您需要以某种其他方式(不仅以图表的形式)可视化或描述系统的几个方面。例如,您通常会同时考虑系统的静态和行为方面,并且需要单独的图表来显示它们,但它们可能仍然是单个模型的一部分。模型也可以有模拟、描述的形式。从最广泛的定义来看,BRD 也是一种模型。

另一方面,该图仅是图形表示。这是整个“计划”中的一张。

在实践中,您会将构成模型的复杂信息拆分为易于理解的小部分,然后显示在图表上(有时也以其他形式显示,例如文本描述屏幕模拟或决策表)。大型、复杂的数据模型将按包和显示复杂关系的少量图表进行拆分。系统的多个行为将一次呈现一个(您不能让单个活动图呈现多个活动,对吗?)。系统的整个模型将从静态和行为的各个角度表示,并显示在不同的模型上。等等。

因此,模型通常由系统中的对象列表组成,通常用图表表示,行为,也至少部分以图表形式呈现,有时部分信息以附加形式呈现为文档的一部分。

想想一栋两层楼的房子。房子每一层的平面图将是一个版本,甚至只是模型的一部分,第二部分是物理模型或系统可视化。计划可以非常通用(以便您了解房间在哪里或如何运行整个基础设施)。一层的平面图就是一张图。

最后的想法

一个自然的后续问题是“模型中应该包含什么?”不幸的是,对此没有简单的答案。根据经验,模型应该包含所有必要的信息(而不是更多!),并且图表应该以允许理解信息的方式(足够简单且逻辑拆分)构建。

答案 1 :(得分:2)

图是模型的一部分,它们是模型的一个子集,所以UML 图和 UML 模型有什么区别没有任何意义。

图表是模型一部分的图形表示。然而,UML 模型的所有细节/元素都没有图形表示。

图表不是强制性,你可以有一个没有图表的模型,但是你知道一张图片值一千字,所以一定要有图表帮助理解模型。

另一方面,您不能在模型中只有图表,除非所有这些图表都是空的,因为图表显示了模型的元素。

还要注意,在 UML 建模器中,可以强制使用图表在模型中添加元素,例如在我的工具 BoUML 中,您不能从图表中手动创建关系(但它可以是由一个插件创建,例如一个反向),但是当然在您可以删除图表或不在用于创建它的图表中显示该关系或任何兼容图,不影响模型中继续存在的关系。

模型就是您可以使用 UML 建模的全部内容,范围很广,从用例到部署。所以你可以指定必须做什么/目标,如何做/实现,它如何部署在主机/网络和/或库/可执行文件/文件/ ...