Was ist eigentlich ein Modul in Software Engineering? [geschlossen]

geschlossen . Diese Frage muss mehr fokussiert sein . Derzeit werden keine Antworten akzeptiert.

Antwort

Ein Modul,

  • , kapselt Code und Daten, um eine bestimmte Funktionalität zu implementieren.
  • verfügt über eine Schnittstelle, über die Clients auf einheitliche Weise auf ihre Funktionen zugreifen können.
  • kann problemlos mit einem anderen Modul verbunden werden, das seine Schnittstelle erwartet.
  • ist normalerweise verpackt in einer einzigen Einheit, so dass es einfach bereitgestellt werden kann.

Dapper.net kapselt beispielsweise den Datenbankzugriff. Es verfügt über eine API, um auf seine Funktionalität zuzugreifen. Es handelt sich um eine einzelne Datei, die in einen zu erstellenden Quellbaum eingefügt werden kann.

Das Konzept des Moduls basiert auf einem modularen Programmierparadigma, das befürwortet, dass Software aus separaten, austauschbaren Komponenten bestehen sollte, die als Module bezeichnet werden, indem das Programm aufgeschlüsselt wird Funktionen in Module, von denen jedes eine Funktion erfüllt und alles enthält, was dazu erforderlich ist.

Kommentare

  • , wenn wir jeweils eine Reihe von Anforderungen haben Anforderung kann als Modul betrachtet werden? Beispiel: Die Anforderung " Hinzufügen eines Mitarbeiters " kann ein Modul sein?
  • Nein oder es hängt davon ab. Programmfunktionen sollten in zusammenhängende Einheiten unterteilt werden. Wenn die Anforderungen auf diese Weise aufgeschlüsselt werden können, kann ja sein. Aber ich habe ' so etwas noch nicht gesehen. Außerdem sollte " Hinzufügen eines Mitarbeiters " kein Kandidat für ein Modul sein. Normalerweise sind Module übergeordnete Strukturen, die Programme in logisch zusammenhängende Einheiten zerlegen.

Antwort

Das Modul ist möglicherweise überladen Begriff, so sehr, dass Wikipedia ihn unter dem Begriff Modulare Programmierung beschreibt, wenn es um seine Verwendung in Bezug auf Software geht. Sie diskutieren es im Sinne einer strukturierten Programmierung, die auf einem Top-Down-Design-Ansatz basiert. Schlüsselmerkmale der Modularität im Zusammenhang mit der Verwendung einer niedrigen -Kopplung und einer hohen -Kohäsion .

Meine Verwendung war, dass in einer Sprache wie C oder sogar C ++ ein Modul mit dem Definieren einer separat kompilierten Einheit aus einer Quelldatei (.c oder .cpp) und normalerweise einer zugeordneten Headerdatei (.h) zusammenhängt. Andere Sprachen verwenden das Modul als Beschreibung, und die Sprache Modula-2 stellt die Strukturierung der Module in ihrem Namen und ihrer Herangehensweise in den Vordergrund.

Historisch gesehen hat das Modul einige andere Auswirkungen, wie sie in der D.L. Parnas paper „Zu den Kriterien, die beim Zerlegen von Software in Module verwendet werden sollen“ . Er befasst sich hauptsächlich mit den Vorteilen des Ersetzens der funktionalen Zerlegung durch eine datenorientierte Zerlegung, was ein großer Schritt in Richtung unseres gegenwärtigen Standes der Technik war, der objektorientierten Zerlegung.

Objektorientierte Sprachen sind um Klassen herum organisiert, daher ist der Begriff Modul in diesem Kontext möglicherweise weniger wichtig und weniger präzise.

Antwort

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 gekoppelte Funktionen bietet. Module definieren und erzwingen logische Grenzen in Ihrem Code.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.