Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
UML-Klassendiagramm Tutorial
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 92 Zeilen
- hallo mein Name ist Zack und ich arbeite für Lucy Chart heute werde ich Ihnen etwas über UML Klassendiagramme erzählen beginnen wir mit einigen der
- grundlegenden Merkmale dann werden wir über Beziehungen sprechen und zum Schluss gehen wir gemeinsam einige Beispiele durch gut lassen Sie uns über
- einige der grundlegenden Merkmale von Klassendiagrammen sprechen um diese Merkmale zu erklären werde ich ein Beispiel zur Veranschaulichung
- präsentieren nehmen wir also an wir bauen ein System für einen Zoo übrigens würden diese Beispiele die ich verwenden werde wahrscheinlich nie den Weg in ein
- tatsächliches Programm finden aber es wird all diese Konzepte leichter zu verstehen machen in unserem so wollen wir also die verschiedenen Dinge
- beschreiben die sich im System befinden sie stellen diese Dinge durch Klassen da und eine Klasse wird mit dieser Form hier dargestellt was gibt es also in
- einem so nun es gibt eine ganze Menge Tiere wir könnten also eine Klasse für unsere Tiere schaffen dazu schreiben Sie einfach den Namen der Klasse in diesen
- oberen Abschnitt wenn unsere Klasse Tier heißt wäre eine Instanz dieser Klasse ein bestimmtes Tier die die Frage ist also wie man die einzelnen Instanzen
- dieser Klassen identifizieren kann sie tun dies durch Attribute ein Attribut ist ein signifikanter Teil von Daten der Werte enthält die jede Instanz dieser
- Klasse beschreiben sie werden auch als Felder Variablen oder Eigenschaften bezeichnet und gehören in den mittleren Bereich hier für unsere Tierklasse
- können wir also Attribute wie Name ID und Alter erstellen auf diese Weise konnten wir eine bestimmte Instanz der Tierklasse identifizieren wie Ruth ID
- Nummer 304 Alter 114 diese müssen allerdings auf eine bestimmte Weise formatiert werden sie beginnen mit der Sichtbarkeit über die wir später noch
- sprechen werden der Name des Attributs der mit einem kleinen Buchstaben beginnt danach folgen ein Doppelpunkt und der Datentyp für den Namen möchten wir eine
- Zeichenkette angeben die anderen Attribute können auf die gleiche Weise formatiert werden außer dass wir eine ganze Zahl angeben wollen da es sich um
- Zahlen handelt nun da wir einige Attribute für unsere Klasse Tiere haben kommen wir zum unteren Abschnitt hier hier fügen Sie Methoden ein die auch als
- Operationen oder Funktionen bezeichnet werden mit Methoden können Sie alle Verhaltensmerkmale einer Klasse angeben wir könnten uns also fragen welche
- unterschiedlichen Verhaltensweisen diese Tierklasse aufweist vielleicht sollten wir die Namen unserer Tiere ändern können so sollte Ruth eigentlich Rita
- heißen erstellen wir also eine Funktion Set Name festlegen wir könnten auch eine Methode zum Essen erstellen denn alle unsere Tiere essen auch diese Methoden
- müssen auf eine bestimmte Weise formatiert werden sie beginnen mit der Sichtbarkeit über die wir als nächstes sprechen werden dann die Methode die mit
- einem kleinen Buchstaben beginnt anschließend setzen sie klammern um die Funktion zu kennzeichnen die sie später programmieren werden sie können hier
- auch Variablen und den Datentyp hinzufügen aber in den meisten Fällen ist das nicht wirklich notwendig wir fügen auch der Methode Essen
- Sichtbarkeit und Klammern hinzu lassen Sie uns nun über Sichtbarkeit sprechen die Sichtbarkeit eines Attributs oder eine Methode liegt die Zugänglichkeit
- für dieses Attribut oder diese Methode fest im Moment haben wir also ein Minuszeichen für alle diese Attribute und Methoden was bedeutet dass Sie
- privat sind auf sie kann von keiner anderen Klasse oder unter Klasse zugegriffen werden das genaue Gegenteil ist das Pluszeichen das bedeutet dass
- ein Attribut oder eine Methode öffentlich ist und von jeder anderen Klasse aufgerufen werden kann eine andere Art der Sichtbarkeit wird
- durch die Raute angezeigt was bedeutet das ein Attribut oder eine Methode geschützt ist auf diese kann nur von der gleichen Klasse oder ihren Unterklassen
- zugegriffen werden und schließlich ist dann noch die Tilde oder die verschnörkelte Tilde wie ich sie gerne nenne diese setzt die Sichtbarkeit auf
- Paket oder Standard was bedeutet dass sie von jeder anderen Klasse verwendet werden kann solange sie sich im selben Paket befindet dies wird jedoch nur
- selten genutzt in den meisten Fällen werden ihre Attribute privat oder geschützt sein und die Methoden sind öffentlich lassen Sie uns diese
- Grundlagen anhand eines weiteren Beispiels kurz durchgehen lassen Sie uns eine Klasse für Mitarbeitende erstellen wir können mitarbeiten der Attribute wie
- Name emploie ID Telefonnummer und Abteilung geben wir wollen das alle diese Attribute
- privat sind und dann könnten wir eine einfache Methode erstellen wie die Aktualisierung der Telefonnummer die wir dann auf öffentlich setzen sie haben
- vielleicht bemerkt dass ich zur Erstellung dieser uml-klassendiagramme eine diagramm-software verwendet die gleichen
- Grundsätze gelten auch wenn sie mit Stift und Papier arbeiten aber eine diagramm-software macht es viel einfacher die Diagramm Software die ich
- heute benutze ist Lucid Chart und sie können sich kostenlos anmelden indem Sie auf den Link oben rechts klicken alles was Sie brauchen ist eine E-Mail-Adresse
- und dann können Sie mitverfolgen wie wir diese Klassendiagramme erstellen als nächstes müssen wir uns mit den verschiedenen Beziehungen zwischen den
- Klassen befassen die erste Art der Beziehung die wir beschreiben werden ist die Vererbung ich werde mit dem z.B weitermachen weil es die Logik dieser
- Beziehungen leicht verständlich macht wir werden uns später mit einem technischeren Beispiel aus der Praxis befassen okay also Vererbung nehmen wir
- an in unserem so geht es nur Schildkröten Otter und die weniger bekannten aber dennoch faszinierenden Plumploris in unserem System wollen wir
- jede von ihnen als eigene Klasse unterscheiden wir machen also drei neue Klassen für Schildkröte Otter und Plumploris ich werde sie etwas kleiner
- machen damit man sie besser sehen kann anstatt nun Attribute für Name ID und Alter zu duplizieren können wir diese Klasse zu Unterklassen der Klasse Tiere
- machen indem wir offene Pfeile wie diese zeichnen dies ist eine vererbungsbeziehung wir sagen dass diese Unterklassen alle Attribute und Methoden
- der Oberklasse Erben sie können auch die Begriffe Kind und Elternklasse verwenden unsere otterklasse wird also die Attribute Name Alter und ID Erben und
- dann könnten wir ein otterspezifisches Attribut hinzufügen zum Beispiel die schnurrhallenge einer der Vorteile der Vererbung besteht darin dass wir wenn
- wir einen Attribut für alle Tiere ändern oder hinzufügen wollen nicht erst die Schildkröte und dann den und dann den Plumploris ändern müssen wir nehmen die
- Änderungen nur in der Tierklasse vor und sie gilt für alle Unterklassen in diesem Szenario gibt es auch das was man Abstraktionen nennt Tier ist eine
- abstrakte Klasse denn in unserem System wird jedes Mal wenn wir eine unserer Klassen instanziieren wollen eine Schildkröte ein Otter oder ein
- Plumploris sein wir würden die Tierklasse selbst nicht instanziieren die Tierklasse ist nur eine Möglichkeit die Dinge zu vereinfachen und den Code
- trocken zu halten damit sie sich nicht wiederholen müssen um zu zeigen dass es sich um eine abstrakte Klasse handelt setzen wir den Namen in Kursivschrift
- man könnte auch den Klassennamen in diese Dinger schreiben aber ich bevorzuge Kursivschrift eine andere Art von Beziehung ist die Assoziation wenn
- wir also eine Klasse für Seeigel hätten könnten wir eine Assoziation zwischen Otter und Seeigel ziehen die nur durch eine einfache Linie dargestellt wird und
- wir könnten sagen Otter fressen Seeigel es besteht keine Abhängigkeit zwischen ihnen es handelt sich nur um eine grundlegende assoziationsbeziehung die
- ziemlich einfach ist die nächste Art der Beziehung ist Aggregation es handelt sich um eine ganz besondere Art der Assoziation die ein ganzes und seine
- Teile spezifiziert um also mit unserem Zoo Beispiel fortzufahren noch einmal die soll nur helfen die Logik zu erklären lassen Sie uns eine neue Klasse
- für eine Gruppe von Schildkröten erstellen eine Gruppe von Schildkröten wird als creep bezeichnet und das ist ziemlich cool hier ist also unsere
- creep-klasse und sie hat eine Beziehung zur Schildkröte jede der Schildkröten in unserem Zoo könnte ein Teil eines Kriegs sein aber nicht zwangsläufig eine
- Schildkröte könnte jederzeit aus dem Krieg ausgenommen werden und trotzdem alleine existieren diese Art der Beziehung bei der ein Teil außerhalb des
- ganzen existieren kann ist Aggregation und wir nehmen Sie mit einem offenen Diamanten zu Erkenntnis es gibt auch eine Beziehung bei der der Teil nicht
- außerhalb des ganzen existieren kann das und man Komposition um dies zu veranschaulichen werde ich ein paar neue Klassen erstellen sagen wir einfach wir
- haben mehrere verschiedene Besucherzentren in unserem Zoo und jedes dieser Besucherzentren hat eine Lobby und eine Toilette wenn nun eines unserer
- Besucherzentren abgerissen würde würde auch die Lobby und die Toilette dieses Besucherzentrums zerstört werden diese Räume könnten ohne das Besucherzentrum
- in dem sie sich befinden gar nicht existieren das ist Komposition wenn ein untergeordnetes Objekt ohne sein übergeordnetes Objekt nicht existieren
- kann wir stellen eine kompositionsbeziehung mit einem geschlossenen Diamanten da ein weiteres wichtiges Konzept wenn es um Beziehungen
- in ulml Klassendiagrammen geht ist Multiplizität mit der Multiplizität können sie nur mehrere Beschränkungen für ihre Beziehungen festlegen nehmen
- wir zum Beispiel an wir möchten festlegen dass unsere Besucherzentren nur eine Lobby haben sollen wir schreiben hier einfach die Zahl 1 was
- bedeutet das ist nur eine einzige Lobby pro Besucherzentrum geben kann aber bei den Toiletten sollten wir vielleicht so vorgehen dass es mindestens eine
- Toilette pro Besucherzentrum gibt aber die Möglichkeit besteht so viele zu haben wie man möchte wir würden diese Schreibweise verwenden um eine oder
- mehrere Toiletten zu bezeichnen andere Arten der Multiplizität sind 0-1 was eine optionale Beziehung ist n steht für eine bestimmte Anzahl die in unserem
- Beispiel eins war aber je nach Anwendungsfall auch eine andere Zahl sein kann null bis viele eins bis viele oder einen bestimmten Zahlenbereich
- hoffentlich haben unsere z.B dazu beigetragen diese Konzepte zu erklären aber ich möchte Ihnen zeigen wie ein Beispiel aus der realen Welt aussehen
- würde dies ist ein UML Klassendiagramm für einen Online Warenkorb wenn Sie sich dieses Diagramm mit mir ansehen möchten klicken Sie einfach auf den Link in der
- oberen rechten Ecke wie Sie sehen gibt es in diesem System mehrere Klassen und Beziehungen gehen wir also einige davon durch wir beginnen
- mit der benutzerklasse sie enthält Attribute für Benutzer-ID Passwort Anmeldestatus und registrierungstatum auf der rechten Seite befinden sich die
- verschiedenen rückgabearten und auf der linken Seite ist die Sichtbarkeit die auf privat eingestellt ist sie können sehen wie diese von den Attributen
- zurückgegebenen Werte speziell eine Instanz der benutzerklasse beschreiben würden weiter unten haben wir eine öffentliche Methode zur Überprüfung der
- Anmeldung die einen Burschen Wert zurückgibt das macht Sinn oder Methoden sind Verhaltensweisen einer Klasse wenn Sie sich also bei Ihrem Benutzerkonto
- anmelden gibt es eine Funktion die ihre Anmeldedaten überprüft kommen wir nun zur Klasse Kunde dieser Pfeil sagt uns dass Kunde ein Kind von
- Benutzer ist Kunde erbt also alle Attribute und Methoden der Klasse Benutzer das gleiche gilt für die Klasse Administrator beide Erben vom Benutzer
- haben aber auch ihre eigenen spezifischen Attribute und Methoden so kann der Administrator den Katalog Aktualisieren der Kunde aber nicht
- ausgehend vom Kunden gibt es mehrere Linien mit dem geschlossenen Diamanten wie Sie sich erinnern handelt es sich also um kompositionsbeziehungen was
- bedeutet dass die Teile nicht ohne das ganze existieren können wenn eine Instanz der Klasse Kunde wenn das Konto dieses Kunden zerstört wurde würde sein
- wahren Kopf zerstört werden und seine Bestellungen würden verloren gehen sie können nicht außerhalb des Kunden existieren
- das gleiche gilt für die Versand Informationen und die Bestellangaben wenn es keine Bestellungen gibt gibt es auch keine bestell oder
- Versandinformationen der letzte Punkt den wir in diesem Beispiel betrachten ist die Multiplizität sie können sehen dass ein Kunde 0 oder viele Bestellungen
- haben kann macht Sinn oder sie könnten einen Kundenkonto für einen Onlineshop anlegen aber nie etwas kaufen oder sie sind ein Stammkunde und geben mehrere
- Bestellungen auf auf der anderen Seite kann ein Auftrag nur einem Kunden gehören es wäre ziemlich verwirrend wenn eine bestimmte Bestellung mit einer
- eindeutigen bestell-id bei mehreren verschiedenen Kunden doppelt vorhanden wäre und hier können Sie eine Eins zu
- eins-beziehung erkennen jede Bestellung hat nur eine einzige Bestellnummer und Bestellnummern gehören nur zu einer einzigen Bestellung vielen Dank dass Sie
- sich dieses Tutorial zu OML Klassendiagrammen angesehen haben abonnieren Sie den Kanal und hinterlassen Sie unten einen Kommentar
- vergessen Sie nicht sich über diesen Link für ein kostenloses Lucy Chart Konto anzumelden und sie werden im Handumdrehen in der Lage sein ihre
- eigenen uml-klassendiagramme zu erstellen [Musik]
- [Musik]
Zum Nachlesen
KlassendiagrammEin Klassendiagramm ist ein Strukturdiagramm der Unified Modeling Language (UML) zur grafischen Darstellung (Modellierung) von Klassen, Schnittstellen sowie …
Assoziation (UML)Assoziation (englisch association) ist ein Modellelement in der Unified Modeling Language (UML [1]), einer Modellierungssprache für Software und andere Systeme.
Generalisierung (UML)Generalisierung (engl. Generalization) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere …
ObjektdiagrammDas Objektdiagramm ist ein Strukturdiagramm, da es die Struktur des modellierten Systems für einen limitierten Zeitabschnitt bzw. konkreten Zeitpunkt ( …