Diagramas UML JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING
Objetivos Comprender la importancia del modelado y el uso de diagramas para la Ingeniería y la arquitectura. Conocer las ventajas que tiene el uso de un modelo. Entender para qué fue creado UML y conocer sus fundamentos. Conocer los dos tipos de diagramas UML: Estructurales y Comportamentales. Visualizar el uso o aplicación de los principales diagramas UML en computación. FCC-BUAP 2
Introducción a UML, I Cualquier rama de la Ingeniería o Arquitectura ha encontrado útil la representación gráfica de sus diseños. Desde los inicios de la computación se han utilizado distintas formas de representar diseños de forma personalizada o en base a algún modelo gráfico. La falta de estandarización en la manera de representar gráficamente un modelo impedía que los diseños gráficos realizados se pudieran compartir fácilmente entre distintos diseñadores. FCC-BUAP 3
Introducción a UML, II Se necesitaba por lo tanto de un lenguaje no sólo para comunicar las ideas a otros desarrolladores sino también que sirviera de apoyo en los procesos de análisis de un problema. Con este objetivo se creo el Lenguaje Unificado de Modelado (UML Unified Modeling Language). UML se ha convertido en ese estándar tan ansiado para representar y modelar la información con la que se trabaja en las fases de análisis y de diseño. FCC-BUAP 4
Por qué modelar?, I El recurso de la modelización es una práctica desde hace tiempo, indispensable en el desarrollo de software. Un modelo es una representación abstracta de un sistema destinado a: Facilitar el estudio Documentar el estudio Es una herramienta principal de comunicación entre los diferentes participantes en un proyecto. Cada miembro del equipo, desde el usuario hasta el desarrollador, utilizan y enriquecen el modelo de formas diferentes. FCC-BUAP 5
Por qué modelar?, II Los sistemas han evolucionado cada vez más a formas más complejas, su comprensión y su control global superan las capacidades de un sólo individuo. Sin embargo, La construcción de un modelo abstracto ayuda a poner remedio!. FCC-BUAP 6
Ventajas del modelado Considerando el proceso de desarrollo, un modelo representa el conjunto de las vistas sobre una expresión de necesidades (requisitos) o sobre una solución técnica. Tomado a un nivel de detalle pertinente, describe o concibe el objetivo de la etapa en curso. El modelo sirve para objetivos diferentes siguiendo la actividad de desarrollo y se construirá con puntos de vista cada vez más detallados: Especificación de Requerimientos Actividades de Análisis Actividades de Diseño FCC-BUAP 7
Los fundamentos de UML, I UML se define como un lenguaje de modelización gráfico y textual destinado a: comprender y describir requisitos, especificar y documentar sistemas, resumir arquitecturas computacionales, concebir soluciones y comunicar puntos de vista (opiniones). UML unifica a la vez las notaciones y los conceptos orientados objeto (como se puede apreciar en la siguiente figura). FCC-BUAP 8
Los fundamentos de UML, II No se trata de una simple notación gráfica, ya que los conceptos transmitidos por un diagrama tienen una semántica precisa y son portadores de sentido, de la misma forma que las palabras lo son de un lenguaje. FCC-BUAP 9
UML 2, I UML unifica también las notaciones necesarias en las distintas actividades de un proceso de desarrollo y oferta. Es el medio para establecer el seguimiento de las decisiones tomadas, desde la expresión de requisitos hasta la codificación. En este marco, un concepto que pertenece a los requisitos de usuario puede proyectar su realidad en el modelo de diseño y en la codificación. El hilo que conecta las distintas etapas de construcción permite entonces retomar del código a los requisitos, comprender lo que se tiene y sus resultados. FCC-BUAP 10
UML 2, II En otras palabras, se puede detectar la necesidad de un bloque de código consultando su origen en el modelo de requisitos. UML 2 se basa en 13 tipos de diagramas, cada uno de ellos dedicado a la representación de conceptos particulares de un sistema computacional. Estos tipos de diagramas se distribuyen en dos grandes grupos. FCC-BUAP 11
UML 2: Diagramas Estructurales(6) Diagrama de clases: muestra los ladrillos de la base estática: clases, asociaciones, interfaces, atributos, operaciones, generalizaciones, etc. Diagrama de objetos: muestra las instancias de los elementos estructurales y sus vínculos en la ejecución. Diagrama de paquetes: muestra la organización lógica del modelo y las relaciones entre paquetes. Diagrama de estructura compuesta: muestra la organización interna de un elemento estático complejo. Diagrama de componentes: muestra estructuras complejas, con sus interfaces proporcionadas y requeridas. Diagrama de despliegue: muestra el despliegue físico de los artefactos sobre los recursos materiales. FCC-BUAP 12
UML 2: Diagramas Comportamentales(7) Diagrama de caso de uso: muestra las interacciones funcionales entre los actores y el sistema en estudio. Diagrama de vista del conjunto de interacciones: fusiona los diagramas de actividad y de secuencia para combinar fragmentos de interacción con decisiones y flujos. Diagrama de secuencia: muestra la secuencia vertical de los mensajes pasados entre los objetos en el sentido de una interacción. Diagrama de comunicación: muestra la comunicación entre objetos en el plano en el sentido de una interacción. Diagrama de tiempo: fusiona los diagramas de estados y de secuencia para mostrar la evolución del estado de un objeto en el transcurso del tiempo. Diagrama de actividad: muestra la secuencia de las acciones y decisiones en una actividad. Diagrama de Estados: muestra los distintos estados y transiciones posibles de los objetos de una clase. FCC-BUAP 13
Diagrama de Casos de Uso El diagrama de caso de uso, se utiliza en la actividad de especificación de requisitos. Muestra las interacciones funcionales ente los actores y el sistema en estudio. FCC-BUAP 14
Diagrama de Clases El diagrama de clases es el punto central en un desarrollo orientado a objetos. En análisis, tiene como finalidad describir la estructura de las entidades manipuladas por los usuarios. En diseño, el diagrama de clases representa la estructura de un código orientado a objetos. FCC-BUAP 15
Diagrama de Paquetes El diagrama de paquetes muestra la organización lógica del modelo y las relaciones entre paquetes. Permite estructurar las clases de análisis y de diseño, pero igualmente los casos de uso. FCC-BUAP 16
Diagrama de Secuencia Los diagramas de secuencias y los diagramas de comunicación son ambos diagramas de interacción UML y ambos representan intercambios de mensajes entre elementos, en el estudio de un funcionamiento particular del sistema. Los diagramas de secuencia sirven para desarrollar analíticamente las situaciones de uso del sistema. FCC-BUAP 17
Diagrama de Comunicación Veremos posteriormente, que los diagramas de secuencia y de comunicación permiten diseñar los métodos de las clases. FCC-BUAP 18
Diagrama de Estados Los diagramas de estados representan el ciclo de vida común a los objetos de una misma clase. Este diagrama completa el conocimiento acerca de las clases, en análisis y en diseño, mostrando los diferentes estados y posibles transiciones de los objetos de una clase en ejecución. FCC-BUAP 19
Diagrama de Actividad El diagrama de actividad representa los reglas de encadenamiento de las acciones y decisiones en el sentido de una actividad. Puede igualmente ser utilizado como una alternativa al diagrama de estados para describir la navegación de un sitio Web. FCC-BUAP 20
Diagrama de Objetos El diagrama de objetos es una captura instantánea, una foto de un subconjunto de objetos de un sistema en un cierto momento deltiempo. Es probablemente el diagrama menos utilizado de UML. FCC-BUAP 21
Diagrama de Componentes El diagrama de componentes muestra las unidades del software a partir de las cuales se ha construido el sistema computacional, así como sus dependencias. FCC-BUAP 22
Diagrama de Despliegue El diagrama de despliegue muestra el despliegue físico de los artefactos (elementos concretos como archivos, ejecutables, etc.) sobre los recursos materiales. FCC-BUAP 23
Más Diagramas, I El diagrama de vista del conjunto de interacciones fusiona los diagramas de actividad y de secuencia para combinar fragmentos de interacción con decisiones y flujos. El diagrama de tiempo fusiona los diagramas de estados y de secuencia para mostrar la evolución del estado de un objeto en el transcurso del tiempo y los mensajes que modifican este estado. El diagrama de estructura compuesta muestra la organización interna de un elemento estático complejo bajo la forma de un ensamble de partes, de conectores y de puertos. FCC-BUAP 24
Más Diagramas, II Como medida de simplicidad, en por ahora no utilizaremos estos tres tipos de diagramas propuestos por UML 2. FCC-BUAP 25
UML 2.x FCC-BUAP 26