You are on page 1of 10

Top DAWN

Ejemplo

UNIDAD CUATRO TECNICAS DE DISEO


La programacin estructurada es el conjunto de tcnicas para desarrollar programas fciles de escribir, verificar, leer (legibles por el usuario) y mantener (modificables). Se puede concretar mas la definicin diciendo que la programacin estructurada es el conjunto de tcnicas de programacin que incluye: Un numero limitado de estructuras de control. Diseo descendente. descomposicin modular, con independencia de los mdulos. 4.1 TOP DOWN Tcnica top-down

-Este mtodo consiste en dividir los problemas en subproblemas mas sencillos para conseguir una solucin mas rpida. El diseo descendente es un mtodo para resolver el problema que posteriormente se traducir a un lenguaje comprensible por la computadora.

El diseo descendente (top-down) es el proceso mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos de refinamiento. La metodologa descendiente consiste en efectuar una relacin entre las sucesivas etapas de estructuracin de modo que se relacionen unas con otras mediante entradas y salidas de informacin. es decir, se descompone el problema en etapas o estructuras jerrquicas, de forma que se puede considerar cada estructura desde dos puntos de vista; que hace? y como lo hace? 4.2 BOTTOM UP

Bottom

up

Es un principio de muchos aos del estilo de programacin que los elementos funcionales de un programa no deben ser demasiado grandes. Si un cierto componente de un programa crece ms all de la etapa donde est fcilmente comprensible, se convierte en una masa de la complejidad que encubre errores tan fcilmente como una ciudad grande encubre a fugitivos. Tal software ser duro de leer, duro probar, y duro eliminar errores. De acuerdo con este principio, un programa grande se debe dividir en pedazos, y cuanto ms grande es el programa, ms deben ser divididas. Cmo usted divide un programa? El acercamiento tradicional se llama diseo de arriba hacia abajo: usted dice que "el propsito del programa es hacer estas siete cosas, as que lo divido en siete subprogramas

importantes. El primer subprograma tiene que hacer estas cuatro cosas, as que alternadamente tendr cuatro de sus propios subprogramas, "etctera. Este proceso contina hasta que el programa entero tiene el nivel derecho del granularity -- cada parte bastante grande hacer algo substancial, pero bastante pequeo para ser entendido como sola unidad. Los programadores experimentados del lisp se dividen encima de sus programas diferentemente. As como diseo de arriba hacia abajo, siguen un principio que se podra llamar diseo bottom-up -- cambiando la lengua al juego el problema. En el lisp, usted apenas no anota su programa hacia la lengua, usted tambin construye la lengua para arriba hacia su programa. Pues usted est escribiendo un programa usted puede pensar "deseo que el lisp tena tal-y-tal un operador." Usted va tan escribirlo. Usted realiza luego que eso usar al nuevo operador simplificara el diseo de otra parte del programa, etctera. La lengua y el programa se desarrollan juntos. Como la frontera entre dos estados que guerrean, el lmite entre la lengua y el programa se dibuja y el redrawn, hasta l viene eventual reclinarse a lo largo de las montaas y de los ros, las fronteras naturales de su problema. En el extremo su programa mirar como si la lengua hubiera sido diseada para ella. Y cuando la lengua y el programa caben uno otro bien, usted termina para arriba con el cdigo que es claro, pequeo, y eficiente. Es digno de acentuar que el diseo bottom-up no significa la escritura justa el mismo programa en una diversa orden. Cuando usted trabaja bottom-up, usted termina generalmente para arriba con un diverso programa. En vez de un solo, programa monoltico, usted conseguir una lengua ms grande con operadores ms abstractos, y un programa ms pequeo escrito en l. En vez de un lintel, usted conseguir un arco. En cdigo tpico, una vez que usted abstraiga fuera de las piezas que son simplemente contabilidad, se deja qu es mucho ms corto; cuanto ms arriba usted acumula la lengua, menos la distancia que usted tendr que viajar de la tapa abajo ella. Esto trae varias ventajas:

1. Haciendo la lengua haga ms del trabajo, los programas bottom-up de las


producciones del diseo que son ms pequeos y ms giles. Un programa ms corto no tiene que ser dividido en as que muchos componentes, y pocos componentes significan los programas que son ms fciles de leer o de modificarse. Pocos componentes tambin significan pocas conexiones entre los componentes, y as menos ocasin para los errores all. Mientras que los diseadores industriales se esfuerzan reducir el nmero de piezas mviles en una mquina, los programadores experimentados del lisp utilizan diseo bottom-up para reducir el tamao y complejidad de sus programas. 2. El diseo bottom-up promueve la reutilizacin del cdigo. Cuando usted escribe dos o ms programas, muchas de las utilidades que usted escribi para el primer programa tambin sern tiles en el tener xito. Una vez que usted haya adquirido un substrato grande de utilidades, escribir un nuevo programa puede tomar solamente una fraccin del esfuerzo que requerira si usted tuvo que comenzar con el lisp crudo.

3. El diseo bottom-up hace programas ms fciles leer. Un caso de este tipo de


abstraccin pide que el lector entienda a operador de uso general; un caso de la abstraccin funcional pide que el lector entienda un subprograma special-purpose. 4. Porque le hace siempre estar en el puesto de observacin para los patrones en su cdigo, las ayudas bottom-up de trabajo para clarificar sus ideas sobre el diseo de su programa. Si dos componentes distantes de un programa son similares en forma, le conducirn a notar la semejanza y quizs a reajustar el programa de una manera ms simple.

El diseo bottom-up es posible a cierto grado en idiomas con excepcin del lisp. Siempre que usted vea funciones de biblioteca, el diseo bottom-up est sucediendo. Sin embargo, el lisp le da energas mucho ms amplias en este departamento, y aumentar la lengua desempea un papel proporcionalmente ms grande en estilo del lisp -- tanto de modo que el lisp no sea justo una diversa lengua, solamente una diversa manera entera de la programacin.

You might also like