Samstag, 12. August 2006
Thema: UML
Ich nutze gerne UML. Vielleicht liegt es daran, dass ich bei Sophist viele viele UML-Trainings gehalten habe.
Typischerweise verwende ich UML als Ergänzung zu sprachlichen Spezifikationen, z. B. für
- Zusammenhänge von Dingen (Objekten), z. B. Eine Organisationsstruktur im Klassendiagramm
- Lebenszyklus von Dingen im System, z. B. ein Dokument im Knowledge Management System im Zustandsdiagram
- Kommunikation zwischen Systemen im Sequenzdiagramm
- Natürlich das Use-Case-Diagamm als Übersicht der Dienstleistung des Systems

Selten, aber es kommt auch vor: eine vollständige objektorientierte Analyse habe ich bisher in einem Projekt durchgeführt. Alle Use-Cases habe ich vollständig durch Zustandsdiagramme spezifiziert.
Die Besonderheit war, dass der Kunde UML liebte und ich mit ihm zusammen die Diagramme entworfen habe, die alle Funktionen definierten. Es war phantastisch. Präzise, vollständig, Klar.

Die meisten Kunden würden diese Diagramme allerdings nicht verstehen.
Daher spezifiziere ich meist mit Sprache und ergänze wo sinnvoll durch Diagramme. Mein Ziel ist, einerseits den Kunden eine verständliche Spezifikation zu liefern und andererseits präzise und eindeutig zu definieren. Kunden verstehen Sprache (fast :) immer, allerdings sind komplexe Zusammenhänge schwer beschreibbar. Diese fasse ich in ein Diagramm und ergänze die sprachliche Beschreibung.

... kommentieren