SlideShare una empresa de Scribd logo
Modelo de negocio:
Diagramas de comportamiento
Joan Sebastián Ramírez Pérez
2015
Agenda
 ¿Qué diagramas vamos a abordar?
 Diagrama de casos de uso
 Diagrama de secuencias
 Diagrama de estados
 Diagrama de actividades
 Bibliografía
Agenda
 ¿Qué diagramas vamos a abordar?
 Diagrama de casos de uso
 Diagrama de secuencias
 Diagrama de estados
 Diagrama de actividades
 Bibliografía
UML 2.0
Diagramas de comportamiento
 Casos de uso.
 Actividades.
 Estados.
 Diagramas de interacción: Secuencias, comunicaciones, vista de interacción y
tiempos.
Agenda
 ¿Qué diagramas vamos a abordar?
 Diagrama de casos de uso
 Diagrama de secuencias
 Diagrama de estados
 Diagrama de actividades
 Bibliografía
¿Qué es un diagrama de casos de uso?
 Dana Bredemeyer: “Describe un conjunto de interacciones entre actores externos y
el sistema en consideración orientadas a satisfacer un objetivo de un actor”.
 Craig Larman: “Es una colección de escenarios de éxito y fracaso relacionados que
describe a los actores que usan un sistema para conseguir un objetivo”.
 Alistair Cockburn: “Es una colección de posibles secuencias de interacciones entre
el sistema en discusión y sus actores externos, relacionado con un objetivo
particular”.
¿Qué contienen los casos de uso?
 Actores: roles que interactúan con el sistema.
 Casos de uso: funciones del sistema.
 Interacciones o vínculos entre actores y casos de uso.
¿Qué son escenarios?
 Craig Larman: “Secuencia específica de acciones e interacción entre el usuario y el
Sistema Bajo Discusión”.
 Es una instancia de un caso de uso que se especifica a través de un diagrama de
secuencia(SSD) o textual.
Tipos de escenarios
 Escenarios de eventos principales
 Escenarios alternativos
 Escenarios excepcionales
Actores
 Un actor representa un conjunto coherente de roles que juegan los usuarios de los
casos de uso al interaccionar con el sistema.
 Roles jugados por personas, dispositivos, u otros sistemas.
 No forman parte del sistema (Excepto el SUD -System Under Discussion-)
 Alistair Cockburn distingue dos tipos de actores: primarios (requieren del sistema) y
secundarios o de soporte (el sistema requiere de ellos).
 Craig Larman distingue tres tipos de actores: primarios, de soporte y externos.
¿Qué son las colaboraciones?
 Sociedad de clases y otros elementos que colaborarán para realizar el
comportamiento expresado en un caso de uso.
 Una colaboración tiene una parte estática (diagramas de clases) y una parte
dinámica (diagramas de secuencia).
Casos de uso y colaboraciones
 Con un caso de uso se describe un comportamiento esperado del sistema, pero no
se especifica cómo se implementa.
Plantilla para casos de uso
(Derek Coleman)
Plantilla para casos de uso
(A. Cockburn)
Plantilla para casos de uso
(Variante a dos columnas)
Tipos de relaciones o vínculos
 Generalización: un caso de uso hereda el comportamiento y significado de otro.
 Inclusión: un caso de uso base incorpora explícitamente el comportamiento de otro
en algún lugar de su secuencia. (Flujo Obligatorio)
 Extensión: un caso de uso base incorpora el comportamiento de otro, en el lugar
especificado por este otro. (Flujo Alternativo)
Tipos de relaciones o vínculos
Relación de inclusión
 Permite factorizar un comportamiento en un caso de uso aparte y evitar repetir un
mismo flujo en diferentes casos de uso.
 Ejemplo del caso de uso “Hacer Pedido”:
– Obtener y verificar el número de pedido.
– Incluir “Validar usuario”. <<Include>>
– Examinar el estado de cada parte del pedido.
– Preparar un informe para el usuario”.
Relación de extensión
 El caso de uso base incluye una serie de puntos de extensión.
 Sirve para modelar la parte opcional del sistema, un subflujo que sólo se ejecuta
bajo ciertas condiciones o varios flujos que se pueden insertar en un punto
 Ejemplo: el caso de uso “Hacer Pedido” tiene un flujo excepcional:
- Si se establece una prioridad.
- Se necesita “Hacer un Pedido Urgente” <<extend>>
Listas de chequeo
Casos de uso
 ¿Está relacionado con, al menos, un actor u otro caso de uso?
 ¿Está escrito en voz activa?
 ¿Describe qué ocurre y no cómo?
 ¿Resulta demasiado largo para ser legible o demasiado corto para tener entidad
propia?
 ¿Su nombre está orientado al punto de vista del actor y no del sistema?
Actores
 ¿Son entidades (humanas, organizaciones, dispositivos o sistemas) externos al
sistema?
 ¿Son abstracciones de roles, no una persona particular?
Diagramas
 ¿Define claramente los límites del sistema?
 ¿Representa un conjunto cohesivo de casos de uso?
 ¿Tienen un tamaño apropiado o sería conveniente dividirlo en paquetes?
Relaciones
 La clausula «extends» ¿se usa para describir alternativas o extensiones opcionales
del caso de uso?
 La clausula «includes» ¿se usa para describir un conjunto común de pasos a varios
casos de uso?
 La excepción ¿se usa para expresar una situación excepcional?
Paquetes en casos de uso
Agenda
 ¿Qué diagramas vamos a abordar?
 Diagrama de casos de uso
 Diagrama de secuencias
 Diagrama de estados
 Diagrama de actividades
 Bibliografía
Diagrama de secuencia
 Muestran el intercambio de mensajes (es decir la forma en que se invocan) en un
momento dado.
 Interacción entre clases en el tiempo.
 Los objetos están representados por líneas intermitentes verticales, con el nombre del
objeto en la parte más alta. El eje de tiempo también es vertical, incrementándose hacia
abajo, de forma que los mensajes son enviados de un objeto a otro en forma de flechas
con los nombres de la operación y los parámetros.
 Los mensajes pueden ser síncronos, el tipo normal de llamada del mensaje donde se
pasa el control a objeto llamado hasta que el método finalice; o asíncronos donde se
devuelve el control directamente al objeto que realiza la llamada. Los mensajes
síncronos tienen una caja vertical en un lateral del objeto invocador que muestra el flujo
del control del programa.
Ejemplo
Diagrama de secuencias caso de uso hacer
pedido.
Agenda
 ¿Qué diagramas vamos a abordar?
 Diagrama de casos de uso
 Diagrama de secuencias
 Diagrama de estados
 Diagrama de actividades
 Bibliografía
¿Qué representa un estado?
 Una condición durante la vida de un objeto durante la cual este satisface algunas
condiciones o espera por algún evento.
Diagrama de estados
 Es una máquina de estados que modela el comportamiento cambiante de las
clases reactivas.
 Un diagrama por cada clase reactiva.
 Los diagramas de estado muestran los varios estados por los cuales un objeto
pasa, así como los eventos que causan una transición de un estado a otro
Ejemplo de clases reactivas
 Ordenes de compra.
 Solicitud de vacaciones.
 Artículo de revista.
 Transacciones.
 Solicitud de crédito.
¿Qué contiene un diagrama de estados?
 Estados.
 Inicio y Final.
 Transiciones.
 Entry, do, y exit.
Ejemplo
New Order
do/ add line items
Customer
Order
Completed Request
entry/ authorize payment
Confirmed
entry/ notify customer
Shipped
entry/ notify customer
Canceled
entry/ record cancellation
create new
line item added
add customer information
payment information added
payment received
shipped to customer
after 15 min.
payment rejected
Agenda
 ¿Qué diagramas vamos a abordar?
 Diagrama de casos de uso
 Diagrama de secuencias
 Diagrama de estados
 Diagrama de actividades
 Bibliografía
Diagrama de actividades
 Describen la secuencia de las actividades en un sistema.
 Siempre están asociados a una clase, a una operación o a un caso de uso.
 Requieren de al menos un inicio y un final.
Ejemplo
Agenda
 ¿Qué diagramas vamos a abordar?
 Diagrama de casos de uso
 Diagrama de secuencias
 Diagrama de estados
 Diagrama de actividades
 Bibliografía
Bibliografía
 Larman,C.:UmlyPatrones:Introducciónalanálisisydiseñoorientadoaobjetos,2ed.PrenticeHa
ll.2005.627p.
 Ambler,S.TheObjectPrimer.SecondEdition.CambridgeUniversityPress.2001.
 Buschmann,Franketal.:PatternOrientedSoftwareArchitecture,Volume1:ASystemofPatterns
,Willey&Sons,1996.
 GammaE.,Helm,R.,Johnson,R.,VlissidesJ.:DesignPatterns:ElementsofReusableObjectOrient
edSoftware,AddisonWesley,1995.
 Martin,J.YOdell,J.Analisisydiseñoorientadoaobjetos.PrenticeHall.1992.
 Eckel,Bruce.ThinkinginJava.PrenticeHall.1998.
 Cockburn, Alistair. Writing effective uses case. Addison-Wesley, 2000.
 Fowler,M.PatternsofEnterpriseApplicationArchitecture.Addison-Wesley.2003.
 Gamma,Helm,JohnsonyVlissides.DesignPatterns.Addison-Wesley.1995.
Gracias

Más contenido relacionado

La actualidad más candente

Diagramas
DiagramasDiagramas
Diagrama de secuencia UML
Diagrama de secuencia UMLDiagrama de secuencia UML
Diagrama de secuencia UML
Erivan Martinez Ovando
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
Marvin Zumbado
 
Introducion uml
Introducion umlIntroducion uml
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
josue salas
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
Roxx May RAmiirez
 
Uml presentacion
Uml   presentacionUml   presentacion
Uml presentacion
sergio limachi
 
Mis diapositivas uml
Mis diapositivas umlMis diapositivas uml
Mis diapositivas uml
Beatriz Moreyra
 
Marifer diapositivas uml roisbel
Marifer diapositivas uml roisbelMarifer diapositivas uml roisbel
Marifer diapositivas uml roisbel
nubiafernandez8
 
Uml
UmlUml
Diagramas De Interaccion
Diagramas De InteraccionDiagramas De Interaccion
Diagramas De Interaccion
jlrvpuma
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
Isaac Astorga
 
Diagramas de Interaccion de Objetos
Diagramas de Interaccion de ObjetosDiagramas de Interaccion de Objetos
Diagramas de Interaccion de Objetos
Ronny Parra
 
Mapa conceptual uml z1-
Mapa conceptual uml  z1-Mapa conceptual uml  z1-
Mapa conceptual uml z1-
karlanm07
 
Clase 1-modelado uml
Clase 1-modelado umlClase 1-modelado uml
Clase 1-modelado uml
carlosgalan12
 
Exposición uml diagramas
Exposición uml diagramasExposición uml diagramas
Exposición uml diagramas
alexander guillin
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
richardmora
 
Curso Uml 2.6 Otros Diagramas
Curso Uml   2.6 Otros DiagramasCurso Uml   2.6 Otros Diagramas
Curso Uml 2.6 Otros Diagramas
Emilio Aviles Avila
 
Uml Resumen
Uml ResumenUml Resumen
Uml Resumen
durley
 
Uml diagrama claseobjeto
Uml diagrama claseobjetoUml diagrama claseobjeto
Uml diagrama claseobjeto
luisgustavosanchez
 

La actualidad más candente (20)

Diagramas
DiagramasDiagramas
Diagramas
 
Diagrama de secuencia UML
Diagrama de secuencia UMLDiagrama de secuencia UML
Diagrama de secuencia UML
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Introducion uml
Introducion umlIntroducion uml
Introducion uml
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Uml presentacion
Uml   presentacionUml   presentacion
Uml presentacion
 
Mis diapositivas uml
Mis diapositivas umlMis diapositivas uml
Mis diapositivas uml
 
Marifer diapositivas uml roisbel
Marifer diapositivas uml roisbelMarifer diapositivas uml roisbel
Marifer diapositivas uml roisbel
 
Uml
UmlUml
Uml
 
Diagramas De Interaccion
Diagramas De InteraccionDiagramas De Interaccion
Diagramas De Interaccion
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Diagramas de Interaccion de Objetos
Diagramas de Interaccion de ObjetosDiagramas de Interaccion de Objetos
Diagramas de Interaccion de Objetos
 
Mapa conceptual uml z1-
Mapa conceptual uml  z1-Mapa conceptual uml  z1-
Mapa conceptual uml z1-
 
Clase 1-modelado uml
Clase 1-modelado umlClase 1-modelado uml
Clase 1-modelado uml
 
Exposición uml diagramas
Exposición uml diagramasExposición uml diagramas
Exposición uml diagramas
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Curso Uml 2.6 Otros Diagramas
Curso Uml   2.6 Otros DiagramasCurso Uml   2.6 Otros Diagramas
Curso Uml 2.6 Otros Diagramas
 
Uml Resumen
Uml ResumenUml Resumen
Uml Resumen
 
Uml diagrama claseobjeto
Uml diagrama claseobjetoUml diagrama claseobjeto
Uml diagrama claseobjeto
 

Similar a Diagramas comportamiento

Uml
UmlUml
Uml
Andres
 
4-modelo-de-caso-de-usos.ppt
4-modelo-de-caso-de-usos.ppt4-modelo-de-caso-de-usos.ppt
4-modelo-de-caso-de-usos.ppt
Ander Gonzalez
 
ANALISIS Y DESARROLLO DE SOFTWARE.docx
ANALISIS Y DESARROLLO DE SOFTWARE.docxANALISIS Y DESARROLLO DE SOFTWARE.docx
ANALISIS Y DESARROLLO DE SOFTWARE.docx
isaaccijanes
 
Lenguaje Unificado de Modelado (UML)
Lenguaje Unificado de Modelado (UML)Lenguaje Unificado de Modelado (UML)
Lenguaje Unificado de Modelado (UML)
AndreaPumarejo
 
diagramas de estado
diagramas de estadodiagramas de estado
diagramas de estado
arteaga22
 
planeacion de software
planeacion de softwareplaneacion de software
planeacion de software
Maria Lopez
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
Adriana Hernandez
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
Julio Pari
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
Julio Pari
 
Clase diagramas desecuencia
Clase diagramas desecuenciaClase diagramas desecuencia
Clase diagramas desecuencia
ESTEVAN GOMEZ
 
Trabajo Practico 1
Trabajo Practico 1Trabajo Practico 1
Trabajo Practico 1
RICARDOANDRESSAUCEDO
 
1. uml
1. uml1. uml
1. uml
evimednet
 
STIS- DIAGRAMAS UML.pptx
STIS- DIAGRAMAS UML.pptxSTIS- DIAGRAMAS UML.pptx
STIS- DIAGRAMAS UML.pptx
CarlosLuna812430
 
UML- Lenguaje Unificado de Modelado
UML- Lenguaje Unificado de ModeladoUML- Lenguaje Unificado de Modelado
UML- Lenguaje Unificado de Modelado
KabirGrimm
 
3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso
JoelChuki
 
Diagrama de comportamiento
Diagrama de comportamientoDiagrama de comportamiento
Diagrama de comportamiento
NELSONJOSUETOLEDOGUZ
 
diagrama de comportamiento
diagrama de comportamiento diagrama de comportamiento
diagrama de comportamiento
Marcelocalanicolque
 
Dario ramirez
Dario ramirezDario ramirez
Dario ramirez
Javier Ramirez
 
Dario ramirez
Dario ramirezDario ramirez
Dario ramirez
Javier Ramirez
 
Dario ramirez
Dario ramirezDario ramirez
Dario ramirez
Javier Ramirez
 

Similar a Diagramas comportamiento (20)

Uml
UmlUml
Uml
 
4-modelo-de-caso-de-usos.ppt
4-modelo-de-caso-de-usos.ppt4-modelo-de-caso-de-usos.ppt
4-modelo-de-caso-de-usos.ppt
 
ANALISIS Y DESARROLLO DE SOFTWARE.docx
ANALISIS Y DESARROLLO DE SOFTWARE.docxANALISIS Y DESARROLLO DE SOFTWARE.docx
ANALISIS Y DESARROLLO DE SOFTWARE.docx
 
Lenguaje Unificado de Modelado (UML)
Lenguaje Unificado de Modelado (UML)Lenguaje Unificado de Modelado (UML)
Lenguaje Unificado de Modelado (UML)
 
diagramas de estado
diagramas de estadodiagramas de estado
diagramas de estado
 
planeacion de software
planeacion de softwareplaneacion de software
planeacion de software
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
 
Clase diagramas desecuencia
Clase diagramas desecuenciaClase diagramas desecuencia
Clase diagramas desecuencia
 
Trabajo Practico 1
Trabajo Practico 1Trabajo Practico 1
Trabajo Practico 1
 
1. uml
1. uml1. uml
1. uml
 
STIS- DIAGRAMAS UML.pptx
STIS- DIAGRAMAS UML.pptxSTIS- DIAGRAMAS UML.pptx
STIS- DIAGRAMAS UML.pptx
 
UML- Lenguaje Unificado de Modelado
UML- Lenguaje Unificado de ModeladoUML- Lenguaje Unificado de Modelado
UML- Lenguaje Unificado de Modelado
 
3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso
 
Diagrama de comportamiento
Diagrama de comportamientoDiagrama de comportamiento
Diagrama de comportamiento
 
diagrama de comportamiento
diagrama de comportamiento diagrama de comportamiento
diagrama de comportamiento
 
Dario ramirez
Dario ramirezDario ramirez
Dario ramirez
 
Dario ramirez
Dario ramirezDario ramirez
Dario ramirez
 
Dario ramirez
Dario ramirezDario ramirez
Dario ramirez
 

Más de Joan Sebastián Ramírez Pérez

Clean architecture
Clean architectureClean architecture
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Bddtddatdd
BddtddatddBddtddatdd
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
Joan Sebastián Ramírez Pérez
 
Orm
OrmOrm
Servicios web
Servicios webServicios web
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
Joan Sebastián Ramírez Pérez
 
Microservicios
MicroserviciosMicroservicios
Control de versiones
Control de versionesControl de versiones
Control de versiones
Joan Sebastián Ramírez Pérez
 
Código Limpio
Código LimpioCódigo Limpio
Ciclo devida
Ciclo devidaCiclo devida
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
Joan Sebastián Ramírez Pérez
 
Roles scrum
Roles scrumRoles scrum
Lean startup
Lean startupLean startup
Principios SOLID
Principios SOLIDPrincipios SOLID
Código Limpio
Código LimpioCódigo Limpio
Modelo diseño
Modelo diseñoModelo diseño
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
Joan Sebastián Ramírez Pérez
 
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
Joan Sebastián Ramírez Pérez
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
Joan Sebastián Ramírez Pérez
 

Más de Joan Sebastián Ramírez Pérez (20)

Clean architecture
Clean architectureClean architecture
Clean architecture
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Bddtddatdd
BddtddatddBddtddatdd
Bddtddatdd
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Orm
OrmOrm
Orm
 
Servicios web
Servicios webServicios web
Servicios web
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Ciclo devida
Ciclo devidaCiclo devida
Ciclo devida
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
Roles scrum
Roles scrumRoles scrum
Roles scrum
 
Lean startup
Lean startupLean startup
Lean startup
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 

Diagramas comportamiento

  • 1. Modelo de negocio: Diagramas de comportamiento Joan Sebastián Ramírez Pérez 2015
  • 2. Agenda  ¿Qué diagramas vamos a abordar?  Diagrama de casos de uso  Diagrama de secuencias  Diagrama de estados  Diagrama de actividades  Bibliografía
  • 3. Agenda  ¿Qué diagramas vamos a abordar?  Diagrama de casos de uso  Diagrama de secuencias  Diagrama de estados  Diagrama de actividades  Bibliografía
  • 5. Diagramas de comportamiento  Casos de uso.  Actividades.  Estados.  Diagramas de interacción: Secuencias, comunicaciones, vista de interacción y tiempos.
  • 6. Agenda  ¿Qué diagramas vamos a abordar?  Diagrama de casos de uso  Diagrama de secuencias  Diagrama de estados  Diagrama de actividades  Bibliografía
  • 7. ¿Qué es un diagrama de casos de uso?  Dana Bredemeyer: “Describe un conjunto de interacciones entre actores externos y el sistema en consideración orientadas a satisfacer un objetivo de un actor”.  Craig Larman: “Es una colección de escenarios de éxito y fracaso relacionados que describe a los actores que usan un sistema para conseguir un objetivo”.  Alistair Cockburn: “Es una colección de posibles secuencias de interacciones entre el sistema en discusión y sus actores externos, relacionado con un objetivo particular”.
  • 8. ¿Qué contienen los casos de uso?  Actores: roles que interactúan con el sistema.  Casos de uso: funciones del sistema.  Interacciones o vínculos entre actores y casos de uso.
  • 9. ¿Qué son escenarios?  Craig Larman: “Secuencia específica de acciones e interacción entre el usuario y el Sistema Bajo Discusión”.  Es una instancia de un caso de uso que se especifica a través de un diagrama de secuencia(SSD) o textual.
  • 10. Tipos de escenarios  Escenarios de eventos principales  Escenarios alternativos  Escenarios excepcionales
  • 11. Actores  Un actor representa un conjunto coherente de roles que juegan los usuarios de los casos de uso al interaccionar con el sistema.  Roles jugados por personas, dispositivos, u otros sistemas.  No forman parte del sistema (Excepto el SUD -System Under Discussion-)  Alistair Cockburn distingue dos tipos de actores: primarios (requieren del sistema) y secundarios o de soporte (el sistema requiere de ellos).  Craig Larman distingue tres tipos de actores: primarios, de soporte y externos.
  • 12. ¿Qué son las colaboraciones?  Sociedad de clases y otros elementos que colaborarán para realizar el comportamiento expresado en un caso de uso.  Una colaboración tiene una parte estática (diagramas de clases) y una parte dinámica (diagramas de secuencia).
  • 13. Casos de uso y colaboraciones  Con un caso de uso se describe un comportamiento esperado del sistema, pero no se especifica cómo se implementa.
  • 14. Plantilla para casos de uso (Derek Coleman)
  • 15. Plantilla para casos de uso (A. Cockburn)
  • 16. Plantilla para casos de uso (Variante a dos columnas)
  • 17. Tipos de relaciones o vínculos  Generalización: un caso de uso hereda el comportamiento y significado de otro.  Inclusión: un caso de uso base incorpora explícitamente el comportamiento de otro en algún lugar de su secuencia. (Flujo Obligatorio)  Extensión: un caso de uso base incorpora el comportamiento de otro, en el lugar especificado por este otro. (Flujo Alternativo)
  • 18. Tipos de relaciones o vínculos
  • 19. Relación de inclusión  Permite factorizar un comportamiento en un caso de uso aparte y evitar repetir un mismo flujo en diferentes casos de uso.  Ejemplo del caso de uso “Hacer Pedido”: – Obtener y verificar el número de pedido. – Incluir “Validar usuario”. <<Include>> – Examinar el estado de cada parte del pedido. – Preparar un informe para el usuario”.
  • 20. Relación de extensión  El caso de uso base incluye una serie de puntos de extensión.  Sirve para modelar la parte opcional del sistema, un subflujo que sólo se ejecuta bajo ciertas condiciones o varios flujos que se pueden insertar en un punto  Ejemplo: el caso de uso “Hacer Pedido” tiene un flujo excepcional: - Si se establece una prioridad. - Se necesita “Hacer un Pedido Urgente” <<extend>>
  • 22. Casos de uso  ¿Está relacionado con, al menos, un actor u otro caso de uso?  ¿Está escrito en voz activa?  ¿Describe qué ocurre y no cómo?  ¿Resulta demasiado largo para ser legible o demasiado corto para tener entidad propia?  ¿Su nombre está orientado al punto de vista del actor y no del sistema?
  • 23. Actores  ¿Son entidades (humanas, organizaciones, dispositivos o sistemas) externos al sistema?  ¿Son abstracciones de roles, no una persona particular?
  • 24. Diagramas  ¿Define claramente los límites del sistema?  ¿Representa un conjunto cohesivo de casos de uso?  ¿Tienen un tamaño apropiado o sería conveniente dividirlo en paquetes?
  • 25. Relaciones  La clausula «extends» ¿se usa para describir alternativas o extensiones opcionales del caso de uso?  La clausula «includes» ¿se usa para describir un conjunto común de pasos a varios casos de uso?  La excepción ¿se usa para expresar una situación excepcional?
  • 27. Agenda  ¿Qué diagramas vamos a abordar?  Diagrama de casos de uso  Diagrama de secuencias  Diagrama de estados  Diagrama de actividades  Bibliografía
  • 28. Diagrama de secuencia  Muestran el intercambio de mensajes (es decir la forma en que se invocan) en un momento dado.  Interacción entre clases en el tiempo.  Los objetos están representados por líneas intermitentes verticales, con el nombre del objeto en la parte más alta. El eje de tiempo también es vertical, incrementándose hacia abajo, de forma que los mensajes son enviados de un objeto a otro en forma de flechas con los nombres de la operación y los parámetros.  Los mensajes pueden ser síncronos, el tipo normal de llamada del mensaje donde se pasa el control a objeto llamado hasta que el método finalice; o asíncronos donde se devuelve el control directamente al objeto que realiza la llamada. Los mensajes síncronos tienen una caja vertical en un lateral del objeto invocador que muestra el flujo del control del programa.
  • 30. Diagrama de secuencias caso de uso hacer pedido.
  • 31. Agenda  ¿Qué diagramas vamos a abordar?  Diagrama de casos de uso  Diagrama de secuencias  Diagrama de estados  Diagrama de actividades  Bibliografía
  • 32. ¿Qué representa un estado?  Una condición durante la vida de un objeto durante la cual este satisface algunas condiciones o espera por algún evento.
  • 33. Diagrama de estados  Es una máquina de estados que modela el comportamiento cambiante de las clases reactivas.  Un diagrama por cada clase reactiva.  Los diagramas de estado muestran los varios estados por los cuales un objeto pasa, así como los eventos que causan una transición de un estado a otro
  • 34. Ejemplo de clases reactivas  Ordenes de compra.  Solicitud de vacaciones.  Artículo de revista.  Transacciones.  Solicitud de crédito.
  • 35. ¿Qué contiene un diagrama de estados?  Estados.  Inicio y Final.  Transiciones.  Entry, do, y exit.
  • 36. Ejemplo New Order do/ add line items Customer Order Completed Request entry/ authorize payment Confirmed entry/ notify customer Shipped entry/ notify customer Canceled entry/ record cancellation create new line item added add customer information payment information added payment received shipped to customer after 15 min. payment rejected
  • 37. Agenda  ¿Qué diagramas vamos a abordar?  Diagrama de casos de uso  Diagrama de secuencias  Diagrama de estados  Diagrama de actividades  Bibliografía
  • 38. Diagrama de actividades  Describen la secuencia de las actividades en un sistema.  Siempre están asociados a una clase, a una operación o a un caso de uso.  Requieren de al menos un inicio y un final.
  • 39.
  • 41. Agenda  ¿Qué diagramas vamos a abordar?  Diagrama de casos de uso  Diagrama de secuencias  Diagrama de estados  Diagrama de actividades  Bibliografía
  • 42. Bibliografía  Larman,C.:UmlyPatrones:Introducciónalanálisisydiseñoorientadoaobjetos,2ed.PrenticeHa ll.2005.627p.  Ambler,S.TheObjectPrimer.SecondEdition.CambridgeUniversityPress.2001.  Buschmann,Franketal.:PatternOrientedSoftwareArchitecture,Volume1:ASystemofPatterns ,Willey&Sons,1996.  GammaE.,Helm,R.,Johnson,R.,VlissidesJ.:DesignPatterns:ElementsofReusableObjectOrient edSoftware,AddisonWesley,1995.  Martin,J.YOdell,J.Analisisydiseñoorientadoaobjetos.PrenticeHall.1992.  Eckel,Bruce.ThinkinginJava.PrenticeHall.1998.  Cockburn, Alistair. Writing effective uses case. Addison-Wesley, 2000.  Fowler,M.PatternsofEnterpriseApplicationArchitecture.Addison-Wesley.2003.  Gamma,Helm,JohnsonyVlissides.DesignPatterns.Addison-Wesley.1995.
  • 43.