3 minute read

4.1. CONCEPTO

Next Article
AUTOEVALUACIÓN

AUTOEVALUACIÓN

4.1. CONCEPTO

Objetivo

Advertisement

El participante podrá definir el concepto de modularidad e identificará sus aplicaciones en los algoritmos.

Behrouz, en su libro titulado “Introducción a la ciencia de la computación” afirma que la modularidad significa la división de un proyecto grande en partes más pequeñas que pueden entenderse y manejarse más fácilmente, es decir la división de un programa grande en partes más pequeñas que pueden comunicarse entre sí. 34

En el mismo contexto, Weitzenfeld en su obra titulada “Ingeniería del software orientada a objetos con UML, Java e Internet” menciona que la modularidad permite dividir un sistema en componentes separados. Al contar con abstracciones de más alto nivel, la modularidad de un sistema se logra con base a componentes, de más alto nivel. Esto reduce el número final de componentes en un sistema y, a su vez, facilita su operación y mantenimiento.35

Badenas Carpio, ratifica que la modularidad posibilita la descomposición de un problema complejo en módulos más simples (análisis descendente). Además, proporciona la posibilidad de componer varios módulos ya escritos para otros fines permite construir nuevo software, de forma similar a como se utilizan funciones de bibliotecas en un lenguaje procedural.36

34 A. FOROUZAN, Behrouz. Introducción a la ciencia de la computación, de la manipulación de datos a la teoría de la computación. International Thomson Editores. México, pág. 200. 35WEITZENFELD, Alfredo. Ingeniería del software orientada a objetos con UML, Java e Internet. Thomson, México 2005. Pág.25 36 BADENAS CARPIO, Jorge, LLOPIO BORRÁS, José, COLTELL SIMÓN, Oscar. Curso práctico de programación en C y C++. Publicaciones de la Universidad Jaume I. DL., 1995, págs. 155-156.

Al estar compuesto de varios módulos, la compresión del sistema se facilita, ya que basta con comprender separadamente cada uno de los módulos. Un sistemas así concebido, está mejor armado contra las pequeñas modificaciones en las especificaciones, ya que estás no afectarán, normalmente, más que a un número reducido de módulos. Del mismo modo, el efecto de un error se limita también a pocos módulos. La ocultación de la información permite que la modificación en la implementación de un módulo que no afecte al interfaz, no provocarán ningún cambio en el resto del programa.37

La programación estructurada permite la escritura de programas que son fáciles de leer y modificar. Con este tipo de programación, el flujo lógico se gobierna por los tres tipos básicos de estructuras que son: las secuenciales, la de selección y las de repetición. Uno de los métodos más conocidos para resolver un problema es dividirlo en problemas más pequeños que se pueden llamar subproblemas. Esta técnica de subdivisión ha dado lugar a lo que se conoce como programación modular, la cual es uno de los métodos de diseño más flexibles y potentes que existen para mejorar la claridad de un programa en un conjunto de subproblemas más sencillos de resolver por separado. Esta técnica para programar la solución de problema se le suele llamar diseño descendente, metodología “divide y vencerás” o programación arriba-abajo (topdown). Un módulo, también llamado rutina o subrutina, es un procedimiento definido en un algoritmo que ejecuta una tarea específica. Un módulo puede ser llamado o invocado desde el módulo que describe el algoritmo principal (cualquier otro módulo) cuando su funcionalidad sea necesaria en un programa. Se puede entender que, con excepción del algoritmo principal, o módulo principal, un módulo depende siempre de otro.38

Sin embargo, los módulos que son invocados o llamados por un módulo principal deben ser independientes, en el sentido de que ningún módulo puede tener acceso directo a cualquier otro módulo. Esta idea de independencia

37 Ídem. 38 GÓMEZ DE SILVA GARZA, Andrés, ARIA BRISEÑO, Ignacio de Jesús. Introducción a la computación. Cengage Learning.1ª Edición 2008, págs.62-63

también se aplica a los propios submódulos de cualquier módulo. Además, de los resultados producidos por un módulo pueden ser utilizados por cualquier otro módulo a través del módulo que los llama, cuando se transfiere el control. El enfoque de diseño y programación modular es útil en dos casos:

1. Cuando existe un grupo de instrucciones o una tarea específica que debe ejecutarse en más de una ocasión.39 2. Cuando un problema es complejo o extenso y la solución se divide o segmenta en módulos que ejecutan partes o tareas específicas.

39 Ídem.

This article is from: