Modelado de procesos de negocios con UML
Introducción
Cuando
para el desarrollo de una aplicación se decide utilizar un lenguaje de
programación orientado a objetos, para representar de forma visual tanto las
clases que serán utilizadas como las relaciones existentes entre ellas se usa
el lenguaje UML (Unified Modeling Language, o Lenguaje de Modelado
Unificado en español), que define una serie de reglas para crear diagramas
UML.
Si
te encuentras leyendo esto porque deseas aprender a programar de forma
autodidacta, debes tener claro que antes de comenzar a escribir la primera
línea de código fuente es muy recomendable (sino imprescindible muchas veces)
realizar previamente un análisis del problema a resolver, así como de los
requisitos y pasos que debe cumplir la aplicación para que una vez finalizada cumpla
con su objetivo sin que se produzcan errores.
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.
Es una herramienta valiosa dado que es una técnica de aciertos y errores para
obtener los requerimientos del sistema, justamente desde el punto de vista del
usuario.
Los diagramas de caso de uso
modelan la funcionalidad del sistema usando actores y casos de uso. Los casos
de uso son servicios o funciones provistas por el sistema para sus usuarios.
Símbolos de los casos de uso
Sistema: El rectángulo representa los límites del sistema que contiene los casos de uso. Los actores se ubican fuera
de los límites del Sistema.
Figura 1: Sistema de Casos de Uso
Figura 2: Casos de Uso
Actor: Un diagrama de caso de uso contiene los símbolos del actor y
del caso de uso, junto con líneas conectoras. Los actores son similares a las
entidades externas; existen fuera del sistema. El término actor se refiere a un
rol específico de un usuario del sistema.
Figura 3: Actor que inicia el caso de uso
Por ejemplo:
Un actor puede ser un empleado,
pero también puede ser un cliente en la tienda de la empresa. Incluso cuando es
la misma persona en el mundo real, se representa como dos símbolos distintos en
un diagrama de caso de uso, ya que la persona interactúa con el sistema en
distintos roles.
Figura 4: Características de los actores
Relaciones
Las relaciones entre un actor y
un caso de uso, se dibujan con una línea simple. Para relaciones entre casos de
uso, se utilizan flechas etiquetadas “incluir” o “extender.” Una relación
“incluir” indica que un caso de uso es necesitado por otro para poder cumplir
una tarea. Una relación “extender” indica opciones alternativas para un cierto
caso de uso.
Figura 5: Ejemplo de Casos de Uso
Relaciones de los casos de uso
Las relaciones activas se
conocen como relaciones de comportamiento y se utilizan principalmente en los
diagramas de casos de uso. Hay cuatro tipos básicos de relaciones de
comportamiento: comunica, incluye, extiende y generaliza.
Figura 8: Relaciones entre
los Casos de Uso
Diagrama
de colaboración
El diagrama de
colaboración es un tipo de diagrama de interacción cuyo objetivo es describir
el comportamiento dinámico del sistema de información mostrando cómo
interactúan los objetos entre sí, es decir, con qué otros objetos tiene
vínculos o intercambia mensajes un determinado objeto.
Descripción
Un diagrama de
colaboración muestra la misma información que un diagrama de secuencia pero
de forma diferente. En los diagramas de colaboración no existe una secuencia
temporal en el eje vertical; es decir, la colocación de los mensajes en el
diagrama no indica cuál es el orden en el que se suceden. Además, la
colocación de los objetos es más flexible y permite mostrar de forma más
clara cuáles son las colaboraciones entre ellos. En estos diagramas la
comunicación entre objetos se denomina vínculo o enlace (link) y estará
particularizada mediante los mensajes que intercambian.
Notación
Objeto
Un objeto se representa
con un rectángulo dentro del que se incluye el nombre del objeto y, si se
desea, el nombre de la clase, separando ambos por dos puntos.
Vínculo
En el diagrama, un
vínculo se representa como una línea continua que une ambos objetos y que
puede tener uno o varios mensajes asociados en ambas direcciones. Como un
vínculo instancia una relación de asociación entre clases, también se puede
indicar la navegabilidad del mismo mediante una flecha.
Mensaje
Un mensaje se representa
con una pequeña flecha colocada junto a la línea del vínculo al que está
asociado. La dirección de la flecha va del objeto emisor del mensaje al
receptor del mismo. Junto a ella, se coloca el nombre del mensaje y sus
argumentos.
A diferencia de los
diagramas de secuencia, en los diagramas de colaboración siempre se muestra el
número de secuencia del mensaje delante de su nombre, ya que no hay otra forma
de conocer la secuencia de los mismos.
Además, los mensajes
pueden tener asociadas condiciones e iteraciones que se representarán como en
los diagramas de secuencia.
Ejemplo
Diagrama de colaboración
para el caso de uso: Prestar un ejemplar de una aplicación encargada de los
préstamos y reservas de una biblioteca.
Diagrama de
Componentes
El diagrama de
componentes proporciona una visión física de la construcción del sistema de
información. Muestra la organización de los componentes software, sus
interfaces y las dependencias entre ellos.
Descripción
Como
ya se ha indicado, los elementos de estos diagramas son los componentes
software y las dependencias entre ellos.
Un
componente es un módulo de software que puede ser código fuente, código
binario, un ejecutable, o una librería con una interfaz definida. Una interfaz
establece las operaciones externas de un componente, las cuales determinan una
parte del comportamiento del mismo. Además se representan las dependencias
entre componentes o entre un componente y la interfaz de otro, es decir uno de
ellos usa los servicios o facilidades del otro.
Estos
diagramas pueden incluir paquetes que permiten organizar la construcción del
sistema de información en subsistemas y que recogen aspectos prácticos
relacionados con la secuencia de compilación entre componentes, la agrupación
de elementos en librerías, etc.
Notación
Componente
Un
componente se representa como un rectángulo, con dos pequeños rectángulos
superpuestos perpendicularmente en el lado izquierdo.

Para distinguir distintos tipos
de componentes se les puede asignar un estereotipo, cuyo nombre estará dentro
del símbolo:
<<
... >>
Interfaz
Se
representa como un pequeño círculo situado junto al componente que lo
implementa y unido a él por una línea continua. La interfaz puede tener un
nombre que se escribe junto al círculo. Un componente puede proporcionar más
de una interfaz.

Paquete
Un paquete se representa con un
icono de carpeta
Una relación de dependencia se
representa mediante una línea discontinua con una flecha que apunta al
componente o interfaz que provee del servicio o facilidad al otro. La relación
puede tener un estereotipo que se coloca junto a la línea, entre el símbolo:
<<...>>
Ejemplo
Sistema
encargado de la gestión de los préstamos y reservas de libros y revistas en
una biblioteca. El lenguaje de desarrollo será Java, y los accesos a la
información del prestatario serán mediante un paquete de Base de Datos.

Figura 10: Componentes
Diagramas de Objetos
Los diagramas de objetos
modelan las instancias de elementos contenidos en los diagramas de clases. Un
diagrama de objetos muestra un conjunto de objetos y sus relaciones en un
momento concreto. En UML, los diagramas de clase se utilizan para visualizar
los aspectos estáticos del sistema y los diagramas de interacción se utilizan
para ver los aspectos dinámicos del sistema, y constan de instancias de los elementos
del diagrama de clases y mensajes enviados entre ellos.
En un punto intermedio
podemos situar los diagramas de objetos, que contiene un conjunto de instancias
de los elementos encontrados en el diagrama de clases, representando sólo la
parte estática de una interacción, consistiendo en los objetos que colaboraran
pero sin ninguno de los mensajes intercambiados entre ellos.
Los diagramas de objetos
se emplean para modelar la vista de diseño estática o la vista de procesos
estática de un sistema al igual que se hace con los diagramas de clases, pero
desde la perspectiva de instancias reales o prototípicas. Esta vista sustenta
principalmente los requisitos funcionales de un sistema. Los diagramas de
objetos permiten modelar estructuras de datos estáticas,
En general los diagramas
de objetos se utilizan para modelar estructuras de objetos, lo que implica
tomar una instantánea de los objetos de un sistema en un cierto momento. Un
diagrama de objetos representa una escena estática dentro de la historia representada
por un diagrama de interacción. Los diagramas de objetos se utilizan para
visualizar, especificar, construir y documentar la existencia de ciertas
instancias en el sistema, junto a las relaciones entre ellas.

Figura 11: Diagrama
de objetos
Conclusión
Como se mencionó anteriormente
los diagramas de clases representan información estática de sistema, pero ya en
un sistema funcional, los objetos interactúan entre sí con el tiempo, esto se
puede representar mediante un diagrama de secuencias.
El objetivo de UML es ser capaz
de describir el comportamiento de un sistema, subsistema u operación particular
mediante un diagrama de secuencia el cual muestra la interacción de un conjunto
de objetos en una aplicación a través del tiempo y se modela para cada caso de
uso, esto facilita como se distribuyen las tareas entre los componentes.







Comentarios
Publicar un comentario