0% encontró este documento útil (0 votos)
37 vistas84 páginas

Guía Completa sobre UML y Diagramas

Cargado por

Daniel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
37 vistas84 páginas

Guía Completa sobre UML y Diagramas

Cargado por

Daniel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

UML

El Lenguaje Unificado de Modelado

.
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
¿Qué es UML?
 UML es el Lenguaje Unificado de Modelado (Unified
Modeling Language)
 Es un lenguaje gráfico capaz de expresar
 Requisitos de Software
 Arquitectura del Software
 Diseño del Software
 Que sirve para
 Comunicarse entre desarrolladores
 Comunicarse con los clientes
 Usar herramientas de generación automática de código
¿Qué es UML?
 Consiste en un conjunto integrado de
diagramas definidos para ayudar a los
desarrolladores de software y de sistemas a
realizar las tareas de:
 Especificación
 Visualización
 Diseño Arquitectónico
 Construcción
 Simulación y pruebas
 Documentación
¿Qué es UML?
Abstracción
 La técnica de hacer un modelo de tus ideas
del mundo es el uso de la abstracción
 Por ejemplo, un mapa es un modelo del mundo,
no el mundo en miniatura
 En los diagramas UML se muestra una
abstracción del sistema, no todo el sistema,
con el objetivo de que sea fácil de entender
¿Qué es UML?
Puntos de vista
 UML permite crear diagramas que reflejan
diferentes puntos de vista del mismo
sistema.
 Por ejemplo, hay mapas físicos, mapas políticos,
mapas históricos … todos sobre el mismo mundo
 Esto permite mostrar ciertos aspectos y
ocultar otros para que sean más fáciles de
comprender
¿Qué es UML?
Tipos de diagramas
 Diagramas Estructurales: Muestran los elementos
de construcción del sistema. Características que no
cambian con el tiempo
 Diagramas de Comportamiento: Muestra como el
sistema responde a las peticiones o evoluciona con
el tiempo.
 Diagramas de Interacción: Engloba a ciertos
diagramas de comportamiento que muestran el
intercambio de mensajes dentro de un grupo de
objetos que cooperan (colaboración) para obtener
un objetivo
¿Qué es UML?
Tipos de diagramas
¿Qué es UML?
Tipos de diagramas
 Diagramas
Estructurales
 Diagrama de Clases
 Muestra entidades
del mundo real,
elementos de análisis
y diseño o clases de
implementación y sus
relaciones
¿Qué es UML?
Tipos de diagramas
 Diagramas
Estructurales
 Diagrama de Objetos
 Muestra un ejemplo
ilustrativo de objetos
y sus enlaces
 Pueden ser objetos
en memoria, objetos
en base de datos,
objetos de
modelado…
¿Qué es UML?
Tipos de diagramas
 Diagramas Estructurales
 Diagrama Estructural
Compuesto
 Muestra de que está
compuesto algún elemento
 Especialmente útil en
estructuras formadas por
otras estructuras o diseño
basado en componentes
¿Qué es UML?
Tipos de diagramas
 Diagramas Estructurales
 Diagrama de Despliegue
 Muestra la arquitectura
cuando el sistema está en
ejecución.
 Las plataformas hardware,
elementos de software
(elementos ejecutables) y
los entornos de ejecución
(sistemas operativos,
máquinas virtuales, …)
¿Qué es UML?
Tipos de diagramas
 Diagramas
Estructurales
 Diagrama de
Componentes
 Muestran la
organización y las
relaciones entre
los componentes
software del
sistema
¿Qué es UML?
Tipos de diagramas
 Diagramas
Estructurales
 Diagrama de
Paquetes
 Agrupa los
elementos del
modelo y muestra
las dependencias
entre ellos
 Concepto de
paquete similar al
de Java
¿Qué es UML?
Tipos de diagramas
 Diagramas de
Comportamiento
 Diagrama de Actividades
 Muestra el flujo de datos o
el flujo de control
 Captura el flujo de trabajo
de objetos que cooperan
¿Qué es UML?
Tipos de diagramas
 Diagramas de
Comportamiento
 Diagrama de Casos de Uso
 Muestra los servicios que
los actores (usuarios y
otros sistemas) pueden
pedir al sistema
 No se muestran en este
módulo por estar más
relacionados con el
Proceso Unificado de
Desarrollo
¿Qué es UML?
Tipos de diagramas
 Diagramas de
Comportamiento
 Diagrama de Máquina
de Estados / Protocolos
con Máquinas de
Estados
 Muestra el ciclo de vida
de un objeto en particular
 Los estados en los que
se puede encontrar y
como transita de uno a
otro
¿Qué es UML?
Tipos de diagramas
 Diagramas de
Interacción
 Diagrama de Visión
General
 Muestra muchos
escenarios de interacción
diferentes para la misma
colaboración (el conjunto
de objetos que trabajan
juntos para cumplir un
objetivo)
¿Qué es UML?
Tipos de diagramas
 Diagramas de
Interacción
 Diagrama de
Secuencia
 Se centra en el
intercambio de
mensajes entre un
grupo de objetos y el
orden de los
mensajes
¿Qué es UML?
Tipos de diagramas
 Diagramas de
Interacción
 Diagrama de
Comunicación
 Se centra en el
intercambio de
mensajes entre
un grupo de
objetos y las
relaciones entre
los objetos
¿Qué es UML?
Tipos de diagramas
 Diagramas de Interacción
 Diagrama de Tiempos
 Muestra los cambios y su relación con el tiempo en
sistema de tiempo real
 No se muestran aquí porque no son muy usados
¿Qué es UML?
Diagramas y Modelo
 UML define el formato de un conjunto de diagramas
 Un modelo representa los elementos del sistema
 Clases con sus métodos y atributos
 Objetos con sus relaciones
 Cuando existe un conjunto “consistente” de
diagramas se forma un modelo
 Es posible que elementos del modelo no aparezcan
en ningún diagrama
¿Qué es UML?
MDA con UML
 MDA
 Arquitectura guiada por modelos
 (Model Driven Architecture)
 http://www.omg.org/mda/
 Propuesto por el OMG
 Grupo de Gestión de Objetos
 (Object Managment Group)
 http://www.omg.org/
 Generación de código partiendo de un modelo UML (formado
por diagramas)
 El modelo UML debe ser preciso cuando se vaya a generar
código
 Los diagramas UML pueden estar incompletos (bocetos) cuando
se usan para documentar, comunicar, ...
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Diagrama de clases
 Los diagramas de clases están formados por
 Clases
 Atributos (Propiedades)
 Métodos (Operaciones)
 Relaciones
 Asociación
 Herencia
 Composición
 Uso (Dependencia)
Diagrama de clases
 Formato gráfico de una clase
N om bre de
la C lase

Z ona de
Atributos
(puede om itirse)

Z ona de
M étodos
(puede om itirse)

 Cuando la clase está en paquete se sigue el esquema

java::io::InputStream
Diagrama de clases
Atributos (Propiedades)
 Sintáxis Atributos
nombreAtributo : tipoAtributo
 Tipos
 Tipos UML: Integer, Boolean, String
 Tipos de cualquier lenguaje de programación
 Clases del modelo
 Se pueden omitir en bocetos
 Ejemplos

numPies: Integer
nombre: String
Diagrama de clases
Atributos (Propiedades)
 Valores por defecto
nombreAtributo : tipoAtributo = valorPorDefecto

numPies: Integer = 5
nombre: String = ‘Pepe’

 Multiplicidad (Arrays)
nombreAtributo : tipoAtributo [Multiplicidad]

numPies: Integer [0..1]


nombres: String [1..*] = (‘Pedro’, ‘Juan’, ‘Antonio’)
fechas: Date [2,3,4]
Diagrama de clases
Métodos (Operaciones)
 Sintaxis Métodos
nombreOperacion(parametros) : tipoDevuelto

 Ejemplos

rentOutDummy (aDummy:CrashDummy,forClient:Person): SuccessKind


acceptProposal ():Boolean
rentOutDummy(aDummy, toPerson)
Diagrama de clases
Visibilidad
Símbolo Visibilidad
+ Público
- Privado
# Protegido
~ Paquete

 Ejemplos
Diagrama de clases
Relación de Asociación
 Puede tener navegación direccional (sólo es
posible la navegación en un sentido)
 Es posible que una clase se asocie consigo
misma (asociación reflexiva)

public class Nodo {


List<Nodo> hijos;
Object valor
}
Diagrama de clases
Relación de Asociación
 Clases de Asociación
 Similares a las relaciones atribuidas de BBDD
 La clase de asociación debe llamarse como la
asociación
Diagrama de clases
Estereotipos
 Los estereotipos son marcas asociadas a cualquier elemento de
un diagrama (cualquier tipo de diagrama)
 Indican que el elemento marcado es algo diferente que el
elemento sin marcar
 Los estereotipos pueden usarse por las herramientas de
generación de código
Diagrama de clases
Relación de Agregación
 Una relación de agregación es
la que forma un todo con sus
partes
 Son un tipo especial de
relación de asociación
 Pueden tener estereotipos,
nombre, roles, multiplicidad, …
 En las relaciones de
agregación, un objeto que
representa una parte puede
estar compartido por varios
objetos que representan el
todo (un alumno está en un
curso y también puede estar en
un grupo de amigos)
Diagrama de clases
Relación de Composición
 Las relaciones de
composición son un tipo
especial de relación de
agregación
 Los objetos parte siempre
están asociados a un
objeto todo y sólo a uno,
se crean y se destruyen
con él (coche y ruedas).
 Los objetos parte no
pueden compartirse
entre varios objetos todo.
Diagrama de clases
Relación de Herencia
Diagrama de clases
Relación de Dependencia
 Muestra la dependencia entre una clase y
otra
 Existe cuando los cambios en la clase
independiente pueden afectar a la clase
que depende
 Relación de uso
Diagrama de clases
Interfaces
 Tienen dos
representaciones
gráficas
 Se relacionan con las
clases que los
implementan con una
relación de
realización
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Notas
 Las notas pueden aparecer en cualquier
diagrama
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Diagrama de Paquetes
 Muestran los
paquetes de un
sistema y la
dependencia
entre unos y
otros
Diagrama de Paquetes
 Los diagramas
de paquetes se
combinan con los
diagramas de
clases
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Diagrama de Objetos
 Se usan para mostrar el estado del sistema
en un momento concreto
Diagrama de Objetos
 Formato gráfico de un objeto
 Nombre del Objeto (se puede omitir)
 Clase del objeto (se puede omitir)
 Valores de los atributos (se pueden omitir)
Diagrama de objetos
Enlaces
 Si en el diagrama de clases
aparece una asociación, en el
diagrama de objetos puede
aparecer un enlace
 Se puede poner el nombre de
la asociación (subrayado)
 Se puede poner el nombre del
rol cerca del objeto (no
subrayado)

* MagicDraw 9.5 no subraya los nombres de


los enlaces. Los diagramas de objetos se
crean usando la opción de diagrama de
clases.
Diagrama de Objetos
 Se puede
relacionar un objeto
con su clase
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Diagrama
Estructural Compuesto
 Es una forma alternativa
de mostrar una relación de
composición incluyendo
las clases parte dentro de
la clase todo

* MagicDraw 9.5 no soporta este tipo de diagramas


El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Diagrama de Secuencia
 Los diagramas de
secuencia
muestran como los
objetos se
intercambian
mensajes a lo
largo del tiempo
Diagrama de Secuencia
 Los mensajes
pueden estar
escritos en lenguaje
natural o con una
sintaxis más precisa
y cercana a los
lenguajes de
programación
dependiendo del
nivel de abstracción
Diagrama de Secuencia
 Sintaxis mensaje
mensaje (params)

 Sintaxis parámetro
dirección nombreParametro: Tipo [Multiplicidad] = valorDefecto

 Dirección: in, out, inout (por defecto in)


 Para no especificar un parámetro se pone -
 Ejemplo
Transaction Results (status=OK, authCode)
Diagrama de Secuencia
 Tipos de mensajes
 Mensajes en un diagrama alto nivel

 Mensajes en diagramas de bajo nivel


 Síncronas (p.e llamadas a métodos)

 Asíncronas (p.e. sockets)


Diagrama de Secuencia
 Cuando se usan mensajes
síncronos (llamadas a
métodos) se puede poner
explícitamente el retorno
(return) o se puede omitir

File fichero = …
String ruta = fichero.getPath();
System.out.println(“Ruta: ”+ruta);
long tamaño = fichero.length();
System.out.println(“Tamaño: ”+tamaño);
Diagrama de Secuencia
 Hay veces que
los objetos no
existen durante
todo el tiempo
 Se usan
mensajes de
creación y de
destrucción
Diagrama
de Secuencia
 Llamadas recursivas
(autodelegación)
 Nuevo hilo de
ejecución
Diagrama de Secuencia
 Reutilización de
diagramas de secuencia
 Funcionalidad similar a
los métodos en
programación
 Se pueden especificar
parámetros
 Se puede especificar el
valor devuelto o el
nombre de una variable
Diagrama
de Secuencia
 Sentencias de control
de flujo de ejecución
en los diagramas de
secuencia
 alt: Equivale a un
if/else
 loop: Equivale a un for
 Existen más
sentencias
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Diagrama
de Actividad
 Similares a los
organigramas “de
siempre”
 Se usan para mostrar
el flujo de datos o el
flujo de control
 Puede representar el
flujo de control en
diferentes clases
Diagrama de Actividad
 Acción
 Obtener o establecer un valor de un atributo
 Invocar la operación de una clase
 Llamar a una función
 Invocar una actividad que contiene acciones
 Enviar una señal o notificación de un evento a un grupo
de objetos
 Actividad
 Agrupación de acciones, actividades, flujos de objetos y
flujos de control
Diagrama de Actividad

acciones actividad
Diagrama de Actividad
 Flujo de Control
 Conecta las acciones por las que se ejecuta el flujo de
control
 Nodo Objeto
 Representa un objeto que sale de una acción y entra
en otra acción
 Flujo de objeto
 Los flujos que unen los objetos con las actividades
Diagrama de Actividad

Flujo de control

Nodos Objeto
Flujo de Objeto
Diagrama de Actividad
 Nodo de control
 Nodos que guían el flujo de control y objetos
 Inicial, Actividad final, Flujo final, Decisión, Fusión,
Bifurcación, Unión, Conector
 Existen tipos de nodos más avanzados
Diagrama de Actividad
Actividad
Inicial

Bifurcación Decisión

Flujo Final Fusión

Unión

Actividad
Final
Diagrama de Actividad
 Para asignar la
responsabilidad
 Se pueden
poner calles de
piscinas (swim
lanes)
 Se puede poner
el nombre entre
paréntesis
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Diagrama de
Interacción en Visión General
 Similar al diagrama de
actividad pero en vez
de actividades se
enlazan con los flujos
de control nodos de
ocurrencia de
interacción
 Son referencias a
diagramas de
secuencia
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Diagrama de Comunicación
 Antes llamados “Diagramas de Colaboración”
 Similares a los diagramas de secuencia pero
muestran los enlaces entre los objetos
 Para mostrar el orden y anidamiento de los
mensajes, se numeran
Diagrama de Comunicación
 En el mensaje se puede incluir una
condición, que debe cumplirse para que se
pueda enviar el mensaje

[condición] mensaje( parametros )

 Cuando dos objetos están enlazados se


pueden enviar mensajes. Pueden ser
atributos, variables o parámetros
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Diagrama de Estados
 Representan una
máquina de
estados
 Muestra los
estados y las
transiciones entre
los estados
dependiendo de los
eventos que se
producen
Diagrama de Estados
 Cuando llega un
evento, se puede
realizar una
acción durante la
transición a otro
estado
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Diagrama de Componentes
 Un componente es una unidad autónoma
reemplazable de un sistema
 Los componentes indican los interfaces públicos
para que otros componentes los usen (relación de
realización)
 Los componentes pueden indicar los interfaces
requeridos en otros componentes (relación de uso)
Diagrama de Componentes
 En un mismo diagrama pueden aparecer
varios componentes conectados mediante
interfaces
El Lenguaje Unificado de Modelado
 ¿Qué es UML?
 Diagrama de Clases
 Notas
 Diagrama de Paquetes
 Diagrama de Objetos
 Diagrama Estructural Compuesto
 Diagrama de Secuencia
 Diagrama de Actividad
 Diagrama de Interacción en Visión General
 Diagrama de Comunicación
 Diagrama de Estados
 Diagrama de Componentes
 Diagrama de Despliegue
Diagrama de Despliegue
 Muestra las partes
físicas del sistema
 PCs, Servidores
 Impresoras, scanners
 PDAs, móviles
 Conectadas por
Líneas de
comunicaciones
 Internet, LAN, USB,
Bluethoot
Diagrama de Despliegue
Artefactos
 Un artefacto representa un fichero físico en el
sistema
 En versiones anteriores de UML se les
llamaba componentes
 Se pueden poner las dependencias entre
artefactos
Diagrama de Despliegue
Artefactos
 Se pueden
mostrar los
artefactos, los
nodos y los
componentes y
las relaciones
entre ellos
 Los componentes
y artefactos deben
estar en nodos

También podría gustarte