Measurement

Aus THM-Wiki
Wechseln zu: Navigation, Suche

Analysemuster bieten wiederverwendbare Vorlagen zur Problemlösung in einer Anwendungsdomäne. Measurement ist ein Analysemuster zum ermitteln und ablegen von Messungen.

Problembeschreibung

Für ein Objekt sollen mehrmalige Messungen vorgenommen werden. z.B: tägliches Fiebermessen bei einem Krankenhauspatienten. Die einfachste Lösung des Problems besteht darin einfach alle messbaren Eigenschaften als Objekt-Attribute abzulegen. Das führt aber zu folgenden Teilproblemen:

1. Es ist nicht sichergestellt, dass die Messungen immer in der gleichen Einheit erfolgen. (z.B.: die Temperatur in °C)

2. Ältere Messungen werden überschrieben, also nicht archiviert. In vielen Fällen ist es aber sinnvoll, zu einem späteren Zeitpunkt, auf alte Messungen zurückgreifen zu können.

Lösung

Jeder Messvorgang ist ein unabhängiger Vorgang, erfolgt mit vordefinierten Parametern und die Ergebnisse werden als jeweils eigenes Objekt abgelegt.

Measurement.jpg

Die Klasse "Person" definiert das zu messende Objekt (bzw. die Person); z.B.: ein Patient in einem Krankenhaus. Die Klasse "Measurement" erzeugt für jede Messung ein Objekt indem sich nach erfolgter Messung die Ergebnisse befinden. Die Klasse "Phenomenon Type" definiert die Art der Messung; z.B.: die Körpergröße, oder die Körpertemperetur. Da diese Klasse sich nicht (oder nur selten) ändert, wird sie der Knowledge level zugeordnet. Die Klasse "Quantity" stellt sicher, dass einheitliche Maßsysteme verwendet werden.

Beispiel

Die Blutdruck und die Temperatur einer Person soll gemesen werden. Dazu referenziert ein Objekt der Klasse Person zwei Objekte der Klasse Measuerement. Diese referenzieren wiederum entweder das Objekt "Blutdruck" oder "Körpergröße" der Klasse Phenomenon Type, sowie die dazugehörigen Maßeinheiten über die Klasse Quantity.

Sonstiges

Während seiner Arbeit an einem Klinik-System erweiterte Martin Fowler das Measurement-Pattern zum Observation Pattern.