Dr. Christian Maurer, FU Berlin

Lehrprojekte

Allgemeines zur Implementierung

Bei der Implementierung eines Moduls erfolgt zunächst die Festlegung des konkreten Datentyps, der den durch den Modul definierten abstrakten Datentyp modelliert, oder die konkrete Repräsentation des Datenobjekts, das Träger für die Operationen auf dem abstrakten Datenobjekt ist.

In der Regel handelt es sich dabei um einen der folgenden Fälle

Die Implementierungen der Prozeduren des Moduls sind dann im wesentlichen Standardalgorithmen, die als Zugriffsprozeduren auf Variable des jeweiligen Datentyps bekannt sind. Diese Arbeit beruht auf den im Zyklus "Algorithmen und Programmierung" erworbenen Kenntnissen und dient der Vertiefung der dort erworbenen Fertigkeiten und Fähigkeiten.

Voraussetzung für die Integration der Moduln zum Gesamtsystem ist die rigide Einhaltung der Spezifikationen bei der Implementierung, und ein möglichst umfassender Test der Implementierungen gegen ihre Spezifikation unter systematischer Berücksichtigung der auftretenden Grenzfälle.

Dazu werden in der Regel geeignete Testumgebungen geschrieben, wobei noch nicht implementierte importierte Moduln durch geeignete Datentypen (der Einfachheit halber meist Zeichen, Zeichenketten oder Zahlen) ersetzt werden.

Wenn sich bei der Implementierung eines Moduls Entwurfsfehler (meist in Form von Unvollständigkeiten, mangelnder Eindeutigkeit oder Widersprüchlichkeiten) zeigen, werden die Spezifikation im Einvernehmen mit allen Klientenmoduln (auf jeden Fall nur nach Rücksprache mit der Projektleitung!) korrigiert und die beteiligten Implementierungen den Änderungen angepaßt.

Die Vollständigkeit und Widerspruchsfreiheit des ganzen Systems zeigt sich nach dem Zusammenbau des Systems durch das Verbinden ("Linken") aller Implementierungen.

Bei konsequenter Arbeit in allen vier Phasen des Softwarelebenszyklus nach allen in dieser Dokumentation vorgestellten Richtlinien werden dabei keine grundsätzlichen Schwierigkeiten auftreten, sondern nur Fehler, die (nachweisbar als klare Verstöße gegen angeführte Prinzipien) in aller Regel leicht lokalisierbar und damit schnell behebbar sind.

Die anschließende Benutzung des Systems gibt meist unmittelbar Anlaß zu Korrektur- und Verbesserungsvorschlägen. In Verbindung mit den ins Auge gefaßten Erweiterungen des Systems zeichnet sich damit eine Revision des Systems ab, die - beginnend mit einer erweiterten Systemanalyse - ein Durchlaufen einer weiteren Runde des Softwarelebenszyklus darstellt.


Christian Maurer, 10.5.1999