lunes, 27 de abril de 2015

UML Capítulo 11: Vista de Diseño II

¡Hola de nuevo internauta!,

      Gracias por seguir leyéndome y aguantar toda la tabarra escrita que te estoy soltando. ¡Eso dice mucho a tu favor!.


Tengo una buena y una menos buena noticia para esta entrada, la buena es... ¡finalizamos la vista de diseño!. La noticia menos buena es que aún tengo muchas entradas para escribir y tendrás que seguir aguantando esta madeja de conocimientos ;). Así que sin más dilación y para que el sufrimiento mental sea corto, ¡al meollo!.

3. Patrones

Se denomina patrón a  una colaboración parametrizada junto con las pautas sobre cuándo utilizarlo. Cuando instanciamos un patrón, sus parámetros se ligan o bien a las clases dentro de un diagrama de clases, o bien a los roles dentro de una colaboración pudiendo haber múltiples patrones en un clasificador. Capturan estructuras que se pueden reutilizar.

Pueden aparecer a nivel de análisis, arquitectura, diseño e implementación.

Ejemplo Patrón
Ejemplo de patrón

4. Componente y Diagrama de Componentes

Un componente representa una pieza modular de un sistema lógico o físico siendo una parte del software encapsulada, reutilizable y reemplazable. Es normal que use y contenga otras clases y componentes y pueden tener puertos. Dependen directamente de las interfaces que los soportan pudiendo reemplazarse el componente en el modelo por otro componente que soporte la interfaz adecuada (a esto se le denomina acoplamiento débil).

Un componente posee los siguientes tipos de interfaces:
  • Interfaces proporcionadas: Son aquellas interfaces que soporta el componente.
  • Interfaces obligatorias: Son aquellas interfaces que necesitan de otros componentes.


Ejemplo de notación de componente

El diagrama de componentes muestra las dependencias entre componentes y puede presentarse de dos maneras:

  • Biblioteca de componentes: Son un conjunto de componentes disponibles con sus dependencias. De esta manera es como se ensamblan los sistemas entre si.
  • Fuera de la biblioteca: Muestra un sistema configurado con la selección de componentes usado para su construcción.
Las conexiones entre componentes tienen que ser consistentes con sus interfaces. En otras palabras, han de usar u ofrecer alguna de las interfaces declaradas en dicho componente.

Diagrama de Componente
Ejemplo de diagrama de componente
En este ejemplo podemos observar cómo está constituido el sistema SistemaDePeliculas posee tres componentes: GestorDePelículas, GestorDeActores e InterfazDePelicula. Cada uno de estos componentes posee sus puertos (los cuadrados) e interfaces. También podemos observar como el sistema posee un puerto que permite acceder al usuario y que hemos llamado accesoUsuario. Centrémonos un momento en las interfaces de los componentes:

  • El componente InterfazDePelícula requiere (es decir,obliga al resto de los componentes a ofrecer) que las interfaces para conectar con ella sean setPelicula, getPelicula, setActores y getActores. Podemos observar que no se hace referencia a sus parámetros de entrada ni de salida pues este tipo de diagrama muestra solamente las dependencias sin entrar en detalle.
  • Los componentes GestorDePeliculas y GestorDeActores ofrecen (es decir proporcionan) las interfaces set y get correspondientes para poder enviar y recibir mensajes con la interfaz, InterfazDePelicula.
Espero que con esto podamos entender la importancia de este tipo de diagramas para comprender cómo se envían y reciben mensajes en los distintos componentes del diagrama y lo fácil que es su modularidad, permitiéndonos añadir o eliminar componentes los cuales han de ofrecer aquellas interfaces necesarias para la gestión de mensajes.

¡Gracias por leerme!.

No hay comentarios:

Publicar un comentario