1

与类图相比,似乎可以在框图中对系统的多个方面进行建模,例如软件、硬件、实体等。

单个块是否有可能同时代表软件和硬件?还是它们总是被分成两个单独的块?例如,当对一些机械进行建模时,假设机械有一个物理按钮,并且机械的软件也有一个“按钮”软件类。它们会被建模为单独的块还是单独的块?

对于映射到作为类的面向对象语言的数据库实体可以提出相同的问题,并且所述实体还代表现实生活中的物理参与者(例如“用户”软件类和现实生活中的物理用户)。

在单个块可以表示多个方面的情况下,是否有某种形式的符号来表示“这个块代表硬件和软件” - 或者这只是基于与其他块具有多个和不同注释关系的块而暗示的?

4

2 回答 2

1

系统工程师通常希望分离物理组件和软件组件。软件中的“数字孪生”并不总是准确地表示其物理对象。例如,不良传感可能会导致数字双胞胎无法准确地表示现实中的组件。想象一下自动驾驶汽车在交通中的位置,或者“失速”的 737 MAX。

在信息系统中,一个人的数字孪生与其所代表的实际人不同。想象一下,如果您的医生只根据不准确的健康记录对您进行治疗,将会发生什么。您,实际的人,应该与您的健康记录区分开来。此外,软件的设计应该与数据库模式的设计区分开来,因此两者可以独立变化。

要回答您的问题,没有什么可以阻止您将所有内容建模为一个块,但是,如果您将模型中的事物混为一谈,则无法单独推理它们。为什么要将物理事物及其数字孪生模型或 Java 类和数据库表建模为同一个 SysML 块?

于 2019-04-10T20:11:46.863 回答
1

这完全取决于您要传达的内容。始终在考虑模型和视图的特定用途的情况下建模和创建视图。

如果您只是试图传达与人相关的系统概念或具有按钮的机器,无论它们是硬件还是软件/虚拟,那么单个块就可以工作。如果您想引起注意两个可能的按钮或系统的其他内部工作之间的任何功能或关系,则为每个按钮使用不同的块并创建第三个“系统”块,该块“具有”(聚合/组合)这两个按钮不同类型或具有具有按钮的硬件子系统和软件子系统。如果两种按钮类型之间存在相关关系,则显示这些关系。如果物理硬件按钮依赖于按钮类或功能的软件实现,则创建该依赖关系。

根据需要详细说明和添加细节,一旦你充分传达了这个概念,就停下来。

如果您对要传达的内容没有具体的想法,但正在尝试了解一个概念的结束位置和下一个概念的开始位置以及如何考虑整个混乱,请尝试多种方式,您可能会获得更好地理解问题并理清思路。如果组合块没有显示您要“说”的内容,请尝试块和关系的不同组合。当你发现一些有用的东西可以解决手头的问题时,停下来。

不要被语言束缚

于 2020-10-27T06:30:02.630 回答