Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmosy Programacion
Algoritmosy Programacion
TOP DOWN.
El diseño top-Down fue promovido en la década de 1970 por los investigadores de IBM
Harlan Mills y Niklaus Wirth. Mills desarrolló los conceptos de programación estructurada
para usos prácticos y los probó en un proyecto en 1969 para automatizar el índice de la
morgue del New York Times. El éxito administrativo e ingenieril del proyecto hicieron que
el enfoque top-Down se esparciera por IBM y por el resto de la industria de los
computadores. Niklaus Wirth, que entre sus logros está el desarrollo del lenguaje de
programación Pascal, escribió el artículo Programa Development by Stepwise Refinement,
que tuvo mucha influencia. Los métodos top-Down fueron favorecidos en la ingeniería de
software hasta que llegó la programación orientada a objetos a finales de los 1980s.
En el modelo top-Down se formula un resumen del sistema, sin especificar detalles. Cada
parte del sistema se refina diseñando con mayor detalle. Cada parte nueva es entonces
redefinida, cada vez con mayor detalle, hasta que la especificación completa es lo
suficientemente detallada para validar el modelo. El modelo top-Down se diseña con
frecuencia con la ayuda de "cajas negras" que hacen más fácil cumplir requisitos aunque
estas cajas negras no expliquen en detalle los componentes individuales.
22/02/44 ALGORITMOS Y PROGRAMACION
BOTTOM- UP
En contraste, en el diseño bottom-up las partes individuales se diseñan con detalle y luego
se enlazan para formar componentes más grandes, que a su vez se enlazan hasta que se
forma el sistema completo. Las estrategias basadas en el flujo de información "bottom-
up" se antojan potencialmente necesarias y suficientes porque se basan en el
conocimiento de todas las variables que pueden afectar los elementos del sistema.
22/02/44 ALGORITMOS Y PROGRAMACION
MODULAR
El concepto básico del diseño modular es muy simple. Consiste en dividir un programa en
módulos que puedan ser analizados, programados y depurados por separado. La máxima
que rige esta filosofía es: Divide y vencerás
Las rutinas o módulos se pueden usar mediante invocación varias veces en el mismo
programa o en otros con lo que en el primer paso se evita repetir código, y en el segundo
se amortiza el esfuerzo invertido en su desarrollo
Disminuir la complejidad
Aumentar la claridad y fiabilidad
Disminuir el coste de desarrollo
Propiciar la división del trabajo
Facilitar las ampliaciones y modificaciones del programa, con nuevos módulos
Localizar problemas y desajustes de manera clara en un módulo determinado
22/02/44 ALGORITMOS Y PROGRAMACION
PROGRAMACION ESTRUCTURADA
Para programar cada módulo individual es necesario aplicar también técnicas que nos
faciliten la labor y nos aseguren al máximo la corrección y adecuación del producto final.
Los módulos deben estar dotados de una estructura interna sólida y se deben minimizar al
máximo los errores humanos. Este es el objetivo de la programación estructurada,
presentándose por tanto como el complemento ideal al diseño modular. Es difícil dar una
definición de lo que es en sí pero podríamos hablar de una:
Técnica de construcción de programas que utilizan al máximo los recursos del lenguaje,
limitan el número de estructuras aplicables a la construcción de algoritmos y presenta una
serie de reglas que coordinan el desarrollo de las diferentes fases de la programación.