1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik...

32
1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido Modelo de Dominio

Transcript of 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik...

Page 1: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

1

Ingeniería del Software

Examen Junio 2003-2004

2a Parte: Captura de Requisitos: Taller Automatik

Se pide:

Diagrama de Casos de Uso Casos de uso expandido Modelo de Dominio

Page 2: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

2

Ingeniería del Software

Jerarquía de actores

ENCARGADO

MECÁNICO

Page 3: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

3

Ingeniería del Software

Casos de uso

CLIENTE

Registrar Vehículo

ENCARGADO

Page 4: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

4

Ingeniería del Software

Casos de uso

ENCARGADO

Generar Facturas

Page 5: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

5

Ingeniería del Software

Casos de uso

CLIENTE

Avisar Cliente

ENCARGADO

Page 6: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

6

Ingeniería del Software

Casos de uso

CLIENTE ENCARGADO

Recoger Vehículo

Abonar Factura

<<uses>>

Page 7: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

7

Ingeniería del Software

Casos de uso

ENCARGADO

Actualizar Stock

Page 8: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

8

Ingeniería del Software

Casos de uso

Reparar VehículoSolicitar HistorialRealizar AcciónSolicitar Pieza

Terminar Reparación

Solicitar Historial

MECÁNICO

<<extends>>

Substituir PiezaConsultar StockSolicitar Pieza

Realizar Acción

<<extends>>

<<extends>>

Solicitar Pieza

<<extends>>

Terminar Reparación

<<extends>>

Consultar Stock

<<extends>>

Page 9: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

9

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Registrar Vehículo Actores:Cliente, EncargadoTipo: SecundarioDescripción: El cliente trae un vehículo al taller.

Si es necesario, el encargado registra los datos principales del cliente (dirección, teléfono, etc.), así como las características básicas del vehículo (matrícula, modelo, marca, etc.). Por último, el encargado añade una breve descripción del motivo de entrada en el taller.

Page 10: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

10

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Generar Facturas Actores:EncargadoTipo: SecundarioDescripción: El encargado genera las facturas

pendientes de los vehículos cuya reparación ha terminado. Las facturas detallan cada una de las acciones realizadas, el tiempo empleado en su realización y el importe total de cada acción, así como las piezas que se hayan sustituido y su precio. El precio final de una reparación contempla la mano de obra del mecánico (número de horas totales por el precio hora) y el precio de las piezas nuevas.

Page 11: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

11

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Avisar Cliente Actores:Cliente, EncargadoTipo: SecundarioDescripción: El encargado avisa a los clientes

que tienen facturas pendientes de pago para que recojan sus vehículos reparados.

Page 12: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

12

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Recoger Vehículo Actores:Cliente, EncargadoTipo: SecundarioDescripción: El cliente abona la factura de la

reparación y el encargado le hace entrega del vehículo reparado.

Page 13: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

13

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Abonar Factura Actores:Cliente, EncargadoTipo: SecundarioDescripción: El cliente abona la factura de la

reparación.

Page 14: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

14

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Actualizar Stock Actores:EncargadoTipo: SecundarioDescripción: Cuando llegan nuevas piezas de

los fabricantes, el encargado actualiza su stock.

Page 15: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

15

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Reparar Vehículo Actores:MecánicoTipo: PrimarioDescripción: El sistema muestra todos los

vehículos en reparación. Para cada uno de ellos, el sistema indica los que están pendientes de piezas y los que no (puede que haya llegado la pieza que les faltaba). El mecánico selecciona uno de los vehículos en reparación. Para ese vehículo, el mecánico puede solicitar el historial detallado, introducir acciones codificadas o substituir piezas o dar por terminada la reparación.

Page 16: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

16

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Solicitar Historial Actores:MecánicoTipo: SecundarioDescripción: El mecánico solicita el historial

detallado de las reparaciones del vehículo. El historial debe incluir para cada reparación, la fecha de entrada y salida del vehículo al taller, su kilometraje, el motivo de entrada, las acciones realizadas y las piezas cambiadas.

Page 17: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

17

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Realizar Acción Actores:MecánicoTipo: SecundarioDescripción: El mecánico contempla una serie

de acciones posibles. Las acciones estan codificadas y tienen asociada una descripción.

Page 18: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

18

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Substituir Pieza Actores:MecánicoTipo: PrimarioDescripción: Si la reparación requiere sustituir

alguna pieza, el mecánico puede consultar el stock de piezas del almacén. Si no se dispone de la pieza necesaria, se debe solicitar al fabricante, en cuyo caso, la substitución de la pieza debe aplazarse.

Page 19: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

19

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Consultar Stock Actores:MecánicoTipo: SecundarioDescripción: El mecánico consulta el stock de

piezas del almacén.

Page 20: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

20

Ingeniería del Software

Ejemplo: Caso de uso de alto nivel

Caso de uso: Solicitar Pieza Actores:MecánicoTipo: SecundarioDescripción: El mecánico solicita la pieza a

substituir al fabricante.

Page 21: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

21

Ingeniería del Software

Modelo de dominio (1)

Cliente Vehículo

Reparación

1 *

Acción*1

dniNombreteléfono

matrículamarcamodelo

fechaEntradaKmsfechaTerminadafechaSalidamotivo

numHoras

TipoAcción1

descripción

*

Pieza*

1

numPiezasnumPendientes

TipoPieza1

PrecioDescripciónFabricanteenStock

*

Factura

/totalNumHoras/totalPiezas/totalfechaAbono

1

1

Page 22: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

22

Ingeniería del Software

Examen Junio 2003-2004

3a Parte: Análisis: Anular Reservas Pista

Se pide:

Diagrama de secuencia del sistema contratos

Page 23: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

23

Ingeniería del Software

Caso de uso: Anular Reservas Pista

Anular Reservas Pista

ENCARGADO

Page 24: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

24

Ingeniería del Software

Modelo de dominio (1)

* *

*

1

Socio

dnitele-mail

Pista

Número pista

Reserva

numfechahora/importe

Tarifa

tipoprecio

Page 25: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

25

Ingeniería del Software

Diagrama secuencia sistema: Anular Reservas Pista

:Encargado :Sistema

ConsultarReservas(fecha,pista) : reservas

ConfirmarAnulación() : anular

[anular] Reasignar(fecha,pista) : reasignadas

[anular] Anular(fecha,pista) : anuladas

Page 26: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

26

Ingeniería del Software

operación ConsultarReservas

Name:ConsultarReservas(fecha,pista) : reservas Responsabilities

Obtener las reservas no canceladas (que no tengan la tarifa T4) para esa fecha de la pista

PreconditionsArgumentos no nulos y válidos (la fecha no es la

actual ni la superior a un mes a la fecha actual) Postconditions Salida

Reservas = Todas las reservas para la fecha y pista determinada

Page 27: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

27

Ingeniería del Software

operación ConfirmarAnulación

Name:ConfirmarAnulación() : anular Responsabilities

Consultar la Confirmación de la anulación Preconditions Postconditions Salida

anular = cierto si confirma la anulación

Page 28: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

28

Ingeniería del Software

operación Reasignar

Name:Reasignar(fecha,pista) : reasignadas Responsabilities

Buscar para la misma hora una pista libre np para toda reserva r de esa fecha.

Preconditionsargumentos no nulos y válidos

Postconditions Eliminar la reserva r Crear una nueva reserva nr para la misma fecha y

hora para la pista np Asociar la reserva nr al socio s y la pista np

Salidareasignadas = lista de e-mail, fecha, hora, pista y np

Page 29: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

29

Ingeniería del Software

operación Anular

Name:Anular(fecha,pista) : anuladas Responsabilities

Eliminar toda reserva r de esa fecha que para su misma hora no hay una pista libre.

Preconditionsargumentos no nulos y válidos

Postconditions Eliminar la reserva r

Salidaanuladas = lista de e-mail, fecha, hora, pista

Page 30: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

30

Ingeniería del Software

Examen Junio 2003-2004

4a Parte: Diseño: ClientesPelicula

Se pide:

Diagrama de secuencia

Page 31: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

31

Ingeniería del Software

clie

nte

sPelic

ula

(códig

o)

:GestorClientesPelicula

CP(código)

EntradasPase()

:Pelicula :Pase :Entradas

PasesPelicula()

:Cesta

CestaEntrada()

:Cliente

*

*

ClienteCesta()

nombre,e-mail

nombre,e-mailLista(nombre,

e-mail)

eliminarRepetidos()

Lista(nombre,e-mail)

Lista(nombre,e-mail)

Lista(nombre,e-mail)

Page 32: 1 Ingeniería del Software Examen Junio 2003-2004 2a Parte: Captura de Requisitos: Taller Automatik Se pide: Diagrama de Casos de Uso Casos de uso expandido.

32

Ingeniería del Software

Escogemos el patrón controlador para gestionar el evento externo ClientesPelícula. 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: GestorClientesPelícula. Además, esta clase artificial agrupa a 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 CP es el encargado de buscar la película.

Por el patrón experto, el método PasesPelícula es el encargado de buscar todos los pases de la película, y el método EntradasPase, todas las entradas vendidas de un determinado pase.

Por el patrón experto, el método CestaEntrada es el encargado de obtener la cesta que incluía la entrada venida, y el método ClienteCesta el cliente que realizó esa compra. De ese cliente se obtiene su nombre e e-mail.

Por último, el método EliminarRepetidos elimina los nombres e e-mails que pudieran estar repetidos de los clientes que compraron alguna entrada para una determinada película.