Está en la página 1de 26

Taller de Ingeniería de

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

 Nombre con ruta


 (Nombre de paquete::nombre de caso de uso)

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

Ver detalle de producto Confirmar compra


Cliente Web store Cliente Web store
•Seleccionar opción •Seleccionar opción
“ver detalle de producto” “confirmar compra”
• [no autentificado] solicitar • [no autentificado] solicitar
nombre de usuario y contraseña nombre de usuario y contraseña
• Ingresa nombre de usuario •Ingresa nombre de usuario
y contraseña y contraseña
•Validar usuario •Validar usuario
•Mostrar detalle de producto a •Despliega Contenido de carro de
usuario compr
Ejemplos
 <<extend>> 2/2
Ejemplos
 Herencia (especialización)

*
Retirar Dinero Inscribir Ramos
* *

Estudiante

Actor1 Retirar Dinero en


US$

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
/UML-Use-Cases.pdf
 http://www.parlezuml.com/tutorials/usecases/
usecases_intro.pdf
 http://www.agilemodeling.com/style/useCase
Diagram.htm
… a trabajar

También podría gustarte