SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
1
UML
Casos de Uso
(UML ilustrado)
Universidad de los Andes
Demián Gutierrez
Noviembre 2012
2
Casos de Uso
(¿Qué es un caso de uso?)
¿Caso de Uso?
3
Casos de Uso
(¿Qué es un caso de uso?)
Es una descripción de un proceso fin-a-fin,
relativamente largo, que incluye varias etapas o
transacciones
Un caso de uso es un conjunto de escenarios que
tienen una meta de usuario en común*
Es una manera específica de utilizar el sistema, una
historia que describe un uso particular del sistema
Es la “imagen” de una funcionalidad del sistema,
desencadenada en respuesta al estímulo de un
actor o rol externo
*Martin Fowler
4
Casos de Uso
(¿Qué es un caso de uso?)
¿Escenario?
5
Casos de Uso
(¿Qué es un Escenario?)
Es una secuencia específica de acciones e
interacciones (pasos) entre los usuarios (actores) y
el sistema, por ejemplo:
¿Escenario?
1) El usuario introduce su nombre de usuario y su contraseña.
2) El sistema verifica la validez del nombre de usuario y de la
contraseña y permite al usuario el acceso al sistema.
3) El sistema muestra la pantalla principal del sistema.
4) El usuario selecciona la opción de añadir nuevo empleado.
5) El sistema muestra...”
6
Casos de Uso
(¿Qué es un Actor?)
Un actor representa el rol jugado por una persona
o cosa que interactúa con el sistema.
¿Actor?
“Cliente, Administrador, Usuario no Registrado (Autenticado),
Usuario Registrado (Autenticado), Jefe de Compras, Jefe de
Personal, Moderador, Jefe de Departamento, Obrero de
Planta, Supervisor...”
¿Actor o Rol?
Sería mejor usar la palabra rol, pero algunos piensan
que “Actor” fue usado debido a una mala traducción
del Sueco
7
Casos de Uso
(¿Qué es un caso de uso?)
Cuidado:
No todos los
interesados en el
sistema (stakeholders)
son actores, sólo son
actores aquellos que
utilizarán el sistema
8
Casos de Uso
(Algunas Características)
Describen bajo la forma de acciones y reacciones
el comportamiento de un sistema desde el punto de
vista de un usuario
Permiten definir los límites del sistema y las
relaciones entre el sistema y su entorno
(MUY IMPORTANTE)
Se puede/debe considerar que hasta cierto punto,
cada caso de uso es independiente de los demás
9
Casos de Uso
(Algunas Características)
Un caso de uso NO es un diagrama, NO es un
símbolo dentro de un diagrama...
...es una forma de describir un escenario de
interacción usuario sistema...
...los diagramas vienen después (o antes) y son una
forma de tener una visión general de los casos de
uso, sus relaciones con los actores y con otros casos
de uso
10
Descripción Textual de los Actores
(¿Quiénes interactúan con el sistema?)
Nombre: <nombre del actor>
Descripción:
<descripción del actor>
Nombre: Usuario no Autenticado
Descripción:
Representa a un usuario que no se a identificado frente
al sistema. Generalmente estos usuarios deberían
poder registrarse (crear un nuevo usuario) o ingresar al
sistema para transformarse en usuarios autenticados,
en moderadores o en administradores del sistema
...
11
Descripción Textual de un CU
(¿Qué debe hacer el sistema?)
Nombre: <nombre del caso de uso>
Autor: <nombre del autor (o autores) del caso de uso>
Fecha: <fecha de creación del caso de uso>
Descripción:
Actores:
<actores participantes en el caso de uso>
<condiciones que deben cumplirse para poder ejecutar el caso de uso>
Flujo Normal:
<flujo/escenario normal (feliz) de ejecución del caso de uso>
Flujo Alternativo:
<flujos/escenarios alternativos de ejecución del caso de uso>
<breve descripción del caso de uso>
Precondiciones:
Poscondiciones:
<condiciones que deben cumplirse al finalizar la ejecución del caso de
uso>
Planillas de Casos de Uso (Generales)
12
Descripción Textual de un CU
(¿Qué debe hacer el sistema?)
Nombre: Crear nuevo mensaje
Autor: Pedro Pérez
Fecha: 04/21/09
Descripción:
Permite crear un nuevo mensaje (hilo) en el foro de discusión.
Actores:
Usuario / Moderador
El usuario debe de estar autenticado en el sistema.
Precondiciones:
continúa...
13
Descripción Textual de un CU
(¿Qué debe hacer el sistema?)
Flujo Normal:
Flujo Alternativo:
El mensaje ha sido almacenado en el sistema y fue publicado.
1.- El actor pulsa sobre el botón para crear un nuevo mensaje.
2.- El sistema muestra una caja de texto para introducir el título del
mensaje y una zona de mayor tamaño para introducir el cuerpo del
mensaje.
3.- El actor introduce el título del mensaje y el cuerpo del mismo.
4.- El sistema comprueba la validez de los datos y los almacena.
5.- El moderador recibe una notificación de que hay un nuevo mensaje.
6.- El moderador acepta y el sistema publica el mensaje si éste fue
aceptado por el moderador.
4.A.- El sistema comprueba la validez de los datos, si los datos no son
correctos, se avisa al actor de ello permitiéndole que los corrija.
6.B.- El moderador rechaza el mensaje, de modo que no es publicado
sino devuelto al usuario.
Poscondiciones:
...continuación Esto en algunos
casos se modela con
diagramas de
secuencia o con
diagramas de
actividades
14
Descripción Textual de un CU
(¿Qué debe hacer el sistema?)
Existen muchas variaciones sobre como
describir un caso de uso
UML no define ningún estándar al respecto
Seleccione o diseñe las plantillas (una o más) que
considere adecuadas para sus necesidades
Conozca bien las plantilla que va a utilizar, sepa para
que sirve cada campo, argumente sobre su utilidad y
sea coherente a lo largo de todas las plantillas
15
Descripción Textual de un CU
(¿Qué debe hacer el sistema?)
Por ejemplo, en la plantilla anterior sería bueno añadir un
campo prioridad, un campo código, quizá campos para
manejar el control de cambios, etc
Nombre: Crear mensaje foro Código: CU-001
Autor: Pedro Pérez
Fecha: 04/21/09
Prioridad: 5
Descripción:
Permite crear un nuevo mensaje (hilo) en el foro de discusión.
Actores:
Usuario / Moderador
El usuario debe de estar autenticado en el sistema.
Precondiciones:
16
Modelo de Casos de Uso
¿Cómo se
desarrolla un
modelo de
Casos de Uso?
17
Diagrama de Casos de Usos
(¿Cómo?)
Antes de hacer un caso de uso es necesario tratar de
entender los requerimientos del sistema.
Trate de expresar lo que el sistema debe hacer:
¿Cuales son las tareas
del/los actores involucrados?
En base a esto, trate de responder las preguntas:
...el sistema debe permitir a los usuarios registrarse.
El administrador debe poder validar las peticiones de registro antes
de que los usuarios puedan publicar nuevos mensajes...
¿Que datos debe el actor
crear, guardar, modificar,
destruir, leer?
¿Debe el actor informar al
sistema de cambios externos
ocurridos?
¿Debe el el sistema informar
al actor de cambios internos?
18
Modelo de Casos de Uso
Diagramas de
Casos de Uso
19
Diagrama de Casos de Usos
Caso de Uso
Actor
Generalización /
Especialización
de Actores
Límites del
Sistema
Colaboración
entre casos
de uso
Asociación
Caso de
Uso / Actor
Recordar Etiquetas
20
Diagrama de Casos de Usos
Usado para
compartir
comportamiento
común entre varios
casos de uso
Usado para
modelar por
separado el
comportamiento
excepcional (o
adicional) del
caso de uso base
Usado para
modelar
relaciones de
Generalización /
Especialización
entre casos de
uso
<<algo>>
(estereotipo)
21
Haciendo un paréntesis...
(Estereotipos)
CRUD es un acrónimo
que viene de “Create,
Read, Update, Delete”
Ojo: Esto es sólo
un ejemplo de un
posible estereotipo,
no se lo tomen
literal...
planillas de
casos de uso
(CLEDA)
22
Haciendo un paréntesis...
(Estereotipos)
En este caso los estereotipos se utilizan para diferenciar los distintos tipos
de actores (<<client>>, <<internal>>, <<system>>). Algunas personas
reemplazan el “monigote” por iconos personalizados (Ej. Una
computadora, monigotes de distintos colores, etcétera)
Los estereotipos se pueden utilizar
en casi todos los elementos
disponibles de UML, de manera
que se puede extender y
enriquecer el lenguaje con su uso
23
Haciendo un paréntesis...
(Estereotipos)
Se pueden utilizar imágenes para
representar cierto tipo especial de
actores
24
Diagrama de Casos de Usos
(Include / Extends / Especialización)
Múltiples casos de uso “reutilizan” otros casos
de uso. De esta forma no es necesario describir
varias veces el mismo caso de uso incluido
Algunas personas utilizan la
inclusión para expresar que
el caso de uso asociado debe
de invocarse de manera
“obligatoria”
25
Diagrama de Casos de Usos
(Include / Extends / Especialización)
Puntos de extensión
explícitos
Puntos de extensión
explícitos
26
Diagrama de Casos de Usos
(Include / Extends / Especialización)
Una extensión puede estar asociada
a varios puntos de extensión
Las notas son un
elemento común de
UML, se pueden
asociar a casi todos
elementos
disponibles de UML
27
Diagrama de Casos de Usos
(Include / Extends / Especialización)
28
Algunas Reglas de Estilo
(Para los Diagramas de Casos de Uso)
Cada actor y caso de uso debe tener un nombre único
Los actores deben tener nombres y/o iconos
representativos
El nombre de un caso de uso debe indicar acción y
debe ser claro y conciso
Forma General:
Verbo (Infinitivo) +
Predicado
Los nombres de los actores deben representar roles
Imprimir
Reporte de
Ventas
Administrador
29
Algunas Reglas de Estilo
(Para los Diagramas de Casos de Uso)
Mantener todos los casos de uso de un diagrama al
mismo nivel de abstracción
¿Se puede hacer esto?
¿Qué se puede decir del nivel de abstracción del caso de uso “Foro Web”?
¿Cómo sería la descripción textual del caso de uso “Foro Web”?
30
Algunas Reglas de Estilo
(Para los Diagramas de Casos de Uso)
Evite modelar flujo de navegación
¿Flujo de Navegación?
¿Casos de Uso e
Interfaz de Usuario?
31
Algunas Reglas de Estilo
(Para los Diagramas de Casos de Uso)
Esto no es un buen diagrama de Casos de Uso
(Expresa Navegación / Flujo de Pantallas de la IU)
32
Algunas Reglas de Estilo
(Para los Diagramas de Casos de Uso)
Entrar al
Sistema
(login)
Listar
Bancos
Registrar
Inversión
Confirmar
Datos
Imprimir
Plantilla
Pantalla
Principal
Crear
Banco
Editar
Banco
Eliminar
Banco
listar
bancos
registrar
inversión
cancelar
regresarregresarcancelar
siguiente
eliminar
editar
crear
siguiente
Aquí si puede
expresar
secuencia
(a diferencia de
en los casos de
uso)
Grafo de Navegación
33
Algunas Reglas de Estilo
(Para los Diagramas de Casos de Uso)
Evite el cruce de líneas
(En general, mantenga el diagrama ordenado)
Evite tener demasiados casos de uso en el mismo diagrama
(Regla 5 ± 2) (¡Esto es relativo!)
Evite el uso complejo de relaciones de extensión,
especialización e inclusión (No más de tres niveles)
Evite utilizar un actor para representar el sistema que se
está modelando (pero si para representar sistemas externos)
Evite representar la base de datos como un actor
(aunque esto es relativo también)
34
Diagrama de Casos de Usos
Ejercicio
35
Ejemplo: ¿Qué esta terriblemente mal
en este diagrama?
¿Qué errores
puede
encontrar en
el diagrama?
36
Ejemplo: El Sistema Anterior
Mucho Mejor Representado
37
Detalle del Flujo de Eventos
(Listar Solicitudes Pendientes)
Flujo Normal:
1.- El actor selecciona la opción para listar las Solicitudes Pendientes.
2.- El sistema presenta una lista de todas las Solicitudes Pendientes
(tanto de Registro de Usuario como de Publicación de Mensaje) junto
con una opción para ver más detalles sobre una solicitud en particular.
Flujo Alternativo:
En caso de un Registro de Usuario:
3A.- El usuario selecciona una solicitud.
4A.- Si se trata de una solicitud de Registro de Usuario el sistema le
envía al caso de uso Procesar Solicitud de Registro (CU-06)
En caso de una Publicación de Mensaje:
3B.- El usuario selecciona una solicitud.
4B.- Si se trata de una solicitud de Publicación de Mensaje el sistema le
envía al caso de uso Procesar Publicación de Mensaje (CU-07)
38
Ejemplo: Otra Representación
39
Detalle del Flujo de Eventos
(Procesar Solicitud de Registro)
Flujo Normal:
1.- El actor selecciona la opción para procesar las solicitudes de Registro
de Usuario.
2.- El sistema invoca al caso de uso Listar Solicitudes Pendientes
(CU-08), lo que permite al usuario seleccionar una solicitud para procesar.
3.- El sistema presenta la información de la solicitud de Registro de
Usuario.
4.- El usuario decide si aprueba o rechaza la solicitud.
5.- Una vez aceptada la solicitud el sistema registra al nuevo usuario y
éste queda ya listo para acceder al foro.
Flujo Alternativo:
En caso de que la solicitud de Registro de Usuario sea Rechazada:
5A.- El sistema notifica al correo correspondiente a la solicitud que ésta ha
sido rechazada.
40
Algunas Reglas de Estilo
(Descripción Textual de Casos de Uso)
Narrar el flujo de eventos usando la voz activa, en tiempo
presente y desde la perspectiva del actor:
Preferir la voz activa:
“La clave es introducida
por el usuario”
“El usuario introduce la clave”
“El sistema valida la clave”
Usar verbos en el flujo normal y en los flujos alternativos
(se están describiendo acciones)
Escribir de forma clara, exacta y concisa
(está escribiendo un caso de uso, no una obra literaria)
Evitar la voz pasiva:
Usar de forma adecuada y consistente el vocabulario del
cliente y del dominio de la aplicación
41
Algunas Reglas de Estilo
(Descripción Textual de Casos de Uso)
Expresar cada paso del flujo usando la forma
llamada/respuesta, reflejando el hecho de que el actor hace
algo y el sistema responde a la solicitud del actor
Utilizar un esquema de numeración adecuado, tanto en el
flujo normal, como en el flujo alternativo
1) El usuario introduce su nombre de usuario y su contraseña.
2) El sistema verifica la validez del nombre de usuario y de la
contraseña y permite al usuario el acceso al sistema.
Encadenar de forma coherente
el flujo normal y el flujo alternativo:
dejar claro donde termina uno, donde comienza el otro,
por qué se produce el cambio, etc
42
Algunas Reglas de Estilo
(Descripción Textual de Casos de Uso)
Un caso de uso debe expresar un solo requisito funcional,
no trate de expresar más de un requisito funcional en el
mismo caso de uso.
(Piense en el nivel de abstracción del caso de uso)
Sin embargo, un caso de uso puede expresar más de un
requisito NO funcional (Esto está bien)
Experimente, refine sus descripciones y cambie
su forma de escribirlas hasta que encuentre un estilo
con el que se sienta cómodo
(Recuerde actualizar los casos de uso que ya estén escritos
para que sean consistentes con las nuevas reglas)
Sea consistente en el estilo usado a lo largo de
todos los casos de uso
43
Ejemplo:
Una máquina expendedora de café (1)
44
Ejemplo:
Una máquina expendedora de café (2)
45
Ejemplo:
Una máquina expendedora de café (3)
El cliente enfrenta distintos
escenarios dependiendo de
lo que pretende comprar,
pero en general, comprar un
producto es algo muy
general con muchas
acciones comunes
46
Ejemplo:
Una máquina expendedora de café (4)
Cada despacho tiene
particularidades
acordes con el
producto solicitado
por el cliente
47
Gracias
¡Gracias!

Más contenido relacionado

La actualidad más candente

Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de uso
Yovana Connie Roca Avila
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datos
nahun1385
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datos
Isabel
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
TerryJoss
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
Walter Chacon
 

La actualidad más candente (20)

Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Diagramas De Caso De Uso
Diagramas De Caso De UsoDiagramas De Caso De Uso
Diagramas De Caso De Uso
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso
 
Modelo del dominio
Modelo del dominioModelo del dominio
Modelo del dominio
 
Casos de uso de negocios y sistemas
Casos de uso de negocios y sistemasCasos de uso de negocios y sistemas
Casos de uso de negocios y sistemas
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 
Casos De Uso
Casos De UsoCasos De Uso
Casos De Uso
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de uso
 
Modelamiento software
Modelamiento softwareModelamiento software
Modelamiento software
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datos
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 
Componentes de un sistema de base de datos
Componentes de un sistema de base de datosComponentes de un sistema de base de datos
Componentes de un sistema de base de datos
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
 
Sistema De Gestion De Notas De Post Grado
Sistema De Gestion De Notas De Post GradoSistema De Gestion De Notas De Post Grado
Sistema De Gestion De Notas De Post Grado
 
Bases de Datos Semanticas
Bases de Datos SemanticasBases de Datos Semanticas
Bases de Datos Semanticas
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
 
Elicitación de requerimientos
Elicitación de requerimientosElicitación de requerimientos
Elicitación de requerimientos
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 

Destacado (20)

Clase 12a uml_clases
Clase 12a uml_clasesClase 12a uml_clases
Clase 12a uml_clases
 
Clase 04 diseno_ui
Clase 04 diseno_uiClase 04 diseno_ui
Clase 04 diseno_ui
 
Ejemplo de uso de ple
Ejemplo de uso de pleEjemplo de uso de ple
Ejemplo de uso de ple
 
Ut5. introduccion a uml. casos de uso
Ut5. introduccion a uml. casos de usoUt5. introduccion a uml. casos de uso
Ut5. introduccion a uml. casos de uso
 
Hg mini manual
Hg mini manualHg mini manual
Hg mini manual
 
Clase 09a frameworks_ejemplo
Clase 09a frameworks_ejemploClase 09a frameworks_ejemplo
Clase 09a frameworks_ejemplo
 
Clase 10 mvc
Clase 10 mvcClase 10 mvc
Clase 10 mvc
 
Clase 01 agilidad
Clase 01 agilidadClase 01 agilidad
Clase 01 agilidad
 
Clase 05b pruebas introduccion
Clase 05b pruebas introduccionClase 05b pruebas introduccion
Clase 05b pruebas introduccion
 
Clase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacionClase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacion
 
Clase 03 XP
Clase 03 XPClase 03 XP
Clase 03 XP
 
Clase 05d cobertura de codigo
Clase 05d cobertura de codigoClase 05d cobertura de codigo
Clase 05d cobertura de codigo
 
Clase 01 presentacion
Clase 01 presentacionClase 01 presentacion
Clase 01 presentacion
 
Clase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtualClase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtual
 
Clase 09a frameworks
Clase 09a frameworksClase 09a frameworks
Clase 09a frameworks
 
Casos Uso Ejercicios en java
Casos Uso Ejercicios en javaCasos Uso Ejercicios en java
Casos Uso Ejercicios en java
 
Clase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cledaClase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cleda
 
Clase 05c niveles de pruebas
Clase 05c niveles de pruebasClase 05c niveles de pruebas
Clase 05c niveles de pruebas
 
Clase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemploClase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemplo
 
Clase 07a patrones_diseno
Clase 07a patrones_disenoClase 07a patrones_diseno
Clase 07a patrones_diseno
 

Similar a Clase 11 uml_casos_de_uso

Similar a Clase 11 uml_casos_de_uso (20)

Uml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_usoUml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_uso
 
Uml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_usoUml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_uso
 
Casosdeuso
CasosdeusoCasosdeuso
Casosdeuso
 
Unidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoUnidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De Uso
 
3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso
 
Unidad iii -_parte_3_-_(2xpag)
Unidad iii -_parte_3_-_(2xpag)Unidad iii -_parte_3_-_(2xpag)
Unidad iii -_parte_3_-_(2xpag)
 
Introduccion a Casos de Uso (1).pptx
Introduccion a Casos de Uso (1).pptxIntroduccion a Casos de Uso (1).pptx
Introduccion a Casos de Uso (1).pptx
 
Tms 03 modelo_negocio
Tms 03 modelo_negocioTms 03 modelo_negocio
Tms 03 modelo_negocio
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Diagrama de Casos de uso
Diagrama de Casos de usoDiagrama de Casos de uso
Diagrama de Casos de uso
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
UNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOS
UNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOSUNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOS
UNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOS
 
Modelado de casos de uso
Modelado de casos de usoModelado de casos de uso
Modelado de casos de uso
 
04 d notacion_casos_uso
04 d notacion_casos_uso04 d notacion_casos_uso
04 d notacion_casos_uso
 
Caso de uso
Caso de usoCaso de uso
Caso de uso
 
Secme 23279
Secme 23279Secme 23279
Secme 23279
 
Yuliana y dency
Yuliana y dencyYuliana y dency
Yuliana y dency
 
3. El modelado de casos de uso.ppt
3. El modelado de casos de uso.ppt3. El modelado de casos de uso.ppt
3. El modelado de casos de uso.ppt
 

Más de Demián Gutierrez (11)

Estructuras de Datos Espaciales (Topico Especial)
Estructuras de Datos Espaciales (Topico Especial)Estructuras de Datos Espaciales (Topico Especial)
Estructuras de Datos Espaciales (Topico Especial)
 
Clase 14b uml_actividades
Clase 14b uml_actividadesClase 14b uml_actividades
Clase 14b uml_actividades
 
Clase 14a uml_estados
Clase 14a uml_estadosClase 14a uml_estados
Clase 14a uml_estados
 
Clase 13 uml_paquetes
Clase 13 uml_paquetesClase 13 uml_paquetes
Clase 13 uml_paquetes
 
Clase 12b uml_clases_ejemplos
Clase 12b uml_clases_ejemplosClase 12b uml_clases_ejemplos
Clase 12b uml_clases_ejemplos
 
Clase 09c seleccion
Clase 09c seleccionClase 09c seleccion
Clase 09c seleccion
 
Clase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicosClase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicos
 
Clase 06 diseno_arquitectura
Clase 06 diseno_arquitecturaClase 06 diseno_arquitectura
Clase 06 diseno_arquitectura
 
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacionClase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
 
Clase 04a requerimientos introduccion
Clase 04a requerimientos introduccionClase 04a requerimientos introduccion
Clase 04a requerimientos introduccion
 
Clase 02 Scrum
Clase 02 ScrumClase 02 Scrum
Clase 02 Scrum
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Clase 11 uml_casos_de_uso

  • 1. 1 UML Casos de Uso (UML ilustrado) Universidad de los Andes Demián Gutierrez Noviembre 2012
  • 2. 2 Casos de Uso (¿Qué es un caso de uso?) ¿Caso de Uso?
  • 3. 3 Casos de Uso (¿Qué es un caso de uso?) Es una descripción de un proceso fin-a-fin, relativamente largo, que incluye varias etapas o transacciones Un caso de uso es un conjunto de escenarios que tienen una meta de usuario en común* Es una manera específica de utilizar el sistema, una historia que describe un uso particular del sistema Es la “imagen” de una funcionalidad del sistema, desencadenada en respuesta al estímulo de un actor o rol externo *Martin Fowler
  • 4. 4 Casos de Uso (¿Qué es un caso de uso?) ¿Escenario?
  • 5. 5 Casos de Uso (¿Qué es un Escenario?) Es una secuencia específica de acciones e interacciones (pasos) entre los usuarios (actores) y el sistema, por ejemplo: ¿Escenario? 1) El usuario introduce su nombre de usuario y su contraseña. 2) El sistema verifica la validez del nombre de usuario y de la contraseña y permite al usuario el acceso al sistema. 3) El sistema muestra la pantalla principal del sistema. 4) El usuario selecciona la opción de añadir nuevo empleado. 5) El sistema muestra...”
  • 6. 6 Casos de Uso (¿Qué es un Actor?) Un actor representa el rol jugado por una persona o cosa que interactúa con el sistema. ¿Actor? “Cliente, Administrador, Usuario no Registrado (Autenticado), Usuario Registrado (Autenticado), Jefe de Compras, Jefe de Personal, Moderador, Jefe de Departamento, Obrero de Planta, Supervisor...” ¿Actor o Rol? Sería mejor usar la palabra rol, pero algunos piensan que “Actor” fue usado debido a una mala traducción del Sueco
  • 7. 7 Casos de Uso (¿Qué es un caso de uso?) Cuidado: No todos los interesados en el sistema (stakeholders) son actores, sólo son actores aquellos que utilizarán el sistema
  • 8. 8 Casos de Uso (Algunas Características) Describen bajo la forma de acciones y reacciones el comportamiento de un sistema desde el punto de vista de un usuario Permiten definir los límites del sistema y las relaciones entre el sistema y su entorno (MUY IMPORTANTE) Se puede/debe considerar que hasta cierto punto, cada caso de uso es independiente de los demás
  • 9. 9 Casos de Uso (Algunas Características) Un caso de uso NO es un diagrama, NO es un símbolo dentro de un diagrama... ...es una forma de describir un escenario de interacción usuario sistema... ...los diagramas vienen después (o antes) y son una forma de tener una visión general de los casos de uso, sus relaciones con los actores y con otros casos de uso
  • 10. 10 Descripción Textual de los Actores (¿Quiénes interactúan con el sistema?) Nombre: <nombre del actor> Descripción: <descripción del actor> Nombre: Usuario no Autenticado Descripción: Representa a un usuario que no se a identificado frente al sistema. Generalmente estos usuarios deberían poder registrarse (crear un nuevo usuario) o ingresar al sistema para transformarse en usuarios autenticados, en moderadores o en administradores del sistema ...
  • 11. 11 Descripción Textual de un CU (¿Qué debe hacer el sistema?) Nombre: <nombre del caso de uso> Autor: <nombre del autor (o autores) del caso de uso> Fecha: <fecha de creación del caso de uso> Descripción: Actores: <actores participantes en el caso de uso> <condiciones que deben cumplirse para poder ejecutar el caso de uso> Flujo Normal: <flujo/escenario normal (feliz) de ejecución del caso de uso> Flujo Alternativo: <flujos/escenarios alternativos de ejecución del caso de uso> <breve descripción del caso de uso> Precondiciones: Poscondiciones: <condiciones que deben cumplirse al finalizar la ejecución del caso de uso> Planillas de Casos de Uso (Generales)
  • 12. 12 Descripción Textual de un CU (¿Qué debe hacer el sistema?) Nombre: Crear nuevo mensaje Autor: Pedro Pérez Fecha: 04/21/09 Descripción: Permite crear un nuevo mensaje (hilo) en el foro de discusión. Actores: Usuario / Moderador El usuario debe de estar autenticado en el sistema. Precondiciones: continúa...
  • 13. 13 Descripción Textual de un CU (¿Qué debe hacer el sistema?) Flujo Normal: Flujo Alternativo: El mensaje ha sido almacenado en el sistema y fue publicado. 1.- El actor pulsa sobre el botón para crear un nuevo mensaje. 2.- El sistema muestra una caja de texto para introducir el título del mensaje y una zona de mayor tamaño para introducir el cuerpo del mensaje. 3.- El actor introduce el título del mensaje y el cuerpo del mismo. 4.- El sistema comprueba la validez de los datos y los almacena. 5.- El moderador recibe una notificación de que hay un nuevo mensaje. 6.- El moderador acepta y el sistema publica el mensaje si éste fue aceptado por el moderador. 4.A.- El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de ello permitiéndole que los corrija. 6.B.- El moderador rechaza el mensaje, de modo que no es publicado sino devuelto al usuario. Poscondiciones: ...continuación Esto en algunos casos se modela con diagramas de secuencia o con diagramas de actividades
  • 14. 14 Descripción Textual de un CU (¿Qué debe hacer el sistema?) Existen muchas variaciones sobre como describir un caso de uso UML no define ningún estándar al respecto Seleccione o diseñe las plantillas (una o más) que considere adecuadas para sus necesidades Conozca bien las plantilla que va a utilizar, sepa para que sirve cada campo, argumente sobre su utilidad y sea coherente a lo largo de todas las plantillas
  • 15. 15 Descripción Textual de un CU (¿Qué debe hacer el sistema?) Por ejemplo, en la plantilla anterior sería bueno añadir un campo prioridad, un campo código, quizá campos para manejar el control de cambios, etc Nombre: Crear mensaje foro Código: CU-001 Autor: Pedro Pérez Fecha: 04/21/09 Prioridad: 5 Descripción: Permite crear un nuevo mensaje (hilo) en el foro de discusión. Actores: Usuario / Moderador El usuario debe de estar autenticado en el sistema. Precondiciones:
  • 16. 16 Modelo de Casos de Uso ¿Cómo se desarrolla un modelo de Casos de Uso?
  • 17. 17 Diagrama de Casos de Usos (¿Cómo?) Antes de hacer un caso de uso es necesario tratar de entender los requerimientos del sistema. Trate de expresar lo que el sistema debe hacer: ¿Cuales son las tareas del/los actores involucrados? En base a esto, trate de responder las preguntas: ...el sistema debe permitir a los usuarios registrarse. El administrador debe poder validar las peticiones de registro antes de que los usuarios puedan publicar nuevos mensajes... ¿Que datos debe el actor crear, guardar, modificar, destruir, leer? ¿Debe el actor informar al sistema de cambios externos ocurridos? ¿Debe el el sistema informar al actor de cambios internos?
  • 18. 18 Modelo de Casos de Uso Diagramas de Casos de Uso
  • 19. 19 Diagrama de Casos de Usos Caso de Uso Actor Generalización / Especialización de Actores Límites del Sistema Colaboración entre casos de uso Asociación Caso de Uso / Actor Recordar Etiquetas
  • 20. 20 Diagrama de Casos de Usos Usado para compartir comportamiento común entre varios casos de uso Usado para modelar por separado el comportamiento excepcional (o adicional) del caso de uso base Usado para modelar relaciones de Generalización / Especialización entre casos de uso <<algo>> (estereotipo)
  • 21. 21 Haciendo un paréntesis... (Estereotipos) CRUD es un acrónimo que viene de “Create, Read, Update, Delete” Ojo: Esto es sólo un ejemplo de un posible estereotipo, no se lo tomen literal... planillas de casos de uso (CLEDA)
  • 22. 22 Haciendo un paréntesis... (Estereotipos) En este caso los estereotipos se utilizan para diferenciar los distintos tipos de actores (<<client>>, <<internal>>, <<system>>). Algunas personas reemplazan el “monigote” por iconos personalizados (Ej. Una computadora, monigotes de distintos colores, etcétera) Los estereotipos se pueden utilizar en casi todos los elementos disponibles de UML, de manera que se puede extender y enriquecer el lenguaje con su uso
  • 23. 23 Haciendo un paréntesis... (Estereotipos) Se pueden utilizar imágenes para representar cierto tipo especial de actores
  • 24. 24 Diagrama de Casos de Usos (Include / Extends / Especialización) Múltiples casos de uso “reutilizan” otros casos de uso. De esta forma no es necesario describir varias veces el mismo caso de uso incluido Algunas personas utilizan la inclusión para expresar que el caso de uso asociado debe de invocarse de manera “obligatoria”
  • 25. 25 Diagrama de Casos de Usos (Include / Extends / Especialización) Puntos de extensión explícitos Puntos de extensión explícitos
  • 26. 26 Diagrama de Casos de Usos (Include / Extends / Especialización) Una extensión puede estar asociada a varios puntos de extensión Las notas son un elemento común de UML, se pueden asociar a casi todos elementos disponibles de UML
  • 27. 27 Diagrama de Casos de Usos (Include / Extends / Especialización)
  • 28. 28 Algunas Reglas de Estilo (Para los Diagramas de Casos de Uso) Cada actor y caso de uso debe tener un nombre único Los actores deben tener nombres y/o iconos representativos El nombre de un caso de uso debe indicar acción y debe ser claro y conciso Forma General: Verbo (Infinitivo) + Predicado Los nombres de los actores deben representar roles Imprimir Reporte de Ventas Administrador
  • 29. 29 Algunas Reglas de Estilo (Para los Diagramas de Casos de Uso) Mantener todos los casos de uso de un diagrama al mismo nivel de abstracción ¿Se puede hacer esto? ¿Qué se puede decir del nivel de abstracción del caso de uso “Foro Web”? ¿Cómo sería la descripción textual del caso de uso “Foro Web”?
  • 30. 30 Algunas Reglas de Estilo (Para los Diagramas de Casos de Uso) Evite modelar flujo de navegación ¿Flujo de Navegación? ¿Casos de Uso e Interfaz de Usuario?
  • 31. 31 Algunas Reglas de Estilo (Para los Diagramas de Casos de Uso) Esto no es un buen diagrama de Casos de Uso (Expresa Navegación / Flujo de Pantallas de la IU)
  • 32. 32 Algunas Reglas de Estilo (Para los Diagramas de Casos de Uso) Entrar al Sistema (login) Listar Bancos Registrar Inversión Confirmar Datos Imprimir Plantilla Pantalla Principal Crear Banco Editar Banco Eliminar Banco listar bancos registrar inversión cancelar regresarregresarcancelar siguiente eliminar editar crear siguiente Aquí si puede expresar secuencia (a diferencia de en los casos de uso) Grafo de Navegación
  • 33. 33 Algunas Reglas de Estilo (Para los Diagramas de Casos de Uso) Evite el cruce de líneas (En general, mantenga el diagrama ordenado) Evite tener demasiados casos de uso en el mismo diagrama (Regla 5 ± 2) (¡Esto es relativo!) Evite el uso complejo de relaciones de extensión, especialización e inclusión (No más de tres niveles) Evite utilizar un actor para representar el sistema que se está modelando (pero si para representar sistemas externos) Evite representar la base de datos como un actor (aunque esto es relativo también)
  • 34. 34 Diagrama de Casos de Usos Ejercicio
  • 35. 35 Ejemplo: ¿Qué esta terriblemente mal en este diagrama? ¿Qué errores puede encontrar en el diagrama?
  • 36. 36 Ejemplo: El Sistema Anterior Mucho Mejor Representado
  • 37. 37 Detalle del Flujo de Eventos (Listar Solicitudes Pendientes) Flujo Normal: 1.- El actor selecciona la opción para listar las Solicitudes Pendientes. 2.- El sistema presenta una lista de todas las Solicitudes Pendientes (tanto de Registro de Usuario como de Publicación de Mensaje) junto con una opción para ver más detalles sobre una solicitud en particular. Flujo Alternativo: En caso de un Registro de Usuario: 3A.- El usuario selecciona una solicitud. 4A.- Si se trata de una solicitud de Registro de Usuario el sistema le envía al caso de uso Procesar Solicitud de Registro (CU-06) En caso de una Publicación de Mensaje: 3B.- El usuario selecciona una solicitud. 4B.- Si se trata de una solicitud de Publicación de Mensaje el sistema le envía al caso de uso Procesar Publicación de Mensaje (CU-07)
  • 39. 39 Detalle del Flujo de Eventos (Procesar Solicitud de Registro) Flujo Normal: 1.- El actor selecciona la opción para procesar las solicitudes de Registro de Usuario. 2.- El sistema invoca al caso de uso Listar Solicitudes Pendientes (CU-08), lo que permite al usuario seleccionar una solicitud para procesar. 3.- El sistema presenta la información de la solicitud de Registro de Usuario. 4.- El usuario decide si aprueba o rechaza la solicitud. 5.- Una vez aceptada la solicitud el sistema registra al nuevo usuario y éste queda ya listo para acceder al foro. Flujo Alternativo: En caso de que la solicitud de Registro de Usuario sea Rechazada: 5A.- El sistema notifica al correo correspondiente a la solicitud que ésta ha sido rechazada.
  • 40. 40 Algunas Reglas de Estilo (Descripción Textual de Casos de Uso) Narrar el flujo de eventos usando la voz activa, en tiempo presente y desde la perspectiva del actor: Preferir la voz activa: “La clave es introducida por el usuario” “El usuario introduce la clave” “El sistema valida la clave” Usar verbos en el flujo normal y en los flujos alternativos (se están describiendo acciones) Escribir de forma clara, exacta y concisa (está escribiendo un caso de uso, no una obra literaria) Evitar la voz pasiva: Usar de forma adecuada y consistente el vocabulario del cliente y del dominio de la aplicación
  • 41. 41 Algunas Reglas de Estilo (Descripción Textual de Casos de Uso) Expresar cada paso del flujo usando la forma llamada/respuesta, reflejando el hecho de que el actor hace algo y el sistema responde a la solicitud del actor Utilizar un esquema de numeración adecuado, tanto en el flujo normal, como en el flujo alternativo 1) El usuario introduce su nombre de usuario y su contraseña. 2) El sistema verifica la validez del nombre de usuario y de la contraseña y permite al usuario el acceso al sistema. Encadenar de forma coherente el flujo normal y el flujo alternativo: dejar claro donde termina uno, donde comienza el otro, por qué se produce el cambio, etc
  • 42. 42 Algunas Reglas de Estilo (Descripción Textual de Casos de Uso) Un caso de uso debe expresar un solo requisito funcional, no trate de expresar más de un requisito funcional en el mismo caso de uso. (Piense en el nivel de abstracción del caso de uso) Sin embargo, un caso de uso puede expresar más de un requisito NO funcional (Esto está bien) Experimente, refine sus descripciones y cambie su forma de escribirlas hasta que encuentre un estilo con el que se sienta cómodo (Recuerde actualizar los casos de uso que ya estén escritos para que sean consistentes con las nuevas reglas) Sea consistente en el estilo usado a lo largo de todos los casos de uso
  • 45. 45 Ejemplo: Una máquina expendedora de café (3) El cliente enfrenta distintos escenarios dependiendo de lo que pretende comprar, pero en general, comprar un producto es algo muy general con muchas acciones comunes
  • 46. 46 Ejemplo: Una máquina expendedora de café (4) Cada despacho tiene particularidades acordes con el producto solicitado por el cliente