Sunteți pe pagina 1din 71

UML – Lenguaje de

Modelado Unificado

Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González


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.

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

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..*

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

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.

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

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

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

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.

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

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

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

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.

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

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.

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

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

18
Diagrama de Clases
• Asociación:

• Las asociaciones pueden ser reflexivas, es decir pueden


relacionar distintos objetos de una misma clase.

Persona

pariente de

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
*

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

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

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)

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

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

25
Diagramas de Objetos
• Ejemplo:

Diana: Estudiante Estudia en UCV: Universidad


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

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.

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

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

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

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.

31
Diagramas de Casos de Uso
Relaciones entre Casos de Uso:

1. Generalización.

2. Extensión.

3. Inclusión.

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

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

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

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

36
Diagramas de Casos de Uso
Caso de Uso

• Ejemplo:

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.

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.

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

40
Diagrama de Actividades
• Sub Actividad:

Una acción puede ser


descompuesta en varias
actividades. Actividad Compuesta

Actividad 1 Actividad 2

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.

42
Diagramas de Actividades
• Especificaciones Join
• División

• Unión

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

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

Solicitud
Esperar 30 seg Aceptada

Cancelar Registro
Guardar Solicitud

Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 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

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
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)

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

: Clase_A

mensaje 0 ( )

<<create>>
:Clase_B

mensaje 1( )

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

mensaje 0 ( )

<<create>>
:Clase_B

<<destroy>>

50
Diagramas de Secuencia
• Mensajes Condicionales
: Clase_A : Clase_B

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

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

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

53
Diagramas de Secuencia

54
Diagramas de Colaboración

• Un Diagrama de Colaboración describe la


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

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


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

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

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

59
Diagramas de Colaboración

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.

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

62
Diagramas de Despliegue

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.

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.

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.

66
Diagramas de Componentes
• Dependencia de módulos

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


dependencia entre módulo

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.

68
Diagramas de Estados
• Estado:

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

• Estado Inicial

• Estado Final
69
Diagramas de Estados
• Transición:

Estado 1 Transición

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

Estado 2

70
Diagramas de Estados
• Diagrama de Estados de un Libro:

71

S-ar putea să vă placă și