Accountability

Aus THM-Wiki
Wechseln zu: Navigation, Suche

In der Analyse und Modellierung von Softwaresystemen handelt es sich bei „Accountablility“ um ein Analysemuster (Analysis Pattern) von Martin Fowler. Dieses Analysemuster ermöglicht es, komplexe Beziehungen zwischen Personen und bzw. oder Organisationen abzubilden. Diese Beziehungen sind Verantwortlichkeiten zwischen den beteiligten Parteien; so sind beispielsweise Eltern für ihre Kinder verantwortlich oder ein Postbote für das Zustellen der Post.
Sehr oft treten in einer Organisation Hierarchien auf, wobei sich die Verantwortlichkeiten auf jeder Hierarchiestufe wieder finden. In einer Armee zum Beispiel muss sich ein Rekrut einem Unteroffizier, ein Unteroffizier einem Hauptmann und dieser einem Oberst verantworten, welcher wiederum einem General untersteht. Daher wird das Analysemuster „Accountability“ bevorzugt zur Abbildung von hierarchischen Organisationsstrukturen verwendet.



Name

Accountability (deutsch: Verantwortlichkeit)



Motivation

„Accountablility“ ist ein Analysemuster, mit dem komplexe Verantwortlichkeiten zwischen Parteien (Party) in einem Softwaresystem abgebildet werden können.



Kontext

Martin Fowler hat das Analysemuster Party erstellt, um Personen und Organisationen zusammenzufassen. Beziehungen zwischen einzelnen Parteien können durch das ebenfalls von Martin Fowler entwickelte Analysemuster „Organization Structure“ oder das Analysemuster Organization Hierarchy für hierarchische Strukturen innerhalb einer Organisation dargestellt werden.



Problem

Mit dem Analysemuster Organization Hierarchy lassen sich zwar komplexe Strukturen einer Organisation abbilden, allerdings nur bis zu einem gewissen Grad. Wenn mehrere Beziehungen zwischen einzelnen Parteien existieren, so wird die Modellierung mit dem Muster Organization Hierarchy schnell unübersichtlich und es stößt an die Grenzen der Darstellbarkeit.



Lösung

Das Analysemuster „Accountability“ ist eine Weiterentwicklung von Organization Hierarchy, weil es ermöglicht, eine beliebige Anzahl von Verantwortlichkeiten zwischen den Parteien einer Organisation abzubilden. Dabei wird auch berücksichtigt, dass mehr als nur eine Verantwortlichkeit zwischen einzelnen Parteien existieren können. „Accountability“ kombiniert somit die beiden Analysemuster Party und Organization Hierarchy. Das Analysemuster „Accountability“ schaut in einem Domänendiagramm folgendermaßen aus:

Abbildung 1


Ein Verantwortlichkeitsobjekt (Accountablility) verbindet eine Oberorganisation (parent) mit einer Unterorganisation (child). Die Art der Verantwortlichkeit wird durch ein Beziehungsobjekt (Accountability-Type-Objekt) beschrieben.

Das folgende Beispiel verdeutlicht dies, indem funktionale und regionale Hierarchien in einer Verkaufsorganisation wiedergegeben werden:

Abbildung 2

In diesem Beispiel sind die Accountability-Types „regional“ und „functional“.


Von dem Muster „Accountability“ existieren mehrere Variationen. Eine bedeutsame Variation verwendet eine Meta-Ebene (Knowledge-Level). Prinzipiell sind „Accountability Type“ und „Party Type“ über eine 1-zu-n-Assoziation miteinander verknüpft. Des weiteren verbindet man eine „Accountability“ oft mit einem Zeitraum (Time Period), weil Verantwortlichkeiten zeitlich parametrisiert sein können.

Abbildung 3


In dieser Wissens-Ebene können Regeln gekapselt sein, welche Typen von Parteien miteinander verbunden sind. „Connection Rules“ stellen ein besonders einfache Form der Wissensebende dar und sind im folgenden Beispiel dargestellt.

Abbildung 4


Eine weitere Variante von “Accountability” verwendet den „Levelled Accountability Type“. Diese Variante wird eingesetzt, wenn es einen ganzen Satz von „Party Types“ gibt, die in Ebenen hierarchisch gegliedert sind. Dies wird im folgenden Bild veranschaulicht:

Abbildung 5

Ein Beispiel ist die Darstellung von Verantwortlichkeiten innerhalb der Behörden auf Bundes-, Landes- und Kommunalebene.



Stärken

Das Analysemuster „Accountability“ ist sehr mächtig, weil mit ihm praktisch jede hierarchische Organisationsstruktur abgebildet werden kann.



Schwächen

Allerdings ist es auch sehr komplex und aufwändig zu implementieren. Daher empfiehlt es sich, für die Darstellung relativ einfacher Organisationsstrukturen das Analysemuster Organization Hierarchy zu verwenden und erst ab einer höheren Komplexitätsstufe auf das Analysemuster „Accountability“ zurückzugreifen.