2009-03-19 18 views
2

Kennt jemand irgendeine UML-Variante, die Ereignisse in einem GUI-System abbilden kann?Gibt es ein visuelles Diagrammformat für die GUI-Ereigniszuordnung?

Ich habe ein recht komplexes ereignisgesteuertes GUI-System und möchte ein Diagramm erstellen, damit neue Entwickler leicht einen Überblick über die Ereignisse verschiedener Ansichten erhalten und welche Modelle/Controller oder View von diesen Ereignissen instanziiert/beeinflusst werden.

Ich war auf der Suche nach etwas, das mehr wie eine Mind Map aussehen würde, die überall statt linearer Szenarien verzweigt.

Hat jemand irgendwelche Ideen?

Grüße,

Chris

Antwort

2

Zustandsdiagramme.

Alt und teuer, aber here ist ein großartiger Text zum Modellieren von Benutzeroberflächen mit Zustandsdiagrammen. Ich habe die Seiten auf meiner getragen ....

+0

Siehe auch http://stackoverflow.com/questions/1611881/is-uml-state-machine-diagram-can-be-used-to-show-the-screen-navigation – nakosspy

1

Für schnelle und schmutzige Nachrichtensequenzdiagramme, können Sie den Preis von mscgen nicht schlagen. Es verwendet einen Quelltext, der von der Syntax inspiriert ist, die von dem Paket Graphviz von AT &T verwendet wird, was übrigens eine gute Möglichkeit ist, beliebige gerichtete und ungerichtete Graphen zu erzeugen.

Ich benutze Graphviz oft, um meine Zustandsautomaten zu dokumentieren, da ich es einfacher finde, mit der Implementierung synchron zu bleiben als eine Visio-Zeichnung.

1

das Buch, das mich schließlich UML Statecharts verstehen wirklich geholfen ist Samek der Practical Statecharts in C/C++, die für den Aufbau von zustandsbasierte Systeme ein paar Kapitel auf sie sowie eine beeindruckende Umsetzung Rahmen hat. Ich denke, es lohnt sich, nur für die Erklärungen zu lernen, wie man mit Statecharts denkt.

Um tatsächlich schnelle Zustandsdiagramme oder ähnliche grobe Diagramme zu erstellen, arbeite ich viel mit der textuellen DOT-Sprache in GraphViz und füge diese Diagramme dann oft direkt in die mit Doxygen erstellte Dokumentation ein.

+0

+1 Für GraphViz – gustavogbc

1

Das Kommunikationsdiagramm kann keine Sequenz haben und verhält sich eher wie eine Mind Map als ein Aktivitäts- oder Sequenzdiagramm. Wenn Kommunizieren von Ereignissen Ihr Ziel ist, zeigt ein Zustandsdiagramm Interaktion, aber, naja, Zustand. Ein Kommunikationsdiagramm hat weniger darauf als ein Aktivitätsstatusdiagramm, obwohl es auch nicht schlecht ist, ähnlich in der Natur.

Sie könnten UseCases einfach nutzen und Schlüsselwörter hinzufügen oder die Verwendung von Kante/Linie kennzeichnen. Nicht zu empfehlen, wenn dies beibehalten wird und mehr als ein schönes Bild ist.

(Bild wird leicht überlastet, müssen Sie die Nummerierung nicht brauchen, und sie müssen nicht Methodenaufrufe sein) http://www.agilemodeling.com/artifacts/communicationDiagram.htm http://www.agilemodeling.com/images/models/communicationDiagram.jpg http://www.agilemodeling.com/artifacts/communicationDiagram.htm

+0

Sic "Die Kommunikation Diagramm kann Sequenz fehlen ". ** Das ist falsch. ** Kommunikationsdiagramm ** benötigt ** die Nummerierung, um die Reihenfolge der Nachrichten zu identifizieren! Bitte beziehen Sie sich auf die Spezifikation: "Kommunikationsdiagramme konzentrieren sich auf die Interaktion zwischen Lifelines, wo die Architektur der internen Struktur und wie dies mit der Nachrichtenübergabe entspricht, ist zentral. ** Die Sequenzierung von Nachrichten wird durch ein Sequenznummerierungsschema gegeben. * * " Quelle: http://www.omg.org/spec/UML/2.4.1/ – gustavogbc

0

Ein weiteres Format, das ich kürzlich daran erinnert wurde, ist das dynamische Diagramm in der Bon-Methode. Ich habe einen Beitrag darüber geschrieben unter Artima. Das Buch Seamless Object-Oriented Software Architecture wurde im Jahr 2003 frei verfügbar gemacht.

Der Unterschied zwischen diesen und Kommunikationsdiagrammen ist die Trennung der Schritte in eine separate Legende. Das kann wie ein Anwendungsfall selbst gelesen werden, ist leicht zu lokalisieren und manchmal alternative Erklärungen zu zeigen.

Example from JOT article

0

ich gute Ergebnisse hatte dieses D3-basierte Auto-Minimum Spanning-Tree-Implementierung verwenden. geben sie nur eine Liste von Graphen Kanten und es wird ein UML-Diagramm wie Cluster und ziehen:

https://github.com/cpettitt/dagre-d3

Auch groß für Zustandsdiagramme. state diagram