Diagramas UML -...

26
Diagramas UML JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING

Transcript of Diagramas UML -...

Page 1: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Diagramas UMLJUAN CARLOS CONDE RAMÍREZ

INTRODUCTION TO PROGRAMMING

Page 2: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

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

Page 3: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Introducción a UML, I

•Cualquier rama de la Ingeniería o Arquitectura ha encontrado útil la representación gráfica desus diseños.

•Desde los inicios de la computación se han utilizado distintas formas de representar diseños deforma 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 quelos diseños gráficos realizados se pudieran compartir fácilmente entre distintos diseñadores.

FCC-BUAP 3

Page 4: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Introducción a UML, II

•Se necesitaba por lo tanto de un lenguaje no sólo para comunicar las ideas a otrosdesarrolladores 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 ModelingLanguage).

•UML se ha convertido en ese estándar tan ansiado para representar y modelar la informacióncon la que se trabaja en las fases de análisis y de diseño.

FCC-BUAP 4

Page 5: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

¿Por qué modelar?, I

•El recurso de la modelización es una práctica desde hace tiempo, indispensable en el desarrollode 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 elmodelo de formas diferentes.

FCC-BUAP 5

Page 6: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

¿Por qué modelar?, II

•Los sistemas han evolucionado cada vez más a formas más complejas, su comprensión y sucontrol 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

Page 7: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Ventajas del modelado•Considerando el proceso de desarrollo, un modelo representa el conjunto de las vistas sobre unaexpresió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á conpuntos de vista cada vez más detallados:

FCC-BUAP 7

Especificación de Requerimientos

Actividades de Análisis

Actividades de Diseño

Page 8: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

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 apreciaren la siguiente figura).

FCC-BUAP 8

Page 9: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Los fundamentos de UML, II

•No se trata de una simple notación gráfica, ya que los conceptos transmitidos por un diagrama tienenuna semántica precisa y son portadores de sentido, de la misma forma que las palabras lo son de unlenguaje.

FCC-BUAP 9

Page 10: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

UML 2, I

•UML unifica también las notaciones necesarias en las distintas actividades de un proceso dedesarrollo y oferta. Es el medio para establecer el seguimiento de las decisiones tomadas, desdela expresión de requisitos hasta la codificación.

•En este marco, un concepto que pertenece a los requisitos de usuario puede proyectar surealidad 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 alos requisitos, comprender lo que se tiene y sus resultados.

FCC-BUAP 10

Page 11: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

UML 2, II

•En otras palabras, se puede detectar la “necesidad” de un bloque de código consultando suorigen en el modelo de requisitos.

•UML 2 se basa en 13 tipos de diagramas, cada uno de ellos dedicado a la representación deconceptos particulares de un sistema computacional.

•Estos tipos de diagramas se distribuyen en dos grandes grupos.

FCC-BUAP 11

Page 12: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

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

Page 13: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

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 combinarfragmentos 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 unainteracció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 unobjeto 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

Page 14: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

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

Page 15: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

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

Page 16: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Diagrama de Paquetes•El diagrama de paquetes muestra la organización lógica del modelo y las relaciones entrepaquetes.

•Permite estructurar las clases de análisis y de diseño, pero igualmente los casos de uso.

FCC-BUAP 16

Page 17: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Diagrama de Secuencia•Los diagramas de secuencias y los diagramas de comunicación son ambos diagramas deinteracción UML y ambos representan intercambios de mensajes entre elementos, en el estudiode un funcionamiento particular del sistema.

•Los diagramas de secuencia sirven para desarrollar analíticamente las situaciones de uso delsistema.

FCC-BUAP 17

Page 18: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Diagrama de Comunicación•Veremos posteriormente, que los diagramas de secuencia y de comunicación permiten diseñarlos métodos de las clases.

FCC-BUAP 18

Page 19: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

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, mostrandolos diferentes estados y posibles transiciones de los objetos de una clase en ejecución.

FCC-BUAP 19

Page 20: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Diagrama de Actividad•El diagrama de actividad representa los reglas de encadenamiento de las acciones y decisionesen el sentido de una actividad.

•Puede igualmente ser utilizado como una alternativa al diagrama de estados para describir lanavegación de un sitio Web.

FCC-BUAP 20

Page 21: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Diagrama de Objetos•El diagrama de objetos es una captura instantánea, una foto de un subconjunto de objetos de unsistema en un cierto momento del tiempo.

•Es probablemente el diagrama menos utilizado de UML.

FCC-BUAP 21

Page 22: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Diagrama de Componentes

•El diagrama de componentes muestra las unidades del software a partir de las cuales se haconstruido el sistema computacional, así como sus dependencias.

FCC-BUAP 22

Page 23: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Diagrama de Despliegue

•El diagrama de despliegue muestra el despliegue físico de los artefactos (elementos concretoscomo archivos, ejecutables, etc.) sobre los recursos materiales.

FCC-BUAP 23

Page 24: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Más Diagramas, I

•El diagrama de vista del conjunto de interacciones fusiona los diagramas de actividad y desecuencia para combinar fragmentos de interacción con decisiones y flujos.

•El diagrama de tiempo fusiona los diagramas de estados y de secuencia para mostrar laevolución del estado de un objeto en el transcurso del tiempo y los mensajes que modifican esteestado.

•El diagrama de estructura compuesta muestra la organización interna de un elemento estáticocomplejo bajo la forma de un ensamble de partes, de conectores y de puertos.

FCC-BUAP 24

Page 25: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

Más Diagramas, II

•Como medida de simplicidad, en por ahora no utilizaremos estos tres tipos de diagramaspropuestos por UML 2.

FCC-BUAP 25

Page 26: Diagramas UML - climate.cs.buap.mxclimate.cs.buap.mx/.../Introduction2Prog_/Notas/06_Diagramas_UML.pdf · Comprender la importancia del modelado y el uso de diagramas para la Ingeniería

UML 2.x

FCC-BUAP 26