Hallo zusammen,
ich bin momentan dabei ein UML Klassendiagramm für mein kleines Software Projekt zu erstellen. Die Implementierung ist vollständig, aber ich scheitere leider, die Java Klassen in UML darzustellen.
Folgendes Szenario:
Die Klassen Entity und EntityType sind zwei abstrakte Klassen. Dabei gibt es ein Attribut in der Klasse Entity welche auf den EntityType verweist. Dies würde ich in UML mit zwei Klassensymbolen und einer Aggregation darstellen. Soweit so gut.
Nun gibt es eine Unterklasse von Entity nämlich BasicEntity und eine Unterklasse von EntityType nämlich BasicEntityType. In dem UML Diagramm will ich nun ausdrücken, dass der Klasse BasicEntity immer eine Klasse vom Type BasicEntityType zugeordnet werden muss. Das wurde ja auch so im Konstruktor von BasicEntity beschrieben (siehe Code). Aber wie stelle ich dies in UML dar oder wird diese Information gar nicht mit ins Diagramm aufgenommen?
Danke für Tipps.
Viele Grüße
Matthias
Klasse 1:
Klasse 2:
Klasse 3
Klasse 4:
ich bin momentan dabei ein UML Klassendiagramm für mein kleines Software Projekt zu erstellen. Die Implementierung ist vollständig, aber ich scheitere leider, die Java Klassen in UML darzustellen.
Folgendes Szenario:
Die Klassen Entity und EntityType sind zwei abstrakte Klassen. Dabei gibt es ein Attribut in der Klasse Entity welche auf den EntityType verweist. Dies würde ich in UML mit zwei Klassensymbolen und einer Aggregation darstellen. Soweit so gut.
Nun gibt es eine Unterklasse von Entity nämlich BasicEntity und eine Unterklasse von EntityType nämlich BasicEntityType. In dem UML Diagramm will ich nun ausdrücken, dass der Klasse BasicEntity immer eine Klasse vom Type BasicEntityType zugeordnet werden muss. Das wurde ja auch so im Konstruktor von BasicEntity beschrieben (siehe Code). Aber wie stelle ich dies in UML dar oder wird diese Information gar nicht mit ins Diagramm aufgenommen?
Danke für Tipps.
Viele Grüße
Matthias
Klasse 1:
Java:
public abstract class Entity {
EntityType entityType;
public Entity (EntityType entityType) {
this.entityType = entityType;
}
public EntityType getEntityType() {
return entityType;
}
}
Klasse 2:
Java:
public abstract class EntityType {
String name;
public EntityType (String name) {
this.name= name;
}
public String getName() {
return name;
}
}
Java:
public class BasicEntity extends Entity {
public BasicEntity (BasicEntityType entityType) {
super(entityType);
}
}
Klasse 4:
Java:
public class BasicEntityType extends EntityType {
public BasicEntityType (String name) {
super(name);
}
}