Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 Descomposicin Modular
Proceso de descomposicin de un sistema en un conjunto de elementos
con un ndice bajo acoplamiento (independientes) y alto ndice de
cohesin (con significado propio).
Consiste en descomponer el problema a resolver en mdulos o tareas
ms simples. Cada tarea representa una actividad completa y se codifica
de manera independiente. Facilita el diseo descendente del problema,
centrndonos cada vez en la resolucin de sub problemas de magnitud
inferior.
El diseo modular propone dividir el sistema en partes diferenciadas y
definir sus interfaces.
Los pasos a seguir son:
1. Identificar los mdulos
2. Describir cada mdulo
3. Describir las relaciones entre mdulos
Una descomposicin modular debe poseer ciertas cualidades mnimas
para que se pueda considerar suficiente validad los cuales son los
siguientes:
a) Independencia Funcional
Cada mdulo debe realizar una funcin concreta o un conjunto de
funciones afines. Es recomendable reducir las relaciones entre mdulos
al mnimo.
Para medir la independencia funcional hay dos criterios: acoplamiento y
cohesin
b) Acoplamiento
El acoplamiento es una medida de la interconexin entre mdulos en
la estructura del programa. Se tiende a que el acoplamiento sea lo
menor posible, esto es a reducir las interconexiones entre los distintos
mdulos en que se estructure nuestra aplicacin. El grado de
acoplamiento mide la interrelacin entre dos mdulos, segn el tipo de
conexin y la complejidad de la interfaces:
Fuerte
Por contenido, cuando desde un mdulo se puede cambiar datos
locales de otro.
c) Cohesin
Un mdulo coherente ejecuta una tarea sencilla en un procedimiento y
requiere poca interaccin con procedimientos que se ejecutan en otras
partes de un programa. Podemos decir que un mdulo coherente es
aquel que intenta realizar solamente una cosa.
d) Comprensibilidad
Para facilitar los cambios, el mantenimiento y la reutilizacin de
mdulos es necesario que cada uno sea comprensible de forma aislada.
Para ello es bueno que posea independencia funcional, pero adems es
deseable:
e) Adaptabilidad
La adaptacin de un sistema resulta ms difcil cuando no hay
independencia funcional, es decir, con alto acoplamiento y baja
cohesin, y cuando el diseo es poco comprensible. Otros factores para
facilitar la adaptabilidad:
Claridad
Reduccin de costos
Re utilizacin.
Evita la propagacin de errores
Facilita las interfaces e independiza la codificacin
Abstraccin y encapsulamiento
Idea principal: Definir una parte de un sistema de modo que puede ser
comprendido por s mismo, como una unidad, sin conocimiento de sus
detalles especficos. Solo ser necesario saber el modo de interaccionar
con dicha unidad.
Dos tipos:
Abstraccin procedimental
Los mdulos se ven como cajas negras con una determinada
funcionalidad que a su vez pueden hacer uso de otras cajas negras.
Abstraccin de datos
Los datos son vistos como elementos sobre los que se pueden realizar
un conjunto de operaciones predefinidas. En ningn momento se tiene
conocimiento de su representacin o implementacin de las
operaciones.
Modificabilidad
Una buena descomposicin modular facilitar la modificabilidad del
cdigo. Pequeos cambios en los requisitos de un programa modular
normalmente requieren un cambio pequeo slo en algunos de sus
mdulos.
Vendr condicionado por los siguientes aspectos:
Diagrama: