UML
description
Transcript of UML
![Page 1: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/1.jpg)
UMLUML
![Page 2: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/2.jpg)
UML - UML - Unified Modeling Unified Modeling LanguageLanguage
El UML es un lenguaje que permite modelar, construir y documentar los elementos que forman un sistema software orientado a objetos.
Grady BoochGrady Booch Ivar Jacobson Jim Rumbaugh
![Page 3: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/3.jpg)
Quien Paga?Quien Paga? Rational Software Co Microsoft Hewlett-Packard Oracle IBM Grupos de analistas y
desarrolladores.
![Page 4: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/4.jpg)
Booch había escrito "Object-Oriented Analysis and Design with Applications" un libro de referencia en el análisis y diseño orientado a objetos desarrollando su propia notación.
Por su parte James Rumbaugh había desarrollado su propia notación de diseño orientado a objetos llamada OMT (Object Modeling Technique) en su libro "Object-Oriented Modeling and Design".
Por otro lado Jacobson se había revelado como un visionario del análisis (padre de los casos de uso) y sobre todo del diseño orientado a objetos, sorprendiendo a todo el mundo en "Object-Oriented Software Engineering: A Use Case Driven Approach".
![Page 5: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/5.jpg)
Algo de HistoriaAlgo de Historia
![Page 6: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/6.jpg)
UML no es un método de desarrollo. No te va a decir cómo pasar del análisis al diseño y de este al código. No son una serie de pasos que te llevan a producir código a partir de unas especificaciones.
![Page 7: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/7.jpg)
UML un lenguaje para…UML un lenguaje para…VisualizarEspecificarConstruirDocumentar
![Page 8: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/8.jpg)
Bloques de Bloques de ConstrucciónConstrucción Elementos
Estructurales Comportamiento Agrupación Anotación
Relaciones Dependencia Asociación Generalización Realización
Diagramas
![Page 9: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/9.jpg)
Elementos Elementos EstructuralesEstructurales Son los nombres de los modelos
UML. En su mayoría son las partes estáticas de un modelo, y representan cosas que son conceptuales o materiales.
![Page 10: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/10.jpg)
ClasesClases Una descripción
de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semánticas.
Elementos Elementos estructuralesestructurales
![Page 11: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/11.jpg)
InterfazInterfaz Una colección de
operaciones que especifican un servicio de una clase o componente.
Describe el comportamiento visible externamente de ese elemento
Elementos Elementos estructuralesestructurales
![Page 12: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/12.jpg)
Caso de UsoCaso de Uso Es una descripción
de secuencias de acción que un sistema ejecuta y que produce un resultado observable de interés para un actor en particular.
Elementos Elementos estructuralesestructurales
![Page 13: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/13.jpg)
NodoNodo Es un elemento
físico que existe en tiempo de ejecución y representa un recurso computacional
Elementos Elementos estructuralesestructurales
![Page 14: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/14.jpg)
Elementos de Elementos de comportamientocomportamiento Son las partes dinámicas de los
modelos UML. Estos son los verbos de un modelo, y representan comportamientos en el tiempo y el espacio.
![Page 15: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/15.jpg)
InteracciónInteracción Es un
comportamiento que comprende un conjunto de mensajes intercambiados entre un conjunto de objetos, dentro de un contexto particular.
Elementos de Elementos de ComportamientoComportamiento
![Page 16: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/16.jpg)
Maquina de EstadoMaquina de Estado Es un
comportamiento que especifica las secuencias de estado por las que pasa un objeto o una interacción durante su vida en respuesta a eventos, junto con sus reacciones a estos eventos.
Elementos de Elementos de ComportamientoComportamiento
![Page 17: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/17.jpg)
Elementos de Elementos de AgrupaciónAgrupación
Son las partes organizativas de los modelos UML.
Paquetes Es un mecanismo
de propósito general para organizar elementos en grupos.
![Page 18: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/18.jpg)
Elementos de Elementos de AnotaciónAnotación
Son las partes explicativas de los modelos UML.
![Page 19: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/19.jpg)
Relaciones en UMLRelaciones en UML
Dependencia. Asociación Generalización Realización
![Page 20: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/20.jpg)
DependenciaDependencia Es una relación semántica entre dos
elementos, en la cual un cambio a un elemento puede afectar a la semántica del otro elemento.
Relaciones en Relaciones en UMLUML
![Page 21: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/21.jpg)
Dependencia e InstanciaciónDependencia e Instanciación
Representa un tipo de relación muy particular, en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase).
Relaciones en Relaciones en UMLUML
![Page 22: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/22.jpg)
AsociaciónAsociación Es una relación estructural que
describe un conjunto de enlaces, los cuales son conexiones entre enlaces.
Relaciones en Relaciones en UMLUML
![Page 23: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/23.jpg)
AgregaciónAgregación Por Valor: Es un tipo de relación
estática, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es comúnmente llamada Composición
Por Referencia: Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relación es comúnmente llamada Agregación (el objeto base utiliza al incluido para su funcionamiento).
Relaciones en Relaciones en UMLUML
![Page 24: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/24.jpg)
GeneralizaciónGeneralización Es una relación de
especialización/generalización.
Relaciones en Relaciones en UMLUML
Herencia.
![Page 25: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/25.jpg)
HerenciaHerencia
La relación de herencia se representa mediante un triángulo en el extremo de la relación que corresponde a la clase más general o clase “padre”.
Relaciones en Relaciones en UMLUML
![Page 26: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/26.jpg)
RealizaciónRealización Es una relación semántica entre
clasificadores, donde un clasificador especifica un contrato que otro clasificador garantiza cumplirá.
Relaciones en Relaciones en UMLUML
![Page 27: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/27.jpg)
Diagrama de Estructura Estática. Diagrama de Clases. Diagrama de Objetos.
Diagrama de Casos de Uso. Diagrama de Secuencia. Diagrama de Colaboración. Diagrama de Estados.
Diagrama de Actividades. Diagrama de Componentes. Diagrama de Despliegue.
DIAGRAMAS DIAGRAMAS UMLUML
![Page 28: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/28.jpg)
Diagrama de Diagrama de ClasesClases
Un diagrama de clases muestra un conjunto de clases, interfaces y colaboraciones, así como sus relaciones. Estos diagramas son los diagramas más comunes en el modelamiento de sistemas orientados a objetos. Los diagramas de clases cubren la vista de diseño estática de un sistema. Los diagramas de clases que incluyen clases activas cubren la vista de procesos estática de un sistema.
![Page 29: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/29.jpg)
![Page 30: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/30.jpg)
Los diagramas de clases son los más utilizados en el modelamiento de sistemas orientados a objetos. Los diagramas de clases son importantes no solo para visualizar, especificar y documentar modelos estructurales, sino también para construir sistemas ejecutables, aplicando ingeniería directa e inversa.
Los diagramas de clases contienen normalmente los siguientes elementos:
Clases Interfaces. Colaboraciones. Relaciones de dependencia, generalización y asociación.
Diagrama de Diagrama de ClasesClases
![Page 31: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/31.jpg)
ClaseClase
Diagrama de Diagrama de ClasesClases
![Page 32: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/32.jpg)
Asociaciones Asociaciones (Relaciones)(Relaciones)
Las asociaciones entre dos clases se representan mediante una línea que las une. La línea puede tener una serie de elementos gráficos que expresan características particulares de la asociación. A continuación se verán los más importantes de entre dichos elementos gráficos.
Diagrama de Diagrama de ClasesClases
![Page 33: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/33.jpg)
Nombre de la Asociación y Nombre de la Asociación y DirecciónDirección
Diagrama de Diagrama de ClasesClases
![Page 34: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/34.jpg)
• Dependencia e InstanciaciónDependencia e Instanciación
Diagrama de Diagrama de ClasesClases
Por Valor. (Composición) Por Referencia. (Agregación)
Asociaciones (Relaciones)Asociaciones (Relaciones)
• HerenciaHerencia
• AgregaciónAgregación
![Page 35: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/35.jpg)
Multiplicidad (Cardinalidad)Multiplicidad (Cardinalidad)
1 Solo Uno 0..1 Cero o Uno M..N Desde M a N (Enteros
Naturales) * o 0..* Cero a Muchos 1..* Uno a Muchos (al menos uno)
Diagrama de Diagrama de ClasesClases
![Page 36: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/36.jpg)
RolesRoles
Diagrama de Diagrama de ClasesClases
![Page 37: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/37.jpg)
Diagrama de ObjetosDiagrama de ObjetosUn diagrama de objetos muestra un conjunto de objetos y sus relaciones. Los diagramas de objetos representan instantáneas de instancias de los elementos encontrados en los diagramas de clases.
![Page 38: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/38.jpg)
Diagrama de Casos de UsoDiagrama de Casos de UsoUn diagrama de casos de uso muestra un conjunto de casos de uso y actores (un tipo especial de clases) y sus relaciones. Los diagramas de caso de uso cubren la vista de casos de uso estática de un sistema. Estos diagramas son especialmente importantes en el modelado de organización del comportamiento del sistema.
![Page 39: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/39.jpg)
Diagrama de InteracciónDiagrama de InteracciónTanto los Diagramas de Secuencia como los Diagramas
de Colaboración son un tipo de diagrama de interacción. Estos diagramas muestran una interacción, que consta de un conjunto de objetos y sus relaciones, incluyendo los mensajes que pueden ser enviados por ellos. Los diagramas de interacción cubren la vista dinámica de un sistema.
Un Diagrama de SecuenciaDiagrama de Secuencia resalta la ordenación temporal de los mensajes.
Un Diagrama de ColaboraciónDiagrama de Colaboración resalta la organización estructural de los objetos que envían y reciben mensajes.
Los diagramas de secuencia y los diagramas de colaboración son isomorfos, es decir, que se puede tomar uno y transformarlo en el otro.
![Page 40: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/40.jpg)
Diagrama de EstadoDiagrama de EstadoUn diagrama de estado muestra una maquina de estado, que consta de estados, transiciones, eventos y actividades. Los diagramas de estado cubren la vista dinámica de un sistema. Son especialmente importantes en el modelado del comportamiento de una interfaz, una clase o una colaboración y resalta el comportamiento dirigido por eventos de un objeto, lo cual es especialmente útil en el modelado de un sistema reactivo.
![Page 41: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/41.jpg)
Diagrama de ActividadesDiagrama de Actividades
Un diagrama de actividades es un tipo especial de diagramas de estado que muestra el flujo de actividades dentro de un sistema. Los diagramas de actividades cubren la vista dinámica de un sistema. Son especialmente importantes al modelar el funcionamiento de un sistema y resaltar el flujo de control entre objetos.
![Page 42: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/42.jpg)
Diagrama de Diagrama de ComponentesComponentes
Un diagrama de componentes muestra la organización y las dependencias entre un conjunto de componentes. Los diagramas de componentes cubren la vista de implementación estática de un sistema. Se relacionan con los diagramas de clases en que un componente se corresponde, por lo común, con una o más clases, interfaces o colaboradores.
![Page 43: UML](https://reader035.fdocuments.us/reader035/viewer/2022070423/56816727550346895ddbc1eb/html5/thumbnails/43.jpg)
Diagrama de DespliegueDiagrama de Despliegue
Un diagrama de despliegue muestra la configuración de nodos de procesamiento en tiempo de ejecución y los componentes que residen en ellos.