Was ist ein Analysemuster?

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

Wofür braucht man ein Analysemuster? Welche Vorteile bietet es und welche Analysemuster gibt es?

tooltip text
1

Mit Analysemustern erhalten Sie Vorlagen, um Problemstellungen in einer Fachdomäne zu lösen. Diese Vorlagen wenden Sie in der Analysephase zur Erstellung von Modellen (Klassendiagrammen) an.

2

Dieses Beispiel ist das Muster "Koordinator", das von H. Balzert beschrieben wurde.

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.

Mit objectiF RPM analysieren Sie Fachdomänen mithilfe von Analysemustern.

Erfahren Sie mehr darüber, wie objectiF RPM Sie durch Musterkataloge unterstützt »

objectiF RPM

Die 10 allgemeinen Analysemuster

(nach H. Balzert: Lehrbuch der Objektmodellierung)

Liste

Beispiel: Eine Rechnung enthält eine oder mehrere Rechnungspositionen.

Analysemuster Liste

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.

Balzert Analysemuster Exemplartyp

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.

Balzert Analysemuster Baugruppe

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.

Balzert Analysemuster Rollen

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.

Balzert Analysemuster Historie

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.

Balzert Analysemuster Koordinator

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.

Balzert Analysemuster Stückliste

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 2020 jeweils eine Tätigkeit als angestellter Arzt aus. Am 1.1.2021 erhält er seine Zulassung. Die zu speichernden Informationen für angestellte und zugelassene Ärzte können sich unterscheiden.

Balzert Analysemuster Wechselnde Rollen

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…*).

Balzert Analysemuster Gruppe

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.

Balzert Analysemuster Gruppenhistorie

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.
Download objectiF RPM Whitepaper

Wissen zum Mitnehmen

Alles über objectiF RPM – Software für Requirements Engineering und Projektmanagement

PDF zum Download »

Mehr Downloads rund ums Thema

  • Whitepaper
  • Tipps & Tricks
  • Software

Zum Downloadcenter »

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.

Muster in objectiF RPM anwenden