Modularisierung - Vor- und Nachteile
Wie im vorherigen Blogeintrag beschrieben, machen funktional zusammenwirkende Teile ein System als Ganzes überhaupt erst möglich. Ein System würde schlichtweg nicht existieren, wenn es nicht aus Teilen bestünde, die jedes für sich genommen auf bestimmte Aufgaben spezialisiert sind und dabei in geregelter Weise zusammenarbeiten. Erst aus der konzertierten Zusammenarbeit spezialisierter Teile ergibt sich die Funktions- und Überlebensfähigkeit eines Systems. Wie genau trägt Modularisierung dazu bei, Systeme zu ermöglichen und ihnen Vorteile gegenüber weniger organisierten Strukturen oder gegenüber anderen Systemen zu verschaffen? Und mit welchen Nachteilen kann dies einhergehen?
Vorteile
- Spezialisierung: Eine naheliegende vorteilhafte Eigenschaft einzelner Systemteile scheint ihre Spezialisierung auf bestimmte Aufgaben zu sein. Die jeweilige Einheit kann
ihre Aufgabe besser erfüllen als allgemeinere Systemteile und
verschafft so dem Gesamtsystem einen Vorteil oder ermöglicht erst seine Existenz.
- Größe: Durch das Zusammenwirken verschiedener spezialisierter Teile kann sich für das System ein Größenvorteil ergeben, der ihm einen Vorteil gegenüber seiner Umwelt verschafft. In einer konkurrierenden oder gar feindlichen Umwelt kann die schiere Größe eines Systems seine Existenz sichern oder die Erfüllung seines eigentlichen Systemzwecks ermöglichen. Die gewünschte Größe ist dabei ggf. nicht durch eine Vermehrung allgemeinerer Systemteile erreichbar.
- Austauschbarkeit: Indem die Teile eines Systems klar umrissene Aufgaben übernehmen und durch die Erfüllung dieser Aufgaben zum Erfolg eines Systems beitragen, werden die Teile insofern austauschbar, als sie durch andere Teile ersetzt werden können, welche dieselbe Aufgabe ebensogut erledigen. Ist ein Teil defekt, kann es ersetzt oder lokal repariert werden, ohne dass andere Bereiche des Systems davon betroffen sein müssen.
- Wiederverwendbarkeit: Wiederverwendbarkeit entsteht, indem sich ein Teil in verschiedenen Kontexten eines Systems oder gar in verschiedenen Systemen verwenden lässt. Dies geht offensichtlich mit reduzierten Aufwänden für die Aufrechterhaltung des Systems/der Systeme einher, denn entweder muss ein bereits erprobtes Teil lediglich nocheinmal reproduziert werden, oder es lässt sich gar dasselbe Teil verwenden, so dass die Notwendigkeit zur Erzeugung eines zusätzlichen Teils entfällt.
- Kontrollierbarkeit: Die meisten Systeme verfügen über eine Steuerungslogik, die entweder von einer zentralen Einheit ausgeübt oder dezentral durch geeignete Abstimmung unter den Systemteilen erreicht wird. Die Aufteilung der Systemfunktionen in klar abgegrenzte Teile fördert in jedem Fall die Kontrollierbarkeit des Gesamtsystems, indem jederzeit klar ist, welcher Teil für die Erfüllung einer aktuellen Aufgabe angesteuert werden muss.
Nachteile
Modularisierung kann auch mit Nachteilen einhergehen, deren Wirkung bis zur Funktionsunfähgigkeit des jeweiligen Systems reichen können. Wie bereits erwähnt, existieren System häufig in konkurrierenden oder gar feindlichen Kontexten. Nachteile, die sich aus einer gewählten oder entstandenen Modularisierung ergeben, haben daher häufig damit zu tun, dass das jeweilige System in seinem Überlebenskampf nicht länger bestehen kann.
- Single Point of Failure: In zahlreichen Systemen existieren essentielle Teile, deren Fehlfunktion automatisch zu einem Versagen des Gesamtsystems führt und die im Falle eines Defekts auch nicht ohne weiteres ersetzt werden können (d.h. die Austauschbarkeit ist in diesen Fällen nicht gegeben). Systeme werden an diesen Teilen verwundbar.
- Ungeeignete Aufgabenverteilung: Jede Modularisierung setzt voraus, dass die Gesamtheit der Funktionen, die ein System erfüllen muss, in geeigneter Weise aufgeteilt werden muss. Aufgaben können häufig verschieden granular aufgeteilt werden. Je nach gewählter Aufteilung können Systeme aus sehr vielen kleinen oder aus sehr wenigen großen Teilen entstehen. Ist diese Aufteilung zum Zeitpunkt der Entstehung eines Systems ggf. noch angemessen, so kann eine Änderung im Systemkontext bewirken, dass sie fortan unvorteilhaft ist.
- Übertriebene Systemgröße: Indem Systeme durch passende Modularisierung einen immer größen Funktionsumfang übernehmen können, tendieren sie häufig zu einer Ausdehnung: Zur Ausübung der neuen Funktionen werden neue Teile in das System integriert, was zu einem Wachstum des Systems führt. Mit diesem Wachstum gehen allerdings auch verschiedene Nachteile einher: Das System benötigt in der Regel mehr Ressourcen, um funktionsfähig zu bleiben, es wird zunehmend komplex, die Kommunikationswege werden länger, die Kontrollierbarkeit und Flexibilität sinkt. Zu beachten ist auch, dass allzu große Systeme ihrer Umwelt schaden können und sich damit ggf. neue Feinde verschaffen oder Teile der eigenen Funktionsgrundlage entziehen.