Diagrama de Secuencia.

Slides:



Advertisements
Presentaciones similares
Introduccion a UML Wilson Peláez Hernández
Advertisements

Fundamentos de Ingeniería de Software
DIAGRAMAS DE SECUENCIA
Diagramas de Interacción
UML Diagramas. Diagramas de Interacción Muestran como los objetos de la aplicación cooperan e interactúan para cumplir con los requisitos. Suele construirse.
Fundamentos de programación
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
Andrés Esteban Martínez Huta 10º2 Ciclo de Vida del Software Gloria Cecilia Ríos.
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
I NGENIERÍA DE S OFTWARE L ABORATORIO VII Diseño - Diagramas: Actividades, Secuencia y Clases Eduardo Saavedra A. 13/10/2009.
Ingeniería de software
DIAGRAMA DE SECUENCIA Y ACTIVIDADES.
DIAGRAMA DE ESTADO.
DIAGRAMAS DE SECUENCIA. UML está compuesto por los siguientes diagramas:
Unified Modeling Language (UML) Unified Modeling Language (UML) Lenguaje Unificado de Modelado ConceptosBásicos.
Traduzcamos los artefactos de UML. Ing. Carlos Javier Fernández Corrales.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Ingreso , proceso y salida de datos
METODOLOGÍA DE SISTEMAS
Paul Leger Casos de Usos Paul Leger
Nombre José Francisco Luna Jurado Matricula Asignatura
Estructuras de Control en Visual Basic.net
Diagramas de Flujo Algoritmos.
simulacion Resumen unidad 1 Equipo Baldor Huerta Ocejo Ivan de Jesus
5. Análisis y diseño de sistemas secuenciales (I)
Estructuras de Control en Visual Basic.net
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
Tema 6. Conceptos básicos de programación (Clase 2)
CREAR DIAGRAMA DE FLUJO
Ingeniería de Software Somerville
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
DIAGRAMA DE CLASES 2016 Ramos, Pablo.
Tema 3. Lenguaje unificado de modelado UML
(Unified Modeling Language)
Introducción al UML Domingo Hernández H.
DIAGRAMA DE CLASES.
DIAGRAMACIÓN.
Diagrama de flujo y algoritmo
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Diagramas del modelo uml
Estructuras Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos que.
DIAGRAMA DE CLASE.
ARREGLOS BIDIMENSIONALES MATRICES Son un espacio de almacenamiento continuo, que contiene una serie de elementos del mismo tipo de datos. Desde el punto.
ESTRUCTURAS DE CONTROL EN VISUAL BASIC.NET Prof.: Rafael Mourglia.
Una tienda especializada en componentes electrónicos, compra sus existencias a una serie de proveedores, vendiéndolas posteriormente a sus clientes; a.
1 CONCEPTOS DE PROYECCION SEGÚN NORMA NCH CONCEPTOS DE PROYECCION Al interponer un cuerpo entre un foco luminoso y una pantalla, se notará en.
Diagrama de Flujo La presentación gráfica de sistemas es una forma ampliamente utilizada como herramienta de análisis, ya que permite identificar aspectos.
HERRAMIENTAS DE PROGRAMACIÓN
Técnicas Gráficas de los Procedimientos Administrativos
L.A. y M.C.E. Emma Linda Diez Knoth
Criterios cobertura de grafos: casos de uso
DIAGRAMA DE COLABORACIÓN
DIAGRAMA DE FLUJO Prof. Víctor Rojas. CONCEPTO El diagrama de flujo es una representación gráfica de la secuencia de pasos que se realizan para obtener.
Teoría Nº 3 Conceptos Básicos de Algoritmia Estructuras de Control
Diagramas de clases Modelan la vista estática del sistema
CAPA FÍSICA DEL MODELO OSI La capa física: Señales de comunicación.
identificar, registrar, y graficar pares ordenados
Tema 6. Conceptos básicos de programación (Clase 2)
Casos de Uso Análisis de requisitos con casos de uso.
DIAGRAMA DE FLUJO DE PROCESO
Diagramas de Interacción. Escuela de Ingeniería en Sistemas Computacionales Facultad de Ciencias Matemáticas y Físicas Universidad Estatal
IPOO 2 cuatrimestre 2018 Departamento de Ciencias e Ingeniería
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS. INTRODUCCION. ¿ Qué es UML ?. UML, por sus siglas en Ingles, Unified Modeling Languaje.(Lenguaje Unificado.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Diagrama de fujo. QUE ES UN DIAGRAMA DE FLUJO ? Un diagrama de flujo es la representación gráfica del flujo o secuencia de rutinas simples. Tiene la ventaja.
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Transcripción de la presentación:

Diagrama de Secuencia

Vista Dinámica Tiende a analizarse como pequeñas piezas del sistema, esto es, como escenarios individuales o operaciones. La vista dinámica representa las interacciones de los objetos en un sistema. Puede representar como el sistema responderá a las acciones de los usuarios, como los datos son movidos del almacenamiento a la vista del usuario y como los objetos son creados y manipulados. Los diagramas de Clases y los de la vista dinámica son los más usados en proyectos ya que son los que revelan más directamente características específicas requeridas en el código final. Hay tres diagramas en la vista dinámica: el de Secuencias, el de Colaboración y el de Estados

Diagrama de Secuencia Los diagramas de secuencia ilustran la interacción entre objetos y el orden secuencial en el que ocurren dichas interacciones, es decir como se comunican los objetos entre sí. Los objetos se comunican mediante interfases, para poder invocar a un operación. En los Casos de Uso se modelan las características del sistema y se desarrollan escenarios. El diagrama de secuencias proporciona un camino a partir de los escenarios para describir las operaciones en una forma más detallada

INTERACCIONES Y OBJETOS En un sistema orientado a objetos son estos últimos los que deben controlar a los datos, moverlos, responder preguntas, etc. Estos trabajan juntos comunicándose y/o interactuando con otros. Los diagramas de secuencias se modelan a nivel de objetos y utilizan tres elementos fundamentales: objetos, mensajes/estímulos y líneas de vida de los objetos.

MENSAJES El primer mensaje de un diagrama de secuencia siempre inicia hasta arriba del lado izquierdo del diagrama. Los demás se van aumentando ligeramente más abajo. Para mostrar un objeto (línea de vida) que manda un mensaje a otro objeto, se usa una línea con una punta de flecha sólida (operación síncrona). El mensaje (nombre del método) se coloca arriba de la flecha. El mensaje que se envía representa una operación/método que la clase objeto receptora va a implementar.

Un diagrama básico Pasos 1 y 2: El usuario crea una orden Paso 3: El usuario trata de poner ítems en la orden Paso 4 y 5: Se checa disponibilidad de cada ítem en el inventario Paso 6 y 7: Si el producto está disponible, se libera la orden Paso 8: Fin

Sistema :Registro Usuario:Profesor 1:Pide NRC registro( ):int 2: return NRC 3: [para c/alumno]:add(calif) 4: alumnoExiste(expediente) 5: return yes 6: [alumnoExiste=si]:addAlumno(calificacion):boleean 7:return true 8. return

Notación figura anterior 1. Línea de vida del objeto: línea vertical punteada debajo de cada objeto 2. Mensaje/estímulo: es una llamada, una señal o una respuesta. Un mensaje se representa por una flecha, una línea y la punta de flecha sólidas representan un mensaje que requiere de una respuesta. Las líneas punteadas son las respuestas. Se colocan horizontales entre las líneas de vida, en una posición relativa vertical con las otras para representar el orden en el que suceden. Los números de secuencia son útiles para aclaraciones y cambios. Cada mensaje (flecha) describe una interfase/operación con el objeto al que está apuntando, por lo que el mensaje contiene el nombre, argumentos y en su caso el valor de retorno, por ejemplo: addItem(product):bolean. Las flechas de regreso (2 y 5) solo contienen la respuesta a un mensaje.

Notación figura anterior 3. Iteración: Indica que una operación debe llevarse a cabos repetidamente. Se usan [ ] para indicar el número de veces o la condición que controla las repeticiones, por ejemplo [para cada producto].

Diagrama de Secuencia, Caso de Uso SurtirOrden Se dibuja 1 diagrama de secuencia para cada escenario. Primero identificar todos los objetos participantes, y se colocan hasta arriba del diagrama. No importa el orden pero puede ser que se vayan moviendo para mejorar la comprensión del diagrama. Este caso incluye: el dependiente que surte las órdenes, el sistema en sí mismo, la base de dato de las órdenes, la orden principal y la backorder y el inventario.

Diagrama de secuencia: objetos y líneas de tiempo :Dependiente :System :OrdersDB 12345:Order 23456:Order :Inventario

El formato de un mensaje es: El primer diagrama de Secuencia modela el escenario 1. Este escenario es el camino exitoso, el más comprensible. Los otros escenarios se van derivando del camino principal. Cada paso del diagrama de flujo se convierte en un mensaje o en un return en el diagrama de Secuencia. El primer paso es: El sistema pide número de orden, en el diagrama de secuencia aparece como un procedimiento llamado paso 1 y la respuesta del dependiente del número de orden es el paso 2. El formato de un mensaje es: Un número de secuencia (opcional) Dos puntos Condición (opcional), entre corchetes cuadrados [ ]. Identificación de la operación: Visibilidad (+pública, -privada, #protegida). Nombre de la operación. Argumentos, se ponen entre paréntesis (). Dos puntos. Tipo de dato de retorno.

Pasos 1 y 2; obtener el número de orden :Dependiente :System :OrdersDB 12345:Order 23456:Order :Inventario 1:getOrderNbr():int 2:return 12345

El siguiente paso es la consulta a la base de datos, en el Caso de Uso corresponde a “¿Se encontró la orden?, en el diagrama de secuencias se detalla el mensaje y la respuesta, que en la siguiente figura corresponden a los pasos 3 y 4. El valor de regreso es simplemente él número de orden. El diagrama de secuencias modela un caso de prueba, por lo que el return debe ser un valor. Si se está modelando una regla, el retorno será el tipo de dato más que un valor.

Pasos 3 y 4; obtener la orden usando el número de orden :Dependiente :System :OrdersDB 12345:Order 23456:Order :Inventario 1:getOrderNbr():int 2:return 12345 3:getOrder(ordernbr:int):Order 4:return Order 12345

El siguiente paso es “Desplegar Orden”, (mostrar la orden correspondiente). Ya que este mensaje no requiere respuesta, la figura muestra el uso de una comunicación asíncrona usando una flecha con punta tipo En este caso no hay flecha de retorno correspondiente. No hay valor de retorno y por lo tanto el tipo de retorno es “void”.

Poner un mensaje asíncrono :Dependiente :System :OrdersDB 12345:Order 23456:Order :Inventario 1:getOrderNbr():int 2:return 12345 3:getOrder(ordernbr:int):Order 4:return Order 12345 5:displayOrder(Order):void

El sistema en el paso 8 busca el item en el inventario: Una vez que se desplegó la orden en el paso 5, el sistema le pide al usuario que seleccione el primer ítem para buscarlo, es el paso 6: getItem( ):int. El sistema espera obtener un entero que represente el número de ítem en la Orden para buscarlo, obtiene la respuesta en el paso 7: item #1. El sistema en el paso 8 busca el item en el inventario: 8:[item found] getProduct(itemnbr:int):boolean En el paso 9 responde true, significa que si lo encontró, recordemos que estamos en el camino más sencillo. En el paso 10 el sistema pide la cantidad de producto y el dependiente se la da en el paso 11. En los pasos 12 y 13 se actualiza el inventario y responde que se llevó a cabo la operación, (return verdadero)

Continuación… :Dependiente :System :OrdersDB 12345:Order 23456:Order :Inventario [para c/ítem]:Finalizar() 6:getItem():int 7:return item#1 8:[item found] getProduct(itemnbr:int):boolean 9:return true 10:getQty( 9:int 11: return 25kg 12:reduceinv(prod:Product):boolean 13:return true

Observaciones En la figura se pueden ver las activaciones de los objetos: los rectángulos verticales angostos en las líneas de tiempo. Las activaciones indican cuando está ocupado cada objeto. La activación inicia cuando un mensaje toca la línea de tiempo y termina cuando la respuesta es enviada de regreso. En el caso del objeto system, su activación está en todo el diagrama mostrando que el sistema está vigilando todo el juego de interacciones. También se conoce como el foco.

Escenario 2 Se repiten los pasos 1, 2 y 3 del escenario 1. El siguiente paso debe desplegar el mensaje de que la orden no se encontró.

Escenario 2 :Dependiente :System :OrdersDB 12345:Order 2345:Order :Inventario Repetir pasos 1 al 3 del escenario 1 y después: 1:displayMsg(chars):void

Escenario 3 Son los mismos primeros 7 pasos del escenario 1. Si el ítem no se encuentra, hay que crear una backorder.

Escenario 3 :Dependiente :System :OrdersDB 12345:Order 23456:Order :Inventario Repetir pasos 1 al 7 del escenario 1 y entonces: Si [item not found] crear una backorder 1:[items no surtidos>0]backorder(item:int):Order 2: return Order 23456

Escenario 4 Repetir todos los pasos del 1 pero incluir el ciclo para repetir para todos los items :Dependiente :System :OrdersDB 12345:Order 23456:Order :Inventario [para c/ítem]:Finalizar() 6:getItem():int 7:return item#1 8:[item found] getProduct(itemnbr:int):boolean 9:return true 10:getQty( 9:int 11: return 25kg 12:reduceinv(prod:Product):boolean 13:return true

Objetivo Diagrama de Secuencias Descubrir las interfases requeridas para cada objeto y validar que cada interfase se usa realmente. El diagrama de Secuencias modela interacciones entre objetos. Ya que estas interacciones pueden ser muy complejas, se modelan un pequeño juego de interacciones como un solo escenario.

Resumen: para construir el diagrama Identificar a los objetos participantes Dibujar una línea vertical bajo cada objeto, que representa la línea de tiempo Cada mensaje se convierte en una línea horizontal del objeto que manda al que recibe. Para un mensaje síncrono o procedimiento de llamada se requiere una respuesta. Los asíncronos no necesitan respuesta.