SE presenta una introducción a los diferentes diagramas de UML, que sirven para presentar deferentes vistas de un sistema. Se explica los modelos de casos de uso y se ilustra a través de ejemplos.
2. 2
Los modelos en UMLLos modelos en UML
Estos modelos proyectan diferentes visiones del
sistema
Se seleccionan los más apropiados (depende de
la aplicación)
Han sido establecido por diferentes enfoques (no
necesariamente OO)
3. 3
Las vistas en UMLLas vistas en UML
Cada vista representan al sistema desde una cierta
perspectiva
Para cada vista, se define un diagrama
Una vista es una descripción de un sistema desde una
perspectiva particular
4. 4
Vistas y Diagramas de UMLVistas y Diagramas de UML
Use Case
DiagramsUse Case
DiagramsDiagrama de
Casos de Uso
State
DiagramsState
DiagramsDiagrama de
Clases
Diagramas
State
DiagramsState
DiagramsDiagrama de
Objeto
Estática
Scenario
DiagramsScenario
DiagramsDiagrama de
Actividad
Scenario
DiagramsScenario
DiagramsDiagrama de
Secuencia
Use Case
DiagramsUse Case
DiagramsDiagrama de
Estados
Interacción
Component
DiagramsComponent
DiagramsDiagrama de
Componentes
Component
DiagramsComponent
DiagramsDiagrama de
Despliegue
Implementación
Diagrama de
Colaboración
Actividad
5. 5
Vistas y Diagramas de UMLVistas y Diagramas de UML
Use Case
DiagramsUse Case
DiagramsDiagrama de
Casos de Uso
State
DiagramsState
DiagramsDiagrama de
Clases
Diagramas
State
DiagramsState
DiagramsDiagrama de
Objeto
Estática
Scenario
DiagramsScenario
DiagramsDiagrama de
Actividad
Scenario
DiagramsScenario
DiagramsDiagrama de
Secuencia
Use Case
DiagramsUse Case
DiagramsDiagrama de
Estados
Interacción
Dinámica
Component
DiagramsComponent
DiagramsDiagrama de
Componentes
Component
DiagramsComponent
DiagramsDiagrama de
Despliegue
Implementación
Diagrama de
Colaboración
Actividad
Describe las
funcionalidades
del sistema a partir de las
interacciones del usuario
Modela los conceptos
del dominio de la aplicación:
describe el sistema
identificando sus objetos,
clases y relaciones
Describe la evolución de
los objetos (los cambios
de estado del objeto en
su tiempo de vida)
Describe el flujo de
trabajo,
muestra las actividades,
su secuenciamiento y
coordinación
Describe la interacción
entre los objetos,
ordenada en el tiempo
o
en un período de tiempo
Describe la interacción
entre componentes de
software
Describe la disposición de
instancias de
componentes de ejecución
en instancias de nodos
6. 6
Modelo de Casos de UsoModelo de Casos de Uso
Describe lo que el sistema debe hacer y
bajo que restricciones
Captura los requisitos funcionalesrequisitos funcionales y el
ambiente del sistema
especifican una acción que
el sistema debe ejecutar
Permite comprender y describir los
requisitos del sistema.
7. 7
Modelo de casos de usoModelo de casos de uso
Especifica el comportamiento de un sistema
Describe la secuencia de interacciones y los
resultados observable por un actor
Captura el comportamiento del sistema (el qué)
omitiendo la implementación del
comportamiento (el cómo)
Identifica las funcionalidades visibles al usuario
8. 8
Modelo de Casos de UsoModelo de Casos de Uso
(Componentes)(Componentes)
Actor
Es una entidad externa con un
comportamiento que interactúa con
el sistema en desarrollo
• una persona
• otro sistema
• una organización
utiliza el sistema cuando interactúa
para iniciar un caso de uso.
actor
9. 9
Modelo de Casos de UsoModelo de Casos de Uso
(Componentes)(Componentes)
Casos de Uso
especifica una secuencia de
acciones, incluyendo sus
variantes, que el sistema
puede realizar cuando es
requerido por un actoractor y
produce un resultado
observable válido para ese
actoractor particular.
caso de uso
10. 10
Modelo de Casos de UsoModelo de Casos de Uso
EspecificaciónEspecificación
Diagrama de casos de uso
muestra un conjunto de casos de uso
y actores con una asociación entre
cada par actor/caso de uso.
describe una parte del modelo de
casos de uso.
11. 11
Diagrama de Casos de Uso: ComponentesDiagrama de Casos de Uso: Componentes
Actor:
entidad externa que
interactúa con el
sistema activando los
casos de uso
Caso de uso:
secuencia de
transacciones iniciadas
por un actor y que
constituye una
funcionalidad del
sistema
La notación UML
A
B
Actores
Casos de uso
usuario2
usuario1
12. 12
Diagrama de Casos de Uso:Diagrama de Casos de Uso:
ComponentesComponentes
La notación UML
curso
estudiante
profesor
Realizar exámen
2
Preparar
exámen
1
Participación de un actor
en un caso de uso
13. 13
Diagrama de Casos de UsoDiagrama de Casos de Uso
NotaciónNotación
nombre del
caso de uso
número del
caso de uso
nombre del sistema
Nombre
del actor
Nombre
del actor
Participación de un
actor en un caso de
uso
nombre del
caso de uso
número del
caso de uso
17. 19
¿Cómo determinar los Casos de Uso?¿Cómo determinar los Casos de Uso?
Actor
Ahora defino los casos de uso
caso de uso B
caso de uso A
18. 21
Diagrama de Casos de UsoDiagrama de Casos de Uso
RelacionesRelaciones
Relaciones entre actores y casos de uso
Asociación
Relaciones entre casos de uso:
Extensión (<<extend>>)
Generalización
Inclusión (<<include>>)
Relaciones entre actores:
Generalización
19. 22
Diagrama de Casos de UsoDiagrama de Casos de Uso
Relaciones entreRelaciones entre Actores y CActores y Casos deasos de UUsoso
Asociación
Relaciona la participación
de
un actor
en
un caso de usoIr al cine
Actor Caso de uso
20. 23
Diagrama de Casos de UsoDiagrama de Casos de Uso
En la relación de Asociación puede
indicarse la cardinalidad
Ir al cine
Actor Caso de uso
1 *
21. 24
Diagrama deDiagrama de CCasos deasos de UUsoso
Relaciones entreRelaciones entre ccasos deasos de uusoso
Extensión
(<<extend>>)
Inclusión
(<<include>>)
Generalización
Relación que define un
curso alterno opcional
(dependiendo de una
condición)
de otro caso de uso
22. 25
Relaciones «extend» e «include»Relaciones «extend» e «include»
A
B
<<extends>>
C
<<include>>
“A incluye C”:
una instancia de A siempre
incluye el comportamiento
especificado por C
“B es una extensión de
A” : una instancia del
caso de uso A puede
incluir el
comportamiento
especificado por B
23. 26
Diagrama de Casos de UsoDiagrama de Casos de Uso
Relación «extend»Relación «extend»
Relación extend:
Es una asociación que especifica un
comportamiento adicional de un caso de
uso, describe un curso alterno y opcional
(la extensión) de otro caso de uso (base).
Ir al cine
Comprar
cotufa
<<extend>>
si tengo dinero
1. El caso de uso que
extiende apunta al
caso de uso base
2. La condición y el
punto de extensión
pueden ser
mostrados en la línea
24. 27
Diagrama de Casos de UsoDiagrama de Casos de Uso
Relación «extend»Relación «extend»
Relación extend:
el caso de uso Ir al cine puedepuede incluir el
comportamiento especificado en el caso de uso
Comprar cotufa
Ir al cine
Comprar
cotufa
<<extend>>
si tengo dinero
1. El caso de uso que
extiende apunta al caso de
uso base
2. La condición y el punto de
extensión pueden ser
mostrados en la línea
el funcionamiento del caso de uso Ir al cine
puede serpuede ser extendido con el funcionamiento
del caso de uso Comprar cotufa
25. 30
Diagrama de Casos de UsoDiagrama de Casos de Uso
Relación «extend»Relación «extend»
¿Cuándo usarla?
En partes opcionales de un caso de uso
Cursos alternativos que raramente ocurren
Cursos separados que son ejecutados
bajo ciertas condiciones
En situaciones donde se puede
seleccionar entre diferentes alternativas.
26. 31
Diagrama de casos de uso:Diagrama de casos de uso:
Relaciones entreRelaciones entre CCasos deasos de UUsoso
Relación que define
una instancia de un
caso de uso como un curso
obligatorio en otro
caso de uso
Extensión
(<<extend>>)
Inclusión
(<<include>>)
Generalización
27. 32
Diagrama de Casos de UsoDiagrama de Casos de Uso
relación «include»relación «include»
Relación include:
Es una asociación que relaciona cursos
fuertemente acoplados que conforman el curso
completo del caso de uso base
el caso de uso Ir al cine siempresiempre incluye el compor-
tamiento especificado en el caso de uso Comprar entrada
Ir al cine
Comprar
entrada
<<include>>
1. El caso de uso base
apunta al caso de
uso incluido
28. 34
Relaciones entreRelaciones entre CCasos deasos de UUsoso
relación «include»relación «include»
¿Cuándo usarla?¿Cuándo usarla?
Para particionar un caso de uso complejo
en los casos de usos constitutivos
Cuando se quiere separar una
funcionalidad en un caso de uso
Para evitar la repetición de casos de uso.
29. 35
Diagrama de casos de uso:Diagrama de casos de uso:
Relaciones entreRelaciones entre CCasos deasos de UUsoso
Relación que define
una especialización de un
caso de uso (o de un actor)
Extensión
(<<extend>>)
Inclusión
(<<include>>)
Generalización
30. 36
Relaciones entreRelaciones entre CCasos deasos de UUsoso::
ComparaciónComparación «include»«include» // ««extendextend»»
Diferentes intencionesDiferentes intenciones
Include
permite extraer un comportamiento común o
aislar funcionalidades
en general los actores no están relacionados
con el caso de uso aislado
Extend
permite extraer variantes de un curso normal
el actor está relacionado con el caso de uso
base
31. 37
Relaciones entreRelaciones entre CCasos deasos de UUsoso
Indique las relacionesIndique las relaciones
responder
exámen
ir al baño
colocar
identificación
al
exámen
pedir
aclaratoria
solicitar
exámen
leer
exámen
entregar
exámen
estudiante
Utilizar
calculadora
buscar
Calificación
Tarea 1
32. 38
Relaciones entreRelaciones entre CCasos deasos de UUsoso::
Reacomode e Indique las relacionesReacomode e Indique las relaciones
Solicitar
examen
estudiante
Buscar
Calificación
leer
exámen
<<include>>
colocar
identificación
al
exámen
<<include>>
responder
exámen<<include>>
entregar
exámen
<<include>>
pedir
aclaratoria
<<extend>>
Utilizar
calculadora
<<extend>>
ir al baño
<<extend>>
33. 39
Diagrama de casos de uso:Diagrama de casos de uso:
Relaciones entre actoresRelaciones entre actores
GeneralizaciónUn actor es
una instancia
de otro actor
estudiantepersona
una persona es una generalización
de un estudiante
Notas del editor
Actor: entidad externa que interactua con el sistema
Caso de uso: secuencia de transacciones iniciadas por un actor y que constituye una funcionalidad del sistema