Casos de Uso

23
Desarrollo de proyectos de software L.I Aurelio López Ovando UNIDAD 2 DISEÑO EN BASE A OBJETOS TEMA 2 Casos de uso

Transcript of Casos de Uso

Desarrollo de proyectos de

softwareL.I Aurelio López Ovando

UNIDAD 2DISEÑO EN BASE A OBJETOSTEMA 2 Casos de uso

“La parte más difícil de construir un sistema es precisamente saber quéconstruir. Ninguna otra parte del trabajo conceptual es tan difícil comoestablecer los requerimientos técnicos detallados, incluyendo todas lasinterfaces con gente, máquinas, y otros sistemas.Ninguna otra parte del trabajo afecta tanto al sistema si es hecha mal. Ningunaes tan difícil de corregir mas adelante... Entonces, la tarea más importante queel ingeniero de software hace para el cliente es la extracción iterativa y elrefinamiento de los requerimientos del producto”.

¿Qué son los Casos de Uso?

“Un caso de uso es una secuencia de interacciones entre un sistema y alguien oalgo que usa alguno de sus servicios.”

Historia

Fueron introducidos por Jacobson en 1992. Sin embargo, la idea de especificarun sistema a partir de su interacción con el entorno es original de Mc Menaminy Palmer, dos precursores del análisis estructurado, que escribieron en 1984 unlibro en el que definieron un concepto muy parecido al del caso de uso: elevento. Para McMenamin y Palmer, un evento es algo que ocurre fuera de loslímites del sistema, ante lo cual el sistema debe responder.

Eventos vs casos de uso

• Los eventos se centran en describir qué hace el sistema cuando el eventoocurre, mientras que los casos de uso se centran en describir cómo es eldiálogo entre el usuario y el sistema.

Si no estudias para un examen vas a reprobar.

Estudiar apuntes

• Los eventos son “atómicos”: se recibe una entrada, se la procesa, y se generauna salida, mientras que los casos de uso se prolongan a lo largo del tiempomientras dure la interacción del usuario con el sistema. De esta forma, un casode uso puede agrupar a varios eventos.

Eventos vs casos de uso

+

=

Programar software

Análisis

Codificación y diseño

Software

Eventos vs casos de uso

• Para los eventos, lo importante es qué datos ingresan al sistema o salen de élcuando ocurre el evento (estos datos se llaman datos esenciales), mientras quepara los casos de uso la importancia del detalle sobre la información que seintercambia es secundaria. Según esta técnica, ya habrá tiempo más adelanteen el desarrollo del sistema para ocuparse de este tema.

+

=

Atención a clientesDatos de los clientes

Captura y proceso de datos

Historial de clientes

Casos de usoLos casos de uso se basan en un concepto muy interesante:Es importante describir al sistema desde el punto de vista de aquél que lo va ausar, y no desde el punto de vista del que lo va a construir.

De esta forma, es más fácil validar que los requerimientos documentados son losverdaderos requerimientos de los usuarios, ya que éstos comprenderánfácilmente la forma en la que están expresados.

A pesar de ser considerada una técnica de Análisis Orientado a Objetos, esimportante destacar que los casos de uso poco tienen que ver con entender a unsistema como un conjunto de objetos que interactúan, que es la premisa básicadel análisis orientado a objetos “clásico”.

En este sentido, el éxito de los casos de uso no hace más que dar la razón alanálisis estructurado, que propone que la mejor forma de empezar a entender unsistema es a partir de los servicios o funciones que ofrece a su entorno,independientemente de los objetos que interactúan dentro del sistema paraproveerlos.

Casos de uso

ActoresUn actor es una agrupación uniforme de personas, sistemas o máquinas que interactúan con el sistema que estamos construyendo de la misma forma.

ActoresLos actores son externos al sistema que vamos a desarrollar. Por lo tanto, alidentificar actores estamos empezando a delimitar el sistema, y a definir sualcance.

Definir el alcance del sistema debe ser el primer objetivo de todo analista, ya queun proyecto sin alcance definido nunca podrá alcanzar sus objetivos.

Actores

Es importante tener clara la diferencia entre usuario y actor.Un actor es una clase de rol, mientras que un usuario es una persona que, cuandousa el sistema, asume un rol.

De esta forma, un usuario puede acceder al sistema como distintos actores.

Actor

Actor Actor

Actores

Los actores se representan con dibujos simplificados de personas, llamadosen inglés “stick man” (hombres de palo).

Si bien en UML los actores siempre se representan con “hombres de palo”, aveces resulta útil representar a otros sistemas con alguna representación másclara.

Un caso de uso es una secuencia de interacciones entre un sistema y alguien oalgo que usa alguno de sus servicios.

Un caso de uso es iniciado por un actor.

A partir de ese momento, ese actor, junto con otros actores, intercambian datoso control con el sistema, participando de ese caso de uso.

Definición de un caso de uso

Nomenclatura de un Caso de uso

El nombre de un caso de uso se expresa con un verbo, seguido generalmente porel principal objeto o entidad del sistema que es afectado por el caso.Gráficamente, los casos de uso se representan con un óvalo, con el nombre delcaso en su interior.

Características de los Casos de usoLos casos de uso tienen las siguientes características:

• Están expresados desde el punto de vista del actor.• Se documentan con texto informal.• Describen tanto lo que hace el actor como lo que hace el sistema cuandointeractúa con él, aunque el énfasis está puesto en la interacción.• Son iniciados por un único actor.• Están acotados al uso de una determinada funcionalidad –claramentediferenciada– del sistema.

Descripción de los Casos de uso

Los casos de uso se documentan con texto informal. Lo verdaderamenteimportante no es el diagrama del caso de uso, sino la documentación delmismo:

Caso de uso

Actores

Propósito

Visión general

Curso normal de eventos

Acción del actor Respuesta del sistema

Cursos alternativos

Nombre del caso de uso

Actores que interviene en el caso de uso

Propósito del caso de uso

Breve descripción del caso de usoAcciones que el

actor hace para interactuar con el sistema.

Acciones que le corresponden al sistema

Acciones que no corresponden al curso normal del sistema

Relaciones de extensión

Muchas veces, la funcionalidad de un caso deuso incluye un conjunto de pasos que ocurrensólo en algunas oportunidades.

¿Cuando usarlo?Como regla aproximada en este caso podemos pensar que si algo opcional debe serexpresado con más de un paso, seguramente es una extensión y no una alternativa.

Características:•Representan una parte del caso que no siempre ocurre.•Son un caso de uso en sí mismas.•No necesariamente provienen de un error o excepción.

¿Alternativa o extensión?•Una extensión es un caso de uso en sí mismo, mientras que una alternativa no.•Una alternativa es un error o excepción, mientras que una extensión puede no serlo.

Relaciones de usoEs común que la misma funcionalidad del sistema sea accedida a partir devarios casos de uso.

Características:• Aparecen como funcionalidad común, luego de haber especificado varios casos de uso.• Los casos usados son casos de uso en sí mismos.• El caso es usado siempre que el caso que lo usa es ejecutado. Esto marca la diferencia conlas extensiones, que son opcionales.

Un error común en la identificación de los casos de uso consiste en representarlos pasos, las operaciones o transacciones individuales como casos.

Un caso de uso es una descripción de un proceso de principio a finrelativamente amplia, descripción que suela abarcar muchos pasos otransacciones, normalmente no es un solo paso ni una actividad individual delproceso.

Identificar un caso de uso

Ingresar pedido

Guardar pedido

Identificar un caso de usoEs posible dividir actividades en sub casos denominados casos abstractos de uso, incluso en pasos individuales.

Métodos de identificación basada en actores:• Se identifican los actores relacionados con un sistema o empresa.• En cada actor se identifican los procesos que inician o en que participan.

Métodos de identificación basados en eventos:• Se identifican los eventos externos a los que un sistema ha de responder.• Se relacionan los eventos con los actores y con los casos de uso

Ejercicios:

1 -. El hipódromo

Un hipódromo ofrece a sus clientes la posibilidad de asistir a las carreras y de

realizar apuestas.

¿Cuáles son los actores que interactúan con estos servicios?

Construya el diagrama de casos de uso

2 -. El club ecuestre

Un club ecuestre pone a disposición de los clientes establos para guardar los

caballos y ofrece cursos de equitación y paseos. Sólo los socios tienen acceso a

los cursos y a los servicios de establo. Los demás clientes tienen la posibilidad de

participar en los paseos y de convertirse en socios.

¿Cuáles son los actores que interactúan con estos servicios?

Construya el diagrama de casos de uso

Tema siguiente: DIAGRAMA DE ACTIVIDADES

¿Preguntas?