Für welche Systeme eignet sich Eventmodeling nicht?

Um diese Fragen korrekt zu beantworten sollten wir einen Blick in die Natur von Softwaresystemen werfen. Jedes Softwaresystem, egal wie komplex lässt sich als eine Folge von Status-Änderungen beschreiben, die nacheinander ausgeführt werden.

system state changes
Jedes System lässt sich als eine Folge von Statusänderungen beschreiben
Mit Eventmodeling beschreiben wir Softwaresyteme durch Aktionen und Statusänderungen in einer linearen zeitlichen Abfolge.
Jeder Schreibvorgang in eine Datenbank kann als Statusübergang betrachtet werden. Es "ändert" sich etwas im System, und diese Änderung ist auch noch verfügbar, wenn ads System neu gestartet wird.

Je komplexter das System, desto mehr Statusübergänge sind nötig. Nichtsdesto trotz kann jeder Prozess als eine Folge von "einfachen &qupt; Statusübergängen beschrieben werden.

Wenn sich aber jedes System als eine Folge von Statusübergängen beschreiben lässt, und wir mit Eventmodeling Statusübergänge zeitlich geordnet beschreiben folgt daraus, dass sich jedes System mit Eventmodeling beschreiben lässt.

system state change with command and event

Durch die Hinzunahem von UX-Elementen direkt ins Modell wird oft angenommen, dass sich Eventmodeling nur für "Task-based"-UIs eignet, als Systeme die direkt durch Aktionen des Users gesteuert werden. Das ist allerdings nicht korrekt, denn durch die Möglichkeit der Automatisierungen können auch beliebige asynchrone Hintergrundprozesse im Eventmodell beschrieben werden.

Ich würde generell einfach sagen, es gibt eigentlich kein System dass nicht vom Einsatz von Eventmodeling profitiert. Eine gute Planung ist 80% des Erfolgs.