Ü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.
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).
Für eine XML-Rechnung soll Schritt für Schritt eine Document-Type-Definition erstellt werden, die einen relativ großen Funktionsumfang der DTD enthält. Geeignet zur Vertiefung des XML-DTD-Wissens in Kombination mit dem DTD-Artikel.
Algorithmen können mit unterschiedlichen Programmentwurfstechniken dokumentiert werden: Pseudocode, Programm-Ablaufplan, Struktogramm oder UML-Aktivitätsdiagramm. Hier werden alle vergleichend dargestellt.
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.
Ein vereinfachtes Pacman-Spiel soll objektorientiert erweitert werden. Übungsaufgaben zum Thema Objektorientierte Programmierung, Objektbeziehungen, UML-Klassendiagramm, Implementierung in Python.
Wer gut änderbaren Code programmieren will, der versteckt Implementierungsdetails wie den Zustand von Objekten. Veröffentlicht wird nur, was wirklich benötigt wird. In Python ist es nicht ganz einfach (und eher unüblich), den Rest wegzukapseln. Aber wie lässt sich Kapselung in Python umsetzen?
In der realen Welt trifft man häufig auf Dinge, die ein identisches Verhalten aber unterschiedliche Eigenschaften haben. Objektorientierte Programmierung hilft dabei, Einheiten zu modellieren, die über ein gemeinsames Verhalten bei unterschiedlichen Zuständen verfügen.
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.
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.
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.