Risposta migliore
La programmazione top-down si riferisce a uno stile di programmazione in cui unapplicazione viene costruita partendo da una descrizione di alto livello di ciò che dovrebbe fare, e suddividere le specifiche in parti più semplici e più semplici, fino a raggiungere un livello che corrisponde alle primitive del linguaggio di programmazione da utilizzare.
Un approccio top-down (noto anche come stepwise design e in alcuni casi usato come sinonimo di decomposition ) è essenzialmente la scomposizione di un sistema per guadagnare comprensione dei suoi sottosistemi compositivi in un modo di ingegneria inversa. In un approccio dallalto verso il basso viene formulata una panoramica del sistema, specificando ma non dettagliatamente alcun sottosistema di primo livello. Ogni sottosistema viene quindi raffinato in modo ancora più dettagliato, a volte in molti livelli di sottosistema aggiuntivi, fino a quando lintera specifica viene ridotta agli elementi di base. Un modello top-down viene spesso specificato con lausilio di “scatole nere”, che ne facilitano la manipolazione. Tuttavia, le scatole nere potrebbero non riuscire a chiarire i meccanismi elementari o essere sufficientemente dettagliate da convalidare realisticamente il modello. Lapproccio dallalto verso il basso inizia con il quadro generale. Da lì si scompone in segmenti più piccoli.
Risposta
Chiamato anche “raffinamento graduale”, è una tecnica di sviluppo del software che impone una struttura gerarchica al design del programma. Inizia definendo la soluzione al massimo livello di funzionalità e scomponendola sempre di più in piccole routine che possono essere facilmente documentate e codificate. La programmazione top-down complica i test. Notare che leseguibile esiste fino alla fine dello sviluppo, quindi per testare ciò che è stato fatto finora, è necessario scrivere stub e la programmazione top-down tende a generare moduli che sono molto specifico per lapplicazione che si sta scrivendo, quindi non molto riutilizzabile.