3 Modelo de Casos de Uso

download 3 Modelo de Casos de Uso

of 11

Transcript of 3 Modelo de Casos de Uso

  • 8/17/2019 3 Modelo de Casos de Uso

    1/11

     continuation)

    Los  boletos seran enviados  al cliente posteriormente,

     o

      estaran

     listos para

    ser

      recogidos

      en el

      mostrador

      del

      aeropuerto antes

      de la

      salida

      del pri-

    mer

     vuelo.

    Es  necesario estar previamente registrado

      con un

      numero

      de

      tarjeta

      de

    credito valida para

     poder

     hacer compras

     de

     boletos,

     o de

     lo contrario pro-

    veerla en el momento de la compra.

    Ademas

     de

      los

     servicios de vuelo, el

     usuario

     podra, en cualquier momen-

    to accesar,  modificar o cancelar su propio registro, todo esto  despues  de

    haber sido validado

      en el

     sistema.

    Es  conveniente que el lector note lo informal y

      limitado

      de esta  descripcion,

    que

      se

      refinara

      a lo largo del capitulo. Dado que el modelo de casos de uso

    es el principal de todo el sistema, comenzaremos con el.

    6 2

      Modelo

     de

     casos

     de uso

      modelo de casos de uso  describe  un  sistema  en  terminos  de sus distintas

    formas

      de utilizacion, cada  una de las cuales se  conoce como  un caso de uso

    Cada caso de uso o

      flujo

      se compone  de una secuencia  de  eventos iniciada por

    el usuario. Dado

      que los

     casos

      de uso

     describen

      el

      sistema

      a

      desarrollarse,

      los

    cambios en los requisites

      significaran

      cambios en los casos de

      uso.

     Por

      ejem-

    plo, un caso de uso para  manejar  un automovil seria la secuencia de eventos

    desde que el conductor entra en el coche y enciende el motor hasta llegar a su

    destino  final. Por  tanto, para comprender  los  casos  de uso de un  sistema pri-

    mero es necesario saber quienes son sus usuarios; por ejemplo, conducir un

    automovil es distinto de arreglarlo, pues los usuarios tambien son diferentes: el

    dueno

     del

     automovil

     y el mecanico,

     respectivamente. Para ello

    se

      define

      el

     con-

    cepto

     de  actor, que es el tipo de usuario que esta involucrado en la utilizacion

    de un sistema, y que ademas es una entidad externa al propio sistema. Juntos,

    el  actor y el caso de

      uso,

     representan los dos elementos

      basicos

      de este mo-

    delo,  lo

      cual

      se  muestra  de  manera

      grafica

      en la figura 6.3 de  acuerdo  con la

    notacion

      U M L .

     igur

    6 3

      El actor y el caso de uso son las  entidades

     basicas

    de l modelo de  casos de

     uso

    Los

     casos

      de uso son

      ideas simples

      y practicas  que no

      requieren

      muchas

     habi-

    lidades tecnologicas para

      ser

      utilizadas

      a

      diferencia

      de las

     demas actividades

    del

      desarrollo).

      Por el

      contrario,

      si se

      volvieran

     muy

      complejas

     se

      perderia

      su

    M O D E L O D E CA S O S D E U S O

     

  • 8/17/2019 3 Modelo de Casos de Uso

    2/11

    utilidad.

      Dado

      que el

     modelo

      de  requisites es la

     primera actividad

      del

      desarro-

    llo   del  sistema permite hacer muchos cambios  en su

      especificacion

      sin  afectar

    al  resto del sistema. Cuando se  identifican  y describen

      los

      casos de  uso habra

    ciertas

      imprecisiones que se

      iran

      resolviendo de manera gradual.

      De

      esta ma-

    nera,  se

      pueden desarrollar

     de

      forma  independiente

      los

      distintos casos

      de uso

    para

      despues

      integrarlos

      y

      formar

      el

     modelo

      de  requisites

      completo. Esta habi-

    lidad  de tomar parte de la funcionalidad permite un desarrollo mas flexible in-

    cluso

      concurrente.

    6 2 ctores

      s

     actores  son

      entidades distintas

      a los

      usuarios

    en el

      sentido

      de que

      estos

    son las personas reales que  utilizaran  el sistema mientras que los actores re-

    presentan cierta funcion  que  una persona real

      realiza.

      En la  terminologia orien-

    tada a objetos se considera al actor una

      cl se

     de usuario mientras que los usua-

    rios  se  consideran como  objetos  o  instancias  de esa  clase. Incluso una  misma

    persona puede aparecer como diversas instancias de  diferentes actores.

    Los

     actores

      modelan  cualquier

      entidad externa

      que

      necesite intercambiar

      infor-

    macion con el  sistema.  No

     estan

      restringidos  a ser  personas  fisicas,  por lo que

    pueden

      representar otros sistemas externos  al actual. Lo esencial  es que los ac-

    tores representen entidades externas

      al

      sistema.

      Ademas,

      cada

      uno de  estos

    actores  podra  ejecutar una o mas tareas del sistema.

    Antes

     de

      identificar

      los

     casos

      de

     uso

    se

     identifican

     los

     actores

      del

      sistema

    esto

    es

     para

     que

      estos sean

      la

     herramienta principal

     que

     permita encontrar

      los casos

    de  uso.

     Cada actor ejecuta

      un numero

      especifico

      de

      casos

      de uso en el

      siste-

    m a.

      Una vez  definidos  todos los actores y casos de uso en el sistema se esta-

    blece

      la funcionalidad completa de

      este.

    Encontrar  actores implica  trabajo  y raramente se encuentran todos los actores

    de una

      vez.

     Por

      ejemplo

    un

      sistema

      de computacion

      puede tener diferentes

    tipos de usuarios: programadores operadores administradores o usuarios gene-

    rales. Cada  uno de

      estos

      tipos  de  usuario

      corresponde

      a un  actor diferente  y

    como mencionamos anteriormente una  misma persona

      puede

      desempenar

      la

    funcion  de programador u operador.

    Para

      especificar  los

     actores

     de un

      sistema

    se

      dibuja

      un

      diagrama correspondien-

    te a la delimitacion  del sistema la  cual  representa  al  sistema como  una  caja

    negra ,

      y a los  diferentes actores como entidades externas  a  esta como  se

    muestra

      en la figura

     6.4.

    Figura

     6 4   Delimitacion  e un sistema segun los actores

    C A P .  6 — M O D E L O D E

      R E Q U I S I T O S

  • 8/17/2019 3 Modelo de Casos de Uso

    3/11

    En general, no se describen los actores con demasiado detalle por ser externos

    al

     sistema, ademas

      de que sus

     acciones

     no son

     deterministas;

     en

     otras palabras,

    un actor  — a  diferencia del propio  sistema—  en cada momento

      puede

      decidir

    entre

      multiples opciones. Por otro

      lado,

      el sistema y los casos de  uso  corres-

    pondientes deben

      ser

     deterministas,

     de

      lo contrario,

     el

     sistema

     hara  lo que

      crea

    conveniente,

      lo cual no es

     aceptable.

      Sin

     embargo, para reconocer

      los

     casos

     de

    uso, es necesario

      identificar

      primero a los actores del sistema, comenzando por

    aquellos que son la

      razon

     principal del sistema, conocidos

      como

     actores

     pri

    maries.

      Estos actores tipicamente rigen la secuencia

      logica

      de  ejecucion  del

    sistema. Ademas de los actores primarios, existen actores supervisando y man-

    teniendo el sistema, a los que se

      les  l lama

     actores secundarios y existen pri-

    mordialmente

     como complemento

     a los

     actores primarios, siendo esta distincion

    importante para dedicarle

      el

     esfuerzo principal

     a las

     necesidades

      de los

     actores

    primarios. Al contrario de estos, que tipicamente pertenecen a personas  fisicas,

    los actores secundarios corresponden, por lo general a  maquinas o sistemas ex-

    ternos  estos

      ultimos

      son mas difidles de  identificar .  Los actores secundarios

    tienden a responder a secuencias logicas del sistema y no tanto a inicializarlas

    de

      manera propia.

      E n

      particular,

      existe siempre

      la

     duda,

      por

      ejemplo,

      de si el

    sistema

      operativo o una base de datos serian actores. La decision depende de

    la

      funcion  que  desempenen  con respecto al sistema en desarrollo, si desempe-

    fian  una

      funcion

      activa entonces  deben  modelarse como actores.

    Retomando

      la

      description

      del

      Sistema

      de

      Reservaciones

      de

      Vuelos,

      se

      puede

    identificar

     al menos un actor, el  Usuario; quien esta encargado de hacer las con-

    sultas

     y reservaciones  en el

     sistema.

     Si se

      analiza

     un  poco

     mas,

     se

      puede iden-

    tificar  que las bases de datos de los sistemas externos de reservaciones tienen

    un a

      funcion

      m uy  activa  con  respecto  al  sistema  en  desarrollo.  A  este actor  lo

    llamaremos  la Base de Datos  de Reservaciones el cual mantiene  la informacion

    sobre

      los

     vuelos

     y

     reservaciones.

     Mas

     a un ,

     podemos

      identificar

      un

     actor adicio-

    nal ,  representando  una  segunda base  de  datos,  que se  involucre en la  informa-

    cion de los usuarios mas que de las reservaciones. A este actor lo llamaremos

    la  Base

      de

     Datos

      de

      Registros encargado

      de

      mantener

      la

      informacion

      de los

    usuarios

      sobre

      la

     utilization

      de l

      sistema.

      E l

     diagrama

      de

      delimitacion

      del

      siste-

    ma  con los  actores correspondientes  se muestra  en la figura 6.5.

    Figura 6 5

      Delimitacion

      del

     sistema

     de

     reservaciones

     de vuelo

    Volviendo

      a la distincion entre actor y persona, una

      misma

     persona  puede  des-

    empenar

      la  funcion  del

      actor  Usuario  cuando hace reservaciones,

      y

      ademas

    puede  trabajar  para  el  sistema de  reservaciones,  por  ejemplo como

      Opemdor

    que

      corresponderia

      a

     otro actor

      no

      mostrado

      en

      nuestro ejemplo.

    M O D E L O  DE  CASOS  DE  USOS  2 1

  • 8/17/2019 3 Modelo de Casos de Uso

    4/11

    El  actor  Usuario  se  considera  un  actor primario ya que el   sistema  se  constru-

    ye

      pensando

      en  sus

      usuarios mientras

      que  Base

     de

     Datos

      de

      Reservaciones y

      ase de Datos de

     Registros son  ambos actores secundarios ya que si no existie-

    ran  usuarios

      no

      habria necesidad

      del

     sistema.

    Cuando

      diferentes actores realizan roles similares pueden heredar de un

      actor

    abstracto  comun

    como

      lo

     muestra

      el

      actor abstracto

     Base de Datos en el

      ejem

    plo

      de la figura

     6.6.

     El

     resto

      de  los

      actores

      se

      conoce como

      actores concre-

    tes y

     utilizan

     terminologia

      similar

     a la de

      herencia como

      se vio en el  capitu

    lo

      4.

    Figura

      6 6  Delimitacion del

     sistema

     de

      reservaciones

     de vuelo con

     ejemplo

      de

    herencia entre actores

    La

     ventaja de

     modelar

      actores abstractos  es que  expresan similitudes entre

      casos

    de

      uso.

     Si el mismo  o  parte  del  mismo caso  de uso se  puede  ejecutar  por va-

    rios actores diferentes el caso de uso  necesita  ser especificado solo  con  respec-

    to a un  actor  en

      lugar

      de  varios. Por  otro lado los  actores abstractos  tambien

    pueden utilizarse para  especificar privilegios comunes a multiples actores en un

    sistema.

    6 2 2

      Casos de uso

    Despues

      de

      haber definido

      a los

      actores

      del

      sistema

    se

      establece

      la

      funciona-

    lidad

      propia

      del

      sistema

      por

      medio

      de los casos de uso.  A l

      usarse terminolo-

    gia

      orientada

      a

      objetos cada caso

      de uso

      define

      una clase o

      forma  particular

    de  usar  el  sistema mientras  que  cada ejecucion  del  caso  de uso se

     puede

     ver

    como

      una

      instancia

      del

      mismo

    o

      sea

    un

      objeto

    con

      estado

      y

      comportamien-

    to.

      Cada caso

      de uso

      constituye

      un  flujo

      completo

      de

      eventos

    que  especifican

    la   interaccion

      qu e

      toma lugar entre

      el

      actor

      y el

      sistema.

      E l

      actor primario

      se

    encarga

      de dar

      inicio

      a

     esta interaccion mientras

      que los casos de uso son ins-

    tanciados como respuesta  al  evento anterior.

     Una

      instancia

      de un

      actor puede

    ejecutar  varias

      de

      estas secuencias

    que

      constan

      de

      diferentes acciones

      que a

    su   vez  deben  llevarse a cabo. La instancia del caso de uso

      existe

     mientras

     este

    se

     siga ejecutando.

     La

     ejecucion

      del

      caso

      de uso  termina

      cuando

      el

      actor gene-

    ra  un

      evento

      que requiere un

      caso

      de uso

      nuevo.

      Las

     diferentes instancias

      de

    los casos

      de uso se

     conocen como escenarios. Como varios casos

      de uso pue-

    2

      CAP.

     6 —

      MODELO

      DE  R E Q U I S IT O S

  • 8/17/2019 3 Modelo de Casos de Uso

    5/11

    den comenzar de una misma  fo rma no es siempre posible decidir que caso de

    uso se ha instanciado hasta que este se haya completado.

    La

     description

     de los casos de uso se basa en diagramas similares a

     los

     de tran-

    sition

      de estados. Se puede  ver a cada caso de uso  como  si representara un

    estado

      en el

      sistema donde

      un

      estimulo enviado entre

      un

      actor

      y el

      sistema

    ocasiona  una  transition entre estados.

    En

      la figura 6.7 se

      muestra

     un

      ejemplo

     de

      casos

      de

      uso donde

      un

      programa-

    dor

      escribe

      y

      depura

      un programa

    mientras

     que

      otro usuario

     lo  ejecuta.

    Figura   6 7  jemplo de casos de uso que muestran la relacion con los  actores

    Para  identificar  los  casos  de  uso se  puede leer  la  description  del  problema  y

    discutirlo  con aquellos que  actuaran   como actores empleando preguntas como:

      C u a l e s

      son las

      tareas principales

      de

      cada

      actor?

  • 8/17/2019 3 Modelo de Casos de Uso

    6/11

    cundario

      Operador

    Sin

      embargo para lograr

      una

      mejor

      especificacion de re-

    quisitos  y  evitar complejidad adicional no se  vera ninguna

      funcionalidad

      de

    mantenimiento  en nuestro  desarrollo:  un  ejemplo adicional  de  como concen-

    trarse  en

      ciertos aspectos

      de los requisites

      durante diversas etapas.

    Figura 6 8   Ejemplo de casos de uso  para un  sistema de  reservaciones de

     vuelo

    En

      la

      descripcion

      del problema se menciona que para

      utilizar

      el sistema el

    usuario  debe

      estar registrado por  lo cual agregamos  un  caso  de uso  Registrar

    usu rio

    Por otro lado se

      debe

      incluir la  Base   de   Datos  de   Reservaciones  y la

    Base de Datos de Registros

     ya qu e son

      actores secundarios necesarios. Estos tres

    casos

      de uso se

      muestran

      en la figura

      6.9.

      Notese las

      flechas  unidireccionales

    dirigiendose del  actor primario hacia  el  caso  de uso y del  caso  de uso  hacia el

    actor secundario.

    Figura 6 9

    Prlncipales casos

     de uso

     para

     el

     sistema

     de

      reservaciones

     de

     vuelo

    Se

     elimino

     en el

      diagrama

      la

     delimit cion

     del

      sistema

    Aunque  la  idea  del  modelo  de  casos  de uso es que los  diagramas sean  lo mas

    sencillo posible a  menudo  es  necesario contar  con  mecanismos  que  permitan

    extender  los  diagramas  de  manera  mas  elaborada.  l modelo  de  casos  de uso

    permite  la  subdivision  de partes del  flujo  completo  de un  caso de uso en

      casos

    de uso  separados.  Las razones  son  aprovechar distintos  subflujos  que se  repi-

    ten

      en  multiples casos  de  uso de  manera

      analoga  al

      concepto  de  herencia y

    resaltar los flujos menos comunes. A unqu e la  complejidad  de los  casos  de uso

    es un  factor  importante para  ta l  decision en  general no  siempre  es obvio  que

    subflujos  deberian   definirse  como casos  de uso  separados. Existen dos  enfoques

    distintos para expresar extensiones:

    4

    C A P .

      6 —

      M O D E L O

      D E

      R E Q U I S I T O S

  • 8/17/2019 3 Modelo de Casos de Uso

    7/11

    Si las

     diferencias entre los casos

      de uso son

      pequenas, estos

      se

      pueden des-

    cribir  como variantes de un mismo caso de uso, dando  lugar

      al

      concepto

    de

      subflujos

      o

      ramificaciones

      de flujos dentro  de un  mismo caso  de  uso.

    For ejemplo, en el caso de uso  Registrar Usuario,  la creacion  por primera

    vez  del registro  y su

     actualizacion

     se pueden considerar  dos secuencias  de

    eventos  logicamente  similares,

      por lo  cual  se

      tratan como distintos

      subflu-

    jos en un mismo caso de uso. En general, primero se describe el

     flujo

     prin-

    cipal

      o

      bdsico,

     el cual es el flujo mas importante dentro del caso de uso y

    generalmente el punto de entrada al caso de uso. Posteriormente se descri-

    ben los  subflujos

      alternos

     qu e

      pudieran

      incluir  flujos

     para

      el

     manejo

      de va-

    riantes en la logica en cuyo caso  se  conocen como  subflujos  alternos. Nor-

    malmente un caso de uso tiene solo un curso

     basico,

      pero varios  subflujos

    y cursos alternos.

    Si las

      diferencias entre

      los

      casos

      de uso son

      grandes,

      se

      deben describir

    como casos de uso separados. Cuando esto  ocurre,  se  utilizan  principal-

    mente las relaciones  de

      extension

    inclusion y generalization como  se des-

    cribe a continuacion.

    La  identificacion  de casos de uso es normalmente un  proceso  iterativo, donde

    se hacen multiples revisiones  hasta llegar a una  solucion final estable. Cuando

    esto ocurre, cada caso

      de uso

      debe describirse

      con mas

     detalle.

     XT NS ON

    Un

      concepto importante

      que se

      utiliza  para estructurar

     y

      relacionar casos

      de

    uso es la extension la cual  especifica  como un caso de uso puede

      insertarse

    en

      otro para extender

      la

      funcionalidad

     del

      anterior.

     El

     caso

      de uso

      donde

      se

    insertara  la nueva funcionalidad debe ser un flujo completo, por lo cual este es

    independiente del caso de uso a insertarse. De esta manera, el caso de uso ini-

    cial  no requiere consideraciones adicionales al caso de uso a ser insertado,  uni-

    camente

      se

     especifica

      su

     punto

      de

      insercion.

    Tomando como ejemplo  el  Sistema

     de

     Reservaciones

     de

      Vuelos,  se  muestra  en

    la  figura  6.10  la  notacion  para extension, utilizando  la  etiqueta extiende

    extend),  donde el caso de uso de Hacer Reservation  se extiende mediante el

    caso de uso Pagar Reservation.

    Figura 6 10

      asos

     de uso

     Hacer

     Reservation con

     extension

     de

     Pagar Reservation

    En

      general,

      la

      extension

      se  utiliza

      para

      modelar

      secuencias

      de

      eventos opcio-

    nales de casos de uso, que al manejarse de manera independiente pueden agre-

    garse

      o eliminarse del sistema de manera modular. Se puede considerar a la

    M O D E L O  DE

      CASOS

      DE USO  205

  • 8/17/2019 3 Modelo de Casos de Uso

    8/11

    asociacion de

      extension como

      una  interrupcion en el

     caso

     de uso

     original

     que

    ocurre donde  el nuevo caso de uso se va a  insertar.  Para cada caso de uso que

    vaya  a

      insertarse

      en

      otro caso

      de

      uso,

      se  especifica  la

     posicion

      en el

     caso

      de

    uso

      original,

     donde  la

      extension

      se

      insertara.

     El

     caso

      de uso

      original

     se

     ejecu-

    ta  de  forma

      normal hasta

     el

     punto donde

      el

     caso

      de uso

      nuevo

      se

      inserta.

     En

    este punto, se continua con la  ejecucion  del nuevo curso. Despues  que la ex-

    tension se ha terminado, el curso original continua como si nada hubiera ocu-

    rrido.

     For regla

     general,

     se

     describe primero

     los

     casos

     de uso basicos,

     totalmen-

    te

     independientes

      de

     cualquier extension

      de  funcionalidad,  y luego los de ex-

    tension.

    INCLUSION

    Una

      relacion adicional entre casos  de uso es la  inclusion. A diferencia  de una

    extension, la

     inclusion

     se

      define

      como una

      seccion

     de un caso de uso que es

    parte

      obligatoria

      del

      caso

      de uso basico. El

     caso

      de uso  donde  se

      insertara

     la

    funcionalidad  depende  del caso de uso a ser insertado.

     Esta

      relacion se etique-

    ta

      con incluye

    include).

     For

      ejemplo, en el  Sistema de Reservaciones de

     Vue-

    los

    el

     caso

     de uso  Consultar

     Information  incluye

     el

     caso

     de uso  Validar

      Usua-

    rio

     como

      se

     muestra

      en la

      figura  6.11.

     igur 6 11  asos de uso  Consultar  Information  con inclusion de  Validar

      Usuario

    GENER L IZ C ION

    Una  relation

      adicional entre casos

      de uso es la

     generalizacion

    la cual

      apoya

    la

      reutilfeacion  de los

      casos

      de

      uso. Mediante

     la

     relacion

     de

     generalizacion

     es

    necesario describir las partes similares una sola vez, en  lugar de repetirlas para

    todos

     l s casos de uso con comportamiento comun. Los casos de uso  extraidos

    se conpcen

      como casos

     de uso abstractos

    ya que no  seran instanciados in-

    depenjdientemente,  y  serviran  solo para describir partes  que son  comunes  a

    otros casos de uso. Los casos  de uso que realmente seran instanciados se

      lla-

    man  âsos de uso

      concretos.  Las descripciones  de los casos  de uso abstrac-

    tos se

      incluyen

     en las

     descripciones

      de los

     casos

      de uso

      concretos.

     Una tecni-

    ca

      para extraer casos de uso abstractos es

      identificar

      actores abstractos.

      Esta

    generalizacion

     es una herencia de

      secuencias

    (en

      lugar

     de

      operaciones,

     en el

    caso  de

      herencia

      de

      objetos).

      For ejemplo,  en el  Sistema  de  Reservaciones de

    Vuelos el caso de uso Pagar Reservation pudiera generalizarse en dos casos de

      CAP. 6 —  M O D E L O  DE  R E Q U I S I T O S

  • 8/17/2019 3 Modelo de Casos de Uso

    9/11

    uso,

     Pagar con

      Tarjeta

      y

     Pagar

     con   Transferencia

    como

      se muestra en la figu-

    ra  6.12. Uno de estos dos  sub cases  de uso  deberia  instanciarse, ya que el

      super

    caso de uso, Pagar Reservation seria  abstracto por no  conocerse  la

    forma

      de pago.

    Figure 6 12  Casos de uso  Pagar Reservation  on generalization de pagos

    Pagar  con

      Tarjeta

      y  Pagar  con   Transferencia

    Las  relaciones  de  extension  e  inclusion  entre casos  de uso se  implementan

    ambas mediante asociaciones de clases, a diferencia de la generalization la

    cual

      se

      implementa mediante herencia

      de

      clases.

      En la

      mayoria

      de

      los casos,

    la seleccion es bastante obvia; sin embargo, el criterio principal es ver que tanto

    se acoplan las funcionalidades de los casos de uso. Si el caso de uso a ser ex-

    tendido

      es  util  por si

     mismo,

      la

     relacion debe

      ser

     descrita utilizando extension.

    Si

      los casos de uso son

      fuertemente

      acoplados y la  insercion  debe  tomar  lugar

    para  obtener  un  curso  complete,  la  relacion  debe  ser  descrita mediante  la in-

    clusion.

     Por otro lado, la generalizacion se emplea cuando dos o mas casos de

    uso

      comparten

      funcionalidad  comun, la

     cual

     es

     extendida

      por

      cada

      uno  al  es-

    tilo

      de la generalizacion entre clases. Tambien hay una diferencia en como se

    identifican  estas relaciones.

      Las

     extensiones

      se  identifican  en un

      caso

      de uso

    existente,

      que el

      usuario desea extender

      con

      secuencias adicionales, mientras

    que las inclusiones se encuentran de la extraccion de secuencias comunes ya

    existente entre varios casos

      de

      usos.

      Las

     generalizaciones

     se

     encuentran

     al

     tra-

    tar

      de

      especializar

      de

      diferente manera

      un

      caso

      de uso

      existente.

    Finalmente,  se

      desean diagramas sencillos

      que no

      sean  telaranas ,  pero

      que

    muestren

     de

     manera esquematica

      las

     posibles secuencias

      de

      interacciones entre

    los actores y el sistema.

    En

      la figura

     6.13,

      se

      ilustra

      el

      diagrama

     complete  de

      casos

      de uso

      para

      el

     Sis-

    tema de  Reservaciones de  Vuelos.  Los casos  de uso adicionales en este diagra-

    ma son la extension  de  Registrar   Tarjeta  y Pagar Reservation.  Este ultimo caso

    de uso es  interesante, porque extiende  Hacer Reservation  e  incluye  Registrar

    Tarjeta ambos  requisites con el fin de comprar un boleto con el sistema. Ade-

    mas  de la inclusion anterior, tambien se incluyen los casos de uso de  Validar

    M O D E L O  DE

      CASOS

      DE USO  207

  • 8/17/2019 3 Modelo de Casos de Uso

    10/11

    usuario

     y

      Ofrecer

      Seruicios en

      los casos

      de uso

      basicos:

     Registrar

      Usuario Con

    sultar Information y Hacer Reservation

    Figura 6 13  En el

     diagrama

     se muestran los

     casos

     de uso

     completos para

     el

    sistema

     de reservaciones de vuelo que consiste en

     tres

     actores y siete casos de

    uso.

    6 2 3

      Documentation

    Parte

      fundamental  del

      modelo

      de

      casos

      de uso es la

     descripcion textual deta-

    llada  de cada uno de los actores y casos de uso

      identificados.

      Estos documen-

    tos son sumamente  criticos  ya que a  partir  de  ellos  se desarrollara el sistema

    completo. El formato de

     document tion

      para cada actor es el siguiente:

    Actor

    Casos de uso

    Tipo

    Descripcion

    Nombre

     del  actor

    Nombre

     de los casos de uso en

    los

     cuales participa.

    Primario  o   secundario

    Breve

     descripcion

     del

     actor.

    Las descripciones de los casos  de uso  representan todas  las posibles interaccio-

    nes de los actores  con el sistema  en los eventos enviados  o recibidos por estos.

    En

      esta etapa  no se incluyen eventos internos  al  propio sistema ya que  esto se

    estudiara  durante el analisis y unicamente agregaria una complejidad innecesa-

    ria.  El formato de

     document tion

      para cada caso  de uso es el  siguiente:

    8

    C A P 6   — M O D E L O D E R E Q U I S I T O S

  • 8/17/2019 3 Modelo de Casos de Uso

    11/11

    Caso  de uso

    Actores

    Tipo

    Proposito

    Resumen

    Precondiciones

    Flujo principal

    Subflujos

    Excepciones

    Nombre del

      caso

     de

     uso.

    Actores  primarios

     y

      secundarios

     que

      interaccionan

     con el

    caso de

     uso.

    Tlpo

     de

     flujo: basico, inclusion, extension,  gener liz tion

     o

    algun

     otro.

    Razon

     de ser del caso de uso.

    Resumen del caso de

     uso.

    Condiciones

     que

     deben satisfacerse para ejecutar

    el caso de uso.

    El flujo de eventos m6s importante  del caso de uso, donde

    dependlendo

     de las acciones de los actores, se

     continuara

    con

     alguno de los subflujos.

    Los flujos secundarios del caso de uso, numerados como

     S-1),  S-2), etcetera.

    Excepciones que pueden ocurrir durante el caso de uso,

    numerados como  E-1),  E~2), etcetera.

    Dado  que el modelo de  casos de uso

      esta

      motivado  y enfocado principalmen-

    te

      hacia  los sistemas  de  informacion

    donde

      los usuarios juegan  un  papel pri-

    mordial

    es importante relacionarse con las interfaces a ser

     disenadas

      en el sis-

    tema.  Estas  sirven para apoyar  de

      mejor

      manera  la descripcion  de los casos  de

    uso

    ademas de

      servir

      de

      base

      en

      prototipos iniciales.

    Un comentario importante sobre  la

     especificacion

      de estos documentos es que

    se  sigue  un  proceso  iterative para  definir  cada  uno de  ellos el  cual  se

      podra

    modificar  o  refinar  despues.

     Obviamente cuanto

     mas

      tarde ocurran estos

     cam-

    bios mas  costoso  sera implementarlos. Note  que en las  siguientes descripcio-

    nes

    ya se

      hace referencia

      a

     pantallas

      de interaccion con el

     usuario

    las

      cuales

    seran

     mostradas

      en un  diseno

      preliminar

      en la

     siguiente seccion.

    Los actores  y casos de uso del  sistema  de reservaciones de

      vuelo

     son  descritos

    en la  seccion 6.4.

    6 3

      Modelo

     de

      interfaces

     

    modelo de interf ces  describe

      la

     presentation

     de

     informacion entre

     los ac-

    tores y el sistema. Se especifica en detalle como se veran las interfaces de usua-

    rio  al  ejecutar cada  uno de los

      casos

      de  uso. Si se  trata  de la  interface  huma

    no computadora  H C I ,  Human Computer Interface),  se pueden  usar esquemas

    de

     como veria

      el

     usuario

      las

     pantallas cuando

      se

     ejecuta cada  caso

     de uso. Tam

    bien se puede generar  una simulation mas sofisticada

      usando

     un sistema ma

    nejador  de interfaces de

     usuario  U I M S ,  User

     Interface

      Management

      System).

     Nor-

    malmente

    un  prototipo  funcional  de requisites que  muestra  las  interfaces  de

    usuario es una estrategia importante. Esto ayuda al usuario a visualizar los casos

    de uso

      segun

     se mostraran en el sistema a construirse.  Tal  enfoque elimina mu-

    chas posibilidades

      de malos

      entendidos. Cuando

      se disenan las

      interfaces

      de

    usuario

    es

     esencial tener

     a los

     usuarios involucrados

    y que las

     interfaces  refle

    M O D E L O D E I N T ER F A C E S

      9