Este documento describe los diagramas de casos de uso y cómo se utilizan para modelar los requisitos funcionales de un sistema desde la perspectiva del usuario. Explica los conceptos clave de casos de uso, actores, pasos y variaciones. Además, proporciona plantillas y ejemplos detallados de casos de uso para un sistema de tutoría virtual universitaria.
2. CASOS DE USO
Los Casos de Uso (Ivar Jacobson)
describen bajo la forma de acciones y
reacciones el comportamiento de un
sistema desde el p.d.v. del usuario
Permiten definir los límites del sistema y las
relaciones entre el sistema y el entorno
3. CASOS DE USO
Los Casos de Uso son descripciones de
la funcionalidad del sistema
independientes de la implementación
Comparación con respecto a los
Diagramas de Flujo de Datos del
Enfoque Estructurado
4. … CASOS DE USO
Ejemplo:
Caso de Uso A
Actor A
Caso de Uso B
Actor B
5. CASOS DE USO
Actores:
► Principales: personas que usan el sistema
► Secundarios: personas que mantienen o
administran el sistema
► Otros sistemas: sistemas con los que el sistema
interactúa
La misma persona física puede interpretar varios
papeles como actores distintos
El nombre del actor describe el papel
desempeñado
6. CASOS DE USO
Los Casos de Uso se determinan observando
y precisando, actor por actor, las secuencias
de interacción, los escenarios, desde el
punto de vista del usuario
Un escenario es una instancia de un caso de
uso
Los casos de uso intervienen durante todo el
ciclo de vida. El proceso de desarrollo estará
dirigido por los casos de uso
7. CASOS DE USO
Ejemplo:
Identificación
< <include>>
Transferencia
Cliente
< <extend>>
Transferencia en Internet
8. CASOS DE USO:
CONSTRUCCIÓN
Un caso de uso debe ser simple, inteligible, claro y
conciso.
Generalmente hay pocos actores asociados a
cada Caso de Uso
Preguntas clave:
► ¿Cuáles son las tareas del actor?
► ¿Qué información crea, guarda, modifica,
destruye o lee el actor?
► ¿Debe el actor notificar al sistema los cambios
externos?
► ¿Debe el sistema informar al actor de los
cambios internos?
9. CASOS DE USO:
CONSTRUCCIÓN
La descripción del Caso de Uso comprende:
► El inicio: cuándo y qué actor lo produce?
► El fin: cuándo se produce y qué valor devuelve?
► La interacción actor-caso de uso: qué mensajes
intercambian ambos?
► Objetivo del caso de uso: ¿qué lleva a cabo o
intenta?
► Cronología y origen de las interacciones
► Repeticiones de comportamiento: ¿qué
operaciones son iteradas?
► Situaciones opcionales: ¿qué ejecuciones
alternativas se presentan en el caso de uso?
10. PLANTILLA CASOS DE USO
► Caso de uso: nombre del caso de uso
► Objetivo: propósito del caso de uso
► Actores: actores que intervienen
► Precondiciones: condiciones que deben
cumplirse para poder comenzar el caso de uso
► Pasos: secuencia normal de acciones
► Variaciones: variaciones de la secuencia
normal
► Extensiones: extensiones del caso de uso
11. EJEMPLO
► Servicio de Tutorías Virtuales para la Universidad.
► Requisitos:
► El alumno accederá a la aplicación a través del
web.
► Los usuarios se identificarán en el sistema
utilizando tarjetas inteligentes.
► Permitirá a los alumnos realizar consultas
electrónicas.
► Sistema de consultas on-line.
► El alumno tendrá un buzón de nuevas respuestas.
► El profesor tendrá un buzón de nuevas consultas.
12. ► Requisitos (continuación):
► El alumno organizará las consultas por asignatura,
profesor y tema.
► El profesor organizará las consultas por asignatura,
alumno y tema.
► El profesor podrá determinar cuando desea
establecer las tutorías on-line para una asignatura.
► La Universidad desea conocer para cada
profesor:
► Cumplimiento horario tutorías.
► Número de horas de tutorías on-line.
► Número de horas de consultas on-line.
► Número de consultas respondidas.
13. REGLAS DE NEGOCIO
► Restricciones que afectan a las informaciones y
acciones de la organización:
► Horas de tutorías del profesor >= 6
► Un usuario no puede fallar durante el
proceso de identificación más de 3 veces
14. … CASOS DE USO: EJEMPLO
Explorar Consultas Alumno Crear Tema Consulta Explorar Consultas Profesor
Responser Consulta
Realizar Consulta Consulta en linea
Alumno Profesor
(from Alumno)
(from Profesor)
Establecer Tutorias
Consultar Buzon Entrada Alumno
Identificacion Alumno Identificación Profesor
<<extend>> <<extend>> Consultar Buzon Entrada Profesor
Identificación
Universitario
15. CDU: REALIZAR CONSULTA
► Objetivo: el alumno realiza una consulta
electrónica al profesor de una asignatura
► Actores: Alumno
► Pasos:
► 1. A: Selecciona el tema
► 2. A: Escribe la consulta y su título
► 3. S: Registrar consulta asociada al tema
16. CDU: CREAR TEMA CONSULTA
► Objetivo: establecer un nuevo tema de consulta para las tutorías con un
profesor
► Actores: Alumno
► Pasos:
► 1. A: Selecciona la asignatura y el profesor
► 2. A: Establece nuevo tema de consulta
► 3. S: Registrar el tema de consulta asociado al profesor y la asignatura
17. CDU: CREAR TEMA CONSULTA
► Variaciones:
► 1.a. El tema de consulta existe
► 1.a.1: Indicar error
► 1.a.2: Finalizar cdu.
18. CDU: CONSULTAR BUZÓN
ENTRADA ALUMNO
► Objetivo: el alumno consulta las nuevas consultas
contestadas por los profesores
► Actores: Alumno
► Pasos:
► 1. S: Muestra todas las consultas recién
contestadas por los profesores.
► 2. A: Lee las consultas del buzón.
19. CDU: EXPLORAR CONSULTAS
ALUMNO
► Objetivo: el alumno explora las consultas, junto con sus
respuestas, realizadas a los profesores
► Actores: Alumno
► Pasos: *
► 1. S: Muestra las asignaturas para las que está
matriculado el alumno
► 2. A: Selecciona Asignatura
► 3. S: Muestra los profesores de la asignatura
seleccionada
► 4. A: Selecciona Profesor
20. CDU: EXPLORAR CONSULTAS
ALUMNO
► Pasos (continuación):
► 5. S: Muestra los temas para la Asignatura-Profesor-
Alumno
► 6. A: Selecciona Tema
► 7. S: Muestras las consultas para ese Tema
21. CDU: CONSULTA EN LÍNEA
► Objetivo: el alumno realiza una consulta en línea con el
profesor.
► Actores: Alumno (iniciador), Profesor
► Precondiciones: profesor está en línea y no ocupado
► Pasos:
► 1. A Alumno: Solicita la consulta al profesor.
► 2. S: Avisa al Profesor
► 3. A Profesor: Acepta la consulta.
► 4. S: Avisa al Alumno
22. CDU: CONSULTA EN LÍNEA
► Pasos (continuación):
► 5. A Alumno-Profesor: Intercambian mensajes.
► 6. S: Envía mensajes al otro interlocutor
► 7. A Alumno-Profesor: Finaliza la consulta.
► 8. S: Notifica la finalización al otro interlocutor
► 9. S: Registrar periodo de tutoria asociado al
Profesor y al Alumno
► Variaciones:
► 2. a. El profesor no acepta la consulta
► 2.a.1: Finaliza cdu.
23. CDU: RESPONDER CONSULTA
► Objetivo: el profesor responde una consulta
electrónica de un alumno
► Actores: Profesor
► Pasos:
► 1. A: Selecciona la consulta a responder
► 2. S: Muestra el contenido de la consulta para su
edición
► 3. A: Escribe la respuesta dentro de la consulta
► 4. S: Registra la respuesta y la asocia a la consulta
24. CDU: CONSULTAR BUZÓN
ENTRADA PROFESOR
► Objetivo: el profesor examina las consultas no
contestadas
► Actores: Profesor
► Pasos:
► 1. S: Muestra todas las consultas no contestadas
del profesor
► 2. A: Leer consultas del buzón.
25. CDU: EXPLORAR CONSULTAS
PROFESOR
► Objetivo: el profesor explora las consultas,
contestadas o no, de los alumnos
► Actores: Profesor
► Pasos: *
► 1. A: Selecciona la Asignatura
► 2. S: Muestra los alumnos matriculados para la
Asignatura
► 3. A: Selecciona el Alumno
► 4. S: Muestra los temas del Alumno para la
Asignatura y el Profesor
27. CDU: ESTABLECER TUTORÍAS
► Objetivo: permite a un profesor establecer las
asignaturas para las que estará en tutoría
► Actores: Profesor
► Pasos:
► 1. A: Seleccionar asignatura y establecer estado
(en línea o fuera de línea)
► 2. S: Registrar el cambio de tutorías y actualizar las
estadísticas (cumplimiento horario tutorías y horas
de tutorías)
28. CDU: IDENTIFICACIÓN
► Objetivo: obtener y validar la identidad de un usuario
de la Universidad
► Actores: Universitario
► Pasos:
► 1. S: Solicita tarjeta inteligente
► 2. A: Introduce tarjeta inteligente
► 3. S: Solicita el PIN
► 4. A: Introduce el PIN
► 5. S: Comprobar identidad
► 6. S: Devolver identidad
29. CDU: IDENTIFICACIÓN
► Variaciones:
► 5. a. El PIN no es correcto
► 5.a.1: Solicitar el PIN hasta 3 veces
► Extensiones:
► Tipo de usuario
31. CDU: IDENTIFICACIÓN
PROFESOR
► Identificación Profesor extends Identificación
► Objetivo: comprobar la identidad del profesor
► Actores: Profesor
► Precondiciones:
► Pasos:
► 1: Pasos cdu Identificación
► 2: S: Obtener identidad profesor
Notas del editor
Algunas similitudes y diferencias entre DFDs y D. de Casos de Uso: Un caso de uso es una función (servicio o transacción) atómica ofrecida por el sistema al entorno (actores), mientras que un proceso de un DFD puede ser detallado en un DFD hijo. Así, el concepto de “explosión de proceso” sólo se aplica a los DFDs. Aunque en cierta forma con relaciones de inclusión entre casos de uso (que se explican más adelante) puede mostrarse la factorización de un caso de uso, esto no llega a ser equivalente a explosión de proceso. Aunque un caso de uso y un proceso modelan una pieza de funcionalidad del sistema su especificación es diferente. En un caso de uso interesa expresar la funcionalidad mediante la interacción (pasos de comunicación) actor(es) – sistema. En un proceso la funcionalidad se expresa mediante la transformación que se hace de los flujos de entrada para producir flujos de salida. Un caso de uso en general no modela un particionamiento (o detalle) funcional interno del sistema pues se concibe desde la perspectiva de los actores, es decir una visión externa del sistema. La excepción a lo anterior podría producirse al factorizar funcionalmente un caso de uso para establecer una relación de inclusión (que se explica más adelante). Un DFD, según sea el nivel de detalle, puede mostrar descomposición funcional interna del sistema. La diferencia entre Captura de Requisitos y Análisis radica esencialmente en el grado de detalle que se obtiene respecto del particionamiento del problema (funcional y de datos). La Captura de Requisitos ofrece un particionamiento en el contexto del usuario y adecuado para su comprensión. El Análisis provee un particionamiento que pueda ser utilizado como entrada para el Diseño del Sistema. Así, se puede afirmar que los D. de Casos de Uso son una herramienta exclusivamente de Captura de Requisitos mientras que los DFD podrían utilizarse en ambas actividades. En captura de requisitos para un DFD una entidad externa equivale a un actor, un almacén único y global evita entrar en análisis de datos y los procesos establecidos sólo hasta el nivel de transacciones externas se corresponderían con casos de uso. Las relaciones de extensión y de generalización entre casos de uso no tienen correspondencias en los DFDs. ...
Algunas similitudes y diferencias entre DFDs y D. de Casos de Uso: Un caso de uso es una función (servicio o transacción) atómica ofrecida por el sistema al entorno (actores), mientras que un proceso de un DFD puede ser detallado en un DFD hijo. Así, el concepto de “explosión de proceso” sólo se aplica a los DFDs. Aunque en cierta forma con relaciones de inclusión entre casos de uso (que se explican más adelante) puede mostrarse la factorización de un caso de uso, esto no llega a ser equivalente a explosión de proceso. Aunque un caso de uso y un proceso modelan una pieza de funcionalidad del sistema su especificación es diferente. En un caso de uso interesa expresar la funcionalidad mediante la interacción (pasos de comunicación) actor(es) – sistema. En un proceso la funcionalidad se expresa mediante la transformación que se hace de los flujos de entrada para producir flujos de salida. Un caso de uso en general no modela un particionamiento (o detalle) funcional interno del sistema pues se concibe desde la perspectiva de los actores, es decir una visión externa del sistema. La excepción a lo anterior podría producirse al factorizar funcionalmente un caso de uso para establecer una relación de inclusión (que se explica más adelante). Un DFD, según sea el nivel de detalle, puede mostrar descomposición funcional interna del sistema. La diferencia entre Captura de Requisitos y Análisis radica esencialmente en el grado de detalle que se obtiene respecto del particionamiento del problema (funcional y de datos). La Captura de Requisitos ofrece un particionamiento en el contexto del usuario y adecuado para su comprensión. El Análisis provee un particionamiento que pueda ser utilizado como entrada para el Diseño del Sistema. Así, se puede afirmar que los D. de Casos de Uso son una herramienta exclusivamente de Captura de Requisitos mientras que los DFD podrían utilizarse en ambas actividades. En captura de requisitos para un DFD una entidad externa equivale a un actor, un almacén único y global evita entrar en análisis de datos y los procesos establecidos sólo hasta el nivel de transacciones externas se corresponderían con casos de uso. Las relaciones de extensión y de generalización entre casos de uso no tienen correspondencias en los DFDs. ...
Una característica resaltada respecto de un proceso de desarrollo de software asociado a UML es su naturaleza “use case driven”, es decir, el proceso es dirigido por los casos de uso. Esto significa que en puntos determinado del desarrollo se valida y verifica el correspondiente modelo respecto del modelo de casos de uso. En sí la especificaciones de casos de uso (con los respectivos diagramas de interacción) constituyen una especificación de casos de prueba para el sistema (pruebas funcionales).
¿Podría en este ejemplo haberse modelado el caso de uso “Transferencia por Internet” con una relación de generalización hacia el caso de uso “Transferencia”?. Si la idea de extensión (vista como especialización) forma parte esencial del concepto de generalización/especialización, ¿para qué tener dos tipos de relaciones? ... estos son algunos de lo muchos aspectos de UML que están en discusión.