You are on page 1of 7

Diagramas de estado Los diagramas de estado describen grficamente los eventos y los estados de los objetos.

Los diagramas de estado son tiles, entre otras cosas, para indicar los eventos del sistema en los casos de uso. Un evento es un acontecimiento importante a tomar en cuenta para el sistema. Un estado es la condicin de un objeto en un momento determinado: el tiempo que transcurre entre eventos. Una transicin es una relacin entre dos estados, e indica que, cuando ocurre un evento, el objeto pasa del estado anterior al siguiente. En U L, los estados se representan mediante valos. Las transiciones se representan mediante flec!as con el nombre del evento respectivo. "e acostumbra poner un estado inicial #c$rculo negro%. &or ejemplo:

Un diagrama de estado representa el ciclo de vida de un objeto: los eventos que le ocurren, sus transiciones, y los estados que median entre estos eventos. En particular, es til !acer diagramas de estado para describir la secuencia permitida de eventos en los casos de uso. &or ejemplo, en el caso de uso comprarProductos no est permitido efectuar pagoTarjeta mientras no !aya ocurrido el evento terminarVenta. Un diagrama de estado que describe los eventos globales del sistema y su secuencia en un caso de uso es un diagrama de estado para casos de uso. &or ejemplo, una versin simplificada del diagrama de estados para el caso de uso comprarProductos es el siguiente:

Una versin ms completa del diagrama anterior se muestra en la siguente figura:

El diagrama anterior aun no est completo, pues falta considerar algunos casos e'cepcionales, como por ejemplo, si al rec!a(ar una tarjeta de cr)dito o un c!eque, el cliente decide pagar usando otro m)todo, por ejemplo pagando en efectivo.

Una transicin puede tener una proteccin condicional, o prueba booleana, que permite pasar al siguiente estado solemente si esta proteccin es vlida. Estas protecciones se colocan entre par)ntesis debajo de los eventos #ver validacin del usuario al descolgar el auricular, en la siguiente figura%. *ambi)n se pueden tener sub+estados anidados.

Las !erramientas usadas en la etapa de anlisis #investigacin del problema% se pueden resumir en la siguiente tabla. Herramienta de anlisis ,asos de uso odelo conceptual /iagramas de secuencia ,ontratos Preguntas que responde -,ules son los procesos del dominio. -,ules son los conceptos, los t)rminos. -,ules son los eventos y las operaciones del sistema. -0u) !acen las operaciones del sistema.

Casos de uso reales Los casos reales de uso representan un dise1o concreto de cmo se va a reali(ar el caso, a partir de una tecnolog$a particular. &or ejemplo, si se necesita una interfa( grfica de usuario, se deben incluir diagramas de las ventanas requeridas. Los diagramas de ventanas de todos los casos de uso, as$ como el modelo de navegacin de )stas, constituye la versin 2en papel2 del primer prototipo del sistema. &ara la creacin de los casos de uso reales, se refinan los casos esenciales creados en la etapa de anlisis.

Diagramas de colaboracin Los contratos muestran qu !acen las operaciones del sistema, pero no muestran cmo los objetos de soft3are van a cumplir con ellas. Los diagramas de interaccin #diagramas de secuencia o diagramas de colaboracin% e'plican grficamente cmo los objetos interactan a trav)s de mensajes para reali(ar las tareas. 4ntes de definir estos diagramas, !ay que generar el modelo conceptual, los contratos de operacin y los casos de uso reales #estos ltimos se generan a partir de los casos de uso definidos en el anlisis%. Los diagramas de colaboracin e'plican grficamente las interacciones entre las instancias del modelo #objetos%. &or ejemplo:

El punto de partida de las interacciones son las postcondiciones de los contratos de operacin. El siguiente ejemplo muestra el diagrama de colaboracin de la operacin efectuarPago.

5ote que el primer mensaje corresponde a uno de los 2mensaje e'ternos2 del diagrama de secuencia del sistema, definido en una clase anterior. Los diagramas de interaccin constituyen una de las !erramientas ms importantes para el anlisis y dise1o orientado a objetos. El tiempo y esfuer(o dedicado a la preparacin de )stos, correponde a un porcentaje considerable de la actividad total del proyecto. Notacin: &ara representar grficamente el !ec!o de que un mensaje devuelva un valor, se puede !acer de la siguiente manera:

Notacin: Un objeto puede enviarse un mensaje a si mismo:

*ambi)n es posible indicar el nmero de veces #iteraciones% que un mensaje va a ser enviado. &or ejemplo, el siguiente m)todo:
msg1() { for i := 1 to 10 { miB.mens2(); miC.mens3(); } }

puede ser representado mediante el siguiente diagrama:

Notacin: El siguiente ejemplo muestra la forma de definir la secuencia de los mensajes dentro de un diagrama de colaboracin.

Notacin: Es posible definir mensajes condicionales. &ara esto, se define la condicin entre corc!etes, y el mensaje se env$a solamente si la condicin es verdadera. &or ejemplo:

Notacin: Es posible definir trayectorias condicionales mutuamente e'cluyentes. &or ejemplo:

Notacin: Un multiobjeto, o conjunto de instancias #por ejemplo un arreglo en 6ava%, se dibuja en forma de pila. &or ejemplo:

/e esta forma, tambi)n podemos enviar mensajes a multiobjetos. &or ejemplo:

La siguiente figura muestra cmo enviar mensajes para crear una instancia de un objeto, y agregarla a un multiobjeto.

*ambi)n es posible enviar mensajes a la clase y no a una instancia, con el fin de llamar a m)todos de la clase. &or ejemplo:

You might also like