Klasse (UML)

Klasse (UML)

Eine Klasse (engl. class) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Sie beschreibt eine Menge von Ausprägungen mit gleichen Merkmalen, gleichen Einschränkungen und gleicher Semantik.

Inhaltsverzeichnis

Beschreibung

Eine Klasse ist ein Typ. Sie besitzt eine Liste von Merkmalen, vor allem Attribute und Operationen, aber auch Ports und Signalempfänger. Zusätzlich kann sie über eine Liste von inneren Klassen verfügen. Innere Klassen sind Klassen, die im Namensraum der Klasse selbst definiert sind.

Eine Klasse kann eine oder mehrere andere Klassen spezialisieren sowie über Assoziationen und Abhängigkeitsbeziehungen in Beziehung zu Klassen und anderen Modellelementen stehen.

Arten von Klassen

Aktive Klassen

Die UML unterscheidet zwischen aktiven und passiven Klassen. Alle Instanzen von aktiven Klassen sind aktive Objekte, das heißt, Objekte, die ein „Eigenleben führen“. Unmittelbar wenn eine Instanz einer aktiven Klasse angelegt wird, startet ein für die Klasse spezifiziertes Verhalten. Dieses Verhalten läuft weiter, bis es explizit gestoppt oder bis das Objekt zerstört wird. Nur aktive Klassen können Signalempfänger besitzen.

Beispiel einer aktiven Klasse mit zwei Signalempfängern

Eine aktive Klasse wird mit einem doppelten linken und rechten Rand gezeichnet.

Abstrakte Klassen

Abstrakte Klassen sind Klassen, von denen keine Exemplare angelegt werden können. Abstrakte Klassen sehen in UML wie normale Klassen aus. Um sie zu unterscheiden, steht unterhalb des Klassennamens das Wort abstract in geschweiften Klammern. Alternativ kann der Klassenname auch kursiv geschrieben werden, wenn dies gut erkennbar ist.

Detaillierte Darstellung einer abstrakten Klasse


Verschachtelte Klassen

In der UML ist jede Klasse zugleich ein Namensraum. Damit ist einerseits gewährleistet, dass Attribute und Operationen, die einer Klasse gehören, nur im Bereich dieser Klasse einen eindeutigen Namen haben müssen. Zwei Attribute, die unterschiedlichen Klassen gehören, können durchaus gleich heißen. Andererseits erlaubt das Metamodell der UML dadurch auch, dass eine Klasse so genannte verschachtelte Klassen (engl. nested classes) besitzen darf. Die UML-Spezifikation enthält jedoch keine Angaben, wie verschachtelte Klassen graphisch in einem Klassendiagramm dargestellt werden.

In der Softwareentwicklung, zum Beispiel in der Programmiersprache Java, kennt man das Konzept der inneren Klassen. Verschachtelte Klassen im Sinne der UML entsprechen statischen inneren Klassen in Java.

Notation

Klassen werden in Klassendiagrammen dargestellt. Die folgenden drei Abbildungen zeigen drei Varianten der graphischen Notation für eine Klasse. Abhängig davon, ob eine Klasse in einem Klassendiagramm für ein Design- oder ein Analysemodell gezeichnet wird, können mehr oder weniger Details dargestellt werden.

Einfachste Form der Darstellung für eine Klasse
Zusätzliche Darstellung von Attributen
Detaillierte Darstellung einer Klasse


Unterschiede zur UML 1.4

Seit der Version 2.0 der UML können Klassen innere Klassen besitzen.

Im Gegensatz zur UML 1.x gibt es in der UML2 kein Modellelement Attribut mehr. Attribute einer Klasse werden neu als Eigenschaften (engl. property) modelliert. Dieser Ansatz wurde eingeführt, damit das Metamodell der UML2 sowohl Attribute einer Klasse als auch Enden von Assoziationen einheitlich als Eigenschaften modellieren kann.

Neben Eigenschaften und Operationen kann eine Klasse in UML2 neu auch über Ports und Signalempfänger als Merkmal verfügen.


Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Klasse — (v. lat. classis „Herbeirufung“, „herbeigerufene Volksmasse“, „Flotte“) steht für: Klasse (Soziologie), Gruppierung der Bevölkerung nach ökonomischen und sozialen Merkmalen Klasse (Biologie), Gruppe von Lebewesen mit gemeinsamen Eigenschaften… …   Deutsch Wikipedia

  • UML — In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen: Kritik (vgl. engl. Artikel); Bedeutung der UML; aktueller Stand (November 2007 wurde Version 2.1.2 vorgelegt, wie wurde sie aufgenommen?) Du kannst Wikipedia helfen, indem… …   Deutsch Wikipedia

  • Aggregation (UML) — Eine Assoziation (engl. association) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Beispiel für eine binäre Assoziation Eine Assoziation beschreibt eine Beziehung… …   Deutsch Wikipedia

  • Komposition (UML) — Eine Assoziation (engl. association) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Beispiel für eine binäre Assoziation Eine Assoziation beschreibt eine Beziehung… …   Deutsch Wikipedia

  • Attribut (UML) — Ein Attribut (engl. attribute) ist ein Begriff in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Ein Attribut ist ein strukturelles Merkmal einer Klasse und spezifiziert damit einen Teil der… …   Deutsch Wikipedia

  • Stereotyp (UML) — Ein Stereotyp (das; s, e; engl. stereotype) ist eine Erweiterung vorhandener Modellelemente in der Unified Modeling Language (UML). In der Praxis geben Stereotype vor allem die möglichen Verwendungszusammenhänge (Verwendungskontext) einer Klasse …   Deutsch Wikipedia

  • Anwendungsfall (UML) — Ein Anwendungsfall (engl. use case) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Inhaltsverzeichnis 1 Beschreibung 2 Notationsbeispiele 3 Anwendungsfälle wiederverwenden …   Deutsch Wikipedia

  • Komponente (UML) — Eine Komponente (engl. Component) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Inhaltsverzeichnis 1 Beschreibung 2 Black Box Sicht einer Komponente 3 White Box Sicht… …   Deutsch Wikipedia

  • Konnektor (UML) — Ein Konnektor (engl. Connector) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Ein Konnektor modelliert eine Verbindung zwischen zwei oder mehr verbindbaren Elementen, das …   Deutsch Wikipedia

  • Generalisierung (UML) — Generalisierung (engl. Generalization) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Sie beschreibt eine taxonomische Beziehung zwischen einem spezielleren und einem… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”