Loading documents preview...
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
Post-Condiciones
Describe el ambiente bajo el cual el caso de uso es invocado. 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
<> (<<uses>> en UML 1.2)
<<extend>>
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. 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
<>
Hacer Café *
*
<>
*
<>
* Estudiante
Hacer Té
Hervir Tetera
Ejemplos
<<extend>> 1/2
Ver detalle de producto
Confirmar compra
Cliente
Cliente
Web store
•Seleccionar opción “ver detalle de producto”
Web store
•Seleccionar opción “confirmar compra” • [no autentificado] solicitar nombre de usuario y contraseña
• Ingresa nombre de usuario y contraseña
• [no autentificado] solicitar nombre de usuario y contraseña •Ingresa nombre de usuario y contraseña
•Validar usuario
•Validar usuario
•Mostrar detalle de producto a usuario
•Despliega Contenido de carro de compr
Ejemplos
<<extend>> 2/2
Ejemplos
Herencia (especialización)
* *
Inscribir Ramos
Retirar Dinero *
* 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
Eliminar Usuario
Validar Información de 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
Casos de Uso de Sistema
Interacciones entre usuarios y el negocio (dominio) 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