Using UML for C programming

依然范特西╮ 提交于 2019-12-01 09:41:48

问题


I'm developing an embedded software based on standard specification. The software is big and I need a design of my software before start coding. the UML is an object-oriented language and could be a solution but I don't know how to use it for C softwares.

are there any document which help to use UML for C programming ? or are there another design language for c softwares ?


回答1:


Yes, you can, mostly because of two reasons:

  • You can actually do Object Oriented Programming with C (although it is tedious and not completely advisable), there a few books on the subject that you can read.
  • You can still use class diagrams to model data structures and static methods. But UML is not just about class diagrams: you also have state diagrams, interaction diagrams, use case diagrams... And they are useful for structured programming too.



回答2:


Well we use Enterprise Architect to model our embedded software although we stop short of generating the code. EA can generate C code as well although we use C++ code because it feels more natural combined with UML. You can try it out and see if it fits your needs, it is not unforgivingly expensive either. It can also reverse engineer your C code so that may be a help.




回答3:


I have two products in mind that could help you:

  • LieberLieber Software Embedded Extension, which is based on EA and gives you an idea about UML and C or

  • Eclipse Papyrus, which supports UML and SysML




回答4:


I am not an expert for embedded software but have you look to https://www.polarsys.org/ ? "PolarSys is an Eclipse Industry Working Group created by large industry players and by tools providers to collaborate on the creation and support of Open Source tools for the development of embedded systems."

It is a platform based on Eclipse dedicated to embedded software. It use Papyrus for UML/SysML modeling and implement MARTE profil. "Papyrus is the PolarSys solution for SysML and UML modeling. It relies on the underlying Eclipse platform and on other Polarsys and Eclipse-based offerings to fulfill lifecycle integration needs, such as a C/C++ "



来源:https://stackoverflow.com/questions/8180466/using-uml-for-c-programming

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!