Casos de uso UML

26
Taller de Ingeniería de Software – Casos de Uso Denis Parra Santander Instituto de Informática UACH 2007

description

Presentación de Casos de Uso en UML. Se indican las referencias del material utilizado para crear esta presentación.

Transcript of Casos de uso UML

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 <<include>>

Estudiante

Hacer Café

*

*

Hacer Té

*

*

Hervir Tetera<<include>>

<<include>>

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 <<extend>> 2/2

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

… a trabajar