1.1.3 Programación Modular

La programación modular consiste en la descomposición de un programa en trozos más pequeños denominados módulos o subprogramas, en el que cada uno de ellos se encargara de llevar a cabo una tarea concreta y bien definida, y se agrupara según su funcionalidad. Cada uno de estos módulos se analizara y codificara por separado.

La  estructura de un programa modular constara de un módulo principal desde el que se llamara al resto de los módulos. El módulo principal recibe el control al inicio de la ejecución del programa. Cuando se invoca un módulo concreto (a través de su nombre y parámetros), el control del programa se pasara al módulo.  Este módulo mantendrá el control hasta que no se finalice su ejecución en cuyo momento devolverá el control a la instrucción siguiente a la que realizo la llamada.

Cada uno de estos módulos puede hacer a su vez llamadas a otros módulos que siempre devolverán el control al módulo desde el que fueron llamados, pone freno a la redundancia del código, ya que aíslan las secuencias de instrucciones más usadas y que se repiten, se les da un nombre y cuando se quieran usar, simplemente se invocara dicho nombre en el lugar donde sea necesario.

Las características que definen estos módulos son las siguientes:


  • Cada módulo deberá tener asignado un nombre propio que le diferencie de los otros y que será usado para invocarlos.
  • Se puede transmitir información entre el módulo principal y el resto de los módulos a través de parámetros.
  • Cada módulo puede ser programado y compilado por separado, y almacenado posteriormente en librerías.
  • Cada módulo consta de dos partes: la cabecera, que es donde aparece el nombre y los datos que se le pasan o genera, y el cuerpo o estructura interna, que es donde se desarrolla el código.
  • Permite trabajar en equipo. Cada programador puede desarrollar un módulo diferente y posteriormente  enlazarlos.  
  • El tamaño del módulo debe encontrarse entre 20 y 200 líneas de código.
  • Los módulos con menos de 20 líneas de código pueden disminuir la eficiencia del programa.
  • Los módulos que contienen as de 200 líneas de código son difíciles de verificar y mantener.
  • Un módulo debe realizar una sola tarea y contenerla en su totalidad.
  • Un requisito necesario para el desarrollo de código modular es la existencia de un mecanismo que permita el intercambio de datos entre módulos. En ensamblador existen técnicas que permiten este intercambio.