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.
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.
... Permalink ... kommentieren (0 Kommentare)
Sonntag, 6. August 2006
Thema: UML
In seinem Beitrag How widespread is UML? fasst Julio Cesar Leite spannende Umfragen zum Thema UML zusammen.
Erstaunlich wenige Projekte nutzen UML - zwischen 15 und 30%!
Leider beschreibt der Post nicht, wofür UML (nicht) genutzt wird - Dokumentation / Code-Generierung? Analyse / Design?
Ich hätte die Zahl deutlich höher geschätzt. Nach etwas nachdenken kann ich die Größenordnung gut verstehen. Wann macht es wirklich Sinn, UML zu nutzen?
- Für Code-Generierung - das lohnt sich erst ab einer relevanten Projektgröße und benötigt viel Disziplin des Teams. Würde ich allerdings öfter vermuten
- Für die Dokumentation der Software-Architektur - ich vermute, wenn überhaupt, dann wird die Architektur in einer "erfundenen" Sprache spezifiziert
- Für die Konzeption - das hängt vermutlich primär von der UML-Kenntnis der Konzepter ab. Bin ich nicht sicher, erfinde ich fluchs meine eigene Sprache… Ich nutze häufig UML in der Konzeption, habe aber auch eine fundierte Ausbildung… (siehe Post "Wo ich UML für die Spezifikation nutze").
Erstaunlich wenige Projekte nutzen UML - zwischen 15 und 30%!
Leider beschreibt der Post nicht, wofür UML (nicht) genutzt wird - Dokumentation / Code-Generierung? Analyse / Design?
Ich hätte die Zahl deutlich höher geschätzt. Nach etwas nachdenken kann ich die Größenordnung gut verstehen. Wann macht es wirklich Sinn, UML zu nutzen?
- Für Code-Generierung - das lohnt sich erst ab einer relevanten Projektgröße und benötigt viel Disziplin des Teams. Würde ich allerdings öfter vermuten
- Für die Dokumentation der Software-Architektur - ich vermute, wenn überhaupt, dann wird die Architektur in einer "erfundenen" Sprache spezifiziert
- Für die Konzeption - das hängt vermutlich primär von der UML-Kenntnis der Konzepter ab. Bin ich nicht sicher, erfinde ich fluchs meine eigene Sprache… Ich nutze häufig UML in der Konzeption, habe aber auch eine fundierte Ausbildung… (siehe Post "Wo ich UML für die Spezifikation nutze").
... Permalink ... kommentieren (0 Kommentare)