UML

26/11/2008 - 10:14 von Michael Sabo | Report spam
Hallo,

mir ist bekannt, das Visio nicht gerade das beste Tool dafür ist. Aber für
ein paar einfache Abhàngigkeiten visuell darzustellen sollte es genügen.

Jetzt habe ich aber das Problem wie ich eine Beziehung bzw. Abhàngigkeit
umsetzen muss damit es nicht "mekert".



Problem:
Habe eine Klasse CContainer, welche 2x von der Klasse CManager verwendet
wird. Der Container besitzt einen Zeiger auf den Manager (C++).
Hàtte es "instiktiv" so visuell umsetzen wollen:

1 -m_Parent -m_GroupA
1 --
| | <> |
|
| CItems |
| CGroupedItems |
| | <> |
|
1 -m_Parent -m_GroupB
1 --

Schaue ich den Vorschaucode an, so "würde" er eine Klasse CItems anlegen mit
zwei Membervariablen
CGroupItems* m_GroupA;
CGroupItems* m_GroupB;

In die Klasse CGroupItems setzt er allerdings 2x die Membervariable
CItems* m_Parent;
ein, was natürlich zu einem Konflikt führt.

Kann man das Problem lösen oder ist der ganze Ansatz bzw. die Denkensweise
falsch?
Dies würde funktionieren. Ist dies aber auch UML korrekt?

-m_GroupA
1 --
| | -> |
|
| | 1 -m_Parent |
|
| CItems | <- | CGroupedItems
|
| |
| |
| | -> |
|
-m_GroupB
1 --


Gruss
Michael


PS: Ist die Beziehung evtl. sogar eine Aggregation?
 

Lesen sie die antworten

#1 Michael Sabo
26/11/2008 - 10:21 | Warnen spam
(formatiert für eine Text-Editor mit fixer Spaltenbreite)

Hallo,

mir ist bekannt, das Visio nicht gerade das beste Tool dafür ist. Aber für
ein paar einfache Abhàngigkeiten visuell darzustellen sollte es genügen.

Jetzt habe ich aber das Problem wie ich eine Beziehung bzw. Abhàngigkeit
umsetzen muss damit es nicht "mekert".



Problem:
Habe eine Klasse CContainer, welche 2x von der Klasse CManager verwendet
wird. Der Container besitzt einen Zeiger auf den Manager (C++).
Hàtte es "instiktiv" so visuell umsetzen wollen:

- 1 -m_Parent -m_GroupA 1 --
| | <> | |
| CItems | | CGroupedItems |
| | <> | |
- 1 -m_Parent -m_GroupB 1 --

Schaue ich den Vorschaucode an, so "würde" er eine Klasse CItems anlegen mit
zwei Membervariablen
CGroupItems* m_GroupA;
CGroupItems* m_GroupB;

In die Klasse CGroupItems setzt er allerdings 2x die Membervariable
CItems* m_Parent;
ein, was natürlich zu einem Konflikt führt.

Kann man das Problem lösen oder ist der ganze Ansatz bzw. die Denkensweise
falsch?
Dies würde funktionieren. Ist dies aber auch UML korrekt?

| | -> | |
| | 1 -m_Parent | |
| CItems | <- | CGroupedItems |
| | | |
| | -> | |


Gruss
Michael


PS: Ist die Beziehung evtl. sogar eine Aggregation?

Ähnliche fragen