domingo, 20 de octubre de 2013

Introducción al UML - Parte 2 de 3





El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para combinar tales elementos. En lugar de indicarle a usted cuáles son los elementos y las reglas, veamos directamente los diagramas ya que los utilizará para hacer el análisis del sistema.

Este enfoque es similar a aprender un idioma extranjero mediante el uso del mismo, en lugar de aprender sus reglas gramaticales y la conjugación de sus verbos. Después de un tiempo de hablar otro idioma se le facilitará la conjugación de verbos y la comprensión de las reglas gramaticales.

Termino Nuevo: La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a las cuales se les conoce como modelo. El modelo UML de un sistema es similar a un modelo a escala de un edificio junto con la interpretación del artista del edificio. Es importante destacar que un modelo UML describe lo que supuestamente hará un sistema, pero no dice cómo implementar dicho sistema.

A continuación se describirán brevemente los diagramas más comunes del UML y los conceptos que representan. Posterionnente, en la parte I verá cada uno de los diagramas con mayor detenimiento. Recuerde que es posible generar híbridos de estos diagramas y que el UML otorga formas de organizarlos y extenderlos.

  • Diagrama de clases
Piense en las cosas que le rodean (una idea demasiado amplia, pero ¡inténtelo de cualquier forma!). Es probable que muchas de esas cosas tengan atributos (propiedades) y que realicen determinadas acciones. Podríamos imaginar cada una de esas acciones como un conjunto de tareas.

Termino Nuevo: También se encontrará con que las cosas naturalmente se albergan en categorías (automóviles, mobiliario. lavadoras...). A tales categorías las llamaremos clases. Una clase es una categoría o grupo de cosas que tienen atributos y acciones similares. He aquí un ejemplo: cualquier cosa dentro de la clase Lavadoras tiene atributos como son la marca, el modelo, el número de serie y la capacidad.

Entre las acciones de las cosas de esta clase se encuentran: “agregar ropa", “agregar detergente“, "activarse" y “sacar ropa”.

La siguiente figura le muestra un ejemplo de la notación del UML que captura los atributos y acciones de una lavadora. Un rectángulo es el símbolo que representa a la clase, y se divide en tres áreas. El área superior contiene el nombre, el área central contiene los atributos, y el área inferior las acciones. Un diagrama de clases está formado por varios rectángulos de este tipo conectados por líneas que muestran la manera en que las clases se relacionan entre sí.

Simbolo UML de una clase.


¿Que objetivo tiene pensar en las clases, así como sus atributos y acciones? Para interactuar con nuestro complejo mundo, la mayoría del software moderno simula algún aspecto del mundo. Décadas de experiencia sugieren que es más sencillo desarrollar aplicaciones que simulen algún aspecto del mundo cuando el software representa clases de cosas reales. Los diagramas de clases facilitan las representaciones a partir de las cuales los desarrolladores podrán trabajar.

A su vez. los diagramas de clases colaboran en lo referente al análisis. Permiten al analista hablarle a los clientes en su propia tenninología, lo cual hace posible que los clientes indiquen importantes detalles de los problemas que requieren ser resueltos.


  • Diagrama de objetos
Un objeto es una instancia de clase (una entidad que tiene valores específicos de los atributos y acciones). Su lavadora, por ejemplo, podría tener la marca Laundatorium, el modelo Washmeister, el número de serie GL57774 y una capacidad de 7 Kg.

La siguiente figura le muestra la fonna en que el UML representa a un objeto. Vea que el símbolo es un rectángulo, como en una clase, pero el nombre está subrayado. El nombre de la instancia específica se encuentra a la izquierda de los dos puntos (:), y el nombre de la clase a la derecha.

El símbolo UML del objeto


  • Diagrama de casos de uso
Un caso de uso es una descripción de las acciones de un sistema desde el punto de vista del usuario. Para los desarrolladores del sistema, ésta es una herramienta valiosa, ya que es una técnica de aciertos y errores para obtener los requerimientos del sistema desde el punto de vista del usuario. Esto es importante si la finalidad es crear un sistema que pueda ser utilizado por la gente en general (no sólo por expertos en computación).

Posteriormente trataremos este tema con mayor detalle; por ahora, le mostraré un ejemplo sencillo. Usted utiliza una lavadora, obviamente, para lavar su ropa. La siguiente figura muestra cómo representaría esto en un diagrama de casos de uso UML.

Diagrama de casos de uso UML


  • Diagrama de estados
En cualquier momento, un objeto se encuentra en un estado en particular. Una persona puede ser recién nacida, infante, adolescente, joven o adulta. Un elevador se moverá hacia arriba, estará en estado de reposo o se moverá hacia abajo. Una lavadora podrá estar en la fase de remojo, lavado, enjuague, centrifugado o apagada.

El diagrama de estados UML, que aparece en la siguiente figura, captura esta pequeña realidad. La figura muestra las transiciones de la lavadora de un estado al otro. 

El símbolo que está en la parte superior de la figura representa el estado inicial y el de la parte inferior el estado final.

Diagrama de estados UML

  • Diagrama de secuencias
Los diagramas de clases y los de objeto representan información estática. No obstante, en un sistema funcional los objetos interactúan entre sí, y tales interacciones suceden con el tiempo. El diagrama de secuencias UML muestra la mecánica de la interacción con base en tiempos.

Continuando con el ejemplo de la lavadora, entre los componentes de la lavadora se encuentran: una manguera de agua (para obtener agua fresca), un tambor (donde se coloca la ropa) y un sistema de drenaje. Por supuesto, estos también son objetos (como verá, un objeto puede estar conformado por otros objetos).

¿Qué sucederá cuando invoque al caso de uso Lavar ropa? Si damos por hecho que completó las operaciones “agregar ropa”, “agregar detergente” y “activar”, la secuencia sería más o menos así:

l. El agua empezará a llenar el tambor mediante una manguera.
2. El tambor permanecerá inactivo durante cinco minutos.
3. La manguera dejará de abastecer agua.
4. El tambor girará de un lado a otro durante quince minutos.
5. El agua jabonosa saldrá por el drenaje.
6. Comenzará nuevamente el abastecimiento de agua.
7. El tambor continuará girando.
8. El abastecimiento de agua se detendrá.
9. El agua del enjuague saldrá por el drenaje.
10. El tambor girará en una sola dirección y se incrementará su velocidad por cinco minutos.
11. El tambor dejará de girar y el proceso de lavado habrá finalizado.

La siguiente figura presenta un diagrama de secuencias que captura las interacciones que se realizan a través del tiempo entre el abastecimiento de agua, el tambor y el drenaje (representados como rectángulos en la parte superior del diagrama). En este diagrama el tiempo se da de arriba hacia abajo.

Diagrama de secuencias UML

Por cierto, volviendo a las ideas acerca de los estados, podríamos caracterizar los pasos l y 2 como el estado de remojo, 3 y 4 como el estado de lavado, 5 a 7 como el estado de enjuague y del 8 al 10 como el estado de centrifugado.



Espero haber ayudado en algo. Hasta la próxima oportunidad! 





5 comentarios:

  1. Excelente explicación.Me ayudo a entender algunas cosas que todavía no podía entender!! Miles de gracias

    ResponderEliminar
    Respuestas
    1. Hola Anónimo, gracias por la visita y el aporte de tu comentario.
      Es grato saber que la publicación te ayudó a reforzar tus conocimientos!

      Todo el mérito se lo lleva Joseph Schmuller autor del libro, el cual está difundido en internet y que simplemente estoy publicando!!

      Los mejores deseos... Hasta cualquier instante!!

      Eliminar
  2. Guillermo, muchas gracias por la información compartida, muchos éxitos para usted.

    ResponderEliminar
    Respuestas
    1. Hola Rene Zapata, gracias nuevamente por la visita y el aporte de tu comentario!!
      Es agradable saber que le das valor a esta publicación...
      Lo único que trato de hacer es recopilar información ampliamente difundida en internet y típica de enseñanza en las universidades, que beneficie en conocimiento a las personas que tienen que ver con este mundo de la informática y afines!!

      Los mejores deseos!! Hasta cualquier instante!!




      Eliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar