lunes, 27 de abril de 2015

UML Capítulo 18: La Vista de Gestión del Modelo

¡Hola de nuevo internauta!,

      En la entrada de hoy hablaremos sobre la vista de gestión de modelo y el diagrama de paquetes. Será cortito y espero que os ayude en la interpretación del mismo ¡Así que sin más vamos al meollo del asunto!.

1. ¿Para qué sirve?

La vista de gestión del modelo permite dividir el sistema en unidades más pequeñas para que se comprenda mejor y si la implementación del sistema se lleva a cabo por diferentes personas o equipos, permite a cada uno trabajar con una cantidad limitada de información, evitando así la sobresaturación y la interferencia de trabajo entre ellos. Además de mejorar el mantenimiento del modelo ya que los cambios sólo se realizarán en un paquete sin que afecten a los otros. Para ello el modelo se divide en paquetes que están interrelacionados.

2. Conceptos básicos

Paquete

  • Contiene elementos de alto nivel (son aquellos elementos que no están contenidos en otros elementos) como clases. Cada elemento se declara en un paquete y se puede invocar desde otros paquetes mediante la importación (lo veremos más adelante).
  • Son unidades para el control de versiones. Al realizar cambios sobre el paquete sólo este es afectado, y el que por lo tanto, cambia de versión (o release, o fix).
  • Pueden ser organizados por vista, funcionalidad u otra base escogida por el diseñador mediante un principio funcional.
  • Son reutilizables en distintos sistemas. Esto se resume en las dependencias de paquete (a a continuación los explicaremos).
  • Es un espacio de nombres para los elementos que contienen (una especie de ruta de directorios/carpetas que nos indican donde están).
Dependencia

  • Resumen las dependencias entre elementos. Puede que sólo usemos uno, varios o todos los elementos pero dicha relación de dependencia se tienen con todo el paquete para indicarlo una sola vez (de manera resumida).
  • Existen dos tipos de aproximaciones:
    • Ascendente: Se puede generar automáticamente a partir de los elementos individuales.
    • Descendente:  Refleja la arquitectura global del sistema.
Ejemplo de Diagrama de Paquetes y sus Relaciones
Ejemplo de diagrama de paquetes y sus relaciones
En este diagrama podemos ver la representación de las dependencias entre paquetes mediante las flechas con línea discontinua. Las que están fuera del paquete Entradas son dependencias externas mientras que las que están en su interior son internas (dentro del mismo paquete).

Visibilidad

  • La visibilidad hace referencia a quién puede o no acceder a los elementos.
  • Existen tres tipos de visibilidad:
    • Pública: Todos los paquetes pueden acceder al elemento (sean o no del mismo paquete, en caso de paquetes externos tiene que estar importado).
    • Privada: El elemento sólo es visible para el paquete contenedor.
    • Protegida: El elemento sólo es accesible desde su clase y los descendientes de dicha clase.
  • Permite encapsular los elementos por lo que en paquetes anidados hay que indicar la visibilidad de los mismos, pues el paquete contenedor no puede ver dentro de dichos paquetes anidados.
Importación

  • Permite añadir el espacio de nombre del paquete a otro paquete pudiendo así acceder a sus elementos y hacer uso de los mismo (siempre estará limitado por la visibilidad de dicho elemento/paquete).
  • Un paquete importado siempre es visible desde el paquete que lo importa (lo cual no quiere decir que tenga acceso a sus elementos).
  • Para indicar que es una importación se usa la notación <<import>>.
Ejemplo Importación de Paquetes
Ejemplo de importación de paquetes

Modelo

  • Se denomina modelo a un paquete que abarca una descripción completa de una vista particular del sistema.
  • No tiene dependencias fuertes de otros paquetes (como de implementación o de herencia).
  • Suele estructurarse en forma de árbol.


Y hasta aquí la entrada de hoy. Ya os avisé que era cortita :).

¡Gracias por leerme!.

No hay comentarios:

Publicar un comentario