Arreglo Unidimensionales

Arreglo Unidimensionales

MODULARIDAD

DEFINICIÓN:

Módulo: Un módulo que se supone que representa una función lógica es una secuencia léxicamente continúa de instrucciones que se encuentra limitado por elementos de fronteras y además se caracteriza por disponer de un nombre o identificador

Módulo: Es aquél que está constituido por una o varias instrucciones físicamente contiguas y lógicamente encadenadas, las cuales se pueden referenciar mediante un nombre y pueden ser llamadas desde diferentes puntos de un programa.

Un módulo puede ser:

Un programa Una función Una subrutina (o procedimiento) La modularidad se basa en la descomposición de un problema en una serie de sub problemas; dividiéndolo en módulos que resultan de segmentar el problema en funciones lógicas que son perfectamente diferenciadas. Esta división exige la presencia de un módulo denominado módulo de base o principal a objeto de que controle y se relacione con los demás.

Es una técnica de programación que todavía se utiliza tanto para la construcción de algoritmos computacionales básicos así como apoyo al desarrollo de sistemas de gestión (en el diseño de diagramas modulares).

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.

Objetivos: Descomponer el sistema en módulos: - Los grupos deben maximizar el enlace y minimizar el acoplamiento.

Determinar las relaciones entre módulos: - Identificar y especificar las dependencias entre módulos.

- Determinar la forma de comunicación entre módulos (variables llamadas a funciones, memoria compartida, paso de mensajes)

Especificar las interfaces de los módulos: - Facilita la prueba independiente entre los módulos.

- Mejora la comunicación e integración del grupo

Características: Permite reducir la complejidad global del sistema descentralizado; ejm. Divide y vencerás. Mejora la escalabilidad y la productividad (los módulos pueden desarrollarse independientemente por varias personas) Principios para asegurar diseños modulares: Soporte de lenguaje para unidades modulares. Los módulos deben corresponder a unidades sintácticas del lenguaje utilizado.

Pocas interfaces: Cada módulo debe comunicarse con tan pocos como sea posible.

Interfaces pequeñas (Acoplamiento débil): Si dos módulos se comunican, deben intercambiar la menor información posible..

Interfaces explícitas: Cuando dos módulos se comunican, debe estar claro en el texto de uno o de ambos.

Ocultación de la información: Toda la información sobre un módulo debe ser privada al módulo, a menos que se haya declarado específicamente como pública.

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.

Segmento: El segmento a diferencia del módulo se caracteriza porque no dispone de un nombre o identificador


Mis sitios nuevos:
Emprendedores
Politica de Privacidad