Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Software –
Casos de Uso
Denis Parra Santander
Instituto de Informática UACH
2007
Contenido
Introducción <<
Términos y Conceptos
Identificando Actores, Casos de Uso y
Escenarios
Ejercicio
Introducción
A mediados de los ’80, Ivar Jacobson propuso
la idea de casos de utilización (usage cases) y
escenarios de utilización (scenarios cases).
Más recientemente, la idea tomó la forma de
casos de uso (use cases) y escenarios de casos
de uso (use case scenarios)
Un caso de uso puede ser entendido como
“una razón para usar un sistema”.
Introducción
Caso de Uso
Conjunto de escenarios relacionados por un objetivo y
un actor común
Descripción de la secuencia de acciones desarrollados
por un actor y un sistema para producir un resultado para
el actor
Son creados bajo la identificación funcional de
requerimientos pero no tienen una relación uno a
uno con ellos (caso de uso ≠ requerimiento)
Pueden ser especificados usando un lenguaje de
modelamiento claro y preciso: UML
Contenido
Introducción
Términos y Conceptos <<
Identificando Actores, Casos de Uso y
Escenarios
Ejercicio
Nombres de Caso de Uso
Nombre Simple
Administrar Usuarios
Estudiante::Obtener Notas
Actores
Representan roles que humanos, dispositivos de
hardware o sistemas externos juegan mientras
interactúan con el sistema
No son parte del sistema y están situados fuera de sus
límites
Pueden estar a la entrada o salida de un caso de uso
* *
Pagar Arancel
* *
Estudiante Cajero
Escenarios
Especifican el comportamiento de un caso de uso por
descripción, no por modelamiento
Ejemplos incluyen texto estructurado informal, texto
estructurado formal con condiciones y pseudocódigo.
Típicamente especifica:
Cómo y cuándo el caso de uso comienza y termina
Interacción con actores e intercambio de objetos
Flujo de eventos: normal (exitoso), alternativo (exitoso) y
excepcional (falla)
Escenario de Ejemplo
En un sistema de RRHH, para el caso de uso
“Contratar Empleado”, los siguientes escenarios
pueden darse:
Escenario normal: Contratar una persona que no
pertenece a la compañía
Escenario alternativo: Contratar a un persona que
pertenece a la compañía, pero en un departamento
distinto.
Escenario fallido: No pude ser encontrada ninguna
persona calificada.
Condiciones
Pre-Condiciones
Describe el ambiente bajo el cual el caso de uso
es invocado.
Post-Condiciones
Reflejan el impacto en el ambiente del caso de
uso luego de su ejecución.
Requisitos de Calidad (opcional)
Por ejemplo, el sistema debe responder en menos
de 30 segundos.
Relaciones
<<include>> (<<uses>> en UML 1.2)
Si X incluye Y, Y siempre se realiza cuando se realiza X.
Y es un comportamiento común en más de un caso de
uso.
<<extend>>
Si Y extiende X, bajo ciertas condiciones de la ejecución
de X también se ejecuta Y.
Cuando se incluye un comportamiento de uso sólo bajo
ciertas condiciones
Especialización (herencia)
Ejemplos
<<include>>
Hacer Café
* <<include>>
* Hervir Tetera
<<include>>
*
Hacer Té
Estudiante
Ejemplos
<<extend>> 1/2
*
Retirar Dinero Inscribir Ramos
* *
Estudiante
Estudiante Extranjero
Ejercicio
¿Qué relación se establece entre los siguientes casos de uso?
Crear Usuario
Crear Usuario
Administrador
Administrar
Usuarios
Modificar Usuario
Administrador de Sistema
Validar
Información de Usuario
Eliminar Usuario
Contenido
Introducción
Términos y Conceptos
Identificando Actores, Casos de Uso y
Escenarios <<
Ejercicio
Identificando Actores
Definir los límites del sistema para identificar a los actores
correctamente.
Identificar usuarios y sistemas que dependen de las
funcionalidades primarias y secundarias del sistema.
Identificar plataformas de hardware y software con las cuales
interactúa el sistema.
Seleccionar entidades que juegan distintos roles en el sistema.
Identificar como actores entidades externas con objetivos
comunes e interacción directa con el sistema.
Llamar actores con sustantivos.
Identificando Casos de Uso
Casos de Uso del Negocio/Dominio
Interacciones entre usuarios y el negocio (dominio)
Casos de Uso de Sistema
Interacciones entre usuarios y el sistema
Un caso de uso de negocio contiene varios casos de uso
de sistema
Para nombrar casos de uso, usar un verbo para
mostrar la acción desarrollada:
Describir una transacción completamente
Capturando Casos de Uso
Capturar casos de uso durante la toma de requisitos.
Casos de uso no están relacionados uno a uno con
requerimientos:
Cada requerimiento (funcional) debe estar cubierto por al
menos un caso de uso.
Sin embargo, un caso de uso puede contener varios
requerimientos.
Usar escenarios para modelar suposiciones y definir
el alcance del sistema.
Listar excepciones de modo separado.
Identificando Escenarios
Extraer la funcionalidad que está disponible para
cada actor.
Establecer instancias específicas y no descripciones
generales.
Presentar situaciones en sistemas actuales y futuros.
Identificar:
Tareas a ser desarrolladas por el usuario y el sistema
Flujo de información hacia el usuario y hacia el sistema
Eventos que son llevados al usuario y al sistema
Para el flujo de eventos, nombrar los pasos en voz activa
En Resumen…
Identificar actores: ¿quiénes usarán el sistema?
Identifica sus objetivos: ¿para qué estarán usando el
sistema?
Identifica los escenarios clave: tratando de alcanzar
un objetivo específico, ¿qué situaciones o flujos de
información necesitaríamos considerar?
Describir en términos del negocio (dominio) las
interacciones entre el actor (es) y el sistema para un
escenario específico.
Contenido
Introducción
Términos y Conceptos
Identificando Actores, Casos de Uso y
Escenarios
Ejercicio <<
Ejercicio: CourseWare System
Descripción Informal:
Para este caso de estudio, la tarea es construir los casos de uso (diagramas
UML y formato extendido) para un sistema que puede ser usado para
administrar cursos y clases de una organización de capacitación. El nombre
del sistema es CourseWare System,
La organización ofrece cursos en una variedad de áreas como aprendizaje de
técnicas de gestión, lenguajes de programación y diferentes tecnologías de
software. Cada curso está compuesto de un conjunto de tópicos. Tutores en la
organización son asignados para enseñar de acuerdo a su área de
especialización y disponibilidad. La organización publica cada año un
calendario con los diferentes cursos y los tutores asignados a cada uno. Existe
un grupo de administradores de cursos en la organización que administran los
cursos incluyendo los contenidos, la asignación de tutores y definiendo el
horario del curso.
La organización de capacitación espera usar CourseWare System para tener
un mejor control y visibilidad para la administración de los cursos y también
para facilitar el proceso de generara y administrar horarios para los diferentes
cursos.
Enlaces y Referencias
http://courses.softlab.ntua.gr/softeng/Tutorials/UM
http://www.parlezuml.com/tutorials/usecases/usec
http://www.agilemodeling.com/style/useCaseDiag
… a trabajar