Analysemuster. Lösungsmodelle für Probleme aus Fachdomänen.

Was ist ein Analysemuster? Welche Vorteile bietet es und welche Analysemuster gibt es?

1
2
Analysemuster: Koordinator

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.

Definition von Analysemuster:

Ein Analysemuster ist eine Vorlage, um eine organisationale, soziale oder wirtschaftliche Problemstellung in einer Fachdomäne zu lösen.

Vorteile von Analysemustern

Analysemuster in der Software-Entwicklung helfen Ihnen, die Problemstellungen besser zu verstehen. Die Klassendiagramme repräsentieren erprobtes Wissen, das Sie auf einer hohen Abstraktionsstufe anwenden können. Außerdem bieten Analysemuster ein Mittel für die Kommunikation zwischen Systemanalytikern und Domänenexperten. Denn durch die standardisierte Darstellung lassen sich die Modelle einfacher verstehen und auf die konkreten Problemstellungen kann genauer eingegangen werden. Dadurch können Sie mit Analysemustern den Aufwand in der Analysephase reduzieren und gleichzeitig eine höhere Qualität der Ergebnisse erzielen.

Klassifizierung von Analysemustern

Es gibt 2 Arten von Analysemustern:

Allgemeine/universelle (vor allem durch Balzert definiert):

  • Vorlagen zur Modellierung
  • Bausteine für andere Muster

Anwendungsspezifische (vor allem durch Fowler definiert):

  • für Planungssysteme und Warenwirtschaftssysteme (Muster, die wiederkehrende Probleme bei der Analyse betrieblicher Informationssysteme betreffen)

Analysemuster in der Anforderungsanalyse

Indem Sie Modelle in der Analysephase erstellen, schaffen Sie eine Grundlage für die Anforderungsermittlung bzw. für die Ableitung von Use Cases. Vor allem Fowler lieferte mit seinem Musterkatalog in “Analysis Patterns: Reusable Object Models” ein Mittel, um spezifische Domänen wie Gesundheitswesen, Buchhaltung oder Finanzhandel objektorientiert zu analysieren und die Anforderungsanalyse damit schneller durchführen zu können. Daneben entwickelten Darimont und Lamsweerde Analysemuster zur Verfeinerung von Stakeholder-Zielen. Jackson schaffte mit seinem sogenannten “Problem Frames Approach” ebenfalls so etwas Ähnliches wie Analysemuster. Sie helfen Ihnen, Anforderungen effizient zu ermitteln. Hier entsprechen Problem Frames aber nicht Lösungen, sondern wiederkehrenden Problemen.

Da die nach Balzert definierten Analysemuster allgemein gehalten sind, lassen sie sich für alle Fachdomänen anwenden und anpassen. Somit bieten sie das flexibelste Hilfsmittel, um Klassendiagramme zu modellieren und Anforderungen sowie Use Cases abzuleiten.

Die 10 allgemeinen Analysemuster

(nach H. Balzert: Lehrbuch der Objektmodellierung)

Liste

Beispiel

Eine Rechnung enthält eine oder mehrere Rechnungspositionen.

Beispiel Liste nach Balzert

Eigenschaften

  • Beziehungstyp: Komposition
  • Ein Ganzes besteht aus gleichartigen Teilen (es gibt nur eine Teil-Klasse).
  • Teil-Objekte sind einem Aggregat-Objekt fest zugeordnet, lassen sich aber löschen, ohne das Ganze zu löschen.
  • Die Attribut-Werte des Aggregat-Objekts sind auch für die Teil-Objekte gültig (hier: Nummer und Datum der Rechnung)
  • Das Aggregat-Objekt enthält in der Regel mindestens ein Teil-Objekt (Kardinalität ist mindestens 1, meistens 1…*).

Exemplartyp

Beispiel

In einer Bibliothek gibt es mehrere Exemplare eines Buches, die verwaltet werden müssen.

Beispiel Exemplartyp nach Balzert

Eigenschaften

  • Beziehungstyp: einfache Assoziation
  • Ein Typ kann – zeitweise – unabhängig von seinen Exemplaren existieren (Kardinalität ist in der Regel *).
  • Die neue Klasse enthält oft Begriffe wie Typ, Gruppe oder Beschreibung.
  • Objektbeziehungen können nicht verändert, sondern nur gelöscht/entfernt werden.
  • einziger Nachteil: Ein Verzicht auf die Klasse “Typ” würde zu einer redundanten Speicherung von Attributwerten führen.

Baugruppe

Beispiel

Ein Motorrad hat einen Motor und zwei Räder. Es liegen hier physische Objekte vor.

Eigenschaften

  • Beziehungstyp: Komposition
  • Physische Objekte
  • Objektbeziehungen bestehen meist über einen längeren Zeitraum.
  • Teil-Objekte können vom Aggregat-Objekt getrennt und einem anderen Ganzen zugeordnet werden.
  • Ein Ganzes kann aus unterschiedlichen Teilen bestehen.

Rollen

Beispiel

Mehrere Studenten nehmen an einer Vorlesung teil oder halten einen Vortrag in der Vorlesung. Ein Student ist somit Zuhörer einer Vortragsveranstaltung, kann aber auch Vortragender sein.

Beispiel des Analysemusters Rollen nach Balzert

Eigenschaften

  • Beziehungstyp: zwei oder mehrere einfache Assoziationen zwischen zwei Klassen
  • Objekt kann in Bezug zu Objekten der anderen Klasse mehrere Rollen annehmen.
  • Unabhängig von der Rolle haben die Objekte die gleichen Eigenschaften

Historie

Beispiel

Ein Angestellter übt mehrere Tätigkeiten in einem Unternehmen aus. Nur eine Tätigkeit kann zu einem Zeitpunkt gültig sein. Er lässt sich außerdem weiterbilden.

Beispiel des Analysemusters Historie nach Balzert

Eigenschaften

  • Beziehungstyp: einfache Assoziation
  • Für ein Objekt müssen mehrere Kriterien dokumentiert werden.
  • Für jedes Kriterium muss ein Zeitraum vorhanden sein.
  • Bestehende Objektbeziehungen zu den Kriterien können nur erweitert werden.

Koordinator

Beispiel

Ein Student nimmt an einer Klausur eines Professors teil.

Beispiel des Analysemusters Koordinator nach Balzert

Eigenschaften

  • Beziehungstyp: einfache Assoziation
  • Statt einer n-ären Assoziation (n>=2) gibt es eine Koordinator-Klasse (hier: Teilnahme).
  • Die Koordinator-Klasse weist wenig Attribute oder Operationen auf, dafür aber mehrere Assoziationen zu anderen Klassen (sie speichert Informationen in Bezug auf “Wer kennt wen?”).

Stückliste

Beispiel

Ein Verzeichnis kann andere Verzeichnisse, Dateien und Verknüpfungen enthalten. Wenn man ein Verzeichnis löscht, löscht man auch alle darin enthaltenen Elemente. Man kann aber einzelne Elemente eines Verzeichnisses auch woanders ablegen. Somit können alle eine Einheit bilden, aber auch einzeln für sich stehen.

Beispiel des Analysemusters Stückliste nach Balzert

Eigenschaften

  • Beziehungstyp: Komposition
  • Aggregat-Objekt und Teil-Objekte können Einheit sein, aber auch individuell behandelt werden.
  • Teil-Objekte lassen sich anderen Aggregat-Objekten zuordnen.
  • Kardinalität der Aggregat-Klasse entspricht 0…1.
  • Ein Objekt kann sich aus mehreren Objekten unterschiedlicher Art zusammensetzen.
  • Sonderfall Stückliste: Ein Objekt kann nur aus Objekten gleicher Art bestehen.

Wechselnde Rollen

Beispiel

Ein kassenärztlich registrierter Arzt übt im ersten und zweiten Halbjahr 2016 jeweils eine Tätigkeit als angestellter Arzt aus. Am 1.1.2017 erhält er seine Zulassung. Die zu speichernden Informationen für angestellte und zugelassene Ärzte können sich unterscheiden.

Beispiel des Analysemusters Wechselnde Rollen nach Balzert

Eigenschaften

  • Beziehungstyp (in Bezug auf Rollen): Generalisierung
  • Ein Objekt der realen Welt kann unterschiedliche Rollen in unterschiedlichen Zeiträumen annehmen. Diese Rollen können ebenfalls unterschiedliche Eigenschaften und Operationen aufweisen.
  • Objektbeziehungen zwischen Objekt und seinen Rollen lassen sich nur erweitern und nicht löschen oder zu anderen Objekten herstellen.

Gruppe

Beispiel

Zu einer Abteilung gehören mehrere Angestellte. Eine Abteilung könnte ohne Angestellte – für einen kurzen Zeitraum – existieren (Kardinalität: *) oder muss immer mindestens einen Angestellten umfassen (Kardinalität: 1…*).

Beispiel des Analysemusters Gruppe nach Balzert

Eigenschaften

  • Beziehungstyp: einfache Assoziation
  • Ein Gruppen-Objekt umfasst zu einem Zeitpunkt mehrere einzelne Objekte.
  • Zu treffende Modellierungsentscheidung: Gruppe kann ohne einzelne Objekte existieren oder muss mindestens eines umfassen (wirkt sich auf die Kardinalität aus).
  • Objektbeziehungen lassen sich auf- und abbauen.

Gruppenhistorie

Beispiel

Die Zugehörigkeit einer Gruppe soll für einen Zeitraum festgehalten werden.

Beispiel des Analysemusters Gruppenhistorie nach Balzert

Eigenschaften

  • Beziehungstyp: Assoziation
  • Einzelne Objekte gehören im Laufe der Zeit zu verschiedenen Gruppen-Objekten.
  • Bestehende Objektbeziehungen bleiben auch bestehen; neue können hinzugefügt werden.

So nutzen Sie Analysemuster in objectiF RPM

objectiF RPM bietet einen Musterkatalog für die Analysemuster nach Balzert. Um ein Muster anzuwenden, markieren Sie einen Ordner bzw. Package. Dann machen Sie einfach einen Rechtsklick und wählen den Befehl Muster anwenden… . Dort entscheiden Sie, welche Vorlage für ein Analysemuster Sie brauchen. Schon sind die benötigten Klassen mit den Attributen erzeugt und Sie können ein UML-Klassendiagramm erstellen.

Übersicht
Wissen Online
Wissen mit Tool anwenden:
objectiF RPM
Mehr Wissen als PDF:
Downloadcenter

Pin It on Pinterest

Share This