Index

5. Problemlösetechniken

Module (1)


 

a) Top-Down-Entwurf

b) Bottom-Up-Entwurf

Bereits bei der Einführung der Algorithmen wurde angesprochen, dass eine Lösungsstrategie darin besteht, das Problem über mehrere Stufen immer wieder in Teilprobleme zu zerlegen, bis diese überschaubar werden und sich schließlich Lösungen finden lassen.
In der Informatik hat sich für diese Technik der Begriff "Top-Down-Entwurf" eingebürgert. Ausgedrückt wird diese Methode auch in dem bekannten Satz "teile und herrsche", also gewissermaßen unterteile das Problem solange, bis du es beherrschst!

Natürlich muss eine Programmiersprache hierfür Techniken bereitstellen, die es ermöglichen, ein Programm in Teile zu zerlegen. Genauer handelt es sich hier um Teilprogramme, die selbständig in einer evtl. nötigen Testumgebung geprüft werden können. Die anderen Teilprogramme werden für das einzelne Teilprogramm nicht benötigt.

Der Vorteil besteht darin, dass jedes Teilprogramm (Modul) für sich gestestet werden kann und beim "Zusammenbau" nur noch auf die Kommunikation der Module untereinander geachtet werden muss. Hierzu müssen Schnittstellen definiert werden, welche Daten und evtl. Anweisungen an das Modul weiterleiten und zurückliefern.

Module bieten einen weiteren Vorteil:
Hat man einmal ein Problem gelöst und stelt sich dieses als Teil in einem anderen Problem, so kann auf das bereits erzeugte Modul zurückgegriffen werden. Man muss also ein bestimmtes (Teil-)Problem nicht mehrmals lösen.

Bereits vorhandene Module können also in andere Programme integriert werden. In deisem Fall spricht man auch vom "Bottum-Up-Entwurf".

Heute sorgt man dafür, dass ein Modul seine Daten selbst verwaltet, und ein Zugriff, sei es schreibend oder lesend, von außen nur über Kontrollmechanismen des Moduls selbst erfolgen kann.
Derartige Module nennt man auch Objekte.
In der objektorientierten Programmierung (OOP) beschäftigen wir uns mit dieser Technik. Die OOP geht allerdings weit über die reine Zerlegung eines Problems in Teilprobleme hinaus. Das Augenmerk ist mehr auf die Wiederverwendbarkeit eines Objektes in beliebiger Umgebung gerichtet.

[Index] [Fortsetzung/Module 2]


Autor: Jürgen Dehmer
Letzte Änderung: