【问题标题】:Using UML for C programming使用 UML 进行 C 编程
【发布时间】:2011-11-18 09:44:09
【问题描述】:

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

是否有任何文档可以帮助使用 UML 进行 C 编程? 还是有其他 c 软件的设计语言?

【问题讨论】:

  • Uml 是面向对象的吗?我以为它只是一种用于建模的标记语言
  • 您可以将 UML 图中的类视为单独的源文件,其中方法成为文件中的函数。仅仅因为 UML 用于面向对象的设计并不意味着它不能用于过程语言。
  • @Mocialov Boris: en.wikipedia.org/wiki/Unified_Modeling_Language 维基百科页面的第一句话说“统一建模语言 (UML) 是面向对象软件工程领域的标准化通用建模语言”
  • @Yuri 我知道,但这只是问题很奇怪.. 我觉得 Mohamed KALLEL 想从 UML 或其他东西生成他的 C 代码

标签: c uml modeling


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    是的,您可以,主要有两个原因:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2017-05-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-13
          • 2015-05-30
          • 1970-01-01
          相关资源
          最近更新 更多