Darstellung von Instanzen
Im Rahmen objektorientierter Modellierung ist es normalerweise üblich, Objekte auf Typebene (d. h. Klassenebene) zu dokumentieren. Trotzdem kann es sinnvoll sein, auch einzelne Instanzen zu modellieren. ARIS bietet dafür mit dem blauen, abgerundeten Rechteck ein eigenes Symbol an.
Darstellung von Klassen
Klassen repräsentieren die wesentlichen Strukturen des zu modellierenden Anwendungsgebietes. Sie werden in ARIS durch ein blaues Rechteck (mit horizontalen Linien) dargestellt.
Zuordnung von Instanzen zu Klassen
Wenn die Darstellung von Instanzen für nötig gehalten wird, wird es möglich, die Zuordnung zu den zugehörigen Klassen deutlich zu machen. Die entsprechende Kante hat die Semantik is instance of wie folgende Abbildung zeigt.
Zuordnung von Attributen zu Klassen
Die Eigenschaften von Klassen werden über Attribute beschrieben. Bei der Modellierung in ARIS sind dies eigene Objekte (und damit auch eigene Symbole), die über Kanten (mit der Semantik has attribute) mit den dazugehörigen Klassen verbunden werden (vgl. folgende Abbildung). Diese Trennung in zwei unterschiedliche Objekttypen (Klassen und Attribute) ist nötig, um alle Vorteile von ARIS bzgl. der Erstellung von Reporten und Navigation zu nutzen.
Bei jedem Attribut kann vermerkt werden, ob es sich dabei um ein Klassen- (Wert ist für alle Instanzen der Klasse relevant) oder Instanzenattribut handelt.
Zuordnung von Operationen zu Klassen
Die Klassen zugeordnete Funktionalität wird über die Definition von Operationen (Methoden) beschrieben. Auch hierfür wurde ein eigener Objekttyp definiert, der mit Klassen in Beziehung (mit der Semantik has operation) gesetzt werden kann (vgl. folgende Abbildung).
Assoziationen zwischen Instanzen
Zwischen einzelnen Instanzen können Verknüpfungen bestehen. Diese werden in ARIS durch eine ungerichtete Kante vom Typ is linked to dargestellt.
Assoziationen zwischen Klassen
Auch zwischen Klassen können Verknüpfungen (Assoziationen) bestehen, wie sie auch aus einem Entity-Relationship-Modell schon bekannt sind. Zu deren Darstellung wird ein eigenes Symbol (gelbe Raute) verwendet, um in gleicher Art und Weise auch mehrstellige Beziehungen darzustellen (siehe unten). Die Kanten werden dabei jeweils vom Klassensymbol zum Rautensymbol gezogen und können mit Komplexitätsgraden belegt werden, wozu das Attribut Multiplicity der Kante verwendet wird. Folgende Einträge für Multiplicity sind möglich und führen teilweise auch zu einer entsprechenden grafischen Darstellung der Kante:
Mehrstellige Assoziationen zwischen Klassen
Dreistellige (oder auch n-stellige) Assoziationen zwischen Klassen werden dargestellt, indem auch noch eine dritte Klasse oder noch mehr Klassen mit der die Verknüpfung definierenden Raute verbunden wird.
Modellieren einer Assoziation als Klasse
Eine Assoziation kann wiederum als selbständiges Objekt verstanden und als Klasse interpretiert werden. Dies kann dargestellt werden, indem eine gerichtete Kante von dem Rautensymbol zu einem Klassensymbol gezogen wird, wo dann alle Attribute und Operationen aufgelistet werden können (vgl. nächste Abbildung). Diese „uminterpretierte“ Klasse kann dann natürlich wiederum Assoziationen zu anderen Klassen eingehen.
Darstellung einer qualifizierten Assoziation
Eine qualifizierte Assoziation ergänzt eine normale Assoziation um eine Qualifikationsangabe, die als ausgezeichnetes Attribut die Kardinalität einer Assoziation reduziert. Sinn macht dies für 1:m und n:m-Assoziationen, da damit die Objekte auf der m-Seite einer Assoziation unterschieden werden.
Die Darstellung einer qualifizierenden Assoziation erfolgt, indem an der Kante die Qualifikationsangabe vermerkt wird. Dazu ist ein eigenes Attribut Qualifier vorgesehen, das natürlich (wie alle Attribute) auch in die Grafik eingeblendet werden kann.
Darstellung von Ordnungen bei Assoziationen
Falls die Objekte auf der n-Seite einer Assoziation eine Ordnung haben, kann dies explizit in der Grafik vermerkt werden. Hierfür existiert ein eigenes Attribut an der Kante zwischen Class und Assoziations-Symbol.
Aggregation zwischen Klassen
Eine Aggregation stellt eine Teil-Ganzes-Beziehung dar und kann als Spezialfall einer Assoziation angesehen werden. Diese Beziehung wird als gerichtete Beziehung zwischen Klassen modelliert (der Kantentyp ist dabei aggregates), wobei dann in der Grafik eine weiße Raute die Klasse, die das „Ganze“ repräsentiert (Komponentengruppe), angezeigt wird.
Generalisierung und Vererbung
Ein grundlegendes Konstrukt objektorientierter Modellierung ist die Definition von Hierarchien zwischen Klassen, womit auch eine Vererbung von Attributen und Operationen von der Ober- zu den Unterklassen verbunden ist. In ARIS gibt es hierfür einen eigenen Objekttyp (grünes Dreieck), der mit den beteiligten Klassen verbunden wird (vgl. nächste Abbildung). Auch Mehrfachvererbung ist damit darzustellen.
Bei dem Generalisierungsoperator kann als Attribut vermerkt werden, welcher Aspekt bei der Generalisierung/Spezialisierung verwendet wird und ob die Spezialisierung disjunkt oder nicht disjunkt ist.
Einschränkungen (Constraints) bei Klassen, Attributen und Assoziationen
Einschränkungen (Constraints) sind funktionale Beziehungen zwischen den Klassen, Attributen und Assoziationen eines OMT Object Model. In ARIS sind eigene Objekttypen (Punkt) für Constraints auf Attributen definiert. Dies zeigt das folgende Beispiel, das ausdrückt, dass sich das Verhältnis von Höhe zu Breite bei Fenstern zwischen 0,7 und 1,7 bewegt.
Auch zwischen Assoziationen können Einschränkungen definiert werden. Die folgende Abbildung zeigt ein Beispiel, wo ausgedrückt werden soll, dass die Personenmenge, die den Vorsitz eines Ausschusses ausmacht, natürlich eine Teilmenge der gesamten Mitgliedschaft darstellt. Hierzu kann eine gerichtete Kante zwischen den Assoziationssymbolen gezogen werden.
Beispiel eines OMT Object Model
Die nächste Abbildung zeigt ein typisches Beispiel eines OMT Object Model mit den wesentlichen Modellierungskonstrukten.