domingo, 12 de abril de 2015

Diagramas de colaboraciones - Parte 2 de 3



La máquina de gaseosas

Las cosas se hacen más interesantes cuando aplica las condiciones a una situación real, como lo hizo en la hora anterior con la máquina de gaseosas. Iniciemos con la mejor situación del caso de uso “Comprar gaseosa”, donde la secuencia es:

1. El cliente inserta el dinero en la alcancía que se encuentra en la fachada de la maquina.
2. El cliente hace su elección.
3. El dinero viaja hacia el registrador.
4. El registrador verifica si la gaseosa elegida está en el dispensador.
5. Dado que es la mejor situación, asumimos que sí hay gaseosas, y el registrador actualiza su reserva de efectivo.
6. El registrador hace que el dispensador entregue la gaseosa en la fachada de la máquina.

El diagrama de colaboraciones es directo, como lo muestra la siguiente imagen.

El diagrama de colaboraciones para el mejor caso de "Comprar gaseosa"


Ahora, agreguemos el caso de “cantidad incorrecta de dinero". El diagrama tiene que contabilizar varias condiciones:

1. El usuario ha introducido más dinero que el necesario para la compra.
2. La máquina cuenta con la cantidad adecuada de cambio.
3. La máquina no tiene la cantidad correcta de cambio.

Usted representará las condiciones de la misma forma en que las representó en el diagrama de secuencias. Colocará la condición entre corchetes, misma que se antecede a la etiqueta. Lo importante es coordinar las condiciones con la numeración.

Esto podría ser algo complicado, por lo que haremos el diagrama por secciones. Empezaremos con la condición donde el usuario ha insenado más dinero del indicado en el precio y el registrador cuenta con el cambio adecuado. Agregará el paso de la máquina al devolver el cambio al cliente, y agregará las condiciones entre corchetes. El paso que devuelve el cambio es una consecuencia del que verifica si hay cambio. Para indicar esto en el paso de devolver cambio utilizará el mismo número del mensaje que verifica el cambio, y agregará un punto decimal y un uno. A esto se le conoce como anidación.

La imagen siguiente le muestra los detalles.

El diagrama de colaboraciones con parte de la situación "monto de dinero inadecuado"


¿Qué ocurre cuando la máquina no cuenta con el cambio correcto? Tendrá que mostrar un mensaje que lo indique, devuelva el dinero y pida al usuario que inserte el importe correcto. Así, la transacción habrá finalizado.

Cuando agregue esta condición, agregará una bifurcación en el control de flujo. Numerará esta bifurcación como un mensaje anidado. Dado que es el segundo mensaje anidado, habrá un 2 luego del punto decimal. Finalmente, y debido a que la transacción habrá finalizado, hará clara esta situación mediante la adición de un estereotipo “transacción finalizada” en este mensaje, y otro en el mensaje que despacha la gaseosa. La siguiente imagen presentará la situación.

El diagrama de colaboraciones "Comprar gaseosa" con toda la situación "monto de dinero inadecuado"


En el taller, al finalizar esta hora, habrá un ejercicio que le pedirá que complete el diagrama de colaboraciones mediante la adición de la situación “no hay gaseosa”.


Creación de un objeto

Para mostrar la creación de objetos, volveré al caso de uso “Crear propuesta" de la firma de consultoría. Una vez más, la secuencia que modelará será:

1. El consultor buscará en el área de almacenamiento centralizada de la red una propuesta adecuada en la cual basarse.

2. Si el consultor localiza una propuesta adecuada, la abrirá y en el proceso abrirá la aplicación de oficina. El consultor guardará el archivo bajo un nuevo nombre, con lo que creará un nuevo archivo para la nueva propuesta.

3. Si el consultor no encuentra una propuesta, abrirá la aplicación de oficina y generar un nuevo archivo.

4. Al trabajar en la propuesta, el consultor utilizará los componentes de la aplicación de oficina.

5. Cuando el usuario finalice la propuesta, la guardará en el área de almacenamiento centralizada.

Para mostrar la creación de un objeto, agregará un estereotipo “crear” al mensaje que genera al objeto.

Una vez más, utilizará instrucciones “si” (if) y mensaje anidados. También trabajará con un ciclo “mientras” (while). Como en el diagrama de secuencias, para representar a “mientras”, colocará esta condición entre corchetes y antecederá al del lado izquierdo con un asterisco.

La siguiente  imagen le muestra este diagrama de colaboraciones completo con la creación del objeto y “mientras”.

El diagrama de colaboraciones "Crear una propuesta"

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








No hay comentarios:

Publicar un comentario en la entrada