1

我有一些设备由很多硬件和软件组成。为了阐明设备行为,我们的团队决定创建一堆 UML 图。

主图应描述具有接口类型/参数的块之间的逻辑连接。但我找不到如何使图表分层、嵌套。例如:在顶层,我想显示从主机应用程序到 DDR、从 DDR 到某个配置块以及从该块到数据处理块的数据传输。然后我想在处理块中绘制一系列数学块,并将顶级shematic的端口作为外部端口。

这不是我所看到的“传统”UML 用法。我也尝试使用 SysML,它为我提供了外部端口,但内部框图不是我想要的。所以问题是是否可以创建我描述的这样的图表?或者 UML/SysML 图是单级图?

4

2 回答 2

3

尚不完全清楚您要呈现什么,但您似乎在寻找适合所有人的图表。这不是 UML 哲学,在其中您使用不同的图表来显示系统的不同方面来建模。尽管如此,我还是会尝试提供一些想法:

  • 要显示块及其接口的大图,您可以使用组件图
  • 要显示较大组件中一些较小构建块的嵌套,您可以使用复合结构图
  • 但是如果要显示行为和处理流程,则需要使用活动图

挑战在于将这些图表联系起来,并展示如何将大图分解为更易于管理的小图。

最后,如果您想展示软件如何在硬件平台上运行以及硬件/软件部分如何相互通信,您可以考虑部署图。但您不妨选择较轻的C4 型号。这允许使用灵活的更轻的图表呈现更高级别的结构,直到组件交互,这比 UML 不太精确,但可以更好地应对不确定性。然后使用精确和更正式的 UML 模型详细说明 C4 组件。

于 2020-11-23T21:23:55.943 回答
0

一个建议是使用 IBD(不太确定你的理由为什么不可以)。IBD 中的部分可以分解到第 n 级,并且可以显示跨越部分边界的链接/端口。

IBD 中零件的边界可以被认为是它自己的 IBD 图框架,虽然不是正式的图对象,但它具有相同的目的。

于 2020-12-17T14:04:08.973 回答