Refinamiento progresivo

Es una técnica de análisis y diseño de algoritmos que se basa en la división del problema principal en problemas más simples. Partiendo de problemas más simples se logra dar una solución más efectiva, ya que el número de variables y casos asociados a un problema simple es más fácil de manejar que el problema completo.

Esta técnica se conoce como Top-Down y es aplicable a la optimización del desempeño y a la simplificación de un algoritmo.

Top Down (arriba – abajo)

La técnica top down, o diseño descendente como también se le conoce, consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al algoritmo. Consiste en efectuar una relación entre las etapas de la estructuración de forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de datos.

Este diseño consiste en una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa.

La utilización de esta técnica tiene los siguientes objetivos:

– Simplificación del algoritmo y de los sub-algoritmos de cada descomposición.
– Las diferentes partes del problema pueden ser detalladas de modo independiente e incluso por diferentes personas (división del trabajo).
– El programa final queda estructurado en forma de bloque o módulos, lo que hace más sencilla su lectura y mantenimiento (integración).
– Se alcanza el objetivo principal del diseño ya que se parte de este y se va descomponiendo el diseño en partes más pequeñas pero siempre teniendo en mente dicho objetivo.

Fuente: Apunte Análisis, diseño e implantación de algoritmos de la facultad de contaduría y administración, UNAM