You are on page 1of 16

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap.

Gral Justo Jos de Urquizas

CASOS de USO USE CASE

Los diagramas de casos de uso documentan el comportamiento de un sistema desde el punto de vista del usuario. Por tanto los casos de uso determinan los requisitos Funcionales del sistema: Representan las funciones que un sistema puede ejecutar.

Anlisis Estructurado Prof. Ariel Solovey 1

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Se pueden usar durante las siguientes fases del desarrollo: Captura de Requerimientos Planificacin de iteraciones de desarrollo Validacin del sistema (Test Case)

Su ventaja principal es la facilidad para interpretarlos, lo que hace que sean especialmente tiles en la comunicacin con el cliente.

Ejemplo de Diagrama de Casos de Uso

Reservar Libro

SocioBiblioteca Llevar libro prestado

Actualizar catlogo

Bibliotecario

Anlisis Estructurado Prof. Ariel Solovey 2

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Los elementos bsicos Actores


Nota: Interpretamos como usuario cualquier cosa externa que interacta con el sistema, no tiene porqu ser un ser humano.
SocioBiblioteca

Los actores representan un tipo de usuario del sistema.

Caso de Uso Un caso de uso es una tarea que debe poder llevarse a cabo con el apoyo del sistema que se est desarrollando Se representan mediante un valo:
Reservar Libro

Cada uno de los casos de uso debe detallarse, habitualmente mediante una descripcin textual.
Anlisis Estructurado Prof. Ariel Solovey 3

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Asociaciones

Reservar Libro

SocioBiblioteca

Hay una asociacin entre un actor y un caso de uso si el actor interacta con el sistema para llevar a cabo el caso de uso.

Ms sobre los actores Identificacin de los actores Los actores ms sencillos de identificar son los usuarios humanos del sistema Pero tambin pueden ser actores, entre otros: Otros sistemas informticos Unidades organizativas / empresas
Siempre hay que intentar independizar los actores de la forma en que se interacta con el sistema. Por ejemplo: un teclado no es un actor en la mayor parte de los casos, slo un medio para introducir informacin al sistema.

Anlisis Estructurado Prof. Ariel Solovey 4

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Inters de los actores en los casos de uso

Identificar el inters de los actores por los casos de uso permite: Priorizar el desarrol o de unos casos respecto a otros Planificar mejor las iteraciones Reconocer los usuarios con los que tenemos que trabajar para desarrollar los casos de uso.

Roles Un actor en un diagrama de casos de uso representa un rol que alguien puede estar jugando, no un individuo particular. Por tanto puede haber personas particulares que puedan estar usando el sistema de formas diferentes en diferentes ocasiones: socio de biblioteca y bibliotecario.

Anlisis Estructurado Prof. Ariel Solovey 5

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Ms sobre los casos de uso Deben especificar un comportamiento deseado... ...PERO no imponer cmo se llevar a cabo ese comportamiento. (deben decir QU, pero no CMO) Una forma de realizar esto son los escenarios

Anlisis Estructurado Prof. Ariel Solovey 6

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Anlisis Estructurado Prof. Ariel Solovey 7

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Anlisis Estructurado Prof. Ariel Solovey 8

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Las extensiones tienen algunas de las siguientes caractersticas: 1. Representan una parte de la funcionalidad del caso que no siempre ocurre. 2. Son casos de usos en s mismos. 3. No necesariamente provienen de un error o excepcin. Con esto se intenta decir por ejemplo, el caso de ir a cenar a un restaurant. Tomar el caf despus de cenar sera en ejemplo de extensin, del caso de uso (pedir la cena).

Anlisis Estructurado Prof. Ariel Solovey 9

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Casos de Uso Temporales


Los casos de uso tienen un actor que los inicia, y uno o ms actores que participan de l. En muchos casos, el inicio de una determinada funcionalidad del sistema es provocado exclusivamente por el paso del tiempo.

Supongamos que nuestro sistema de ventas debe generar en forma automtica un conjunto de estadsticas para ser entregadas al directorio de la empresa el ltimo da hbil de cada mes. En este caso, el paso del tiempo es el que inicia el caso de uso, y el directorio es el actor del sistema. Sin embargo, para expresar claramente que es el paso del tiempo el que inicia el caso, podemos incluir un smbolo representando un reloj en el grfico de casos de uso, o usar una lnea punteada en el borde del valo del caso.

Anlisis Estructurado Prof. Ariel Solovey 10

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Preguntas y Respuestas
Qu son los Casos de Uso?
Los casos de uso son una tcnica para especificar el comportamiento de un sistema: Un caso de uso es una secuencia de interacciones entre un sistema y alguien o algo que usa alguno de sus servicios. Todo sistema de software ofrece a su entorno aquellos que lo usan una serie de servicios. Un caso de uso es una forma de expresar cmo alguien o algo externo a un sistema lo usa. Cuando decimos alguien o algo hacemos referencia a que los sistemas son usados no slo por personas, sino tambin por otros sistemas de hardware y software. Por ejemplo, un sistema de ventas, si pretende tener xito, debe ofrecer un servicio para ingresar un nuevo pedido de un cliente. Cuando un usuario accede a este servicio, podemos decir que est ejecutando el caso de uso ingresando pedido.

Actores
Un actor es una agrupacin uniforme de personas, sistemas o mquinas que interactan con el sistema que estamos construyendo de la misma forma. Por ejemplo, para una empresa que recibe pedidos en forma telefnica, todos los operadores que reciban pedidos y los ingresen en un sistema de ventas, si pueden hacer las mismas cosas con el sistema, son considerados un nico actor: Empleado de Ventas. Los actores son externos al sistema que vamos a desarrollar. Por lo tanto, al identificar actores estamos empezando a delimitar el sistema, y a definir su alcance. Definir el alcance del sistema debe ser el primer objetivo de todo analista, ya que un proyecto sin alcance definido nunca podr alcanzar sus objetivos. 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, cuando usa el sistema, asume un rol. De esta forma, un usuario puede acceder al sistema como distintos actores. La forma ms simple de entender esto es pensar en perfiles de usuario de un sistema operativo. Una misma persona puede acceder al sistema con distintos perfiles, que le permiten hacer cosas distintas. Los perfiles son en este caso equivalentes a los actores. Otro sistema que interacta con el que estamos construyendo tambin es un actor. Por ejemplo, si nuestro sistema deber generar asientos contables para ser procesados por el sistema de contabilidad, este ltimo sistema ser un actor, que usa los servicios de nuestro sistema. Tambin puede ocurrir que el actor sea una mquina, en el caso en que el software controle sus movimientos, o sea operado por una mquina. Por ejemplo, si estamos construyendo un sistema para mover el brazo de un robot, el hardware del robot ser un actor, asumiendo que dentro de nuestro sistema estn las rutinas de bajo nivel que controlan al hardware.

Anlisis Estructurado Prof. Ariel Solovey 11

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Modularizacin de Casos de Uso


Se puede organizar una especificacin que utiliza casos de uso para evitar redundancia (duplicacin innecesaria de informacin) y facilitar su comprensin. Relaciones de Extensin Muchas veces, la funcionalidad de un caso de uso incluye un conjunto de pasos que ocurren slo en algunas oportunidades. Supongamos que estamos especificando un sistema en el cual los clientes pueden ingresar pedidos interactivamente, y que dentro de la funcionalidad del ingreso de pedidos el usuario puede solicitar al sistema que le haga una presentacin sobre los nuevos productos disponibles, sus caractersticas y sus precios. En este caso, tengo una excepcin dentro del caso de uso Ingresando Pedido. La excepcin consiste en interrumpir el caso de uso y pasar a ejecutar el caso de uso Revisando Presentacin de Nuevos Productos. En este caso decimos que el caso de uso Revisando Presentacin de Nuevos Productos extiende el caso de uso Ingresando pedido y se representa por una lnea de trazos desde el caso que extiende a al caso que es extendido.

Anlisis Estructurado Prof. Ariel Solovey 12

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Relaciones de Uso Es comn que la misma funcionalidad del sistema sea accedida a partir de varios casos de uso. Por ejemplo, la funcionalidad de buscar un producto puede ser accedida desde el ingreso de pedidos, desde las consultas de productos, o desde los reportes de ventas por producto. Cmo hago para no repetir el texto de esta funcionalidad en todos los casos de uso que la acceden? La respuesta es simple: sacando esta funcionalidad a un nuevo caso de uso, que es usado por los casos de los cuales fue sacada. Este tipo de relaciones se llama relaciones de uso y se representa por una lnea punteada desde el caso que usa a al caso que es usado. Decimos, por ejemplo, que el caso de uso Obteniendo reporte de ventas por producto usa al caso de uso Buscando producto.

Anlisis Estructurado Prof. Ariel Solovey 13

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

El Proceso de Anlisis de Requerimientos con Casos de Uso


Pasos a seguir para aplicar la tcnica de anlisis de requerimientos con casos de uso.

Identificar los Actores Si la primera pregunta que un analista debe hacer a sus usuarios es Para qu es este sistema?, la segunda es claramente Para quines es este sistema? Como mencionamos al hablar sobre los actores, identificar a todos ellos es crtico para un buen anlisis de requerimientos. Por lo tanto, antes de avanzar con los casos de uso, debo tratar de identificar todos los tipos de usuario diferentes que tiene el sistema. Si el sistema funcionar en una empresa, debo preguntar cules de las reas afectadas usarn o actualizarn su informacin. A pesar de hacer una identificacin inicial de los actores, tambin debo repetirla a medida que empiezo a describir los casos de uso, ya que al conocer ms detalles del sistema pueden aparecer nuevos tipos de usuarios.

Identificar los Principales Casos de uso de Cada Actor El siguiente paso es enunciar los nombres de los principales casos de uso de cada uno de los actores que identifiqu en el paso anterior. No es necesario especificar cules son las acciones dentro del caso de uso. Tampoco debo preocuparme si no aparecen muchos casos, ya que existen tcnicas para encontrar nuevos casos de uso a partir de los existentes.

Identificar Nuevos Casos a Partir de los Existentes Uno de los principales errores que se pueden cometer al identificar requerimientos es algo que parece obvio, pero que muchas veces ocurre: olvidarse de algn requerimiento! Como los requerimientos estn en la cabeza de los usuarios, el xito de esta tarea depende de la habilidad del analista. Para ayudarnos a identificar nuevos casos de uso a partir de los casos existentes, podemos aplicar las mismas tcnicas utilizadas para identificar eventos segn el anlisis estructurado. Esta tcnica se basa en el anlisis de cuatro situaciones posibles a partir de los requerimientos ya identificados.

Anlisis Estructurado Prof. Ariel Solovey 14

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Anlisis Estructurado Prof. Ariel Solovey 15

Analista de Sistemas de Computacin Escuela Superior de Comercio N 49 Cap. Gral Justo Jos de Urquizas

Anlisis Estructurado Prof. Ariel Solovey 16