UML чаще всего используется для моделирования системы с использованием C ++. В моих проектах C – это язык реализации. Я ищу ресурсы для UML-страtagsй, которые применимы для C. Я хочу использовать UML во время проектирования и представлять различные аспекты системы.
Я не знаю каких-либо существующих ресурсов, которые обсуждают использование UML специально для C. Как отмечали другие, UML является языковым агностиком.
Имейте в виду, что с UML у вас может быть модель для проблемного домена, а другая для реализации. Старайтесь не моделировать проблемную область с точки зрения C, а скорее как OO высокого уровня. Как только вы правильно поймете проблемную область, вы можете начать моделирование реализации.
Для моделирования C-реализации процедурного стиля могут быть полезны следующие диаграммы:
Расширяя диаграммы classов, вы можете «злоупотреблять» ими следующим образом для процедурного стиля C:
#define
константы -> class с “перечислением” стереотипа Эксперимент, и вы найдете свои собственные соглашения о злоупотреблении UML.
Проблема с C заключается в том, что это скорее процедурный язык программирования. Его сложнее получить мелкозернистый дизайн с применением C. Если вы работаете с C, вы можете придерживаться диаграмм последовательности и диаграмм компонентов, поскольку они описывают и просматривают происходящее, а не график зависимости и взаимодействия.
Объектно-ориентированный дизайн не зависит от языка, и вы можете, конечно, создать свою систему с помощью UML. Некоторые инструменты, такие как Rhapsody, также позволят генерировать код и круговое отключение, мы используем для некоторых специальных проектов, где C ++ не является вариантом. Если вы хотите написать свой код вручную, используйте некоторое соглашение об именах, такое как Subsystem_Module_Class_Method, чтобы назвать ваши функции объектно-ориентированным способом и использовать .c файл для каждого classа. Использование C не является препятствием для создания чистой конструкции.