La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Ingeniería del Software Ejercicio 2: P2P  Examen Febrero 2005 (1h ¼)  Diagrama de Casos de Uso y  Casos de uso expandido (2,5 puntos)  Modelo de.

Presentaciones similares


Presentación del tema: "1 Ingeniería del Software Ejercicio 2: P2P  Examen Febrero 2005 (1h ¼)  Diagrama de Casos de Uso y  Casos de uso expandido (2,5 puntos)  Modelo de."— Transcripción de la presentación:

1 1 Ingeniería del Software Ejercicio 2: P2P  Examen Febrero 2005 (1h ¼)  Diagrama de Casos de Uso y  Casos de uso expandido (2,5 puntos)  Modelo de Dominio (1 puntos)

2 2 Ingeniería del Software Jerarquía de actores PEER CENTRAL

3 3 PLANIFICADOR Obtener el tren más pesado

4 4 Ingeniería del Software Actor CENTRAL CENTRAL Activar nodo CENTRAL Desactivar nodo CENTRAL

5 5 Ingeniería del Software Modelo de dominio 1* Estación código ciudad permiteCambio? Película título... Pase fecha hora /venta ** Sala códigoSala aforo

6 6 Ingeniería del Software Actor PEER (1) PEER Dar de alta nodo PEER Modificar Recursos > Dar de baja nodo PEER

7 7 Ingeniería del Software Actor PEER (2) PEER Conectar Desconectar Consultar nodo CENTRAL Solicitar recurso >

8 8 Ingeniería del Software Casos de uso de alto nivel (1) Caso de uso: Activar nodo CENTRAL Actores:CENTRAL Tipo:Secundario Descripción:El nodo CENTRAL se pone en marcha. Con ello se inicializa la lista de resursos disponibles y el historial. Caso de uso: Desactivar nodo CENTRAL Actores:CENTRAL Tipo:Secundario Descripción:El nodo CENTRAL deja de estar activo.

9 9 Ingeniería del Software Casos de uso de alto nivel (2) Caso de uso: Dar de alta nodo PEER Actores:PEER Tipo:Secundario Descripción: El nodo PEER se registra en el sistema proporcionando su dirección IP. Caso de uso: Dar de baja nodo PEER Actores:PEER Tipo:Secundario Descripción:El nodo PEER se da de baja del sistema. Se eliminan todos sus datos excepto del historial. Sus recursos dejan de estar disponibles.

10 10 Ingeniería del Software Casos de uso de alto nivel (2) Caso de uso: Conectar nodo CENTRAL Actores:PEER Tipo:Secundario Descripción:El nodo PEER se conecta al nodo CENTRAL. El nodo PEER debe estar registrado. Sus recursos pasan a estar disponibles. Caso de uso: Desconectar nodo CENTRAL Actores:PEER Tipo:Secundario Descripción:El nodo PEER se desconecta del nodo CENTRAL. Sus recursos dejan de estar disponibles.

11 11 Ingeniería del Software Casos de uso de alto nivel (3) Caso de uso: Modificar recursos Actores:PEER Tipo:Secundario Descripción:Los usuarios registrados podrán cambiar el conjunto de recursos a compartir, pero mientras estén registrados al menos deberán dejar algún recurso compartido. (a) Los nuevos recursos compartidos se almacenan en el historial.

12 12 Ingeniería del Software Casos de uso de alto nivel (4) Caso de uso: Consultar nodo CENTRAL Actores:PEER Tipo:Secundario Descripción:Cuando un usuario desea algún recurso, realiza una consulta al nodo CENTRAL para que le indique qué nodos PEER lo facilitan. El nodo CENTRAL sólo proporcionará información de los nodos PEER conectados al sistema en ese momento. Al realizar una búsqueda de recursos, el usuario proporciona una o varias palabras clave. El nodo CENTRAL buscará en las descripciones textuales y nombres de los recursos. La información devuelta por el nodo CENTRAL será una lista de elementos de la forma:, donde IP es el número IP del nodo PEER que facilita el recurso, Nombre el nombre del recurso (fichero o directorio) que se desea compartir y Descripción la descripción textual del recurso.

13 13 Ingeniería del Software Caso de uso de alto nivel (5) Caso de uso: Solicitar recurso Actores:PEER Tipo:Secundario Descripción:Un usuario puede solicitar un recurso proporcionando:. Si el nodo PEER situado en dicha IP está conectado entonces le enviará el contenido del recurso con dicho Nombre y Descripción. (b) El sistema guardará un historial con la información de todos los recursos que en el pasado se han compartido.

14 14 Ingeniería del Software Modelo de dominio (a) 1* Central IP /conectados /registrados... PEER IP conectado /recursos 1* Recurso nombre contenido Fichero descripción Directorio 1* historial

15 15 Ingeniería del Software Modelo de dominio (b) 1* Central IP /conectados /registrados... PEER IP conectado /recursos 1* Recurso nombre contenido Fichero descripción Directorio * * Historial nombre fichero descripción

16 16 Ingeniería del Software Ejercicio 3: Comprar Entradas Numeradas  Examen Febrero 2005 (45 min)  Diagrama de Secuencia de Sistema  Contratos

17 17 Ingeniería del Software Ejercicio 3: Comprar Entradas Numeradas CLIENTE Comprar entradas numeradas TAQUILLERA

18 18 Ingeniería del Software Modelo de dominio 1* Multicine dni tel... 1 * Película título ciclo... /venta Pase fecha /venta Localidad fila asiento vendida ** Sala número aforo

19 19 Ingeniería del Software Caso de uso: Comprar entradas numeradas Actores:Cliente, Taquillera Descripción:Un cliente llega a la taquilla del Multicine y pide las entradas que desea comprar. La taquillera registra los la compra las entradas y recibe un pago en efectivo. Al terminar la operación, el Cliente se marcha con las entradas compradas Curso normal de los eventos: 1.Cliente: Este caso de uso comienza cuando el Cliente llega a la taquilla del Multicine y solicita entradas para una película y un pase. 2.Taquillera: Consulta los pases de la película. 3.Sistema: Presenta la información de los distintos pases disponibles para ese día y las salas que proyectan la película solicitada y su grado de ocupación. 4.Taquillera: Selecciona uno de los pases. 5.Sistema: Presenta un plano de la sala con las localidades libres y las ya vendidas. 6.Taquillera: Le informa de las distintas posibilidades y solicita al Cliente sus preferencias....

20 20 Ingeniería del Software... Cliente: Informa a la taquillera de sus preferencias y escoge alguna posibilidad. Taquillera: Selecciona unas localidades que se ajustan a las preferencias del Cliente. Sistema: Calcula y presenta el importe total. Taquillera: Indica el total al Cliente. Cliente: Efectúa el pago en efectivo. Taquillera: Introduce la cantidad abonada. Sistema: Calcula la diferencia entre pago y el importe. Emite las entradas compradas y registra la venta. Taquillera: Entrega las entradas y el cambio si es que ha pagado en efectivo. Cliente: Se marcha con las entradas compradas. Cursos alternativos: Paso 4. No quedan localidades para el pase solicitado. Informar de otros pases disponibles. Paso 7. El Cliente prefiere no comprar las entradas. Paso 11. El Cliente no dispone de suficiente dinero.

21 21 :Taquillera ConsultarPases(título) : listaInfoPases ConsultarEstadoLocalidades(titulo, sala, fecha) : listaInfoLocalidades SeleccionarLocalidades(listaLocalidades) : importe :Sistema RegistrarVenta(listaLocalidades, importe, monto) : cambio * Diagrama de secuencia de sistema

22 22 Contrato operación ConsultarPases  Name:ConsultarPases(título) : listaInfoPases  Responsabilities Presenta la información de los distintos pases disponibles para ese día y las salas que proyectan la película solicitada y su grado de ocupación.  Preconditions El título de la película es válido  Postconditions  Salida listaInfoPases = lista de salas, fechas (horas) y grados de ocupación (sala.aforo – pase.venta) en las que se proyecta ese día la película solicitada

23 23 Contrato operación ConsultarEstadoLocalidades  Name:ConsultarEstadoLocalidades(título, sala, fecha) : listaInfoLocalidades  Responsabilities Seleccionado un pase, obtener la información de las localidades libres y las ya vendidas  Preconditions El título, sala y fecha son válidos  Postconditions  Salida listaInfoLocalidades = lista de todas las localidades asignadas al pase incluyendo para cada una de ellas fila, columna y si està vendida

24 24 Contrato operación SeleccionarLocalidades  Name:Seleccionarlocalidades(listaLocalidades) : importe  Responsabilities Calcula y presenta el importe total de las localidades seleccionadas en listaLocalidades (lista de ).  Preconditions listaLocalidades es válido  Postconditions  Salida Importe = precio total de las localidades vendidas (cardinalidad de listaLocalidades * precioEntrada)

25 25 Contrato operación RegistrarVenta  Name:RegistrarVenta(listaLocalidades, importe, pago) : cambio  Responsabilities Calcula la diferencia entre el pago y el importe. Emite las entradas compradas y registra la venta: asigna como vendidas todas las localidades de listaLocalidades (lista de ).  Preconditions listaLocalidades es válido, importe <= pago.  Postconditions Para cada localidad l de listaLocalidades l.vendida = true Para el pase p (de la película, sala y fecha), p.venta = p.venta + | listaLocalidades | Para la película p, p.venta = p.venta + | listaLocalidades |  Salida cambio = pago – importe (y emitir las localidades de listaLocalidades)

26 26 Ingeniería del Software Ejercicio 4: Eliminar Pases  Examen Febrero 2005 (45 min)  Diagrama de Secuencia

27 27 :Administrador ObtenerCiclos() : listaCiclos ObtenerPelículas(nombre) : listaPelículasCompleta EliminarPases(listaPelículas, fecha) :Sistema Diagrama de Secuencia de Sistema Ingeniería del Software

28 28 Ingeniería del Software Modelo de dominio 1* Ciclo nombre... Película título... Pase fecha hora /venta ** Sala códigoSala aforo

29 29 :Pase Ingeniería del Software ObtenerCiclos() :GestorEliminarPases ObtenerNombre() :Ciclo Lista(nombre) nombre *

30 30 Ingeniería del Software Escogemos el patrón controlador para gestionar el evento externo ObtenerCiclos. Aunque otras opciones son posibles, a falta de más información al tratarse de modelar un caso de uso, seleccionamos un controlador de caso de uso: GestorEliminarPases. Además, esta clase artificial agrupa a todos los ciclos del festival. Con ello pretendemos un diseño global con alta cohesión y bajo acoplamiento. Por el patrón experto, el método ObtenerNombre es el encargado de buscar el nombre del ciclo.

31 31 :Pase Ingeniería del Software ObtenerPelículas(nombre) :GestorEliminarPases ObtenerTítulo() :Película Lista(título) título * ObtenerTitulos(nombre) :Ciclo Lista(título)

32 32 Ingeniería del Software Escogemos el patrón controlador para gestionar el evento externo ObtenerPelículas. Aunque otras opciones son posibles, a falta de más información al tratarse de modelar un caso de uso, seleccionamos el mismo controlador de caso de uso que para la operación anterior: GestorEliminarPases. Además, esta clase artificial agrupa a todos los ciclos del festival y los tiene accesibles para recorrido y de forma directa (hash). Con ello pretendemos un diseño global con alta cohesión y bajo acoplamiento. Por el patrón experto, el método ObtenerTítulos es el encargado de buscar las películas asociadas al ciclo nombre. Por el patrón experto, el método ObtenerTítulo es el encargado de buscar el título de la película.

33 33 :Pase Ingeniería del Software EliminarPases(ListaPelículas, fecha) :GestorEliminarPases EliminarPase(fecha) :Pase EliminarPases(titulo,fecha) :Pase :Pelicula ComprobarPase() [ok] EliminarAsocSala() ok [ok] EliminarAsocPase() [ok] * *

34 34 Ingeniería del Software Escogemos el patrón controlador para gestionar el evento externo EliminarPases. Aunque otras opciones son posibles, a falta de más información al tratarse de modelar un caso de uso, seleccionamos el mismo controlador de caso de uso que para la operación anterior: GestorEliminarPases. Además, esta clase artificial agrupa también todas las películas del festival. Con ello pretendemos un diseño global con alta cohesión y bajo acoplamiento. Por el patrón experto, el método EliminarPases de Película es el encargado de eliminar los pases de las películas cuyo título aparece en ListaPelículas y cumplan las condiciones impuestas. En el caso de cumplirlas, eliminaremos su asociación con el pase (realizado por EliminarAsocPase) y por último lo destruiremos. Por el patrón experto, el método EliminarPase de Pase es el encargado de comprobar si Pa.venta=0 y Pa.fecha > fecha (realizado por ComprobarPase). En el caso de cumplirse la condición, eliminaremos su asociación con Sala (realizado por EliminarAsocSala). Nota: podría ser que la Sala también tuviera una asociación con Pase. En ese caso, también deberíamos acceder a Sala para eliminarla.


Descargar ppt "1 Ingeniería del Software Ejercicio 2: P2P  Examen Febrero 2005 (1h ¼)  Diagrama de Casos de Uso y  Casos de uso expandido (2,5 puntos)  Modelo de."

Presentaciones similares


Anuncios Google