Modelo de diseño a. modelo estático b. modelo dinámico Modelo de casos de uso para el diseño b...

35
Modelo de diseño 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 Modelo de clases a Modelo de estado para el diseño b Diagramas de paquetes Diagramas 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 de uso - reales Diagramas de casos de uso

Transcript of Modelo de diseño a. modelo estático b. modelo dinámico Modelo de casos de uso para el diseño b...

Page 1: 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.

Modelo de diseñoModelo de diseño

Modelo de diseñoa. modelo estático

b. modelo dinámico

Modelo de casos deuso para el diseño b

Modelo dearquitectura a

Modelo del comporta-miento de objetos b

Modelo declases a

Modelo de estadopara el diseño b

Diagramasde paquetes

Diagramas de despliegue

Diagramasde interacción

Contratos paramétodos y operaciones

Diagramas declases de diseño(diagramas de

estructura estáticos)

Diagramas deestado para

clases

Casos de uso- reales

Diagramas de casos de uso

Page 2: 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.

Casos reales de usoCasos 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.

Page 3: 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.

Ejemplo: Comprar productosEjemplo: 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:

Page 4: 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.

Curso normal de los eventos

Respuesta del sistema

Ejemplo: Comprar productosEjemplo: Comprar productos

Acción de los actores

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.

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

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.5. Calcula y presenta en C el total de la venta.

6. ...

Page 5: 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.

Diagramas de interacciónDiagramas de interacción

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.

Se realizan en la fase de diseño de un ciclo dedesarrollo.

Page 6: 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.

Diagramas de interacciónDiagramas 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.

Page 7: 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.

Diagramas de interacciónDiagramas 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.

Page 8: 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.

Diagramas de interacciónDiagramas 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:

:ClaseAInstanciamensaje1( )

:ClaseBInstancia

1:mensaje2( )2:mensaje3( )

Page 9: 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.

Diagramas de interacciónDiagramas 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( )

Page 10: 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.

Ejemplo de un diagrama de Ejemplo de un diagrama de colaboración:colaboración:efectuarPagoefectuarPago

:TPDVefectuarPago(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

Page 11: 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.

Ejemplo de un diagrama de Ejemplo de un diagrama de colaboración:colaboración:efectuarPagoefectuarPago

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

Page 12: 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.

Cómo preparar diagramas de Cómo preparar diagramas de colaboracióncolaboració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.

Page 13: 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.

Cómo preparar diagramas de Cómo preparar diagramas de colaboracióncolaboració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.

Page 14: 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.

Los diagramas de colaboración y otros Los diagramas de colaboración y otros artefactosartefactos

introducirProducto(cup,

cantidad)

terminarVenta()

efectuarPago(monto)

Diagrama de la secuenciadel sistema

Operación:introducirProducto

Poscondiciones:1. Si se trata de unanueva venta, fue creadauna nueva Venta...

Operación:terminarVenta

Poscondiciones:1. ...

Contratos

Cajero Sistema

:TPDV

:TPDV

introducirProducto (cup, cantidad)

efectuarPago (monto)

Diagrama de Colaboración

Page 15: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de las clases y de las instancias.

Venta :Venta s1:Venta

Clase Instancia Instancia con nombre

Page 16: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de los vínculos.

:TPDV :Venta1:agregarPago(efectivoOfrecido)

Línea de vínculo

mens1( )

Page 17: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de los mensajes.

:TPDV :Venta

1: mensaje1( ) 2: mensaje2( )3: mensaje3( )

Todos los mensajesfluyen sobre un mismo

vínculo

mens1( )

Page 18: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de los parámetros.

:TPDV :Venta1:agregarPago(monto: Dinero)

Parámetros

mens1( )

Page 19: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica del mensaje de devolver valor.

:TPDV :Venta1: tot := total ( ): Entero

Tipo del valorde retorno.

mens1( )

Nombre delvalor de retorno

Page 20: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Sintaxis de los mensajes.

El lenguaje UML cuenta con una sintaxis estándar para los

mensajes:

:TPDV :Venta1:agregarPago(efectivoOfrecido)

Sintaxisestándar de mensajes en UML

mens1( )

retorno:=mensaje(parametro:tipoParametro):tipoRetorno

Page 21: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de los mensajes al “emisor” o a “esto”.

:TPDV

mens1( )

1:limpiar( )

Page 22: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de la iteración.La iteración se indica posponiendo un asterisco (*) alnúmero de secuencia.

:TPDV :Venta

1*: li := siguienteLineadeProducto ( ): VentasLineadeProducto

Iteración

omitidos los valoresde recurrencia

mens1( )

Page 23: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboració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( )

Page 24: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de la iteración.

:A miB:B1*: [i :=1..10] mens2( )

mens1( )

miC:C2*: [i :=1..10] mens3( )

Las clausulas de laiteración son iguales

Si se expresa más de un mensaje que ocurre dentro de lamisma cláusula de iteración (por ejemplo, una serie demensajes en un ciclo for), se repetirá la cláusula con cadamensaje.

Page 25: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de la creación de instancias

:TPDV :Venta1:crear(cajero)

Crear mensaje, con parámetros opcionalesde inicialización

mens1( )

Page 26: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

En varios lenguajes, el mensaje crear se traduce así:

Mensaje new o una variación de new:seguido de mensaje initialize

Smalltalk

Significado de crear ()Lenguaje

Asignación automática u operador newseguido de una llamada a un constructor.

C++

Operador newseguido de una llamada a un contructor.

Java

Page 27: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboració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 desecuencia. 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.

Page 28: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Numeración de secuencias.

:ClaseAmens1( )

No numerada

:ClaseB

:ClaseC

1:mens2( )

1.1:mens3( )

Numeración legal

Page 29: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Numeración compleja de secuencias.

:ClaseAmens1( )

Primera

:ClaseB

:ClaseC

1:mens2( )

1.1:mens3( )

:ClaseD

2.1:mens5( )2:mens4( )

2.1:mens5( )

2.2:mens6( )

Segunda Tercera

Cuarta

Quinta

Sexta

Page 30: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de los mensajes condicionales.

:TPDVmens1( )

Mensaje condicional,con prueba

:Venta

:VentasLineadeProducto

1:[nueva venta]crear( )

1.1:crear( )

Page 31: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboració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 trasmens2 o mens4

1a y 2b son trayectoriascondicionales mutuamente

excluyentes

Page 32: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de las colecciones.

ventas:Venta multiobjeto

Un multiobjeto, o conjunto de instancias, puede dibujarsecomo un incono de pila.

Page 33: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de los mensajes dirigidos a multiobjetos

:Venta:VentasLineadeProducto

1: s:= tamaño( ):ent

Mens1( )

Mensaje enviadoal objeto colección

Page 34: 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.

Notación básica de los diagramas de Notación básica de los diagramas de colaboracióncolaboración

• Representación gráfica de los mensajes dirigidos a un objeto clase.

:Venta Fecha1: d1:= hoy( ):Fecha

Mensaje de clase

mens1( )

No subrayada;por tanto una clase

Page 35: 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.

Modelo de diseñoModelo de diseño

Modelo de diseñoa. modelo estático

b. modelo dinámico

Modelo de casos deuso para el diseño b

Modelo dearquitectura a

Modelo del comporta-miento de objetos b

Modelo declases a

Modelo de estadopara el diseño b

Casos de uso- reales

Diagramas de casos de uso

Diagramasde paquetes

Diagramas de despliegue

Diagramas declases de diseño(diagramas de

estructura estáticos)

Diagramas deestado para

clases

Diagramasde interacción

Contratos paramétodos y operaciones