Das Konzept der Funktion bedeutet, dass eine Komponente auf eine andere Komponente wirkt, d.h., ein Parameter jener Komponente entweder verändert oder aktiv erhalten wird. Das Konzept der Funktion beinhaltet nicht, dass diese Wirkung erwünscht wäre oder besonders gut ausgeführt wird. Zum Beispiel wird eine Brille im Laufe der Zeit durch Schmutz dreckig. Würde das Brillenglas plötzlich aufhören zu existieren, so würde der Schmutz auf den Boden fallen. Es liegt also eine Funktion „Brillenglas hält Schmutz“ vor – und diese Funktion ist sicherlich unerwünscht.
Mit einem Brillenputztuch kann die Brille von Zeit zu Zeit wieder gereinigt werden. Die Hauptfunktion eines Brillenputztuches ist es, Schmutz von einer Brille zu entfernen. Konkreter ausgedrückt soll das Brillenputztuch Schmutz bewegen bzw. mitnehmen. Damit wird der Schmutz zur Zielkomponente des Brillenputztuches. Das Brillenglas ist für diesen Vorgang sicherlich ein wichtiger Teil der Umwelt und gehört damit zum Obersystem. Hiermit ergibt sich das folgende Funktionsmodell.
Die beiden Funktionen unterscheiden sich grundsätzlich in einem Aspekt: Die eine Funktion („Brillentuch bewegt Staub“) ist nützlich, die andere Funktion („Brillenglas hält Staub“) ist dagegen schädlich.
In diesem Beispiel ist es eindeutig, was unter nützlich und was unter schädlich zu verstehen ist. Dieses ist jedoch nicht immer so, denn diese beiden Begriffe ergeben erst dann einen Sinn, wenn man einen Zweck bzw. ein Ziel festgelegt hat. Die folgende Abbildung zeigt ein stark vereinfachtes Funktionsmodell einer mittelalterlichen Belagerung. Es besteht nur aus den beiden Funktionen „Kanone beschleunigt Kanonenkugel“ und „Burgmauer stoppt Kanonenkugel“.
Ob die Burgmauer eine nützliche oder eine schädliche Funktion ausübt, hängt davon ab, auf welcher Seite der Burgmauer man sich befindet.
Eine dieser beiden Funktion ist nützlich, d.h., sie hilft beim Erreichen des Zieles, die andere ist dagegen schädlich, d.h., durch sie wird das Erreichen des Zieles erschwert oder sogar unmöglich gemacht. Welche der beiden Funktion aber nützlich und welche schädlich ist, hängt allerdings davon ab, ob man der Belagerer der Burg oder aber der Verteidiger der Burg ist. Für den Belagerer beeinträchtigt die Burgmauer die durch ihn beabsichtige Funktion der abgefeuerten Kugel. Für den Verteidiger ist die Burgmauer nützlich, während die Kanone aus leicht einsichtigen Gründen eine schädliche Funktion ausübt.
Zurück zum Brillenputztuch: Leider funktioniert nicht jedes Brillenputztuch so, wie es sollte. Wir wollen daher jetzt ein schlechtes Brillenputztuch modellieren, und zwar schlecht in doppeltem Sinne. Dieses Brillenputztuch entfernt nicht allen sondern nur einen Teil des Schmutzes vom Brillenglas, und zusätzlich wird dabei das Brillenglas auch noch zerkratzt. Ein Funktionsmodell eines solchen Brillenputztuches zeigt die folgende Abbildung.
An dieser Stelle merkt man, dass die Information darüber, wie gut das Brillenputztuch seine Funktion erfüllt, in einem solchen Funktionsdiagramm verloren geht. Aus diesem Grund kann ein Funktionsmodell um diese Information erweitert werden. Jeder Funktion kann einer von vier sogenannten Erfüllungsgraden zugeordnet werden:
Erfüllungsgrad | Beschreibung | |
---|---|---|
nützlich | U | Die Funktion tut genau das, was sie soll |
unzureichend | I | Die Funktion geht schon in die richtige Richtung, aber sie erreicht ihr Ziel nur teilweise, d.h., man wäre dann zufriedener, wenn sie stärker wäre. |
übermäßig | E | Die Funktion geht schon in die richtige Richtung, aber sie schießt über ihr Ziel heraus, d.h., man wäre zufriedener, wenn sie schwächer wäre. |
schädlich | H | Die Funktion macht nichts nützliches, sondern sie schadet nur |
Die Abkürzungen stehen für die englischen Begriffe „useful“, „insufficient“, „excessive“ und „harmful“.
An dieser Stelle sei erinnert, wie im Abschnitt über Funktionen eine Funktion definiert worden war: ein Parameter einer Komponente wird durch sie verändert (oder aktiv erhalten). Bei den ersten drei Erfüllungsgraden geht die Änderung dieses Parameters in die gewünschte Richtung, beim Erfüllungsgrad „schädlich“ dagegen in die falsche Richtung. Geht die Parameteränderung in die gewünschte Richtung, so kann die Parameteränderung größer als gewünscht, kleiner als gewünscht oder aber genau richtig sein. Dieses ergibt die anderen drei Erfüllungsgrade.
Die Unterscheidung zwischen einer übermäßigen und einer schädlichen Funktion ist nicht immer ganz intuitiv. Die folgende Abbildung zeigt zwei Pizzen, die in einem Backofen zubereitet worden sind. Was ist der Erfüllungsgrad des Backofens im Fall der verkohlten Pizza? Ein Backofen soll das Backgut erhitzen, also den Parameter „Temperatur“ der Zielkomponente erhöhen. Eine Erhöhung der Temperatur ist jedoch, was für beide Pizzen geschehen ist. Dementsprechend ist die verkohlte Pizza also nicht die Auswirkung einer schädlichen, sondern einer übermäßigen Funktion.
Eine verkohlte Pizza ist also die Auswirkung einer übermäßigen Funktion, eine gut durchgebackene Pizza die einer nützlichen Funktion und eine halbrohe Pizza die einer unzureichenden Funktion. Manchmal kann es hilfreich sein, noch einen weiteren Erfüllungsgrad „schlecht geregelt“ einzuführen: Man hat selten bei einem Backofen das Problem, dass er immer zu stark oder immer zu schwach erhitzen würde – dieses Probleme ließe sich durch Verstellen des Temperaturreglers am Backofen leicht beheben – sondern vielmehr, dass der Backofen unvorhersagbar mal zu heiß und mal zu kalt ist.
Die verschiedenen Erfüllungsgrade können im Funktionsmodell graphisch angedeutet werden, wobei dabei nicht zwischen unzureichenden und schlecht geregelten Funktionen unterschieden wird. In der Literatur sind verschiedene Darstellungsvarianten in Gebrauch, die in der folgenden Abbildung zusammmengestellt sind. Im diesem Dokument wird die Konvention aus der rechten Spalte verwendet, weil zu zugleich durch die Verwendung von Farben einen guten Kontrast liefert und durch die Beschränkung auf gerade Linien leicht in vielen Computerprogrammen darstellbar ist.
Graphische Darstellung des Erfüllungsgrades. In diesem Dokument wird im weiteren die Konvention aus der rechten Spalte verwendet.
Im Beispiel des Brillenputzes sind die beiden Funktionen „Brillenglas hält Schmutz“ und „Brillenputztuch zerkratzt Brillenglas“ schädlich, da jeweils ein Parameter in die nicht gewünschte Richtung verändert wird. Wie stark diese Parameterveränderung in die ungewünschte Richtung ist, wird nicht weiter unterscheiden. Nur die Funktion „Brillenputztuch bewegt Schmutz“ ändert einen Parameter in die gewünschte Richtung, und nur für solche Funktionen muss gefragt werden, die stark diese Parameterveränderung ist.
Zum Schluss sind hier noch vier verschiedene Funktionsmodelle eines Brillenputztuches dargestellt. Links oben ist das Modell eines Brillenputztuches, so wie es sein sollte, dargestellt: Es entfernt den Schmutz vollständig und zerkratzt das Brillenglas nicht. Die drei Funktionsmodelle zeigen Brillenputztücher, die das Brillenglas zerkratzen und/oder den Schmutz nur teilweise entfernen.
Die schädliche Funktion „Brillenglas hält Schmutz“ liegt außerhalb des von uns betrachteten technischen Systems „Brillenputztuch“. Wir müssen diese Funktion zur Kenntnis nehmen, haben jedoch nicht die Verantwortung, sie abzustellen. Schädliche Funktionen, unzureichende Funktionen und übermäßige Funktionen, die von Systemkomponenten ausgeübt werden, heißen Funktionsnachteile des Systems. Wann immer solche Funktionsnachteile bei der Aufstellung eines Funktionsmodell gefunden werden, ist dieses als Anregung zu verstehen, über Möglichkeiten zur Verbesserung des Systems nachzudenken.