Características de un Módulo
Los módulos deben tener la máxima cohesión y el mínimo acoplamiento. Es decir, deben tener la máxima independencia entre ellos.
La salida del módulo debe ser función de la entrada, pero no de ningún estado interno. En la creación de los módulos deben cumplirse tres aspectos básicos: descripción, rendimiento y diseño.
En la descripción se definen las funciones y objetivos del programa. Para obtener el máximo rendimiento se ha de comprobar que el programa realice el proceso aprovechando al máximo todos los recursos de los que dispone. En cuanto al diseño, se debe comprobar la estructura que sigue el módulo, así como la estructura de los datos y la forma de comunicaciones entre los diversos y diferentes módulos.
Conforme se extiende el tamaño de los algoritmos, se hace más difícil su revisión, actualización y/o corrección.
Una política común para solventar este problema consiste en la modularización. Esto significa que el algoritmo se fragmenta en partes llamadas módulos. En realidad, es un método de diseño que tiende a dividir el problema, de forma lógica, en partes perfectamente diferenciadas que pueden ser analizadas, programadas y puestas a punto independiente.
Realmente la programación modular es un intento para diseñar programas, de forma tal que cualquier función lógica pueda ser intercambiada sin afectar a otras partes del programa.
Algunas ventajas de utilizar módulos son:
- Un programa modular es fácil de mantener y modificar.
- Un programa modular es más fácil de escribir y depurar (ejecutar, probar y poner a punto).
- Un programa modular es más fácil de controlar. El desglose de un problema en módulos permite encomendar los módulos más complejos a los programadores más experimentados y los más sencillos a los programadores nóveles.
- Posibilita el uso repetitivo de las rutinas en el mismo o en diferentes programas.
Desventajas del uso de módulos:
- No se dispone de algoritmos formales de modularidad, por lo que a veces los programadores no tienen claras las ideas de los módulos.
- La programación modular requiere más memoria y tiempo de ejecución.
Objetivos de la programación modular:
- Disminuir la complejidad.
- Aumentar la claridad y fiabilidad.
- Disminuir el coste.
- Aumentar el control del proyecto.
- Facilitar la ampliación del programa mediante nuevos módulos.
- Facilitar las modificaciones y correcciones al quedar automáticamente localizadas en un módulo.