Lenguaje de Modelamiento Unificado. Pontificia Universidad Javeriana Ingeniería de Software Olga Lucía Roa What can you Model with UML? 1. Structure Diagrams include: • The Class Diagram • Object Diagram • Component Diagram • Composite Structure Diagram • Package Diagram • Deployment Diagram. Ingeniería de Software Olga Lucía Roa What can you Model with UML? 2. Behavior Diagrams include • The Use Case Diagram (used by some methodologies during requirements gathering) • Activity Diagram • State Machine Diagram. Ingeniería de Software Olga Lucía Roa What can you Model with UML? 3. Interaction Diagrams, all derived from the more general Behavior Diagram, include: • The Sequence Diagram • Interaction Overview Diagram Ingeniería de Software Olga Lucía Roa Área Vista Conceptos Principales Diagramas Clase, asociación, dependencia, interfaz. generalización, realización, Caso de Uso, Actor, asociación, extensión, generalización. Vista Estática Diagrama de Clases Vista de Casos de Uso Diagramas de Casos de Uso Vista de Implementación Diagramas de Componentes Vista de Despliegue Diagramas de Despliegue Vista de Estados de máquina Diagramas de Estados Estado, evento, transición, acción. Vista de actividad Diagramas de Actividad Estado, actividad, transición, determinación, división, unión. Diagramas de Secuencia Interacción, objeto, activación. Diagramas de Colaboración Colaboración, interacción, rol colaboración, mensaje. Diagramas de Clases Paquete, subsistema, modelo. Estructural Componente, interfaz, realización. dependencia, Nodo, dependencia, componente, localización. Dinámica mensaje, Vista de interacción Administración o Gestión de modelo Vista de Gestión de modelo Extensión de UML Todas Ingeniería Todos de Software Olga Lucía Roa Restricción, estereotipo, etiquetados. de valores, DIAGRAMAS DE CASOS DE USO • Casos de Uso es una técnica para capturar información de cómo un sistema o negocio trabaja, o de cómo se desea que trabaje. Es una técnica para captura de requisitos. Ingeniería de Software Olga Lucía Roa El diagrama de casos de uso soluciona …. Que hace el sistema, a diferencia de otros diagramas UML que intentan dar respuesta a un Como logra su comportamiento el sistema Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE CASOS DE USO «extiende» (extend) se emplea para establecer una situación excepcional o de error, que no corresponde al camino normal del caso de uso básico «incluye» (include) se utiliza para extraer las partes comunes de los casos de uso Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE CASOS DE USO Incorporar a lista de espera «extend» Obtener préstamo Alumno «include» Consultar bibliografía Bibliotecario «include» Incorporar material a la biblioteca Ingeniería de Software Olga Lucía Roa Un Caso de Uso es empleado con más frecuencia en alguna de las siguientes etapas : • Determinación de Requerimientos: Por lo general nuevos requerimientos de sistema generan nuevos usos-casos, conforme es analizado y diseñado el sistema. • Comunicación con el Cliente: Debido a la sencillez de este tipo de diagramas, son fáciles de emplear para comunicarse con el cliente final del proyecto. • Generación de pruebas de Sistemas: A través de los diagramas uso-caso se pueden generar una serie de pruebas de sistema. Ingeniería de Software Olga Lucía Roa DIAGRAMA DE CLASES Es un tipo de modelo estático. Describe la vista estática de un sistema en términos de clases y relaciones entre ellas. Ingeniería de Software Olga Lucía Roa Diagrama de Clases y sus asociaciones Un “Cliente” Puede tener una o más ordenes. Agregación: La “Orden” agrega una lista de elementos tipo “Bebida” Una Orden tiene un pago, y un pago corresponde únicamente a una orden Agregación: La “Orden” agrega una lista de elementos tipo “Platillo” “Efectivo” hereda de “Pago”, es un tipo de pago. “Credito” hereda de “Pago”, es un tipo de pago. CLASES 1. Leer el enunciado e identificar las entidades, sustantivos, Clases (objetos) que representan algo en la solución del problema siempre en singular. 2. Leer el enunciado e identificar las cualidades ó atributos de las entidades anteriores. 3. Los métodos ó funciones (verbos- acciones) necesarias para cumplir los requerimientos, por ejemplo: registrar, crear, eliminar, modificar XXXX, etc. Ingeniería de Software Olga Lucía Roa DIAGRAMA DE CLASES Fig. 1 Fig. 3 Fig. 2 Ingeniería de Software Olga Lucía Roa DIAGRAMA DE CLASES Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE COMPORTAMIENTO • Diagramas de estado. • Diagramas de actividad. Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE ESTADO El Diagrama de Estados modela el comportamiento de una parte del sistema. • Típicamente se elabora un diagrama de Estados para cada clase que tenga un comportamiento significativo. • El comportamiento es modelado en términos del estado en el cual se encuentra el objeto, qué acciones se ejecutan en cada estado y cuál es el estado al que transita después de un determinado evento. Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE ESTADO Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE ACTIVIDAD • Caso especial de Diagrama de Estados donde: – Todos (o la mayoría de) los estados son estados de acción. – Todas (la mayoría de) las transiciones son “disparadas” como consecuencia de la finalización de la acción. Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE ACTIVIDAD • El Diagrama de Actividades puede especificar: – El comportamiento de los objetos de una clase. – La lógica de una operación (método). – Parte o toda la descripción de un Caso de uso. – La descripción de un Flujo de Trabajo. Ingeniería de Software Olga Lucía Roa Diag. Actividad <> Diag. De Flujo Es importante recalcar que aunque un diagrama de actividad es muy similar en definición a un diagrama de flujo (típicamente asociado en el diseño de Software), estos no son lo mismo. Un diagrama de actividad es utilizado en conjunción de un diagrama uso-caso para auxiliar a los miembros del equipo de desarrollo a entender como es utilizado el sistema y como reacciona en determinados eventos. Lo anterior, en contraste con un diagrama de flujo que ayuda a un programador a desarrollar código a través de una descripción lógica de un proceso. Se pudiera considerar que un diagrama de actividad describe el problema, mientras un diagrama de flujo describe la solución. DIAGRAMAS DE ACTIVIDAD Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE ACTIVIDAD Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE INTERACCIÓN • Diagramas de secuencia. • Diagramas de colaboración. Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE SECUENCIA • Los Diagramas de Secuencia y de Colaboración son usados para describir gráficamente un caso de uso o un escenario. • Un Diagrama de Secuencia muestra los objetos de un escenario mediante líneas verticales y los mensajes entre objetos como flechas conectando objetos. • Los mensajes son dibujados cronológicamente desde arriba hacia abajo. Los rectángulos en las líneas verticales representan los periodos de actividad de los objetos. Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE SECUENCIA DIAGRAMAS DE COLABORACIÓN • El Diagrama de Colaboración modela la interacción entre los objetos de un Caso de Uso. • Los objetos están conectados por enlaces (links) en los cuales se representan los mensajes enviados acompañados de una flecha que indica su dirección. • El Diagrama de Colaboración ofrece una mejor visión del escenario cuando el analista está intentando comprender la participación de un objeto en el sistema Ingeniería de Software Olga Lucía Roa DIAGRAMAS DE COLABORACIÓN Los ‘:’ significa que es un objeto, instancia de una clase Metodos Metodos Ingeniería de Software Olga Lucía Roa