UNIDAD CUATRO

TECNICAS DE DISEÑO

La programación estructurada es el conjunto de técnicas para desarrollar programas fáciles de escribir, verificar, leer (legibles por el usuario) y mantener (modificables).

Se puede concretar mas la definición diciendo que la programación estructurada es el conjunto de técnicas de programación que incluye:

Þ  Un numero limitado de estructuras de control.

Þ  Diseño descendente.

Þ  descomposición modular, con independencia de los módulos.

4.1   TOP DOWN

Técnica top-down

            -Este método consiste en dividir los problemas en subproblemas mas sencillos para conseguir una solución mas rápida. El diseño descendente es un  método para resolver el problema que posteriormente se traducirá a un lenguaje comprensible por la computadora.

 


El diseño descendente (top-down) es el proceso mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos de refinamiento. La metodología descendiente consiste en efectuar una relación entre las sucesivas etapas de estructuración de modo que se relacionen unas con otras mediante entradas y salidas de información. es decir, se descompone el problema en etapas o estructuras jerárquicas, 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 años del estilo de programación que los elementos funcionales de un programa no deben ser demasiado grandes. Si un cierto componente de un programa crece más allá de la etapa donde está fácilmente comprensible, se convierte en una masa de la complejidad que encubre errores tan fácilmente 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 más grande es el programa, más deben ser divididas. ¿Cómo usted divide un programa? El acercamiento tradicional se llama diseño de arriba hacia abajo: usted dice que "el propósito 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, "etcétera. Este proceso continúa hasta que el programa entero tiene el nivel derecho del granularity -- cada parte bastante grande hacer algo substancial, pero bastante pequeño para ser entendido como sola unidad.

Los programadores experimentados del lisp se dividen encima de sus programas diferentemente. Así como diseño de arriba hacia abajo, siguen un principio que se podría llamar diseño bottom-up -- cambiando la lengua al juego el problema. En el lisp, usted apenas no anota su programa hacia la lengua, usted también construye la lengua para arriba hacia su programa. Pues usted está escribiendo un programa usted puede pensar "deseo que el lisp tenía tal-y-tal un operador." Usted va tan escribirlo. Usted realiza luego que eso usar al nuevo operador simplificaría el diseño de otra parte del programa, etcétera. La lengua y el programa se desarrollan juntos. Como la frontera entre dos estados que guerrean, el límite entre la lengua y el programa se dibuja y el redrawn, hasta él viene eventual reclinarse a lo largo de las montañas y de los ríos, las fronteras naturales de su problema. En el extremo su programa mirará como si la lengua hubiera sido diseñada para ella. Y cuando la lengua y el programa caben uno otro bien, usted termina para arriba con el código que es claro, pequeño, y eficiente.

Es digno de acentuar que el diseño 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 monolítico, usted conseguirá una lengua más grande con operadores más abstractos, y un programa más pequeño escrito en él. En vez de un lintel, usted conseguirá un arco.

En código típico, una vez que usted abstraiga fuera de las piezas que son simplemente contabilidad, se deja qué es mucho más corto; cuanto más 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 más del trabajo, los programas bottom-up de las producciones del diseño que son más pequeños y más ágiles. Un programa más corto no tiene que ser dividido en así que muchos componentes, y pocos componentes significan los programas que son más fáciles de leer o de modificarse. Pocos componentes también significan pocas conexiones entre los componentes, y así menos ocasión para los errores allí. Mientras que los diseñadores industriales se esfuerzan reducir el número de piezas móviles en una máquina, los programadores experimentados del lisp utilizan diseño bottom-up para reducir el tamaño y complejidad de sus programas.
  2. El diseño bottom-up promueve la reutilización del código. Cuando usted escribe dos o más programas, muchas de las utilidades que usted escribió para el primer programa también serán útiles en el tener éxito. Una vez que usted haya adquirido un substrato grande de utilidades, escribir un nuevo programa puede tomar solamente una fracción del esfuerzo que requeriría si usted tuvo que comenzar con el lisp crudo.
  3. El diseño bottom-up hace programas más fáciles leer. Un caso de este tipo de abstracción pide que el lector entienda a operador de uso general; un caso de la abstracción funcional pide que el lector entienda un subprograma special-purpose.
  4. Porque le hace siempre estar en el puesto de observación para los patrones en su código, las ayudas bottom-up de trabajo para clarificar sus ideas sobre el diseño de su programa. Si dos componentes distantes de un programa son similares en forma, le conducirán a notar la semejanza y quizás a reajustar el programa de una manera más simple.

El diseño bottom-up es posible a cierto grado en idiomas con excepción del lisp. Siempre que usted vea funciones de biblioteca, el diseño bottom-up está sucediendo. Sin embargo, el lisp le da energías mucho más amplias en este departamento, y aumentar la lengua desempeña un papel proporcionalmente más grande en estilo del lisp -- tanto de modo que el lisp no sea justo una diversa lengua, solamente una diversa manera entera de la programación.

 

4.3    WARNIER

Temario
Hosted by www.Geocities.ws
GridHoster Web Hosting
1