一个源文件提供多个组件

One source file providing multiple components

我正在尝试创建一个用 C 编写的现有嵌入式软件的组件图。它恰好有一个 3k+ 行的 C 文件,该文件恰好使用了很多依赖于硬件的组件(内存映射外围设备,微小的CPU) 的汇编以及许多与硬件无关的组件。我的问题是它还提供了许多依赖于硬件和独立于硬件的功能。

我想知道是否可以将此文件拆分为 UML digram 中的几个组件,以便更好地管理接口。那么问题来了:是否允许将一个文件拆分成多个组件?

本练习的最终任务是制作系统模型,然后分离与硬件无关的代码部分。这将帮助我们将该软件移植到不同的 architectures/SOCs/Boards。将这个文件分成多个文件 一种可能性,但目前我们需要图中表示的实际架构。

就UML而言,是的,这是允许的。 UML 没有任何关于如何为一段 C 源代码建模的规则。如果您可以在大型 C 文件中辨别多个逻辑单元,那么当然,您应该将其建模为多个组件。