Analysis and Modeling of Software
UML oder auch Unified Modeling Language ist eine graphische Modelierungssprache. Sie gehört also zu den in Mastery 04 angesprochenen Modeling Languages. Sie dient zur Spezifikation, Konstruktion und Dokumentation von Software-Teilen und anderen Systemen.
Ein wesentlicher Vorteil von UML ist, dass man durch die graphische Darstellung kein Programmierer sein muss, um das Programm zu verstehen. Es ist sehr leicht nachzuvollziehen, was in oder mit den einzelnen Sequenzen, Klassen oder Objekten geschieht.
Hier der Link zu Modeling Languages and Tools #Mastery 04: https://wordpress.com/block-editor/post/pythonbasiccourse.home.blog/169
Es gibt in UML drei wesentliche Arten von Diagrammen die ich im Folgenden mit der Unterstützung einiger Videos aus Youtube näher beleuchten werde. Als Beispiel nehme ich immer ein Restaurant. Wir beschäftigen uns also mit einem Programm das die Abläufe in einem Gasthaus darstellen soll.
Sequwenzdiagramme
Diese Art von Diagramm ist denkbar einfach gehalten. Ganz oben sind alle beteiligten Instanzen, in unserem Beispiel also die Personen im Restaurant (Gäste, Kellner, Koch, usw.). Die Zeit verläuft von oben nach unten.
Das bedeutet im Beispiel konkret, dass der Gast zuerst beim Kellner bestellt, dieser dann die Essensbestellung weiter an den Koch gibt und danach gleich die Getränke serviert.

Die einzelnen Arbeitsschritte werden hier mit kleinen Rechtecken dargestellt. Immer wenn ein Schritt beendet wurde hört auch das Rechteck auf. So kann man auf einen Blick gut sehen welche Arbeitsschritte am längsten und welche am kürzesten sind, um die Arbeitsschritte optimal auf einander abzustimmen.
Klassendiagramme
Im folgenden Video von The Simple Club wird sehr gut erklärt was Klassendiagramme sind, wie man sie einsetzt und worauf man bei der Erstellung eines solchen aufpassen muss.
In unserem Restaurantbeispiel kann man hier annehmen, dass jeder Gast, Kellner, Koch oder eben der Betreiber eine Klasse darstellt. Jede KLasse hat unter dem KLassennamen die Atribute mit den zugehörigen Datentypen dahinter und wieder darunter befinden sich die Methoden der Klassen mit Klammern am Schluss. Wie üblich wird alles klein geschrieben.

Die Pfeile zwischen den Klassen beschreiben wie die Klassen im Verhältnis zueinander stehen. Der Betreiber zum Beispiel hat mit allen anderen Klassen zu tun, weil er den Angestellten Lohn bezahlt und die Kunden bei Ihm bezahlen. Jedoch hat der Koch im normalen Restaurant-betrieb keine Beziehung zum Betreiber.
Objektdiagramm
Auch zu diesen Diagrammen hat The Simple Club ein sehr anschauliches Video herausgebracht, das ich an dieser Stelle auch gern einfügen möchte. Die Jungs leisten wirklich sehr Gute Arbeit da sie teils sehr komplizierte Themen sehr einfach und knapp erklären
Wir gehen nun davon aus, dass wir in unserem Klassendiagramm eine Klasse Bestellung haben, deren Atribute die Nummer des bestellten Gerichts, Nummer des bestellten Getränks sowie der ausgerechnete Preis der Bestellung sind.

Anders als bei den Klassendiagrammen muss man bei den Objektdiagrammen die Objektnamen (Tisch1) und die Klassennamen (: Bestellung)
Anonyme Objekte sind Objekte, die wie im Bild dargestellt nur den Klassennamen oder den Objektnamen enthalten.
Voraussblick
Im nächsten Post UML Part 2 #Matsery 07 soll es dann noch um drei weitere Arten von Diagrammen gehen und außerdem möchte ich mich noch mit GRASP und MVC befassen und erklären, was es genau damit auf sich hat.
Ein Kommentar zu “UML Part 1 #Mastery 06”