uml clase 02

Upload: estuardo-mauricio-montesinos-jaramillo

Post on 07-Jul-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 UML Clase 02

    1/108

    UML Básico

    Leandro Yalet

    [email protected]

  • 8/18/2019 UML Clase 02

    2/108

    Módulo III

    Modelado Estático

  • 8/18/2019 UML Clase 02

    3/108

    INTRODUCCIÓN

    MODELADO FUNCIONAL

    MODELADO ESTÁTICO

    Diagrama de Clases

    Diagrama de Objetos

    Diagrama de Componentes

    Diagrama de Despliegue

    Diagrama de Estructura Paquete

    MODELADO DINÁMICO+

    +

    +

    +

    +

    +

    --

  • 8/18/2019 UML Clase 02

    4/108

    Diagrama de Componentes

  • 8/18/2019 UML Clase 02

    5/108

    Diagrama de Componentes

    •Definición:

    es un diagrama que muestra la organización y lasdependencias entre tipos de componentes.

    Es un tipo especial de Diagrama de Clases que se centra en

    los componentes de un sistema.

    Contiene un nombre y un contenido gráfico que es unaproyección del modelo.

  • 8/18/2019 UML Clase 02

    6/108

    Diagrama de Componentes: contenido

    •Componentes

    •Interfaces

    •Relaciones (dependencia, generalización, asociación yrealización)

    • Pueden contener: notas y restricciones.

  • 8/18/2019 UML Clase 02

    7/108

    •¿Qué es un componente?Es una parte física reemplazable de un sistema queempaqueta su implementación.

    •Es conforme a un conjunto de interfaces a las queproporciona su realización.

    •Ejemplos

    Bibliotecas de código de objeto Ejecutables Enterprise Java Beans

    Tablas Archivos Documentos

    Diagrama de Componentes: componente

  • 8/18/2019 UML Clase 02

    8/108

    Nombre: nombre simple o nombre de camino. Puede

    contener extensiones (como java y dll). Adornos: valores etiquetados, compartimientos

    adicionales para mostrar los detalles.

    • Estereotipos: executable, library, table, file, document

    Componente: notación

    NombreComponente UML 1.5UML 2.0

    NombreComponente

    NombreComponente

  • 8/18/2019 UML Clase 02

    9/108

    Componente: ejemplos

    calculadora.java

    procesadorTextos.exe

    RealizaProcesadorDeTextosVerificadorOrtográfico

    ContadorPalabras

    Herramientas::calculadora.java{version=2.0}

    Nombres simples 

    Componentes extendidos 

    cmp Ejemplos

  • 8/18/2019 UML Clase 02

    10/108

    Componente: relaciones

    •Un componente es la implementación física de unconjunto de otros elementos (clases, colaboraciones)

    •Ejemplo

    procesadorTextos.exe

    ProcesadorDeTextos VerificadorOrtografico ContadorPalabras

    componente 

    clases 

    cmp Relaciones

  • 8/18/2019 UML Clase 02

    11/108

    Componentes y Clases

    •Diferencias:

    Las clases representan abstracciones lógicas, los

    componentes representan elementos físicos del mundo delos bits.

    Los componentes representan el empaquetamiento físico

    de clases que, por el contrario, son lógicos y seencuentran a distinto nivel de abstracción.

    Las clases pueden tener atributos y operaciones

    directamente accesibles. En general, los componentessólo tienen operaciones que sólo son accesibles a travésde sus interfaces.

  • 8/18/2019 UML Clase 02

    12/108

    Componentes e interfaces

    •Los servicios de un componente normalmente sóloestán disponibles a través de sus interfaces.

    •Ejemplos

    imagen.java componente.java

    imagen.java componente.java

    IObservadorImagen

    abortar: interror: int

    actualizarImagen():boolean

    IObservadorImagen

    dependencia realización

    interfaz

    cmp Interafaz Icónica

    cmp Interfaz Expandida

  • 8/18/2019 UML Clase 02

    13/108

    Tipos de Componentes

    •Componentes de Despliegue:– Son los necesarios y suficientes para formar un sistema ejecutable

    (dll, exe)  

    •Componentes producto del trabajo:– Son los productos que quedan al final del proceso de desarrollo

    (código fuente, archivos de datos)  

    •Componentes de ejecución:– Se crean como consecuencia de un sistema en ejecución (objeto

    COM+, el cual se instancia a partir de una DLL)  

  • 8/18/2019 UML Clase 02

    14/108

    Diagrama de Componentes

    •Ejemplo

    find.exefind.html

    index.html

    dbacs.dll

    nateng.dll

     página

    ejecutable

    biblioteca

    cmp Ejemplo

  • 8/18/2019 UML Clase 02

    15/108

    INTRODUCCIÓN

    MODELADO FUNCIONAL

    MODELADO ESTÁTICO

    Diagrama de Clases

    Diagrama de Objetos

    Diagrama de Componentes

    Diagrama de Despliegue

    Diagrama de Estructura Paquete

    MODELADO DINÁMICO++

    ++

    ++

    --

  • 8/18/2019 UML Clase 02

    16/108

    Diagrama de Despliegue

  • 8/18/2019 UML Clase 02

    17/108

    Diagrama de Despliegue

    •Definición:

    Es un diagrama que muestra la configuración de

    los nodos que participan en la ejecución y de loscomponentes que residen en ellos.

  • 8/18/2019 UML Clase 02

    18/108

    Diagrama de Despliegue: contenido

    •Nodos

    •Conexiones

    • Pueden contener:

    Notas y restricciones.

    Componentes, cada uno de los cuales debe residir en algúnnodo.

    Paquetes o subsistemas, los cuales se utilizan para agruparelementos del modelo en bloques más grandes.

  • 8/18/2019 UML Clase 02

    19/108

    Diagrama de Despliegue: nodo

    •¿Qué es un Nodo?

    Es un elemento físico que existe en tiempo de ejecución yrepresenta un recurso computacional que, generalmente,

    tiene alguna memoria y, a menudo, capacidad deprocesamiento.

  • 8/18/2019 UML Clase 02

    20/108

    Nodo: notación

    Nombre: nombre simple o nombre de camino.

    Adornos: valores etiquetados, compartimientosadicionales para mostrar los detalles.

    Servidor_egb

    servidor::copiaDeSeguridad

    {sóloAdministraciónRemota}

    Ventas

    Despliega

    pos.execontactos.exe

    nombres simples

    Nodos extendidos

  • 8/18/2019 UML Clase 02

    21/108

    Componentes y Nodos

    •Diferencias

    Los componentes son los elementos que participan en laejecución de un sistema; los nodos son los elementos dondese ejecutan esos componentes.

    Los componentes representan el empaquetamiento físico delos elementos lógicos; los nodos representan el desplieguefísico de componentes.

  • 8/18/2019 UML Clase 02

    22/108

    Diagrama de Despliegue

    •Relación de Dependencia: sirve para mostrarexplícitamente el componente que despliega un nodo.

    •Ejemplo

    contactos.exe

    ventas

    pos.exe

    nodo

    componentes

    dd Relacion de Dependencia

  • 8/18/2019 UML Clase 02

    23/108

    •Relación de Asociación: sirve para representar unaconexión física entre nodos.

    •Ejemplo

    Diagrama de Despliegue: conexiones

    terminal

    consola

    servidor unidad RAID

    conexiones 

    dd Conexiones entre Componentes

  • 8/18/2019 UML Clase 02

    24/108

    Diagrama de Despliegue: ejemplo

    Modelado de un sistema cliente/servidor

    conexiones

    clientes  servidores

    2..*

    Servidor de Cache

    Despliegahttp.exerting.exe

    4..*

    Servidor

    Despliegadbadmin.exelogexc.exe

    consola

    terminal

    dd Ejemplo General

  • 8/18/2019 UML Clase 02

    25/108

    Módulo IV

    Modelado Dinámico

  • 8/18/2019 UML Clase 02

    26/108

    INTRODUCCIÓN

    MODELADO FUNCIONAL

    MODELADO ESTÁTICO

    MODELADO DINÁMICO

    Diagramas de Interacción

    • Diagrama de Secuencia

    • Diagrama de Comunicación

    Diagrama de Actividades

    Diagrama de Máquina de Estados

    ++

    ++

    ++

    --

  • 8/18/2019 UML Clase 02

    27/108

    Diagramas de Interacción

    Diagrama de Secuencia

  • 8/18/2019 UML Clase 02

    28/108

    Diagrama de Secuencia

    •Definición:Un Diagrama de Secuencia destaca la ordenación temporalde los mensajes.

    •Notación:Se encierra en un rectángulo y se le agrega una etiqueta consd seguido del nombre.

    sd nombreDiag

  • 8/18/2019 UML Clase 02

    29/108

    Diagrama de Secuencia

    •Cada objeto cuenta con una línea de vida, que muestrael tiempo de vida del mismo.

    •La activación de un objeto representa la ejecución deuna operación que realiza el mismo.

    •Notación:

    objetoA:ClaseAobjeto 

    tiempo de vida 

    activación 

    M j

  • 8/18/2019 UML Clase 02

    30/108

    Mensajes

    •Tipos de mensajes:

    Mensaje síncrono

    Mensaje asíncronoMensaje directo

    Mensaje respuesta / resultado

    •Sintaxis:

    [Número de secuencia] [condición] * [expresión iteración] [valor deretorno :=] nombre del mensaje (parámetros)  

    M j

  • 8/18/2019 UML Clase 02

    31/108

    Mensajes

    objetoA:ClaseA :ClaseB

    Invocación Local

    Mensaje Síncrono

    Mensaje Asíncrono

    Mensaje Respuesta

    sd tiposDeMensajes

    F t lt ti

  • 8/18/2019 UML Clase 02

    32/108

    Fragmento: alternativa

    •Notación: se encierra en un rectángulo ( frame), se leagrega una etiqueta con el operador alt y se colocanlas guardas.

    •Ejemplo

    [guard 1]

    sd NombreDiag

    :Objeto1 :Objeto2

    Mensaje4

    alt

    Mensaje3

    Mensaje2

    Mensaje1

    [guard 2]

    Fragmento: bucle

  • 8/18/2019 UML Clase 02

    33/108

    •Notación: se encierra en un rectángulo ( frame), se leagrega una etiqueta con el operador loop y la cantidadde iteraciones (opcional).

    •Ejemplo

    Fragmento: bucle

    :Objeto1 :Objeto2

    Mensaje1

    Mensaje2

    Mensaje3Mensaje4

    Loop 1..7

    sd NombreDiag

    Fragmento: referencia

  • 8/18/2019 UML Clase 02

    34/108

    Fragmento: referencia

    •Notación: se coloca un rectángulo ( frame) con laetiqueta del operador ref , y el nombre de lainteracción se coloca en el centro con loscorrespondientes parámetros (opcional).

    •Ejemplo

    sd NombreDiag:Objeto1 :Objeto2

    Mensaje2

    Mensaje1

    ref

    NombreInteraccion(argumento,…)

    Diagrama de Secuencia: construcción

  • 8/18/2019 UML Clase 02

    35/108

    Diagrama de Secuencia: construcción

    •Primer Paso: Se colocan los objetos que participan enla interacción en la parte superior del diagrama.

    •Ejemplo

    a:AyudaPlanificación

    :Cliente

    sd planificación

    Diagrama de Secuencia: construcción

  • 8/18/2019 UML Clase 02

    36/108

    Diagrama de Secuencia: construcción

    •Segundo Paso: se colocan los mensajes que estosobjetos envían y reciben, en orden de sucesión en eltiempo, desde arriba hasta abajo.

    •Ejemplo

    a:AyudaPlanificación

    :Cliente

    :AgenteBilletes

    notificar()  

    objeto 

    establecerItinerario() calcularRuta() 

    envío destrucción 

    retorno 

    creación 

    llamada 

    llamada (invocación local)  

    sd planificación

    Ejemplo

  • 8/18/2019 UML Clase 02

    37/108

    Acciones del actor | Respuesta del sistema

    Curso Normal:

    1- Tomar un curso2- Obtener pre-requisitos del curso3- Validar condición del estudiante

    4- Validar estado del curso5- Guardar la inscripción

    Cursos Alternativos:

    3.1- El estudiante no cumple los pre-requisitos Rechazar4.1- El curso esta cerrado Rechazar

    Ejemplo

    •Caso de Uso: tomar un curso.

    Ejemplo

  • 8/18/2019 UML Clase 02

    38/108

    Ejemplo

    Estudiante

    :Registrador :AdmDeEstudiantes :AdmDeCursos

    tomarUnCurso(e,c)

    p:= obtenerPreRequisitos(c) 

    ok:= validarCondicEstudiante(e,p)

    [ok2]efectivizarInscripcion(e,c)

    ok2:= validarEstadoCurso (c)

    [not ok2]informarRechazo(mensaje)

    sd Tomarun Curso

    alt

    [not ok]

    [ok]

    informarRechazo(mensaje)

  • 8/18/2019 UML Clase 02

    39/108

    Diagramas de Interacción

    Diagramas de Comunicación

    Diagrama de Comunicación

  • 8/18/2019 UML Clase 02

    40/108

    Diagrama de Comunicación

    •Definición:

    Un Diagrama de Comunicación destaca la

    organización estructural de los objetosparticipantes y el envío de mensajes.

    sd nombreDiag

    Enlaces

  • 8/18/2019 UML Clase 02

    41/108

    Enlaces

    •Un enlace es una conexión semántica entre objetos.

    •Ejemplos

    Persona

    +calcularCompensación(s:Sueldo)

    +asignar(d:Departamento

    Empresa1..*

    empleado

    *

    patrón

    p:Persona :Empresa

    clase 

    clase asociación 

    operaciones 

    enlace objeto connombre 

    objetoanónimo 

    Mensajes

  • 8/18/2019 UML Clase 02

    42/108

    Me sajes

    •Los objetos se relacionan mediante enlaces através de los cuales se envían mensajes.

    •Sintaxis:

    Número de secuencia [condición] *[expresión iteración]: [valor de retorno :=]nombre del mensaje ([parámetros])  

    •Notación:

    :ObjetoClaseA :ObjetoClaseB1: mensaje()

  • 8/18/2019 UML Clase 02

    43/108

    Mensajes condicionales

  • 8/18/2019 UML Clase 02

    44/108

    j

    •Un mensaje condicional es aquel que se envía si laevaluación de la cláusula es verdadera.

    •Notación:

    :ObjetoClaseA :ObjetoClaseB1[condición]: mensaje()

    Si condición es verdadera,se envía el mensaje.

    Condiciones mutuamente excluyentes

  • 8/18/2019 UML Clase 02

    45/108

    y

    •Se debe utilizar una letra diferente para cada posiblecamino.

    •Notación:

    objetoA:ClaseA :ClaseB

    :ClaseC

    1a[condición1]: mensaje2()

    :ClaseD

    :ClaseE

    mensajeInicial()

    1b.1: mensaje5()

    1b[no condicion1]: mensaje4()

    1a.1: mensaje3()2: mensaje6()

    1a y 1b son caminos condicionalesmutuamente exclusivos.

    sd example

    Iteración o bucle

  • 8/18/2019 UML Clase 02

    46/108

    •Sintaxis:* [expresión-iteración ] mensaje

    •Ejemplo:

    v:Vendedor :LíneaProducto1 *[1..8]: verificarLínea()

    Iteración sobre una colección

  • 8/18/2019 UML Clase 02

    47/108

    •Los multiobjetos se utilizan para denotar un conjuntode instancias -colección-.

    •Ejemplo:

    v:Venta :LíneaDeVenta1 * : st::= getSubtotal()*

    Estos dos símbolos “*” utilizados conjuntamente

    implican iteración sobre el multiobjeto y el envíodel mensaje getSubtotal() a cada uno de los miembros.

    Diagrama de Comunicación: construcción

  • 8/18/2019 UML Clase 02

    48/108

    •Primer Paso: se colocan los objetos que participan enla comunicación como nodos del grafo.

    •Ejemplo

    :Estudiante :Registrador

    :AdmDeEstudiantes :AdmDeCursos

    sd inscripción

    Diagrama de Comunicación: construcción

  • 8/18/2019 UML Clase 02

    49/108

    •Segundo paso: se representan los enlaces queconectan esos objetos como arcos del grafo.

    •Ejemplo

    :Estudiante :Registrador

    :AdmDeEstudiantes :AdmDeCursos

    sd inscripción

    Diagrama de Comunicación: construcción

  • 8/18/2019 UML Clase 02

    50/108

    •Tercer Paso: se adornan los enlaces con los mensajesque envían y reciben los objetos.

    •Ejemplo

    :Estudiante :Registrador

    :AdmDeEstudiantes :AdmDeCursos

    1: tomarUnCurso(e,c)

    1.1: p:=obtenerPreRequisitos(c)1.2: ok:=validarCondicEstudiante(e,p)

     

    1. 3a: [ok] efectivizarInscripcion(e,c)  

    1.3b: [not ok] informarRechazo(mensaje)

    enlaces 

    mensajes 

    objetos 

    sd inscripción

    Secuencia Vs. Comunicación

  • 8/18/2019 UML Clase 02

    51/108

    •Los Diagramas de Secuencia tienen dos característicasque los distinguen de los Diagramas de Comunicación:

    Línea de vida: la mayoría de los objetos existirán mientras dure lainteracción.

    Caja de activación: representa el período de tiempo durante elcual un objeto ejecuta una acción.

    Comunicación Vs. Secuencia

  • 8/18/2019 UML Clase 02

    52/108

    •Los Diagramas de Comunicación tienen doscaracterísticas que los distinguen de los Diagramas deSecuencia:

    Camino: sirve para indicar cómo se enlaza un objeto a otro.

    Número de Secuencia: para indicar la ordenación temporal de unmensaje, se precede de un número, que se incrementasecuencialmente por cada nuevo mensaje en el flujo de control.

  • 8/18/2019 UML Clase 02

    53/108

    • Momento de ejercitación

    Ejercicio Nº 1

  • 8/18/2019 UML Clase 02

    54/108

    •Marque las respuestas correctas:

    En un Diagrama de Secuencia genérico, ¿Cómo serepresentaría el control de flujo implícito en una instrucción

    condicional?

    Se coloca la condición entre paréntesis

    Se coloca la condición entre corchetes

    Se coloca la condición como estereotipo

    Se coloca la condición entre llaves

    Ejercicio Nº 2

  • 8/18/2019 UML Clase 02

    55/108

    •¿A qué conceptos hacen referencia las siguientesafirmaciones sobre tipos de mensajes?

    Cuando un objeto envía un mensaje, el objeto aguarda unarespuesta antes de continuar.

    Cuando un objeto envía un mensaje, el objeto no aguarda unarespuesta para continuar.

    Mensaje asíncrono Mensaje síncrono

    Mensaje asíncrono Mensaje síncrono

    Ejercicio Nº 3

  • 8/18/2019 UML Clase 02

    56/108

    Espectador:Vendedor :Administrador

    consultarRep(nombreRep)

    buscar(nombreRep)

    consultarHorarioRep(Rep)

    horarios:=BuscarHorario(Rep)

    mostrarHorarios(horarios)

    :Representación

    sd Ejercicio

    •Dado el siguiente Diagrama sobre “Agregar Representación”,marque los errores y complete en caso de ser necesario:

    Rep:=buscarRep

    (nombreRep)

    Ejercicio Nº 4

  • 8/18/2019 UML Clase 02

    57/108

    •En el siguiente Diagrama, completar en caso de sernecesario y marcar los errores:

    Espectador:Vendedor

    Representación

    consultarRep(nombreRep)Rep:=buscarRep(Rep)

    buscarRep(nombreRep)

    consultarHorarioRep(Rep)

    horarios:= buscarRep(Rep)

    mostrarHorarios(horarios):Administrador

    sd teatro

    Ejercicio Nº 5

  • 8/18/2019 UML Clase 02

    58/108

    •Indicar si la siguiente definición es verdadera o falsa:

    La “equivalencia semántica” entre un Diagrama de Secuencia yun Diagrama de Comunicación significa que muestran la misma

    información, pero no podrá convertir uno en otro.

    V F

  • 8/18/2019 UML Clase 02

    59/108

    INTRODUCCIÓN

    MODELADO FUNCIONAL

    MODELADO ESTÁTICO

    MODELADO DINÁMICO

    Diagrama de Interacción

    Diagrama de Actividades Diagrama de Máquina de Estados

    ++

    ++

    ++

    --

  • 8/18/2019 UML Clase 02

    60/108

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    61/108

    Diagrama de Actividades: ámbito

  • 8/18/2019 UML Clase 02

    62/108

    •Similitud con los Diagramas de flujos en programación(pasos – puntos de decisión - bifurcaciones).

    •Cubren la vista dinámica de un sistema.

    •Importantes en el modelado del funcionamiento de unsistema.

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    63/108

    •¿Qué es una actividad?Es una ejecución no atómica en curso, dentro de una Máquina deEstados.

    •Un Diagrama de Actividad representa el comportamientomediante un modelo de flujo de datos y flujo de control.

    Relación con Diagramas de Interacción

  • 8/18/2019 UML Clase 02

    64/108

    •Un Diagrama de Actividad muestra el flujo de control entredistintas actividades, cumpliendo una finalidad específica.

    •Destaca la actividad a lo largo del tiempo.

    •Se lo puede pensar como un Diagrama de Interacción, con

    algunas diferencias:

    Un Diagrama de Interacción muestra objetos que se envíanmensajes.

    Un Diagrama de Actividad muestra las operaciones que pasanentre los objetos.

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    65/108

    •Las actividades producen finalmente una acción.

    •¿Qué es una acción?

    Es una especificación de una unidad fundamental decomportamiento que representa una transformación oprocesamiento.

    Las acciones están compuestas de cálculos atómicos ejecutablesque producen un cambio de estado o la devolución de un valor.

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    66/108

    ACCIONES

    Llamadas a otras operaciones.

    Creación de objetos.

    Envío de señales.

    Destrucción de objetos.

    Simples cálculos.

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    67/108

    estados

    transiciones

    objetos

    de acción

    de actividad

    • Un Diagrama de Actividades se compone:

    nombre

    nombreObjeto :NombreClase

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    68/108

    •Estado de acción:

    Es un estado atómico.

    Pueden representar la evaluación de una expresión o invocar

    una operación sobre un objeto, incluso crearlo o destruirlo.

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    69/108

    •Ejemplos de estados de acción:

    Eliminar mensaje

    Monto total := costoUnitario x cantidad ;

    Expresión 

    Acción simple 

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    70/108

    •Estado de actividad:

    No es un estado atómico.

    Puede ser visto como un elemento compuesto que sedescompone en estados de actividad y de acción.

    Puede tener acciones de entrada y salida (entry/exit) yespecificaciones de submáquinas.

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    71/108

    • Ejemplos de estados de actividad:

    Procesar factura () 

    Preparar construcción ()  

    entry / bloquearPerimetro() 

    Acción de entrada 

    Submáquina 

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    72/108

    •Transición de una actividad:

    Actividad 1

    Actividad 2

    punto inicial 

    punto final 

    transición sin disparador 

    nombre de la actividad 

    act Transición

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    73/108

    Elegir terreno

    Contratar arquitecto

    Planificar obra

    Terminar construcción

    estado inicial 

    estado final 

    estado de acción 

    act Ejemplo

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    74/108

    •Acción Vs. Actividad

    Sonando

    do / sonar_alarma()

    detección de un intruso / llamar a la policía ()

    reiniciar

    evento  acción 

    transición 

    actividad 

    evento transición 

    VigilandoVigilandoSonando

    do / sonar_alarma()

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    75/108

    •Elementos de interconexión:

    •Bifurcaciones

    •Divisiones

    •Uniones•Swimlanes

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    76/108

    •Dos formas de mostrar una decisión

    Despertar

    Desayunar Volver a dormir

    [ inapetente ][ hambriento ]

    Expresión de guarda 

    act Decisiones

    Diagrama de Actividades

    act Bifurcación

  • 8/18/2019 UML Clase 02

    77/108

    Despertar

    Desayunar Volver a dormir

    [ inapetente ][ hambriento ]

    Expresiónde guarda Bifurcación 

    Diagrama de Actividadesact Ejemplo

  • 8/18/2019 UML Clase 02

    78/108

    Llamar al cliente y concertar una cita

    Preparar una sala de conferencias Preparar una laptop

    Junta con el cliente

    Enviar un memorandum

    Crear propuesta

    Enviar la propuesta al cliente

    [ no se plantea un problema ]

    [ cita local ] [ cita externa ]

    Ver el Diagrama deActividades

    para crear un documento[se plantea un problema]

    Diagrama de Actividades: fork y join

    act Fork y Join

  • 8/18/2019 UML Clase 02

    79/108

    Fin de la jornada

    Controlar recaudación Cerrar caja

    Fork (división)  

    Join (unión)  

    y

  • 8/18/2019 UML Clase 02

    80/108

    Diagrama de Actividades: ejemplo general

    act Ejemplo General

  • 8/18/2019 UML Clase 02

    81/108

    Contratar actores

    Armar escenografía

    Contratar música

    Publicar obra

    Vender entradas

    Realizar ensayos

    Hacer vestuario

    Confeccionar obra teatral

    Programar obra

    Representar la obra de teatro

    Ensayar obra completa

    Diseñar iluminación

    act Ejemplo General

    Marcos de responsabilidades

  • 8/18/2019 UML Clase 02

    82/108

    Llamar al cliente yconcertar una cita

    Preparar una salade conferencias

    Preparar una laptop

    Junta con el cliente

    Enviar un memorandum

    Crear propuesta

    Enviar la propuesta al cliente

    [no se plantea un problema]

    [ cita local ]

    [ cita externa ]

    Ver el Diagrama deActividades

    para crear un documento

    Vendedor Consultor Técnico

    [se plantea un problema]

    Marcos de responsabilidades

    •Notación alternativa

  • 8/18/2019 UML Clase 02

    83/108

    (Consultor)Crear propuesta

    (Vendedor)Llamar al cliente yconcertar una cita

    (Consultor)Preparar una laptop

    (Vendedor)Junta con el cliente

    (Vendedor)Enviar un memorandum

    (Consultor)Enviar la propuesta al cliente

    [ no se plantea un problema ]

    [ cita local ][ cita externa ]

    Ver el D. de actividadespara crear un documento

    (Técnico)Preparar una salade conferencias

    act Ejemplo

    •Diagramas híbridos:

    Diagrama de Actividades

  • 8/18/2019 UML Clase 02

    84/108

    g

    :Calculadora

  • 8/18/2019 UML Clase 02

    85/108

    INTRODUCCIÓN

    MODELADO FUNCIONAL

    MODELADO ESTÁTICO

    MODELADO DINÁMICO

    Diagrama de Interacción

    Diagrama de Actividades

    Diagrama de Máquina de Estados

    ++

    ++

    ++

    --

  • 8/18/2019 UML Clase 02

    86/108

    Diagrama de Máquina de Estados

    Modelado Dinámico

  • 8/18/2019 UML Clase 02

    87/108

    •Una manera de caracterizar un cambio en un sistema esdecir que los objetos que lo componen modificaron su

    estado como respuesta a los sucesos y al tiempo.

    •Una Máquina de Estados es un nuevo elemento de

    comportamiento que nos mostrará la forma en que laspartes de un modelo UML cambian con el tiempo.

    •Una Máquina de Estados consta de estados, transiciones,

    eventos y actividades.

    Modelado de Máquinas de estado

  • 8/18/2019 UML Clase 02

    88/108

    •Un estado es una condición en la que puede estar unobjeto en algún momento de su ciclo de vida, duranteun cierto tiempo.

    •Los Diagramas de Máquina de Estados:

    Son útiles para modelar la vida de un objeto. Describen los estados por los que puede pasar un objeto

    durante su ciclo de vida y el comportamiento en esosestados junto con los eventos que causan los cambios de

    estado.

    ¿Cuándo usar Diagramas de Máquinas de estados ?

  • 8/18/2019 UML Clase 02

    89/108

    •Un Diagrama de Máquina de Estados muestra una Máquinade Estados, destacando el flujo de control entre estados dela misma.

    •Los Diagramas de Máquina de Estados pueden asociarse a:

    Clases Casos de Uso Sistemas completos

    para visualizar, especificar, construir y documentar ladinámica de un objeto individual.

    Diagrama de Máquinas de Estados

    Má i d E t d d :

  • 8/18/2019 UML Clase 02

    90/108

    Las Máquinas de Estados pueden estar compuestas por:

      Estados

    estados simples

    estados compuestos

      Transiciones

    eventos acciones

    Nombre_del_estado

    NombreSubestado

    NombreSubestado

    NombreEstado

    Estado:

    Diagrama de Máquinas de Estados

  • 8/18/2019 UML Clase 02

    91/108

    Estado:describe un período de tiempo durante la vida de un objeto de

    una clase.

    • Mientras se está en un determinado estado, el objeto

    puede realizar algunas (o todas) de las siguientes

    acciones:

    Realizar una actividad.

    Esperar un evento.

    Satisfacer una o más condiciones.

    Nombre del estado

    Elementos de Máquinas de estado

  • 8/18/2019 UML Clase 02

    92/108

    Estado inicial

    Estado final

    H

    Estado de historia

    Estado secuencial compuesto Estado concurrente compuesto

    evento1 / nombre de actividad interna

    evento2 / nombre de actividad interna

    exit / nombre de actividad al salirenter / nombre de actividad al entrardo / nombre de actividad a realizar

    Transiciones internas

    Nombre del estado

    Variables de estado

  • 8/18/2019 UML Clase 02

    93/108

    Evento:

    Diagrama de Máquinas de Estados

  • 8/18/2019 UML Clase 02

    94/108

    Evento:es la especificación de un acontecimiento significativo.

    Enviando EnviadoconfirmaciónEnvío

    stm Transiciones

    Acción:

    Diagrama de Máquinas de Estados

  • 8/18/2019 UML Clase 02

    95/108

    Acción:es una computación que produce un cambio de estado en

    el modelo o la devolución de un valor.

    Enviando Enviado

    confirmaciónEnvío / registraNºEmpaque( )  

    stm Transiciones

    Diagrama de Máquinas de Estados

    Estado compuesto autotransiciónEstado simple

    evento

  • 8/18/2019 UML Clase 02

    96/108

    reservar comprar

    cancelaciónDeReserva

    cantidad_dias > 5

    cambiar

    comprar

    Estado final transición

    Estado compuesto autotransición

    []/

    Estado inicial 

    evento

  • 8/18/2019 UML Clase 02

    97/108

    • Momento de ejercitación

    Ejercicio Nº 1

    • Indique si las siguientes afirmaciones son Verdaderas o Falsas:

  • 8/18/2019 UML Clase 02

    98/108

    • Indique si las siguientes afirmaciones son Verdaderas o Falsas:

    Un Diagrama de Actividad muestra el flujo de actividades y los objetos querealizan dichas actividades.

    Un Diagrama de Actividad es una forma especial de Máquina de Estados,prevista para modelar cómputos y flujos de trabajo.

    Un marco de responsabilidades, en un Diagrama de Actividad, es un segmentoque muestra las actividades que realiza algún rol en particular.

    FV

    V F

    FV

    Ejercicio N° 2

    •Marque cuáles son las posibles formas de representarun punto de decisión:

  • 8/18/2019 UML Clase 02

    99/108

    un punto de decisión:

    Mostrando las bifurcaciones mediante una barra de

    sincronización.

    Mostrando un rombo con bifurcaciones provenientes de él.

    Mostrando las bifurcaciones provenientes directamente de unaactividad.

    Mostrando una flecha de realización asociada a una nota,indicando la condición que asocia el camino hacia lasiguiente actividad.

    •Supongamos que el Gerente del teatro desea consultar

    Ejercicio N° 3

  • 8/18/2019 UML Clase 02

    100/108

    •Supongamos que el Gerente del teatro desea consultarinformación sobre una representación específica, marcarposibles errores en el siguiente diagrama que lo intenta

    modelar:

    Construir el diagrama de actividades a partir del siguiente dominio:

    Ejercicio Nº 4

  • 8/18/2019 UML Clase 02

    101/108

    Consideremos el flujo de trabajo asociado a la construcción de una casa:

    En 1º lugar, se seleccionará un lugar de construcción (terreno).

    Se necesitará contratar a un arquitecto para diseñar la casa.

    Luego de llegar a acordar un plano específico para construir, el constructor consultarálas ofertas para establecer el precio de casa.

    Una vez acordados el precio y el plano, se puede comenzar la construcción.

    Luego, se obtienen los permisos, se adecua el terreno, se echan cimientos, se armanlas estructuras, …. hasta que todo queda hecho.

    Finalmente se entregan las llaves y un certificado de vivienda.

    El propietario toma posesión de la casa.

    Ejercicio Nº 4 (cont.)

    C t t it t

  • 8/18/2019 UML Clase 02

    102/108

    Elegir terreno

    Contratar arquitecto

    Desarrollar plano

    Ofertar plano

    Realizar trabajo en el terreno

    Hacer trabajo comercial ()  

    Terminar construcción

    [ oferta de plano No aceptado ]

    [ en otro caso]

    : CertificadoDeVivienda

    [terminado]

    Ejercicio Nº 5

    Marque la respuesta correcta a la siguiente pregunta:

  • 8/18/2019 UML Clase 02

    103/108

    q p g p g

    ¿De qué forma difiere un Diagrama de Máquina de Estados de

    un Diagrama de Clases?

    Un Diagrama de Máquina de Estados muestra la interacción entreobjetos de un sistema, mientras que un Diagrama de Clases modela unsistema o parte de él.

    Un Diagrama de Máquina de Estados modela los estados de un soloobjeto, mientras que un Diagrama de Clases muestra elcomportamiento secuencial de los objetos del sistema.

    Un Diagrama de Máquina de Estados modela los estados de un soloobjeto, mientras que un Diagrama de Clases modela un sistema o parte

    de él.

    Ejercicio Nº 6

    •Indique si las siguientes afirmaciones son verdaderas ofalsas:

  • 8/18/2019 UML Clase 02

    104/108

    Un estado simple tiene un conjunto de transiciones y posiblementeacciones de entrada y salida.

    Una descomposición en subestados disjuntos es un tipo de especializaciónde un estado.

    Un estado simple es un estado que se ha descompuesto en subestados

    secuenciales o subestados concurrentes.

    V F

    V F

    V F

    Ejercicio Nº 7

    •¿A qué conceptos hacen referencia las siguientes

  • 8/18/2019 UML Clase 02

    105/108

    ¿ q p gafirmaciones sobre los “subestados”?

    Los subestados se dan uno después del otro.

    Los subestados suceden al mismo tiempo.

    Subestado Concurrente Subestado Secuencial

    Subestado Concurrente Subestado Secuencial

  • 8/18/2019 UML Clase 02

    106/108

    Fin del Curso

    Case Tools

  • 8/18/2019 UML Clase 02

    107/108

    Rational Rose 2001 Enterprise Edition

    Together version 5.5

    Poseidon

    ArgoUML

    Visio 2000

    SoftModeler Enterprise Edition

    Rational Software Modeler

    Bibliografía

    The Unified Modeling Language User Guide - G. Booch, J. Rumbaugh, and I.Jacobson - Addison-Wesley.

  • 8/18/2019 UML Clase 02

    108/108

    y

    The Unified Modeling Language Reference Manual - G. Booch, J. Rumbaugh, andI. Jacobson - Addison-Wesley

    Teach Yourself UML in 24 Hours - Joseph Schmuller

    UML Distilled - Martin Fowler

    UML for Java Programmers - Robert Cecil Martin

    OMG Unified Modeling Language Specification (Version 1.4 September 2001)  

    Lenguaje UML 2 – Manuel Imaz

    Applying UML and Patterns – Craig Larman

    UML 2 for Dummies