85
UML – Lenguaje de Modelado Unificado UPEA Universidad Pública de El alto Doc. Ing Pascual Yana - Profa. Zulma González

uml

Embed Size (px)

DESCRIPTION

conceptos, tipos de diagrama

Citation preview

UML – Lenguaje de Modelado UnificadoUPEAUniversidad Pública de El alto

Doc. Ing Pascual Yana - Profa. Zulma González

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.

UML «Aglutina» enfoques O.O.

UML

Rumbaugh

Jacobson

Meyer

Harel

Wirfs-BrockFusion

Embly

Gamma et. al.

Shlaer-Mellor

Odell

Booch

Pre- and Post-conditions

State Charts

Responsabilities

Operation descriptions, message numbering

Singleton classes

Frameworks, patterns, notes

Object life cycles

UML -CRONOLOGIA

Nov ‘97 UML aprobado por el OMG

1998

1999

2000

UML 1.2

UML 1.3

UML 1.4

2001 UML 2.0

Revisiones menores

UML: MODELOS y DIAGRAMAS

Modelo:

Captura una vista de un sistema del mundo real.

Es una abstracción de dicho sistema, considerando

un cierto propósito.

Diagrama:

Representación gráfica de una colección de

elementos de modelado, a menudo dibujada como

un grafo con vértices conectados por arcos.

UML: MODELOS

Vista de Diseño

Vista de Procesos

Vista de Despliegue

Vista de Implementación

Vista de los Casos de Uso

UML: DIAGRAMAS

Use CaseDiagramsDiagrama de

Casos de UsoState

DiagramsStateDiagramsDiagrama de

Clases

Diagramas

StateDiagramsState

DiagramsDiagrama de Objeto

Estática

ScenarioDiagramsScenario

DiagramsDiagrama de Actividad

ScenarioDiagramsScenario

DiagramsDiagrama de Secuencia

Use CaseDiagramsUse Case

Diagrams Diagrama de Estados

Interacción

ComponentDiagramsComponent

DiagramsDiagrama deComponentes

Implementación

Diagrama de Colaboración

ComponentDiagramsComponent

DiagramsDiagrama de Despliegue

Actividad

UML: DIAGRAMAS

Diagrama de Clases.

Diagrama de Objetos.

Diagramas de Casos de Uso.

Diagrama de estados.

Diagrama de Secuencias.

Diagrama de Actividades.

Diagrama de Colaboraciones.

Diagrama de Componentes.

Diagrama de Distribución.

Los Diagramas UML, están compuestos por elementos gráficos, que unidos conforman diagramas.

Los Diagramas UML, están compuestos por elementos gráficos, que unidos conforman diagramas.

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

Promedio: double

Universidad

Nombre:StringEstudia en

0..*

Estructura

• Diagrama de Objetos:• Análogo al diagrama de clases, muestra un conjunto

de objetos y sus relaciones, en un instante dado.

Diana: Estudiante

Promedio: 16,5

UCV: Universidad

Nombre: Univ. Central de Vzla

Estudia en

Nombre: Diana Martínez

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.

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 App

Servidor BD

Comportamiento

• Diagrama de Casos de Uso:• Describe las funcionalidades del sistema a partir

de las interacciones del usuario.

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.

• 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. Secuencia

Diag. Colaboración

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.

Comportamiento

• Diagrama de Actividades:• Describe el flujo de trabajo, muestra las

actividades, su secuenciamiento y coordinación

Diagramas de Diagramas de Casos de UsoCasos de Uso

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

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.

Diagramas de Casos de Uso

Actores

• Relaciones entre actores:

• Generalización: Cuando diferentes actores realizan

roles similares, pueden heredar de un actor común.

Secretaria

Administrador

Técnico

Diagramas de Casos de Uso

Actores

• Entidad externa que interactúa con el sistema.

• Entidades distintas a los usuarios de sistema.

• En algunos casos, representan cierta función que un usuario va a realizar en el sistema.

Nombre del Actor

Personas

Componente de Software

Sistema

Organización

Diagramas de Casos de Uso

Actores• Ejemplos:

Sistema deReservaciones de

Vuelos

Usuario

Base de Datos de Registros

Base de Datos Reservaciones

Sistema deComputación

Usuario

Operador

Administrador

Programador

Diagramas de Casos de Uso

Casos de Uso

• Un caso de uso define una funcionalidad del sistema.

• Cada caso de uso constituye un flujo de eventos, que especifican la interacción que toma lugar entre el actor y el sistema.

• Cada caso de uso produce un resultado observable y válido para el actor involucrado en la secuencia de acciones.

Nombre del Caso deUso

Verbos

Son Acciones

Diagramas de Casos de Uso

Relaciones entre Casos de Uso:

1. Generalización.

2. Extensión.

3. Inclusión.

Diagramas de Casos de Uso

1. Generalización:• Relación que define la

especialización de un caso de uso.

• Los casos de uso abstractos describirán las partes similares y no podrán ser instanciados independientemente.

• Los casos de uso concretos describirán el comportamiento específico.

Pagar Reservación

Pagar conTransferencia

Pagar con Tarjeta

Caso Abstracto

Caso Concreto

Diagrama de Casos de Uso

2. Extensión: (<<extend>>)

• Especifica como un caso de uso puede insertarse en otro para extender la funcionalidad de un caso de uso base.

• El Caso Opcional es una extensión del Caso Base: Una instancia del caso de uso Base puede incluir el comportamiento especificado por el Caso Opcional.

Caso Base

Caso Opcional

<<extend>>

Hacer Reservación

Pagar Reservación

<<extend>>

Diagramas de Casos de Uso

3. Inclusión: (<<include>>)

• La inclusión define como un caso de uso es parte obligatoria de un caso de uso base.

• Un Caso Base incluye un Caso Obligatorio: Una instancia de un caso base siempre incluye el comportamiento especificado por un caso de uso obligatorio.

Caso Base

Caso Obligatorio

<<include>>

ConsultarInformación

Validar Usuario

<<include>>

Diagramas de Casos de Uso

• Notación

Nombre del Actor

Nombre del Sistema

Nombre del Caso deUso

Número del CU

Nombre del Caso deUso

Número del CU

generalización<<include>> <<extend>>

Diagramas de Casos de Uso

Caso de Uso

• Ejemplo:

Diagramas de Casos de UsoEspecificació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.

Diagramas de Diagramas de SecuenciasSecuencias

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

Diagramas de Secuencia

ob1:C1

ob3:C3 ob4:C4

ob2:C2

op( )

[x>0] op1(x )

[x<0] op2(x )

op3(w ) op3(z )

op4( )

recursión

condicional

destrucción

creación

Línea de vida

Mensaje

Activación

Diagramas de Secuencia

: Clase_A : Clase_B

mensaje 1 ( )

mensaje 2 (p1,p2)Mensajes

retornoValor (es) retornado (s) asociado(s) con el mensaje previo

Diagramas de Secuencia

• Crear Objetos: <<create>>

: Clase_A

mensaje 0 ( )

<<create>>:Clase_B

mensaje 1( )

Diagramas de Secuencia

• Destruir Objetos: <<destroy>>

: Clase_A

mensaje 0 ( )

<<create>>:Clase_B

<<destroy>>

Diagramas de Secuencia

• Mensajes Condicionales

: Clase_A : Clase_B

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

Diagramas de Secuencia

• Mensajes Condicionales Excluyentes

: Clase_A : Clase_B

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

: Clase_C

[condición 2] mensaje 2 ( )

Mensajes condicionales

mútuamente excluyentes

Diagramas de Secuencia

• Caja de Iteración:

: Clase_B: Clase_A

mensaje 0 ( )

mensaje 1 ( )

: Clase_C

mensaje 2 ( )Caja que puede encerrar un área de iteración

*[...] es un marcador de iteración

*[...]

Diagramas de Secuencia

Diagramas de Diagramas de ColaboraciónColaboración

Diagramas de Colaboración

• Un Diagrama de Colaboración describe la interacción entre los objetos, numerando la secuencia de mensajes.

Diagramas de Colaboración

mensaje 0(p) : C1

: C2

1: mensaje1 (p )

2: mensaje 2 ( )

:C31.1: mensaje3(p )

1.2: mensaje 4

Primer mensaje y parámetros

Mensajes, Orden y Dirección

Línea de Asociación

Objetos

Reacción en cadena y numeración

Diagramas de Colaboración

mensaje 0 (p)

Diagrama de Colaboración Diagrama de Secuencia

: C1 : C2

mensaje 1 (p)mensaje 0 (p)

mensaje 2 ()

: C1

: C2

1: mensaje 1 (p )

2: mensaje 2 ( )

Diagramas de Colaboración

• Mensajes Excluyentes

: C1mensaje 0 (p)

: C2

: C3

Mensajes condicionales

mutuamente excluyentes

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

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

Diagramas de Colaboración

• Iteración

: C1mensaje0 (p)

: C2La iteración se indica con * seguido de una cláusula de iteración opcional

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

Diagramas de Colaboración

Diagramas de Diagramas de ClasesClases

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 Clase

AtributosMétodos

Nombre Atributo: Tipo Atributo

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

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 ObreroIngeniero

AnchoLargoArea

Diagramas de Clases

• Restricciones (constraints):• Restricciones de Atributos: Permiten adicionar reglas

en atributos.

• Restricciones en relaciones: Reglas a las relaciones.

Nombre Clase

Lista de Atributos

{restricción}

Rectángulo

{Area = Ancho * Largo}{Ancho = Largo}

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

<<modelo>>Persona

<<control>>Main

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.

Diagramas de Clases

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

• 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

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

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

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:

Estudiante

Universidad

Profesor**

*

Diagrama de Clases

• Asociación:

• Las asociaciones pueden ser reflexivas, es decir pueden relacionar distintos objetos de una misma clase.

Persona

pariente de

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*

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 Brazo2

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

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

Metodo (b: Clase_B)

Atributo1:int

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

Asociación

Clase_B

AtributosOperaciones

Diagramas de Diagramas de ObjetosObjetos

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

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

Diagramas de Objetos

• Ejemplo:

Diana: Estudiante

Promedio: 16,5

UPEA: Universidad

Nombre: Univ. Central de Vzla

Estudia en

Nombre: Diana Martínez

Diagramas de Diagramas de ActividadesActividades

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.

Diagramas de Actividades

• Actividad:Representa una acción que será realizada por el sistema.

• Actividad Inicial

• Actividad Final

Nombre de la Actividad

Verificar Password del Usuario

Diagrama de Actividades

• Sub Actividad:

Una acción puede ser descompuesta en varias actividades.

Actividad 1 Actividad 2

Actividad Compuesta

Diagramas de Actividades

• Ramificación (Branch):

• Una ramificación surge cuando existe la posibilidad que ocurra más de una transición (resultado) al terminar determinada actividad.

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

Validar Usuario

Ver Información

Mostrar Mensaje de Usuario Inválido

[Usuario Inválido]

[Usuario Válido]

Diagramas de Actividades

• Especificaciones Join• División

• Unión

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

Diagramas de Actividades

• Señales• Ejemplo:

Reservar Solicitud

Cancelar RegistroGuardar Solicitud

Enviar Solicitud

Solicitud AceptadaEsperar 30 seg

Diagramas de Diagramas de DespliegueDespliegue

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.

Diagramas de Despliegue

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

• Asociación: Representa el tipo relación que soporta la comunicación entre nodos

Nodo

Nodo Nodo* 1

<<Nombre>>

Diagramas de Despliegue

Diagramas de Diagramas de ComponentesComponentes

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.

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.

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.

Diagramas de Componentes

• Dependencia de módulos

• Abstrae la implementación de la interfaz e indica la dependencia entre módulo

Diagramas de Diagramas de EstadoEstado

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.

Diagramas de Estados

• Estado:

• Estado Inicial

• Estado Final

Nombre Estado

entry: Acción de entrada.do: Actividad.

exit: Acción de Salida.

Diagramas de Estados

• Transición:

Estado 1

Estado 2

Transición

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

Diagramas de Estados

• Diagrama de Estados de un Libro: