Abordagem Top-Down vs Abordagem Bottom-Up
Abordagem de cima para baixo e abordagem de baixo para cima são duas abordagens comumente empregadas ao projetar qualquer projeto. Poucos entendem as diferenças entre essas duas abordagens e este artigo pretende destacar os recursos de ambas para tornar mais fácil para o leitor apreciar os dois conceitos em sua totalidade.
Enquanto o design de cima para baixo começa do abstrato para finalmente alcançar um design sólido, a abordagem de baixo para cima é exatamente o inverso, pois começa com o design concreto para chegar à entidade abstrata. Quando se trata de projetar novos sistemas, é a abordagem de cima para baixo que é mais comumente empregada. Por outro lado, no caso de engenharia reversa, quando o objetivo é entender o design de outra pessoa, é utilizada a abordagem de baixo para cima.
A abordagem de baixo para cima prossegue com o projeto do módulo ou subsistema de nível mais baixo, para o módulo ou subsistema mais alto. É preciso um gráfico de estrutura para conhecer as etapas envolvidas na execução. Também são necessários drivers para concluir esse tipo de projeto.
A abordagem de cima para baixo começa com o módulo de nível superior e progride para baixo até o módulo de nível mais baixo. Na realidade, porém, nenhum sistema é seguido rigidamente e os designers tendem a alternar entre essas duas abordagens conforme a necessidade.
Existem prós e contras de ambas as abordagens. Se falamos das vantagens de uma abordagem de cima para baixo, ela é fácil de visualizar, proporciona uma sensação de completude e é fácil avaliar o progresso em qualquer estágio. No lado negativo, sendo uma abordagem orientada à interface do usuário, há chances de lógicas de negócios redundantes.
Por outro lado, em uma abordagem de baixo para cima, o usuário tem as vantagens de uma lógica de negócios sólida, capacidade de escrever bons testes de unidade e a facilidade com que as mudanças podem ser gerenciadas e modificadas. Suas desvantagens são que é necessário muito esforço para escrever casos de teste e o progresso não pode ser verificado facilmente no estágio intermediário.
Resumo
• De cima para baixo e de baixo para cima são duas abordagens para projetar
• Ambos são utilizados por designers
• Ambas as abordagens têm seus prós e contras
• Bottom-up é comumente aplicado em engenharia reversa, enquanto para um novo projeto, a abordagem de cima para baixo é geralmente usada