Professional Documents
Culture Documents
En alianza con
Colombia
Sistema: el sistema en un caso de uso, describe la frontera entre los actores (externos a la
aplicacin) y las funcionalidades y casos de uso (internos a la aplicacin). Es una manera de
diferenciar los dos mundos y especificar, de una manera ms clara, las relaciones entre ellos.
Representa la distincin bsica entre aquello que pertenece a la aplicacin o sistema que se
est modelando y aquello que interacta con el sistema desde el mundo exterior, y a travs
de qu interfaces se lleva a cabo dicha interaccin. En aras de mantener la simplicidad del
diagrama y la claridad en la representacin de los elementos que lo constituyen, se trata
simplemente de un rectngulo con el nombre del sistema como etiqueta, o de manera ms
simple an, con la palabra Sistema o System como identificador. La eleccin de una u otra
opcin depende en muchos de los casos de la herramienta particular que se est utilizando
para la elaboracin del diagrama. En el caso del ejemplo la herramienta utilizada, StarUML1,
automticamente asigna la etiqueta al elemento.
Actor: el actor en un caso de uso, representa a una persona, sistema, o en general, al ente
que participa en el desarrollo del caso de uso (inicindolo en la mayor parte de las
ocasiones) y que tiene inters en que su finalizacin sea exitosa. En su forma ms sencilla, son
los usuarios del sistema. Sin embargo, es vlido y necesario hacer algunas anotaciones al
respecto:
Los usuarios representados por los actores de un caso de uso son en realidad
definidos por los roles de las personas que interactan con el software. No debe
caerse en la tentacin de asumir que cada persona debe tener un actor asociado.
Juan, Mara, el cajero de la caja # 1, el cajero de la caja #4 no son actores
identificados de manera adecuada. Cliente, cajero, supervisor, estibador, son actores
1
HerramientagratuitaopensourceparalaelaboracindediagramasUML.Puededescargarseen
http://staruml.sourceforge.net/en/
En alianza con
Colombia
que tienen sentido dentro del contexto de un caso de uso. Pensar de esta manera,
permite mantener el foco del proceso en cmo se usar la aplicacin, en lugar de
atarse a la estructura particular de la compaa o las personas que utilizarn el
software.
En lnea con lo anterior y a manera de refuerzo, es importante notar que una persona
dada puede, en diferentes momentos, desempear varios roles dentro de la
interaccin con el sistema. Es por esto que es importante definir los actores desde
esta perspectiva, pues de lo contrario, funcionalidades y capacidades seran
agrupadas por personas y no por perfiles o roles, causando confusin y dificulta al
interpretar la funcionalidad del sistema.
Los actores no tienen por qu ser personas. En muchas ocasiones, las aplicaciones
pueden interactuar con otras aplicaciones, sistemas, o dispositivos fsicos, ubicados
todos fuera de las fronteras del sistema que se est modelando a travs del
diagrama de casos de uso. En este caso, cada uno de estos elementos externos que
interactan con la aplicacin es un actor. En la Figura 2 se presentan ejemplos de
distintos tipos de actores. Ntese que las interacciones de los actores con el sistema
vienen definidas por su tipo. El cajero puede disparar funcionalidades a travs de la
interaccin con la interfaz grfica de la aplicacin, mientras que el software de
contabilidad y el robot explorador se comunicarn a travs de flujos de datos
definidos, recibidos a travs de otro tipo de interfaces.
Caso de uso: identifica los objetivos que el sistema debe cumplir, a travs de funcionalidades
bsicas e importantes del mismo. La suma de estas funcionalidades resultan en el cumplimiento
de los requerimientos definidos por, y para los usuarios. De la misma manera, el no cumplir
alguna de estas funcionalidades implica la carencia, en el sistema, de una parte
imprescindible de su funcionalidad esperada. Es necesario tener en cuenta, sin embargo, que
un diagrama de casos de uso describe qu debe hacer el sistema, pero sin preocuparse por
cmo lo conseguir. El foco est en los objetivos, no en los procesos (la descripcin interna
de cada caso de uso est ms orientada a esto ltimo). De la misma forma, los casos de uso
describen las funcionalidades que son visibles, tiles y significativas para los usuarios que
interactan con el sistema. Igualmente, es posible y de hecho sencillo determinar y
documentar el alcance del sistema de una manera altamente legible, lo que facilita no solo la
estimacin de tiempo, esfuerzo y trabajo sino tambin, la comunicacin con el cliente.
En trminos de nomenclatura, usualmente se sugiere utilizar una frase que gire alrededor de un
verbo para nombrar los casos de uso. De una manera que no difiere mucho de la utilizada
para nombrar los mtodos de un programa de software. De esta forma, se refuerza la
En alianza con
Colombia
Caso de Uso 1
Actor
Caso de Uso 2
En alianza con
Colombia
Esta situacin puede presentarse principalmente en dos casos: el primero, implica que
ya exista un caso de uso que describe una funcionalidad determinada. Entonces, en
lugar de reescribir los procesos descritos por dicho caso de uso, se usa una relacin
de tipo <<include>> desde el caso de uso que se requiera. La segunda, tiene que
ver con el concepto de reutilizacin. Si varios casos de uso requieren llevar a cabo la
misma secuencia de pasos, resulta mucho ms eficiente crear un caso de uso que
contenga dichos pasos y utilizar relaciones<<include>>, desde todos los casos de
uso que requieran utilizarlo.
En el ejemplo que se presenta en la figura siguiente, para que el actor (un cajero)
pueda realizar, de manera adecuada, la secuencia descrita por el caso de uso
Registrar compra, es necesario que se complete de manera adecuada el caso de
uso Actualizar inventario. De esta manera, existe una relacin de tipo <<include>>
en la que el caso de uso Registrar compra incluye al caso de uso Actualizar
inventario. El primero requiere de la funcionalidad descrita por el segundo para
finalizar de manera adecuada.
<<include>>
Registrar compra Actualizar inventario
Cajero
En alianza con
Colombia
acumulados. En este ejemplo, el caso de uso base, Registrar compra, puede cumplir
sus objetivos de manera independiente, sin que esto implique la ejecucin del caso
de uso que lo extiende, Registrar puntos acumulados. Sin embargo, bajo ciertas
circunstancias (el cliente que realiza la compra est afiliado al plan de puntos del
almacn) puede ser necesario invocar el caso de uso Registrar puntos acumulados.
En esta situacin, la funcionalidad del caso de uso base se ve aumentada o
extendida por el caso de uso con quien mantiene la relacin <<extend>>.
<<include>>
Registrar compra Actualizar inventario
Cajero
<<extend>>
Generalizacin/herencia: la generalizacin define una relacin que existe entre dos casos
de uso o incluso dos actores, que es semejante a la herencia entre dos clases. Uno de los
elementos recibe o hereda caractersticas del otro, pudiendo cambiarlas o agregando las
suyas propias sobre la base existente. Su utilizacin, al igual que el uso de la herencia en la
programacin orientada por objetos, busca no tener que redefinir propiedades o
caractersticas en un caso de uso o actor, cuando dichas propiedades o caractersticas
pueden ser apropiadas de otros actores o casos de uso que ya han sido definidas.
En la figura que se muestra luego de este prrafo, se representa una relacin de
generalizacin entre los casos de uso Registrar compra y Registrar compra con tarjeta de
crdito. El segundo describe la implementacin de un requerimiento ms detallado que el
primero, a pesar de que se apoya y ampla el caso de uso inicial.
En alianza con
Colombia
<<include>>
Registrar compra Actualizar inventario
Cajero
<<extend>>
En alianza con
Colombia