Frage zu Beziehungen zwischen Klassen und UML

Status
Nicht offen für weitere Antworten.
L

Leeprasteen

Gast
wenn eine Klasse eine andere Klasse instantiiert und diese Instanz benötigt um (sinnvoll) Ihre aufgabe zu erfüllen, handelt es sich dabei um eine Aggregation!?

hintergrund der frage:
ich habe eine java-anwendung und wollte mit einem tool (jumli) aus dem sourcecode klassendiagramme erzeugen. in manchen klassen kommt es aber vor, dass instanzen von anderen klassen zwar für den sinn der klasse wichtig sind, aber nur in einer methode benötigt werden. deswegen sind sie auch nur in dieser methode deklariert. in diesen fällen erstellt das uml-tool im klassendiagramm aber keine aggregation zwischen den beiden klassen. aggregationen werden nur erstellt, wenn die instanz global in der klasse deklariert ist.
liegt das nun einfach an dem tool, dass es nicht alles aggregationen erkennt oder handelt es sich bei in methoden deklarierten instanzen nicht um aggregationen???
 
B

bygones

Gast
In UML gibt es unterschiedl. Arten von Relationen von Klassen:
Assoziation, Aggregation und Composition

Eine Assoziation ist das einfache Verhältnis zweier Klassen, d.h. wenn eine Klasse z.b. eine Instanz der andere Klasse beinhaltet (allg. wenn die eine Klasse die Möglichkeit hat Nachrichten an die andere Klasse zu schicken).

Eine Aggregation ist ein SpezialFall einer Assoziation - sie entspricht der Teil / Ganzen Beziehung.
This is exactly the same as an association with the exception that instances cannot have cyclic aggregation relationships
 
L

Leeprasteen

Gast
@deathbyaclown - also handelt es sich bei der Beziehung zwischen den beiden Klassen "nur" um eine Assoziation, auch wenn innerhalb der Anwendung eine Klasse ohne die andere keinen funktionalen Sinn ergibt?

@Isaac aber ist es von dem tool richtig gar keine Beziehung zwischen den Klassen zu erstellen, wenn eine Instanz der einen innerhalb einer Methode der anderen angelegt wird?
 
L

Leeprasteen

Gast
und noch ne frage - worin besteht der unterschied zwischen einer Assoziation und einer Abhängigkeit/Dependency bzw wann verwendet ich was!?
 
B

bygones

Gast
Assoziation:
Assoziation stellen Beziehungen zwischen Klassen dar. Sie werden in Programmiersprachen meistens durch entsprechende Referenzattribute in den beteiligten Klassen realisiert, bei höherer Multiplizität mit einem Sammlungsobjekt (Collection)

Abhängigkeit:
Eine Abhängigkeit ist eine Beziehung zwischen zwei Modellelementen, die zeigt, daß eine Änderung in dem einen (unabhängigen) Element eine Änderung in dem anderen (abhängigen) Element notwendig macht
 
L

Leeprasteen

Gast
das heisst, wenn eine Klassen eine andere Instantiiert und dann beide miteinander kommunizieren, sind sie von einander abhängig, denn wenn ich den Konstruktor oder die Kommunikationsschnittstelle der einen Klasse verändere muss ich die instantiierende Klasse auch anpassen!?
 
B

bygones

Gast
ja - eine Assoziation ist zugleich auch eine Abhängigkeit - eine Abhängigkeit aber keine Assoziation
 
L

Leeprasteen

Gast
das hab ich ja soweit auch verstanden, aber warum ist jetzt wieder von Assoziation die Rede - ich denke es handelt sich bei dem Beispiel nur um eine Abhängigkeit?
 
B

bygones

Gast
wie du selbst sagst es wird nur eine Assoziation erstellt wenn eine Klasse eine Instanz einer anderen hält... ansonsten (im Falle eines Parameters) handelt es sich nur um eine Abhängigkeit
 
L

Leeprasteen

Gast
also das ganze wird mir eher undurchsichtiger als klarer - was hat das jetzt mit parametern zu tun!?

einfach das ganze nochmal direkt an einem beispiel:
angenommen es gibt eine klasse TEST und eine klasse PING.
die klasse PING ist von Thread abgeleitet. sie bekommt als übergabewert ein Array mit IP-Adressen, versucht die alle anzupingen und liefert jedes Ergebnis einzeln direkt beim eintreffen an, die aufrufende Klasse zurück.
in einer Methode der klasse TEST wird ein PING-Objekt deklariert und eine neue Instanz angelegt und dann auf die Ergebniswerte gewartet.
handelt es sich bei dieser beziehung nun um eine Assoziation oder um eine Aggregation?
meiner meinung nach um eine Aggregation, doch das UML-tool erkennt sie nicht als solche. es würde nur eine Aggregation erkennen, wenn die Deklaration nicht in der methode sondern bereits im konstruktor von TEST-klasse erfolgen würde!?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C SOLID Single Responsibility Priciple Frage Softwareentwicklung 2
K Frage OOP Softwareentwicklung 8
dgtKotlin Frage zu Kotlin source code Softwareentwicklung 5
A Frage zu testdriven developement Softwareentwicklung 1
H Regex Frage Softwareentwicklung 2
D Frage Schichtenarchitektur Softwareentwicklung 3
T Frage bezüglich MVC Softwareentwicklung 1
Shams Frage wegen guava-Eventbus. Softwareentwicklung 0
B Frage zu Schnittstellen (lose Kopplung) Softwareentwicklung 5
H Frage zur Stanford NLP-API Softwareentwicklung 2
E Frage zu Dekorator-Pattern Softwareentwicklung 2
O Frage zu Regulärer Ausdruck Softwareentwicklung 3
H WEKA - Frage zu Methode in Evaluation Softwareentwicklung 2
S Frage zu Zusicherungen: Softwareentwicklung 12
D Frage zu String Algorithmen / String Metric Softwareentwicklung 7
Airwolf89 Theoretische Frage - In Java Java-Programme schreiben Softwareentwicklung 5
D Frage zur Objektorientierung mit Interfaces Softwareentwicklung 9
B Theoretische Informatik Frage zu Formalismus RegExp Softwareentwicklung 12
Wepster LGPL, MPL Frage Softwareentwicklung 3
D Frage zur Benutzeroberflächenprogrammierung Softwareentwicklung 8
D Frage zu Klassendiagramm und Konstruktor (UML) Softwareentwicklung 3
M [OOP] Frage zu Methode-Namen / Funktionsweise Softwareentwicklung 9
P Frage zu Processing Softwareentwicklung 9
S Regex Frage Softwareentwicklung 4
D Frage zu meiner Vorgehensweise in einem Projekt Softwareentwicklung 5
A Frage zu GPL Softwareentwicklung 3
K Frage zu UML Aktivitätsdiagramm Softwareentwicklung 3
J Frage zu Lizenzrechten Softwareentwicklung 5
B bash frage Softwareentwicklung 6
F allgemeine exe frage Softwareentwicklung 10
G Frage zur LGPL? Softwareentwicklung 5
0x7F800000 "Wozu ist denn CSS / CSS2 gut" Dumme Frage? Softwareentwicklung 9
G Frage zur UML Softwareentwicklung 2
B Ajax Frage Softwareentwicklung 2
J Frage zu Relation Softwareentwicklung 2
W Frage zu a)Innere Klassen und b)OO Design Softwareentwicklung 13
G MVC Frage Softwareentwicklung 4
P Frage zu Prolog! Softwareentwicklung 7
E Frage zu Excel und Filtern Softwareentwicklung 4
Y OpenGL/C Frage - externe Funktionen Softwareentwicklung 5
G C# Frage Softwareentwicklung 12
T SQL, Feld mehrmals abfragen, IN Frage Softwareentwicklung 3
C Grundsätzliche Frage zur OOP bzw. zum MVC Softwareentwicklung 5
RaoulDuke Frage zu Datenmodel / Zugriff Softwareentwicklung 5
J Frage zu C Softwareentwicklung 2
H Frage ueber Prototype Pattern? Softwareentwicklung 2
L Noch 'ne Perl-Frage. Kehre dann auch reumütig zu Java zurück Softwareentwicklung 10
S Design-Frage: Wie viele Fassaden? Softwareentwicklung 4
J Frage zu MVC, Swing, Gui Softwareentwicklung 3
T Frage zu Mysql Softwareentwicklung 3
C Mysql-Frage(Problem mit nicht durchgeführten Zugriff) Softwareentwicklung 5
G Klassendiagramm und Beziehungen Softwareentwicklung 5
von Spotz Kommunikation zwischen Java und Container Orchestrator (Microservices) Softwareentwicklung 11
D Unterschied zwischen Required Interface und Provided Interface Softwareentwicklung 3
F UML - Use Case - include-Beziehung zwischen 2 Anwendungsfällen Softwareentwicklung 3
O Unterschied zwischen Maven und Jenkins Softwareentwicklung 3
J Suche noch eine Loesung fuer Kommunikation zwischen Webserver und ein Programm Softwareentwicklung 0
F Weg zwischen 2 Knoten (XML/JAXB) Softwareentwicklung 5
H Unterschied zwischen Software Technik und Engineering? Softwareentwicklung 7
P Kommunikation zwischen 2 Programmen Softwareentwicklung 2
P Unterschied zwischen Aggregation und Assoziation Softwareentwicklung 4

Ähnliche Java Themen

Neue Themen


Oben