Fachkonzept - Modularisierung
Was versteht man eigentlich unter Modularisierung?
Aus einem Werbeprospekt für Partyzelte:
Unsere Partyzelte können in verschiedenen Größen aufgebaut werden.
Da die Partyzelte und Festzelte aus Modulen bestehen, ist es sehr einfach, sie zu erweitern.
Die Abbildung zeigt ein mögliches Kombinationsbeispiel der Module.
...
Hast du schon einmal beim Aufbau eines Partyzeltes geholfen? Dann weißt du sicher, warum es günstig ist, wenn ein System aus Modulen aufgebaut ist.
Module sind Bausteine, mit deren Hilfe man ein System (wie z.B. ein Partyzelt) zusammensetzen kann. Komplexe Systeme werden heute oft so hergestellt, dass einzelne Bausteine leicht zusammengesetzt oder auch ausgetauscht werden können. Hersteller komplexer Systeme beachten also das Bausteinprinzip. Dieses Prinzip wird auch Modularisierung genannt.
Fachkonzept Modularisierung
Modularisierung ist ein Prinzip, nach dem viele Systeme entwickelt werden.
Die Idee besteht darin, das Gesamtsystem nach dem Baukastenprinzip aus Einzelbausteinen
(den sogenannten Modulen
) zusammenzusetzen.
Modularisierung erleichtert das Erstellen komplexer Systeme. Modularisierung kommt bei der Entwicklung technischer Systeme vielfach zum Einsatz, aber auch im täglichen Leben.
Modularisierung spielt auch bei der Entwicklung komplexer Software eine entscheidende Rolle. Ziel ist es dabei, Funktionseinheiten durch eigenständige Software-Komponenten zu realisieren.
Ein Softwaremodul ist eine in sich abgeschlossene Programmeinheit, die man vielfältig bei Problemlösungen einsetzen kann.
Grundidee der objektorientierten Modularisierung ist es, solche Softwaremodule als Klassen zu konzipieren.
Ein Beispiel für ein objektorientiertes Softwaremodul ist die Klasse Konto
aus dem vorangegangenen Abschnitt.
Dieses Softwaremodul erlaubt es dem Benutzer, ein Konto zu verwalten.
Ein Dialog über Modularisierung
Zwei Softwareentwickler(innen) - Isa und Otti - unterhalten sich über die Bausteine, die sie benutzen.
Isa | Otti |
---|---|
Hey Otti, heute schon Objekte erzeugt? | |
Hallo Isa, was machen die Funktionen? | |
Also, jetzt mal im Ernst, ich finde das ziemlich kompliziert, was du da treibst. | |
Wirklich? Ich versuche ja nur, das Modularisierungsprinzip zu beachten. | |
Das versuche ich doch auch - nur mit Funktionen statt Objekten. | |
Stimmt! | |
Funktionen kommen mir aber viel einfacher vor als Objekte mit all ihren Attributen und Methoden. Warum als so kompliziert, wenn es auch einfach geht? | |
Es kommt halt darauf an, was man mit den Bausteinen anfangen will. | |
Wie soll ich das verstehen? | |
Also, wie ist das im normalen Leben? Wenn man sich einen Drachen bauen will, dann reichen eigentlich Holzstäbe, etwas Papier, eine lange Schnur usw.. Wenn man sich ein Fahrrad selbst zusammenbauen will, dann ist es günstig, wenn man sich einen Bausatz mit vorgefertigten Bauteilen besorgt, die schon die Grundfunktionen mitbringen. Und so ist es halt auch bei der Softwareentwicklung. | |
Du meinst, Funktionen benutzt man, wenn man kleine Probleme löst, und Objekte, wenn komplexere Aufgaben anstehen. | |
Genau so sehe ich das. Wenn man komplexere Aufgaben erledigen will, dann fallen meist sehr viele zu verwaltende Daten an und es müssen eine Vielzahl an Funktionen zur Verarbeitung der Daten konzipiert werden. Um etwas Ordnung in dieses Daten- und Funktionschaos zu bringen, bündelt man Zusammengehörendes zu einer neuen Einheit zusammen. Oft ist es doch so, dass auf bestimmte Daten nur ganz bestimmte Operationen angewandt werden sollen. Da ist es dann günstig, wenn man aus diesen Komponenten - also Daten und zugehörige Operationen - einem neuen Baustein erzeugt. | |
Ok! | |
Also, im Grunde machen wir dasselbe, du im Kleinen, ich im Großen. Dass bei mir die Bausteine etwas komplizierter wirken, liegt also in der Natur der Sache. |
Quellen
- [1]: Bausteine - Urheber: Priwo - Lizenz: Public Domain