Übungsaufgaben UML-Klassendiagramm
Übungsaufgabe zu Grundlagen der Objektorientierung und zum UML-Klassendiagramm. Es soll ein Ticketautomat modelliert werden mit Objektbeziehungen, Klassenbeziehungen, Kapselung, Polymorphie.
Übungsaufgabe zu Grundlagen der Objektorientierung und zum UML-Klassendiagramm. Es soll ein Ticketautomat modelliert werden mit Objektbeziehungen, Klassenbeziehungen, Kapselung, Polymorphie.
Übungsaufgaben zur Vorbereitung auf die Teil-1-Prüfung der IT-Berufe zu den Modellierungen von IT-Projekten mit dem UML Use-Case-Diagramm, Aktivitätsdiagramm, Klassendiagramm, Entity-Relationship-Diagramm.
Übungsaufgabe zu UML-Sequenzdiagrammen: Der Nachrichtenfluss des MQTT-Protokolls soll anhand eines Beispiels (Pflanzenbewässerung) dargestellt werden und die Rollen des MQTT-Protokolls benannt werden.
Übungsaufgabe zu UML-Zustandsdiagrammen: Es soll eine Art Genehmigungsprozess modelliert werden mit Zuständen, Transitionen, zusammengesetzen Zuständen und inneren Aktivitäten.
Übungsaufgabe zu UML-Aktivitätsdiagrammen: Eine Website wird aufgerufen, Daten gesammelt und gerendert. Eine Beispiellösung wird am Ende der Seite gegeben.
Der Nachrichtenfluss des MVP-Patterns soll anhand eines Beispiels (Online-Buchungsorozess) dargestellt werden.
In UML Objektdiagramm können Instanzen von Klassen dargestellt werden. Attributwerte werden als Slots oder über Links repräsentiert, Aggregationen und Instanziierungen können ebenso festgehalten werden. Instanzen werden wie Klassen dargestellt, deren Instanzname unterstrichen ist. In diesem Blogpost werden die relativ wenigen Notationsmittel des UML-Objektdiagramms vorgestellt.
Ein zentrales Konzept der objektorientierten Programmierung ist die Polymorphie: die Vielgestalt von Objekten. Es ermöglicht über Instanztypen das Verhalten eines Objekts festzulegen, während der Typ der Referenz festlegt, welche Member erreichbar sind. Objekte sind so flexibel über unterschiedliche Referenzen wiederverwertbar, ohne gecastet werden zu müssen.
Der Ablauf des Geschäftsprozesses steht fest, jetzt geht es darum, die einzelnen Masken zu modellieren. Jede Maske repräsentiert dabei einen Zustand, den das UserInterface einnimmt. Diese Zustände und deren Übergänge werden mit einem UML-Zustandsdiagramm geplant, hierfür gibt es einige Kniffe, um bei größeren Seitenkomplexen eine übersichtliche Modellierung sicherzustellen (Teil der Artikelserie zur Gestaltung und Entwicklung von Benutzeroberflächen für Geschäftsprozesse).
Auf Basis bestehender Geschäftsprozesse sollen die optimierten und digitalisierten Geschäftsprozesse entworfen werden. Zunächst die Übersicht aller Anwendungsfälle erstellt, die im Rahmen des Requirement Engineerings gewonnen wurde. Dann werden daraus die neuen Geschäftsprozesse abgeleitet und ermittelt, welche davon detaillierter modelliert werden müssen. Die Modellierung erfolgt diesmal mit einer Technik der Lösungsdomäne: dem UML-Aktivitätsdiagramm (Teil der Artikelserie zur Gestaltung und Entwicklung von Benutzeroberflächen für Geschäftsprozesse).
Übungsaufgabe zur Erstellung eines Use-Case-Diagramms anhand einer vorliegenden Beschreibung. Das Beispiel nutzt die Notationsvielfalt der UML, entsprechende Kenntnisse sind also vorausgesetzt
Mithilfe von PlantUML lassen sich auch UML-Aktivitätsdiagramme per „Diagramm as Code“ erstellen. Das geht nicht ganz so leicht von der Hand wie Sequenz- oder Klassendiagramme, da plantUML hier etwas umständlich ist. Für einfache Diagramme wird der Aufbau hier erklärt.
Kleine Übungsaufgaben mit Lösungen zu UML-Sequenzdiagrammen: TCP Handshake, HTTPS-Fingerprint-Check, Zwei-Faktor-Authentifizierung, Public/Private-Key Verfahren und Challenge-Response Authentication Mechanism (CRAM).
: Das Authentifizierungsverfahren Passkey soll anhand der Beschreibung der Nachrichtenfolge als UML-Sequenzdiagramm dargestellt werden: neben einer Sequenzdiagramm-Übungsaufgabe lernen wir nebenbei den Mechanismus dieses zentralen Authentifizierungsmechanismuses kennen.
Authentifizierungsverfahren sind von zentraler Bedeutung bei Webservices. In deiser Aufgabe sollen die Akteure und die Nachrichtenfolge von OAuth2 recherchiert werden und schließlich als UML-Sequenzdiagramm dargestellt werden. Auch hier steht neben der Sequenzdiagramm-Übungsaufgabe das Kennenlernen eines zentralen Authentifizierungsmechanismuses im Fokus.
Am Beispiel eines Programms mit Kommandozeilenmenü wird das State-Pattern beispielhaft in Java implementiert – im ersten Teil geht es zunächst um den Aufbau des Patterns selbst und die Grundstruktur.
Reguläre Ausdrücke gelten als nicht wartbar. Zu kryptisch ist ihr Aufbau. Trotzdem kann man mit etwas Übung einen Blick dafür entwickeln, warum Zeichenketten durch Muster gefunden werden oder nicht gefunden werden. Hier sind ein paar Übungsaufgaben, um den Blick zu schärfen!
Ein vereinfachtes Pacman-Spiel soll objektorientiert erweitert werden. Übungsaufgaben zum Thema Objektorientierte Programmierung, Objektbeziehungen, UML-Klassendiagramm, Implementierung in Python.
UML-Aktivitätsdiagramme sind die Flussdiagramme der UML zur Planung und Dokumentation von Algorithmen und Abläufen. In diesem Artikel geht es um die Grundlagen dieses Diagramms (Abläufe, Parallelisierung, Swimlanes). In einem zweiten Teil wird es um Feinheiten wie den Objektfluss und Umgang mit Exceptions gehen…
Mithilfe des Tools plantUML lassen sich codebasiert UML-Sequenzdiagramme erstellen. In diesem Artikel werden einige Tipps und Tricks zum Umgang mit plantUML vorgestellt.
Mit UML-Sequenzdiagramm wird die zeitliche Abfolge von Nachrichten zwischen Akteuren dargestellt. Die Notationsmittel werden an Beispielen vorgestellt.
Es werden die Abhängigkeiten für ein Model angefügt, eine Modelklasse erstellt und annotiert. Die OOP-Hintergründe für Repositories werden kurz an UML-Klassendiagrammen erläutert
Das Tool [PlantUML](https://plantuml.com) ist hervorragend geeignet, um Klassendiagramme direkt in Kommentaren zu versehen, aus JavaDocs zu generieren und zu versionieren. In diesem Infotext stelle ich Hinweise und Tipps vor, wie mit PlantUML nahe am UML-Standard Klassendiagramme erstellt werden können.
Ein großes Problem bei Objekt- und Klassenbeziehung ist die starke Kopplung unterschiedlicher Klassen aneinander. Der Austausch von Verhalten ist so nur mit großem Aufwand möglich. Das Konzept der Abstraktion bietet hier in Form von abstrakten Klassen und Interfaces die Möglichkeit, Komponenten lose zu koppeln.
Zentrales Element der Code-Wiederverwendung in der OOP ist die Vererbung. Am Beispiel eines Investments werden hier das OOP-Prinzip Vererbung und die Konzepte Überschreiben und Polymorphie erklärt.
Mit einzelnen Objekten erreicht man in der OOP noch nicht viel. Erst im Zusammenspiel als Objektsammlungen und über Objektinteraktionen entwickelt die OOP ihre Stärken. Der folgende Text behandelt die Fragen: Welche Objektbeziehungen gibt es? Was unterscheidet Assoziation, Aggregation und Komposition?
Kapselung ist ein Konzept der OOP, das verhindern soll, dass Anpassungen des Codes zu Inkonsistenzen führen. Der Zustand der Objekte soll nicht direkt änderbar sein, sondern nur über Methoden, die ggf. weitere Anpassungen vornehmen können: Getter und Setter.
Grundlagen eines UML-Klassendiagramms: Instanzattribute, Instanzmethoden, Klassenattribute, Klassenmethoden. Erster Teil der Infotext-Serie zu UML-Klassendiagrammen.
PlantUML ist ein vielseitig nutzbares Tool, um testbasiert versionierbare (UML-)Diagramme zu erstellen. Nicht alle UML-Zustandsdiagramm-Elemente lassen sich intuitiv erzeugen – ich stelle hier standardkonforme Wege vor.
Das Zustandsdiagramm ist eines der vielfältigsten Tools der UML-Familie: ich kann damit ebenso die Navigation einer GUI entwerfen, komplexe cyberphysische Systeme vereinfachen oder Testfälle generieren. Die wichtigsten Notationselemente werden hier dargestellt.
UML-Usecase-Diagramme lassen sich mit vielen Tools erstellen. Um sie aber als versionierbaren Code direkt in die Readme-Dateien des Repositories zu übernehmen führt kaum ein Weg an PlantUML vorbei.
Ein Bild sagt mehr als tausend Worte: Funktionale Anforderungen lassen sich im Kundengespräch oft am schnellsten mit einem Diagramm zeichnen. Ein paar Strichmännchen, ein paar Ellipsen, ein Rechteck – aber was bedeuten die Notationsmittel genau, und wo setzte ich sie sinnvollerweise ein?