| Modul | |||||
|
Die Modularisierung von Software berücksichtigt, daß ein in kleine Teile gegliedertes Problem einfacher zu bearbeiten ist. "Klein" heißt, daß ein Modul nur eine maximale Anzahl von Anweisungen umfassen darf. Ein Modul ist ein Programmteil mit einem Eingang und einem Ausgang und kann selbständig übersetzt und ausgeführt werden. Module verkehren nur über Schnittstellen miteinander, über die Werte (Parameter) vom rufenden an das aufgerufene Modul übergeben werden. Ein Modul soll als Black Box aufgefasst werden: es sind nur die Schnittstellen bekannt und nichts über das Innenleben. Ein Modul weiss auch nichts vom Innenleben eines anderen Moduls (Geheimnisprinzip). Da man nur wissen muss, welches Datenformat heraus kommt (Output) und welche Daten zugeführt werden (Input), erleichtert dies die Einbindung des Moduls innnerhalb des Programmcodes und die Kommunikation der Module untereinander. Man spricht auch von einer Kapselung: Trennung von Implementierung (der eigentliche Programmcode) und Schnittstellen. Module können wiederverwendet werden oder separat kompiliert und als Bibliotheksdatei verwendet werden. Module erlauben eine Auslagerung von bestimmten Programmfunktionen. Diese können nach dem Baukastenprinzip zusammengestellt und auch einzeln lizenziert werden. Auch der Aufbau verschiedener Software-Versionen mit unterschiedlichen Fähigkeiten ist dadurch möglich. Diese können auch separat vermarktet werden. Das Modulkonzept wird von einigen Programmiersprachen direkt unterstützt: Component PASCAL, Modula 2, Fortran, Cobol, Ada, D, PHP, Python, Perl oder Ruby. |
|||||
| Siehe auch: CASE Strukturierte-Analyse UML Objektorientierte-Programmierung API Datei-Endung-DLL Linker Parser ADA PASCAL | |||||