Diseño de Sistemas I Universidad CAECE Abril de 2001 Acoplamiento
Acoplamiento  (1 de 4) Uno de los objetivos del diseño es particionar el sistema en módulos manejables Es de vital importancia que los módulos sean lo mas independientes posible
Acoplamiento   (2 de 4) El acoplamiento es el grado de interdependencia entre los módulos de un DE El objetivo es minimizarlo pero que el sistema aún funcione
Acoplamiento   (3 de 4) Se puede minimizar el acoplamiento de tres maneras diferentes: Eliminando relaciones innecesarias Minimizando el número de relaciones necesarias Haciendo mas simples las relaciones necesarias
Acoplamiento   (4 de 4) Al analizar el acoplamiento, los módulos se ven como cajas negras No siempre es fácil analizar el acoplamiento de esta manera Las conexiones entre módulos deben resultar lo mas simples posible
Por qué bajo acoplamiento  ? Cuanto mas “leve”es la conexión, menor riesgo de que los defectos de un módulo afecten a otro Si los módulos son independientes, es más fácil reemplazarlos Se puede modificar módulos sin afectar a los demás
Ejemplos Equipo de música Computadora Equipamiento de cocina
Los principios del acoplamiento Conexiones “delgadas” vs. “anchas” Depende de la cantidad de cuplas Conexiones directas vs. Indirectas La interface debe ser comprensible, sin tener que referirse a otras piezas de información
Los principios del acoplamiento Conexiones locales vs. Remotas La información está en la misma conexión, y no en repositorios globales Conexiones obvias vs. “oscuras” Datos formateados o utilizados en forma extraña, complican la conexión
Los principios del acoplamiento Conexiones flexibles vs. Rígidas Las conexiones deben ser fáciles de modificar La interface de los módulos debe ser robusta
Tipos de acoplamiento Normal Datos Estampado Control Common (o Global) Contenido
Acoplamientos de tipo Normal Datos Es el más usual, cada cupla es una pieza elemental de datos Precaución con la cantidad de cuplas y las cuplas vagabundas
Acoplamientos de tipo Normal Estampado Alguna de las cuplas es una pieza compuesta de datos Bien usado es útil Precaución con pasar datos innecesarios o agrupar cuplas en estructuras ficticias
Acoplamientos de tipo Normal Control Un módulo pasa a otro una pieza de información intentando controlar la lógica del mismo Puede ocultar problemas de diseño Precaución con la dirección de la cupla Puede transformarse en HIBRIDO, si la cupla es de datos
Acoplamientos de tipo Global Common Dos módulos comparten un área global de datos (memoria, archivo, etc) Los datos comunes pueden ser modificados sin querer Es una conexión remota (en el tiempo) La información compartida puede ser no homogénea
Acoplamientos de tipo Contenido Contenido Un módulo refiere directamente al código interno de otro Puede darse en lenguajes como Assembler Viola el concepto de caja negra
Acoplamiento del DE El análisis del DE se realiza analizando el acoplamiento en cada par de módulos conectados El acoplamiento final está dado por el peor acoplamiento detectado en el diagrama
Acoplamiento vs. Calidad Diseño Malo Malo Malo Malo Contenido Pobre Malo Medio Malo Common Malo Malo Malo Medio Híbrido Pobre Pobre Pobre Medio Control Medio Medio Medio Cantidad? Estampado Pobre Medio Medio Pobre Vagabundos Bueno Bueno Bueno Cantidad? Datos Reusabilidad Entendimiento Modificabilidad Efecto ripple

Acoplamiento

  • 1.
    Diseño de SistemasI Universidad CAECE Abril de 2001 Acoplamiento
  • 2.
    Acoplamiento (1de 4) Uno de los objetivos del diseño es particionar el sistema en módulos manejables Es de vital importancia que los módulos sean lo mas independientes posible
  • 3.
    Acoplamiento (2 de 4) El acoplamiento es el grado de interdependencia entre los módulos de un DE El objetivo es minimizarlo pero que el sistema aún funcione
  • 4.
    Acoplamiento (3 de 4) Se puede minimizar el acoplamiento de tres maneras diferentes: Eliminando relaciones innecesarias Minimizando el número de relaciones necesarias Haciendo mas simples las relaciones necesarias
  • 5.
    Acoplamiento (4 de 4) Al analizar el acoplamiento, los módulos se ven como cajas negras No siempre es fácil analizar el acoplamiento de esta manera Las conexiones entre módulos deben resultar lo mas simples posible
  • 6.
    Por qué bajoacoplamiento ? Cuanto mas “leve”es la conexión, menor riesgo de que los defectos de un módulo afecten a otro Si los módulos son independientes, es más fácil reemplazarlos Se puede modificar módulos sin afectar a los demás
  • 7.
    Ejemplos Equipo demúsica Computadora Equipamiento de cocina
  • 8.
    Los principios delacoplamiento Conexiones “delgadas” vs. “anchas” Depende de la cantidad de cuplas Conexiones directas vs. Indirectas La interface debe ser comprensible, sin tener que referirse a otras piezas de información
  • 9.
    Los principios delacoplamiento Conexiones locales vs. Remotas La información está en la misma conexión, y no en repositorios globales Conexiones obvias vs. “oscuras” Datos formateados o utilizados en forma extraña, complican la conexión
  • 10.
    Los principios delacoplamiento Conexiones flexibles vs. Rígidas Las conexiones deben ser fáciles de modificar La interface de los módulos debe ser robusta
  • 11.
    Tipos de acoplamientoNormal Datos Estampado Control Common (o Global) Contenido
  • 12.
    Acoplamientos de tipoNormal Datos Es el más usual, cada cupla es una pieza elemental de datos Precaución con la cantidad de cuplas y las cuplas vagabundas
  • 13.
    Acoplamientos de tipoNormal Estampado Alguna de las cuplas es una pieza compuesta de datos Bien usado es útil Precaución con pasar datos innecesarios o agrupar cuplas en estructuras ficticias
  • 14.
    Acoplamientos de tipoNormal Control Un módulo pasa a otro una pieza de información intentando controlar la lógica del mismo Puede ocultar problemas de diseño Precaución con la dirección de la cupla Puede transformarse en HIBRIDO, si la cupla es de datos
  • 15.
    Acoplamientos de tipoGlobal Common Dos módulos comparten un área global de datos (memoria, archivo, etc) Los datos comunes pueden ser modificados sin querer Es una conexión remota (en el tiempo) La información compartida puede ser no homogénea
  • 16.
    Acoplamientos de tipoContenido Contenido Un módulo refiere directamente al código interno de otro Puede darse en lenguajes como Assembler Viola el concepto de caja negra
  • 17.
    Acoplamiento del DEEl análisis del DE se realiza analizando el acoplamiento en cada par de módulos conectados El acoplamiento final está dado por el peor acoplamiento detectado en el diagrama
  • 18.
    Acoplamiento vs. CalidadDiseño Malo Malo Malo Malo Contenido Pobre Malo Medio Malo Common Malo Malo Malo Medio Híbrido Pobre Pobre Pobre Medio Control Medio Medio Medio Cantidad? Estampado Pobre Medio Medio Pobre Vagabundos Bueno Bueno Bueno Cantidad? Datos Reusabilidad Entendimiento Modificabilidad Efecto ripple