La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Caso de estudio: Un sistema de mensajería

Presentaciones similares


Presentación del tema: "Caso de estudio: Un sistema de mensajería"— Transcripción de la presentación:

1 Caso de estudio: Un sistema de mensajería
ELO-329:Diseño y programación orientados a objetos

2 Descripción general Usaremos texto a cambio de voz, teclas del teléfono y denotar el colgar. # solos en una línea significarán teclas del teléfono. H sobre una línea significa colgar. Toda otra entrada significará voz. Es posible definir una GUI adecuada, por ejemplo poniendo botones para las teclas y campos de texto para los mensajes. Dejaremos esto de lado.

3 Análisis: como herramienta usaremos definición de casos de uso.
Caso de uso “Dar con una extensión.” 1. Usuario digita el número principal del sistema. 2. El sistema responde: Ingrese el número de la casilla seguido de # 3. El usuario digita el número de la extensión. 4. El sistema responde Usted ha dado con la casilla xxxx. Por favor deje su mensaje ahora.

4 Caso de uso: Dejar un mensaje
1. El llamador lleva a cabo el caso “dar con una extensión”. 2. Llamador expresa su mensaje 3. Llamador cuelga 4. EL sistema deja el mensaje en la casilla.

5 Caso de uso: “Log in” 1. EL dueño de la casilla desarrolla el caso “Dar con una extensión” 2. El dueño de la casilla digita su password y # (Default password = número de casilla. Para cambiarla, ver “Cambio de código de entrada”) 3. El sistema reproduce el menú de la casilla: Ingrese 1 para administrar sus mensajes. Ingrese 2 para cambiar su código de entrada. Ingrese 3 para cambiar su saludo.

6 Caso de uso: Escuchar Mensajes.
1. El dueño de la casilla lleva acabo el “Log in” 2. El dueño de la casilla selecciona la opción ”escuchar mensajes" del menú. 3. El sistema responde con el menú: Presione 1 para escuchar el mensaje actual Presione 2 para borrar el mensaje actual Presione 3 para grabar el mensaje actual Presione 4 para volver al menú de la casilla. 4. El dueño de la casilla selecciona ”escuchar el mensaje actual" 5. El sistema reproduce el mensaje nuevo mensaje más actual, o si no hay nuevos mensajes, el menos antiguo. Nota: Mensajes reproducidos no implica que se remuevan de la cola. 6. El sistema reproduce el menú de mensajes. 7. Usuario selecciona “borrar mensaje actual”. 8. El sistema remueve el mensaje. 9. Continúa con paso 3.

7 Caso de uso: Escuchar un Mensaje
Variación #1 1.1. Llegar hasta paso 6 1.2. Usuario Selecciona ”grabar mensaje actual". El mensaje es removido de la cola de mensaje nuevos y es puesto en la de antiguos. 1.3. El caso de uso continúa en paso 3.

8 Caso de uso: Cambio de mensaje de saludo
1. El dueño de la casilla lleva a cabo el caso “Log in” 2. El dueño de la casilla selecciona la opción “Cambio de mensaje de saludo” del menú. 3. El dueño de la casilla dice el nuevo mensaje de saludo. 4. El dueño presiona # 5. El sistema configura el nuevo saludo.

9 Variante caso: Cambio de mensaje de saludo.
Variación #1: Cuelga antes de confirmar. 1.1. Comenzando de paso 3. 1.2. EL dueño cuelga. 1.3. El sistema mantiene le antiguo mensaje de saludo.

10 Caso de uso: Cambio de password
1. El dueño de la casilla lleva a cabo el caso “Log in” 2. El dueño selecciona la opción ”cambio de password” del menú. 3. El dueño digita el nuevo código de paso. 4. El dueño presiona # 5. El sistema configura la nueva password.

11 Variación a caso de uso: Cambio de password.
Variación #1: Cuelga antes de confirmar. 1.1. Comienza en paso 3 1.2. El dueño cuelga. 1.3. El sistema mantiene la antigua password.

12 Análisis/Diseño Tarjetas CRC para sistema de mensajería.
Algunas clases que parecen obvias * Casilla * Mensaje * SistemaMensajería

13 Tarjetea CRC Iniciales
Para Casilla (Mailbox) Para Cola de mensajes Sistema de Mensajería

14 Teléfono ¿Quién interactúa con el usuario?
El teléfono toma los ingresos vía teclado y voz. El teléfono reproduce los mensajes al usuario. Así el teléfono puede ser:

15 Conexión ¿Con quién se comunica el teléfono?
Con el sistema de mensajería? Qué tal si hay múltiples teléfonos? Cada conexión puede estar en diferente estado (marcando, grabando, recuperando un mensaje, ...) Debería el sistema de mensajería seguir la pista de todas las conexiones? Es mejor dar esta responsabilidad a una nueva clase.

16 Conexión

17 Análisis de casos de uso:
Caso de uso: Dejar un mensaje 1. Usuario digita extensión. El teléfono envía número a conexión. (Agregar Conexión como colaborador de teléfono.) 2. Conexión pide al sistema de mensajería buscar una casilla. 3. Conexión pide a casilla el mensaje de saludo. (Agregar responsabilidad “Administrar saludo” a casilla, agregar Casilla como colaborador de conexión) 4. Conexión pide a Teléfono reproducir el saludo. 5. Usuario dice el mensaje. El teléfono pide a conexión grabarlo. (Agregar responsabilidad “grabar entrada de voz” en conexión) 6. Usuario cuelga. Teléfono notifica a Conexión. 7. Conexión construye Mensaje. (Agregar tarjeta para clase Mensaje, agregar Mensaje como colaborador de Conexión) 8. Conexión agrega mensaje a casilla.

18 Resultado del Análisis

19 Análisis de caso de uso: Escuchar un mensaje.
1. Usuario tipea password. Teléfono notifica a conexión. 2. Conexión pide a casilla chequear la password. (agregar responsabilidad “Administrar password” a casilla). 3. Conexión define casilla actual y pide a teléfono reproducir menú. 4. Usuario selecciona ”administrar mensajes". Teléfono pasa tecla a Conexión. 5. Conexión pide a Teléfono reproducir menú. 6. Usuario selecciona ”escuchar mensaje actual". Teléfono pasa tecla a conexión. 7. Conexión obtiene primer mensaje desde la casilla actual (agregar ”obtener mensaje" como responsabilidad de casilla). Conexión pide al teléfono reproducir en mensaje. 8. Conexión pide a teléfono reproducir menú. 9. Usuario Selecciona ”grabar mensaje actual". Teléfono pasa tecla a conexión 10. Conexión pide a casilla grabar el mensaje (Modificar responsabilidad de Casilla para “recuperar, grabar, borrar mensajes”) 11. Conexión pide a teléfono reproducir menú.

20 Resultado de análisis

21 Diagramas UML: Dependencia

22 Diagramas UML: Diagrama de clases

23 Diagramas UML: Diagrama de secuencia: Dejar un mensaje

24 Diagramas UML: Diagrama de secuencia: Escuchar mensaje

25 Diagramas de estado de una conexión

26 Implementación Message.java MessageQueue.java Mailbox.java
Connection.java MailSystem.java Telephone.java MailSystemTest.java Todas aquí


Descargar ppt "Caso de estudio: Un sistema de mensajería"

Presentaciones similares


Anuncios Google