Melhor resposta
A programação de cima para baixo se refere a um estilo de programação em que um aplicativo é construído começando com uma descrição de alto nível do que é é suposto fazer e dividir a especificação em partes cada vez mais simples, até que seja alcançado um nível que corresponda aos primitivos da linguagem de programação a ser usada.
Uma abordagem de cima para baixo (também conhecida como design gradual e, em alguns casos, usado como sinônimo de decomposição ) é essencialmente a quebra de um sistema para obter uma visão de seus subsistemas composicionais em uma forma de engenharia reversa. Em uma abordagem de cima para baixo, uma visão geral do sistema é formulada, especificando, mas não detalhando quaisquer subsistemas de primeiro nível. Cada subsistema é então refinado em detalhes ainda maiores, às vezes em muitos níveis de subsistema adicionais, até que toda a especificação seja reduzida a elementos básicos. Um modelo de cima para baixo geralmente é especificado com o auxílio de “caixas pretas”, que o tornam mais fácil de manipular. No entanto, as caixas pretas podem falhar em elucidar mecanismos elementares ou ser detalhadas o suficiente para validar o modelo de forma realista. A abordagem de cima para baixo começa com o quadro geral. A partir daí, ele se divide em segmentos menores.
Resposta
Também chamado de “refinamento gradual”, é uma técnica de desenvolvimento de software que impõe uma estrutura hierárquica ao design do programa. Ele começa definindo a solução no nível mais alto de funcionalidade e dividindo-a cada vez mais em pequenas rotinas que podem ser facilmente documentadas e codificadas. A programação de cima para baixo complica os testes. Notando que o executável existe até o final do desenvolvimento, para testar o que foi feito até agora, deve-se escrever stubs e a programação top-down tende a gerar módulos que são muito específico para o aplicativo que está sendo escrito, portanto, não muito reutilizável.