SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
1
Diagramas UML
René Guamán-Quinche
Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas/Computación
Mayo, 2020
Loja, Ecuador
3
1. Diagramas de Comportamiento

Diagrama de Actividad
●
Actividad
●
Acción
●
Acción basados en eventos
●
Acciones de comportamiento de llamada
●
Flujos de Control
●
Flujos de objetos
●
Particiones
●
Manejo de excepciones
●
Resumen
●
Ejemplos
Agenda
4
Diagramas de Actividades
Diagrama de comportamiento desde el punto de vista de las actividades que
realiza el sistema
Especifica el flujo de control y el flujo de datos entre varios pasos (las acciones)
necesarios para implementar una actividad
Muestra el paso a paso de las diferentes actividades del sistema
Utilidad

Modelar el comportamiento de determinados procesos del sistema

Modelar el comportamiento de procesos complejos que engloben varios
subprocesos

Representar el flujo de negocio del sistema
5
Actividad
Un diagrama de actividad le permite especificar el comportamiento definido por el
usuario en forma de actividades
Una actividad en sí misma puede describir la implementación de un caso de uso
En un nivel muy detallado, también puede definir el comportamiento de una
operación en forma de instrucciones individuales, o en un nivel menos detallado,
modelar las funciones de un proceso empresarial
También puede describir los procesos internos dentro de una empresa
6
Actividad
El contenido de una actividad es, como con las redes de Petri,

un gráfico dirigido cuyos nodos representan los componentes de la actividad

como acciones,

almacenes de datos y

elementos de control

y cuyos bordes representan el flujo de control o flujo de objetos, es decir, las
posibles rutas de ejecución. para la actividad
Una actividad se representa como un rectángulo con esquinas redondeadas y, al
igual que una operación, puede tener parámetros
7
Actividad
Parámetros entrada: son el
número de matrícula y la
identificación del programa de
estudios de un estudiante
Se ejecutan las acciones
registrar, escribir examen y
corregir
El resultado de la actividad es
una nota
Puede especificar condiciones
previas y posteriores para una
actividad
Actividad Realizar examen
8
Acción
Los elementos básicos de las actividades son las acciones
Al igual que una actividad, una acción se representa como un rectángulo con
esquinas redondeadas, en el que el nombre de la acción se coloca en el centro
del rectángulo redondeado
Especifica cualquier comportamiento definido por el usuario
Puede definir las acciones en lenguaje natural o en cualquier lenguaje de
programación
9
Acción
Las acciones procesan los valores de entrada para producir valores de salida,
lo que significa que pueden realizar cálculos
También pueden cargar datos desde una memoria y pueden cambiar el estado
actual de un sistema
Las acciones son siempre atómicas
10
Acción basadas en eventos
Permiten que los objetos y las señales se transmitan a los objetos receptores
Le permiten distinguir entre diferentes tipos de eventos
Puede utilizar una acción de aceptación de evento para modelar una acción
que espera la ocurrencia de un evento específico
El elemento de notación para una acción de evento
de aceptación es un “pentágono cóncavo”,
un rectángulo con una punta que apunta hacia
adentro desde la izquierda
11
Acción basadas en eventos
Las acciones de eventos de aceptación (tiempo) no necesariamente tienen
bordes entrantes
Si no tienen bordes entrantes, comienzan cuando ocurre el evento
correspondiente
Permanecen activos, es decir, pueden recibir señales hasta que finaliza la
actividad que los contiene
12
Acción basadas en eventos
Muestra tres ejemplos de acciones de
eventos de aceptación
(a) (tiempo): cada vez que se activa
una alarma de incendio, se debe
evacuar la sala de conferencias
(b) al final de un semestre, se emiten
certificados
(c) cuando un estudiante ha tomado
un examen, el estudiante espera la
calificación e inspecciona la hoja de
examen cuando recibe la calificación
13
Acciones de comportamiento de llamada
Las acciones pueden denominarse actividades en sí mismas
Estas acciones se denominan acciones de comportamiento de llamada y están
marcadas con un símbolo de bifurcación invertida
Este símbolo de bifurcación indica una jerarquía
Simboliza que la ejecución de esta acción inicia otra actividad, dividiendo así
el sistema en varias partes.
14
Acciones de comportamiento de llamada
(a) La acción Emitir certificado en la
actividad Organizar examen se refiere
a una actividad que especifica Emitir
certificado con más detalle
En la actividad Organizar examen,
los pasos internos que conducen a la
emisión de un certificado no son
relevantes
Por tanto, Emitir certificado se ve
aquí como una unidad atómica,
aunque implica un proceso con
múltiples acciones.

(b) muestra los detalles de la actividad
llamada Emitir certificado
15
Acciones de comportamiento de llamada
Una acción también puede desencadenar la llamada de una operación
Este tipo de acción se denomina acción de operación de llamada
Está representado en un rectángulo con bordes redondeados. Si el nombre de
la operación no coincide con el nombre de la acción, el nombre de la
operación se puede especificar debajo del nombre de la acción en el formato
(ClassName :: operationName).
16
Flujos de Control
Las actividades consisten en otras actividades y acciones
que están conectadas entre sí por bordes
Para integrar los aspectos de comportamiento dinámico en
el diagrama, se necesita semántica de ejecución
Un token es un mecanismo de coordinación virtual que
describe exactamente la ejecución. En este contexto, virtual
significa que los tokens no son componentes físicos del
diagrama. Son mecanismos que otorgan a las acciones un
permiso de ejecución
17
Flujos de Control
Si una acción recibe un token, la acción está activa y se puede
ejecutar
Una vez que la acción ha finalizado, pasa el token a un nodo
posterior a través de un borde y, por lo tanto, desencadena la
ejecución de esta acción
Una vez finalizada esta acción, pasa el token a los bordes salientes o
lo retiene hasta que se cumple una determinada condición
El paso de un token puede evitarse mediante un guardia que evalúe
como falso. Un resguardo se especifica entre corchetes
18
Flujos de Control
En el gráfico, un examen solo se lleva a cabo si los estudiantes se han
registrado para él
19
Flujos de Control
Peso de borde {weight of an edge}: Se puede colocar un peso en un borde para
permitir que un cierto número de eventos consuman ese borde mediante una
sola ejecución
El peso de un borde se especifica entre paréntesis con la palabra clave weight.
Siempre es un número entero mayor o igual a cero
Si la señal Registrarse se recibe 30 veces, lo que significa que al menos 30 estudiantes se han
registrado y, por lo tanto, se ofrecen 30 tokens para la acción posterior, entonces esta acción
posterior se ejecuta, consume 30 tokens y se crea un nuevo grupo
20
Flujos de Control
Si dos acciones que deben conectarse entre sí a través de un borde están muy
separadas en un diagrama, puede utilizar conectores para aclarar el diagrama
Un conector se representa como un pequeño círculo que
contiene el nombre del conector
Cada conector debe aparecer dos veces en una actividad: una con un borde
entrante y otra con un borde saliente
21
Flujos de Control
El nodo inicial indica dónde comienza la ejecución de una actividad
No tiene bordes entrantes, pero tiene al menos un borde saliente y se indica
como un círculo negro sólido
Tan pronto como una actividad se activa, se proporcionan tokens en todos los
bordes salientes de un nodo inicial y, por lo tanto, se inicia la actividad
22
Flujos de Control
También se permiten múltiples nodos iniciales para cada actividad
Esto le permite expresar simultaneidad, lo que significa que pueden estar
activas múltiples rutas de ejecución simultáneamente
Si se llama a una actividad con múltiples nodos iniciales, los bordes salientes
de todos los nodos iniciales reciben tokens simultáneamente
23
Flujos de Control
Los Nodos de decisión puede modelar ramas alternativas utilizando nodos de
decisión. Corresponden a la instrucción if en un lenguaje de programación
convencional
24
Flujos de Control
Los Nodos de decisión puede modelar ramas alternativas utilizando nodos de
decisión. Corresponden a la instrucción if en un lenguaje de programación
convencional
25
Flujos de Control
Si desea volver a unir subrutas alternativas, puede hacerlo utilizando el nodo
de combinación (merge node)
26
Flujos de Control
También puede combinar nodos de decisión y fusión. Este
nodo combinado tiene entonces múltiples bordes entrantes y
múltiples bordes salientes
Para los nodos de decisión y fusión, solo una de las posibles
rutas está activa. Se puede usar varios nodos iniciales para
modelar la simultaneidad al comienzo de una actividad
Si una ruta de ejecución se divide en varias rutas de ejecución
activas simultáneamente más adelante, puede realizar esto
utilizando un nodo de paralelización. Se representa como
una barra negra con un borde entrante y varios bordes
salientes.
27
Flujos de Control
Se Puede fusionar subrutas concurrentes mediante un nodo
de sincronización
Este nodo es la contraparte del nodo de paralelización
Se representa como una barra negra con múltiples bordes
entrantes pero solo un borde saliente
Tan pronto como los tokens estén presentes en todos los
bordes entrantes, es decir, tan pronto como se hayan ejecutado
todas las acciones anteriores, todos los tokens entrantes se
fusionan en un token que se transmite en el borde saliente
28
Flujos de Control
Se Puede fusionar subrutas concurrentes mediante un nodo de sincronización
Una vez que un estudiante se ha registrado para un curso, el estudiante asiste a la
conferencia y participa en la tarea simultáneamente
29
Flujos de Control
Se puede combinar nodos de decisión y fusión, también puede
combinar nodos de sincronización y paralelización usando una barra
con múltiples bordes entrantes y múltiples bordes salientes
Para el final de una actividad, se usa un nodo especial para este
propósito: el nodo final de la actividad
30
Flujos de Control
Si solo desea finalizar una ruta de ejecución, dejando las otras rutas de
ejecución activas simultáneamente sin verse afectadas, debe usar el nodo final
de flujo
Este nodo solo elimina los tokens que fluyen hacia él directamente, terminando
así solo la ruta respectiva
Todos los demás tokens de la actividad no se ven afectados y pueden seguir
existiendo.
31
Flujos de Control
32
Flujos de Control
33
Flujo de objetos

Los parámetros de entrada generalmente solo se leen una vez al comienzo de la
actividad

Los parámetros de salida se escriben una vez al final de la actividad

Si desea permitir que los parámetros se lean y escriban continuamente durante la
ejecución de la actividad, puede etiquetar el parámetro de entrada o salida con la
palabra clave {flujo | stream}

Los parámetros de transmisión de acciones

se pueden señalar mediante un rectángulo

relleno
34
Flujo de objetos

Cuando finaliza la actividad, a los parámetros de salida que no tienen token se
les asigna un token nulo

Dentro de una actividad, puede utilizar nodos de objeto para representar
explícitamente el intercambio de datos

El rectángulo contiene el nombre del objeto que representa. Opcionalmente,
también puede especificar un tipo de objeto. Entre corchetes, también puede
estipular el estado en el que debe estar el objeto.
35
Flujo de objetos
36
Flujo de objetos
37
Particiones

Permite agrupar nodos y bordes de una actividad en función de propiedades
comunes

Si consideramos un proceso de negocio, por ejemplo, podríamos usar una
partición para agrupar todas las acciones que una entidad específica es
responsable de ejecutar

Reflejan unidades organizativas o roles que son responsables de la ejecución
de las acciones dentro de las particiones

Las particiones hacen que el diagrama sea más claro, lo que le permite ver las
áreas de responsabilidad rápidamente, introduciendo así información más
detallada en el modelo
38
Particiones
39
Particiones
Una partición se puede subdividir en varias
subparticiones
Las particiones también pueden ser
multidimensional
40
Particiones
Si la acción pertenece a multiples particiones, esta partición son
separadoas por comas, por ejemplo (Partition 1, Partition 2)
41
Manejo de Excepciones

Si ocurre un error durante la ejecución de una acción, la ejecución finaliza

En esta situación, no hay garantía de que la acción produzca el resultado
esperado

Si una acción tiene un manejador de excepciones para una situación de error
específica, este manejador de excepciones se activa cuando ocurre una
excepción

Con un manejador de excepciones, puede definir cómo reaccionará el sistema
en una situación de error específica
42
Manejo de Excepciones

Si se produce una situación de error, todos los tokens de la acción en cuestión se
eliminan de inmediato

Si hay un manejador de excepciones, esto reemplaza el contenido de la acción
en cuestión y, en su lugar, se ejecuta el contenido del manejador de excepciones

Luego, la secuencia continúa como la ruta regular de la actividad como si la
acción defectuosa hubiera terminado normalmente
43
Manejo de Excepciones
44
Resumen
45
Resumen
46
Resumen
47
Resumen
48
Ejemplos
49
Ejemplos
50
Cŕeditos
• Transparencias basadas por:
• Christopher Exposito Izquierdo & AiRam Exposito Marquez & otros
• Martina Seidl · Marion Scholz, Christian Huemer · Gerti Kappel
• UML @ Classroom An Introduction to Object-Oriented Modeling
Networking académico:
Correo electrónico: rguaman@unl.edu.ec
Twitter: @rene5254
SlideShare: https://es.slideshare.net/rene5254
51
Gracias

Más contenido relacionado

La actualidad más candente (20)

Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Requisitos funcionales
Requisitos funcionalesRequisitos funcionales
Requisitos funcionales
 
Elicitación de requerimientos
Elicitación de requerimientosElicitación de requerimientos
Elicitación de requerimientos
 
Mdb metodologia para la elicitacion
Mdb metodologia para la elicitacionMdb metodologia para la elicitacion
Mdb metodologia para la elicitacion
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Casos de uso del negocio
Casos de uso del negocioCasos de uso del negocio
Casos de uso del negocio
 
Uml presentacion
Uml   presentacionUml   presentacion
Uml presentacion
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 
casos de uso
casos de usocasos de uso
casos de uso
 
Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
Diagrama de estado
Diagrama de estadoDiagrama de estado
Diagrama de estado
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de Requerimientos
 
Requisitos no Funcionales
Requisitos no FuncionalesRequisitos no Funcionales
Requisitos no Funcionales
 
UML: Diagrama de caso de uso
UML: Diagrama de caso de usoUML: Diagrama de caso de uso
UML: Diagrama de caso de uso
 
03 requerimientos
03 requerimientos03 requerimientos
03 requerimientos
 
Ciclo de vida software
Ciclo de vida softwareCiclo de vida software
Ciclo de vida software
 
Diagramas de Casos de Uso del Negocio y del Sistema
 Diagramas de Casos de Uso del Negocio y del Sistema Diagramas de Casos de Uso del Negocio y del Sistema
Diagramas de Casos de Uso del Negocio y del Sistema
 

Similar a Diagramas de actividades

Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividadesGracielaPinedo
 
Sistemas de Informacion - Tema 3 diagrama de actividades
Sistemas de Informacion - Tema 3   diagrama de actividadesSistemas de Informacion - Tema 3   diagrama de actividades
Sistemas de Informacion - Tema 3 diagrama de actividadesrulazisc
 
Informe escrito sobre PSeInt
Informe escrito sobre PSeIntInforme escrito sobre PSeInt
Informe escrito sobre PSeIntMiguel Jimenez
 
Estructuras básicas tecnología
Estructuras básicas tecnología Estructuras básicas tecnología
Estructuras básicas tecnología lautorres10
 
Estructuras basicas
Estructuras basicasEstructuras basicas
Estructuras basicassofiaurbano1
 
Estructuras básicas tecnología
Estructuras básicas tecnología Estructuras básicas tecnología
Estructuras básicas tecnología pilarrestrepo2
 
Diagrama de Actividades.pptx
Diagrama de Actividades.pptxDiagrama de Actividades.pptx
Diagrama de Actividades.pptxYuzabethMacas1
 
Diagramas deactividad
Diagramas deactividadDiagramas deactividad
Diagramas deactividadAntonio Mora
 
Estructura básica- Naturaleza y evolución de la tecnología
Estructura básica- Naturaleza y evolución de la tecnologíaEstructura básica- Naturaleza y evolución de la tecnología
Estructura básica- Naturaleza y evolución de la tecnologíaerickgalindez1
 
Estructuras básicas tecnología
Estructuras básicas tecnología  Estructuras básicas tecnología
Estructuras básicas tecnología JustineBravo1
 
diagramacionlogica
diagramacionlogicadiagramacionlogica
diagramacionlogicaCamiggg
 
Diagramas de actividades en uml
Diagramas de  actividades en umlDiagramas de  actividades en uml
Diagramas de actividades en umlYamid Ortiz
 
Estructuras básicas conceptos básicos de programación
Estructuras básicas  conceptos básicos de programaciónEstructuras básicas  conceptos básicos de programación
Estructuras básicas conceptos básicos de programaciónjuanjosegonzalez52
 
Estructuras básicas conceptos básicos de programación (1)
Estructuras básicas  conceptos básicos de programación (1)Estructuras básicas  conceptos básicos de programación (1)
Estructuras básicas conceptos básicos de programación (1)SamuelLeonHormaza
 
Estructuras básicas: conceptos básicos de programación
Estructuras básicas: conceptos básicos de programación Estructuras básicas: conceptos básicos de programación
Estructuras básicas: conceptos básicos de programación KamilaCaroUribe
 
Estructuras básicas de la electrónica 10-1
Estructuras básicas  de la electrónica 10-1Estructuras básicas  de la electrónica 10-1
Estructuras básicas de la electrónica 10-1jhoansebastianarias
 

Similar a Diagramas de actividades (20)

Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Sistemas de Informacion - Tema 3 diagrama de actividades
Sistemas de Informacion - Tema 3   diagrama de actividadesSistemas de Informacion - Tema 3   diagrama de actividades
Sistemas de Informacion - Tema 3 diagrama de actividades
 
Informe escrito sobre PSeInt
Informe escrito sobre PSeIntInforme escrito sobre PSeInt
Informe escrito sobre PSeInt
 
Guía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de FlujoGuía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de Flujo
 
Ud4. anexo ii. diagramas de actividad
Ud4. anexo ii. diagramas de actividadUd4. anexo ii. diagramas de actividad
Ud4. anexo ii. diagramas de actividad
 
Estructuras básicas tecnología
Estructuras básicas tecnología Estructuras básicas tecnología
Estructuras básicas tecnología
 
Estructuras basicas
Estructuras basicasEstructuras basicas
Estructuras basicas
 
Estructuras básicas tecnología
Estructuras básicas tecnología Estructuras básicas tecnología
Estructuras básicas tecnología
 
Diagrama de Actividades.pptx
Diagrama de Actividades.pptxDiagrama de Actividades.pptx
Diagrama de Actividades.pptx
 
Diagramas deactividad
Diagramas deactividadDiagramas deactividad
Diagramas deactividad
 
Diagrama de Actividades
Diagrama de ActividadesDiagrama de Actividades
Diagrama de Actividades
 
Diagrama Logica
Diagrama LogicaDiagrama Logica
Diagrama Logica
 
Estructura básica- Naturaleza y evolución de la tecnología
Estructura básica- Naturaleza y evolución de la tecnologíaEstructura básica- Naturaleza y evolución de la tecnología
Estructura básica- Naturaleza y evolución de la tecnología
 
Estructuras básicas tecnología
Estructuras básicas tecnología  Estructuras básicas tecnología
Estructuras básicas tecnología
 
diagramacionlogica
diagramacionlogicadiagramacionlogica
diagramacionlogica
 
Diagramas de actividades en uml
Diagramas de  actividades en umlDiagramas de  actividades en uml
Diagramas de actividades en uml
 
Estructuras básicas conceptos básicos de programación
Estructuras básicas  conceptos básicos de programaciónEstructuras básicas  conceptos básicos de programación
Estructuras básicas conceptos básicos de programación
 
Estructuras básicas conceptos básicos de programación (1)
Estructuras básicas  conceptos básicos de programación (1)Estructuras básicas  conceptos básicos de programación (1)
Estructuras básicas conceptos básicos de programación (1)
 
Estructuras básicas: conceptos básicos de programación
Estructuras básicas: conceptos básicos de programación Estructuras básicas: conceptos básicos de programación
Estructuras básicas: conceptos básicos de programación
 
Estructuras básicas de la electrónica 10-1
Estructuras básicas  de la electrónica 10-1Estructuras básicas  de la electrónica 10-1
Estructuras básicas de la electrónica 10-1
 

Más de Rene Guaman-Quinche

Más de Rene Guaman-Quinche (16)

interfaces.pdf
interfaces.pdfinterfaces.pdf
interfaces.pdf
 
Paradigma Programación Orientada a Objetos
Paradigma Programación Orientada a ObjetosParadigma Programación Orientada a Objetos
Paradigma Programación Orientada a Objetos
 
replicacion heterogenea.pdf
replicacion heterogenea.pdfreplicacion heterogenea.pdf
replicacion heterogenea.pdf
 
Hilos con Posix
Hilos con PosixHilos con Posix
Hilos con Posix
 
Introducción a los sistemas distribuidos
Introducción a los sistemas distribuidosIntroducción a los sistemas distribuidos
Introducción a los sistemas distribuidos
 
Sistema de Archivos Distribuidos
Sistema de Archivos DistribuidosSistema de Archivos Distribuidos
Sistema de Archivos Distribuidos
 
RPC
RPCRPC
RPC
 
Unidad 2 diseño orientado a objetos
Unidad 2 diseño orientado a objetosUnidad 2 diseño orientado a objetos
Unidad 2 diseño orientado a objetos
 
Tiempo, causalidad y estado global
Tiempo, causalidad y estado globalTiempo, causalidad y estado global
Tiempo, causalidad y estado global
 
Tiempo, causalidad y estado global Alberto Lafuente Teorìa
Tiempo, causalidad y estado global Alberto Lafuente TeorìaTiempo, causalidad y estado global Alberto Lafuente Teorìa
Tiempo, causalidad y estado global Alberto Lafuente Teorìa
 
Tiempo, causalidad y estado global Alberto Lafuente Transparencias
Tiempo, causalidad y estado global Alberto Lafuente TransparenciasTiempo, causalidad y estado global Alberto Lafuente Transparencias
Tiempo, causalidad y estado global Alberto Lafuente Transparencias
 
Comunicacion intra procesos con socket
Comunicacion intra procesos con socketComunicacion intra procesos con socket
Comunicacion intra procesos con socket
 
Modelo paso de mensajes
Modelo paso de mensajesModelo paso de mensajes
Modelo paso de mensajes
 
RMI
RMIRMI
RMI
 
Caracterizacion del paralelismo
Caracterizacion del paralelismoCaracterizacion del paralelismo
Caracterizacion del paralelismo
 
Introduccion a la computación paralela
Introduccion a la computación paralelaIntroduccion a la computación paralela
Introduccion a la computación paralela
 

Diagramas de actividades

  • 1. 1
  • 2. Diagramas UML René Guamán-Quinche Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables Carrera de Ingeniería en Sistemas/Computación Mayo, 2020 Loja, Ecuador
  • 3. 3 1. Diagramas de Comportamiento  Diagrama de Actividad ● Actividad ● Acción ● Acción basados en eventos ● Acciones de comportamiento de llamada ● Flujos de Control ● Flujos de objetos ● Particiones ● Manejo de excepciones ● Resumen ● Ejemplos Agenda
  • 4. 4 Diagramas de Actividades Diagrama de comportamiento desde el punto de vista de las actividades que realiza el sistema Especifica el flujo de control y el flujo de datos entre varios pasos (las acciones) necesarios para implementar una actividad Muestra el paso a paso de las diferentes actividades del sistema Utilidad  Modelar el comportamiento de determinados procesos del sistema  Modelar el comportamiento de procesos complejos que engloben varios subprocesos  Representar el flujo de negocio del sistema
  • 5. 5 Actividad Un diagrama de actividad le permite especificar el comportamiento definido por el usuario en forma de actividades Una actividad en sí misma puede describir la implementación de un caso de uso En un nivel muy detallado, también puede definir el comportamiento de una operación en forma de instrucciones individuales, o en un nivel menos detallado, modelar las funciones de un proceso empresarial También puede describir los procesos internos dentro de una empresa
  • 6. 6 Actividad El contenido de una actividad es, como con las redes de Petri,  un gráfico dirigido cuyos nodos representan los componentes de la actividad  como acciones,  almacenes de datos y  elementos de control  y cuyos bordes representan el flujo de control o flujo de objetos, es decir, las posibles rutas de ejecución. para la actividad Una actividad se representa como un rectángulo con esquinas redondeadas y, al igual que una operación, puede tener parámetros
  • 7. 7 Actividad Parámetros entrada: son el número de matrícula y la identificación del programa de estudios de un estudiante Se ejecutan las acciones registrar, escribir examen y corregir El resultado de la actividad es una nota Puede especificar condiciones previas y posteriores para una actividad Actividad Realizar examen
  • 8. 8 Acción Los elementos básicos de las actividades son las acciones Al igual que una actividad, una acción se representa como un rectángulo con esquinas redondeadas, en el que el nombre de la acción se coloca en el centro del rectángulo redondeado Especifica cualquier comportamiento definido por el usuario Puede definir las acciones en lenguaje natural o en cualquier lenguaje de programación
  • 9. 9 Acción Las acciones procesan los valores de entrada para producir valores de salida, lo que significa que pueden realizar cálculos También pueden cargar datos desde una memoria y pueden cambiar el estado actual de un sistema Las acciones son siempre atómicas
  • 10. 10 Acción basadas en eventos Permiten que los objetos y las señales se transmitan a los objetos receptores Le permiten distinguir entre diferentes tipos de eventos Puede utilizar una acción de aceptación de evento para modelar una acción que espera la ocurrencia de un evento específico El elemento de notación para una acción de evento de aceptación es un “pentágono cóncavo”, un rectángulo con una punta que apunta hacia adentro desde la izquierda
  • 11. 11 Acción basadas en eventos Las acciones de eventos de aceptación (tiempo) no necesariamente tienen bordes entrantes Si no tienen bordes entrantes, comienzan cuando ocurre el evento correspondiente Permanecen activos, es decir, pueden recibir señales hasta que finaliza la actividad que los contiene
  • 12. 12 Acción basadas en eventos Muestra tres ejemplos de acciones de eventos de aceptación (a) (tiempo): cada vez que se activa una alarma de incendio, se debe evacuar la sala de conferencias (b) al final de un semestre, se emiten certificados (c) cuando un estudiante ha tomado un examen, el estudiante espera la calificación e inspecciona la hoja de examen cuando recibe la calificación
  • 13. 13 Acciones de comportamiento de llamada Las acciones pueden denominarse actividades en sí mismas Estas acciones se denominan acciones de comportamiento de llamada y están marcadas con un símbolo de bifurcación invertida Este símbolo de bifurcación indica una jerarquía Simboliza que la ejecución de esta acción inicia otra actividad, dividiendo así el sistema en varias partes.
  • 14. 14 Acciones de comportamiento de llamada (a) La acción Emitir certificado en la actividad Organizar examen se refiere a una actividad que especifica Emitir certificado con más detalle En la actividad Organizar examen, los pasos internos que conducen a la emisión de un certificado no son relevantes Por tanto, Emitir certificado se ve aquí como una unidad atómica, aunque implica un proceso con múltiples acciones.  (b) muestra los detalles de la actividad llamada Emitir certificado
  • 15. 15 Acciones de comportamiento de llamada Una acción también puede desencadenar la llamada de una operación Este tipo de acción se denomina acción de operación de llamada Está representado en un rectángulo con bordes redondeados. Si el nombre de la operación no coincide con el nombre de la acción, el nombre de la operación se puede especificar debajo del nombre de la acción en el formato (ClassName :: operationName).
  • 16. 16 Flujos de Control Las actividades consisten en otras actividades y acciones que están conectadas entre sí por bordes Para integrar los aspectos de comportamiento dinámico en el diagrama, se necesita semántica de ejecución Un token es un mecanismo de coordinación virtual que describe exactamente la ejecución. En este contexto, virtual significa que los tokens no son componentes físicos del diagrama. Son mecanismos que otorgan a las acciones un permiso de ejecución
  • 17. 17 Flujos de Control Si una acción recibe un token, la acción está activa y se puede ejecutar Una vez que la acción ha finalizado, pasa el token a un nodo posterior a través de un borde y, por lo tanto, desencadena la ejecución de esta acción Una vez finalizada esta acción, pasa el token a los bordes salientes o lo retiene hasta que se cumple una determinada condición El paso de un token puede evitarse mediante un guardia que evalúe como falso. Un resguardo se especifica entre corchetes
  • 18. 18 Flujos de Control En el gráfico, un examen solo se lleva a cabo si los estudiantes se han registrado para él
  • 19. 19 Flujos de Control Peso de borde {weight of an edge}: Se puede colocar un peso en un borde para permitir que un cierto número de eventos consuman ese borde mediante una sola ejecución El peso de un borde se especifica entre paréntesis con la palabra clave weight. Siempre es un número entero mayor o igual a cero Si la señal Registrarse se recibe 30 veces, lo que significa que al menos 30 estudiantes se han registrado y, por lo tanto, se ofrecen 30 tokens para la acción posterior, entonces esta acción posterior se ejecuta, consume 30 tokens y se crea un nuevo grupo
  • 20. 20 Flujos de Control Si dos acciones que deben conectarse entre sí a través de un borde están muy separadas en un diagrama, puede utilizar conectores para aclarar el diagrama Un conector se representa como un pequeño círculo que contiene el nombre del conector Cada conector debe aparecer dos veces en una actividad: una con un borde entrante y otra con un borde saliente
  • 21. 21 Flujos de Control El nodo inicial indica dónde comienza la ejecución de una actividad No tiene bordes entrantes, pero tiene al menos un borde saliente y se indica como un círculo negro sólido Tan pronto como una actividad se activa, se proporcionan tokens en todos los bordes salientes de un nodo inicial y, por lo tanto, se inicia la actividad
  • 22. 22 Flujos de Control También se permiten múltiples nodos iniciales para cada actividad Esto le permite expresar simultaneidad, lo que significa que pueden estar activas múltiples rutas de ejecución simultáneamente Si se llama a una actividad con múltiples nodos iniciales, los bordes salientes de todos los nodos iniciales reciben tokens simultáneamente
  • 23. 23 Flujos de Control Los Nodos de decisión puede modelar ramas alternativas utilizando nodos de decisión. Corresponden a la instrucción if en un lenguaje de programación convencional
  • 24. 24 Flujos de Control Los Nodos de decisión puede modelar ramas alternativas utilizando nodos de decisión. Corresponden a la instrucción if en un lenguaje de programación convencional
  • 25. 25 Flujos de Control Si desea volver a unir subrutas alternativas, puede hacerlo utilizando el nodo de combinación (merge node)
  • 26. 26 Flujos de Control También puede combinar nodos de decisión y fusión. Este nodo combinado tiene entonces múltiples bordes entrantes y múltiples bordes salientes Para los nodos de decisión y fusión, solo una de las posibles rutas está activa. Se puede usar varios nodos iniciales para modelar la simultaneidad al comienzo de una actividad Si una ruta de ejecución se divide en varias rutas de ejecución activas simultáneamente más adelante, puede realizar esto utilizando un nodo de paralelización. Se representa como una barra negra con un borde entrante y varios bordes salientes.
  • 27. 27 Flujos de Control Se Puede fusionar subrutas concurrentes mediante un nodo de sincronización Este nodo es la contraparte del nodo de paralelización Se representa como una barra negra con múltiples bordes entrantes pero solo un borde saliente Tan pronto como los tokens estén presentes en todos los bordes entrantes, es decir, tan pronto como se hayan ejecutado todas las acciones anteriores, todos los tokens entrantes se fusionan en un token que se transmite en el borde saliente
  • 28. 28 Flujos de Control Se Puede fusionar subrutas concurrentes mediante un nodo de sincronización Una vez que un estudiante se ha registrado para un curso, el estudiante asiste a la conferencia y participa en la tarea simultáneamente
  • 29. 29 Flujos de Control Se puede combinar nodos de decisión y fusión, también puede combinar nodos de sincronización y paralelización usando una barra con múltiples bordes entrantes y múltiples bordes salientes Para el final de una actividad, se usa un nodo especial para este propósito: el nodo final de la actividad
  • 30. 30 Flujos de Control Si solo desea finalizar una ruta de ejecución, dejando las otras rutas de ejecución activas simultáneamente sin verse afectadas, debe usar el nodo final de flujo Este nodo solo elimina los tokens que fluyen hacia él directamente, terminando así solo la ruta respectiva Todos los demás tokens de la actividad no se ven afectados y pueden seguir existiendo.
  • 33. 33 Flujo de objetos  Los parámetros de entrada generalmente solo se leen una vez al comienzo de la actividad  Los parámetros de salida se escriben una vez al final de la actividad  Si desea permitir que los parámetros se lean y escriban continuamente durante la ejecución de la actividad, puede etiquetar el parámetro de entrada o salida con la palabra clave {flujo | stream}  Los parámetros de transmisión de acciones  se pueden señalar mediante un rectángulo  relleno
  • 34. 34 Flujo de objetos  Cuando finaliza la actividad, a los parámetros de salida que no tienen token se les asigna un token nulo  Dentro de una actividad, puede utilizar nodos de objeto para representar explícitamente el intercambio de datos  El rectángulo contiene el nombre del objeto que representa. Opcionalmente, también puede especificar un tipo de objeto. Entre corchetes, también puede estipular el estado en el que debe estar el objeto.
  • 37. 37 Particiones  Permite agrupar nodos y bordes de una actividad en función de propiedades comunes  Si consideramos un proceso de negocio, por ejemplo, podríamos usar una partición para agrupar todas las acciones que una entidad específica es responsable de ejecutar  Reflejan unidades organizativas o roles que son responsables de la ejecución de las acciones dentro de las particiones  Las particiones hacen que el diagrama sea más claro, lo que le permite ver las áreas de responsabilidad rápidamente, introduciendo así información más detallada en el modelo
  • 39. 39 Particiones Una partición se puede subdividir en varias subparticiones Las particiones también pueden ser multidimensional
  • 40. 40 Particiones Si la acción pertenece a multiples particiones, esta partición son separadoas por comas, por ejemplo (Partition 1, Partition 2)
  • 41. 41 Manejo de Excepciones  Si ocurre un error durante la ejecución de una acción, la ejecución finaliza  En esta situación, no hay garantía de que la acción produzca el resultado esperado  Si una acción tiene un manejador de excepciones para una situación de error específica, este manejador de excepciones se activa cuando ocurre una excepción  Con un manejador de excepciones, puede definir cómo reaccionará el sistema en una situación de error específica
  • 42. 42 Manejo de Excepciones  Si se produce una situación de error, todos los tokens de la acción en cuestión se eliminan de inmediato  Si hay un manejador de excepciones, esto reemplaza el contenido de la acción en cuestión y, en su lugar, se ejecuta el contenido del manejador de excepciones  Luego, la secuencia continúa como la ruta regular de la actividad como si la acción defectuosa hubiera terminado normalmente
  • 50. 50 Cŕeditos • Transparencias basadas por: • Christopher Exposito Izquierdo & AiRam Exposito Marquez & otros • Martina Seidl · Marion Scholz, Christian Huemer · Gerti Kappel • UML @ Classroom An Introduction to Object-Oriented Modeling
  • 51. Networking académico: Correo electrónico: rguaman@unl.edu.ec Twitter: @rene5254 SlideShare: https://es.slideshare.net/rene5254 51 Gracias