使用UML进行C编程

我正在开发基于标准规范的嵌入式软件。 该软件很大,我需要在开始编码之前设计我的软件。 UML是一种面向对象的语言,可能是一种解决方案,但我不知道如何将它用于C语言软件。

有没有任何文档有助于使用UML进行C编程? 还是有其他c语言设计语言?

是的,你可以,主要是因为两个原因:

  • 你实际上可以使用C进行面向对象编程(虽然它很乏味且不完全可取),但是你可以阅读一些关于这个主题的书籍 。
  • 您仍然可以使用类图来建模数据结构和静态方法。 但是UML不只是关于类图:你还有状态图,交互图,用例图……它们对结构化编程也很有用。

我们使用Enterprise Architect来模拟我们的嵌入式软件,尽管我们不会生成代码。 EA也可以生成C代码,尽管我们使用C ++代码,因为它与UML结合起来感觉更自然。 您可以尝试一下,看看它是否符合您的需求,也不是非常昂贵。 它还可以对C代码进行反向工程,以便提供帮助。

我有两种产品可以帮助您:

  • LieberLieber软件嵌入式扩展 ,基于EA,让您了解UML和C或

  • Eclipse Papyrus ,支持UML和SysML

我不是嵌入式软件的专家,但你看看https://www.polarsys.org/ ? “PolarSys是一个Eclipse行业工作组,由大型行业参与者和工具提供商共同创建,用于开发嵌入式系统开源工具的创建和支持。”

它是一个基于Eclipse的平台,专用于嵌入式软件。 它使用Papyrus进行UML / SysML建模并实现MARTE profil。 “Papyrus是用于SysML和UML建模的PolarSys解决方案。它依赖于底层Eclipse平台以及其他Polarsys和基于Eclipse的产品来满足生命周期集成需求,例如C / C ++”