|
Introducción
Unified Modeling Language "UML", se ha convertido en la notación estándar para definir,
organizar y visualizar los elementos que configuran la arquitectura de un sistema,
materializándolos en modelos.
Un sistema es algo "compuesto", una construcción realizada por manos y herramientas siguiendo
las directrices de un propósito. La palabra se aplica casi exclusivamente a abstracciones con
el fin de captar la totalidad de una realidad. En este sentido UML nos permite crear modelos
que vienen a ser representaciones simplificadas de una realidad compleja.
Empleo del UML
A través de la notación UML podemos comunicar y compartir el conocimiento de una arquitectura
gracias a la combinación simultánea de cinco perspectivas:
1. Definir.- Fijar, determinar, decidir, explicar un concepto a través de sus atributos
distintivos. Señalar sus límites y dar una idea exacta de lo que es esencial y de lo que es
circunstancial.
2. Organizar.- Establecer unos recursos, disponer un orden de responsabilidades y formalizar
unas reglas de relación y actuación; todo ello orientado a conseguir un propósito.
3. Visualizar.- Representar mediante imágenes y/o símbolos el contenido y la organización de
los conceptos que configuran un sistema. Hacer visible su naturaleza y su complejidad.
4. Actuar.- Pensar y tomar decisiones de manera ágil y sistemática, siguiendo un método; éste
a su vez, define el modo de actuar en base a la relación de un conjunto de actores,
actividades, entregables y certificaciones posibles en un escenario concreto.
5. Certificar.- Comprobar de manera fehaciente que un entregable es completo, coherente y
usable para el propósito que ha sido creado.
El resultado, es una mayor comprensión y claridad sobre la naturaleza de los objetos, eventos
y hechos que tienen consecuencias dentro de un dominio. Teniendo en claro lo antes mencionado
y aclarando que el lector debe poseer nociones básicas en lo que respecta al modelado de
sistemas con UML, podemos abordar un aspecto que es muy importante en el desarrollo de sistemas
especialmente en aquellos en los que la comprensión de su comportamiento es crítico.
Para ello estudiaremos el uso de uno de los diagramas de los que dispone UML para el modelado
del comportamiento: Diagrama de Estados.
Diagrama de Estados
Los diagramas de estados muestran el comportamiento de un objeto, es decir, el conjunto de
estados por los cuales pasa un objeto durante su vida, junto con los cambios que permiten pasar
de un estado a otro. Ilustraremos lo anterior con el siguiente ejemplo:
La figura anterior muestra una porción de un diagrama de clases en el cual se puede apreciar
la relación existente entre la clase Documento y la clase Revisión. Pues bien, lo que se da a
entender con la asociación entre estas 2 clases es que un documento en particular puede pasar
por uno o mas procesos de revisión. Además este escenario plantea controlar el estado del proceso
de revisión asociado a un documento, por lo que debemos agenciarnos de un mecanismo que nos permita
representar los estados por los que puede transitar un proceso de revisión durante su ciclo de
vida.
El requerimiento anterior se puede satisfacer con el empleo de los diagramas de estado que nos
ofrece UML.
Un estado identifica un período de tiempo (no instantáneo) en la vida del objeto durante el cual
está esperando alguna operación, tiene cierto comportamiento característico o puede recibir cierto
tipo de estímulos. En notación UML, un estado se representa mediante un rectángulo con los bordes
redondeados, que puede tener tres compartimentos: uno para el nombre, otro para el valor
característico de los atributos del objeto en ese estado y otro para las acciones que se realizan
al entrar, salir o estar en un estado (entry, exit o do, respectivamente). En el caso de la figura
2, se tienen seis estados (En progreso, aprobada, cancelada, rechazada, incompleta, necesita cambios)
en los cuales se desarrollan ciertas acciones al entrar, por ejemplo, al entrar al estado En progreso
se debe realizar un cambio de estado al documento asociado, asimismo al salir se debe notificar al
usuario que dio inicio al proceso de revisión y actualizar el estado del documento asociado, como
otras actividades.
Las flechas representan una transición entre 2 estados, como se muestra en la figura, una transición
se puede etiquetar para indicar la condición que se debe evaluar para producir el cambio de estado
y la acción que se llevará a cabo si la condición llega a ser cierta. Así, en el caso de la figura 2
tenemos la transición que va de el estado En Progreso al estado Aprobada, la condición a evaluar es
que un numero contabilizado de aprobaciones sea igual al numero requerido fijado con anticipación,
si esto se da se lleva a cabo la acción Aprobar.
Con esto se ha querido mostrar una aplicación práctica de los diagramas de estado sin pretender en
grado sumo ser una referencia notacional, evitando saturar al lector en lo que respecta a la definición
de los elementos notacionales que pueden participar en este tipo de diagramas. Si requiriera
información referente a los elementos notacionales de este y otros diagramas, puede consultar la
guía de referencia UML en la siguiente dirección:
http://www.rational.com/uml/resources/documentation/index.jsp
Conclusiones y Recomendaciones.
Los diagramas de estado resultan adecuados para describir el comportamiento de un objeto a través de
diferentes casos de uso, sin embargo, no resultan del todo adecuados para describir el comportamiento
que incluye a una serie de objetos colaborando entre sí. Por lo tanto, resulta útil combinar los
diagramas de estado con otras técnicas. Por ejemplo, los diagramas de interacción son idóneos para la
descripción del comportamiento de varios objetos en un único caso de uso, y los diagramas de actividades
muestran de forma adecuada la secuencia general de acciones en diferentes objetos y casos de uso.
|