Die im vorherigen Beispiel verwendeten Datenelemente der Abhängigkeitsfaktoren sind übrigens absichtlich vage. Der Begriff "persönliche Angaben" würde aller Wahrscheinlichkeit nach viele einzelne Felder wie Geburtsdatum, demografische Angaben usw. abdecken. Der Abhängigkeitsmanager kennt weder die Bedeutungen der Abhängigkeiten, die er zwischen Abhängigkeitsprodukten und Abhängigkeitsfaktoren speichert, noch berücksichtigt er sie. Zuständig für die Zuordnung von Bedeutungen zu diesen Abhängigkeiten und für die Speicherung der Abhängigkeiten mit einer angemessenen Granularität sind die Clients des Abhängigkeitsmanagers.
Bei der Auswahl der Granularität muss ein annehmbarer Kompromiss zwischen den beiden folgenden Extremwerten gefunden werden:
Bei dieser Granularität werden sehr präzise Abhängigkeiten zwischen Abhängigkeitsprodukten und einzelnen Datenfeldern gespeichert, was eine extrem treffsichere Erkennung der von geänderten Abhängigkeitsfaktoren betroffenen Abhängigkeitsprodukte ermöglicht, jedoch mit dem Nachteil verbunden ist, dass viele Abhängigkeitsdatensätze gespeichert werden.
Bei dieser Granularität werden sehr allgemein gehaltene Abhängigkeiten zwischen Abhängigkeitsprodukten und Gruppierungen vieler einzelner Datenfelder in einem einzigen Datenelement gespeichert. Dies führt dazu, dass zwar nur wenige Abhängigkeitsdatensätze gespeichert werden, jedoch möglicherweise unnötige Neuberechnungen angefordert werden (also Neuberechnungen, die sich als überflüssig herausstellen, weil die Berechnung nicht durch das jeweils geänderte Datenfeld beeinflusst wird).
Dieser Kompromiss muss von den Entwicklern der Clients des Abhängigkeitsmanagers berücksichtigt werden. Ziel ist eine sensible Auswahl der Stufe, mit der Abhängigkeitsinformationen im Abhängigkeitsmanager gespeichert werden.
Als Beispielfall sollen die folgenden persönlichen Angaben dienen, die das System für einen Anspruchsteller aufzeichnet (in einem realen System werden möglicherweise viel mehr Felder als "persönliche Angaben" betrachtet):
Bei einer sehr differenzierten Gruppe von Abhängigkeiten würde die Leistungshöhe des Falls vom Geburtsdatum und von der Anzahl der Kinder, jedoch nicht vom Geburtsnamen der Mutter abhängig sein (da bei den Berechnungen auf diesen nicht zugegriffen wird):
Abhängigkeitsfaktor | Leistungshöhe für Fall 127 |
---|---|
Geburtsdatum von Frank | X |
Anzahl der Kinder von Frank | X |
Geburtsname der Mutter von Frank |
Dieser differenzierte Abhängigkeitsspeicher könnte dazu führen, dass viele Zeilen gespeichert werden müssen. Eine Neuberechnung der Leistungshöhe für den Fall wird jedoch nur von Änderungen am Geburtsdatum und/oder an der Anzahl der Kinder ausgelöst (falls ein Schreibfehler im Geburtsnamen der Mutter korrigiert wird, wird keine Neuberechnung der Leistungshöhe für den Fall ausgelöst).
Eine sehr allgemein definierte Gruppe von Abhängigkeiten würde im Gegensatz einen viel einfacheren Datensatz ergeben, da die Leistungshöhe des Falls von allen persönlichen Angaben abhängig ist:
Abhängigkeitsfaktor | Leistungshöhe für Fall 127 |
---|---|
Persönliche Angaben von Frank | X |
Bei diesem allgemein definierten Abhängigkeitsspeicher werden weniger Abhängigkeitsdatensätze gespeichert, aber falls ein Schreibfehler im Geburtsnamen der Mutter korrigiert wird, ändert sich die Gesamtheit der persönlichen Angaben und eine Neuberechnung der Leistungshöhe für den Fall wird ausgelöst, obwohl die Neuberechnung ergibt, dass sich das Berechnungsergebnis nicht geändert hat.