Programación Avanzada

Slides:



Advertisements
Presentaciones similares
Modelado UML Diagramas de Secuencia Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
Advertisements

Diagramas UML Richard Mora Republica Bolivariana de Venezuela Ministerio del poder popular para la educación I.U.T. Antonio José de Sucre Barquisimeto,
Un diagrama de actividades ha sido diseñado para mostrar una visión simplificada de lo que ocurre durante una operación o proceso. Es una extensión.
Modelo del Proceso de Negocio Francisco Valdés Souto 2 al 6 de marzo 2009 © Avantare Consultores S. A. de C. V. – Derechos.
INTRODUCCIÓN AL UML (Lenguaje Unificado de Modelado)
UML. DIAGRAMA DE SECUENCIA En un diagrama de secuencia se indicarán los módulos o clases que forman parte del programa y las llamadas que se hacen en.
RECONOCES Y REALIZAS OPERACIONES CON DISTINTO TIPO DE FUNCIONES PROFESORA: XÓCHITL ARIANDA RUIZ ARMENTA MATEMÁTICAS 4 4TO SEMESTRE ENERO 2015 MULTIVERSIDAD.
 UML (Unified Modeling Language).  “Lenguaje" para especificar, y no para describir, métodos o procesos. Es una notación.  Para definir un sistema.
Conferencia 3: Paradigmas de la Orientación a Objetos Tema 1:Principios de la Tecnología de Objetos.
Tema 1:Introducción a la estadística La presentación de datos estadísticos constituye en sus diferentes modalidades uno de los aspectos de mas uso en la.
ALGORITMOS, DIAGRAMAS DE FLUJO ING. DIANA CRUZ. QUÉ ES UN ALGORITMO ALGORITMO PARA UNA RECETA DE COCINA ETAPAS PARA SOLUCIONAR UN PROBLEMA PROPIEDADES.
Internet Protocols (IPs)
Lenguaje de Modelado Unificado
Programación Avanzada
Diagrama de Flujo de Datos (DFD)
METODOLOGÍA DE SISTEMAS
Actividad #2 Los algoritmos
Programación Avanzada
Programación Avanzada
Programación Avanzada
METODOLOGÍAS DE DESARROLLO DE SOFTWARE
Olimpiadas Chilenas de Informática - Formación
Programación Avanzada
3. Control de acceso.
Programación Avanzada
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Proyecto de Software. t07
Estructuras de Control en Visual Basic.net
Métodos en Java.
Algunas Características de C++ no presentes en C
Proyecto de Software. Clase 06
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
Actividad 7 Diagrama de estado
BASES DE DATOS con Libreoffice base
Algunas Características de C++ no presentes en C
TUTORIAL PSeint.
Bucles y estructuras de decisión
Tema 6. Conceptos básicos de programación Clase 1
Introducción al UML Domingo Hernández H.
Diseño de bases de datos relacionales
INSTITUTO TECNOLOGICO SUPERIOR DE LIBRES
UML 2,0 Christian Sáenz.
Programación en scratch
Diagramas del modelo uml
Curso de iniciación al trabajo con MatLab 7.0
Proceso Unificado de Desarrollo de Software
Smartart de proceso Este gráfico SmartArt tiene un diseño de tipo Proceso que contiene formas repetitivas y una flecha larga y sinuosa para conectar cada.
ARRAYS Y COLECCIONES DE DATOS
ESTRUCTURAS DE CONTROL EN VISUAL BASIC.NET Prof.: Rafael Mourglia.
UML - Diagramas de interacción
DIAGRAMA DE OBJETOS Los diagramas de objetos son utilizados durante el proceso de Análisis y Diseño de los sistemas informáticos en la metodología UML.
Conceptos de Objetos, Clases y Otros Modelo Conceptual
INTERVALOS DE NÚMEROS REALES
Una tienda especializada en componentes electrónicos, compra sus existencias a una serie de proveedores, vendiéndolas posteriormente a sus clientes; a.
Actividad 5 Diagramas de interacción Dra. Anaisa Hernández González
Diagramas PERT.
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
LENGUAJE UNIFICADO DE MODELADO - UML
Bucles y estructuras de decisión
Universidad Autónoma del Estado de México Facultad de Ingeniería Ingeniería en Computación Unidad de aprendizaje: Análisis de Sistemas Elementos Básicos.
Contratista: Certificación Electrónica
Diagrama de componentes
UNIDAD 2 MODELO DE DATOS.
Poder Expresivo de UML 2.0 para especificar arquitecturas de Software
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:
Tema 8. Estructuras de decisión. Clases 1 y 2.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Transcripción de la presentación:

Programación Avanzada Diseño Diagramas de Comunicación

Contenido Diagramas de Interacción Notación Reuso de Elementos de Diseño Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Diagramas de Interacción UML incluye los diagramas de interacción que sirven para mostrar ejemplos de cómo ciertos objetos interactúan a través de mensajes para la realización de tareas Existen varios tipos de diagramas de interacción que son semánticamente equivalentes entre sí, en particular: Diagramas de Secuencia Diagramas de Comunicación Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Diagramas de Interacción (2) Un Diagrama de Secuencia Su Diagrama de Comunicación equivalente Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Cuando existen varias formas de acceder a esa instancia Notación Instancias Las instancias se representan igual que en los diagramas de instancias Corresponden a una instancia “cualquiera” de una cierta clase o interfaz (no a una instancia real) p / Rol : Persona Sin nombre Con nombre Cuando existen varias formas de acceder a esa instancia Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Clases Las clases se representan con el nombre de la clase dentro de un rectángulo Corresponden a una clase no a una instancia Clase Persona Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Links Representa una conexión entre instancias que indica navegabilidad y visibilidad entre ellas Establece una relación de cliente/servidor entre las instancias Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Mensajes Los mensajes son representados mediante una flecha etiquetada Un mensaje está asociado a un link y tiene asignado un número de secuencia que determina el orden de ocurrencia Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Parámetros Los parámetros se muestran entre paréntesis a la derecha del nombre del mensaje Se puede mostrar además su tipo Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Tipo de Retorno El valor de retorno puede ser mostrado a la izquierda del mensaje, con un := en medio Se puede mostrar además el tipo del valor de retorno Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Sintaxis de Mensajes La sintaxis de los mensajes es la siguiente: Donde: ret almacena el resultado de la operación (opcional) mensaje es el nombre del mensaje enviado (y de la operación invocada) param son argumentos usados en el envío TipoParam es el tipo de cada parámetro (opcional) TipoRet es el tipo del recorrido de la operación (opcional) [ret :=] mensaje([param [: TipoParam]]) [: TipoRet] Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Iteración Las iteraciones se indican mediante un asterisco (*) a continuación del numero de secuencia del mensaje Esto expresa que el mensaje es enviado en forma repetida (en un loop) al receptor class Simulador { Generador gen; void unaOper() { for (i from 1 to n) { x = gen.generar(); } Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Creación de Instancias La forma de ilustrar la creación de una instancia es enviando el mensaje create Este mensaje puede incluir parámetros Lo usual es especificar un nombre para la instancia para poder utilizarla después Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Destrucción de Instancias La forma de ilustrar explícitamente la destrucción de una instancia es enviando el mensaje destroy Previamente, debe eliminarse todo link que exista con esa instancia Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Números de Secuencia El orden de ocurrencia de los mensajes viene dado por los números de secuencia El mensaje que inicia la interacción generalmente no es numerado Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Números de Secuencia (2) Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Mensajes Condicionales Un mensaje condicional es enviado únicamente si su guarda es satisfecha La guarda se muestra entre paréntesis rectos ([ ]) a la izquierda del mensaje Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Colección de instancias Notación Colecciones Los multiobjetos de los diagramas de interacción representan una colección de objetos de una cierta clase Colección de instancias de la clase Empleado Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Mensajes a Colecciones Un mensaje a una colección representa un mensaje al objeto colección mismo No un broadcast a todos los elementos contenidos en él Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Responsabilidad de Colecciones Las colecciones serán tratadas como meros contenedores de objetos por lo que no tendrán otra responsabilidad más que esa Proveerán solamente operaciones que permitan administrar los objetos contenidos En general las interfaces de Diccionario (add, remove, find, member, etc.) e Iterador (next, etc.) son suficientes para las colecciones Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Responsabilidad de Colecciones (2) add(o:Tipo) Agrega la instancia o a la colección remove(o:Tipo) Remueve la instancia o de la colección. No elimina la instancia find(c:Clave):Tipo Retorna la instancia con clave c de tipo Clave exists(c:Clave):Boolean Devuelve un booleano indicando si la instancia con clave c existe o no en la colección member(o:Tipo):Boolean Devuelve un booleano indicando si la instancia o existe o no en la colección next():Tipo Devuelve el próximo elemento en la colección. Se supone que la colección está ordenada Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Resp. de Colecciones - Ejemplo   Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Datatypes El procesamiento de datatypes (construcción, envío de mensajes) no se muestra gráficamente: se utilizan notas Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Notación Datatypes (2) Es posible iterar sobre los elementos de una colección de datatypes: forall dt in ColDT Es posible acceder a los elementos de un datatype utilizando el operador “.” 1* [forall dp in ColDP]: agregar(dp : DataProducto) : Venta : LineaDeVenta agregarDatos(colDP: Set(DataProducto)) Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Reuso de Elementos de Diseño Se busca reutilizar los elementos de diseño generados de una iteración a otra En particular: clases, operaciones y atributos Esto apunta a generar iterativamente el diseño y no “reinventar la rueda” cada vez El diseño debe ser consistente de una iteración a otra. Es decir, si un elemento de diseño cambia, no puede quedar información inconsistente en otra parte del diseño Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación

Diagramas de Comunicación Errores Comunes Suponer la existencia de links nunca generados Enviar un mensaje a un multiobjeto que implique el procesamiento con todos los objetos contenidos en él No especificar qué sucede con mensajes que aparentan ser triviales Representar datatypes como instancias Programación Avanzada - Curso 2017 Diseño: Diagramas de Comunicación