UML
UML steht für Unified Modeling Language und hat das Ziel, eine normierte Möglichkeit zu schaffen, Design- und Architekturinformationen und Spezifikationen zwischen Entwicklern auszutauschen. Für den Unterricht konzentrieren wir uns auf die folgenden fünf Diagramme:
UML Klassendiagramm
Dies ist vermutlich das wichtigste UML-Diagramm. Es zeigt den internen Aufbau von Klassen, und die Beziehungen zwischen Klassen. Hierzu zählen:
  • Erweiterung (oder Vererbung)
  • Assozisation
  • Komposition
  • Aggregation
  • Implementierung
Neben dem Klassendiagramm existiert noch das Objektdiagramm, welches jedoch eine untergeordnete Rolle spielt. In dem Video gehe ich auf die wesentlichen Eigenschaften, die Zugriffsmodifikatoren, den Beziehungen und am Schluss auch auf das Thema Interfaces ein.
Top UML Aktivitätsdiagramm
Das vielleicht einfachste Diagramm ist das Aktivätsdiagramm. Hier werden Aktionen, welche von unterschiedlichen Akteueren vorgenommen werden sollen, in eine Art "Flussdiagramm" gebracht. Hierbei stehen uns folgende Elemente zur Verfügung:
  • Kontrollflüsse
  • Start- und Endknoten
  • Aktivitätsknoten
  • Verantwortungsbereichen ("Swimlanes")
  • Objektknoten
  • Entscheidungen und Verbindungen
  • Gabelungen und Vereinigungen
Top UML Sequenzdiagramm
Zur Modellierung der zeitlichen Abläufe von Funktionsaufrufen wurde das Sequenzdiagramm eingeführt. Hierbei sprechen wir über folgende Themen:
  • Lebenslinie und aktive Bereiche
  • Erzeugung von Objekten
  • Synchrone und asynchrone Sufrufe
  • Destruktionsnachrichten
  • Gefundene und verlorene Nachrichten
  • Dekomposition
  • Nachrichten an sich selbst
  • Alternativen und Optionen
  • Schleifen
Top UML Usecase Diagramm
Dies ist da abstrakteste Diagramm der UML Familie. Hier geht es darum, den Nutzen der Software aus Usersicht zu modellieren. Es soll also die Frage geklärt werden: "was will der User eigentlich machen?". Im Wesentlichen geht es dabei um folgende Punkte:
  • Akteuere
  • Systemgrenze
  • Anwendungsfälle
  • Vererbungen/Generalisierungen von Anwendungsfällen und Akteueren
  • Assoziationen
  • Include und Extend Beziehungen
  • Extension Points
Top UML Statusdiagramm
Neben dem Klassendiagramm ist aus meiner Sicht das Statusdiagramm eines der nützlichsten. Der Grund liegt darin, dass wir das Programmierkonzept der "State-Machine" mit Hilfe des Statusdiagramms sehr gut planen und umsetzen können. Folgende Themen werden berücksichtigt:
  • Der Zustand
  • Eventhandling
  • Guards
  • Aktionen
  • Selbsttransition
  • Entscheidung
  • Verhaltens- vs. Protokollautomat
Da die Nutzung des Statediagramms aus meiner Sicht sehr sinnvoll ist, habe ich noch ein eigenes Vide zum Thema State Machine gemacht, wo ich den Vorteil dieses Konzepts darstelle. Achtung - hier handelt es sich noch nicht um das Programmierpattern "Statepattern", welches eventuell in einem späteren Video mal näher erklärt wird.
Top