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
Nombre Simple
Nombre con ruta (Nombre de paquete::nombre de caso de uso)
Nombres de Caso de Uso
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
Estudiante Cajero
Pagar Arancel*
* *
*
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 <<extend>> 1/2
Ver detalle de producto
Cliente Web store•Seleccionar opción“ver detalle de producto”
• [no autentificado] solicitar nombre de usuario y contraseña
• Ingresa nombre de usuarioy contraseña
•Validar usuario
•Mostrar detalle de producto a usuario
Confirmar compra
Cliente Web store•Seleccionar opción “confirmar compra”
• [no autentificado] solicitar nombre de usuario y contraseña
•Ingresa nombre de usuarioy contraseña
•Validar usuario
•Despliega Contenido de carro de compr
Ejemplos Herencia (especialización)
Actor1
Retirar Dinero
Retirar Dinero enUS$
*
*
Estudiante
Inscribir Ramos
*
*
Estudiante Extranjero
Ejercicio ¿Qué relación se establece entre los siguientes casos de uso?
AdministrarUsuarios
Crear Usuario
Administrador de Sistema
Eliminar Usuario
Modificar Usuario
ValidarInformación de Usuario
Crear UsuarioAdministrador
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/useCaseDiagram.htm
Top Related