casos de uso (informatica); sistemas de informacion

15
1 Tema 3. Casos de uso Ingeniería del Software I 3º I.T.I.Gestión Miguel A. Laguna Contenidos 3.1. Requisitos funcionales: los casos de uso 3.2. Descripción y Construcción de los casos de uso 33 Relaciones entre casos de uso 2 3.3. Relaciones entre casos de uso. 3.4. Ventajas y peligros de los casos de uso 3.5. Utilidad de la técnica: el paso a los objetos Objetivos del tema Identificar los actores y casos de uso Representar en UML y textualmente los casos de uso Utilizar las relaciones <<include>> y 3 Utilizar las relaciones <<include>> y <<extend>> Relacionar los casos de uso con otras técnicas de modelado de UML 3.1 Requisitos funcionales: los casos de uso Requisitos funcionales: Modelo de casos de uso Representación en UML Definición de caso de uso y escenario Tipos de requisitos Funcionales: características del sistema Se describe con casos de uso Requisitos no funcionales Seguridad 5 Rendimiento Fiabilidad Facilidad de uso …etc También Reglas del negocio (restricciones legales, etc.) y Requisitos de información Documentación de requisitos Visión Objetivos Restricciones, alcance del proyecto… Catálogo de requisitos Requisitos funcionales Requisitos funcionales Modelo de casos de uso describe en detalle los requisitos 6 Modelo de casos de uso, describe en detalle los requisitos funcionales Requisitos no funcionales Reglas de negocio Requisitos de información Glosario Terminología básica del dominio Modelo del dominio

description

sistemas de informacion; informatica

Transcript of casos de uso (informatica); sistemas de informacion

  • 1Tema 3. Casos de uso

    Ingeniera del Software I 3 I.T.I.Gestin

    Miguel A. Laguna

    Contenidos

    3.1. Requisitos funcionales: los casos de uso

    3.2. Descripcin y Construccin de los casos de uso

    3 3 Relaciones entre casos de uso

    2

    3.3. Relaciones entre casos de uso.

    3.4. Ventajas y peligros de los casos de uso

    3.5. Utilidad de la tcnica: el paso a los objetos

    Objetivos del tema

    Identificar los actores y casos de uso

    Representar en UML y textualmente los casos de uso

    Utilizar las relaciones y

    3

    Utilizar las relaciones y

    Relacionar los casos de uso con otras tcnicas de modelado de UML

    3.1 Requisitos funcionales: los casos de uso

    Requisitos funcionales: Modelo de casos de uso Representacin en UML Definicin de caso de uso y escenario

    Tipos de requisitos

    Funcionales: caractersticas del sistema Se describe con casos de uso

    Requisitos no funcionales Seguridad

    5

    Rendimiento Fiabilidad Facilidad de uso etc

    Tambin Reglas del negocio (restricciones legales, etc.) y Requisitos de informacin

    Documentacin de requisitos

    Visin Objetivos Restricciones, alcance del proyecto

    Catlogo de requisitos Requisitos funcionales

    Requisitos funcionales Modelo de casos de uso describe en detalle los requisitos

    6

    Modelo de casos de uso, describe en detalle los requisitos funcionales

    Requisitos no funcionales Reglas de negocio Requisitos de informacin

    Glosario Terminologa bsica del dominio

    Modelo del dominio

  • 2Modelo de casos de uso

    Un Modelo de casos de uso describe losrequisitos funcionales (nivel sistema) desde el punto de vista de cmo se usar la aplicacin en la prctica diaria

    7

    Los casos de uso describen: el sistema (casos de uso) el entorno del sistema (actores). la relacin entre el sistema y su entorno

    Modelo de casos de uso

    Un caso de uso representa una interaccin tpica entre un usuario y un sistema informtico:

    8

    Los casos de uso capturan el comportamiento deseado del sistema bajo desarrollo, pero...

    no especifican cmo se implementa esecomportamiento

    Utilidad de los casos de uso

    Los casos de uso tienen tres papeles fundamentales: Capturar el detalle de los requisitos

    funcionales del sistema

    9

    Simplificar la construccin de los modelos de objetos

    Servir de base para las pruebas del sistema

    UML: diagramas de casos de uso

    Un diagrama de casos de uso es un grafo con dos tipos de nodos: Actor - que representa cualquier elemento que

    intercambia informacin con el sistema, por lo que est fuera de l

    10

    fuera de l Caso de uso - Es una secuencia de intercambios que

    representan el dilogo entre el sistema y uno o varios actores.

    Tiene una descripcin informal en lenguaje natural o en un lenguaje estructurado

    Entre ellos hay relaciones de asociacin

    Diagramas de Casos de uso

    Sistema

    El usuario teclea la cantidad que quiere sacar

    El sistema comprueba que tiene billetes suficientes

    El sistema enva la peticin al banco emisor...

    11

    Actor A

    Caso de uso X

    Actor B

    Caso de uso Y

    Notacin de los casos de uso

    Los casos de uso se representan por una elipse y un nombre, que puede ir dentro o debajo de la elipse.

    12

    Los actores se representan con el icono de estereotipo estndar para casos de uso (el stick man o monigote) con el nombre del actor al pie de la figura. Los nombres de los actores suelen empezar por mayscula.

  • 3Definicin de casos de uso (I)

    Una secuencia de acciones realizadas por el sistema, que producen un resultado valioso para un actor en particular

    Una accin es procedimiento atmico. Se invoca

    13

    pcuando: el actor enva un estmulo al sistema el sistema recibe un evento temporal

    Realizadas por el sistema: El sistema proporciona una respuesta (pero es una caja

    negra)

    Definicin de casos de uso (II)

    Una secuencia de acciones realizadas por el sistema, que producen un resultado valioso para un actor en particular

    Un resultado valioso:

    14

    Un resultado valioso: Un caso de uso debe asegurar que un actor pueda

    desempear una tarea que tiene un valor Esto es importante para determinar el nivel correcto para un

    caso de uso (casos de uso que no son demasiado pequeos)

    Un actor en particular: El actor es la llave para encontrar casos de uso correctos

    (Entrevistas, actividades asociadas a un actor...) Un actor interacciona a travs de una instancia concreta del

    caso de uso (escenario)

    En realidad, la definicin corresponde a un escenario o instancia del caso de uso: Una secuencia particular de acciones que lleva a

    un resultado valioso (o exito)Tambin puede llevar a un resultado de fracaso

    Escenarios y casos de uso

    15

    Tambin puede llevar a un resultado de fracaso

    Un caso de uso es un conjunto de escenarios (xitos y fracasos) relacionados por el resultado que el actor pretende obtener

    La relacin entre escenario y caso de uso es idntica a la que existe entre objeto y clase

    Actores y casos de uso

    El actor suele ser una persona, pero se diferencia de un usuario

    Un actor representa un cierto papel que distintos usuarios pueden jugar.

    El t l l l i i t i d l l

    16

    El actor sera la clase y el usuario una instancia de la clase. Un mismo usuario podra ser instancia de varios actores.

    Una mquina o un sistema tambin puede ser un actor Incluso el tiempo (un cronmetro) puede ser un actor

    3.2 Descripcin y Construccin de los casos de uso

    Descripcin: plantillas El proceso de encontrar y construir los casos de uso

    Un caso de uso describe su objetivo (la funcionalidadque se pretende) ms una interaccin entre un actor y un sistema en forma de secuencia de estmulos y respuestas

    Descripcin de los Casos de uso

    18

    La descripcin se centra en lo que debe hacerse, no en la manera de hacerlo

    Deben evitarse expresiones imprecisas: sencillez y claridad

    Puede utilizarse un lenguaje estructurado (secuencia, repeticiones y situaciones opcionales)

  • 4Casos de uso y caja negra

    Incorrecto o Correcto?

    El cajero pulsa la tecla Inicio El sistema genera un registro en un fichero

    19

    El sistema genera un registro en un fichero de ventas

    El cajero solicita iniciar una nueva venta El sistema genera una sentencia SQL El sistema registra la venta

    Formatos de descripcin

    El caso de uso se puede describir con varios niveles de detalle: Breve

    Un resumen inicial en un par de frases Informal

    U j d f l i

    20

    Un conjunto de prrafos y alternativas Completo

    Con todas las alternativas, pre y post-condiciones, etc.

    Cf. Ejemplos del Larman

    Formatos de descripcin

    Por otro lado, se distinguen: Casos de uso Esenciales

    El comportamiento del sistema sin entrar en detalles tecnolgicos

    21

    Casos de uso Concretos Con el detalle de la interfaz de usuario

    Ser necesario ajustarlos a los requisitos no funcionales de tipo tecnolgico antes de completar el diseo de la capa de interfaz

    Descripcin de los Casos de uso

    La descripcin debe contener: Inicio del caso de uso Fin del caso de uso Interaccin entre el caso de uso y los actores

    22

    y Intercambios de datos Cronologa y origen de los datos

    La descripcin se puede completar con diagramas de secuencia o de transicin de estados

    Descripcin de los Casos de uso

    Descripcin El sistema deber permitir a [lista actores] en [instante en el que sepuede realizar el caso de uso] [funcionalidad que define el caso de uso]segn se describe en el siguiente caso de uso:

    Paso Accin

    1 {, realizar el caso de uso [caso de uso]}

    2

    2a Si [Situacin que produce una alternativa] el sistemadeber {, realizar el caso de uso[caso de uso]}

    2b Si [Situacin que produce una alternativa] el sistemadeber {, realizar el caso de uso[caso de uso]}

    .

    SecuenciaNormal

    Habitualmente se utiliza una plantillase algn tipo:

    23

    n .

    Paso Accin

    p En el caso de que [situacin que provoca la excepcin] elsistema deber {, realizar el caso de uso[caso de uso]}

    Excepciones

    q

    Rendimiento El sistema deber realizar la/s accin /es descrita/s en {los pasos[primer paso] al [ltimo paso], el paso [nmero de paso]} en unmximo de [cota de tiempo]

    Frecuencia Este caso de uso se espera que se lleve a cabo una media de [nmero deveces] al [unidad temporal]

    Importancia {vital, importante,quedara bien}Urgencia {inmediatamente, hay presin, puede esperar}Comentarios

    RF-

    Versin

    Autores

    f

    Plantilla de casos de uso (cabecera)

    24

    Fuentes

    Objetivos asociados

    Descripcin El sistema deber comportarse tal como se describe en el siguiente caso de uso { concreto cuando , abstracto durante la realizacin de los casos de uso }

  • 5Plantilla (pie)

    Rendimiento Paso Cota de tiempo

    1 n segundos

    2 n segundos

    25

    Frecuencia esperada veces /

    Importancia {sin importancia, importante, vital}

    Urgencia {puede esperar, hay presin, inmediatamente}

    Comentarios

    Plantilla (secuencia normal)

    Precondicin

    SecuenciaNormal

    Paso Accin

    1 {El , El sistema} , se realiza el caso de uso < caso de uso RF-x>

    2 Si {el el sistema} , se realiza el caso de uso < caso de uso RF-x>

    3

    4

    5

    6

    n

    Postcondicin

    Plantilla (excepciones)

    Excepciones Paso Accin

    1 Si ,{el , el sistema} }>, se realiza el caso de uso

    d RF ti i t

    27

    < caso de uso RF-x>, a continuacin este caso de uso {continua, queda sin efecto}

    ...14

    Descubrir y construir los Casos de uso

    Es un proceso iterativo. Se van descubriendo los escenarios desde el

    punto de vista del ACTOR y sus objetivos y actividades.

    28

    Diagrama de actividades Pasos del proceso: 1. Fijar los lmites del sistema 2. Identificar los actores principales 3. Identificar los objetivos/actividades de cada actor 4. Definir (elaborar) cada caso de uso

    Actores y lmites del sistema

    Cliente

    TPDV

    TiendaEmpresaHacienda

    29

    Procesar venta

    Cajero

    *Objetivos

    Comprar cosasRecaudar Gerente de Ventas

    Analizar ventas

    La estructura del sistema debe decidirse teniendo en cuenta a los actores principales: Los actores principales utilizan directamente el

    sistema Los actores secundarios existen para que los

    Actores principales y secundarios

    30

    Los actores secundarios existen para que los principales puedan utilizar el sistema

    Pueden utilizarse tcnicas de observacin o entrevista La mayora de los objetivos y actividades son obvios

    (vender, cobrar, gestionar una devolucin...)

  • 6Preguntas

    Para detectar todos los casos de uso, se puede preguntar: Escribe/lee/modifica el actor alguna informacin

    del sistema? Cules son las principales tareas de cada actor?

    Informa el actor al sistema de los cambios

    31

    Informa el actor al sistema de los cambios externos?

    Desea el actor ser informado de cambios no esperados?

    Ms preguntas

    Preguntas estndar para encontrar otros actores y objetivos: quin arranca el sistema? quin gestiona los usuarios y la seguridad? el sistema debe hacer algo cada cierto tiempo?

    32

    el sistema debe hacer algo cada cierto tiempo? quin evala la actividad del sistema? Cmo se actualiza el software?

    Proceso de elaboracin

    Identificar a grandes trazos los casos de uso Las principales etapas de cada caso de uso se

    describen con un par de frases Se distingue un camino principal y se identifican

    los caminos alternativos y excepciones

    33

    Proceso iterativo: Los casos de uso se amplan, profundizndose en su

    descripcin Se buscan etapas comunes y alternativas que representar en

    otros caso de uso relacionados por las relaciones incluye, generaliza y extiende

    Se debe cuidar que: Exista una descripcin breve que represente una

    verdadera imagen del caso de uso

    Las condiciones de arranque y parada, pre- y

    Resultado final (I)

    34

    Las condiciones de arranque y parada, pre y postcondicin del caso de uso estn bien definidas

    Los usuarios estn satisfechos de la secuencia de interacciones entre el actor y el caso de uso

    El problema fundamental es encontrar el nivel de abstraccin adecuado. En general si un caso de uso se hace demasiado grande a

    medida que se va detallando es conveniente dividirlo en varios.

    Resultado final (II)

    35

    Se pueden hacer preguntas como: es posible ejecutar un paso de forma independiente a los

    otros o siempre va encadenado con ellos? es lgico agrupar varios pasos para documentarlos,

    probarlos o modificarlos en conjunto?

    Escenarios y casos de uso

    Un caso de uso tiene como instancias los escenarios: situaciones concretas que pueden recorrer total o

    parcialmente el caso de uso

    Se deben considerar en lo posible todos los

    36

    pescenarios de modo que se pueda validar el caso de uso. La ltima comprobacin consiste por tanto en asegurar que

    el caso de uso represente todos los escenarios.

    A veces se confunden casos de uso con escenarios: Si aparecen muchos casos de uso puede que sea un sntoma

    de una mala descripcin del sistema

  • 7Casos de uso - Ejemplo

    sacar dinero

    usuariosistema del banco emisor

    37

    Cajero automtico

    Consulta de saldo

    recarga mvil

    administracinoperador Compaa telefnica

    CU-003 Sacar dinero Descripcin El sistema deber permitir al cliente del banco, en cualquier momento,

    sacar dinero segn se describe en el siguiente caso de uso: 1+ El usuario inserta la tarjeta en el cajero 2 + El cajero lee el cdigo de la banda magntica de la tarjeta y verifica si es aceptable y pide el cdigo del usuario 3+ El usuario introduce el cdigo 4 + Si el cdigo es correcto, el cajero pide al usuario que seleccione el tipo de transaccin deseada 5+ El usuario selecciona la funcin sacar dinero, 6 + El cajero le pide al usuario que teclee la cantidad deseada

    7 + El usuario teclea la cantidad que quiere sacar, 8 + El cajero enva la peticin al sistema del banco

    9 a Si conecta el sistema deber comprobar si hay dinero en la cuenta

    9 b Si no conecta el sistema deber comprobar si el dinero es menos que el lmite

    Secuencia Normal

    38

    10 En cualquiera de los dos casos el sistema: + expulsa la tarjeta + imprime el recibo + entrega el dinero

    Excepciones 2' La tarjeta no es aceptada + Se expulsa emitiendo un sonido 4' Cdigo incorrecto (1,2) + Se emite un mensaje dando al usuario la oportunidad de volver a introducir el cdigo (paso 3) 4'' Cdigo incorrecto (3) + Se emite un mensaje y se retiene la tarjeta 9' No autorizado para sacar dinero + El sistema de banco no autoriza a sacar dinero. Se emite un mensaje de informacin y se expulsa la tarjeta 9 a ', 9 b' No hay dinero suficiente + El cajero no dispone de la cantidad pedida. Emite un mensaje y vuelve al paso 7 1..10' Cancelar + En cualquier momento el usuario puede cancelar la transaccin, con lo que se expulsa la tarjeta

    1 El sistema visualiza un mensaje de bienvenida en la pantalla

    2 El usuario inserta la tarjeta en el cajero

    3 El sistema lee el cdigo de la banda magntica de la tarjeta, verifica si es aceptable

    4 El sistema pide el PIN al usuario

    Cajero automtico: secuencia normal

    39

    5 El usuario introduce el cdigo

    6 El sistema valida el PIN

    7 El sistema pide al usuario que seleccione el tipo de transaccin deseada

    8 El usuario selecciona la funcin sacar dinero,

    9 El sistema pide al usuario que teclee la cantidad deseada

    10 El usuario teclea la cantidad que quiere sacar

    11 El sistema comprueba que tiene billetes suficientes

    12 El sistema cajero enva la peticin al sistema del banco emisor

    13 El banco emisor confirma que hay fondos

    Cajero automtico: secuencia normal

    40

    14 El sistema imprime un recibo

    15 El sistema expulsa la tarjeta

    16 El sistema entrega el dinero

    3 Si la tarjeta no es aceptada, el sistema la expulsa emitiendo un sonido. El caso de uso termina.

    6 Si el usuario introduce un cdigo errneo, el sistema pide de nuevo el PIN y el caso de uso continua en el paso 5

    6 Si el usuario introduce un cdigo errneo por tercera vez, el sistema retiene la tarjeta y el caso de uso termina.

    Cajero automtico: excepciones

    41

    11 Si el sistema no tiene suficiente dinero, emite un mensaje y el caso de uso continua en el paso 9

    13 Si el banco emisor no autoriza a sacar dinero, el sistema emite un mensaje de informacin y el caso de uso continua en el paso 7

    13 Si no se consigue comunicacin y la cantidad excede del lmite mximo, el sistema emite un mensaje de informacin y el caso de uso continua en el paso 9

    ...

    Monitorcardiaco

    MonitorRemoto

    Casos de uso - Ejemplos

    42

    Mdico

    Disparo si algo est fuera

    de lo normal

    Impresinimpulsos card.

    Paciente

    Almacn dediagramas

    Sistema que controla la actividad cardiaca de un paciente.

  • 83.3 Relaciones entre casos de uso.

    Incluye Generaliza Extiende

    Incluye () () Es un estereotipo de dependencia. Indica que un caso de uso es

    incluido dentro de otro.

    Generalizacin (sin estereotipo) Indica que un caso de uso es una variante de otro

    Relaciones entre Casos de uso: UML

    44

    Indica que un caso de uso es una variante de otro. Tambin se usa entre actores para indicar que un actor hereda

    el comportamiento de otro y aade nuevas posibilidades

    Extiende () () Es un estereotipo de dependencia. Ofrece una forma de

    extensin ms controlada que la relacin de generalizacin.

    Resumen de los tipos de relaciones

    Relacin Funcin Notacin

    AsociacinCamino de comunicacin entre un actor y un caso de uso en el que participa

    Extiende

    Insercin de comportamiento adicional en un caso de uso

    45

    Extiende base (sin que ste tenga conocimiento)

    GeneralizacinRelacin entre un caso de uso/actor

    general y otro ms especfico que hereda caractersticas y aade otras

    IncluyeInsercin de comportamiento adicional dentro de un caso de uso que describe la insercin

    Relacin Incluye

    Es una relacin de dependencia donde un caso de uso utiliza otro caso de uso completo, indicando que se incrusta en el primero.

    Cuando un nmero de casos de uso comparten un

    46

    Cuando un nmero de casos de uso comparten un comportamiento comn, se extrae en un caso de uso que es utilizado () por otros.

    El caso de uso incluido es el factor comn.

    Si el caso de uso nunca se utiliza por s mismo se denomina caso de uso abstracto.

    Sacar dinero

    Comprobar tarjeta y PIN

    Relacin Incluye

    47

    Consultar saldo

    Actor

    1 El sistema visualiza un mensaje de bienvenida en la pantalla

    2 El usuario inserta la tarjeta en el cajero

    3 El sistema lee el cdigo de la banda magntica de la tarjeta, verifica si es aceptable

    4 El sistema pide el PIN al usuario

    Relacin Incluye

    Se realiza el caso de uso

    48

    5 El usuario introduce el cdigo

    6 El sistema valida el PIN

    7 El sistema pide al usuario que seleccione el tipo de transaccin deseada

    8 El usuario selecciona la funcin sacar dinero,

    9 El sistema pide al usuario que teclee la cantidad deseada

  • 9Comprobar tarjeta y PIN

    Caso de uso UC-00X Comprobar tarjeta y PIN

    1 El sistema lee el cdigo de la banda magntica de la tarjeta, verifica si es aceptable

    2 El sistema pide el PIN al usuario

    l d l d

    49

    3 El usuario introduce el cdigo

    4 El sistema valida el PIN

    Excepciones

    1 Si la tarjeta no es aceptada, el sistema la expulsa emitiendo un sonido. El caso de uso termina.

    4 Si el usuario introduce un cdigo errneo, el sistema pide de nuevo el PIN y el caso de uso continua en el paso 2

    4 Si el usuario introduce un cdigo errneo por tercera vez, el sistema retiene la tarjeta y el caso de uso termina.

    Indica que un caso de uso es una variante de otro.

    El caso de uso especializado puede variar cualquier aspecto del caso de uso base:

    Relacin de Generalizacin

    50

    Cuando un caso de uso extiende otro, significa que el primero puede incluir parte del comportamiento del caso de uso que l extiende.

    No tiene porque incluir el comportamiento completo; pudiendo elegir que partes se quieren reutilizar.

    Es una relacin muy (demasiado?) flexible.

    Relacin de Generalizacin

    Cliente Internet

    51

    Cliente

    GiroTransferencia

    Transferencia por Internet

    El cliente por Internet tambin puede hacer una transferencia convencional en cualquier sucursal

    Relacin Extiende

    Es una relacin de dependencia donde un caso de uso aade acciones al caso de uso base.

    El caso de uso base declara un conjunto de puntos de extensin

    52

    extensin.

    El caso de uso especializado slo puede alterar el comportamiento de los puntos de extensin marcados. Si hay ms de uno, hay que identificar exactamente cul es es

    punto extendido.

    Un caso de uso extendido puede manejar excepciones, alternativas, etc.

    Generaliza y Extiende

    Procesar Venta

    Puntos de Extensin :Forma de PagoCliente VIPtransferencia por internet

    53

    extend Forma de Pago, si el Cliente desea pagar con cupones....

    Pago con Cupnde regalo

    Girotransferencia

    transferencia por internetCashier

    Process Sale

    extend extend

    t d

    actorAccounting

    Relaciones entre Casos de uso:Extiende

    54

    Customer

    Handle CashPayment

    Process Rental

    Handle CheckPayment

    extend

    extend extendextend

    gSystem

    actorCredit

    AuthorizationService

    Handle CreditPayment

  • 10

    Relaciones entre Casos de uso:Incluye (condicionalmente)

    Si el cliente paga en efectivo, se realiza el caso de uso

    Si el cliente paga por cheque, se realiza el caso de uso

    Si el cliente paga con tarjeta, se realiza el caso de uso

    55

    Cashier

    Customer

    Handle CashPayment

    Process Rental

    Process Sale

    Handle CheckPayment

    include include

    include

    include includeinclude

    actorAccounting

    System

    actorCredit

    AuthorizationService

    Handle CreditPayment

    Cliente

    Relaciones entre Casos de uso

    transferencia local

    56

    transferenciapor Internet transferencia

    Identificacin

    Comprobacin delestado

    Venta por catalogo telefnico

    Vendedor

    Casos de uso - Ejemplos

    57

    Realizacin de unpedido

    Completar pedido

    Establecer crdito

    Empleado

    Supervisor

    Atencin alCliente

    Casos de uso - Ejemplos

    Peticiones alcatlogo con

    pedidos

    Realizacin de unpedido

    Orden de pago

    58

    Informacinsuministrada por el

    Cliente

    Pedido de productos

    Orden de pago

    3.4.Ventajas y peligros de los casos de uso

    Ayudan a asegurar que se desarrolla el sistema correcto

    Excelente forma de comunicacin con los clientes y los usuarios

    Casos de uso: Ventajas

    60

    Ayudan a gestionar la complejidad de los proyectos grandes

    Ofrecen una buena base para la verificacin y validacin

    Modo objetivo para el seguimiento del proyecto

  • 11

    Casos de uso: Ventajas tcnicas

    Documentan las respuestas funcionales de caja negra

    Proporcionan el fundamento de los mensajes

    61

    Pueden servir como base para especificar respuestas a aplicaciones de control y tiempo real

    Casos de uso: Peligros

    Llevan a una descomposicin funcional del sistema.

    Los casos de uso son funcionales por naturaleza (esto es, localizan la informacin en torno a las funciones).

    62

    Debe tenerse cuidado cuando se utilizan dentro de un desarrollo orientado a objetos.

    Los problemas pueden surgir cuando en un desarrollo software se utilizan diferentes estrategias

    Descomposicin funcional

    63

    Casos de uso: Peligros

    Violacin de la ocultacin de la informacin.

    Cuando se describen casos de uso, se debe conocer no slo el elemento para el que se desarrolla el caso de uso,

    64

    p q ,sino tambin la interfaz pblica definida de cada elemento.

    Los autores de casos de uso deben evitar la tentacin de ir ms all de la interfaz pblica, e intentar describir la estructura interna del elemento.

    Casos de uso: Peligros

    Falta de formalidad.

    La informalidad de los casos de uso lleva a un falso sentido de seguridad.

    65

    La gente se olvida de las normas para los nombres y otras convenciones de estilo. Aumenta la posibilidad de cometer errores Disminuye la probabilidad de reutilizar el caso de uso

    No saber cuando parar. Puede existir confusin entre la elicitacin de requisitos y los casos de uso y entre el diseo y los casos de uso. Por ejemplo,

    Es un juego completo de casos de uso lo

    Casos de uso: Peligros

    66

    mismo que los requisitos de un producto? Existen otros requisitos (del producto o del proyecto) que no estn capturados en los casos de uso? Hay algn aspecto del diseo/arquitectura del sistema que no se ha capturado con los casos de uso?

  • 12

    La cobertura es el mayor problema de quien usa los casos de uso:

    Una cosa es decir que el conjunto de todos los

    Casos de uso: Peligros

    67

    Una cosa es decir que el conjunto de todos los casos de uso especifican la totalidad de la funcionalidad del sistema

    Otra cosa es demostrar que se ha capturado por completo la funcionalidad deseada del sistema en un conjunto de casos de uso.

    3.5. Utilidad de la tcnica: el paso a los objetos

    Especificacin e implementacin Diagramas de secuencia de caja negra Descomposicin funcional vs colaboracin

    Especificacin e implementacin La especificacin de los casos de uso nos

    permite conocer el comportamiento externo que define la posible secuencia de mensajes intercambiados entre los actores y el sistema.

    Al nivel de casos de uso esto se especifica

    69

    Al nivel de casos de uso esto se especifica como

    un diagrama de secuencia (dilogo actor/sistema)

    una mquina de estados (o un diagrama de actividad)

    Diagramas de secuencia: prstamo(DSS de caja negra)

    : Bibliotecario

    sistema : Sistema

    Se realiza el caso de uso Identificacin de socio

    1: comenzar el proceso de prstamo

    70

    2: comprueba la situacin del socio

    4: identifica el libro

    6: identifica un ejemplar y solicita al sistema que registre el prstamo

    3: identifique el libro

    5: ejemplares disponibles

    7: proceso de registro ha terminado

    Mquina de estados: cajero automtico

    bienvenidaentry/ ^display.mostrar_bienvenida

    esperando PINentry/ ^display.pedirPIN

    entrega dineroentry/ entregardineroentry/ ^lector.expulsar_tarjeta

    insertada( numero )

    tarjeta retirada

    71

    Opcionesentry/ ^display.mostrar_opciones

    Importeentry/ ^display.pedir_cantidad

    conexion bancoentry/ conectar(banco)entry/ ^display.mostrar_mensaje("espere...conectando")

    PINtecleado( PIN )[ error ]

    PINtecleado( PIN )[ ok ]

    seleccionar "sacar"when( 30 seg ) ^display.mensaje(mximo)

    importe introducido

    transaccion[ ok ]

    Casos de uso: Implementacin

    La relacin entre los casos de uso y su implementacin es una Realizacin.

    La implementacin de un caso de uso puede

    72

    ser vista como una colaboracin:

    Se trata de objetos y enlaces (instancias de clases y asociaciones) junto con las posibles secuencias de flujos de mensajes que provoca el caso de uso en cuestin.

  • 13

    Transicin hacia los objetos Una descomposicin que siga directamente la forma de los

    casos de uso conduce a una aproximacin estructurada clsica, funcional...

    Realizacin de unpedido

    Orden de pago

    73

    Informacinsuministrada por el

    ClientePedido de productos

    Orden de pago

    Pedido de productos

    Informacinsuministrada

    Realizacin de un pedido ?

    Es necesario realizar un paso al mundo de los objetos

    Se efecta asociando una colaboracin a cada caso de usoLa colaboracin describe objetos del mbito, las

    Transicin hacia los objetos

    74

    conexiones entre estos objetos y los mensajes que intercambian stos

    La realizacin de un caso de uso por una colaboracin es momento crucial del modelado; Es el momento del cambio hacia la orientacin a objeto

    Caso de uso Colaboracin

    Transicin hacia los objetos

    75

    Objeto Objeto Objeto

    Casos de uso y UP

    January February

    Cundo Donde

    elaboracin

    inicio

    76

    Use Case: Capture a Sale. . .Main Success Scenario:1. ...2. ...3. ...Extensions:

    Use Case: Handle Returns. . .Main Success Scenario:1. ...2. ...3. ...Extensions:

    Quin CmoSoftware:

    Herramienta CASE + herramienta de requisitos + Hyperlink

    Desarrollador

    ClienteAnalista

    Usuario

    Two adjacent projections.

    Arquitecto

    Bibliografa Recomendada

    Larman, C. UML y Patrones. Introduccin al Anlisis y Diseo Orientado a Objetos y al Proceso Unificado . Prentice Hall, 2002. Captulos 6..9, 25

    Amador Durn y Beatriz Bernrdez, Metodologa para la

    Elicitacin de Requisitos de Sistemas Software. 2003.

    77

    Elicitacin de Requisitos de Sistemas Software. 2003.

    Lecturas complementarias J. Rumbaugh, I. Jacobson, G. Booch, El Lenguaje Unificado

    de Modelado. Manual de referencia. Addison-Wesley,2000

    A. Cockburn. Writing Effective Use Cases. Addison-Wesley

    2001

    Caso de estudio Punto de venta

    Cajero: Procesar ventas Procesar

    Administrador: Aadir usuarios Modificar usuarios

    Actores, actividades y casos de uso:

    78

    devoluciones Abrir y cerrar caja

    Director: Poner en marcha Suspender

    operaciones

    Gestionar tablas del sistema

    Control de ventas: Analizar los datos de

    ventas y rendimiento

  • 14

    Diagrama de casos de uso

    Sistema contable

    Actor_Cajero

    Procesar Alquiler

    Procesar Venta

    79Gestionar seguridad

    Gestionar usuariosAdministrador

    del sistema

    Sistema de autorizacinPago con cupn

    Pago con tarjeta

    Pago en metlico

    Gestionar Devolucin

    Caso de uso Procesar venta

    1. El cajero solicita iniciar una nueva venta

    2. El sistema solicita el cdigo del artculo

    3. El cajero introduce el cdigo del artculo

    ( se inicia cuando un cliente llega a la caja con uno o varios artculos)

    80

    4. El sistema registra una lnea de detalle y muestra el nombre y precio del artculo5. El cajero indica el fin de la venta

    6. El sistema presenta el total

    7. Se realiza el

    8. El sistema registra la venta y enva la informacin al sistema contable9. El sistema imprime el recibo

    1. El cajero inicia una nueva Venta2. El sistema solicita el cdigo del artculo3. El cajero introduce el cdio del artculo4. El sistema registra una lnea de detalle y muestra el nombre y precio del artculo

    : Actor_Cajero

    : Sistema

    inicia nueva venta

    introduce el cdigo del artculo

    muestra el nombre y precio del artculo

    (pasos 2..4 se repiten)

    solicita el cdigo

    81

    y precio del artculo

    5. El cajero indica el fin de la venta6. El sistema presenta el total7. Punto de extensin: PAGO8. El sistema registra la venta y enva la informacin al sistema contable...

    fin de la venta

    presenta el total

    registra la venta

    Punto de extensin:Forma de PAGO

    Ejemplo Larman, completo

    Actor principal: Cajero. Personal involucrado e intereses:

    Cajero: quiere entradas precisas, rpidas, y sin errores de pago, ya que las prdidas se deducen de su salario.

    Vendedor: quiere que las comisiones de las ventas estn actualizadas. Compaa: Quiere registrar las transacciones con precisin y satisfacer el

    inters de los clientes. Quiere asegurar que se registran los pagos aceptados por el Servicio de Autorizacin de Pagos Quiere cierta tolerancia

    82

    aceptados por el Servicio de Autorizacin de Pagos. Quiere cierta tolerancia a fallos que permita capturar la ventas .

    Agencia Tributaria del Gobierno: quiere recopilar los impuestos de cada venta ser mltiples agencias: nacional, provincial y local.

    Servicio de Autorizacin de Pagos: Quiere recibir peticiones de autorizacin digital en formato y protocolo correctos. Quiere registrar de manera precisa las cuentas de la tienda.

    Precondiciones: El cajero se identifica y autentifica. Garantas de xito (Postcondiciones): Se registra la venta. El impuesto se

    calcula de manera correcta. Se actualizan la contabilidad y el inventario. Se registran las comisiones y se genera el recibo. Se registran las autorizaciones de pago aprobadas.

    Ejemplo Larman

    El caso de uso empieza cuando un Cliente llega a un terminal PDV con mercancas y/o servicios que compra

    Escenario principal de xito (o Flujo Bsico):

    1. El Cajero comienza una nueva venta. 2. El sistema solicita el identificador del artculo.

    83

    3. El Cajero introduce el identificador del artculo. 4. El Sistema registra la lnea de la venta y presenta la descripcin del artculo y

    suma parcial. El precio se calcula a partir de un conjunto de reglas de precios El Cajero repite los pasos 3-4 hasta que indique el fin de la venta 5. El Sistema presenta el total con los impuestos calculados. 6. El Cajero le dice al Cliente el total y pide que le pague e introduce la cantidad 7. El Sistema gestiona el pago. 8. El Sistema registra la venta completa y enva la informacin de la venta y el pago

    al sistema de Contabilidad externo (para la contabilidad y las comisiones) y al sistema ventas (para actualizar el inventario).

    9. El Sistema emite el recibo. 10. El caso de uso termina (10. El Cliente se va con el recibo y las mercancas )

    Ejemplo Larman

    Extensiones (o Flujos Alternativos): *a En cualquier momento el Sistema falla: Para dar soporte a la recuperacin y registro correcto, asegura que

    todos los eventos significativos de una transaccin puedan recuperarse desde cualquier punto del escenario. 1. El Cajero reinicia el Sistema, inicia la sesin, y solicita la recuperacin al tenor.

    84

    2. El Sistema reconstruye el estado anterior. 2a. El Sistema detecta anomalas intentando la recuperacin: 1. El Sistema informa del error al Cajero, registra el error, y pasa a limpio. 2. El Cajero comienza una nueva venta.

    3a. Identificador no vlido: 1. El Sistema seala el error y rechaza la entrada.

    3b. Hay muchos artculos de la misma categora y tener en cuenta una nica identidad del artculo no es importante (ej. 5 paquetes de hamburguesas vegetales): 1. El Cajero puede introducir el identificador de la categora del artculo y la cantidad.

  • 15

    Ejemplo Larman

    3-6a. El Cliente le pide al Cajero que elimine un artculo de la compra: 1. El Cajero introduce el identificador del artculo para eliminarlo de la compra. 2. El Sistema muestra la suma parcial actualizada.

    3-6b. El Cliente le pide al Cajero que cancele la venta: 1. El Cajero cancela la venta en el Sistema.

    3-6c. El Cajero detiene la venta: 1. El sistema registra la venta para que est disponible su recuperacin en cualquier

    t i l PDV

    85

    terminal PDV.

    4a. El Sistema genera el precio de un artculo que no es el deseado (ej. el Cliente se queja por algo y se le ofrece un precio ms bajo): 1. El Cajero introduce el precio alternativo. 2. El Sistema presenta el precio nuevo.

    5a. El sistema encuentra algn fallo para comunicarse con el servicio externo del sistema de clculo de impuestos. 1. El Sistema reinicia el servicio en el nodo PDV y contina. 1a. El Sistema detecta que el servicio no se remida.

    1. El Sistema seala el error. 2. El Cajero podra calcular e introducir manualmente el impuesto, o cancelar la

    venta.

    Ejemplo Larman

    5b. El Cliente dice que le son aplicables descuentos (ej. empleado, cliente preferente): 1. El Cajero seala la peticin de descuento. 2. El Cajero introduce la identificacin del Cliente. 3. El Sistema presenta el descuento total, basado en las reglas de descuento.

    5c. El Cliente dice que tiene crdito en su cuenta, para aplicar a la venta:

    l C j l l i i d di

    86

    1. El Cajero seala la peticin de crdito. 2. El Cajero introduce la identificacin del Cliente. 3. El Sistema aplica el crdito hasta que el precio O, y reduce el crdito que queda.

    6a. El Cliente dice que su intencin era pagar en efectivo pero que no tiene suficiente: 1a. El Cliente utiliza un mtodo de pago alternativo. 1b. El Cliente le dice al Cajero que cancele la venta. El Cajero cancela la venta en el

    Sistema.

    Ejemplo Larman

    7a. Pago en efectivo: 1. El Cajero introduce la cantidad de dinero en efectivo entregada. 2. El Sistema muestra la cantidad de dinero a devolver y abre el cajn de caja. 3. El Cajero deposita el dinero entregado y devuelve el cambio al Cliente. 4. El Sistema registra el pago en efectivo.

    7b. Pago a crdito: 1. El Cliente introduce la informacin de su cuenta de crdito. 2 El Sistema enva la peticin de autorizacin del pago al Sistema externo de Servicio

    87

    2. El Sistema enva la peticin de autorizacin del pago al Sistema externo de Servicio de Autorizacin de Pagos, y solcita la aprobacin del pago.

    2a. El Sistema detecta un fallo en la colaboracin con el sistema externo: 1. El Sistema seala el error al Cajero. 2. El Cajero le pide al Cliente un modo de pago alternativo.

    3. El Sistema recibe la aprobacin del pago y lo notifica al Cajero. 3a. El Sistema recibe la denegacin del pago:

    1. El Sistema seala la denegacin al Cajero. 2. El Cajero le pide al Cliente un modo de pago alternativo. 4. El Sistema registra el pago a crdito, que incluye la aprobacin del pago 5. El Sistema presenta el mecanismo de entrada para la firma del pago a crdito. 6. El Cajero le pide al Cliente que firme el pago a crdito. El Cliente introduce la

    firma.

    Ejemplo Larman

    7c. Pago con cheque... 7d. Pago a cuenta... 7e. El Cliente presenta cupones:

    1. Antes de gestionar el pago, el Cajero recoge cada cupn y el Sistema reduce el pago como sea oportuno. El sistema registra los cupones utilizados por razones de contabilidad.

    la. El cupn introducido no es vlido para ninguno de los artculos comprados1 El Sistema seala el error al Cajero

    88

    1. El Sistema seala el error al Cajero.

    9a. Hay rebajas en los artculos: 1. El Sistema presenta los formularios de rebaja y los recibos de descuento para cada

    artculo con una rebaja.

    9b. El Cliente solicita un vale-regalo (sin precio visible): 1. El Cajero solicita el vale-regalo y el Sistema lo proporciona.