Anda di halaman 1dari 4

DESCOMPOSICION MODULAR

El diseo modular propone dividir el sistema en partes diferenciadas y definir sus interfaces. sus
ventajas: claridad, reduccin de costos y reutilizacion
Los pasos a seguir son:
1. Identificar los mdulos
2. Describir cada mdulo
3. Describir las relaciones entre mdulos
Una descomposicion modular debe poseer ciertas cualidades mnimas para que se pueda
considerar suficiente vlidad.
1. Independencia funcional
2. Acoplamiento
3. Cohesin
4. Comprensibilidad
5. Adaptabilidad
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 un medida de la interconexin entre mdulos en la estructura del programa.
Podemos graduara en un amplio espectro, pero por lo general se tiede a que el acoplamiento
sea lo menor posible, esto es a reduir 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 interfase:
. Fuerte
- Por contenido, cuando desde un mdulo se puede cambiar datos locales de otro.
- Comn, se emplea una zona comn de datos a la que tienen acceso varios mdulos.
. Moderado

- De control, la zona comn es un dispositivo externo al que estan ligados los mdulos, esto
implica que un cambio en el formato de datos los afecta a todos.
- Por etiqueta, en ontercambio de datos se realiza mediante una referencia a la estructura
completa de datos(vector, pila, rbol,grafo,)
. Dbil
- De datos, viene dado por los datos que intercambian los mdulos. Es el mejor.
- Sin acoplamiento directo , es el acoplamiento que no existe
c) Cohesin
Un mdulo coherente ejecuta una tarea sencilla en un procedimiento de sw 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.
Para que n de mdulos no sea demaciado elevado y complique el diseo se tratan de agrupar
elementos afines y relacionados en un mismo mdulo.

ALTA
. Cohesion abstraccional, se logra cuando se disea el mdulo como tipo abstracto de datos o
como una clase de objetos
. Cohesin funcional, el mdulo realiza una funcin concreta y especfica

MEDIA
. Cohesin secuencial, los elementos del mdulo trabajan de forma secuencial
. Cohesin de comunicacin, elementos que operan con el mismo conjunto de datos de entrada o
de salida
. Cohesin temporal, se agrupan elementos que se ejecutan en el mismo momento. Ej.Arrancar
o parar dispositivos

BAJA
. Cohesin lgica, se agrupan elementos que realizan funciones similares.
. Cohesin coincidental, es la peor y se produce cuando los elementos de un mdulo no guardan
relacin alguna
La descripcin del comportamiento de un mdulo permite establecer el grado de cohesin:
- Si es una frase compuesta y cotiene ms de un verbo la cohesin ser MEDIA

- Si contiene expreciones secuenciales (primero, entonces, cuando), ser temporal o secuencial


- Si la descripcion no se refiere a algo especifico(Ej. Todos los errores), cohesin lgica
- Si aparece inicializar, preparar, configurar, probablemente sea temporal.
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:
- Identificacin, el nombre debe ser adecuado y descriptivo
- Documentacin, debe aclarar todos los detalles de diseo e implementacin que no queden de
manifiesto en el propio cdigo
- SIMPLICIDAD, las soluciones sencillas son siempre laas mejores
e) Adaptabilidad
La adaptacin de un sistema resulta ms dificil cuando no hay idependencia funcional, es decir,
con alto acoplamiento y baja cohesin, y cuando el diseo es poco comprensible. Otros factores
para facilitar la adaptabilidad:
- Previsin, es necesario prever que aspectos del sistema pueden ser suseptibles de cambios en
el futuro, y poner estos elementos en mdulos independientes, de manera que su modificacin
afecte al menor nmero de mdulos posibles
-Accesibilidad, debe resultar sencillo el acceso a los documentos de especificacin, diseo, e
implementacin para obtener un conocimiento suficiente del sistema antes de proceder a su
adaptacin
- Consistencia, despus de cualquier adaptacin se debe mantener la consistencia del sistema,
incluidos los documentos afectados

DIAGRAMAS DE ESTRUCTURA MODULAR


La estructura modular, es decir, el conjunto de mdulos de un
programa y la forma en que se invocan unos a otros, se puede
representar grficamente mediante un diagrama de estructura
modular. Esto es particularmente til si el programa es complejo
y consta de muchos mdulos con relaciones complicadas entre
s.

En el diagrama se representan los mdulos mediante cajas, en


cuyo interior figura el nombre del mdulo, unidos por lneas,
que representan las interconexiones entre ellos. En cada lnea
se pueden escribir los parmetros de invocacin y los datos
devueltos por el mdulo invocado.
El diagrama de estructura siempre tiene forma de rbol
invertido. En la raz figura el mdulo principal, y de l cuelgan
el resto de mdulos en uno o varios niveles.
En el diagrama tambin se puede representar el tipo de relacin
entre los mdulos. Las relaciones posibles se corresponden
exactamente con los tres tipos de estructuras bsicas de la
programacin estructurada:

Estructura secuencial: cuando un mdulo llama a otro,


despus a otro, despus a otro, etc.

Estructura selectiva: cuando un mdulo llama a uno o a


otro dependiendo de alguna condicin

Estructura iterativa: cuando un mdulo llama a otro (o a


otros) en repetidas ocasiones

Las tres estructuras de llamadas entre mdulos se representan


con tres smbolos diferentes: