Stellen wir uns das folgende Szenario vor.
Mehrere Entwickler treffen sich zusammen um die System-Architektur gemeinsam zu besprechen. Die Ideen werden getauscht, die Entwürfe werden auf einer Wandtafel als Diagramme skizziert.
Mit zunehmender Anzahl der Diagramm-Elementen wird die freie Fläche immer kleiner. Die Beschriftungen werden immer kleiner, immer kürzer und immer undeutlicher. Die Wandtafel wird immer voller, der Überblick wird immer vager.
Nach dem Ende des Meetings wird die Wandtafel fotografiert und als Bild gespeichert.
Nach einer Woche treffen sich die Entwickler wieder um die Diskussion anhand des ursprünglich erstellten Diagramm-Bildes fortzusetzen. Wegen Übermenge an Komponenten ist der Workflow nicht mehr verlustfrei herauszufinden, die chaotisch erstellte Handschrift - zum Großteil nicht mehr leserlich. Die Diskussion beginnt von vorne...
Erstellen Sie Ihre Architektur-Designs mit Powerpoint. Mit diesem Werkzeug können Sie in Echtzeit ein Diagramm mit Blöcken, Pfeilen und Überschriften erstellen.
Die Diagramm-Komponenten können beliebig auf der Arbeitsfläche verteilt werden. Bestehende Diagramme können problemlos kopiert werden um Alternativen zu präsentieren. Beschriftungen sind einfach umzubenennen. Auch der Workflow kann verlustfrei protokolliert werden.
Ist das folgende Bild gut leserlich?
Obwohl gut detailliert, auf dem obigen Bild fehlt der Workflow. Alle Schritte sind auf demselben Bild gezeichnet, was seine Lesbarkeit erschwert.
Es wäre besser einzelne Arbeitsschritte präsentieren zu können.
Ein Arbeitsschritt besteht aus Blöcken (Aktoren) und Pfeilen (Aktionen). Das obere Diagramm würde folgendermaßen aussehen.
Als Ergänzung können einzelne Schritte mit Texten erweitert werden.
- Benutzer betätigt die Refresh-Taste um eine Item-Auflistung auf dem Bildschirm zu aktualisieren.
- Die Refresh Methode wird auf dem ViewModel aufgerufen.
- ViewModel stellt Anfrage an den StorageService.
- StorageService liefert DbItems an ViewModel zurück
- ViewModel verpackt DBItems in Items, anschließend benachrichtigt UI über Bereitstellung der Items.
Natürlich entspricht die o.g. Lösung den UML-Standards nicht. Ihr Zweck ist allerdings die entstandenen während des Meetings Ideen schnellstmöglich dauerhaft zu speichern.
Gleichzeitig wird mit Protokollierung von Workflow eine sehr wichtige Frage beantwortet noch bevor die erste Zeile des teuren Quelltextes produziert wird -
Ist die Aufgabe mit den gegebenen Aktoren und Datenklassen zu bewältigen?