Applying UML and Patterns (Capítulos 11,12,13,14 y 15)

Documentos relacionados
Capítulo 16. Diagrama de Clases UML

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

Diagramas De Casos De Uso

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

Elementos Diagramas de Clases Clase:

Diseño. Diseño. Interacción. Aspectos comunes en interacción. Diagramas de Interacción. Curso de Arquitecturas de Software

Diagramas de interacción

Diagramas de interacción

Cristian Blanco

Diagramas de secuencia

Lenguaje de Modelamiento Unificado.

Descripción del Curso

20483 Programación en C#

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

Diseño arquitectónico 1ª edición (2002)

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010


Programación Avanzada. Análisis Especificación del Comportamiento del Sistema

Análisis y Diseño de Sistemas

CLA. Diagramas de clases en Métrica V3

Tema: Herramientas UML, Análisis y diseño UML

Guía del Curso Analista Programador Java: Business Apps Expert

CASOS DE USO Exploración de Requerimientos

Planificaciones Análisis de la Información. Docente responsable: GONZALEZ NORBERTO DANIEL. 1 de 6

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

Diagramas de secuencia

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

Capacitación adquirida por el alumno al finalizar este modulo

El Lenguaje Unificado de Modelado (UML)

UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson

Análisis y Diseño Orientado a Objetos

Patrones. Patrones GRASP GRASP GRASP. Curso de Arquitecturas de Software. Programación Orientada a Objetos Patrones GRASP

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

Objetivos y Temario CURSO VISUAL BASIC 2010

Unidad II. Metodología para resolver problemas aplicando la POO. Parte 1

Aseguramiento de Calidad en el Desarrollo de Software Libre

DIAGRAMAS DE UML DIAGRAMAS DE CASO DE USO

Análisis y Diseño de Sistemas

Programación Avanzada. Desarrollo Orientado a Objetos basado en UML

Horas Contacto. Modelar gráficamente la solución de problemas con un enfoque Orientado a Objetos, usando un lenguaje de modelado, en este caso UML.

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

A continuación se describe con mayor detalle cada una de tales unidades:

TEMA 9: DIAGRAMA DE OBJETOS, SECUENCIA Y DESPLIEGUE EN UML

Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta

El proceso de diseño. Análisis de tareas

TEMA 4. PROCESO UNIFICADO

Desarrollador de Aplicaciones Web con Java

Diseño y Desarrollo Web. Espinola Raul 2008 basado en una Presentación de G. Gaona.

Resultado de Aprendizaje:

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

Curso Microsoft SharePoint Server 2010 Designing and Developing Applications (10232)

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

Guía práctica de estudio 05: Diagramas de flujo

JAVA 7 Los fundamentos del lenguaje Java

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Curso Taller de Arquitectura de Software usando UML

Developing ASP.NET MVC 4 Web Applications

Capítulo 2.- Marco Teórico

Una dirección IP es una secuencia de unos y ceros de 32 bits. La Figura muestra un número de 32 bits de muestra.

Ingeniería a de Software CC51A

Modelado Básico con Casos de Uso. Diseño de Software Avanzado Departamento de Informática

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

CLASE 4: CASOS DE USO REQUERIMIENTOS. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette Martínez

El Proceso. Capítulo 2 Roger Pressman, 5 a Edición. El Proceso de Desarrollo de Software

Desarrollo Orientado a Objetos en Métrica v. 3

DIAGRAMAS DE UML. Prof. Wenceslao Chávez Bedoya

Estructuras Administrativas

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos

SILABO DE LA ASIGNATURA INGENIERIA DEL SOFTWARE

Sistemas de Información II Requerimientos. Análisis de Requisitos

ELECTIVA III. Entregables Minimos

De Desempeño De Conocimiento SABERES ESENCIALES CONTENIDOS RUTA FORMATIVA Saber Conocer Nociones, Proposiciones, Conceptos Categorías

5.2. Combinar celdas Ajustar texto a la celda Insertar filas y columnas Insertar filas Insertar columnas. 5.5.

Principios de Análisis Informático. Tema 3: Fase de inicio

ESCUELA: UNIVERSIDAD DEL ISTMO

METODOLOGÍAS ÁGILES. Proceso Unificado Ágil (AUP) Ingeniería del Software II Análisis de Sistemas

Índice de contenido. Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE LENGUAJE DE PROGRAMACIÓN

El Ciclo de Vida del Software

Oracle Database: Programación con PL/SQL

Tema: Clases y Objetos en C#. Parte II.

Proceso Unificado (Iterativo e incremental)

TEMA 7: INGENIERIA DEL SOFTWARE.

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Guía práctica de estudio 04: Clases y objetos

Algoritmos y programas. Algoritmos y Estructuras de Datos I

PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype

Casos de Uso. Introducción. Actores

TEMA 4. ESTRUCTURAS DE CONTROL

NOMBRE DEL CURSO: Excel 2010 Intermedio

BUENAS PRACTICAS EN DESARROLLO DE SOFTWARE APUNTES DE UNA EXPERIENCIA

Requerimientos de Software

Transcripción:

Applying UML and Patterns (Capítulos 11,12,13,14 y 15) Giomara LÁRRAGA MALDONADO CINVESTAV-Tamaulipas 10 de Octubre de 2012 Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 1 / 106

Capítulo 11: Contratos de operación Contenido 1 Capítulo 11: Contratos de operación Introducción Secciones de un contrato Operación del sistema Postcondiciones Preguntas frecuentes Aplicando UML: Operaciones, Contratos, y OCL Contratos de operación en el Proceso Unificado Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 2 / 106

Contenido Capítulo 11: Contratos de operación Introducción 1 Capítulo 11: Contratos de operación Introducción Secciones de un contrato Operación del sistema Postcondiciones Preguntas frecuentes Aplicando UML: Operaciones, Contratos, y OCL Contratos de operación en el Proceso Unificado Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 3 / 106

Introducción Capítulo 11: Contratos de operación Introducción Los contratos de operación utilizan una forma de pre-y post-condición para describir los cambios detallados a objetos en un modelo de dominio, como resultado de una operación del sistema. Los contratos de operación pueden ser considerados como parte del Modelo de Casos de Uso, ya que proporcionan un análisis detallado sobre el efecto de las operaciones del sistema implicados en los casos de uso. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 4 / 106

Contenido Capítulo 11: Contratos de operación Secciones de un contrato 1 Capítulo 11: Contratos de operación Introducción Secciones de un contrato Operación del sistema Postcondiciones Preguntas frecuentes Aplicando UML: Operaciones, Contratos, y OCL Contratos de operación en el Proceso Unificado Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 5 / 106

Capítulo 11: Contratos de operación Secciones de un contrato Secciones de un contrato Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 6 / 106

Capítulo 11: Contratos de operación Secciones de un contrato Secciones de un contrato Descripción de los campos del contrato de operación: Operación: Nombre de la operación y parámetros. Referencias cruzadas: Casos de uso con los que esta operación puede ocurrir. Precondiciones: Suposiciones notables sobre el estado del sistema o de los objetos en el modelo de dominio antes de la ejecución de la operación. Postcondiciones: El estado de los objetos en el modelo de dominio después de completar la operación. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 7 / 106

Contenido Capítulo 11: Contratos de operación Operación del sistema 1 Capítulo 11: Contratos de operación Introducción Secciones de un contrato Operación del sistema Postcondiciones Preguntas frecuentes Aplicando UML: Operaciones, Contratos, y OCL Contratos de operación en el Proceso Unificado Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 8 / 106

Capítulo 11: Contratos de operación Operación del sistema Operación del sistema Los contratos de operación se pueden definir para operaciones del sistema que éste ofrece en su interfaz pública como una caja negra. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 9 / 106

Contenido Capítulo 11: Contratos de operación Postcondiciones 1 Capítulo 11: Contratos de operación Introducción Secciones de un contrato Operación del sistema Postcondiciones Preguntas frecuentes Aplicando UML: Operaciones, Contratos, y OCL Contratos de operación en el Proceso Unificado Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 10 / 106

Postcondiciones Capítulo 11: Contratos de operación Postcondiciones Las postcondiciones describen los cambios en el estado de los objetos en el modelo de dominio. Los cambios de estado en el Modelo de Dominio incluyen instancias creadas, las asociaciones formadas o rotas, y atributos cambiados. Las postcondiciones no son acciones que deben realizarse durante la operación. Un contrato es una excelente herramienta de análisis de requisitos u OOA que describe con gran detalle los cambios que requiere una operación del sistema (en términos de los objetos de modelo de dominio) sin tener que describir cómo se van a lograr. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 11 / 106

Contenido Capítulo 11: Contratos de operación Preguntas frecuentes 1 Capítulo 11: Contratos de operación Introducción Secciones de un contrato Operación del sistema Postcondiciones Preguntas frecuentes Aplicando UML: Operaciones, Contratos, y OCL Contratos de operación en el Proceso Unificado Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 12 / 106

Capítulo 11: Contratos de operación Preguntas frecuentes Preguntas frecuentes Se debe actualizar el modelo de dominio?: En los métodos iterativos y evolutivos, todos los artefactos de análisis y diseño se consideran parciales e imperfectos, y evolucionan en respuesta a los nuevos descubrimientos. Cuándo son útiles los contratos?: Cuando los detalles y la complejidad de los cambios de estado necesarios son difíciles o demasiado detallados para capturar en casos de uso. Si los desarrolladores fácilmente puede entender qué hacer sin ellos, entonces se evita escribirlos. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 13 / 106

Capítulo 11: Contratos de operación Preguntas frecuentes Preguntas frecuentes Cómo crear y escribir contratos? 1 Identificar las operaciones del sistema a partir de los Diagramas de Secuencia. 2 Construir un contrato para las operaciones del sistema que son complejas y posiblemente delicadas en sus resultados, o que no están claras en los casos de uso. 3 Para describir las postcondiciones, utilice las siguientes categorías: Creación y eliminación de instancias. Modificación de atributos. Asociaciones creadas y rotas. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 14 / 106

Contenido Capítulo 11: Contratos de operación Aplicando UML: Operaciones, Contratos, y OCL 1 Capítulo 11: Contratos de operación Introducción Secciones de un contrato Operación del sistema Postcondiciones Preguntas frecuentes Aplicando UML: Operaciones, Contratos, y OCL Contratos de operación en el Proceso Unificado Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 15 / 106

Capítulo 11: Contratos de operación Aplicando UML: Operaciones, Contratos, y OCL Aplicando UML: Operaciones, Contratos, y OCL El UML define operaciones semánticas a través de limitaciones, que se especifican usando precondiciones y postcondiciones. Una especificación de operación UML, puede no mostrar un algoritmo o solución, sino sólo los cambios de estado o los efectos de la operación. Los contratos se pueden aplicar a las operaciones en cualquier nivel de granularidad. El OCL (Object Constraint Language) define un formato oficial para la especificación de pre y postcondiciones de las operaciones, como se demuestra en el siguiente fragmento: System :: makenewsale () pre: <statements en OCL> post:... iomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 16 / 106

Contenido Capítulo 11: Contratos de operación Contratos de operación en el Proceso Unificado 1 Capítulo 11: Contratos de operación Introducción Secciones de un contrato Operación del sistema Postcondiciones Preguntas frecuentes Aplicando UML: Operaciones, Contratos, y OCL Contratos de operación en el Proceso Unificado Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 17 / 106

Capítulo 11: Contratos de operación Contratos de operación en el Proceso Unificado Contratos de operación en el Proceso Unificado Fases: Inicialización: No son creados en ésta etapa ya que son muy detallados. Elaboración: Si se decide utilizarlos, son escritos durante la etapa de elaboración, ya que ha sido escrita la mayor parte de los casos de uso. Sólo se hacen contratos para las operaciones más complejas y sutiles. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 18 / 106

Capítulo 12: Requerimientos para diseñar iterativamente Contenido 2 Capítulo 12: Requerimientos para diseñar iterativamente Introducción Haz lo correcto iterativamente, haz las cosas bien Provocando el cambio temprano No todo ese análisis y modelado toman semanas en realizarse? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 19 / 106

Capítulo 12: Requerimientos para diseñar iterativamente Contenido Introducción 2 Capítulo 12: Requerimientos para diseñar iterativamente Introducción Haz lo correcto iterativamente, haz las cosas bien Provocando el cambio temprano No todo ese análisis y modelado toman semanas en realizarse? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 20 / 106

Capítulo 12: Requerimientos para diseñar iterativamente Introducción Introducción En éste capítulo se concluye el trabajo de análisis y se comienza con la primera iteración de la etapa de elaboración. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 21 / 106

Capítulo 12: Requerimientos para diseñar iterativamente Contenido Haz lo correcto iterativamente, haz las cosas bien 2 Capítulo 12: Requerimientos para diseñar iterativamente Introducción Haz lo correcto iterativamente, haz las cosas bien Provocando el cambio temprano No todo ese análisis y modelado toman semanas en realizarse? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 22 / 106

Capítulo 12: Requerimientos para diseñar iterativamente Haz lo correcto iterativamente, haz las cosas bien Haz lo correcto iterativamente, haz las cosas bien Los requisitos y el análisis orientado a objetos se han centrado en aprender a hacer lo correcto, es decir, la comprensión de algunos de los objetivos pendientes de los casos de estudio y las normas y limitaciones relacionadas. Por el contrario, el siguiente trabajo de diseño se esfuerza en hacer las cosas bien, es decir, con habilidad de diseñar una solución para satisfacer los requisitos de esta iteración. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 23 / 106

Capítulo 12: Requerimientos para diseñar iterativamente Contenido Provocando el cambio temprano 2 Capítulo 12: Requerimientos para diseñar iterativamente Introducción Haz lo correcto iterativamente, haz las cosas bien Provocando el cambio temprano No todo ese análisis y modelado toman semanas en realizarse? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 24 / 106

Capítulo 12: Requerimientos para diseñar iterativamente Provocando el cambio temprano Provocando el cambio temprano Es natural y saludable descubrir y cambiar algunos requisitos durante el trabajo de diseño e implementación, especialmente en las primeras iteraciones, de modo que tenemos una meta más estable para las iteraciones posteriores. En el transcurso de las iteraciones de elaboración tempranas, el descubrimiento de requisitos se debe estabilizar, por lo que al final de la elaboración, quizás el 80 % de los requisitos son definidos y refinados como resultado de la retroalimentación, la programación temprana y las pruebas, en lugar de la especulación, como se produce con el método de cascada. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 25 / 106

Capítulo 12: Requerimientos para diseñar iterativamente Contenido No todo ese análisis y modelado toman semanas en realizarse? 2 Capítulo 12: Requerimientos para diseñar iterativamente Introducción Haz lo correcto iterativamente, haz las cosas bien Provocando el cambio temprano No todo ese análisis y modelado toman semanas en realizarse? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 26 / 106

Capítulo 12: Requerimientos para diseñar iterativamente No todo ese análisis y modelado toman semanas en realizarse? No todo ese análisis y modelado toman semanas en realizarse? Cuando uno se siente cómodo con sus habilidades de escritura de casos de uso, modelos de dominio,etc., el tiempo para hacer todo el modelado es de sólo unas pocas horas o días. Eso no significa que sólo unos pocos días han pasado desde el comienzo del proyecto. Muchas otras actividades, tales como la programación de prueba de concepto, búsqueda de recursos (personas, software,...), la planificación, la configuración del entorno, etc., podrían consumir un par de semanas de preparación. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 27 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Contenido 3 Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Introducción Qué es la arquitectura de software? Aplicando UML: Diagramas de paquetes Diseñar en capas El principio de separación Modelo-Vista Cuál es la conexión entre los SSD, operaciones del sistema, y las capas? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 28 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Contenido Introducción 3 Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Introducción Qué es la arquitectura de software? Aplicando UML: Diagramas de paquetes Diseñar en capas El principio de separación Modelo-Vista Cuál es la conexión entre los SSD, operaciones del sistema, y las capas? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 29 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Introducción Introducción El diseño de un sistema típico de OO se basa en varias capas de arquitectura, tales como una capa de interfaz de usuario, una capa lógica de aplicación, etc. En este capítulo se explora una arquitectura lógica por capas y notación UML relacionada. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 30 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Introducción Introducción Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 31 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Contenido Qué es la arquitectura de software? 3 Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Introducción Qué es la arquitectura de software? Aplicando UML: Diagramas de paquetes Diseñar en capas El principio de separación Modelo-Vista Cuál es la conexión entre los SSD, operaciones del sistema, y las capas? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 32 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Qué es la arquitectura de software? Qué es la arquitectura de software? Una arquitectura es el conjunto de decisiones significativas sobre la organización de un sistema de software, la selección de los elementos estructurales y las interfaces por las que está compuesto el sistema, junto con su comportamiento tal como se especifica en las colaboraciones entre esos elementos, la composición de estos elementos estructurales y de comportamiento en subsistemas progresivamente más grandes, y el estilo arquitectónico que guía esta organización, estos elementos y sus interfaces, sus colaboraciones y su composición. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 33 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Contenido Aplicando UML: Diagramas de paquetes 3 Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Introducción Qué es la arquitectura de software? Aplicando UML: Diagramas de paquetes Diseñar en capas El principio de separación Modelo-Vista Cuál es la conexión entre los SSD, operaciones del sistema, y las capas? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 34 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Aplicando UML: Diagramas de paquetes Aplicando UML: Diagramas de paquetes Los Diagramas de paquetes UML a menudo se utilizan para ilustrar la arquitectura lógica de un sistema, las capas, los subsistemas, paquetes (en el sentido de Java), etc. Una capa puede ser modelada como un paquete UML. Un diagrama de paquetes UML proporciona una forma de agrupar elementos Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 35 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Contenido Diseñar en capas 3 Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Introducción Qué es la arquitectura de software? Aplicando UML: Diagramas de paquetes Diseñar en capas El principio de separación Modelo-Vista Cuál es la conexión entre los SSD, operaciones del sistema, y las capas? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 36 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Diseñar en capas Diseñar en capas Las ideas esenciales del uso de capas son simples: Organizar la estructura lógica a gran escala de un sistema en capas discretas de responsabilidades distintas, relacionadas, con una separación clara y coherente de asuntos tal que las capas bajas son servicios de bajo nivel y generales, y las capas más altas son más específicas. La colaboración y el acoplamiento es de capas más altas a capas inferiores; el acoplamiento de capa menor a mayor se evita. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 37 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Diseñar en capas Diseñar en capas El uso de capas ayuda a resolver varios problemas: Muchas partes del sistema están altamente acopladas. La lógica de la aplicación se entrelaza con la interfaz de usuario. Los Servicios técnicos generales o la lógica de negocio se entrelazan con más lógica especifica de la aplicación. Existe alto acoplamiento en las diferentes áreas de interés. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 38 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Diseñar en capas Diseñar en capas Ventajas de usar capas Hay una separación de aspectos, una separación de servicios de alto y bajo nivel, y de los servicios específicos de los servicios generales. Esto reduce el acoplamiento y dependencias, mejora la cohesión, aumenta el potencial de reutilización, y la claridad aumenta. La complejidad relacionada es encapsulada y descomponible. Algunas capas pueden ser reemplazadas con nuevas implementaciones. Las capas inferiores contienen funciones reutilizables. El desarrollo por equipos es ayudado por la segmentación lógica. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 39 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Diseñar en capas Diseñar en capas Capa de dominio vs Capa Lógica de Aplicación; objetos de dominio Un sistema de software típico tiene una lógica de interfaz de usuario y la lógica de la aplicación. Los objetos de dominio representan un cosa en el espacio de dominio del problema, y tiene lógica de aplicación y de negocio relacionada. Diseñar objetos de ésta manera hace que a la capa de lógica de aplicación se le llame más precisamente la capa de dominio de la arquitectura. La capa que contiene los objetos de dominio para manejar el trabajo de la lógica de la aplicación. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 40 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Diseñar en capas Diseñar en capas Relación entre la capa de dominio y el modelo de dominio. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 41 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Diseñar en capas Diseñar en capas Niveles, capas, y Particiones Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 42 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Diseñar en capas Diseñar en capas No mostrar los recursos externos como la capa inferior Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 43 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Contenido El principio de separación Modelo-Vista 3 Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Introducción Qué es la arquitectura de software? Aplicando UML: Diagramas de paquetes Diseñar en capas El principio de separación Modelo-Vista Cuál es la conexión entre los SSD, operaciones del sistema, y las capas? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 44 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML El principio de separación Modelo-Vista El principio de separación Modelo-Vista Éste principio tiene por lo menos dos partes: 1 No conecte o acople objetos que no son de interfaz de usuario directamente a los objetos de interfaz de usuario. 2 No ponga lógica de la aplicación en los métodos de los objetos de interfaz de usuario. En éste contexto, el modelo es un sinónimo de la capa de dominio de objetos. La Vista es un sinónimo de objetos de interfaz de usuario, tales como ventanas, páginas web, applets,e informes. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 45 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML El principio de separación Modelo-Vista El principio de separación Modelo-Vista El principio de separación de Modelo-Vista afirma que los objetos del modelo (dominio) no deben tener un conocimiento directo de la vista (UI). Éste es un principio fundamental en el patrón Modelo-Vista-Controlador (MVC). El modelo es la capa de dominio, la vista es la capa de interfaz de usuario y los controladores son los objetos de flujo de trabajo en la capa de aplicación. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 46 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML El principio de separación Modelo-Vista El principio de separación Modelo-Vista La motivación para la Separación Modelo-Vista incluye: Apoyar las definiciones de modelo coherentes que se centran en los procesos de dominio, en lugar de en las interfaces de usuario. Permitir el desarrollo independiente de la capa de modelo y de la capa de interfaz de usuario. Minimizar el impacto de los cambios en los requisitos de la interfaz sobre la capa de dominio. Permitir a nuevas vistas ser fácilmente conectadas a una capa de dominio existente, sin afectar a la capa de dominio. Permitir múltiples vistas simultáneas en el mismo objeto modelo. Permitir la ejecución de la capa de modelo independiente de la capa de interfaz de usuario, tal como en un sistema de procesamiento de mensajes o en modo por lotes. Para permitir la fácil portabilidad de la capa de modelo a otro framework de interfaz de usuario. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 47 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Contenido Cuál es la conexión entre los SSD, operaciones del sistema, y las capas? 3 Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Introducción Qué es la arquitectura de software? Aplicando UML: Diagramas de paquetes Diseñar en capas El principio de separación Modelo-Vista Cuál es la conexión entre los SSD, operaciones del sistema, y las capas? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 48 / 106

Capítulo 13: Arquitectura lógica y diagramas de paquetes UML Cuál es la conexión entre los SSD, operaciones del sistema, y las capas? Cuál es la conexión entre los SSD, operaciones del sistema, y las capas? Los mensajes enviados desde la capa de interfaz de usuario a la capa de dominio serán los mensajes ilustrados en los SSD Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 49 / 106

Contenido Capítulo 14: Diseño de objetos 4 Capítulo 14: Diseño de objetos Introducción Modelado Ágil y Dibujo UML ligero Herramientas CASE UML Cuánto tiempo dedicar a dibujar UML antes de codificar? Diseñando objetos: Qué es el modelado estático y dinámico? La importancia de la habilidad de diseñar objetos sobre habilidad de notación UML Otra técnica de diseño de obetos: tarjetas CRC Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 50 / 106

Contenido Capítulo 14: Diseño de objetos Introducción 4 Capítulo 14: Diseño de objetos Introducción Modelado Ágil y Dibujo UML ligero Herramientas CASE UML Cuánto tiempo dedicar a dibujar UML antes de codificar? Diseñando objetos: Qué es el modelado estático y dinámico? La importancia de la habilidad de diseñar objetos sobre habilidad de notación UML Otra técnica de diseño de obetos: tarjetas CRC Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 51 / 106

Introducción Capítulo 14: Diseño de objetos Introducción Cómo diseñan objetos los desarrolladores? 1 Código 2 Dibujar, luego escribir código 3 Sólo dibujar Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 52 / 106

Contenido Capítulo 14: Diseño de objetos Modelado Ágil y Dibujo UML ligero 4 Capítulo 14: Diseño de objetos Introducción Modelado Ágil y Dibujo UML ligero Herramientas CASE UML Cuánto tiempo dedicar a dibujar UML antes de codificar? Diseñando objetos: Qué es el modelado estático y dinámico? La importancia de la habilidad de diseñar objetos sobre habilidad de notación UML Otra técnica de diseño de obetos: tarjetas CRC Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 53 / 106

Capítulo 14: Diseño de objetos Modelado Ágil y Dibujo UML ligero Modelado Ágil y Dibujo UML ligero Algunos objetivos de modelado ágil son reducir la sobrecarga de dibujo y modelado para comprender y comunicar, en lugar de para documentar. El modelado ágil también incluye: Modelar con otros. La creación de varios modelos en paralelo. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 54 / 106

Contenido Capítulo 14: Diseño de objetos Herramientas CASE UML 4 Capítulo 14: Diseño de objetos Introducción Modelado Ágil y Dibujo UML ligero Herramientas CASE UML Cuánto tiempo dedicar a dibujar UML antes de codificar? Diseñando objetos: Qué es el modelado estático y dinámico? La importancia de la habilidad de diseñar objetos sobre habilidad de notación UML Otra técnica de diseño de obetos: tarjetas CRC Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 55 / 106

Capítulo 14: Diseño de objetos Herramientas CASE UML Herramientas CASE UML Elija una herramienta CASE UML que se integre con algún IDE popular como Eclipse o Visual Studio. Elija una herramienta UML que pueda realizar ingeniería inversa (generar diagramas a partir de código) no sólo diagramas de clases, sino también diagramas de interacción. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 56 / 106

Contenido Capítulo 14: Diseño de objetos Cuánto tiempo dedicar a dibujar UML antes de codificar? 4 Capítulo 14: Diseño de objetos Introducción Modelado Ágil y Dibujo UML ligero Herramientas CASE UML Cuánto tiempo dedicar a dibujar UML antes de codificar? Diseñando objetos: Qué es el modelado estático y dinámico? La importancia de la habilidad de diseñar objetos sobre habilidad de notación UML Otra técnica de diseño de obetos: tarjetas CRC Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 57 / 106

Capítulo 14: Diseño de objetos Cuánto tiempo dedicar a dibujar UML antes de codificar? Cuánto tiempo dedicar a dibujar UML antes de codificar? Para una iteración de tres semanas, pasar unas horas o como mucho un día (con el equipo) cerca del inicio de la iteración en las paredes (o con una herramienta CASE UML) dibujando UML para las partes difíciles y creativas del diseño de objetos detallado. Después deje de dibujar y tome fotos digitales, imprima las fotos, y continue con la codificación el resto de la iteración. Pueden ocurrir sesiones de dibujo más cortas a lo largo de la iteración. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 58 / 106

Contenido Capítulo 14: Diseño de objetos Diseñando objetos: Qué es el modelado estático y dinámico? 4 Capítulo 14: Diseño de objetos Introducción Modelado Ágil y Dibujo UML ligero Herramientas CASE UML Cuánto tiempo dedicar a dibujar UML antes de codificar? Diseñando objetos: Qué es el modelado estático y dinámico? La importancia de la habilidad de diseñar objetos sobre habilidad de notación UML Otra técnica de diseño de obetos: tarjetas CRC Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 59 / 106

Capítulo 14: Diseño de objetos Diseñando objetos: Qué es el modelado estático y dinámico? Diseñando objetos: Qué es el modelado estático y dinámico? Pase un tiempo significativo haciendo diagramas de interacción (diagramas de secuencia o de comunicación), no sólo diagramas de clase. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 60 / 106

Contenido Capítulo 14: Diseño de objetos La importancia de la habilidad de diseñar objetos sobre habilidad de notación UML 4 Capítulo 14: Diseño de objetos Introducción Modelado Ágil y Dibujo UML ligero Herramientas CASE UML Cuánto tiempo dedicar a dibujar UML antes de codificar? Diseñando objetos: Qué es el modelado estático y dinámico? La importancia de la habilidad de diseñar objetos sobre habilidad de notación UML Otra técnica de diseño de obetos: tarjetas CRC Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 61 / 106

Capítulo 14: Diseño de objetos La importancia de la habilidad de diseñar objetos sobre habilidad de notación UML La importancia de la habilidad de diseñar objetos sobre habilidad de notación UML Dibujar UML es un reflejo de la toma de decisiones sobre el diseño. Las habilidades de diseño de objetos son lo que importa, no saber cómo dibujar UML. El diseño de objetos fundamental requiere el conocimiento de: Principios de asignación de responsabilidades Patrones de diseño Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 62 / 106

Contenido Capítulo 14: Diseño de objetos Otra técnica de diseño de obetos: tarjetas CRC 4 Capítulo 14: Diseño de objetos Introducción Modelado Ágil y Dibujo UML ligero Herramientas CASE UML Cuánto tiempo dedicar a dibujar UML antes de codificar? Diseñando objetos: Qué es el modelado estático y dinámico? La importancia de la habilidad de diseñar objetos sobre habilidad de notación UML Otra técnica de diseño de obetos: tarjetas CRC Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 63 / 106

Capítulo 14: Diseño de objetos Otra técnica de diseño de obetos: tarjetas CRC Otra técnica de diseño de obetos: tarjetas CRC Las Tarjetas CRC (Class Responsibility Collaboration) son tarjetas de papel en las que uno escribe las responsabilidades y colaboradores de las clases. Cada tarjeta representa una clase. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 64 / 106

Capítulo 15: Diagramas de interacción UML Contenido 5 Capítulo 15: Diagramas de interacción UML Introducción Diagramas de secuencia y de comunicación Notación común en los diagramas de interacción UML Objetos singleton Notación básica de los diagramas de secuencia Notación básica de los diagramas de comunicación Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 65 / 106

Contenido Capítulo 15: Diagramas de interacción UML Introducción 5 Capítulo 15: Diagramas de interacción UML Introducción Diagramas de secuencia y de comunicación Notación común en los diagramas de interacción UML Objetos singleton Notación básica de los diagramas de secuencia Notación básica de los diagramas de comunicación Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 66 / 106

Introducción Capítulo 15: Diagramas de interacción UML Introducción El UML incluye diagramas de interacción para ilustrar cómo los objetos interactúan a través de mensajes. Se utilizan para el modelado de objetos dinámico. Hay dos tipos comunes: diagramas de secuencia y diagramas de comunicación. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 67 / 106

Contenido Capítulo 15: Diagramas de interacción UML Diagramas de secuencia y de comunicación 5 Capítulo 15: Diagramas de interacción UML Introducción Diagramas de secuencia y de comunicación Notación común en los diagramas de interacción UML Objetos singleton Notación básica de los diagramas de secuencia Notación básica de los diagramas de comunicación Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 68 / 106

Capítulo 15: Diagramas de interacción UML Diagramas de secuencia y de comunicación Diagramas de secuencia y de comunicación De los dos tipos, los diagramas de secuencia son los más ricos en notación. Los diagramas de secuencia ilustran las interacciones en un tipo de formato de valla, en el que se añade cada nuevo objeto a la derecha. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 69 / 106

Capítulo 15: Diagramas de interacción UML Diagramas de secuencia y de comunicación Diagramas de secuencia y de comunicación Los Diagramas de Comunicación ilustran las interacciones de objetos en un formato de grafo o red, en el que los objetos se pueden colocar en cualquier lugar del diagrama. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 70 / 106

Capítulo 15: Diagramas de interacción UML Diagramas de secuencia y de comunicación Diagramas de secuencia y de comunicación Fortalezas y debilidades del diagrama de secuencia frente al diagrama de comunicación Tipo Fortalezas Debilidades Secuencia Muestra claramente secuencia u ordenamiento Obligado a extender a la derecha al agregar de los mensajes. nuevos objetos; consu- Amplio conjunto de opciones me espacio horizontal de notación deme talladas Comunicación Se adapta mejor al espacio. Flexibilidad para añadir nuevos objetos en dos dimensiones Es más difícil ver la secuencia de mensajes. Menos opciones de notación. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 71 / 106

Contenido Capítulo 15: Diagramas de interacción UML Notación común en los diagramas de interacción UML 5 Capítulo 15: Diagramas de interacción UML Introducción Diagramas de secuencia y de comunicación Notación común en los diagramas de interacción UML Objetos singleton Notación básica de los diagramas de secuencia Notación básica de los diagramas de comunicación Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 72 / 106

Capítulo 15: Diagramas de interacción UML Notación común en los diagramas de interacción UML Notación común en los diagramas de interacción UML Ilustrando participantes con cajas de línea de vida: Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 73 / 106

Capítulo 15: Diagramas de interacción UML Notación común en los diagramas de interacción UML Notación común en los diagramas de interacción UML Sintaxis Sintaxis básica de expresión de mensajes return = message(parameter : parametertype) : returntype Los paréntesis son generalmente excluidos si no hay parámetros, aunque sigue siendo válido. Los tipos de información pueden ser excluidos si son obvios o sin importancia. Ejemplos: initialize(code) initialize d = getproductdescription(id) d = getproductdescription(id:itemid) d = getproductdescription(id:itemid) : ProductDescription Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 74 / 106

Contenido Capítulo 15: Diagramas de interacción UML Objetos singleton 5 Capítulo 15: Diagramas de interacción UML Introducción Diagramas de secuencia y de comunicación Notación común en los diagramas de interacción UML Objetos singleton Notación básica de los diagramas de secuencia Notación básica de los diagramas de comunicación Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 75 / 106

Capítulo 15: Diagramas de interacción UML Objetos singleton Objetos singleton El patrón singleton provee una única instancia global. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 76 / 106

Contenido Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia 5 Capítulo 15: Diagramas de interacción UML Introducción Diagramas de secuencia y de comunicación Notación común en los diagramas de interacción UML Objetos singleton Notación básica de los diagramas de secuencia Notación básica de los diagramas de comunicación Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 77 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Las cajas de línea de vida poseen una línea en la parte inferior llamada línea de vida. Los mensajes síncronos se ilustran con un mensaje en una flecha rellena entre las líneas de vida. Pueden mostrar el foco de control utilizando una barra de especificación de ejecución. La barra es opcional. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 78 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Ilustrando respuestas o valores de retorno Uso de la sintaxis returnvar mensaje = mensaje (parámetro). Uso de una línea de mensajes de respuesta (o retorno) en el extremo de una barra de activación. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 79 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Mensajes a uno mismo Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 80 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Creación de instancias Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 81 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Destrucción de objetos Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 82 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Marcos en los diagramas de secuencia UML Los marcos son regiones o fragmentos de los diagramas. Tienen un operador o etiqueta (como loop) y un guarda (cláusula condicional) Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 83 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Operador alt loop opt par region Significado Fragmento alternativo para la lógica condicional de la exclusión mutua expresada por los guardas. Fragmento Loop mientras que el guarda es verdadero. También puede escribir loop (n) para indicar un bucle de n veces. Está en discusión que la especificación será mejorada para definir un bucle for, como loop (i, 1, 10). Fragmento opcional que se ejecuta si el guarda es verdadero. Fragmentos paralelos que se ejecutan en paralelo. Región crítica en la que sólo un hilo puede correr. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 84 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Mensajes condicionales iomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 85 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Mensajes condicionales mutuamente exclusivos Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 86 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Iteración sobre una colección. Notación explícita Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 87 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Iteración sobre una colección. Notación implícita Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 88 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Marcos anidados Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 89 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Cómo relacionar diagramas de interacción? Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 90 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Mensajes a clases para invocar métodos estáticos (de clase) Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 91 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de secuencia Notación básica de los diagramas de secuencia Mensajes polimórficos y casos Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 92 / 106

Contenido Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación 5 Capítulo 15: Diagramas de interacción UML Introducción Diagramas de secuencia y de comunicación Notación común en los diagramas de interacción UML Objetos singleton Notación básica de los diagramas de secuencia Notación básica de los diagramas de comunicación Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 93 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Enlaces Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 94 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Mensajes Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 95 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Mensajes a uno mismo Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 96 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Creación de instancias Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 97 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Número de secuencia de mensajes 1 El primer mensaje no está numerado. 2 La secuencia y el anidamiento de los mensajes subsiguientes se muestra con un esquema de numeración en el que los mensajes anidados tienen un número añadido a ellos. Usted denota anidación anteponiendo el número del mensaje entrante en el número del mensaje saliente. Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 98 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Numeración compleja Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 99 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Mensajes condicionales Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 100 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Rutas condicionales mutuamente excluyentes Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 101 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Iteraciones Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 102 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Iteraciones sobre una colección Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 103 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Invocación de métodos estáticos Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 104 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Mensajes polimórficos y casos Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 105 / 106

Capítulo 15: Diagramas de interacción UML Notación básica de los diagramas de comunicación Notación básica de los diagramas de comunicación Mensajes síncronos y asíncronos Giomara LÁRRAGA MALDONADO (CINVESTAV) Applying UML and Patterns 10 de Octubre de 2012 106 / 106