fundamentos y discusión sobre casos de uso
DESCRIPTION
UML-CASOS DE USOTRANSCRIPT
-
Universidad Tecnolgica Nacional Profesor: lic. Rubn Fernndez Iriart
Facultad Regional Buenos Aires
Ctedra: Diseo de Sistemas curso 3002 Material de Ctedra
Profesor: Lic. Rubn Fernndez Iriart CPCI nro. Reg. 0001 CPCIBA MP0700
1
2.1 Casos de Uso.
2.1.1. Definicin. Es una unidad coherente de funcionalidad que lleva adelante un clasificador, (sistema, subsistema, colaboracin entre clases, clase), tal como
lo manifiestan las secuencias de mensajes que se intercambian entre un sistema
y uno o ms usuarios externos, teniendo como propsito definir un cierto
comportamiento, propio de un servicio, haciendo nfasis en la visin que tiene
el usuario, sobre la funcionalidad requerida.
Los Casos de Uso, ocultan, particularmente, la estructura y comportamiento
interna del clasificador; los diagramas dinmicos e interactivos propios de
UML, (secuencia, de estados, de comunicacin o colaboracin), se encargan de la
especificacin funcional requerida dentro del clasificador.
2.1.2. Caractersticas y relaciones del clasificador.
2.1.2.1. Caractersticas de clasificador. Un Caso de Uso es un
clasificador y por lo tanto tiene atributos y operaciones. Los atributos se
utilizan para representar el estado del Caso de Uso es decir, el progreso de lo que se est llevando a cabo en l. Una operacin representa una
pieza de trabajo de lo que el Caso de Uso puede realizar, la cual no es
directamente accesible desde el exterior, pero describe el efecto del Caso
de Uso en el sistema. La ejecucin de una operacin puede estar
asociada con la recepcin de un mensaje del actor. Las operaciones actan
sobre los atributos del Caso de Uso e indirectamente en el sistema o
clases que el Caso de Uso incluye.[99]
Los distintos actores, representan a los distintos Usuarios, y sus roles
determinados, (Diagramador y Encargado de Ventas de Entradas). Ver
figura 02. Adems, ambos roles son excluyentes, que cada usuario puede
representar cada uno de los roles, dentro de una USN. Un actor puede ser
un dispositivo de Hardware, u otro sistema, y en cualquiera de sus
versiones interactan con el clasificador o Caso de Uso.
En la figura 02, vemos que existen dos roles diferentes de usuario, y unos
de ellos, (Diagramador), est habilitado para operar distintos Casos de
-
Universidad Tecnolgica Nacional Profesor: lic. Rubn Fernndez Iriart
Facultad Regional Buenos Aires
Ctedra: Diseo de Sistemas curso 3002 Material de Ctedra
Profesor: Lic. Rubn Fernndez Iriart CPCI nro. Reg. 0001 CPCIBA MP0700
2
Uso, Metas o Unidades Semnticas de Navegacin, a saber:Generar Diagramacin de Festivales, ABM de Bandas Musicales, Registrar Precios de Entrada , y Actualizar disponibilidad de Butacas.
2.1.2.2. Relaciones: En una relacin entre Caso de Uso y Actor, siempre
se da el tipo de relacin llamada Asociacin. Donde una instancia del
Actor se comunica con una instancia operativa del Caso de Uso.
(Multiplicidad 1 a 1). En una Asociacin siempre hay interaccin entre el
clasificador y el actor. Figura 02
En la dependencia vemos como el estereotipo Include, carece de intervencin del Actor, mientras que en el estereotipo Extend siempre est presente. En la generalizacin est presente siempre que el padre
mantenga una relacin de Asociacin con un Actor, o tambin, si
mantiene una relacin de estereotipo Extend. Figura 02.
Figura 02. Varias USN expresadas como Casos de Uso.
uc Primary Use Cases
USN Generar
Diagramacion de
Festiv ales
Diagramador
USN ABM de Bandas
Musicales
ValidarFecha
USN Actualizar
Disponibilidad de
Butacas
USN Encargado de
Ventas de Entradas
USN Ventas de
Entradas Festiv al
Venta Estudiantes
Venta Jubilados
Venta Normal
Distintos Usuarios con
distintas funciones
(USN) habilitadas.
asociacion
asociacion extend
include
asociacion
asociacion
-
Universidad Tecnolgica Nacional Profesor: lic. Rubn Fernndez Iriart
Facultad Regional Buenos Aires
Ctedra: Diseo de Sistemas curso 3002 Material de Ctedra
Profesor: Lic. Rubn Fernndez Iriart CPCI nro. Reg. 0001 CPCIBA MP0700
3
2.1.3. Dependencia con Inclusin.
2.1.3.1. Caso de Uso Incluido. En la dependencia, una inclusin, est
representada por cmo los Casos de Uso destino o includo, (ej.: ValidarFecha en figura 02), es includo en forma implcita, por el Caso de Uso base Generar Diagramacin de Festival. Su estereotipo utilizado es include.
2.1.3.1.1. Comportamiento y Atributos. El Caso de Uso base puede ver
la inclusin y sta incrementa el comportamiento del Caso de Uso base; El
Caso de Uso base no debe acceder a los atributos del Caso de Uso incluido,
en funcin de que ste, debe en su estado, permanecer inalterable, ya que
puede ser incluido por mltiples Casos de Uso base y s, el Caso de Uso
incluido puede acceder a los atributos y operaciones del Caso de Uso base.
El Caso de Uso incluido no es un clasificador instanciable, y su
comportamiento puede insertarse en la instancia de un Caso de Uso base.
Adems mltiples Casos de Uso base pueden incluir el comportamiento del
Caso de Uso incluido, y un Caso de Uso base puede incluir a distintos Casos
de Uso incluidos.
En la Figura 03, el comportamiento del Caso de Uso ValidarFecha es incluido por el Caso de Uso base Generar Diagramacin de Festival como una funcin restringida y sin interacciones con ningn actor.
Figura 03. Caso de Uso ValidarFecha como Caso de Uso Incluido.
2.1.3.1.2. Actores, Caso de Uso Incluido y Funcionalidad
Restringida. Hasta aqu hemos considerado al Caso de Uso incluido como
un comportamiento en el cual no intervienen actores. Si bien los creadores
del UML, en su libro base, nada especifican si el Caso de Uso incluido,
pudiera o no tener interaccin con un actor.
uc Diagramador
Generar
Diagramacion de
Festiv al
ValidarFecha
include
-
Universidad Tecnolgica Nacional Profesor: lic. Rubn Fernndez Iriart
Facultad Regional Buenos Aires
Ctedra: Diseo de Sistemas curso 3002 Material de Ctedra
Profesor: Lic. Rubn Fernndez Iriart CPCI nro. Reg. 0001 CPCIBA MP0700
4
Las caractersticas propias de una funcionalidad restringida tipo funcin,
que realiza un especfico clculo computacional o servicio, que puede ser
incorporados por varios Caso de Uso base, como si fuera, una funcionalidad
utilitariamente utilizada, generalmente siempre ha sido mostrada sin
actores, podemos inferir la no presencia de actores como una normalidad
dentro de la funcionalidad de un Caso de Uso incluido. Planteamos en el
presente trabajo, que el comportamiento del Caso de Uso incluido est
ausente de actores.
Esta funcionalidad cohesiva, especfica, encapsulada; es el comportamiento
de una o varias responsabilidades especficas encapsuladas en un Caso de
Uso; responde adecuadamente al concepto de delegacin; un
comportamiento delegado est en un Caso de Uso incluido, para ser
tomado incrementando el comportamiento del Caso de Uso Base,
(tomador).
Luego si an se insistiera en la posible existencia de un actor con el Caso
de Uso incluido ValidarFecha, ste junto al actor construiran una nueva relacin, constituida por el comportamiento del Caso de Uso incluido ms
el incremento del comportamiento de la interaccin con el actor; todo este
nuevo comportamiento debiera ser incrementado al Caso de Uso base
Generar Diagramacin de Festival. Figura 04.
Figura 04. Posible y no considerado en el presente trabajo: la Inclusin con
Actor.
2.1.3.1.3. Caso de Uso Incluido como base de una extensin, de
una inclusin y una generalizacin. Una inclusin puede
servir de base para otra inclusin, extensin o generalizacin.
Figura 05.
uc Diagramador
Generar
Diagramacion de
Festival
ValidarFecha
ActorExtra
include
-
Universidad Tecnolgica Nacional Profesor: lic. Rubn Fernndez Iriart
Facultad Regional Buenos Aires
Ctedra: Diseo de Sistemas curso 3002 Material de Ctedra
Profesor: Lic. Rubn Fernndez Iriart CPCI nro. Reg. 0001 CPCIBA MP0700
5
Figura 05. Una Inclusin como base para una Extensin, para otra Inclusin, y
una Generalizacin.
2.1.4. Dependencia con Extencin.
2.1.4.1. Caso de Uso Extensor. En la Dependencia, una extensin, est
representada por la relacin entre el Caso de Uso base y el Caso de Uso
extensor; la relacin se define en base a cmo insertar el comportamiento
del Caso de Uso extensor, al Caso de Uso base, incrementando a ste su
comportamiento, de forma modular. Su estereotipo utilizado es Extend.
2.1.4.1.1. Opcionalidad. El Caso de Uso extensor no necesariamente es
un clasificador instanciable; los Casos de Uso extensor deben ser
observados como opcionales por parte del usuario, y estos opcionales reemplazarn en localizaciones bien determinadas del sistema obligatorio,
(Caso de uso Base).
2.1.4.1.2. Estructura. La estructura de Caso de Uso extensor, consiste
en uno o ms segmentos de secuencias de comportamiento posibles de
serle incrementado al Caso de Uso base, en distintas localizaciones de ste.
2.1.4.1.3. SubFlujos. El Caso de uso extensor puede ser usado para
modelar subflujos distintos, que sern slo procesados bajo determinadas
condiciones especficas para cada Caso de Uso extensor en especial, y
estas ciertas condiciones especficas generalmente sern determinadas por
el usuario.
2.1.4.1.4. Referencia. El Caso de Uso extensor se referencia en el
Caso de Uso base, (en los puntos de extensin del Caso de Uso base).
uc Diagramador
Diagramador
Generar
Diagramacion de
Festiv al
ValidarFecha
Validar
TipoFormato1Validar TipoFormato2
Traduccion
deFormatos
Calendarios
asociacion
includeextend
include
-
Universidad Tecnolgica Nacional Profesor: lic. Rubn Fernndez Iriart
Facultad Regional Buenos Aires
Ctedra: Diseo de Sistemas curso 3002 Material de Ctedra
Profesor: Lic. Rubn Fernndez Iriart CPCI nro. Reg. 0001 CPCIBA MP0700
6
2.1.4.1.5. Ejecucin. El Caso de Uso extensor, desde el nico o
alguno de los segmentos que contiene, puede rutear directamente o tener condiciones que determinarn la ejecucin de una extensin que est
o estn ubicadas en el Caso de Uso extensin y debiendo haber en el Caso
de Uso base, tantos puntos de extensin, como segmentos de insercin
tenga el Caso de Uso extensor; cada segmento del Caso de Uso extensor,
es el comportamiento que agrega al Caso de Uso base.
En cada una de estas localizaciones del Caso de Uso base, se debe definir
cul es el segmento que se desea que incremente el comportamiento al
Caso de Uso base.
Observando el Caso de Uso base, el comportamiento de la instancia del
Caso de Uso base, pasa el control a la secuencia de comportamiento del
segmento del Caso de Uso extensor. Una vez, que el segmento del Caso de
Uso extensor, mediante su ejecucin, increment el comportamiento del
Caso de Uso base, el control vuelve al punto de referencia del Caso de Uso
base.
Se puede aplicar mltiples Caso de Uso extensor al mismo Caso de Uso
Base y cada Caso de Uso extensor se insertar en una Localizacin
diferente del Caso de Uso Base.
Puede existir que varios Casos de Uso extensor que extienden
comportamiento del Caso de Uso base en un mismo punto, por lo tanto su
ejecucin extender el Caso de Uso base segn del Caso de Uso extensor
de que se trate, y no se puede determinar con anterioridad, (este caso no
es determinstico).
2.1.4.1.6. Caso de Uso Extensor como base de una extensin, de
una inclusin y una generalizacin. Los Casos de Uso extensor, (ABM
de Bandas Musicales, en este caso), puede ser el Caso de Uso base en una
relacin de extensin, inclusin o generalizacin. Figura 06.
-
Universidad Tecnolgica Nacional Profesor: lic. Rubn Fernndez Iriart
Facultad Regional Buenos Aires
Ctedra: Diseo de Sistemas curso 3002 Material de Ctedra
Profesor: Lic. Rubn Fernndez Iriart CPCI nro. Reg. 0001 CPCIBA MP0700
7
Figura 06. Caso de Uso Extensor usado como base para una nueva extensin,
una Inclusin, y una Generalizacin.
2.1.4.1.7. Actores. En la relacin de extensin, siempre un actor juega un
papel explcitamente decisorio sobre qu Caso de Uso extensor desea
extender el comportamiento del Caso de Uso base. A diferencia con el
include, que no mantena una interaccin con el actor, en el Extend, la interaccin con el usuario siempre est.
En nuestro ejemplo, una instancia del Caso de Uso base Generar Diagramacin de Festival, extiende, (adquiere comportamiento), su comportamiento con el Caso de Uso extensor ABM de BandasMusicales. La extensin sucede cuando el Diagramador (Actor), consciente de que en el archivo de Bandas Musicales, no se encuentran las bandas que necesita
integrar en la diagramacin, apela a dar nuevas altas y satisfacer la necesidad
de diagramacin. Tambin podra modificar datos de bandas existentes y dar
de baja otras. Figura 07.
uc Diagramador
Diagramador
Generar
Diagramacion de
Festiv al
ValidarFecha
ABMde
BandasMusicales
Bandas Musicales
Extranjeras Bandas Musicales
Nativ as
ObtenerHistorial
Bandas
asociacion
asociacin
includeextend
include
extend
-
Universidad Tecnolgica Nacional Profesor: lic. Rubn Fernndez Iriart
Facultad Regional Buenos Aires
Ctedra: Diseo de Sistemas curso 3002 Material de Ctedra
Profesor: Lic. Rubn Fernndez Iriart CPCI nro. Reg. 0001 CPCIBA MP0700
8
Figura 07. USN Generar Diagramacin con posible extensin con USN ABM de
Bandas Musicales.
Contrariamente a lo que suceda bajo el concepto de Include, en el Extend el actor siempre est presente, por lo tanto al comportamiento del Caso de
uso base Generar Diagramacin de Festival, no slo se agrega el Caso de Uso extensor sino tambin la interaccin que el mismo involucra. Figura 07.
Al comportamiento del Caso de uso base se le agrega comportamiento del
Caso de Uso extensor, ms el comportamiento resultante de la interaccin
ante la aparicin del actor, resultando una cantidad mayor de
comportamiento. Luego..
Si a cosas iguales se aaden cosas iguales, los totales son iguales [99]
Para verificar que siempre hablamos de comportamiento, dispongamos
unidades de cantidad de comportamiento; llammosle ucc y veamos:
Si C1 = comportamiento del Caso de Uso base = 100 ucc,
Si C2 = comportamiento del Caso de Uso extensor = 40 ucc,
Si TNC1 = total nuevo comportamiento del Caso de Uso base = 140 ucc
resulta.
C1 + C2 = TNC1
100 ucc + 40 ucc = 140 ucc
uc Diagramador
Diagramador
Generar
Diagramacion de
Festiv al
ABMde
BandasMusicalesasociacion
asociacin
extend
-
Universidad Tecnolgica Nacional Profesor: lic. Rubn Fernndez Iriart
Facultad Regional Buenos Aires
Ctedra: Diseo de Sistemas curso 3002 Material de Ctedra
Profesor: Lic. Rubn Fernndez Iriart CPCI nro. Reg. 0001 CPCIBA MP0700
9
Si agregamos comportamiento de interaction = CCI = 10 ucc, debemos
agregarlo a ambos trminos de la ecuacin, por lo tanto resulta.
C1 + [ C2 + CCI ] = TNC1 + CCI
100 uc + [40 ucc + 10 ucc] = 140 ucc + 10 ucc
entonces si:
+( + )= + C. de Uso base +(C.UsoExtensor+Interaccin) = TNC1 + Interaccin
= C.de Uso base + (C.de Uso Extensor + interaccin TNC1 + interaccin Figura 08. Aplicacin del 2do. Axioma de Euclides en la existencia de Casos
de Uso Extensor
Conclusin: se cumple el concepto de extensin en una Dependencia,
ms all que en ella se aada nueva interaccin de actor; si bien la cantidad de comportamiento del nuevo Caso de Uso base extendido y el nuevo Todo son mayores a lo originales, no altera el concepto de
Extensin, ya que a cosas iguales, (comportamiento), se ha agregado cosas iguales.
2.1.5. Relacin Generalizacin.
2.1.5.1. Conceptualizacin. En una generalizacin, (los Casos de Uso Hijos,
menos generalizados), agregan estructura y comportamiento al Caso de Uso
padre, (ms generalizado). Los efectos del comportamiento del Caso de Uso
hijo se agregan a los efectos del comportamiento del Caso de Uso padre.
Luego se desprende que los hijos pueden sustituir a los padres. Slo uno de
los hijos puede sustituir al Padre a la vez: Venta Estudiante sustituye al Padre Venta de Entradas al Festival, esto quiere decir que se venden entradas del tipo Estudiantes y NO alguna de otras), esto habla de la
alternancia en la sustitucin de los diferentes hijos que un padre pueda tener.
Los hijos heredan estructura y comportamiento, (atributos y operaciones), y
los comportamientos de los hijos, podran redefinir el comportamiento del
padre. La herencia puede ser de un nico padre, (herencia simple), o de
varios (herencia mltiple). Trataremos slo la herencia simple. Figura 09.
uc Diagramador
Generar
Diagramacion de
Festival
uc Diagramador
Actualizacin de
Bandas Musicales
sd Interaction
Usuario Interface de
Usuario
accion 1(dato 1, 2)
Respuesta Sistema 1()
accion n(dato n)
Respuesta Sistema n()
uc Diagramador
El Todo
sd Interaction
Usuario Interface de
Usuario
accion 1(dato 1, 2)
Respuesta Sistema 1()
accion n(dato n)
Respuesta Sistema n()
-
Universidad Tecnolgica Nacional Profesor: lic. Rubn Fernndez Iriart
Facultad Regional Buenos Aires
Ctedra: Diseo de Sistemas curso 3002 Material de Ctedra
Profesor: Lic. Rubn Fernndez Iriart CPCI nro. Reg. 0001 CPCIBA MP0700
10
Figura 09. Caso de Uso en una relacin de Asociacin, que registra una
Generalizacin.
2.1.5.2. Relaciones. Entre el Caso de Uso padre y el actor Encargado de Ventas de Entradas, existe como relacin una Asociacin; entre Padres e Hijos restantes, una relacin de Generalizacin, figura 09; cada alternancia
entre Padre y cada Hijo, la integracin del comportamiento del Padre/Hijo
compone un Todo; se comporta como un bloque; la interaccin con el
usuario, se maneja desde el Caso de Uso padre. Figura 09.
uc Diagramador
Encargado Ventas de
Entradas
Venta de Entradas al
Festiv al
Venta Estudiantes VentaJubilados VentaNormal