Modul (Software) - de.LinkFang.org

Modul (Software)



Ein Modul (neutrum, das Modul[1]) ist im Software Engineering ein Baustein eines Softwaresystems, der bei der Modularisierung entsteht, eine funktional geschlossene Einheit darstellt und einen bestimmten Dienst bereitstellt.[2]

Module sind charakteristisch für die Programmierung nach dem Programmierparadigma der modularen Programmierung. Module können weitere Module bzw. auch mit anderen Bezeichnungen benannte Konstrukte (wie Funktion, Prozedur, Klasse u. a.) enthalten. So ist die Zerlegung der Programmfunktionalität in einer Hierarchie möglich. Module können die in ihnen festgelegten Datenstrukturen und Methoden gegebenenfalls vererben bzw. fremden Modulen den Zugriff erlauben oder verbieten.

In den verschiedenen Programmiersprachen und Entwicklungsumgebungen und deren zeitlicher Entwicklung haben sich zahlreiche unterschiedliche Implementierungsformen von Modulen (mit zum Teil unterschiedlichen Bezeichnungen) entwickelt. Auch wird der Ausdruck Modul häufig synonym zu Begriffen wie Unterroutine, Prozedur, Unterprogramm, Programmteil, Programm-Modul[3][4] verwendet.

Als Speicherobjekt für Programmcode ist „Modul“ eine typisierende Bezeichnung für die Inhalte in einer Programmbibliothek, wobei ein Modul häufig eine Zusammenfassung thematisch zusammengehöriger Prozeduren, Funktionen, Klassen, Konstanten und ggf. weiterer Programmierobjekte ist. Module gibt es auch für Hauptprogramme, sie können alternativ unterschiedliche Arten von Programmcode (wie Quelltext, Zwischencode, Maschinenprogramm) repräsentieren.

Zu unterscheiden ist ein Modul von einer Komponente, die in der Funktionalität eine Hierarchieebene höher angesiedelt ist und die (Basis-)Funktionalitäten von Modulen zu (fachspezifischen) Diensten kombiniert. Jedoch werden derartige Komponenten im Sprachgebrauch (zum Beispiel bei SAP[5]) manchmal ebenfalls „Module“ genannt.

Inhaltsverzeichnis

Gründe für das Aufteilen von Programmen in Module


Für modulare Programmierung im Allgemeinen

Für eigenständige Module

Einsatz/Verwendung


Der Einsatz von Modulen entspricht dem Prinzip der Kapselung (encapsulation); denn:

Außerhalb des Moduls bleiben die Verarbeitungsweise und evtl. Modul-eigene Daten verborgen (Prinzip des information hiding).

Große, komplexe Programme können durch den Einsatz von Modulen gegliedert und strukturiert werden. Dies kann in vielerlei Hinsicht von Nutzen sein (vergleiche auch Modularität). Beispielsweise hat die Größe der Module einen Einfluss auf die Fehlerdichte – sie ist am geringsten bei einer Modulgröße von 200 bis 400 Lines of Code.[6] Entwurf und Definition von Modulen und Schnittstellen ist Teil der Designphase in der Softwareentwicklung.

Das Modulkonzept wurde zuerst von David Parnas publiziert.

Zahlreiche Programmiersprachen unterstützen das Modulkonzept durch integrierte Sprachmittel, beispielsweise Ada, COBOL, D, F, Fortran, Haskell, Java, ML, Modula-2, Oberon, Component Pascal und PL/I. Daneben sind Skriptsprachen wie Perl, Python, PHP und Ruby zu nennen.

Beispiele für Varianten von Modulen


Die nachfolgenden Beispiele zeigen, dass Module in unterschiedlichen technischen Ausprägungen auftreten können:

Module als Strukturierungsmittel im Quelltext

Module sind nach den Prinzipien der modularen Programmierung „logische Teilblöcke“, in die die Aufgabenstellung eines Computerprogramms zerlegt wird. Das Modul ist häufig nur als individueller Codeabschnitt im Quelltext definiert, bei OOP kann dieser eine Klasse sein. In diesem Codeabschnitt/Modul können weitere Module enthalten sein oder als eigenständiges, getrennt kompiliertes Unterprogramm aufgerufen werden.

Klassen in der Objektorientierung

Eine spezielle Form von Modul/Modularisierung sind die Klassen der objektorientierten Softwareentwicklung:

Objektmodul (Großrechner IBM-Welt)

Aus einem Quelltext erzeugt ein Compiler oder ein Assembler ein sogenanntes Objektmodul, dessen Anweisungen in Form von Maschinencode in einer Programmbibliothek abgelegt werden. Um ein Programm ausführen zu können, wird sein Objektcode mit dem Objektcode aller aufgerufenen Unterprogramme mit einem sog. Linker 'zusammengebunden', wobei u. a. die Einsprungadressen der Unterprogramme eingesetzt werden. Ergebnis ist ein Lademodul.

Lademodul (Großrechner IBM-Welt)

Variante A: Hauptprogramme und ihnen (= statisch) hinzugebundene Unterprogramme werden zu einem gemeinsamen ausführbaren Programm als gemeinsames ‚Lademodul <Hauptprogramm>‘ in einer Programmbibliothek abgestellt. Von dort aus können sie zum Beispiel über JCL-Aufrufe (EXEC <Pgm>) aufgerufen werden.
Variante B: Sollen Unterprogramme erst beim Programmlauf (= dynamisch) geladen werden, so wird aus ihrem Objektcode ein einzelnes ‚Lademodul <UPRO>‘ erzeugt, das durch einen Ladebefehl im aufrufenden (Haupt-)Programm über das Betriebssystem geladen und danach – wie bei statisch gebundenen Modulen – zur Verarbeitung aufgerufen wird.
Zusammenwirken von aufrufendem und aufgerufenem Programm(teil) im Detail: Siehe Unterprogramm.

Module bei MS Access und VBA

Die Entwicklungsumgebung MS Access versteht unter ‚Modul‘ eine Zusammenfassung aller Prozeduren bzw. Funktionen, die für ein Objekt, zum Beispiel ein Formular oder einen Bericht in VBA angelegt wurden. In solchen Modulen können weitere, untergeordnete Teilfunktionen angelegt und ausgeführt werden, zum Beispiel „Ereignisprozeduren“,[7] mit denen beim Ändern eines bestimmten Datenfelds in einem Formular eine individuelle Prüfung erfolgen soll. Zusätzlich können zum Beispiel Module für global gültige Daten (z. B. ‚GLOBAL DATA‘) oder für global ansprechbare Funktionen (etwa ‚GLOBAL CODE‘) angelegt werden.

Der Modulbegriff bei SAP

In der Software von SAP werden einzelne Anwendungen „Modul“ genannt.[8] Dies entspricht jedoch dem softwaretechnischen Modulbegriff nur im weitesten Sinn, und gilt als Zusammenfassung von Funktionalität auf einem betriebswirtschaftlichen Level, den ein Anwender optional erwerben und nutzen kann.

Siehe auch


Weblinks


Wiktionary: Modul – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen

Einzelnachweise


  1. Duden, Band 5, Fremdwörterbuch, 7. neu bearbeitete und erweiterte Auflage, Mannheim 2001
  2. Gabler [1] Definition Modul
  3. psion user-club OPL-Kurs Teil 4 [2] denn einen Teil der Module („synonym: Prozeduren, ...“) werden wir wiederverwenden
  4. econstor.eu [3] Seite 19: ... inwieweit ein Programm in Unterprogramme (Module) zerlegt ist, ...
  5. tse.de [4] SAP-R3-Module
  6. Y. Malayia, J. Denton,: Module size distribution and defect density. (pdf) In: 11th International Symposium on Software Reliability Engineering (ISSRE’00). Oktober 2000, abgerufen am 1. August 2018 (englisch).
  7. Microsoft Erstellen einer VBA-Prozedur Funktionen in Standard- oder Klassenmodulen (Memento vom 8. April 2014 im Internet Archive)
  8. SAP ERP Was ist ERP? [5] „Jede Anwendung, also jedes ERP-Modul, ist auf einen Geschäftsbereich ausgerichtet.“



Kategorien: Softwarearchitektur | Software-Modul | Programmiersprachelement



Quelle: Wikipedia - https://de.wikipedia.org/wiki/Modul (Software) (Autoren [Versionsgeschichte])    Lizenz: CC-by-sa-3.0


Veränderungen: Alle Bilder und die meisten Designelemente, die mit ihnen in Verbindung stehen, wurden entfernt. Icons wurden teilweise durch FontAwesome-Icons ersetzt. Einige Vorlagen wurden entfernt (wie „Lesenswerter Artikel“, „Exzellenter Artikel“) oder umgeschrieben. CSS-Klassen wurden zum Großteil entfernt oder vereinheitlicht.
Wikipedia spezifische Links, die nicht zu Artikeln oder Kategorien führen (wie „Redlink“, „Bearbeiten-Links“, „Portal-Links“) wurden entfernt. Alle externen Links haben ein zusätzliches FontAwesome Icon erhalten. Neben weiteren kleinen Designanpassungen wurden Media-Container, Karten, Navigationsboxen, gesprochene Versionen & Geo-Mikroformate entfernt.


Stand der Informationen: 05.05.2020 06:45:36 CEST - Wichtiger Hinweis Da die gegebenen Inhalte zum angegebenen Zeitpunkt maschinell von Wikipedia übernommen wurden, war und ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.org nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein oder Fehler in der Darstellung vorliegen, bitten wir Sie darum uns per zu kontaktieren: E-Mail.
Beachten Sie auch : Impressum & Datenschutzerklärung.