Tema 4f: Proceso Unificado: Diseño



Documentos relacionados
Tema 4e: Proceso Unificado: Análisis

PROCESO UNIFICADO: DISEÑO

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

UN EJEMPLO: EL PROCESO UNIFICADO DE DESARROLLO (1ª parte)

Sistemas de Información II. Diseño de Sistemas Orientado a Objetos

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

UML: CASOS DE USO Y DIAGRAMA DE CASOS DE USO

Ejercicio Guiado de Análisis y Diseño Orientado a Objetos. Ejemplo: CAJERO AUTOMÁTICO

Diagramas de Casos de uso

TEMA 4. PROCESO UNIFICADO

Tema 4g: Proceso Unificado: Implementación

Introducción a la orientación a objetos y a UML

Tema 4: Diagramas de Casos de Uso

INGENIERÍA WEB. Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Otoño de 2017

Nombre de la asignatura : Análisis y Diseño Orientado a Objetos. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB-

TEMA 5: INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE. Definición de Ingeniería del Software

LAS ETAPAS DE LA METODOLOGIA METRICA

Documentación de Requisitos con Casos de Uso

UN EJEMPLO: EL PROCESO UNIFICADO DE DESARROLLO (1ª parte)

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

PLANEACIÓN ESTRATÉGICA

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE

Se utiliza para representar los tipos de objetos dentro del sistema (proceso) y las diversas relaciones estáticas que existen entre ellos

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

Ingeniería del Software de Gestión

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

Introducción

Tema 9: Método de Craig Larman

Análisis y Diseño de Sistemas Departamento de Sistemas - Facultad de Ingeniería

Tema 13 Modelos de Representación de Diagramas

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas.

Lenguajes de Cuarta Generación (4GL)

Realizar en una hoja blanca el diseño de su menú de navegación y la abstracción de los elementos principales de su proyecto.

UML (Unified Modeling Language) Octubre de 2007

ITIL V3 Entender el enfoque y adoptar las buenas prácticas

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

Introducción a la programación orientada a objetos

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

PROGRAMACIÓN ALGORITMOS y DIAGRAMAS

UML: Lenguaje Unificado de Modelado

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

El Ciclo de Vida del Software

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

Exámenes de febrero de 2005 Enunciados y soluciones

Caracterización de los Procesos de Negocio

Diagramas de Estructura

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

TEMA 2: CICLO DE VIDA DEL SOFTWARE. Profesora: Elisa Herrmann

descripción del argumento identificador tipo longitud condición restricción

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

Framework Atlas. Introducción. Unidad de Arquitectura y Soporte de Aplicaciones Área de Aplicaciones Especiales y Arquitectura de Software DIAS

Diseño Dirigido por Responsabilidades con los patrones GRASP. Pearson Educación, S.A. Todos los derechos reservados.

Desarrollo de Software a gran escala. Sesión 2: Administración de Proyectos de Software

Pago de Facturas. Documento de Construcción. Copyright 2014 Bizagi

Diagrama de Casos de Uso (DCU)

Alumno: Jorge Martínez Barceló Consultor: Manel Rella UOC TFC Base de Datos Relacionales. Junio 2015

MODELO DE CASCADA PURA. Son métodos que indican cómo hacer más eficiente el desarrollo de sistemas de

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

GUÍA DE APRENDIZAJE. Módulo VI Seis Sigma. Aprendizaje sin fronteras

Guía práctica de estudio 09: UML

TEMA 4. PROCESO UNIFICADO

Diagramas De Casos De Uso

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

Justificación de los requisitos de la Norma UNE-EN ISO 9001:2000 mediante análisis de causas por el diagrama de Ishikawa

Diagramas UML JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING

El Proceso Unificado de Desarrollo

Titulación de Formación Profesional: TÉCNICO SUPERIOR EN ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED (Real Decreto1629/2009, de 30 de octubre)

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

Sesión 1. Porque es útil usar UML Sesión 2. Casos de uso Modelo del Negocio Sesión 3. Diagramas de Casos de Uso Sesión 4. Diagrama de Actividad

MANUAL DE TALLERES INGENIERÍA DE SOFTWARE

PLANIFICACIÓN DE INGENIERÍA DEL SOFTWARE

Diagramas de Casos de uso

Programación Avanzada. Desarrollo Orientado a Objetos basado en UML

EVS. Estudio de Viabilidad del Sistema

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

Interacción Persona - Ordenador

Índice PROCEDIMIENTO GENERAL RAZÓN SOCIAL DE LA EMPRESA. Elaboración de un mapa de procesos. Código PG-32 Edición 0

IBM Rational Rhapsody V7.5 ofrece un ágil entorno de desarrollo de software para la creación rápida de software, documentación, requisitos y pruebas

INGENIERÍA DE SOFTWARE. Sesión 9: Diagramas de casos de uso

Elementos Diagramas de Clases Clase:

INDICE Capitulo 1. Introducción Capitulo 2. Modelo entidad relación Capitulo 3. Modelo Relacional Capitulo 4. Lenguajes relacionados comerciales

Cristian Blanco

Análisis y Diseño de Sistemas

UML Unifield Modeling Languaje

Figura 1. Tipos de mensaje.

TEMA 6: INTRODUCCIÓN A UML

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.

El Ciclo de Vida del Software

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

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

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

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

Bloque 1. La sociedad de la información y el ordenador

Algoritmos y Diagramas de flujo

LINEAMIENTOS DE CONTENIDOS

UML. (Unified Modeling Language) Lenguage Unificado de Modelado

Transcripción:

Tema 4f: Proceso Unificado: Diseño Marcos López Sanz

Índice Visión general Artefactos Modelo de diseño Clases de diseño Realización en diseño de los casos de uso Subsistemas en diseño Interfaz Actividades Diseño de los casos de uso Diseño de las clases Diseño de subsistemas

Visión general Flujos de trabajo Planificación Anál. Riesgos Preparación Elaboración Fases Construcción Verificación Transición Requisitos Análisis Diseño Implementación Prueba Iteración(es) Inicial(es) Iter. #1 Iter. #2 Iter. #3 Iter. #4 Iter. #5 Iter. #6 Iter. #7 (Adaptado de Jacobson, 1999)

Visión general Modelo de análisis Modelo de diseño Modelo de casos de uso Modelo de despliegue Modelo de implementación Modelo de pruebas

Visión general Requisitos Modelo de Casos de Uso Dependencia de traza Análisis Modelo de Análisis Diseño Modelo de Diseño Modelo de Despliegue Implementación Modelo de Implementación Pruebas Modelo de Pruebas

Diagramas UML Modelo de Casos de Uso Modelo de Análisis Modelo de Diseño Modelo de Despliegue Modelo de Implementación Diagramas de Casos de Uso Diagramas de Clases Diagramas de Objetos Diagramas de Secuencia Diagramas de Colaboración Diagramas de Estados Diagramas de Actividad Incluidos subsistemas Diagramas de Interacción Modelo de Pruebas Diagramas de Componentes Diagramas de Despliegue Incluidas clases activas y componentes

Visión general Modelo de Análisis Modelo conceptual Modelo físico Modelo de Diseño Pueden obtenerse varios diseños Específico a una implementación Menos formal Más formal Menos caro de desarrollar Puede eliminarse Más caro (5 veces más) Debe mantenerse durante todo el ciclo de vida

Visión general Objetivos del diseño: Acercar el modelo de análisis al modelo de implementación Los milagros más comunes de la ingeniería del software son las transiciones desde el análisis hasta el diseño y desde el diseño al código. Richard Due Identificar requisitos no funcionales y restricciones en relación a: Lenguajes de programación, reutilización de componentes, sistemas operativos, tecnologías de distribución, concurrencia, bases de datos, interfaces de usuario, gestión de transacciones, etc. Descomponer el modelo de análisis en subsistemas que puedan desarrollarse en paralelo Definir la interfaz de cada subsistema Derivar una representación arquitectónica del sistema 8

Artefactos Modelo de diseño Casos de uso en el dominio de la solución Cómo soportar requisitos funcionales/no funcionales y otras restricciones en el entorno de implementación Entrada fundamental para actividades de implementación * * Modelo de diseño Subsistemas de diseño * * * * * * Interfaz Clases de diseño Realización en diseño

Artefactos Clases de diseño Una clase de diseño es una abstracción de una clase de implementación Las operaciones, atributos, tipos, visibilidad (public, protected, private, etc...), se pueden especifican con la sintaxis del lenguaje elegido Las relaciones entre clases de diseño se traducen de manera directa al lenguaje: Generalización herencia Asociaciones, agregaciones atributos Se pueden postergar algunos requisitos a implementación (manera de nombrar los atributos, operaciones, etc...) Realizan interfaces

Artefactos Clases de diseño: Ejemplo Cuenta Transacción cuenta : Cuenta cantidad: Dinero opera 1..2 saldo : Dinero limitediario: Dinero = 300 reintegro(cantidad : Dinero) : Boolean ingreso(cantidad : Dinero) : Boolean

Artefactos Realización de los casos de uso en diseño: Es una colaboración que describe cómo se realiza en diseño un caso de uso en términos de clases de diseño y sus interacciones Modelo de análisis Modelo de diseño <<trace>> Realización en análisis Realización en diseño

Artefactos Realización de los casos de uso en diseño: MODELO DE ANÁLISIS Interfaz del cajero Transacción Cuenta Dispositivo de visualización Expendedor Dinero Cuenta Teclado Recogedor Dinero.. MODELO DE DISEÑO Lector de Tarjetas Gestor de Cliente Gestor de Transacciones Gestor de Cuentas

Artefactos La realización en diseño de un caso de uso incluye: Diagramas de clases: clases participantes Diagramas de interacción: escenarios del caso de uso Descripción textual del flujo de eventos Requisitos de implementación Opcionalmente: subsistemas e interfaces Realización en diseño (from Use Case View) participante Clase de diseño participante Subsistema de diseño 14

Artefactos Diagramas de clase Una clase de diseño puede participar en varios casos de uso Algunas responsabilidades, atributos y asociaciones suelen ser específicos de un sólo caso de uso. Lector de Tarjetas Reintegro Gestor de Transacciones Cliente Dispositivo de visualización Teclado Gestor de Cliente Expendedor Dinero Gestor de Cuentas Cuenta

Diagramas de interacción Diseño Artefactos La secuencia de acciones en un caso de uso comienza cuando un actor envía un mensaje a un objeto de diseño Utilizar mejor diagramas de secuencia que de colaboración: interesa la secuencia cronológica de las interacciones Se pueden incluir subsistemas y las interfaces que proporcionan

Artefactos Diagramas de interacción diagramas de secuencia :Cliente del Banco :Lector de Tarjetas :Dispositivo de visualización :Teclado :Gestor de Cliente :Expendedor Dinero :Gestor de Transacciones 1: Introducir tarjeta 2: Tarjeta introducida (ID) 4: Mostrar petición 3: Solicitar PIN 5: Especificar código PIN 6: Código PIN (PIN) 7: Solicitar Validación de PIN (PIN)

Artefactos Flujo de eventos Para clarificar los diagramas de secuencia: descripción textual Una descripción no tiene que ser local a un diagrama. Puede englobar a varios e indicar cómo se relacionan. Requisitos de implementación Requisitos a gestionar en implementación Quizás durante esta fase de diseño se obtengan algunos nuevos Representarlos con restricciones {...} asignadas a las clases de diseño, operaciones, atributos, asociaciones, etc.

Artefactos Subsistemas de diseño Para organizar los artefactos de diseño: clases de diseño, realización de casos de uso, interfaces y otros subsistemas Fuertemente cohesionados y débilmente acoplados Proporciona 1 * Subsistemas de diseño * * * Interfaz Clases de diseño Realización en diseño 1.- representa la funcionalidad que exporta en términos de operaciones

Artefactos Interfaces Los interfaces se utilizan para especificar las operaciones de las clases y los subsistemas de diseño Las clases de diseño soportan las operaciones de su interfaz mediante métodos. Los subsistemas de diseño soportan las operaciones de su interfaz mediante las clases de diseño (o subsistemas) que contiene. Interfaz * realiza * Clases de diseño realiza Subsistemas de diseño

Ejemplo Para ilustrar las actividades, utilizaremos el ejemplo del cajero automático Sacar dinero <<include>> Cliente del banco Ingresar dinero Transferencia <<include>> <<include>> Validar usuario

Actividades Actividades de diseño Diseño de los casos de uso Diseño de las clases Diseño de subsistemas

Actividades Diseño de los casos de uso Identificar las clases de diseño y/o subsistemas necesarios para la realización del caso de uso Distribuir el comportamiento del caso de uso entre las clases y/o subsistemas de diseño

Actividades Diseño de los casos de uso Identificar las clases de diseño Derivar las clases de diseño de las correspondientes clases de análisis que participan en el caso de uso Estudiar los requisitos especiales del caso de uso: realizarlos con los mecanismos genéricos de diseño o con clases de diseño Asignar responsabilidades a las clases identificadas Realizar un diagrama de clases que muestre las clases de diseño que intervienen en la realización del caso de uso y las relaciones entre ellas

Actividades Diseño de los casos de uso Identificar las clases de diseño Validar usuario Realización en diseño LectorDeTarjetas GestorDeCliente UsuariosDelBanco Pantalla Teclado Transacción

Actividades Diseño de los casos de uso Describir interacciones entre objetos de diseño Utilizar diagramas de secuencia objetos, instancias de actores, enlaces Comenzar estudiando la realización en análisis del caso de uso Sobre los diagramas de secuencia: el caso de uso comienza cuando una instancia de un actor envía un mensaje a un objeto interfaz cada clase de diseño identificada debería tener al menos un objeto participando en el diagrama de secuencia En esta fase gestionar excepciones y errores (entradas incorrectas, situaciones anormales, etc.)

Actividades Diseño del c.u. Validar usuario : secuencia correcta : Cliente del banco :LectorDeTarjetas : Pantalla : Teclado : Transacción : GestorDeCliente : UsuariosDelBanco 1: introducirtarjeta 2: datostarjeta (datos) 3: visualizar (Introducir PIN) 4: OK 5: introducirpin (PIN) 6: datospin (PIN) 7: autentica (datos, PIN) 8: valida (datos, PIN) 9: OK 13: visualizar (opciones) 12: visualizar (opciones) 11: presenta (opciones) 10: almacenadatos (datos)

Actividades Diseño del c.u. Validar usuario : código incorrecto : Cliente del banco :LectorDeTarjetas : Pantalla : Teclado : Transacción : GestorDeCliente : UsuariosDelBanco 1: introducirtarjeta 2: datostarjeta (datos) 3: visualizar (Introducir PIN) 4: OK 5: introducirpin (PIN) 6: datospin (PIN) 7: autentica (datos, PIN) 8: valida (datos, PIN) 9: error 13: visualizar (error PIN) 12: visualizar (error PIN) 11: presenta (error PIN)

Actividades Diseño del caso de uso Sacar dinero Suponemos que el usuario ya ha sido identificado (se ha ejecutado el caso de uso anterior) Ahora selecciona la opción sacar dinero Sacar dinero Realización en diseño Pantalla Teclado Expendedor Dinero Transacción Cuenta GestorDeCliente Cuentas

Actividades Diseño del c.u. Sacar dinero Añadimos la clase Cuentas que asocia número de cuenta con una instancia de la clase Cuenta. La clase Transacción ya no actuará directamente sobre Cuenta. 1: ingreso (numerodecuenta, importe) : Transacción : Cuentas Vista parcial del diagrama (modelo de análisis) 2: ingreso (importe) : Cuenta

Actividades Refinando el caso de uso Sacar dinero 1 UsuariosDelBanco 1..n autentica opera posee 1..n 1..2 Cliente del banco Interfaz de cajero Transacción Cuentas Cuenta

Actividades Refinando el c. u. Sacar dinero : secuencia correcta : Cliente del banco : Teclado : Pantalla : ExpDinero : Impresora : GestorDeCliente : Transacción : Cuentas : Cuenta 1: opcion (sacar dinero) 2: sacardinero 3: visualizar (Teclee importe) 4: IntroducirImporte 5: importe 6: retirardinero (importe) 7: reintegro (cuenta, importe) 11: OK 10: OK 8: reintegro (importe) 9: OK 13: visualizar (Retire su tarjeta) 16: visualizar (Retire su dinero) 12: visualizar (Retire su tarjeta) 14: expulsa (importe) 15: visualizar (Retire su dinero) Qué pasa con la impresora?

Actividades Refinando el c. u. Sacar dinero : no hay fondos : Cliente del banco : Teclado : Pantalla : ExpDinero : Impresora : GestorDeCliente : Transacción : Cuentas : Cuenta 1: opcion (sacar dinero) 2: sacardinero 3: visualizar (Teclee importe) 4: IntroducirImporte 13: visualizar (No dispone de saldo suficiente) 5: importe 12: visualizar (No hay saldo) 6: retirardinero (importe) 7: reintegro (cuenta, importe) 8: reintegro (importe) 9: no hay saldo 10: no hay saldo 11: no hay saldo 15: visualizar (Retire su dinero) 14: visualizar (Retire su dinero) Falta: - se ha superado el límite diario - en el cajero no hay dinero

Modelo de clases de diseño Diseño Actividades Recogedor Dinero UsuariosDelBanco Impresora Cliente del banco LectorDeTarjetas GestorDeCliente Transacción Pantalla Cuentas Teclado ExpDinero Cuenta

Actividades Diseño de las clases Identificar las responsabilidades de las clases de diseño (papeles en los casos de uso) Identificar: operaciones atributos relaciones en las que participa estados (diagramas de estados) métodos que soportan sus operaciones requisitos nuevos

Actividades Diseño de las clases: Identificar operaciones En el lenguaje de implementación Mirar responsabilidades que tiene en los casos de uso Identificar atributos Describirlos en el lenguaje de programación Considerar los atributos de las clases de análisis de las que se derivan Identificar asociaciones y agregaciones Las interacciones en los diagramas de secuencia precisan de asociaciones entre las clases que interactúan Minimizar el número de relaciones entre clases (disminuir el acoplamiento) Refinar multiplicidad, papeles, etc. Refinar la navegabilidad (dirección) de las asociaciones en base a los diagramas de secuencia Identificar generalizaciones-especializaciones

Actividades Diseño de las clases: Describir métodos Algoritmos para implementar alguna operación (lenguaje natural) Esqueletos de métodos generado por la herramienta En general, esto se suele hacer en implementación Describir estados Algunos objetos reaccionan en función de su estado actual Utilizar diagramas de transición de estados

Modelo de clases de diseño: Diseño Actividades Pantalla LectorDeTarjetas visualizar(mensaje : String) crearpantalla() : Pantalla crearlector() : LectorDeTarjetas leertarjeta() : datostarjeta Teclado crearteclado() : Teclado leerpin() : unpin leeropcion() : unaopcion leercantidad() : Dinero leernumcuenta() : unidcuenta GestorDeCliente crear() : GestorDeCliente iniciarsesion() Impresora crearimpresora() : Impresora imprimir(mensaje : String) ExpendedorDinero crear() : ExpendedorDinero expulsar(importe : Dinero) RecogedorDinero crearcajon() : CajonDinero abrircajon() cerrarcajon() contarcantidad() : Dinero

Modelo de clases de diseño: Diseño Actividades micliente : GestorDeCliente datostarjeta : DatosTarjeta numintentosfallidos : 1..3 = 0 cuentas : Cuentas usuarios : UsuariosDelBanco Transacción almacenardatos(datos : DatosTarjeta) validar(importe : Dinero, cantidad : Dinero) autenticar(datos : DatosTarjeta, PIN : UnPIN) : Boolean retirardinero(importe : Dinero) : Boolean ingresardinero(importe : Dinero) : Boolean trasnsferencia(cuentaorigen : Cuenta, cuentadestino : Cuenta, importe : Dinero) : Boolean GestorDeCliente mitransaccion : Transacción crear() : GestorDeCliente iniciarsesion() visualizar(resultados : String) Cuentas cuentas : Dictionary reintegro(cuenta : Cuenta, importe : Dinero) : Boolean ingreso(cuenta : Cuenta, importe : Dinero) : Boolean UsuariosDelBanco usuarios : Dictionary validar(datos : DatosTarjeta, PIN : UnPIN) : Boolean Cuenta datos : DatosCuenta limitediario : Dinero = 300 reintegro(importe : Dinero) : Boolean ingreso(importe : Dinero) : Boolean

Actividades Diseño de una clase: La única clase que tiene un comportamiento parecido a una máquina de estados es GestorDeCliente Realizar el diagrama de transición de estados del sistema Cajero Automático

Actividades Diseño de una clase: tarjeta introducida Esperando tarjeta Leyendo tarjeta PIN introducido( PIN ) Esperando PIN Recogiendo tarjeta [ > 3 intentos ] Validando PIN [ correcto ] [ incorrecto ] Ingresando ingreso( importe ) Esperando opción reintegro (importe ) Reintegrando transferencia( cuenta, importe ) Transferencia [ Not OK ] [ OK ] Expulsando dinero dinero retirado Expulsar tarjeta

Actividades Diseño de los subsistemas: Intentar que los subsistemas de diseño estén débilmente acoplados Intentar que las clases dentro de los subsistemas tengan una alta cohesión Describir las dependencias entre los subsistemas Determinar qué clases de unos subsistemas interactúan con qué otras clases de otros subsistemas Asegurarse que el subsistema soporta sus interfaces Objetivos: Subsistemas independientes Garantizar corrección de interfaces Garantizar la realización de dichas interfaces

Ejemplo Refinando el c. u. Ingresar dinero : Ingresar dinero Realización en diseño Pantalla Teclado RecogedorDinero Cuenta Transacción Cuentas GestorDeCliente

Ejemplo Refinando el c. u. Ingresar dinero : secuencia correcta : Cliente del banco 1: opcion (ingresar dinero) : Teclado : Pantalla : Recogedor Dinero 2: ingresardinero : GestorDeCliente : Transacción : Cuentas : Cuenta 3: visualizar (Teclee importe) 4: IntroducirImporte 8: IntroduceDinero 5: importe 6: visualizar (introducir dinero) 7: abrircajon 9: ContarDinero (cantidad) 10: validar (importe, cantidad) 11: ingresardinero (importe) 18: visualizar (Dinero ingresado) 20: visualizar (Retire su tarjeta) 17: visualizar (Dinero ingresado) 19: visualizar (Retire su tarjeta) 16: OK 12: ingreso (cuenta, importe) 15: OK 13: ingreso (importe) 14: OK

Ejemplo Refinando el c. u. Ingresar dinero : cantidad incorrecta : Cliente del banco : Teclado : Pantalla : Recogedor Dinero :GestorDeCliente 1: opcion (ingresar dinero) 2: ingresardinero 4: IntroducirImporte 8: recogerdinero 3: visualizar (Teclee importe) 5: importe 6: visualizar (introducir dinero) 7: abrircajon 9: dinero (cantidad) 10: validar (importe, cantidad) 14: dinerorecogido 11: visualizar (Cantidad errónea) 12: visualizar (Retire su dinero) 13: abrircajon 15: recogido 16: cerrarcajon 17: visualizar (Retire su tarjeta)

Ejemplo Refinando el c. u. Transferencia : Transferencia Realización en diseño, transferencia Teclado Pantalla Transacción Cuenta GestorDeCliente Cuentas

Ejemplo Refinando el c. u. Transferencia : secuencia correcta : Cliente del banco : Teclado : Pantalla : GestorDeCliente : Transacción : Cuentas : Cuenta 1: opcion (transferencia) 2: transferencia 3: visualizar (Teclee importe) 4: IntroducirImporte 7: cuentadestino (cuenta) 5: importe 6: visualizar (Teclee cuenta destino) 8: cuentadestino (cuenta) 9: transferencia (cuentaorigen, cuentadestino,importe) 10: reintegro (cuentaorigen, importe) 13: OK 11: reintegro (importe) 12: OK 14: ingreso (cuentadestino, importe) 15: ingreso (importe) 17: OK 16: OK 18: OK 19: visualizar (Transferencia realizada) 20: visualizar (Retire su tarjeta)

Ejemplo Refinando el c. u. Transferencia : no hay fondos : Cliente del banco : Teclado : Pantalla : GestorDeCliente : Transacción : Cuentas : Cuenta 1: opcion (transferencia) 2: transferencia 3: visualizar (Teclee importe) 4: IntroducirImporte 7: cuentadestino (cuenta) 5: importe 6: visualizar (Teclee cuenta destino) 8: cuentadestino (cuenta) 9: transferencia (cuentaorigen, cuentadestino,importe) 10: reintegro (cuentaorigen, importe) 11: reintegro (importe) 12: no hay saldo 14: no hay fondos 13: no hay saldo 15: visualizar (No hay fondos) 16: visualizar (Retire su tarjeta)