Использование UML для программирования на C

Я разрабатываю встроенное программное обеспечение на основе стандартной спецификации. Программное обеспечение велико, и мне нужно разработать дизайн моего программного обеспечения, прежде чем я начну писать код. UML является объектно-ориентированным языком и может быть решением, но я не знаю, как использовать его для программного обеспечения C.

есть ли какой-либо документ, который помогает использовать UML для программирования на C? или есть другой язык дизайна для программного обеспечения c?


person MOHAMED    schedule 18.11.2011    source источник
comment
Умл это ОО? Я думал, что это просто язык разметки для моделирования   -  person    schedule 18.11.2011
comment
Вы можете рассматривать класс на UML-диаграмме как отдельный исходный файл, где методы становятся функциями в файле. Тот факт, что UML используется для объектно-ориентированного дизайна, не означает, что его нельзя использовать для процедурного языка.   -  person Some programmer dude    schedule 18.11.2011
comment
@Mocialov Boris: en.wikipedia.org/wiki/Unified_Modeling_Language гласит: Unified Modeling Language (UML) - стандартизированный язык моделирования общего назначения в области объектно-ориентированной разработки программного обеспечения.   -  person Yuri    schedule 18.11.2011
comment
@Yuri Я знаю, но это странный вопрос ... я чувствую, что Мохамед КАЛЛЕЛЬ хочет сгенерировать свой код C из UML или чего-то еще   -  person    schedule 18.11.2011
comment
@MocialovBoris UML - это графический язык, а не разметка (возможно, вы думаете о XMI)   -  person fortran    schedule 18.11.2011
comment
stackoverflow.com/ questions / 351733 /   -  person MOHAMED    schedule 25.03.2013
comment
Возможный дубликат UML для языка программирования C   -  person marli    schedule 26.01.2017


Ответы (4)


Да, можно, в основном по двум причинам:

  • На самом деле вы можете выполнять объектно-ориентированное программирование с помощью C (хотя это утомительно и не совсем целесообразно), есть несколько книги по теме, которую вы умеете читать.
  • Вы по-прежнему можете использовать диаграммы классов для моделирования структур данных и статических методов. Но UML - это не только диаграммы классов: у вас также есть диаграммы состояний, диаграммы взаимодействия, диаграммы вариантов использования ... И они также полезны для структурного программирования.
person fortran    schedule 18.11.2011

Что ж, мы используем Enterprise Architect для моделирования нашего встроенного программного обеспечения, хотя мы и не генерируем код. EA также может генерировать код C, хотя мы используем код C ++, потому что он кажется более естественным в сочетании с UML. Вы можете попробовать его и посмотреть, соответствует ли он вашим потребностям, это тоже не так уж и дорого. Он также может реконструировать ваш код C, чтобы это могло оказаться полезным.

person AndersK    schedule 18.11.2011

У меня есть два продукта, которые могут вам помочь:

person Stack The User    schedule 22.02.2017

Я не эксперт по встроенному программному обеспечению, но обращайтесь ли вы к https://www.polarsys.org/ ? «PolarSys - это отраслевая рабочая группа Eclipse, созданная крупными игроками отрасли и поставщиками инструментов для совместной работы над созданием и поддержкой инструментов с открытым исходным кодом для разработки встроенных систем».

Это платформа на основе Eclipse, предназначенная для встраиваемого программного обеспечения. Он использует Papyrus для моделирования UML / SysML и реализует профиль MARTE. «Papyrus - это решение PolarSys для моделирования SysML и UML. Оно основано на базовой платформе Eclipse и других предложениях на основе Polarsys и Eclipse для удовлетворения потребностей интеграции жизненного цикла, таких как C / C ++»

person granier    schedule 24.02.2017