Analysemuster. Lösungsmodelle für Probleme aus Fachdomänen.
Was ist ein Analysemuster? Welche Vorteile bietet es und welche Analysemuster gibt es?
Was ist ein Analysemuster?
Ein Muster ist eine Lösungsvorlage, die sich in der Praxis für ein konkretes Problem bewährt hat. In der Software-Entwicklung ist dieses Konzept vor allem durch die sogenannten Entwurfsmuster bekannt. Sie bieten Lösungen in Form von Code. Analysemuster gehören ebenfalls zu den Mustern, die in der Software-Entwicklung Anwendung finden. Sie beschreiben Lösungen für Problemstellungen in Fachdomänen. Diese Lösungen sind Modelle in Form von Klassendiagrammen (ein Diagrammtyp der UML) anstatt in Form von Code. Was genau bedeutet das?
Zum Beispiel hat eine Bibliothek üblicherweise mehrere Exemplare eines bestimmten Buches. Diese Exemplare haben immer denselben Autor und Titel. Daraus ergibt sich, dass diese Eigenschaften – da mehrere Exemplare vorliegen – auch mehrfach vorhanden sind. Auf die Modellierung mit Klassendiagrammen übertragen, bedeutet dies: Wenn Sie nur mit einer Klasse wie Buch arbeiten würden, dann haben Sie das Problem, die gleichen Eigenschaften mehrfach bzw. redundant zu speichern. Mithilfe des Analysemusters Exemplartyp nach Heide Balzert lässt sich diese Problemstellung lösen: Sie führen eine zweite Klasse (Buchtyp) ein, die die unveränderlichen Eigenschaften wie Titel und Autor als Attribute enthält. Wenn Sie nun aus einem anderen Fachbereich kommen, aber auf dieselbe Problemstellung treffen, lässt sich dieses Analysemuster als Vorlage einsetzen.
Analysemuster wenden Sie somit in der Analysephase – also für die Erstellung fachlicher Modelle – an, um Strukturen von Geschäftsprozessen widerzuspiegeln. Die Muster beschreiben, wie eine Fachdomäne über ein Problem denkt, repräsentieren jedoch keine technische Implementierung. Sie dienen als Basis für die Anforderungsermittlung und geben die Interaktion und die Verantwortlichkeiten zwischen den Klassen vor.
Analysemuster sind für die Arbeit von Analysten und Designer, die objektorientierte Geschäftsprozessmodellierung mit der UML betreiben, von hoher Bedeutung.