miércoles, 19 de octubre de 2011

Aprendiendo UML - Hora 10: Diagrama de Colaboraciones

Un diagrama de colaboraciones es otra forma de presentar la información en un diagrama de secuencias. Ambos tipos de diagramas son semánticamente equivalentes y se recomienda usar ambos cuando construya el modelo de un sistema. El diagrama de secuencias se organiza de acuerdo al tiempo, y el de colaboración de acuerdo al espacio.
El diagrama de colaboraciones muestra las asociaciones entre objetos, así como los mensajes que pasan de un objeto a otro. El mensaje se representa con una flecha junto a la línea de asociación, y una etiqueta numerada que muestra el contenido del mensaje. El número representa el turno del mensaje en  la secuencia.
Las condiciones se representan como antes, mediante la colocación de la instrucción condicional entre corchetes. Para representar un ciclo "mientras", anteceda al chorchete izquierdo con un asterisco.
Algunos mensajes provienen de otros. El esquema de numeración de las etiquetas representa esto de forma muy similar a los manuales técnicos que muestran sus encabezados y subtítulos: con un sistema de numeración que utiliza puntos decimales para representar los niveles de anidamiento.
Los diagramas de colaboración le permiten modelar varios objetos receptores en una clase, ya sea que los objetos reciban o no los mensajes en un orden especifico. También podrá representar objetos activos que controlen el flujo de los mensajes, así como los mensajes que se sincronizan con otros.

Taller
Cuestionario
1. ¿Cómo representa a un mensaje en un diagrama de colaboraciones?
2. ¿Cómo mostraría información secuencial en un diagrama de colaboraciones?
3. ¿Cómo mostraría los cambios de estado?
4. ¿Qué se entiende por la "equivalencia semántica" de dos tipos de diagramas?

Ejercicios
1. En el ejemplo de la maquina de gaseosas, sólo mostré un diagrama de colaboraciones equivalente al diagrama de secuencias de instancia de la situación "importe incorrecto". Cree un diagrama de colaboraciones que corresponda al diagrama de secuencias genérico de la hora 9 para el caso de uso "Comprar Gaseosa". Esto es, agregue la situación "Gaseosa Agotada" al diagrama de colaboraciones siguiente:


Fecha de Entrega  27 de octubre de 2011.
Producto:
Cuestionarios y Formato digital enviado por correo electrónico por grupo a oscar.orrego09@gmail.com con el asunto Metodología - TP10 y en el cuerpo del mensaje los integrantes del grupo

Aprendiendo UML - Hora 9: Diagrama de Secuencias

El diagrama de secuencia UML agrega la dimensión del tiempo a las interactividades de los objetos. En el diagrama, los objetos se colocan en la parte superior y el tiempo avanza de arriba hacia abajo. La línea de vida de un objeto desciende de cada uno de ellos. Un pequeño rectángulo de la línea de vida de un objeto representa una activación (la ejecución de una de las operaciones del objeto). Puede incorporar los estados de un objeto colocándolos junto a su línea de vida.
Los mensajes (simples, sincrónicos y asincrónicos) son flechas que conectan a una línea de vida con otra. La ubicación del mensaje en la dimensión vertical representará el momento en que sucede dentro de la secuencia. Los mensajes que ocurren primero están más cerca de la parte superior del diagrama, y los que ocurren después cerca de la parte inferior.
Un diagrama de secuencias puede mostrar ya sea una instancia (un escenario) de un caso de uso, o puede ser genérico e incorporar todos los escenarios de un caso de uso. Los diagramas de secuencias genéricos con frecuencia dan la oportunidad de representar instrucciones condicionales y ciclos "mientras".
Cuando una secuencia incluya la creación de un objeto, lo representará como un rectángulo de la forma acostumbrada. Su posición en la dimensión vertical representarán el momento en que se creó.
En ciertos sistemas, una operación puede invocarse a sí misma. A esto se le conoce como recursividad. Se representa con una flecha que sale de la activación hacia si misma, y un pequeño rectángulo sobrepuesto a la activación.

Taller
Cuestionario
1. Defina mensaje sincrónico y mensaje asincrónico.
2. En un diagrama de secuencias genérico ¿cómo representaría el control de flujo implícito en una instrucción condicional?
3. ¿Cómo representaría el control de flujo implícito en una instrucción de ciclo "mientras"?
4. En un diagrama de secuencias ¿cómo representaría a un objeto recíen creado?

Ejercicios
1. Cree un diagrama de secuencias de instancias que muestre lo que ocurre cuando envía con éxito un fax. Esto es, modele las interactividades entre objetos en el mejor escenario del caso de uso "enviar fax" de una máquina de fax. Incluya los objetos de la máquina que envía, la que recibe, el fax y un "intercambio" central que encause a los faxes y a las llamadas telefónicas.
2. Cree un diagrama de secuencias genérico que incluya escenarios infructuosos (línea ocupada, error de la máquina que envía), así como del mejor escenario indicado en el ejercicio 1.

Fecha de Entrega  26 de octubre de 2011.
Producto:
Cuestionarios y Formato digital enviado por correo electrónico por grupo a oscar.orrego09@gmail.com con el asunto Metodología - TP9 y en el cuerpo del mensaje los integrantes del grupo

jueves, 6 de octubre de 2011

Aprendiendo UML - Hora 8: Diagramas de Estados

Los objetos en los sistemas modifican sus estados como respuestas a suceso y al tiempo. El diagrama de estados de UML captura estos cambios de estados. Un diagrama de estados se enfoca en los cambios de estado en un solo objeto. Un rectángulo de vértices redondondeados representa a un estado, y una línea continua con una punta de flecha representa una transición de un estado a otro.
El símbolo del estado contiene el nombre del mismo y puede tener variables y actividades del estado. Una transición puede suceder como respuesta a un suceso desencadenado, e implicar una respuesta o acción. Una transición trambién puede ocurrir por la actividad en un estado: una transición que ocurre de esta forma se conoce como transición no desencadenada. Finalmente, una transición puede ocurrir cuando se cumple una condicion particular, o condición de seguridad.
En ocasiones, un estado consta de subestados. Los subestados pueden ser secuenciales (ocurrir uno después del otro) o concurrentes (ocurrir al mismo tiempo). Un estado que consta de subestados se conoce como estado compuesto. Un estado histórico indica que un estado compuesto recordará su subestado cuando el objeto trascienda de este estado compuesto. Un estado histórico puede ser superficial o profundo. Tales términos son propios de los subestados anidados. Un estado histórico superficial recuerda sólo el subestado principal. Un estado histórico profundo recuerda todos los niveles de los subestados.
Cuando un objeto envía un mensaje que desencadena una transición en el diagrama de estados de otros objeto, tal mensaje es una señal. Una señal es, por sí misma, un objeto, y podrá crear una jerarquía de herencia de las señales.
Es necesario contar con los diagramas de estados porque facilitan la comprensión de los objetos de un sistema a los analistas, diseñadores y desarrolladores. Los desarrolladores, en particular, deben saber cómo se supone que se comportarán los objetos, dado que serán quienes tengan que establecer estos comportamientos en el software. No es suficiente implementar un objeto: los desarrolladores tienen que hacer que tal objeto haga algo.

Taller
Cuestionarios
1. ¿De qué forma difiere un diagrama de estados de uno de clases, de objetos o de casos de uso?.
2. Defina los siguientes términos: transición, suceso y acción.
3. ¿Qué es una transición no desencadenada?
4. ¿Cuál es la diferencia entre los subestados secuenciales y los concurrentes?

Ejercicios
1. Suponga que diseñará una tostadora. Cree el diagrama de estados que controle los estados del pan en la tostadora. Incluya los sucesos desencadenados, acciones y condiciones de seguridad necesarios.
2. Cada vez que un objeto envíe una señal, se creará un objeto Señal y será transmitido. En Windows, hay varias señales posibles a partir de la GUI. Suponga que la señal (el tipo de señal que envíe a Windows) sea una clase. (¿Qué tipo de clase es?). Cree un diagrama de clases de las posibles señales y muestre toda la herencia inherente.
3. La figura 8.7 le muestra los subestados concurrentes dentro del estado Operación de la GUI. Dibuje un diagrama del estado del Protector de pantalla que incluya los subestados concurrentes.

Fecha de Entrega  13 de octubre de 2011.
Producto:
Cuestionarios y Formato digital enviado por correo electrónico por grupo a oscar.orrego09@gmail.com con el asunto Metodología - TP8 y en el cuerpo del mensaje los integrantes del grupo

Aprendiendo UML - Hora 7: Diagramas de Caso de Uso

El caso de uso es una poderosa herramienta para obtener los requerimientos funcionales. Los diagramas de casos de uso agregan mayor poder: debido a que facilitan la comunicación entre los analistas y los usuarios, y entre los analistas y los clientes. En un diagrama, el símbolo del caso de uso es una elipse. El símbolo de un actor es una figura. Una línea asociativa conecta a un actor con el caso de uso.
Los casos de uso están, por lo general, dentro de un rectángulo que representan el sistema.
La inclusión se representa por una línea de dependencia con un estereotipo <<incluir>>. La extensión se representa por una línea de dependencia con un estereotipo <<extender>>. Las otras dos relaciones entre casos de uso son generalización, en que un caso de uso hereda el sentido y acciones de otro, y el agrupamiento, mismo que organiza un conjunto de casos de uso. La generalización se representa por la misma línea que muestra la herencia entre clases. El agrupamiento se representa por el icono del paquete.
Los diagramas de casos de uso figuran como parte importante en el proceso de análisis. Se empieza con entrevistas con los clientes para obtener diagramas de clases. Éstos proporcionan una base para entrevistar a los usuarios. Tales entrevistas dan por resultado un diagrama de casos de uso que muestra los requerimientos funcionales del sistema. Los diagramas resultantes de caso de uso darán los fundamentos para el diseño y desarrollo.

Taller
Cuestionario:
1. Mencione dos ventajas de crear un caso de uso.
2. Describa la generalización y el agrupamiento, las relaciones entre los casos de uso que ha visto durante esta hora. Mencione dos situaciones en las que Ud.  agruparia los casos de uso.
3. ¿Cuáles son las similitudes entre las clases y los casos de uso?. ¿Cuáles son las diferencias?.

Ejercicios
1. Bosqueje el diagrama de un modelo de casos de uso para un control remoto de una TV. Asegurese de incluir todas las funciones del control remoto como casos de uso para su modelo.
2. En el segundo ejercicio de la hora anterior indicó a los actores y casos de uso de un negocio de cómputo. Esta vez, dibuje un diagrama de casos de uso de alto nivel con base en el trabajo que realizó en tal ejercicio. Luego, genere un modelo de casos de uso para al menos uno de los casos de uso de alto nivel. En su trabajo, intente incorporar las relaciones <<incluir>> o <<extender>> que sean necesarias.

Fecha de Entrega  13 de octubre de 2011.
Producto:
Cuestionarios y Formato digital enviado por correo electrónico por grupo a oscar.orrego09@gmail.com con el asunto Metodología - TP7y en el cuerpo del mensaje los integrantes del grupo