Einführungsseminar in die UML
Die Konzepte und die Elemente der Unified Modeling Language
Die moderne Softwareentwicklung hat viel mit konzeptioneller Arbeit und wenig mit dem Entwurf mathematisch-numerischer Algorithmen zu tun. In der Gesellschaft hält sich das Bild vom Informatiker als Zwilligsbruder des Mathematikers zwar hartnäckig. In der Realität jedoch hat diese Vorstellung nur wenig Berechtigung. Softwareentwicklung heute bedeutet in den seltensten Fällen die Beschäftigung mit Themen der Mathematik. Die Hauptaufgabe des Entwicklers ist üblicherweise die Nutzbarmachung und Strukturierung vorhandenen Wissens mit Hilfe eine Programmiersprache. Dementsprechend müssen die Methoden der Softwareentwicklung heute Hilfestellung bei der Strukturierung von Wissen und bei der Kommunikation von Wissensinhalten dienen. Die Objektorientierte Softwareentwicklung ist eine solche Methode, die sich an sprachlichen Strukturen anlehnt, um die genannten Leistungen für die technische Realisierung von Software zu ermöglichen.
Um Inhalte objektorientierter Lösungen zu beschreiben kann man neben der Textform
auch grafische Darstellungen wählen. Damit diese grafischen Darstellungen eindeutig
interpretierbar sind wurde durch die Object Management Group - kurz OMG - ein
Standard geschaffen, der Symbole und Semantik einer grafischen Repräsentation für
objektorientierte Software festschreibt:
die Unified Modelling Language.
Die Vereinheitlichung der Diagramtypen durch die UML bringt auch eine
Vereinfachung mit sich, die die Hürde für den Einsatz von Diagrammen in
der Beschreibung von Softwareartefakten senkt.
Hoppala..
Es gibt zahlreiche Tools,
die dem Softwareentwickler beim Erstellen von Diagrammen behilflich sind.
Allerdings muss an dieser Stelle auch ein sanft kritischer Ton in einer
bestimmten Sache angeschlagen werden: es gibt auch einige Tools, die eine Art komplette
grafische Modellierung von Software über den gesamten Entwicklungsprozess versprechen.
Diese Modellierungstools folgen einer eigenen Logik, die nicht in der UML angelegt ist.
Die UML ist keine Vorgehensmethode, sie ist Prozessneutral! Modellierungsversprechen die
durch namhafte Hersteller von UML Tools gemacht werden, sind nicht in der
UML angelegt und sollten durch die selben Hersteller auch gehalten werden,
die solche Erwartungen in ihrer Werbung wecken.
Auf keinen Fall kann ich als Anbieter und Trainer dieses Seminars ein solches Versprechen erfüllen.
Ich durfte persönlich schon in mehreren Softwareprojekten bei unterschiedlichen
Firmen schlechte Erfahrungen mit solcherlei geweckten Erwartungen sammeln.
Zwischen vielen Entwicklern herrscht eine Art Übereinkunft, dass die UML sich
zur Softwareentwicklung gar nicht eignen würde, da unter dem Einsatz der UML häufig
der Einsatz eines überteuerten und nicht geeigneten Modellierungstools verstanden wird.
..zurück zur Seminarbeschreibung
Im Seminar werden alle Diagrammarten der UML besprochen und in den Kontext der objektorientierten Entwicklung gebracht. Dafür werden Beispiele herangezogen, die gemeinsam geübt und diskutiert werden. Als methodisches Gerüst des Kurses dient der Software-Lifecycle. Die verschiedenen Phasen des SW-Lebenszyklus werden mit UML-Diagrammen vorbereitet und dokumentiert. Einen Schwerpunkt hat der Kurs in der Unterstützung der Analyse- und Designdisziplin. Dabei wird auch gezeigt, wie die UML in einen beliebigen Softwareentwicklungsprozess eingebunden werden kann.
Die folgenden Diagrammtypen werden durchgenommen:
- Use Cases Diagramme
- Aktivitätsdiagramme
- Sequenzdiagramme
- Kollaborationsdiagramme
- Analyseklassendiagramme
- Entwurfsklassendiagramme
- Einführung in die Entwurfsmuster
- Zustandsdiagramme
- Moduldiagramme
- Installationsdiagramme
Die Diskussion der Diagrammtypen findet vor dem Hintergrund einer prozessorientierten Softwareentwicklung statt. Es werden praktische Übungen anhand von wirklichkeitsnahen Problemstellungen durchgeführt. Dabei kann auch ein beliebiges UML-Tool eingesetzt werden.
Zuletzt geändert am 19.11.2023