Stell Dir vor, Du sollst ein Klassendiagramm erstellen, um die Grobstruktur eines Systems zu modellieren. Lies weiter, um zu erfahren, wie Du einfach ein Klassendiagramm erstellen kannst und auf was Du dabei achten solltest.

Von der Anforderungsspezifikation zum Grobdesign

Im letzten Newsletter habe ich beschrieben, wie Du das grundlegende Verhalten eines Systems mit Use-Case oder Aktivitätsdiagrammen modellieren kannst. Hier habe ich beschrieben, wie Du die Anforderungen an ein System auch natürlichsprachig formulieren kannst.

Das Ziel des Grobdesigns ist es, alle Informationen der Anforderungsanalyse in die Sprache zu übertragen, mit der Software-Entwickler weiterarbeiten können. Als Übersicht über die zu entwickelnde Funktionalität eignen sich die Klassendiagramme der UML.

Klassendiagramme zählen in der UML zu den Strukturdiagrammen. Mit Klassendiagrammen kannst Du den Aufbau einer Software oder eines Systems modellieren. Klassendiagramme sind eine sogenannte statische Sichtweise, da man nur sieht, welche Funktionalitäten von den einzelnen Klassen angeboten werden. Um auch eine dynamische Sichtweise zu erhalten, kannst Du noch Sequenzdiagramme entwickeln. Die zeigen Dir, welches Objekt wann bei welchem anderen Objekt Methoden aufruft.

Was Du über Klassendiagramme wissen solltest

Zum Verständnis erstmal einige wichtige Definitionen:

  • Klassen beschreiben ein aus zunächst meist fachlicher Sicht relevantes, klassifiziertes Informationsobjekt, dem bestimmte Attribute (Eigenschaften) und Operationen (Methoden) zugeordnet werden können. Es können sowohl materielle als auch nicht-materielle Dinge sein.
  • Attribute beschreiben die Eigenschaften von Klassen.
  • Eine Operation beschreibt eine Funktion bzw. eine Menge von Funktionen, die einer Klasse zugeordnet werden können.
Wie du einfach ein Klassendiagramm erstellen kannst

Abbildung 1: Beispiel für den Einsatz der Modellierungselemente Klassenname, Attribute und Operationen

  • Assoziationen stellen die Menge aller Beziehungen zwischen konkreten Objekten aus jeweils gleichen Klassen allgemein dar. Sie stellen gewissermaßen die Zusammengehörigkeit von Klassen unter einem Gesichtspunkt dar.
  • Assoziationen zwischen Klassen können Multiplizitäten aufweisen. Das erkläre ich gleich noch.
  • Wir unterscheiden zwischen 1:1, 1:n und m:n Multiplizitäten von Assoziationen.
Wie du einfach ein Klassendiagramm erstellen kannst

Abbildung 2: Beispiel einer Assoziation

In diesem Modell siehst Du die Assoziation zwischen der Klasse „Mann“ und der Klasse „Frau“.

In unserer Kultur glaubst Du, dass es hier nur eine 1:1 Multiplizität geben kann. In anderen Kulturen kann es auch eine andere Multiplizität geben.

Wie du einfach ein Klassendiagramm erstellen kannst

Abbildung 3: Beispiel einer 1:n-Multiplizität

In diesem Modell siehst Du die Multiplizität zwischen der Klasse „Person“ und der Klasse „Privates Einzel-Girokonto“. Eine Person kann kein Girokonto oder beliebig viele Girokonten haben.

Wie du einfach ein Klassendiagramm erstellen kannst

Abbildung 4: Beispiel einer m:n-Multiplizität

Eine Person hat mindestens eine und höchstens mehrere Adressen, d.h. eine Person hat mindestens eine Adresse.

An einer Adresse sind mindestens keine, höchstens beliebig viele Personen gemeldet, d.h. an einer Adresse können beliebig viele Personen gemeldet sein.

Wie du einfach ein Klassendiagramm erstellen kannst

Zum Finden von Klassen werden die bisher erstellten Texte der Anforderungen  analysiert und für jeden Satz geprüft, ob hier ein Objekt oder die Beschreibung eines Objekts benutzt wird. Eine sehr grobe Faustregel besagt, dass Nomen für Objekte und Adjektive für Eigenschaften, also Exemplarvariablen oder Attribute stehen können.

Beispiel unseres Kaffeevollautomaten

A1.1: Im Zustand „Bereit“ muss das System dem Benutzer die Möglichkeit bieten zwischen verschiedenen Kaffeesorten zu wählen.

Glossar Kaffeesorte: gewählt werden kann die Menge des Kaffees und des Wassers, sowie Menge und Art der Milch.

Mit der Analyse dieser Anforderung und des Glossars wird Folgendes gefunden: Klasse Kaffeemaschine mit der Exemplarvariable Kaffeesorte.

A1.2: Das System muss dem Nutzer die Möglichkeit bieten, mindestens eine oder mehrere Bedienoberflächen anzusteuern.

Glossar Bedienoberfläche: Bedienung und Anzeige des Systemzustandes können lokal oder über eine Weboberfläche erfolgen.

Mit der Analyse dieser Anforderung wird Folgendes gefunden: Klasse Bedienoberfläche mit den Exemplarvariablen Kaffeesorte und Systemzustand.

A1.3: Das System soll dem Nutzer die Möglichkeit bieten, eine Logdatei auszulesen.

Mit der Analyse dieser Anforderung wird Folgendes gefunden: Exemplarvariable Logdatei.

Wie du einfach ein Klassendiagramm erstellen kannst

Abbildung 5: Erstes Beispiel eines Klassendiagrammes

An dieser Stelle sollte klar sein, dass es sich bei dem hier gezeigten Klassendiagramm nur um eine erste Iteration handelt, die weiter verfeinert werden muss. Um die Vorgehensweise zu zeigen, sollte das Beispiel genügen.

UML Diagramme erzeugen mit draw.io

Über das Internet ist ein Modellierungswerkzeug verfügbar, mit dem UML-Diagramme und somit auch Aktivitätsdiagramme gezeichnet werden können. Die Software hat den Namen draw.io. Sie ist unter folgendem URL erreichbar:

https://app.diagrams.net/

Und das Beste ist, die Software ist ohne Kosten verfügbar.

Wie Du mit der UML in 7 einfachen Schritten ein System modellierst

In meinem letzten Newsletter hier hatte ich schon beschrieben, wie Du mit der UML in 7 einfachen Schritten ein System modellierst.

Vorbereitung zur Prüfung als Blended Learning Online Kurs

Damit Du Dich optimal auf die Zertifizierungsprüfung vorbereiten kannst, biete ich einen online Kurs im Blended Learning Format an. Informiere Dich auf meiner Webseite der Projektstart Akademie über das Angebot.

Zusammenfassung

Das UML-Klassendiagramm steilt eine Menge von Klassen und deren Assoziationen zueinander dar. Durch den Einsatz von UML-Klassendiagrammen kannst Du ein erstes Grobdesign Deiner Software oder Deines Systems erstellen.Wie du einfach ein Klassendiagramm erstellen kannst.

Warum bekomme ich diesen Newsletter?

Wir hatten in der Vergangenheit Kontakt und Du hattest Interesse an weiteren Informationen der Projektstart GmbH. Falls Du keine weiteren Informationen wünschst, kannst Du Dich gerne vom Newsletter abmelden, aber das wäre sehr schade.

Viele erfolgreiche Projekte wünscht

Projektstart GmbH

Gerhard Wirnsberger

https://www.projektstart.com

schreibe mir eine email:

gerhard@projektstart.com

Literaturtipp (Werbung):

Durch Klicken auf die Affiliate-Links wirst du zu Amazon weitergeleitet.