UML: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Ruzzoli (Diskussion | Beiträge)
Ruzzoli (Diskussion | Beiträge)
Zeile 73: Zeile 73:


=== Die Beziehungen ===
=== Die Beziehungen ===
==== Generalisierung ====
Die Generalisierung stellt die klassiche Vererbungsrelation zwischen zwei Klassen her. Es handelt sich hierbei um eine "is a" Beziehung wie es sie auch bei semantischen Netzwerken gibt. Eine Generalisierung gebraucht man immer dann, wenn man von einer generelleren Klasse eine speziellere ableiten moechte. Diese speziellere Klasse erbt dann alle Merkmale (Attribute & Operationen) der Superklasse. Im folgenden Beispiel ist also '''Animal''' die Superklasse von '''Horse''' und '''Cat'''.
<graphviz>
digraph Vererbung {
rankdir = BT
        node [
                fontname = "Bitstream Vera Sans"
                fontsize = 8
                shape = "record"
        ]
        edge [
                fontname = "Bitstream Vera Sans"
                fontsize = 8
        ]
        Animal [
                label = "{Animal||\l}"
        ]
        Horse [
                label = "{Horse||\l}"
        ]
        Cat [
                label = "{Cat||\l}"
        ]
        edge [
                arrowhead = "empty"
        ]
        Horse -> Animal
        Cat -> Animal
}
</graphviz>
==== Assoziation ====
Assoziationen modellieren Beziehungen zwischen zwei oder mehr Klassen und koennen mit Multiplizitäten am jeweiligen Ende der Assoziation versehen werden um klarzumachen, wieviele Objekte in Relation zu den anderen Objekten stehen. Im folgenden Beispiel sagen die Multiplizitäten, dass jedem '''Fahrer''' beliebig viele '''Autos''' zugeordnet sein können, mindestens jedoch eines und ausserdem, dass jedes '''Auto''' entweder keinen oder genau einen '''Fahrer''' hat.
<graphviz>
digraph Association {
edge [
    fontname = "Bitstream Vera Sans"
    fontsize = 8
        ]
        node [
        fontname = "Bitstream Vera Sans"
    fontsize = 8
            shape = "record"
        ]
        Auto [
                label = "{Auto||\l}"
        ]
Fahrer [
                label = "{Fahrer||\l}"
        ]
        Auto -> Fahrer [
                arrowhead = "none"
                arrowtail = "none"
                headlabel = "  0..1"
                taillabel = "1..*  "
        ]
}
</graphviz>


== Links ==
== Links ==
Abgerufen von „https://sopranium.de/UML