Diagramas de Casos de uso



Documentos relacionados
Introducción

Diagramas de Casos de uso

Caso de Uso. Herramienta de relevamiento. domingo, 28 de octubre de 12

Un caso de uso es una tarea que debe poder llevarse a cabo con el apoyo del sistema que se está desarrollando, se representa mediante un óvalo.

Desarrollo Orientado a Objetos en Métrica v. 3

Tema 3: Diagramas de Casos de Uso. Arturo Mora Soto Octubre 2008

Cristian Blanco

4/15/2010. Requerimientos de Software UARG.UNPA Requerimientos de Software. Requerimientos de Software

Ingeniería de requerimientos de software: Análisis. Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes

Tema 4e: Proceso Unificado: Análisis

MODULO IV. Análisis y Diseño de Sistemas de Información INF-162 IV. UML. Casos de uso. Facilitador: Miguel Cotaña

Modelos de Software. Ingeniería en Sistemas de Información

Diagramas de Casos de Uso. Ingeniería del Sw-II, José Merseguer

Unidad II. Metodología para resolver problemas aplicando la POO. Parte 1

Análisis y Diseño del Software. El Lenguaje Unificado de Modelado UML 2.0

Análisis y Diseño Orientado a Objetos. 2 - Análisis

UML. Diagrama de Casos de Usos. Prof. Daniel Riesco

Documentación de Requisitos con Casos de Uso

Ejemplo de Análisis Orientado a Objetos ATMs

12/08/2017. Casos de uso. Casos de uso. Casos de uso. Casos de uso

Análisis y Diseño de Sistemas Clase 5 Ingeniería de Requerimientos El modelo de Casos de Uso

UML (Unified Modeling Language) Octubre de 2007

CLASE 4: CASOS DE USO REQUERIMIENTOS. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette Martínez

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso

Sistemas de Información II. Análisis de Sistemas Orientado a Objetos

Modelo de Casos de Uso y Representación en UML. Análisis y Diseño de Sistemas de Información UNIDAD 5

Diagramas De Casos De Uso

Análisis y Diseño de Sistemas

Análisis y Diseño de Sistemas

Tema 4: Diagramas de Casos de Uso

DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE GLORIA CECILIA RÍOS MUÑOZ

UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información

Qué Necesita el Usuario

Plan de estudios ISTQB: Nivel Fundamentos

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

gestión para una empresa de autobuses que se dedica al transporte regional, nacional e internacional de viajeros. Las

Tema 2. Casos de Uso C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L

Cliente. Generalización. Cliente Comercial

Ingeniería del Software de Gestión

TEMA 4. PROCESO UNIFICADO

12/08/2017. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia

CASOS DE USO.

Tema 4g: Proceso Unificado: Implementación

diagramas de comportamiento con UML.

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

Programación Orientada a Objetos

1. Propósito. Establecer los puntos que debe cubrir como referencia documental mínima un documento de Diseño de sistemas automatizados.

Análisis y modelado de sistemas de software. Análisis - Modelado funcional. Blanca A. Vargas Govea Febrero 22, 2013

DIAGRAMAS DE CASOS DE USO. Prof. Hooberth Chávez Bedoya

Disciplina de Análisis. Casos de Uso.

TEMA 4. PROCESO UNIFICADO

Modelado Estructural F E B R E R O,

Capítulo XI. Diagramas de Estado y de Actividad

Guía práctica de estudio 09: UML

TEST (2 0 puntos, 0 20 puntos por pregunta correcta, puntos por error) [Marcar sólo una opción]

Examen de Ingeniería del Software / 2º de Informática de Sistemas 21 de junio de 2007

(EJEMPLO) Resumen MODELO CASO DE USO. Sistema CAJERO AUTOMATICO (ATM) FOLLETO 1

@Ejemplo de Casos de Uso Gestión de un Vídeo-Club

PROGRAMACIÓN ORIENTADA A OBJETOS. Dr. Noé Alejandro Castro Sánchez

Un caso de uso es la descripción de cómo en un determinado escenario el software será empleado en una situación determinada.

Figura 1. Tipos de mensaje.

Modelado Básico con Casos de Uso. Diseño de Software Avanzado Departamento de Informática

Caracterización de los Procesos de Negocio

POLITECNICO INTERNACIONAL ASIGNATURA: SOPORTE Y MANTENIMIENTO II DOCENTE: EDUARDO ROBAYO SEMANA 03

TEMA 6: INTRODUCCIÓN A UML

El proceso de diseño. Análisis de tareas

Diagrama de Actividad

UML: CASOS DE USO Y DIAGRAMA DE CASOS DE USO

CLASE 3: UML DIAGRAMAS CASOS DE USO. Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez

Documentación n de Requisitos mediante Casos de Uso

Tema 13 Modelos de Representación de Diagramas

TEMA 2.1 TIPOS DE PRUEBAS DEL SOFTWARE

Interacción Persona - Ordenador

DIAGRAMAS DE UML. Prof. Wenceslao Chávez Bedoya

Elemento crítico para la garantía de calidad del software y representa una revisión final de las especificaciones, del diseño y de la codificación.

Capítulo N 5 TEMAS. Diagramas de Actividad para modelado de Negocio. 1. Diagrama de actividades. 2. Elementos de un Diagrama de Actividades

USECASE. CASOS de USO

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

Los siguientes pasos deben seguirse en la preparación de escenarios:

Tema 10: Interfaces. Índice

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 7, SECCIÓN 1: REQUISITOS SOFTWARE

Diagrama de Casos de Uso. Casos de Uso

Tema 20: La importancia de realizar pruebas

FUNDAMENTOS DE LA VISTA DE CASOS DE USO

DameArgo. LasPelasAntes. Dpto. LSI - Universidad de Granada. ClienteColgao

Impresión y eliminación de trabajos retenidos. Verificación de trabajos de impresión. Cómo reservar trabajos de impresión

MODULO IV. Análisis y Diseño de Sistemas de Información INF-162 IV. UML. 4.5 Diagramas de Interacción

Tema 9: Método de Craig Larman

1.1CONCEPTOS ORIENTADOS A OBJETOS

Casos de Uso. Introducción. Actores

1. Responda si las siguientes aseveraciones son verdaderas o falsas y justifique adecuadamente su respuesta:

Fase de Pruebas Introducción.

LABORATORIO DE INTERACCION HUMANO COMPUTADORA MANUAL DE PRÁCTICAS. Practica #1. Identificación del proyecto a Desarrollar

Trabajo Práctico Nro. 7. Herramientas para el Modelado de Comportamiento Básico: Diagramas y Especificaciones de Casos de Uso

Índice. Introducción. Menú Tablero. Menú Productos. Menú Ventas. Menú Análisis. Menú Usuarios. Menú Configuración. Glosario... 8

! Fundamentos del diseño orientado a objetos. ! Casos de uso. ! Diseño orientado a objetos. ! Facilidad de diseño y relación con el mundo real

MODELO DE CASOS DE USO

Transcripción:

Diagramas de Casos de uso Diagramas de Casos de uso 1. Notación gráfica Un caso de uso representa una interacción típica entre un usuario y un sistema informático 2. Relaciones entre casos de uso. 3. Descripción y Construcción de los casos de uso 4. Ventajas y peligros de los casos de uso 5. Utilidad de la técnica: el paso a los objetos Los casos de uso tienen dos papeles importantes: Capturar los requisitos funcionales del sistema Simplificar la construcción de los modelos de objetos Ingeniería del Software II 3º Gestión 1 2 Diagramas de Casos de uso Notación en UML Un caso de uso es un grafo con dos tipos de nodos: Actor - que representa cualquier elemento que intercambia información con el sistema, por lo que está fuera de él Caso de uso - Es una secuencia de intercambios en un diálogo con el sistema que se encuentran relacionadas por su comportamiento Caso de Uso Arco de comunicación Actor Los arcos entre los actores y los casos de uso se denominan arcos de comunicación 3 4 1

Diagramas de Casos de uso Diagramas de Casos de uso Sistema Caso de uso X El actor puede ser una persona, pero se diferencia de un usuario, ya que un actor representa un cierto papel que el usuario puede jugar. El actor sería la clase y el usuario una instancia de la clase. Un mismo usuario podría ser instancia de varios actores. Una máquina o un sistema también puede ser un actor. Actor A Caso de uso Y Actor B Cada caso de uso tiene una descripción informal en lenguaje natural o en un lenguaje estructurado Varios casos de uso pueden empezar de la misma manera de modo que hasta el final no sabemos cuál se ejecuta 5 6 Notación de los casos de uso Relaciones entre los casos de uso Los casos de uso se representan por una elipse conteniendo el nombre, que opcionalmente puede ir dentro o debajo de la elipse. Los actores se representan con el icono de estereotipo estándar 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 mayúscula. En UML 1.1 las relaciones extiende y usa se representaban por la relación de generalización acompañadas de los esterotipos: <<extiende>> <<usa>> respectivamente 7 8 2

Relaciones entre Casos de uso: UML 1.3 En UML 1.3 las relaciones entre casos de uso han cambiado: Incluye (<<incluye>>) (<<include>>) - Es un estereotipo de dependencia. Indica que un caso de uso es incluido dentro de otro. Reemplaza el uso común de la antigua relación usa Generalización (sin estereotipo) - Indica que un caso de uso es una variante de otro. Extiende (<<extiende>>) (<<extend>>) - Es un estereotipo de dependencia. Ofrece una forma de extensión más controlada que la relación de generalización. Resumen de los tipos de relaciones Relación Función Notación Asociación Extiende Generalización Incluye Camino de comunicación entre un actor y un caso de uso en el que participa Inserción de comportamiento adicional en un caso de uso base (sin que éste tenga conocimiento) Relación entre un caso de uso general y otro más específico que hereda características y añade otras Inserción de comportamiento adicional dentro de un caso de uso que describe la inserción <<extiende>> <<incluye>> 9 10 Relaciones entre Casos de uso: Relación de las viejas relaciones con las nuevas : - La mayoría utilizaba la relación <<uses>> de la forma que se usa ahora la relación <<incluye>>, por lo que se puede decir que la relación <<incluye>> reemplaza a la relación utiliza. - Se utilizaba la relación <<extiende>> de forma controlada (como lo hace la relación <<extiende>> 1.3) de forma incontrolada (al estilo de la relación de generalización), por lo que se puede decir que la relación <<extiende >> 1.1 se ha divido en dos. 11 Relaciones entre Casos de uso: Generalización Es una relación de generalización donde un caso de uso extiende otro caso de uso pudiendo añadir acciones a un caso de uso general. 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 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 del comportamiento del caso más general se quieren reutilizar. Es una relación muy flexible. 12 3

Relaciones entre Casos de uso: Extiende Generaliza y Extiende Es una relación de dependencia donde un caso de uso extiende otro, añadiendo acciones al caso de uso extendido. Process Sale El caso de uso base declara un conjunto de puntos de extensión. El caso de uso especializado sólo puede alterar el comportamiento de los puntos de extensión marcados. Si hay más de uno, hay que identificar exactamente cual es es punto extendido. Un caso de uso extendido puede manejar excepciones, alternativas, etc. Se tienen casos de uso específicos en lugar de casos de uso generales en los que no es fácil describir dichas 13 situaciones. transferencia por internet transferencia Giro Extension Points : Payment VIP Customer «extend» Payment, if Customer... Handle Gift Certificate Payment 14 Relaciones entre Casos de uso: Incluye Relaciones entre Casos de uso: Incluye Es una relación de dependencia donde un caso de uso utiliza otro caso de uso, indicando que es parte de un caso de uso. Cuando un número de casos de uso comparten un comportamiento común, este comportamiento puede ser descrito por un caso de uso que es utilizado por otros casos de uso. Cuando un caso de uso incluye otro, el caso de uso completo debe ser usado. Si el caso de uso nunca se utiliza por sí mismo se denomina caso de uso abstracto. <<include>> Caso de uso abstracto El caso de uso incluido es el factor común. Caso de uso 1 <<include>> Actor 15 Caso de uso 2 16 4

Relaciones entre Casos de uso: Incluye Relaciones entre Casos de uso <<extend>> Process Sale transferencia local Cashier Customer Handle Check Payment «include» «include» «include» Handle Cash Payment «include» «include» «include» Handle Credit Payment «actor» Accounting System «actor» Credit Authorization Service transferencia por Internet <<extend>> transferencia <<include>> Cliente Process Rental Identificación 17 18 Relaciones entre Casos de uso Descripción de los Casos de uso Transferencia por Internet <<includes >> <<include>> Identificación Cliente Remoto Transferencia Giro Cliente Un caso de uso describe una funcionalidad más una interacción entre un actor y un sistema en forma de secuencia de eventos La descripción se centra en lo que debe hacerse, no en la manera de hacerlo Deben evitarse expresiones imprecisas. Se busca sencillez y claridad Puede utilizarse un lenguaje estructurado para representar secuencia, repeticiones y situaciones opcionales 19 20 5

Descripción de los Casos de uso <Identificador> <nombre descriptivo> Descripción El sistema deberá permitir a [lista actores] en [instante en el que se Descripción de puede los realizar el Casos caso de uso] [funcionalidad que define el caso de uso] según se describe en el siguiente caso de uso: La descripción debe contener: Inicio del caso de uso Fin del caso de uso Interacción entre el caso de uso y los actores Intercambios de datos Cronología y origen de los datos La descripción se puede completar con diagramas de secuencia o de transición de estados 21 Habitualmente se utiliza una plantilla se algún tipo: Secuencia Normal Excepciones Rendimiento Frecuencia Importancia Urgencia Comentarios Paso Acción 1 {<acción a realizar>, realizar el caso de uso [caso de uso]} 2 <Situación que produce una alternativa> 2a Si [Situación que produce una alternativa] el sistema deberá {<acción a realizar>, realizar el caso de uso [caso de uso]} 2b Si [Situación que produce una alternativa] el sistema deberá {<acción a realizar>, realizar el caso de uso [caso de uso]}. n. Paso Acción p En el caso de que [situación que provoca la excepción] el sistema deberá {<acción a realizar>, realizar el caso de uso [caso de uso]} q El sistema deberá realizar la/s acción /es descrita/s en {los pasos [primer paso] al [último paso], el paso [número de paso]} en un máximo de [cota de tiempo] Este caso de uso se espera que se lleve a cabo una media de [número de veces] al [unidad temporal] {vital, importante,quedaría bien} {inmediatamente, hay presión, puede esperar} <otras consideraciones en formato libre> 22 Plantilla de casos de uso (cabecera) Plantilla (pie) RF-<id del requisito> <nombre del requisito funcional> Rendimiento Paso Cota de tiempo Versión Autores Fuentes Objetivos asociados <numero de versión y fecha> <autor> <fuente de la versión actual> <nombre del objetivo> Frecuencia esperada Importancia 1 n segundos 2 n segundos <nº de veces> veces / <unidad de tiempo> {sin importancia, importante, vital} Descripción El sistema deberá comportarse tal como se describe en el siguiente caso de uso { concreto cuando <evento de activación>, abstracto durante la realización de los casos de uso <lista de casos de uso>} Urgencia Comentarios {puede esperar, hay presión, inmediatamente} <comentarios adicionales> 23 24 6

Plantilla (secuencia normal) Plantilla (excepciones) Precondición Secuencia Normal <precondición del caso de uso> Paso Acción 1 {El <actor>, El sistema} <acción realizada por el actor o sistema>, se realiza el caso de uso < caso de uso RF-x> 2 Si <condición>, {el <actor>, el sistema} <acción realizada por el actor o sistema>>, se realiza el caso de uso < caso de uso RF-x> 3 4 5 6 n Excepciones Paso Acción 1 Si <condición de excepción>,{el <actor>, el sistema} }<acción realizada por el actor o sistema>>, se realiza el caso de uso < caso de uso RF-x>, a continuación este caso de uso {continua, aborta} 1... 4 Postcondición <postcondición del caso de uso> 25 26 Construcción de Casos de uso Construcción de Casos de uso Es un proceso iterativo. Se van descubriendo los escenarios desde el punto de vista del usuario, es decir los ACTORES. Para detectar los casos de uso es conveniente hacer las siguientes preguntas: Cuáles son las principales tareas de cada actor? Escribe/lee/modifica el actor alguna información del sistema? Informa el actor al sistema de los cambios externos? Desea el actor ser informado de cambios no esperados? En el momento de identificar los actores es conveniente distinguir entre actores principales (que son los que emplean directamente el sistema llevando a cabo las tareas más importantes) actores secundarios (existen para que los principales puedan utilizar el sistema). La estructura del sistema debe decidirse teniendo en cuenta a los actores principales. Es un proceso iterativo, en el que pueden utilizarse distintas técnicas de observación o de entrevista estructurada (para describir los escenarios potenciales desde el punto de vista del usuario). 27 Los casos de uso no pueden ser demasiado pequeños, ya que deben aportar algún valor al actor. 28 7

Proceso de elaboración de los casos de uso Construcción de Casos de uso: Resultado Identificar a grandes trazos los casos de uso Las principales etapas de cada caso de uso se describen en un par de frases Se distingue un caso principal y se identifican los casos alternativos y excepciones Se debe cuidar que: Exista una descripción breve que represente una verdadera imagen del caso de uso Proceso iterativo: Los casos de uso se amplían, profundizándose en su descripción, Se buscan etapas comunes y alternativas que representar en otros caso de uso relacionados por las relaciones incluye, generaliza y extiende. 29 Las condiciones de arranque y parada del caso de uso estén bien definidas Los usuarios estén satisfechos de la secuencia de interacciones entre el actor y el caso de uso 30 Construcción de Casos de uso: Resultado El problema fundamental es encontrar el nivel de abstracción adecuado. En general si un caso de uso se hace demasiado grande a medida que se va detallando es conveniente dividirlo en varios. Se pueden hacer preguntas como: Escenarios Un caso de uso tiene como instancias los escenarios: situaciones concretas que pueden recorrer total o parcialmente el caso de uso Se deben consideran en lo posible todos los escenarios de modo que se pueda validar el caso de uso. es posible ejecutar un paso de forma independiente a los otros o siempre va encadenado con ellos? es lógico agrupar varios pasos para documentarlos, probarlos o modificarlos en conjunto? 31 La última comprobación 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 síntoma de una mala descripción del sistema 32 8

Casos de uso: Ventajas Casos de uso: Ventajas Ayudan a asegurar que se desarrolla el sistema correcto. Excelente forma de comunicación con los clientes y los usuarios. Ayudan a gestionar la complejidad de los proyectos grandes. Documentan las respuestas funcionales de caja negra. Ofrecen una buena base para la verificación y validación. Modo objetivo para el seguimiento del proyecto. 33 Documentan las respuestas funcionales de caja negra. Proporcionan el fundamento de los mensajes. Pueden servir como base para especificar respuestas a aplicaciones de tiempo real. 34 Casos de uso: Peligros Casos de uso: Peligros Llevan a una descomposición funcional del sistema. Los casos de uso son funcionales por naturaleza (esto es, localizan la información entorno a las funciones). No es un problema, pero 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 para localizar la información. Violación de la ocultación de la información. Cuando se describen casos de uso, se debe conocer no sólo el elemento para el que se desarrolla el caso de uso, sino también la interfaz pública definida de cada elemento. Los autores de casos de uso deben evitar la tentación de ir más allá de la interfaz pública, e intentar describir la estructura interna del elemento. 35 36 9

Casos de uso: Peligros Falta de formalidad. La informalidad de los casos de uso lleva a la gente a un falso sentido de seguridad. 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. Casos de uso: Peligros No saber cuando parar. Existe una gran confusión entre la adquisición de los requisitos y los casos de uso y entre el diseño y los casos de uso. Por ejemplo, Es un juego completo de casos de uso lo mismo que los requisitos de un producto? Existen otros requisitos (del producto o del proyecto) que no estén capturados en los casos de uso? Hay algún aspecto del diseño/arquitectura del sistema que no se ha capturado con los casos de uso? 37 38 Casos de uso: Peligros Casos de uso - Ejemplos 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 especifican la totalidad de la funcionalidad del sistema y otra cosa es demostrar que se ha capturado por completo la funcionalidad del sistema en un conjunto de casos de uso. usuario operador Cajero automático sacar dinero Consulta de saldo recarga móvil administración sistema del banco emisor Compañía telefónica 39 40 10

CU-003 Descripción Secuencia Normal Sacar dinero El sistema deberá permitir al cliente del banco, en cualquier momento, sacar dinero según se describe en el siguiente caso de uso: 1+ El usuario inserta la tarjeta en el cajero 2 + El cajero lee el código de la banda magnética de la tarjeta y verifica si es aceptable y pide el código del usuario 3+ El usuario introduce el código 4 + Si el código es correcto, el cajero pide al usuario que seleccione el tipo de transacción deseada 5+ El usuario selecciona la función 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 envía la petición al sistema del banco 9 a Si conecta el sistema deberá comp robar si hay dinero en la cuenta 9 b Si no conecta el sistema deberá comprobar si el dinero es menos que el límite 1 2 3 4 Cajero automático: secuencia normal El sistema visualiza un mensaje de bienvenida en la pantalla El usuario inserta la tarjeta en el cajero El sistema lee el código de la banda magnética de la tarjeta, verifica si es aceptable El sistema pide el PIN al usuario Excepciones 10 En cualquiera de los dos casos el sistema: + expulsa la tarjeta + imprime el recibo + entrega el dinero 2' La tarjeta no es aceptada + Se expulsa emitiendo un sonido 4' Código incorrecto (1,2) + Se emite un mensaje dando al usuario la oportunidad de volver a introducir el código (paso 3) 4'' Código 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 información 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 transacción, con lo que se expulsa la tarjeta 41 5 6 7 8 9 El usuario introduce el código El sistema valida el PIN El sistema pide al usuario que seleccione el tipo de transacción deseada El usuario selecciona la función sacar dinero, El sistema pide al usuario que teclee la cantidad deseada 42 Cajero automático: secuencia normal Ejemplo de un Cajero automático 10 11 12 13 14 15 16 El usuario teclea la cantidad que quiere sacar El sistema comprueba que tiene billetes suficientes El cajero envía la petición al sistema del banco emisor El banco emisor confirma que hay fondos El sistema imprime un recibo El sistema expulsa la tarjeta El sistema entrega el dinero Excepciones: o La tarjeta no es aceptada + Se expulsa emitiendo un sonido o Código incorrecto + Se emite un mensaje dando al usuario la oportunidad de volver a introducir el código o No autorizado para sacar dinero + El sistema de banco no autoriza a sacar dinero. Se emite un mensaje de información y se expulsa la tarjeta o No hay dinero + El cajero no dispone de la cantidad pedida. Emite un mensaje y expulsa la tarjeta o Cancelar + En cualquier momento el usuario puede cancelar la transacción, con lo que se expulsa la tarjeta 43 44 11

Cajero automático: excepciones Casos de uso - Ejemplos 3 6 6 11 13 13... Si la tarjeta no es aceptada, el sistema la expulsa emitiendo un sonido. El caso de uso termina. Si el usuario introduce un código erróneo, el sistema pide de nuevo el PIN y el caso de uso continua en el paso 5 Si el usuario introduce un código erróneo por tercera vez, el sistema retiene la tarjeta y el caso de uso termina. El sistema no tiene suficiente dinero y emite un mensaje y el caso de uso continua en el paso 9 Si el banco emisor no autoriza a sacar dinero, el sistema emite un mensaje de información y el caso de uso continua en el paso 7 Si no se consigue comunicación y la cantidad excede del límite máximo, el sistema emite un mensaje de información y el caso de uso continua en el paso 9 45 Médico Monitor cardiaco Impresión impulsos card. Disparo si algo está fuera de lo normal MonitorRemoto Paciente Almacén de diagramas El diagrama representa el ejemplo de casos de uso para especificar el funcionamiento de una máquina que controla la actividad cardiaca de un paciente. 46 Casos de uso - Ejemplos Casos de uso - Ejemplos Venta por catalogo telefónico Comprobación del estado Realización de un pedido Vendedor Peticiones al catálogo con pedidos Realización de un pedido <<include >> <<include >> <<include >> Orden de pago Cliente Completar pedido Empleado Información suministrada por el Cliente Pedido de productos Establecer credito Supervisor 47 48 12

Casos de uso: Especificación e implementación La especificación 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 es especificado como un diagrama de secuencia (diálogo actor/sistema con paso de mensajes entre ellos) una máquina de estados, incluyendo el diagrama de actividad. Las transiciones son etiquetadas por intercambios de mensajes. Casos de uso: Implementación La relación entre los casos de uso y su implementación es una Realización. La implementación de un caso de uso puede ser vista como una colaboración: 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 cuestión. La vista de los casos de uso es una descripción funcional de las necesidades estructuradas con respecto a un actor Un tipo de caso de uso se puede instanciar: normalmente al menos un escenario indica la secuencia de interacciones entre los actores y el sistema. 49 50 Transición hacia los objetos Transición hacia los objetos Una descomposición que siga directamente la forma de los casos de uso conduce a una aproximación estructurada clásica, con todos los defectos de las estructuras funcionales Realización de un pedido <<include >> <<include >> Orden de pago Realización de un pedido <<include >> Información suministrada por el Cliente <<include>> << include>> Orden de pago Pedido de productos <<include >> Información suministrada por el Cliente Pedido de productos Orden de pago Pedido de productos Realización de un pedido? Información suministrada 51 52 13

Transición hacia los objetos Transición hacia los objetos Es necesario realizar un paso al mundo de los objetos Se efectúa asociando una colaboración a cada caso de uso La colaboración describe objetos del ámbito, las conexiones entre estos objetos y los mensajes que intercambian éstos La realización de un caso de uso por una colaboración es momento crucial del modelado; es el momento del cambio hacia la orientación a objeto Caso de uso Colaboración <<Realiza>> <<Participa>> <<Participa>> <<Participa>> Objeto Objeto Objeto 53 54 14