fundamentos y discusión sobre casos de uso

10
Universidad Tecnológica Nacional Profesor: lic. Rubén Fernández Iriart Facultad Regional Buenos Aires Cátedra: Diseño de Sistemas curso 3002 Material de Cátedra Profesor: Lic. Rubén Fernández Iriart CPCI nro. Reg. 0001 CPCIBA MP0700 1 2.1 Casos de Uso. 2.1.1. Definición. Es una unidad coherente de funcionalidad que lleva adelante un clasificador, (sistema, subsistema, colaboración entre clases, clase), tal como lo manifiestan las secuencias de mensajes que se intercambian entre un sistema y uno o más usuarios externos, teniendo como propósito definir un cierto comportamiento, propio de un servicio, haciendo énfasis en la visión que tiene el usuario, sobre la funcionalidad requerida. Los Casos de Uso, ocultan, particularmente, la estructura y comportamiento interna del clasificador; los diagramas dinámicos e interactivos propios de UML, (secuencia, de estados, de comunicación o colaboración), se encargan de la especificación funcional requerida dentro del clasificador. 2.1.2. Características y relaciones del clasificador. 2.1.2.1. Características 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 operación 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 ejecución de una operación puede estar asociada con la recepción de un mensaje del actor. Las operaciones actúan 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. Además, 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 interactúan 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

Upload: joshua

Post on 12-Sep-2015

217 views

Category:

Documents


4 download

DESCRIPTION

UML-CASOS DE USO

TRANSCRIPT

  • 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