Professional Documents
Culture Documents
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. Los actores se
representan con dibujos simplificados de personas, llamados en ingls stick man
(hombres de palo).
distintos actores, si realizan tareas distintas). Todos los actores participan de los
casos de uso. Ahora bien, es lgico que existan intersecciones entre lo que hacen
los distintos actores. Por ejemplo, un supervisor puede autorizar pedidos, pero
tambin puede ingresarlos.
Es importante notar que el nombre del caso siempre est expresado desde el
punto de vista del actor y no desde el punto de vista del sistema. Por eso el
segundo caso de uso se llama Recibiendo informacin de pedidos y no
Generando informacin de pedidos. Los casos de uso tienen las siguientes
caractersticas:
1) Estn expresados desde el punto de vista del actor.
2) Se documentan con texto informal.
3) Describen tanto lo que hace el actor como lo que hace el sistema cuando
interacta con l, aunque el nfasis est puesto en la interaccin.
4) Son iniciados por un nico actor.
5) Estn acotados al uso de una determinada funcionalidad claramente
diferenciada del sistema. El ltimo punto es tal vez el ms difcil de definir. Uno
podra, despus de todo, decir que todo sistema tiene un nico caso de uso
Usando el Sistema. Sin embargo, la especificacin resultante sera de poca
utilidad para entenderlo; sera como implementar un gran sistema escribiendo un
nico programa. La pregunta importante es: Qu es una funcionalidad
claramente diferenciada? Por ejemplo, ingresar pedidos es un caso de uso y
autorizarlos es otro? Cancelar los pedidos, es otro caso de uso, o es parte del
caso de uso referido al ingreso de pedidos? Si bien se pueden encontrar
argumentos vlidos para cualquiera de las dos alternativas, en principio la
respuesta a todas estas preguntas es que son todos casos de uso distintos.
Lamentablemente, si en la programacin los criterios para dividir la funcionalidad
en programas suelen ser difusos, los criterios para dividir la funcionalidad de un
sistema en casos de uso son an ms difusos, y por esto se hace importante usar
el sentido comn en estas decisiones.
Restricciones, Requisitos y Escenarios
Requisitos.
Son los requisitos funcionales formales que el Caso de Uso debe proveer al
usuario final. Ellos corresponden a las especificaciones funcionales de las
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.
Un actor representa un conjunto coherente de roles que los usuarios de los casos
de uso juegan al interactuar con estos. Normalmente, un actor representa un rol
que es realizado por una persona, un dispositivo hardware o incluso otro sistema
al interactuar con nuestro sistema. Se pueden definir categoras generales de
actores (como Lector) y especializarlos (como Estudiante) a travs de relaciones
de generalizacin.
Modelado de los Requisitos de un Sistema
Los requisitos se pueden expresar de varias formas, desde texto sin estructura
hasta expresiones en un lenguaje formal, y en cualquier otra forma intermedia. La
mayora de los requisitos funcionales de un sistema, si no todos, se pueden
expresar con casos de uso, y los diagramas de casos de uso son fundamentales
para manejar esos requisitos.
Para modelar los requisitos de un sistema:
Hay que identificar el contexto del sistema, identificando los actores a su alrededor
Gestin de Consultas- Lector-Gestin de Prstamos-Gestin de Mantenimiento de
Libros-Gestin de Devoluciones-Sistema de Gestin de Biblioteca-EncargadoUsuario.
Caso de uso: Ingresando Bsqueda
Actor: Usuario Biblioteca o Encargado de Biblioteca.
Curso Normal
Alternativas
1 El usuario se comunica con el
sistema y le pide sus preferencias.
2 el sistema obtiene la informacin Si no hay disponibilidad el sistema
mostrando el estado y la disponibilidad. indica cuando est disponible.
3 El usuario realiza la seleccin del
material.
4 El sistema asigna el material.
5 El Encargado entrega material
6 El sistema repite el paso 2
Considerar el comportamiento que cada actor espera del sistema o requiere que
ste le proporcione.
Nombrar esos comportamientos comunes como casos de uso.
Factorizar el comportamiento comn en nuevos casos de uso que puedan ser
utilizados por otros; hay que factorizar el comportamiento variante en nuevos
casos de uso que extiendan los flujos principales.
Modelar esos casos de uso, actores y relaciones en un diagrama de casos de
uso. Adornar esos casos de usos con notas que enuncien los requisitos no
funcionales.
La figura muestra un diagrama de casos de uso. Aunque omite algunas de las
relaciones entre los actores y los casos de uso como as tambin entre casos de
Bibliografia.
Ivar Jacobson y otros. Object Oriented Software Engineering. A Use Case Driven
Approach.
Addison Wesley, 1992
Doug Rosenberg with Kendall Scott, Use Case Driven Object Modeling with UML.
ISBN: 0-201-43289-7. Publisher:
Addison-Wesley Geri Scheider, Jason P. Winters, Applying Use Cases ISBN: 0201-30981-5. Publisher: Addison-Wesley