Visio & UML - отображение векторов - PullRequest
4 голосов
/ 27 октября 2008

У меня есть требование генерировать UML-диаграммы для одного из моих заданий C ++. Я использую Visio 2007, и у меня возникают проблемы с представлением векторов C ++. Единственный способ увидеть эту работу - создать собственный тип данных C ++ или создать векторный класс в моем проекте, а затем для каждого экземпляра вектора в UML мне нужно покопаться в свойствах и добавить <Class> в поле суффикса. ,

Обычно я пытаюсь получить vector<Object>, не копаясь в свойствах и не добавляя <Class> в поле суффикса каждый раз.

Я довольно сильно застрял в программном обеспечении Microsoft для создания диаграмм и кодирования, поэтому, пожалуйста, не предлагайте мне использовать другое программное обеспечение. Однако, если Visual Studio 2003 поддерживает создание диаграмм UML менее болезненным способом, чем Visio, я бы не стал возражать против использования Visual Studio, но, пожалуйста, скажите мне, где находится эта опция.

Ответы [ 2 ]

8 голосов
/ 27 октября 2008

Вам не нужно указывать, что это вектор на диаграмме UML.

В приведенном вами примере существует взаимосвязь один-ко-многим между одним классом и другим. Это важная информация, с которой вам нужно общаться.

Вы решили реализовать это как вектор: это детали реализации, которые не нужно указывать на диаграмме - просто отобразите связь «один ко многим».

Если по какой-то причине вам нужно изменить это значение на std :: list, или std :: deque, или на любой другой контейнер stl, вам не нужно будет обновлять диаграмму, поскольку многие концепции остаются прежними.

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

Для примера отношений один-ко-многим, отображаемых с использованием UML, нажмите здесь

1 голос
/ 27 октября 2008

UML имеет обозначение для параметризованных классов. Тип параметра указывается в перекрывающемся поле в верхнем правом углу, например this Если ваши инструменты поддерживают, это другой вопрос ...

...