2008-10-26 6 views
3

J'ai l'obligation de générer des diagrammes UML pour l'une de mes affectations C++. J'utilise Visio 2007 et j'ai du mal à représenter les vecteurs C++. La seule façon de voir cela fonctionne est de créer un type de données C++ personnalisé ou de créer une classe de vecteurs dans mon projet, puis pour chaque instance d'un vecteur dans l'UML, je dois creuser dans les propriétés et ajouter <Class> dans le champ suffixe.Visio et UML - Affichage des vecteurs

Fondamentalement, j'essaye d'obtenir vector<Object> sans creuser dans les propriétés et en ajoutant <Class> au champ de suffixe chaque fois. Je suis assez coincé avec le logiciel Microsoft pour faire des diagrammes et des codages, alors je vous suggère de ne pas utiliser de logiciel différent. Toutefois, si Visual Studio 2003 prend en charge la création de diagrammes UML d'une manière moins douloureuse que Visio, je ne serais pas opposé à l'utilisation de Visual Studio, mais dites-moi s'il vous plaît où cette option est.

+0

Désolé pour tout le monde qui a lu ma première question sur ce sujet. Je sais que c'est à peu près la même chose. – epochwolf

Répondre

7

Vous n'avez pas besoin de stipuler qu'il s'agit d'un vecteur dans le diagramme UML.

Dans l'exemple que vous donnez, il existe une relation un-à-plusieurs entre une classe et une autre. C'est l'information importante dont vous avez besoin pour communiquer.

Vous avez choisi de l'implémenter en tant que vecteur: il s'agit d'un détail d'implémentation qui n'a pas besoin d'apparaître dans le diagramme - il suffit d'afficher une association un-à-plusieurs.

Si, pour une raison quelconque, vous devez changer cela en une liste std ::, ou un std :: deque, ou n'importe quel autre conteneur stl, vous n'aurez pas besoin de mettre à jour le diagramme, parce que le one-to -le concept est encore le même. N'oubliez pas que vous affichez une abstraction du code. Si vous voulez transmettre le rapport conceptuel de toutes les classes, un diagramme de classes UML est idéal. Si quelqu'un veut connaître les détails de la façon dont il est implémenté, il peut toujours utiliser le diagramme comme point de départ avant de regarder le code source lui-même.

Pour un exemple d'un à-plusieurs affichées en utilisant UML, cliquez sur here

+0

Comment afficher une relation un à plusieurs dans uml? Ce sujet n'a jamais été couvert dans ma classe. Et UML n'est pas utilisé comme une abstraction de code dans ma classe, chaque méthode et variable d'instance doit être affichée. C'est essentiellement un fichier d'en-tête sans documentation. – epochwolf

+0

J'ai ajouté un lien vers un exemple dans la réponse. –

+0

Par défaut, les collections dans UML sont des ensembles. Vous devez également ajouter une chaîne de propriété '{sequence}' pour indiquer que la collection est ordonnée et autoriser les éléments en double. Vous pouvez également utiliser '{ordered}' pour indiquer que la collection est ordonnée, ou '{bag}' pour qu'elle autorise les éléments en double. –

1

UML a une notation pour les classes paramétrées. Le type de paramètre va dans une case superposée dans le coin supérieur droit comme this Que vos outils le supportent est une autre question ...