Del análisis al diseño. conclusión de la fase del análisis. diagramas de colaboración

17,455 views

Published on

UTN-FRT. Cátedra de Diseño de Sistemas. 3K1. 2011. Unidad III. Del Análisis al Diseño. Conclusión de la Fase de Análisis. Casos Reales de Uso. Diagramas de Colaboración. Notación

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
17,455
On SlideShare
0
From Embeds
0
Number of Embeds
7,617
Actions
Shares
0
Downloads
292
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Del análisis al diseño. conclusión de la fase del análisis. diagramas de colaboración

  1. 1. Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
  2. 2. Contenidos de la Unidad 3 Diseño Orientado a Objetos I <ul><li>Diseño orientado a Objeto I </li></ul>Craig Larman , Cap 15. <ul><li>Casos de Uso Reales </li></ul>  Cap. 16 <ul><li>Diagrama de Interacción </li></ul>  Cap. 17 <ul><ul><li>Diagrama de Secuencia. </li></ul></ul>  <ul><ul><li>Diagramas de Comunicación (UML 2)/ Colaboración (UML 1.1) </li></ul></ul>  <ul><li>Patrones de Diseño. </li></ul>Cap. 18 <ul><ul><li>Patrones creacionales </li></ul></ul>  <ul><ul><li>Patrones Estructurales </li></ul></ul>  <ul><ul><li>Patrones de Comportamiento </li></ul></ul>  <ul><ul><li>GRAPS (Experto, Creador, Alta Cohesión, Bajo Acoplamiento, Controlador) </li></ul></ul> 
  3. 3. DEL ANÁLISIS AL DISEÑO CONCLUSIÓN DE LA FASE DE ANÁLISIS Craig Larman, Caps. 15 y 16 Ingeniería en Sistemas de Información
  4. 4. DISEÑO DE SISTEMAS En la fase de análisis se da prioridad al conocimiento de los requerimientos , los conceptos y las operaciones relacionadas con el sistema. Nos centramos en cuestiones concernientes al qué : cuáles son los procesos, los conceptos , etc. En UML, los artefactos que sirven para capturar los resultados de una investigación en la fase de Análisis son:
  5. 5. DISEÑO DE SISTEMAS Transición del Análisis al Diseño INICIO DE LA FASE DE DISEÑO Se pasa a la fase del diseño, una vez terminados estos documentos del análisis. Su esencia es la elaboración de diagramas de interacción , que muestran gráficamente cómo los objetos se comunicarán entre ellos a fin de cumplir con los requerimientos. Luego, los diagramas de interacción nos permitirán dibujar Diagramas de Diseño de Clases que definen las clases (e interfaces) implementables en software. Para preparar los Diagramas de Interacción hay que aplicar Principios de Asignación de Responsabilidades (usar los Patrones de Diseño ) .
  6. 6. DISEÑO DE SISTEMAS Transición del Análisis al Diseño Casos Reales de Uso Los Casos Reales de Uso presentan un diseño concreto del Caso de Uso. Es una de las primeras actividades en el ciclo de desarrollo. Su creación depende de los Casos Esenciales de Uso generados en el Análisis. 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, y su implementación global. Por ejemplo, si hay 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.
  7. 7. DISEÑO DE SISTEMAS Transición del Análisis al Diseño
  8. 8. DISEÑO DE SISTEMAS Transición del Análisis al Diseño
  9. 9. DISEÑO DE SISTEMAS Diagramas de Colaboración DIAGRAMAS DE COLABORACIÓN Diagramas de Interacción => explican gráficamente cómo los objetos interactúan a través de mensajes para realizar las tareas.
  10. 10. Un Diagrama de Interacción explica gráficamente las interacciones existentes entre las instancias. Su punto de partida es el cumplimiento de las postcondiciones de los contratos de una operación. Hay dos tipos de estos diagramas: ambos sirven para expresar interacciones semejantes : 1. - Diagramas de Colaboración. 2. - Diagramas de Secuencia . DISEÑO DE SISTEMAS Diagramas de Colaboración    
  11. 11. DISEÑO DE SISTEMAS Diagramas de Colaboración Diagramas de Colaboración => describen las interacciones entre los objetos en un formato de grafo o red:
  12. 12. DISEÑO DE SISTEMAS Diagramas de Colaboración Diagramas de Secuencia => describen las interacciones en una especie de formato de cerca o muro: :ClaseAInstancia :ClaseBInstancia mensaje1() mensaje2() mensaje3()
  13. 13. DISEÑO DE SISTEMAS Diagramas de Colaboración Preferimos los Diagramas de Colaboración => Son más expresivos, comunican más información en menos espacio. Ejemplo de un diagrama de colaboración: efectuarPago. instancia parámetro :CAJA :Venta efectuarPago(efectivoOfrecido) 1: efectuarPago(efectivoOfrecido) :Pago 1.1: crear(efectivoOfrecido) primer mensaje línea de enlace dirección del mensaje primer mensaje interno
  14. 14. DISEÑO DE SISTEMAS Diagramas de Colaboración <ul><li>Este Diagrama de Colaboración se lee así: </li></ul><ul><li>El mensaje efectuarPago se envía a una instancia de CAJA . La instancia corresponde al mensaje efectuarPago de la operación del sistema. </li></ul><ul><li>2) El objeto CAJA envía el mensaje efectuarPago a la instancia Venta. </li></ul><ul><li>3) El objeto Venta crea una instancia de un Pago. </li></ul>
  15. 15. DISEÑO DE SISTEMAS Diagramas de Colaboración Los diagramas de interacción son un artefacto de gran utilidad <ul><li>Constituyen un artefacto muy importante para la estructuración de las etapas posteriores. </li></ul><ul><li>El tiempo y el esfuerzo dedicados a su preparación deberían absorber un porcentaje considerable del proyecto. </li></ul><ul><li>Para mejorar la calidad de su diseño, es posible aplicar patrones, principios y expresiones codificados. </li></ul>Los principios de diseño necesarios para construir eficazmente los diagramas de interacción pueden codificarse, explicarse y aplicarse metódicamente.
  16. 16. DISEÑO DE SISTEMAS Diagramas de Colaboración Ahora, veamos la notación de UML para los diagramas de colaboración. Luego veremos los principios y directrices para elaborarlos correctamente. Cómo preparar diagramas de colaboración <ul><li>Elabore el diagrama por cada operación del sistema. </li></ul><ul><li>2) Para cada mensaje del sistema, dibuje un diagrama incluyéndolo como mensaje inicial. </li></ul><ul><li>3) Si el diagrama se torna complejo (por ejemplo, si no cabe en una hoja), divídalo en diagramas mas pequeños. </li></ul><ul><li>4) Diseñe un sistema de objetos interactivos que realicen las tareas, usando como punto de partida las responsabilidades obtenidas de los contratos. </li></ul>
  17. 17. DISEÑO DE SISTEMAS Diagramas de Colaboración Los diagramas de colaboración y otros artefactos efectuarPago(monto ) Cajero Sistemaa IntroducirProducto (cup, cantidad) terminarVenta() Diagrama de la Secuencia del Sistema Operación: introducirProducto Poscondiciones: 1. Si se trata de una nueva venta, se creo una nueva Venta... Operación: efectuarPago Poscondiciones: 1. ... Contratos :CAJA :CAJA introducirProducto (cup, cantidad) efectuarPago(monto) Diagrama de Colaboración
  18. 18. DISEÑO DE SISTEMAS Diagramas de Colaboración <ul><li>Relación entre los artefactos </li></ul><ul><li>Como se observa en la figura, la relación entre los artefactos incluye lo siguiente: </li></ul><ul><li>Los casos de uso indican los eventos del sistema que se muestran explícitamente en los diagramas de secuencia. </li></ul><ul><li>En los contratos se describen las operaciones del sistema. </li></ul><ul><li>Las operaciones del sistema representan mensajes y éstos originan diagramas que explican gráficamente cómo los objetos interactúan para llevar a cabo las funciones requeridas (Diagramas de Colaboración). </li></ul>
  19. 19. DISEÑO DE SISTEMAS Diagramas de Colaboración Notación básica de los diagramas de colaboración Un nombre de una instancia sirve para identificarla de modo inequívoco.
  20. 20. DISEÑO DE SISTEMAS Diagramas de Colaboración
  21. 21. DISEÑO DE SISTEMAS Diagramas de Colaboración 3. Representación gráfica de los mensajes Los mensajes entre objetos pueden representarse por medio de una flecha con un nombre y situada sobre una línea de vínculo. Por un vínculo puede fluir un número indefinido de mensajes. Se agrega un número de secuencia que indique el orden consecutivo de los mensajes. : CAJA : Venta mensaje1() 1: mensaje1 () 2: mensaje2 () 3: mensaje3 () Todos los mensajes fluyen sobre un mismo vínculo
  22. 22. DISEÑO DE SISTEMAS Diagramas de Colaboración 4.Representación gráfica de los parámetros Los parámetros de un mensaje van dentro de un paréntesis después del nombre del mensaje. Es opcional incluir el tipo de parámetro. : CAJA :Venta 1: agregarPago (monto: Dinero) parámetros mensaje1()
  23. 23. DISEÑO DE SISTEMAS Diagramas de Colaboración 5.Representación gráfica del mensaje de devolver valor. Puede incluirse un valor de retorno anteponiendo al mensaje un nombre de variable de esa instrucción y un operador de asignación (“:=”). Es opcional mostrar el tipo del valor de retorno.  : CAJA :Venta 1: tot := total () : Entero tipo del valor de retorno nombre del valor de retorno mensaje1()
  24. 24. DISEÑO DE SISTEMAS Diagramas de Colaboración 6. Sintaxis de los mensajes: El lenguaje UML cuenta con una sintaxis estándar para los mensajes: Retorno : mensaje (parametro : tipoparametro) : tiporetorno Pueden usarse sintaxis de Java o Smalltalk. 7. Representación gráfica de los mensajes al “emisor”: Puede enviarse un mensaje de un objeto a sí mismo. 1: limpiar() : CAJA mensaje1()
  25. 25. DISEÑO DE SISTEMAS Diagramas de Colaboración 8. Representación gráfica de la iteración: La iteración se indica posponiendo un asterisco (*) al número de secuencia. Ese símbolo significa que, dentro de un ciclo, el mensaje va a ser enviado repetidamente al receptor. : CAJA :Venta 1*: li := siguienteLineadeProducto ():VentasLineadeProducto Iteración omitiendo los valores de recurrencia mensaje1()
  26. 26. DISEÑO DE SISTEMAS Diagramas de Colaboración También se puede incluir una cláusula de iteración con los valores de recurrencia : Si más de un mensaje ocurre dentro de la misma cláusula de iteración (por ejemplo, varios mensajes en un ciclo for ), se repetirá la cláusula con cada mensaje: : CAJA :Venta cláusula de iteración 1*:[ i :=1..10] li := siguientelineadeproducto ():VentasLineadeProducto mensaje1()
  27. 27. DISEÑO DE SISTEMAS Diagramas de Colaboración :A miB :B miC :C mensaje1() 1 * :[i:=1..10] mensaje2() 2 * :[i:=1..10] mensaje3() Las cláusulas de iteración (i) son iguales msg1() { for i:=1 to 10 { miB.mensaje2() miC.mensaje3() } }
  28. 28. DISEÑO DE SISTEMAS Diagramas de Colaboración 9.Representación gráfica de la creación de instancias: El mensaje de creación es “ crear” , que se muestra en el momento de ser enviado a la instancia que vamos a generar. Es opcional que la nueva instancia contenga un símbolo «nuevo» . El mensaje crear puede contener parámetros, que indica la transferencia de valores iniciales. 1 : crear (cajero) «new» :Venta crear mensaje, con parámetros opcionales de iniacialización nueva instancia creada “ nuevo” o “new” se permite opcionalmente para dar énfasis mensaje1() : CAJA :Venta
  29. 29. DISEÑO DE SISTEMAS Diagramas de Colaboración 10.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 . Reglas: El primer mensaje no se numera. El orden y el anidamiento de los mensajes siguientes se indican con un esquema legal de numeración .
  30. 30. DISEÑO DE SISTEMAS Diagramas de Colaboración :ClaseA :ClaseB :ClaseC :ClaseD mensaje1() 1: mensaje2() 1.1: mensaje3() 2.1: mensaje5() 2: mensaje4() 2.2: mensaje6() primera segunda tercera cuarta quinta sexta
  31. 31. DISEÑO DE SISTEMAS Diagramas de Colaboración 11. Representación gráfica de los mensajes condicionales: Un mensaje condicional se indica posponiendo al número de la secuencia una cláusula condicional entre corchetes (parecido a como se hace con una cláusula de iteración). El mensaje se envía sólo si la cláusula se evalúa como verdadera . :CAJA :ClaseB :VentaslineadeProducto 1: [nueva venta] crear() 1.1: crear() mensaje condicional, con prueba mensaje1()
  32. 32. DISEÑO DE SISTEMAS Diagramas de Colaboración 12. Representación gráfica de trayectorias condicionales mutuamente excluyentes: Trayectorias que se excluyen mutuamente :ClaseA :ClaseB mensaje1() 1a : [prueb1] mens2() 1a.1: mens3() :ClaseC :ClaseD 2: mens6() 1b.1 : mens5() 1b: [no prueb1] mens4() :ClaseE incondicional tras mens2 o mens4 1a y 1b son trayectorias condicionales mutuamente excluyentes
  33. 33. DISEÑO DE SISTEMAS Diagramas de Colaboración En este caso es necesario agregar una letra en la trayectoria condicional. Por convención, la primera letra en usarse es a. Tanto 1a como 1b podrían ejecutarse después de mens1() . Ambas tienen el número de secuencia 1 porque pueden ser el primer mensaje interno . Observe los subsecuentes mensajes anidados. 1b.1 es un mensaje anidado dentro de 1b .
  34. 34. DISEÑO DE SISTEMAS Diagramas de Colaboración 13. Representación gráfica de las colecciones: Un multiobjeto , o conjunto de instancias, se dibuja como un icono de pila. Un multiobjeto se implementa como un grupo de instancias guardadas en un contenedor u objeto colección. Representa tan sólo un conjunto lógico de instancias. Ventas: Venta
  35. 35. DISEÑO DE SISTEMAS Diagramas de Colaboración 14.Representación gráfica de mensajes dirigidos a multiobjetos: Un mensaje dirigido a un icono de multiobjetos indica que se envía al objeto colección. No a todos sus elementos. :Venta :VentasLinea deProducto mensaje1() 1: s := tamaño():ent mensaje enviado al objeto colección
  36. 36. DISEÑO DE SISTEMAS Diagramas de Colaboración 15. Representación gráfica de los mensajes dirigidos a un objeto «Clase»: Los mensajes pueden también ser dirigidos a una clase y no únicamente a una instancia: :Venta Fecha mensaje1() 1: d1 := hoy():Fecha mensaje a clase

×