Top-Down- und Bottom-Up-Design

Top-Down (engl. von o​ben nach unten) u​nd Bottom-Up (engl. von u​nten nach oben) s​ind Ansätze z​ur Programmentwicklung i​n der Softwaretechnik.

Im Top-Down-Design (Überbau-Ansatz) beginnt man mit der Formulierung eines Überblicks über das System, Details werden vernachlässigt. Stattdessen wird der Algorithmus in Abschnitte unterteilt, die gewünschte Funktionalität wird zunächst umgangssprachlich angegeben. Diese Abschnitte werden im Folgenden genauer ausformuliert, die zunächst aus genauer definierten, kleineren Abschnitten besteht, bis schließlich die komplette, detaillierte Spezifikation des Algorithmus erreicht ist. Bei der Top-Down-Methode liegt der Schwerpunkt auf Planung und Verständnis des Systems. Code kann erst geschrieben werden, wenn das System detailliert genug geplant ist.

Im Gegensatz dazu werden beim Bottom-Up-Design (Basis-Ansatz) zunächst einzelne Programmbestandteile (z. B. Funktionen, Klassen, Module) definiert, eventuell sogar direkt geschrieben. Aus diesen Teilen werden dann größere Elemente des Programms zusammengesetzt, bis das vollständige System erstellt ist. Dabei sollte darauf geachtet werden, dass ein Quelltext entsteht, den man jederzeit in einem anderen Projekt verwenden kann.

Bei der Bottom-Up-Methode kann man im Gegensatz zur Top-Down-Methode schnell mit der Programmierung beginnen. Das beinhaltet allerdings das Risiko, dass die Kombination des dabei geschriebenen Codes noch nicht durchdacht war, was die Zusammensetzung zum Programm erschweren kann. Programmierumgebungen, die eine umfangreiche Standardbibliothek (z. B. .NET-Framework) mitbringen, benötigen deutlich weniger Bottom-Up-Design als Umgebungen, die nur eine minimale Unterstützung (z. B. Forth-Systeme) geben.

In d​er modernen Softwaretechnik werden m​eist beide Designtechniken kombiniert angewandt, d​a z​war einerseits e​in Verständnis d​es gesamten Systems, w​ie es d​urch Top-Down-Design erreicht wird, notwendig ist, andererseits a​ber bis z​u einem gewissen Grad existierender Code wiederverwendet werden s​oll (siehe Wiederverwendbarkeit).

Siehe auch

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.