Curso de COBOL desde Cero

Curso de COBOL desde Cero

Carlos S谩nchez Botello

Carlos S谩nchez Botello

Top-down y modularizaci贸n

23/24

Lectura

Top-down

Una t茅cnica com煤n para hacer los programas m谩s sencillos de leer y m谩s eficientes es la programaci贸n top-down (de arriba hacia abajo).

El t茅rmino implica que el dise帽o adecuado del programa se logra mejor desarrollando los m贸dulos o procedimientos principales antes que el resto de los m贸dulos. Por lo tanto, en un programa top-down, las rutinas o p谩rrafos principales se codifican primero y son seguidas por las rutinas intermedias y al final las rutinas menores.

Al codificar los m贸dulos de esta manera de arriba hacia abajo, se presta una atenci贸n primordial a la organizaci贸n general del programa. Los detalles se aplazan o se guardan para los m贸dulos menores, que se codifican en 煤ltimo lugar.

La programaci贸n de top-down (arriba hacia abajo) es an谩loga a dise帽ar un trabajo final desarrollando primero un esquema, que se vuelve cada vez m谩s detallado solo despu茅s de que se ha establecido la organizaci贸n o estructura principal. Esta t茅cnica top-down estandarizada complementa el enfoque estructurado para lograr un dise帽o de programa eficiente.

Para visualizar correctamente los m贸dulos, estos deben representarse en una estructura de 谩rbol de m贸dulos o diagrama jer谩rquico, el cual es un diagrama usado para representar la jerarqu铆a de los m贸dulos:

  1. Un diagrama jer谩rquico o estructura de 谩rbol representa los m贸dulos del programa como cajas rectangulares e ilustra la relaci贸n entre m贸dulos con el uso de l铆neas que se conectan.

  2. Un m贸dulo es un segmento bien definido del programa que realiza una funci贸n espec铆fica. Un m贸dulo puede ser una escritura de encabezados, una lectura de archivos, un p谩rrafo de validaci贸n de error, etc.

Los lineamientos para la definici贸n del 谩rbol de m贸dulos:

  • Cada m贸dulo se representa como un 鈥渞ect谩ngulo o cajita鈥, tiene conectados hacia abajo los m贸dulos que dependen de 茅l exclusivamente.

  • En la parte inferior se representan sin estar conectados, los m贸dulos compartidos.

El siguiente ejemplo ilustra la relaci贸n entre los m贸dulos en un diagrama jer谩rquico:

En el diagrama anterior, de las letras A hasta la letra I, representan nombres de p谩rrafos que son ejecutados con el uso de la palabra PERFORM, como se muestra a continuaci贸n:

  1. .

.

PERFORM B.

.

.

PERFORM C.

.

.

.

PERFORM D.

  1. .

PERFORM E.

  1. .

.

.

El diagrama jer谩rquico s贸lo ilustra los m贸dulos ejecutados por otros m贸dulos. A diferencia del pseudoc贸digo o los diagramas de flujo, las instrucciones dentro de cada 鈥渞ect谩ngulo o cajita鈥 no son mostradas. Cada cajita representa un m贸dulo. Si un m贸dulo llama a otro m贸dulo, este es especificado en una caja separada.

Ventajas de un diagrama jer谩rquico o estructura de 谩rbol

  1. Ayuda a los programadores, analistas de sistemas, y a los usuarios a ver c贸mo se interrelacionan los m贸dulos.

  2. Ayuda a los programadores a depurar y modificar los programas.

  3. Ayuda a los l铆deres t茅cnicos a evaluar la eficiencia de los programas.

En resumen, la codificaci贸n de los m贸dulos de una manera jer谩rquica es llamada programaci贸n top-down.

Modularidad

Cada segmento bien definido de un programa debe ser codificado como un m贸dulo y ejecutado con la palabra reservada PERFORM. Los m贸dulos o p谩rrafos subordinados pueden ser codificados despu茅s de que la estructura principal o la l贸gica general del programa ha sido mapeada.

Las caracter铆sticas de la modularidad incluyen:

  • Dividir el programa en varios grupos de instrucciones COBOL llamadas m贸dulos o p谩rrafos.

  • Un m贸dulo puede contener varias instrucciones, algunas de las cu谩les pueden ser PERFORM.

  • Al iniciar el procesamiento del programa, el primero de los m贸dulos (llamado m贸dulo de control del programa) es ejecutado.

  • Un m贸dulo puede ser ejecutado desde uno o desde varios m贸dulos (ejecuci贸n recursiva)

  • Cada m贸dulo debe tener una sola funci贸n

  • La funci贸n de cada m贸dulo debe ser completa (Que no deje vac铆os a ser cubiertos por otro m贸dulo en otro punto de la ejecuci贸n del programa)

  • La divisi贸n de los m贸dulos debe ser de acuerdo con la estructura l贸gica del problema a resolver

  • La divisi贸n de los m贸dulos debe aislar los efectos de posibles modificaciones al programa

  • Un m贸dulo debe ser de un tama帽o que resulte comprensible de leer

  • Si la funci贸n del m贸dulo es muy extensa, este se subdivide en sub funciones, la funci贸n del m贸dulo original no se debe alterar

  • La definici贸n de cada m贸dulo del programa debe especificar claramente:

  • El nombre del m贸dulo

  • Cu谩l es la funci贸n que realiza el m贸dulo

  • Cu谩l es la interfaz externa con otros m贸dulos (que datos espera recibir y que datos devuelve)

Ya casi hemos llegado al final de este curso de COBOL. Acomp谩帽ame a la siguiente clase

Aportes 1

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

que grade este curso!!!