Por favor, activa JavaScript y desactiva tu adblock para este sitio

El Javatar

Blog dedicado a la Programación en Java, C, PHP, Phyton, HTML, SQL y Mucho Más

lunes, 28 de abril de 2014

Paradigmas de Programación III: Programación Modular

Paradigmas de Programación III - Programación Modular
Hola, aquí estamos de nuevo en la tercera entrega de esta serie de artículos donde estoy tratando de despejar esas nubes que muchos se crean cuando oyen el concepto de paradigmas de programación. Hasta el momento hemos visto una clasificación que dimos en el primer artículo, y vimos la programación estructurada en el segundo artículo, el cual habíamos clasificado como Imperativo.

Siguiendo con esta misma línea, seguiremos hablando de los paradigmas que pueden considerarse siguen la filosofía de la programación imperativa, y en esta ocasión el turno es para la programación modular, la cual basa sus principios escencialmente en la división del código.

Según Wikipedia, la programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable y se presenta históricamente como una evolución de la programación estructurada para solucionar problemas de programación más grandes y complejos de lo que ésta puede resolver.

La filosofía de este paradigma se basa en el concepto acuñado a los romanos que decía "divide y vencerás", ya que la programación modular consiste inicialmente en dividir un problema complejo en varios subproblemas más simples, y de ser necesario, éstos a su vez en subproblemas aún más simples para de esta forma obtener soluciones lo suficientemente simples para implementar en algún lenguaje de programación. A esto es a lo que se le conoce como refinamiento sucesivo, divide y vencerás o análisis descendente.

Lo solución a algún problema aplicada en un lenguaje de programación usando la filosofía de la programación modular consistiría entonces en dividir un programa en subconjuntos de código o módulos, los cuales corresponden a cada una de las partes de un programa que resuelve uno de los subproblemas en los que se divide el problema complejo planteado inicialmente.

De esta forma se logra dotar al código de legibilidad, flexibilidad y reutilización durante su manipulación y, además favorece el trabajo en equipo durante el desarrollo de un mismo proyecto. También es importante considerar que la programación modular es tal vez el principal precursor de otros paradigmas orientados a la modularidad y reutilización de código.

Pero bueno, ahora vamos a definir entonces las características que describen concretamente a un módulo, ya que en la práctica se les suele tomar como sinónimos de procedimientos y funciones. Sin embargo, un módulo no es necesaria ni estrictamente una función, ya que él mismo (el módulo) puede contener muchas de ellas. Por lo tanto, hablando en el sentido de "programación modular", el término módulo no debe ser confundido con términos como función o procedimiento.

Características de la Programación Modular

1. Tamaño pequeño: De esta forma el impacto de un cambio puede ser perfectamente aislado.

2. Independencia modular: Cuanto mayor es la independencia de los módulos y los procedimientos y funciones, más sencillo es trabajar con él. El diseño debe reducir la necesidad de compartir ficheros, datos, dispositivos y llamadas desde o hacia otros módulos y procedimientos y funciones.

3. Características de caja negra: Visión exclusiva de la funcionalidad de un módulo o procedimiento/función en base a sus entradas y salidas sin tener en cuenta como se realiza el proceso.

4. Modelo conceptual: Un diseño es más fácil de mantener si el modelo de diseño empleado se ha basado en conceptos lógicos de organización, los cuales sean más familiares y comprensibles para el personal de mantenimiento.

5. Aislamiento de los detalles (encapsulación): En un sistema existen partes que reflejan la filosofía y otras que reflejan los detalles. Ambas partes deben diseñarse por separado para evitar que una variación en los detalles afecte a la filosofía del sistema. 

Ejemplo de Programación Modular en Pseudocódigo


Finalmente y para concluir, podemos recurrir a la programación modular en caso de querer reutilizar el código, trabajar en equipo y/o en proyectos grandes, de forma completamente didáctica y/o más legible o enfocar un programa a su posterior y fácil depuración y mantenimiento.

Fuente:
http://linceus.blogspot.com.es/2014/02/paradigmas-de-la-programacion-iii.html

Bueno, esto es todo por el momento pero recuerden que en caso de tener inquietudes me las pueden hacer saber a través de los comentarios. Por ahora me despido y nos vemos en el próximo artículo de la serie donde veremos la famosa Programación Orientada a Objetos (POO).

==> Artículo 4: Paradigmas de Programación IV: Programación Orientada a Objetos

No hay comentarios.:

Publicar un comentario