Как мы можем выразить Концепцию в диаграмме UML?

Поддерживает ли диаграмма классов UML выражение Concept?
Кроме того, есть ли другие диаграммы, которые выражают концепцию?
Просто на случай недопонимания я имею в виду «концепцию» в C ++ и обобщенном программировании.

1

Решение

После прочтения в ближайшее время Википедия объяснение C ++ «концепций» это выглядит как инструмент с теми же целями, что и универсальные классы и ограничения типов в C #

Если я правильно понял, тогда, следуя старому вопросу переполнения стека Представление универсального метода C # в диаграмме классов UML оказывается, что вы должны проверить http://www.uml-diagrams.org/template.html как уже предложено @Aleks

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

0

Другие решения

В основном на вопрос можно ответить ответом на вопрос «базового класса»:
«UML предпринимает какие-либо попытки сделать его подходящим для C ++?»

Ответ просто «нет».

Это очень распространенное недоразумение, можно встретить людей, ищущих возможности выражения указателя в UML или любых других специфических для C ++ вещах. Вы, к несчастью, не найдете его.

Это недоразумение исторически связано с наличием механизмов генерации кода на C ++, которые поставляются с некоторыми инструментами моделирования UML. Все эти механизмы генерации кода поставляются со своими собственными шаблонами кодирования для решения проблемы перехода от модели к коду. Просто потому, что не существует стандарта для самих шаблонов перехода.

UML происходит от OMG, и у OMG есть документ с шаблонами генерации для (Corba) IDL-to-C ++, но нет документа для UML-to-C ++.

1

Вы можете показать в UML все структуры, используемые понятием — то есть функции, алгоритмы, классы и так далее. Но не сама концепция, поскольку это элемент, создающий синтаксис.

Кроме того, вы не можете отображать в макросах UML, командах препроцессора и т. Д.

Все эти вещи просто принадлежат не модели, а языку / грамматике / синтаксису. Есть и другие инструменты для их поддержки. Формальные грамматики, теории и т. Д. Да, для этого есть схемы. Ищите «формальные грамматические диаграммы» в Google, и вы увидите их кучу.

-1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector