Você está na página 1de 83

UML – Lenguaje de

Modelado Unificado
UML
• UML (Unified Modeling Language) es un lenguaje
que permite modelar, construir y documentar los
elementos que forman un sistema software
orientado a objetos.

• Uno de los objetivos principales de la creación de


UML era posibilitar el intercambio de modelos
entre las distintas herramientas CASE orientadas
a objetos del mercado. Para ello era necesario
definir una notación y semántica común.

• Proyecta las diferentes vistas de un sistema.

Facultad Sistema UNAC 2


Vistas
Use Case State
Diagrama
Diagrams de State
Use Case Diagrams
Diagrama
Use Case
Diagrams
Casos de Uso Diagrams de
Diagrama
Diagrams de Clases
Estados State
State
Diagrams
Diagrama
Diagrams de
Objeto
Estática
Scenario Actividad
Scenario
Diagrams
Diagrama
Diagrams de Component
Actividad Component
Diagrams
Diagramas Diagramade
Diagrams
Componentes
Implementación
Interacción
Scenario
Scenario
Diagrams Component
Diagrama
Diagrams de Component
Diagrama de Diagrams
Secuencia Diagramade
Diagrams
Colaboración Despliegue

Facultad Sistema UNAC 3


Estructura
• Diagrama de Clases:
• Describe la estructura estática del sistema.

• Presenta el conjunto de clases, interfaces y


colaboraciones, así como sus relaciones, cubriendo la
vista de diseño estática del sistema.

Persona
Nombre: String

Estudiante Estudia en Universidad


Promedio: double Nombre:String
0..*

Facultad Sistema UNAC 4


Estructura
• Diagrama de Objetos:
• Análogo al diagrama de clases, muestra un conjunto de
objetos y sus relaciones, en un instante dado.

Diana: Estudiante Estudia en UCV: Universidad


Nombre: Diana Martínez Nombre: Univ. Central de Vzla
Promedio: 16,5

Facultad Sistema UNAC 5


Estructura
• Diagrama de Componentes:
• Muestra la organización y dependencias de un
conjunto de componentes.
• Cubren la vista de implementación de un sistema, y
describen la interacción entre componentes de Software.

Facultad Sistema UNAC 6


Estructura
• Diagrama de Despliegue:
• Describe la disposición del hardware.
• Muestra la configuración del hardware del sistema, los
nodos de proceso y los componentes empleados por éstos.

Servidor Servidor
App BD

Facultad Sistema UNAC 7


Comportamiento
• Diagrama de Casos de Uso:
• Describe las funcionalidades del sistema a partir de las
interacciones del usuario.

Facultad Sistema UNAC 8


Comportamiento
• Diagrama de Secuencia
y de Colaboración:
• Son diagramas de
interacción, muestran
un conjunto de objetos y
sus relaciones, así como
los mensajes que se
intercambian entre ellos.

Diag. Secuencia
• El diagrama de
secuencia resalta la
ordenación temporal de los
mensajes, mientras que el
de colaboración resalta
la organización estructural
de los objetos, ambos
siendo equivalentes o
isomorfos.
Diag. Colaboración

Facultad Sistema UNAC 9


Comportamiento
• Diagrama de Estados:
• Muestra una máquina de estados de un objeto, con sus
estados, transiciones, eventos y actividades.
• Modelan comportamientos reactivos en base a eventos.

Facultad Sistema UNAC 10


Comportamiento
• Diagrama de Actividades:
• Describe el flujo de trabajo, muestra las actividades, su
secuenciamiento y coordinación

Facultad Sistema UNAC 11


Diagramas de Clases
• Un diagrama de clase describe la estructura
estática del sistema, mostrando sus clases y las
relaciones entre estas.

• Una clase es la definición de un conjunto de


objetos con características y comportamiento
similares.
Nombre Atributo: Tipo Atributo
Nombre Clase
Atributos
Métodos

Nombre Método (parámetros) : Tipo Retorno

Facultad Sistema UNAC 12


Diagramas de Clases
• Clases Abstractas:
• Una clase abstracta es aquella que no tiene instancias
directas pero cuyas clases descendientes tienen instancias
directas

• Clases Concretas:
• Son todas aquellas clases que pueden ser instanciables.

Trabajador

Licenciado Ingeniero Obrero

Facultad Sistema UNAC 13


Diagramas de Clases
• Restricciones (constraints):
• Restricciones de Atributos: Permiten adicionar reglas en
atributos.

Nombre Clase Rectángulo


Lista de Atributos Ancho
{restricción} Largo
Area
{Area = Ancho * Largo}
{Ancho = Largo}

• Restricciones en relaciones: Reglas a las relaciones.

Facultad Sistema UNAC 14


Diagramas de Clases
• Estereotipos: <<estereotipo>>
• Es un metatipo, cuya utilidad es definir a otros tipos.

• Define el propósito del conjunto de elementos a modelar


con el mismo estereotipo.

• Es opcional.
<<estereotipo>>
Nombre Clase

<<interfaz>> <<modelo>> <<control>>


Ventana_Principal Persona Main

Facultad Sistema UNAC 15


Diagramas de Clases
• Relaciones entre clases
• Conexión semántica entre elementos del modelo.

• Tipos de Relaciones entre clases:


• Asociación.
• Agregación.
• Composición.
• Generalización / Especialización.
• Dependencia.

Facultad Sistema UNAC 16


Diagramas de Clases
• Asociación:
• Relación o invocación significativa entre dos o más clases.

<rol A> <Descripción> <rol B>


Clase A <mult B>
Clase B
<mult A>

• Según notación UML, la asociación comprende:


• Descripción, o nombre de la relación.

• Rol: Responsabilidad de la clase en la relación.

• Multiplicidad: Indica cuantos objetos pueden participar en la


relación.
• 0 ó más: *
• 1 o más: 1..*
• De 2 a 4: 2..4
• Sólo 7: 7

Facultad Sistema UNAC 17


Diagramas de Clases
• Asociación:
• Grado de la Asociación: Se determina por el número de
clases conectadas por la misma asociación. Las
asociaciones puedes ser binarias ternarias o de mayor
grado.

• Ejemplo de una asociación ternaria:

* * Profesor
Estudiante

Universidad

Facultad Sistema UNAC 18


Diagrama de Clases
• Asociación:

• Las asociaciones pueden ser reflexivas, es decir pueden


relacionar distintos objetos de una misma clase.

Persona

pariente de

Facultad Sistema UNAC 19


Diagramas de Clases
• Agregación: (“es parte de”, “contiene”)

• Asociación que especifica relación Parte de entre el


agregado (Todo) y el componente (Parte).

Universidad Estudiante
*

Facultad Sistema UNAC 20


Diagramas de Clases
• Composición: (“compuesto por”)

• Relación de agregación especial donde las partes no


pueden existir sin que exista el objeto todo.

Cuerpo Brazo
2

Facultad Sistema UNAC 21


Diagramas de Clases
• Generalización / Especialización: (“es un”)
• Generalización: Se crea una clase (superclase), que
generaliza las propiedades comunes de varias clases.
• Especialización: Dada una clase, se crea(n) otra(s)
clase(s) (subclase) que especializa(n) la clase dada,
agregando las diferencias.

Persona

Estudiante Profesor Empleado

Facultad Sistema UNAC 22


Diagramas de Clases
• Dependencia:

• Es una conexión entre clases que indica que un cambio en


una clase B puede afectar a otra clase A que la usa.

Clase_A Clase_B
Atributo1:int
Metodo (b: Clase_B)

Facultad Sistema UNAC 23


Diagramas de Clases
• Clase Asociativa:
• Asociación entre clases, donde la relación posee atributos
propios.

• Cada enlace es una instancia de clase.

Clase_A Clase_B

Asociación
Atributos
Operaciones

Facultad Sistema UNAC 24


Diagramas de Objetos

• Un diagrama de objetos muestra un conjunto de


objetos y sus relaciones en un momento
determinado.

Nombre del Objeto: Nombre de la Clase


Atributo: Valor

Facultad Sistema UNAC 25


Diagramas de Objetos
• Ejemplo:

Diana: Estudiante Estudia en UCV: Universidad


Nombre: Diana Martínez Nombre: Univ. Central de Vzla
Promedio: 16,5

Facultad Sistema UNAC 26


Diagramas de Casos de Uso
• Los diagramas de Casos de Uso describen lo que
hace un sistema, enfatizando el qué en vez del
cómo.

• Describen las funcionalidades del sistema a partir


de las interacciones del usuario.
Es decir, describen un uso del sistema y cómo este
interactúa con el usuario.

• Se emplean para visualizar el comportamiento del


sistema.

Facultad Sistema UNAC 27


Diagramas de Casos de Uso
Actores
Personas
• Entidad externa que
interactúa con el sistema. Sistema

• Entidades distintas a los


usuarios de sistema.
Nombre del Actor
• En algunos casos,
representan cierta función
Componente de Software
que un usuario va a
realizar en el sistema.
Organización

Facultad Sistema UNAC 28


Diagramas de Casos de Uso
Actores

• Relaciones entre actores: Secretaria

• Generalización:
Cuando diferentes actores realizan
roles similares, pueden heredar de un
actor común.
Técnico

Administrador

Facultad Sistema UNAC 29


Diagramas de Casos de Uso
Actores
• Ejemplos:

Base de Datos Reservaciones


Sistema de
Reservaciones de
Vuelos
Usuario

Sistema de Base de Datos de Registros


Computación
Usuario

Administrador

Programador
Operador

Facultad Sistema UNAC 30


Diagramas de Casos de Uso
Casos de Uso

• Un caso de uso define una


funcionalidad del sistema.
Nombre del Caso de
• Cada caso de uso constituye un Uso

flujo de eventos, que


especifican la interacción que
toma lugar entre el actor y el Verbos
sistema.
Son Acciones
• Cada caso de uso produce un
resultado observable y válido
para el actor involucrado en la
secuencia de acciones.

Facultad Sistema UNAC 31


Diagramas de Casos de Uso
Relaciones entre Casos de Uso:

1. Generalización.

2. Extensión.

3. Inclusión.

Facultad Sistema UNAC 32


Diagramas de Casos de Uso
1. Generalización:
• Relación que define la Caso Abstracto
especialización de un caso de uso.

• Los casos de uso abstractos


describirán las partes similares y
no podrán ser instanciados Caso Concreto

independientemente.

• Los casos de uso concretos Pagar Reservación


describirán el comportamiento
específico.

Pagar con
Pagar con Tarjeta
Transferencia

Facultad Sistema UNAC 33


Diagrama de Casos de Uso
2. Extensión: (<<extend>>)
Caso Base

• Especifica como un caso de uso puede <<extend>>

insertarse en otro para extender la


funcionalidad de un caso de uso base.
Caso Opcional

• El Caso Opcional es una extensión del


Caso Base:
Una instancia del caso de uso Base
puede incluir el comportamiento Hacer Reservación

especificado por el Caso Opcional.


<<extend>>

Pagar Reservación

Facultad Sistema UNAC 34


Diagramas de Casos de Uso
3. Inclusión: (<<include>>)
Caso Base

• La inclusión define como un caso de <<include>>

uso es parte obligatoria de un caso


de uso base.
Caso Obligatorio

• Un Caso Base incluye un Caso


Obligatorio:
Consultar
Una instancia de un caso base Información

siempre incluye el comportamiento


especificado por un caso de uso <<include>>

obligatorio.

Validar Usuario

Facultad Sistema UNAC 35


Diagramas de Casos de Uso
• Notación

Nombre del Sistema

Nombre del Caso de


Uso
generalización
Número del CU
<<include>>
Nombre del Actor
<<extend>>

Nombre del Caso de


Uso
Número del CU

Facultad Sistema UNAC 36


Diagramas de Casos de Uso
Caso de Uso

• Ejemplo:

Facultad Sistema UNAC 37


Diagramas de Casos de Uso
Especificación de un Caso de Uso: (Documentación)

• Nombre del Caso de Uso.

• Actores.

• Propósito.

• Precondiciones.

• Flujo de Eventos Principal.

• Sub Flujos.

• Excepciones.

• Postcondiciones.

Facultad Sistema UNAC 38


Diagramas de Actividades
• El diagrama de actividades define la lógica de
los procedimientos, los procesos del negocio y flujos
de trabajo del sistema.

• Un diagrama de actividades demuestra la serie de


actividades que deben ser realizadas en un caso de
uso, así como las distintas rutas que pueden irse
desencadenando en el caso de uso.

Facultad Sistema UNAC 39


Diagramas de Actividades
• Actividad:
Representa una acción que
será realizada por el
sistema. Nombre de la Actividad

• Actividad Inicial

• Actividad Final Verificar Password del Usuario

Facultad Sistema UNAC 40


Diagrama de Actividades
• Sub Actividad:

Una acción puede ser


descompuesta en varias
actividades. Actividad Compuesta

Actividad 1 Actividad 2

Facultad Sistema UNAC 41


Diagramas de Actividades
• Ramificación (Branch):
Validar Usuario
• Una ramificación surge
cuando existe la
posibilidad que ocurra más
de una transición [Usuario Válido]
Ver Información
(resultado) al terminar
determinada actividad. [Usuario Inválido]

Mostrar Mensaje de Usuario Inválido


• Este elemento es
representado a través de
un rombo.

Facultad Sistema UNAC 42


Diagramas de Actividades
• Especificaciones Join
• División

• Unión

Facultad Sistema UNAC 43


Diagramas de Actividades
• Señales
Algunas acciones responden a señales

• Señales de tiempo

• Envío de señal

• Recepción de señal

Facultad Sistema UNAC 44


Diagramas de Actividades
Reservar Solicitud
• Señales
• Ejemplo:
Enviar Solicitud

Solicitud
Esperar 30 seg Aceptada

Cancelar Registro
Guardar Solicitud

Facultad Sistema UNAC 45


Diagramas de Secuencia
• Los diagramas de secuencia describen como
colaboran y se comunican (interacción) los
objetos del sistema.

• Muestra los objetos que participan en una


interacción, el intercambio de mensajes y su
ordenamiento en el tiempo.

• Un diagrama de secuencia es una representación


que muestra, para un escenario de un caso de uso,
los eventos que generan los actores, su orden y
posibles eventos internos en el sistema

Facultad Sistema UNAC 46


Diagramas de Secuencia
ob3:C3 ob4:C4
op( ) Línea de vida
ob1:C1

[x>0] op1(x ) creación Mensaje


ob2:C2

condicional [x<0] op2(x )

op3(w ) op3(z )

Activación

op4( )

destrucción

recursión
Facultad Sistema UNAC 47
Diagramas de Secuencia

: Clase_A : Clase_B

mensaje 1 ( )
Valor (es) retorno
retornado (s)
asociado(s) con el
mensaje previo
Mensajes
mensaje 2 (p1,p2)

Facultad Sistema UNAC 48


Diagramas de Secuencia
• Crear Objetos: <<create>>

: Clase_A

mensaje 0 ( )

<<create>>
:Clase_B

mensaje 1( )

Facultad Sistema UNAC 49


Diagramas de Secuencia
• Destruir Objetos: <<destroy>>
: Clase_A

mensaje 0 ( )

<<create>>
:Clase_B

<<destroy>>

Facultad Sistema UNAC 50


Diagramas de Secuencia
• Mensajes Condicionales
: Clase_A : Clase_B

mensaje 0 ( )
[condición] mensaje 1 ( )

Facultad Sistema UNAC 51


Diagramas de Secuencia
• Mensajes Condicionales Excluyentes

: Clase_A : Clase_B : Clase_C

mensaje 0 ( )
[condición 1] mensaje 1 ( )

[condición 2] mensaje 2 ( )

Mensajes condicionales
mútuamente excluyentes

Facultad Sistema UNAC 52


Diagramas de Secuencia
• Caja de Iteración:

: Clase_A : Clase_B : Clase_C

mensaje 0 ( )

mensaje 1 ( )

mensaje 2 ( )
Caja que puede
encerrar un área
de iteración
*[...] es un
marcador de *[...]
iteración

Facultad Sistema UNAC 53


Diagramas de Secuencia

Facultad Sistema UNAC 54


Diagramas de Colaboración

• Un Diagrama de Colaboración describe la


interacción entre los objetos, numerando la
secuencia de mensajes.

Facultad Sistema UNAC 55


Diagramas de Colaboración

Primer mensaje y
parámetros
mensaje 0(p)
: C1
Mensajes, Orden y Dirección
1: mensaje1 (p ) Objetos
2: mensaje 2 ( )

Línea de Asociación
1.1: mensaje3(p )
: C2 :C3
1.2: mensaje 4

Reacción en cadena y numeración


Facultad Sistema UNAC 56
Diagramas de Colaboración

: C1 : C2
mensaje 0 (p)
: C1
mensaje 0 (p)
mensaje 1 (p)
1: mensaje 1 (p )
2: mensaje 2 ( )

mensaje 2 ()

: C2

Diagrama de Secuencia Diagrama de Colaboración

Facultad Sistema UNAC 57


Diagramas de Colaboración
• Mensajes Excluyentes

mensaje 0 (p) 1a [condición 2]: mensaje 2 ()


: C1 : C3

1b [condición 1]: mensaje1 ()

Mensajes condicionales
: C2 mutuamente excluyentes

Facultad Sistema UNAC 58


Diagramas de Colaboración
• Iteración

mensaje0 (p)
: C1

1* [i:=1..N]: vi:=mensaje ( )

La iteración se indica con *


: C2 seguido de una cláusula de
iteración opcional

Facultad Sistema UNAC 59


Diagramas de Colaboración

Facultad Sistema UNAC 60


Diagramas de Despliegue
• Un diagrama de despliegue muestra las relaciones
físicas entre los componentes hardware y software
en el sistema final, es decir, la configuración de los
elementos de procesamiento en tiempo de
ejecución y los componentes software (procesos y
objetos que se ejecutan en ellos).

• En el diagrama de despliegue se indica la


situación física de los componentes lógicos
desarrollados. Es decir se sitúa el software en el
hardware que lo contiene.

Facultad Sistema UNAC 61


Diagramas de Despliegue
• Nodo: Elemento donde se ejecutan los componentes,
representan el despliegue físico de estos componentes.

Nodo

• Asociación: Representa el tipo relación que


soporta la comunicación entre nodos

<<Nombre>>
Nodo Nodo
* 1

Facultad Sistema UNAC 62


Diagramas de Despliegue

Facultad Sistema UNAC 63


Diagramas de Componentes
• El diagrama de componentes muestra la relación
entre componentes de software, sus dependencias,
su comunicación, su ubicación y otras condiciones.

• Un diagrama de componentes muestra las


organizaciones y dependencias lógicas entre
componentes software, sean éstos componentes de
código fuente, binarios o ejecutables.

• Define los módulos físicos del software y sus


relaciones.

Facultad Sistema UNAC 64


Diagramas de Componentes
• Componente
• Es un tipo de contenedor.

• Provee una vista encapsulada de las funcionalidades


definidas en las clases.

• Por ejemplo, un paquete en un diagrama de


componentes representa un división física del sistema.

Facultad Sistema UNAC 65


Diagramas de Componentes
• Interfaces
• Las interfaces son los puntos visibles de entrada o los
servicios que un componente está ofreciendo y dejando
disponibles a otros componentes de software y clases.

• Exponen funcionalidades para otros componentes y las


requeridas de otros.

Facultad Sistema UNAC 66


Diagramas de Componentes
• Dependencia de módulos

• Abstrae la implementación de la interfaz e indica la


dependencia entre módulo

Facultad Sistema UNAC 67


Diagramas de Estado
• Los diagramas de estado muestran los diferentes
estados de un objeto durante su vida, y los
estímulos que provocan los cambios de estado en
un objeto.

• Los diagramas de estado ven a los objetos como


máquinas de estado o autómatas finitos que
pueden estar en un conjunto de estados finitos y
que pueden cambiar su estado a través de un
estímulo perteneciente a un conjunto finito.

Facultad Sistema UNAC 68


Diagramas de Estados
• Estado:

Nombre Estado
entry: Acción de entrada.
do: Actividad.
exit: Acción de Salida.

• Estado Inicial

• Estado Final
Facultad Sistema UNAC 69
Diagramas de Estados
• Transición:

Estado 1 Transición

Evento(P)[condición] / [Actividad]

Estado 2

Facultad Sistema UNAC 70


Diagramas de Estados
• Diagrama de Estados de un Libro:

Facultad Sistema UNAC 71


Ejemplo de Caso de Uso

Facultad Sistema UNAC 72


Ejemplo de Caso de Uso

Facultad Sistema UNAC 73


Ejemplo de Caso de Uso

Facultad Sistema UNAC 74


Ejemplo de Caso de Uso

Facultad Sistema UNAC 75


Ejemplo de Caso de Uso

Facultad Sistema UNAC 76


Ejemplo de Caso de Uso

Facultad Sistema UNAC 77


Ejemplo de Diagrama de Clases

Facultad Sistema UNAC 78


Ejemplo de Diagrama de Clases

Facultad Sistema UNAC 79


Ejemplo de Diagrama de Clases

Facultad Sistema UNAC 80


Ejemplo de Diagrama de Clases

Facultad Sistema UNAC 81


Ejemplo de Diagrama de Clases

Facultad Sistema UNAC 82


Facultad Sistema UNAC 83

Você também pode gostar