c - 哪个 UML 图应该用于将用 C 语言为微 Controller 编写的软件概述?

标签 c uml microcontroller

我想知道如何使用 UML 图呈现软件概览。代码将用 C 语言为微 Controller 编写。所以,我猜我不能使用类图/对象图/复合结构图。然后,

  1. 我应该使用哪个 UML 图?

  2. 事件图可以用于此吗?如果是这样,是否有任何方法可以将所有事件组合在一个图表中以查看整个软件?

  3. 如果 UML 图不合适,那么哪一个是适合此目的的?

提前致谢。

最佳答案

理想情况下,程序设计应该与您的需求规范联系在一起,这样对于每个需求都有一个代码模块,并且对于该代码模块有一个测试来证明它如何满足需求。这是一种很难在实践中坚持的乌托邦,但无论如何,这种设计是一个很好的抱负。

一般来说,如何记录程序设计并不重要,只要整体设计得到记录即可 - 即使在专业环境中,这种情况也很少见。但是 UML 的所有迂腐细节实际上都是可选的,在找到适合它们的情况下使用它们,不要仅仅为了它而使用它们。我经常使用 UML 类图来记录代码依赖关系,以及对记录应用程序行为很有用的状态图。等等 - 保持广泛而没有实现细节。

类的 C 等价物通常是具有相同名称的 .h/.c 对,它们一起形成“模块”或“ADT”或任何您喜欢的名称。

您需要记录所有A 类使用B 类 依赖项,以及所有B 类是A 类 依赖项(继承)。继承在嵌入式系统中不是很常见,但实现 HAL 是使用它的典型示例。您在特定于硬件的驱动程序之上有一个抽象 API。

显然,您需要尽早决定此类抽象是否合理 - 程序最终会移植到另一个 MCU 上,还是指望硅供应商的“长生命周期”保证 MCU 不会在预期产品中结束生命周期生命周期?看看今天完全崩溃的硅市场,我认为任何微 Controller 项目都需要在其生命周期内移植很多次。

关于c - 哪个 UML 图应该用于将用 C 语言为微 Controller 编写的软件概述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70153599/

相关文章:

c - 如何使用typedef定义函数类型?

C++ 从 dll 调用 FORTRAN 子程序

java - merise和uml可以在实际项目中共存吗?

python - 如何实现双向 jsonrpc + 扭曲的服务器/客户端

java - 在 Linux 上调用 JNI 代码时奇怪的崩溃;我是否正确编译了我的共享库?

c - 逐个字符搜索字符串

mobile - UML 用例图服务器作为系统参与者以及哪种用例

UML事件图中的队列演示

embedded - STM32 SPI驱动接收数据一直为0

c - 如何在每次 TCP 读取时只从 TCP 流中读取单个命令