Laut Stephen Schach, „Klassisches und objektorientiertes Software-Engineering“, Kapitel 6:
Ein Modul besteht aus einem einzelnen Codeblock, der so aufgerufen werden kann, wie eine Prozedur, Funktion oder Methode aufgerufen wird
Dies scheint sehr vage und breit. Könnte es jemand klar erklären und einige konkrete Beispiele zeigen, wie eine Anforderung in Module unterteilt werden kann? Vielen Dank.
Modul ist möglicherweise ein überladener Begriff, der von Wikipedia unter dem Begriff Modulare Programmierung zusammengefasst wird, wenn es um die Verwendung in Bezug auf Software geht. Sie diskutieren es in Form einer strukturierten Programmierung, die auf einem Top-Down-Design-Ansatz basierte. Hauptmerkmale der Modularität in Bezug auf die Verwendung von geringer Kopplung und hoher Kohäsion .
Meine Verwendung war, dass in einer Sprache wie C oder sogar C ++ ein Modul mit der Definition einer separat kompilierten Einheit aus einer Quelldatei (.c oder .cpp) und normalerweise einer zugehörigen Headerdatei (.h) zusammenhängt. Andere Sprachen verwenden das Modul als Beschreibung, und die Sprache Modula-2 hat die Strukturierung der Module in ihrem Namen und in ihrer Herangehensweise in den Vordergrund gestellt.
Historisch Modul hat einige andere Auswirkungen wie in dem beschriebenen wurden DL Parnas Papier „Auf den Kriterien in Decomposing Software in Modulen verwendet werden“ . Er befasst sich hauptsächlich mit der Erörterung der Vorteile des Ersetzens der funktionalen Zerlegung durch eine datenorientierte Zerlegung, was ein großer Schritt in Richtung unseres gegenwärtigen Stands der Technik, der objektorientierten Zerlegung, war.
Da objektorientierte Sprachen nach Klassen organisiert sind, ist der Begriff Modul in diesem Kontext möglicherweise weniger wichtig und weniger genau.
quelle
Es gibt keine formale Definition eines Moduls, und was ein Modul im Kontext Ihres Projekts ist (oder nicht), hängt weitgehend von der Art und dem Design des Projekts ab.
Im Allgemeinen ist ein Modul ein eigenständiger Code, der spezifische und eng verknüpfte Funktionen bietet. Module definieren und erzwingen logische Grenzen in Ihrem Code.
quelle