Modelo de diseño Modelo de diseño a. modelo estático

Slides:



Advertisements
Presentaciones similares
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
Advertisements

UML DCU -DS Alvaro Garrido V..
UML DCU -DS Alvaro Garrido V..
DIAGRAMAS DE COMUNICACIÓN
Etapa Análisis-Diseño Uso de UML en el Desarrollo de Proyectos
Análisis y Diseño Orientado a Objetos.
Diseño de la Interfaz de Usuario
UML para programadores Java
Diagrama de Colaboración
DISEÑO ORIENTADO AL OBJETO
MODELADO DEL COMPORTAMIENTO EN LOS DIAGRAMASDE ESTADO
DIAGRAMAS DE SECUENCIAS
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
DSOO - María Eugenia Valencia
Fundamentos de Ingeniería de Software
Prof. César Luza Montero
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
LENGUAJE UNIFICADO DE MODELADO UML
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
DESCRIPCION DEL PROBLEMA
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Desarrollo Orientado a Objetos con UML
Análisis y Diseño orientado a objetos con UML.
Profesor: Miguel Angel Vidal
Diagramas de Interacción
Contratos Constituyen una descripción del comportamiento de un sistema. Se elaboran durante la fase de análisis. Dependen de: Modelo Conceptual Diagrama.
DSOO - María Eugenia Valencia
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.
María Eugenia Valencia Dpto. Ciencias de la Computación REFINAMIENTO DEL MODELO CONCEPTUAL Tipos Asociativos Requerimientos del dominio que preparan el.
Análisis y Diseño Orientado a Objetos utilizando UML
Ingeniería de Software
UNIDAD 3: “Desarrollo Orientado a Objetos con UML”
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Análisis y Diseño Orientado a Objetos utilizando UML
DSOO - Maria Eugenia Valencia Comportamiento del Sistema Diagramas de Secuencia del sistema Los diagramas de secuencia están incluidos en la notación UML.
Modelo Dinámico (II) Prof. Leonid Tineo Departamento de Computación
Patrones para asignar responsabilidades
CASOS DE USO Ing. Sonia Godoy H..
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
UML.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Vista de interacción  Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos.
ANALISIS Y DISEÑO DE SISTEMAS II
LES CUENTO QUE Los diagramas UML de secuencia y de colaboración (llamados diagramas de interacción) se utilizan para modelar los aspectos dinámicos.
Ciclo Iterativo - Incremental Fase de Iteración Elaborado por: Analista: Diseñador: Desarrollador: Ing. de Pruebas:
Diagrama de Clases ACI 570.
CONTRATOS UML.
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
Ingeniería del Software
UML - Diagramas de interacción
Diagramas de Interacción.
Conceptos Fundamentales
UML.
Ilustra: E L M ODELO C ONCEPTUAL Conceptos (Objetos) en el dominio del problema. Es el instrumento (artefacto) más importante de crear en el AOO. Es la.
Relación con otras asignaturas del plan de estudio
Análisis y Diseño de Sistemas
Departamento de Informática Universidad de Rancagua Prof:Paula Quitral Introducción a UML Caso de uso Departamento de Informática Universidad de Aconcagua.
Prof. Joel Moreno Molina
¿QUE ES EL DIAGRAMA DE ESTADO ?
UML DIAGRAMA DE CASOS DE USO
Unified Modeling Language (Lenguaje de Modelamiento unificado)
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
UNIVERSIDAD LATINA (UNILA) II.- MODELO DE IMPLEMENTACIÓN
Diagrama de Clases.
DIAGRAMAS DE SECUENCIA. UML está compuesto por los siguientes diagramas:
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Lenguaje Unificado de Modelado (UML) Julio … Casos de Uso  Ejemplo:
Entregables del Proyecto
Transcripción de la presentación:

Modelo de diseño Modelo de diseño a. modelo estático b. modelo dinámico Modelo de casos de uso para el diseño b Modelo de arquitectura a Modelo del comporta- miento de objetos b clases a Modelo de estado para el diseño b Casos de uso - reales Diagramas de casos de uso Diagramas de paquetes de despliegue Diagramas de interacción Contratos para métodos y operaciones Diagramas de clases de diseño (diagramas de estructura estáticos) Diagramas de estado para clases

Casos reales de uso Un caso real de uso describe el diseño concreto del caso de uso a partir de una tecnología particular de entrada y salida, así como de su implementación global. Por ejemplo, si interviene una interfaz gráfica para el usuario, el caso de uso real incluirá diagramas de las ventanas en cuestión y una explicación de la interacción de bajo nivel con los artefactos de la interfaz.

Ejemplo: Comprar productos Casos de uso: Comprar productos:versión 1 (efectivo exclusivamente) Actores: Cliente (iniciador), Cajero. Propósito: Capturar una venta y su pago en efectivo. Resumen: Un Cliente llega a la caja con productos que desea comprar. El cajero registra los productos de la compra y recibe el pago en efectivo. Al terminar la transacción, el Cliente se marcha con los productos comprados. Tipo: Primario y real. Referencias Funciones: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1. cruzadas:

Ejemplo: Comprar productos Curso normal de los eventos Acción de los actores Respuesta del sistema 3. Agrega la información sobre el producto a la actual transacción de ventas. La descripción y el precio del producto actual se muestran en B y en F de la ventana-1. 1. Este caso de uso comienza cuando un Cliente llega a la caja TPDV con objetos que desea comprar. 2. Con cada producto, el Cajero teclea el código universal de producto (CUP) en A de la Ventana-1. Si hay más de un producto, es opcional capturar la cantidad en E. Se oprime H después de capturar cada producto. 5. Calcula y presenta en C el total de la venta. 6. ... 4. Al terminar de capturar los productos el Cajero oprime el botón I para indicarle a la TPDV que terminó de capturar los productos

Diagramas de interacción Se realizan en la fase de diseño de un ciclo de desarrollo. Artefactos requeridos para preparar un diagrama de interacción: Un modelo conceptual: a partir de este modelo el diseñador podrá definir las clases de software correspondientes a los conceptos. Los objetos de las clases participan en las interacciones que se describen gráficamente en los diagramas.

Diagramas de interacción Contratos de la operación del sistema: a partir de ellos el diseñador identifica las responsabilidades y las poscondiciones que han de llenar los diagramas de interacción. Casos de uso reales (o esenciales): a partir de ellos el diseñador recaba información sobre las tareas que realizan los diagramas de interacción, además de lo estipulado en los contratos.

Diagramas de interacción El UML define dos tipos de estos diagramas; ambos sirven para expresar interacciones semejantes o idénticas de mensaje: 1. Diagramas de colaboración. 2. Diagramas de secuencia.

Diagramas de interacción Los diagramas de colaboración describen las interacciones entre los objetos en un formato de grafo o red, como en la siguiente figura: :ClaseAInstancia mensaje1( ) :ClaseBInstancia 1:mensaje2( ) 2:mensaje3( )

Diagramas de interacción Los diagramas de secuencia describen las interacciones en una especie de formato de cerca o muro, como en la siguiente figura: :ClaseAInstancia :ClaseBInstancia mensaje1( ) mensaje2( ) mensaje3( )

Ejemplo de un diagrama de colaboración: efectuarPago :TPDV efectuarPago(efectivoOfrecido) Dirección del mensaje :Venta :Pago 1:efectuarPago(efectivoOfrecido) Primer mensaje interno Primer mensaje Instancia Línea de enlace 1.1:crear(efectivoOfrecido) Parámetro

Ejemplo de un diagrama de colaboración: efectuarPago El diagrama de colaboración anterior se lee así: 1. El mensaje efectuarPago se envía a una instancia de TPDV. La instancia corresponde al mensaje efectuarPago de la operación del sistema. 2. El objeto TPDV envía el mensaje efectuarPago a la instancia Venta. 3. El objeto Venta crea una instancia de un Pago

Cómo preparar diagramas de colaboración 1. Elabore un diagrama por cada operación del sistema durante el ciclo actual de desarrollo. En cada mensaje del sistema, dibuje un diagrama incluyéndolo como mensaje inicial. 2. Si el diagrama se torna complejo (por ejemplo, si no cabe holgadamente en una hoja de papel 8.5x11), dividalo en diagramas más pequeños.

Cómo preparar diagramas de colaboración 3. Diseñe un sistema de objetos interactivos que realicen las tareas, usando como punto de partida las responsabilidades del contrato de operación, las poscondiciones y la descripción de casos de uso. Aplique el GRASP y otros patrones para desarrollar un buen diseño.

Los diagramas de colaboración y otros artefactos introducirProducto (cup, cantidad) terminarVenta() efectuarPago (monto) Diagrama de la secuencia del sistema Operación: Poscondiciones: 1. Si se trata de una nueva venta, fue creada una nueva Venta... terminarVenta 1. ... Contratos Cajero Sistema :TPDV introducirProducto (cup, cantidad) efectuarPago (monto) Colaboración

Notación básica de los diagramas de colaboración Representación gráfica de las clases y de las instancias. Venta :Venta s1:Venta Clase Instancia Instancia con nombre

Notación básica de los diagramas de colaboración Representación gráfica de los vínculos. :TPDV :Venta 1:agregarPago(efectivoOfrecido) Línea de vínculo mens1( )

Notación básica de los diagramas de colaboración Representación gráfica de los mensajes. :TPDV :Venta 1: mensaje1( ) 2: mensaje2( ) 3: mensaje3( ) Todos los mensajes fluyen sobre un mismo vínculo mens1( )

Notación básica de los diagramas de colaboración Representación gráfica de los parámetros. :TPDV :Venta 1:agregarPago(monto: Dinero) Parámetros mens1( )

Notación básica de los diagramas de colaboración Representación gráfica del mensaje de devolver valor. :TPDV :Venta 1: tot := total ( ): Entero Tipo del valor de retorno. mens1( ) Nombre del valor de retorno

Notación básica de los diagramas de colaboración Sintaxis de los mensajes. El lenguaje UML cuenta con una sintaxis estándar para los mensajes: retorno:=mensaje(parametro:tipoParametro):tipoRetorno :TPDV :Venta 1:agregarPago(efectivoOfrecido) Sintaxis estándar de mensajes en UML mens1( )

Notación básica de los diagramas de colaboración Representación gráfica de los mensajes al “emisor” o a “esto”. :TPDV mens1( ) 1:limpiar( )

Notación básica de los diagramas de colaboración Representación gráfica de la iteración. La iteración se indica posponiendo un asterisco (*) al número de secuencia. :TPDV :Venta 1*: li := siguienteLineadeProducto ( ): VentasLineadeProducto Iteración omitidos los valores de recurrencia mens1( )

Notación básica de los diagramas de colaboración Representación gráfica de la iteración. También es posible incluir una cláusula de iteración que indique los valores de recurrencia. :TPDV :Venta 1*: [i :=1..10] li:=siguienteLineadeProducto ( ): VentasLineadeProducto Clausula de iteración mens1( )

Notación básica de los diagramas de colaboración Representación gráfica de la iteración. Si se expresa más de un mensaje que ocurre dentro de la misma cláusula de iteración (por ejemplo, una serie de mensajes en un ciclo for), se repetirá la cláusula con cada mensaje. :A miB:B 1*: [i :=1..10] mens2( ) mens1( ) miC:C 2*: [i :=1..10] mens3( ) Las clausulas de la iteración son iguales

Notación básica de los diagramas de colaboración Representación gráfica de la creación de instancias :TPDV :Venta 1:crear(cajero) Crear mensaje, con parámetros opcionales de inicialización mens1( )

Notación básica de los diagramas de colaboración En varios lenguajes, el mensaje crear se traduce así: Significado de crear () Lenguaje Asignación automática u operador new seguido de una llamada a un constructor. C++ Operador new seguido de una llamada a un contructor. Java Mensaje new o una variación de new: seguido de mensaje initialize Smalltalk

Notación básica de los diagramas de colaboración Representación gráfica de la secuencia de número de los mensajes. El orden de los mensajes se indica con un número de secuencia. El esquema de la numeración es: 1. El primer mensaje no se numera. 2. El orden y el anidamiento de los mensajes siguientes se indican con un esquema legal de numeración, donde a los mensajes anidados se les ha antepuesto un número. La anidación se denota anteponiendo el número del mensaje de entrada al del mensaje de salida.

Notación básica de los diagramas de colaboración Numeración de secuencias. :ClaseA mens1( ) No numerada :ClaseB :ClaseC 1:mens2( ) 1.1:mens3( ) Numeración legal

Notación básica de los diagramas de colaboración Numeración compleja de secuencias. :ClaseA mens1( ) Primera :ClaseB :ClaseC 1:mens2( ) 1.1:mens3( ) :ClaseD 2.1:mens5( ) 2:mens4( ) 2.2:mens6( ) Segunda Tercera Cuarta Quinta Sexta

Notación básica de los diagramas de colaboración Representación gráfica de los mensajes condicionales. :TPDV mens1( ) Mensaje condicional, con prueba :Venta :VentasLinea deProducto 1:[nueva venta]crear( ) 1.1:crear( )

Notación básica de los diagramas de colaboración Representación gráfica de trayectorias condicionales mutuamente excluyentes. :ClaseE :ClaseA :ClaseD :ClaseB :ClaseC 2:mens6( ) mens1( ) 1a:[prueb1]mens2( ) 1b:[no prueb1]mens4( ) 1b.1:mens5( ) 1a.1:mens3( ) Incondicional tras mens2 o mens4 1a y 2b son trayectorias condicionales mutuamente excluyentes

Notación básica de los diagramas de colaboración Representación gráfica de las colecciones. Un multiobjeto, o conjunto de instancias, puede dibujarse como un incono de pila. ventas:Venta multiobjeto

Notación básica de los diagramas de colaboración Representación gráfica de los mensajes dirigidos a multiobjetos :Venta :VentasLinea deProducto 1: s:= tamaño( ):ent Mens1( ) Mensaje enviado al objeto colección

Notación básica de los diagramas de colaboración Representación gráfica de los mensajes dirigidos a un objeto clase. :Venta Fecha 1: d1:= hoy( ):Fecha Mensaje de clase mens1( ) No subrayada; por tanto una clase

Modelo de diseño Modelo de diseño a. modelo estático b. modelo dinámico Modelo de casos de uso para el diseño b Modelo de arquitectura a Modelo del comporta- miento de objetos b clases a Modelo de estado para el diseño b Casos de uso - reales Diagramas de casos de uso Diagramas de paquetes de despliegue Diagramas de interacción Contratos para métodos y operaciones Diagramas de clases de diseño (diagramas de estructura estáticos) Diagramas de estado para clases