与类图相反,似乎可以在框图中对系统的多个方面进行建模,例如软件,硬件,实体等。
单个块是否可以代表软件和硬件?还是总是将它们分为两个单独的块?例如。在对某些机械进行建模时,假设机械具有物理按钮,并且机械软件也具有“ Button”软件类。是将它们建模为单独的模块还是单独的模块?
对于作为类映射到面向对象语言的数据库实体,可能会问相同的问题,并且该实体还代表现实生活中的物理角色(例如“用户”软件类和现实生活中的物理用户)。 / p>
在单个块可以表示多个方面的情况下,是否存在某种形式的表示法来表示“此块代表硬件和软件”-或仅基于与多个块具有不同注释关系的块来暗示其他街区?
答案 0 :(得分:1)
系统工程师通常希望将物理组件和软件组件分开。软件中的“数字孪生”并不总是准确地表示其物理对象。例如,不良的感应可能会导致数字孪生实际上是组件的不准确表示。想象一下自动驾驶汽车在交通中的位置,或“停滞” 737 MAX。
在信息系统中,一个人的数字双胞胎与其所代表的实际人不同。想象一下,如果您的医生仅根据不正确的健康记录对您进行治疗,将会发生什么情况。您(实际的人)应该与您的健康记录区分开。此外,软件的设计应与数据库架构的设计区分开来,以便两者可以独立变化。
要回答您的问题,没有什么可以阻止您将所有事物建模为一个模块,但是,如果将模型中的内容混合在一起,则无法单独推理它们。为什么要将物理事物及其数字孪生模型或Java类和数据库表建模为同一SysML块?
答案 1 :(得分:1)
这完全取决于您要交流的内容。始终在建模和创建视图时考虑到模型和视图的特定用途。
如果您只是想传达与人相关的系统或具有按钮的机器的概念,无论是硬件还是软件/虚拟,那么一个模块就可以工作。如果您想引起人们对两个可能按钮或系统其他内部组件之间的任何功能或关系的关注,请为每个按钮使用不同的模块,并创建第三个“系统”模块,该模块“具有”(汇总/组成)以下两个按钮:或具有按钮的硬件子系统和软件子系统。如果两种按钮类型之间存在相关关系,则显示它们。如果物理硬件按钮取决于按钮类或功能的软件实现,则创建该依赖关系。
详细说明并添加必要的细节,并在充分传达概念后立即停止。
如果您对所要交流的内容没有特定的想法,但是想了解一个概念在哪里结束,下一个概念开始以及如何甚至思考整个混乱,请尝试几种方法,您将可能会更好地理解问题并理清思路。如果组合的块未显示您要“说”的内容,请尝试块和关系的不同组合。当您发现有用的东西可以解决当前的问题时,请停止。
不要被这种语言所困扰