Mittwoch, 27. November 2013

Modularisierung - verwandte Prinzipien

Im Artikel Modularisierung - aber wie? wurde bereits angedeutet, dass Modularisierung mit zahlreichen anderen Prinzipien in Zusammenhang steht. Insbesondere sind hier die Prinzipien zu nennen, die als Zerlegungskriterien einzuordnen sind und somit Konkretisierungen oder Ergänzungen des Modularitätsprinzips darstellen.

Es existieren allerdings auch eine Reihe weiterer eher fundamentaler Prinzipien, die mit der Modularisierung in Beziehung stehen. In [Balzert1998] wird folgende Übersichtsgrafik präsentiert, die seither von verschiedenen Autoren reproduziert wurde:
Von den hier gezeigten Prinzipien habe ich an anderer Stelle bereits das Geheimnisprinzip, das Lokalitätsprinzip und das Abstraktionsprinzip behandelt. Im vorliegenden Artikel sollen die Zusammenhänge nochmals verdeutlicht werden. Auf den Bezug zum Geheimnisprinzip kann dabei hier verzichtet werden, da dieser insbesondere im Artikel Modularisierung in der Softwaretechnik bereits erläutert wurde.
  • Modularisierung und Abstraktion: Während diese Beziehung im Modell von Balzert fehlt, erscheint der Zusammenhang doch offensichtlich: In Verbindung mit dem Geheimnisprinzip abstrahiert ein Modul eine bestimmte Funktion nach außen hin, d. h. es verbirgt die konkrete Realisierung dieser Funktion. Jede Modellbildung kann als Abstraktion verstanden werden (siehe Abstraktionsprinzip), d. h. die Bausteine eines Modells werden in der Regel Abstraktionen einer eigentlich detaillierteren und vielschichtigeren Realität sein.
  • Modularisierung und Hierarchisierung: Im Artikel Modularisierung - aber wie? habe ich erläutert, dass sich Modularisierung über mehrere Ebenen vollziehen kann: Prozeduren "modularisieren" Instruktionen, Klassen "modularisieren" Prozeduren, Komponenten "modularisieren" Klassen usw. Offensichtlich entsteht durch diese Ebenen eine Modularisierungshierarchie, so dass mit jeder konkreten Modularisierung auch immer eine Hierarchiebildung einhergeht.
  • Modularisierung und Strukturierung: Unter Strukturierung versteht man die Anordnung der Teile eines Ganzen. Es versteht sich von selbst, dass diese Anordnung stark davon abhängt, in welche Teile die Gesamtfunktionalität separiert wurde. Die Entscheidung für eine bestimmte Modularisierung geht unmittelbar mit der Entscheidung für bestimmte Strukturen einher.
  • Modularisierung und Lokalität: Rufen wir uns das Lokalitätsprinzip in Erinnerung: "Alle relevanten Informationen zum Verständnis eines Zusammenhangs sollen an einer Stelle des Systems lokalisiert und möglichst ohne Kenntnis des Kontexts nachvollziehbar sein." Durch Modularisierung werden zusammenhängende Elemente auch hinsichtlich ihrer Lokalität zusammengeführt. Modularisierung erscheint in dieser Hinsicht als eine spezielle Form des Lokalitätsprinzips.

Quellen

[Balzert1998] - Lehrbuch der Software-Technik, Helmut Balzert, 1998