Está en la página 1de 38

Prctica Individual Teatro Turgalium

Anlisis y Diseo de Sistemas Curso 2009-2010 lvaro Pablos Lamas

Un teatro de una pequea ciudad ha decidido informatizar parte de su gestin con el objetivo de facilitar a los clientes la adquisicin y reserva de entradas y para hacer frente a la fuerte competencia de los mini-cines cuyo nmero se ha incrementado recientemente. Por una parte, se desea agilizar la venta de entradas permitiendo la reserva telefnica y el pago mediante tarjeta. Por otra, se intenta dar ms publicidad a los distintos espectculos y dentro de lo posible atender los gustos de los espectadores mediante encuestas y estadsticas sobre asistencia a los distintos espectculos. Despus de estudiar el procedimiento actual y sus ventajas e inconvenientes, se ha decidido que la venta de entradas se realice de la siguiente manera: Si una persona desea hacer una reserva se pondr en contacto telefnico con la taquilla del teatro, solicitando el espectculo, fecha, nmero de entradas, preferencias, etc. Si no hay disponibilidad de plazas se le comunicar; si la hay, se le pedir su nmero de tarjeta para cargarle el importe y se le facilitar un nmero de reserva con el que tendr que identificarse para recoger sus entradas. Las reservas pueden hacerse con un mes de antelacin y hasta dos das antes de la fecha del espectculo. La recogida de las entradas puede realizarse en taquilla cualquier da desde la fecha de la reserva hasta el mismo da de la representacin justo antes del comienzo de la misma, sin ms que facilitar el nmero de reserva. Tambin se pretenden eliminar los incmodos talonarios de entradas, generndolas desde el sistema en el momento de la recogida o en la venta directa, de tal manera que para todos los espectculos las entradas tengan el mismo formato. Por supuesto, las entradas pueden tambin adquirirse en taquilla sin reserva previa; sin embargo en este caso el abono del importe debe ser en efectivo y la compra slo podr realizarse con 7 das de antelacin como mximo. Cada cierto tiempo, generalmente al principio de cada temporada, el responsable de la programacin facilita la misma detallando informacin sobre los espectculos, fecha, hora, precios de las entradas, aforo a la venta (parte se destina a invitaciones), nmero de entradas para venta anticipada, etc. Esta informacin, por supuesto, tiene que estar disponible al menos un mes antes de la representacin para que puedan comenzar a aceptarse reservas. Se pretende, adems, que los clientes que lo deseen puedan recibir gratuitamente informacin de la programacin en sus domicilios con el calendario de espectculos y sus precios, como mnimo al principio de cada temporada o incluso con cierta periodicidad. Para acceder a este servicio basta con rellenar una solicitud que el cliente pue de recoger en taquilla y depositar en un buzn dispuesto a tal efecto o tambin puede solicitarse facilitando los mismos datos telefnicamente. Con este servicio unido al de reservas se pretende captar clientes, que a pesar de no residir en la ciudad (pueblos de la provincia o provincias colindantes), puedan sentirse interesados por algunos espectculos y deseen asistir a los mismos con la comodidad de slo tener que desplazarse hasta la ciudad en la fecha de la representacin. Siguiendo con la poltica de ofrecer espectculos de acuerdo a los gustos del pblico, cada cierto tiempo, se facilita a la entrada de las representaciones una encuesta que pueden rellenarlas personas que lo deseen para indicar sus preferencias en relacin al tipo de espectculos que prefieren, qu das de la semana e incluso qu horas les parecen ms convenientes dentro una serie de propuestas. Con estas encuestas se elabora un informe para el encargado de programacin.

Semanalmente se enva informacin al banco con los datos de las tarjetas y los importes a cargar y mensualmente el banco nos remite un extracto con todos los abonos de nuestra cuenta y con cargo a qu tarjetas. Se debera cuadrar la informacin del extracto con los cobros que tenemos pendientes para poder eliminar stos. Se pretende que este intercambio de informacin en el futuro se realice mediante soporte magntico. La informacin almacenada sobre la venta de entradas para cada espectculo, se utilizar una vez ms, para realizar estadsticas trimestrales que aportarn informacin sobre los espectculos ms vistos, teniendo en cuenta el tipo, las fechas, si se vendi ms con reserva o mediante venta directa, etc. Parte de esta informacin se le facilita a la direccin del teatro y otra parte al encargado de programacin.

1. Anlisis del diagrama de flujo de datos del sistema nuevo.


El diagrama de flujo de datos deber hacerse del sistema, del nivel superior y todos los procesos susceptibles de ser expandidos.

DIAGRAMA DE CONTEXTO

DIAGRAMAS DE FLUJOS DE DATOS DEL NIVEL SUPERIOR


1.- Gestionar Clientes

2.- Gestionar Venta Entradas

3.- Gestionar Espectculos

4.- Gestionar Publicidad

5.- Gestionar Encuestas

6.- Gestionar Pagos

7.- Gestionar Estadsticas

DFD EXPANDIDO DE NIVEL 1


o 1.- Gestionar Cliente
1.1.- Registrar Cliente

1.2.- Eliminar Cliente

1.3.- Modificar Cliente

1.4.- Consultar Cliente

o 2.- Gestionar Venta Entradas

o 3.- Gestionar Espectculos


3.1.- Crear Espectculo

3.2.- Crear Espectculo

3.3.- Modificar Espectculo

3.4.- Consultar Espectculo

3.5.- Listar Espectculos

o 4.- Gestionar Publicidad e Invitaciones

o 5.- Gestionar Encuestas

o 6.- Gestionar Pagos

o 7.- Gestionar Estadsticas

DFD EXPANDIDO DE NIVEL 2


o 1.1- Registrar Cliente

o 1.2- Borrar Cliente

o 1.3- Modificar Cliente

o 1.4- Consultar Cliente

o 3.1.- Crear Espectculo

o 3.2.- Eliminar Espectculo

o 3.3.- Modificar Espectculo

o 3.4.- Consultar Espectculo

o 3.5.- Listar Espectculos

2.- Descripcin del diccionario de datos.


2.1.- Breve descripcin de los almacenes de datos y entidades externas o Almacenes de Datos 1.- Clientes
Se encarga de almacenar toda la informacin personal de los clientes de nuestro teatro. Nombre y Apellidos, Direccin, C.P., Ciudad, telfono, e-mail Se emplea en los procesos relativos a la gestin de clientes para aadir, eliminar, modificar y consultar informacin de los mismos. Adems se emplea en la gestin de la venta de entradas por telfono para poder generar las facturas, as como en la gestin de las invitaciones y la publicidad, para poder remitrselas de forma correcta.

2.- Espectculos
Destinado a almacenar la informacin del evento. Nombre, Director, Compaa de teatro, Ao de estreno, Gnero, Duracin Este almacn se utiliza en la gestin de espectculos para las operaciones bsicas (crear, eliminar, modificar, consultar y listar). Se emplea tambin en la gestin de la venta de entradas y en la generacin de invitaciones y publicidad.

3.- Aforo Espectculo


Dedicado a almacenar todo el aforo de un espectculo y gestionar su ocupacin. Se emplea en los procesos de venta de entradas y gestin de espectculos.

4.- Facturas
Su uso se centra en la generacin de facturas para el cobro de la venta de entradas telefnica y en la gestin de pagos. Almacena los datos personales de un cliente acompaado de los datos bancarios y el importe correspondien te a las entradas.

5.- Invitaciones
Este almacn se encarga de almacenar los datos relativos a algunas invitaciones que se generar para ciertos espectculos. Almacenan el identificador del espectculo, nombre del mismo, nmero de invitaciones Este almacn aparece en el proceso de la Gestin de espectculos, y en la Gestin de invitaciones.

6.- Encuestas
El nico propsito de este almacn es guardar la opinin de los clientes inscrita en formularios para que el Responsable de la Programacin pueda crear nuevos espectculos acorde a los gustos y hbitos de la mayora de los espectadores de nuestro teatro.

7.- Facturas Pagadas


Una vez que el banco se encarga de realizar los cobros, estos datos se almacenan en un histrico de facturas para crear informes dirigidos a la direccin y al responsable de la programacin, de forma que puedan comprobar la contabilidad de la empresa.

8.- Cobros Pendientes


Se encarga de almacenar las facturas que no han podido cobrarse por diferentes motivos, de forma que pueda n reenviarse al banco para su posterior reintento de cobro. Se emplea en la gestin de cobros, al igual que el almacn de facturas pagadas.

o Entidades Externas 1.- Clientes


Hace referencia a los clientes que interactan con el sistema. Obviamente no lo hacen de forma directa, sino a travs de un operador que trabaja para el teatro, pero es una representacin abstracta de los mismos. La aplicacin va destinada a optimizar las ventas a dichos clientes.

2.- Responsable de la Programacin


Es el encargado de gestionar los espectculos, se encarga de la programacin de los mismos, las invitaciones, y la gestin del aforo. Estas decisiones las toma apoyndose en las encuestas rellenadas por los clientes.

3.- Direccin
Esta entidad solo participa como receptora de informes, pero en el mundo real es nuestro cliente directo, es decir, a quien tiene que satisfacer nuestra aplicacin.

4.- Banco
Participa como entidad en la gestin de cobros, de forma que es el encargado de realizar el cobro de las facturas generadas a travs de las llamadas telefnicas.

2.2.- Breve descripcin de los flujos de datos del proceso Gestionar Venta Entradas.

Nombre: pet_entrada Descripcin: Flujo de datos que sirve para indicar al sistema que el cliente desea comprar una entrada. Origen: Entidad Externa Clientes. Destino: Subproceso Recibir Peticin Entrada. Nombre: cliente_tlf Descripcin: Flujo de datos que sirve para indicar al sistema que el cliente realiza la compra a travs del telfono Origen: Subproceso Recibir Peticin Entrada. Destino: Subproceso Comprobar Datos Cliente.

Nombre: error_cliente Descripcin: Flujo de datos que sirve para indicar al sistema que el cliente que solicita la entrada o no existe o no est registrado correctamente. Origen: Subproceso Comprobar Datos Cliente. Destino: Subproceso Notificar Error Cliente. Nombre: resp_error_cliente Descripcin: Flujo de datos que sirve para indicarle al cliente que la operacin no tenido algn contratiempo. Origen: Subproceso Notificar Error Cliente. Destino: Entidad Externa Clientes Nombre: cliente_taquilla Descripcin: Flujo de datos que sirve para indicar al sistema que el cliente realiza la compra en taquilla. Origen: Subproceso Recibir Peticin Entrada. Destino: Subproceso Comprobar Datos Espectculo. Nombre: datos_cliente Descripcin: Flujo de datos que contiene los datos de un cliente. Origen: Subproceso Comprobar Datos Cliente. Destino: Subproceso Comprobar Datos Espectculo. Nombre: error_espec Descripcin: Flujo de datos que sirve para indicar al sistema que el espectculo solicitado no existe. Origen: Subproceso Comprobar Datos Espectculo. Destino: Subproceso Notificar Error Espectculo. Nombre: resp_error_espect Descripcin: Flujo de datos que sirve para indicarle al cliente que el espectculo no existe. Origen: Subproceso Notificar Error Espectculo. Destino: Entidad Externa Clientes

Nombre: datos_espec Descripcin: Flujo de datos que contiene los datos del cliente y los del espectculo Origen: Subproceso Comprobar Datos Espectculo. Destino: Subproceso Comprobar Aforo. Nombre: error_aforo Descripcin: Flujo de datos que sirve para indicar al sistema que el aforo de un espectculo est completo. Origen: Subproceso Comprobar Aforo. Destino: Subproceso Notificar Error Aforo Completo. Nombre: resp_error_espect Descripcin: Flujo de datos que sirve para indicarle al cliente que el espectculo al que desea asistir tiene aforo completo. Origen: Subproceso Notificar Error Aforo Completo. Destino: Entidad Externa Clientes Nombre: datos_entrada Descripcin: Flujo de datos que contiene los datos completos de la entrada. Origen: Subproceso Comprobar Aforo. Destino: Subproceso Decrementar Aforo. Nombre: datos_entrada Descripcin: Flujo de datos que contiene los datos completos de la entrada. Origen: Subproceso Comprobar Aforo. Destino: Subproceso Decrementar Aforo. Nombre: datos_fact Descripcin: Flujo de datos que contiene los datos del pago correspondiente a la venta de entradas a un cliente. Origen: Subproceso Decrementar Aforo. Destino: Subproceso Generar Factura. Nombre: info_entrada Descripcin: Flujo de datos que contiene la informacin de la entrada. Origen: Subproceso Generar Factura. Destino: Subproceso Notificar Compra Realizada. Nombre: resp_pet_entrada Descripcin: Flujo de datos que contiene la informacin de la entrada. Origen: Subproceso Notificar Compra Realizada. Destino: Entidad Externa Clientes.

2.3.- Realizar el modelo relacional de los datos del sistema, indicando las tablas, los atributos, claves, dominios y restricciones que sean necesarios.

DICCIONARIO DE DATOS
Tabla de Clientes Nombre #Cliente Nombre Apellido1 Apellido2 Direccin CP Ciudad E-mail Tabla de Espectculos Nombre #Espectculo Nombre Director Compaa Ao_estreno Gnero Duracin Tipo Entero Cadena Cadena Cadena Entero Entero Cadena Rango 0-9999 30 Caracteres 20 Caracteres 20 Caracteres 4 Dgitos 5 Dgitos 30 Caracteres Restricciones Clave Primaria NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL Tipo Entero Cadena Cadena Cadena Cadena Entero Cadena Cadena Rango 0-99999 30 Caracteres 20 Caracteres 20 Caracteres 50 Caracteres 5 Dgitos 30 Caracteres 30 Caracteres Restricciones Clave Primaria NOT NULL NOT NULL NOT NULL

nico

Tabla de Entradas Nombre #Entrada Espectculo Fecha Hora Importe Tipo Entero Entero Fecha Hora Entero Rango 0-9999 0-9999 01/01/2010 31-12/2099 HH:MM Restricciones Clave Primaria Clave Externa NOT NULL NOT NULL NOT NULL

Tabla de Invitaciones Nombre #Invitacin Espectculo Fecha Hora Asiento Cliente Tipo Entero Entero Fecha Hora Entero Entero Rango 0-9999 0-9999 01/01/2010 31-12/2099 HH:MM 1-200 0-9999 Restricciones Clave Primaria Clave Externa NOT NULL NOT NULL NOT NULL Clave Externa

Tabla de Facturas Nombre #Factura Cliente Espectculo N Cuenta Importe Estado Tipo Entero Entero Entero Cadena Entero Booleano Rango 0-9999 0-9999 0-9999 20 Caracteres (falso si impagada, verdadero si pagada) Restricciones Clave Primaria Clave Externa Clave Externa NOT NULL NOT NULL NOT NULL

3. Realizar el mapa de estructura del proceso del DFD de nivel superior que se haya escogido.
Proceso Elegido: 1.- Gestionar Cliente

4. Explicar los procesos descritos anteriormente mediante tarjetas IPO.


Tarjeta IPO
Sistema: TEATRO TURGALIUM Mdulo: 1.- Gestionar Cliente Llamado por : Preparado por: lvaro Pablos Fecha : 15/12/09
Llam a a: 1.1.1.2.1.3.1.4.Registrar_Cliente Modificar_Cliente Borrar_Cliente Consultar_Cliente

Obtener_operacion_cliente

Entradas:

Salidas:

Datos Locales: auxiliar : Tipo_Operacin

Notas:

Tipo_Operacin: 1. Operacin: Entero Cliente: Tipo_Cliente

Tipo_Cliente: #Cliente: Entero Apellido1: Cadena Apellido2: Cadena Nombre: Cadena Direccin: Cadena CP: Entero Ciudad: Cadena E-mail: Cadena

Proceso: Inicio Obtener_Operacion_Cliente (auxiliar); Case (auxiliar.operacion) Inicio Caso (AltaCliente) entonces Registrar_Cliente (auxiliar.Cliente); Caso (ModCliente) entonces Modificar_Cliente (auxiliar.Cliente); Caso (BorrarCliente) entonces Eliminar_Cliente (auxiliar.Cliente.#Cliente); Caso (ConsultarCliente) entonces Consultar_Cliente (auxiliar.Cliente.#Cliente); Fin Case Fin

Tarjeta IPO
Sistema: TEATRO TURGALIUM Mdulo: 1.1.1- Recibir Peticin Registro Cliente Preparado por: lvaro Pablos Fecha : 15/12/09

Llamado por: 1.- Registrar Cliente

Llama a:

Entradas:

Salidas:
Datos_Cliente: Tipo_Cliente

Datos Locales: auxiliar : Tipo_Cliente

Notas:

Tipo Cliente: #Cliente: Entero Apellido1: Cadena Apellido2: Cadena Nombre: Cadena Direccin: Cadena CP: Entero Ciudad: Cadena E-mail: Cadena

Proceso:
Inicio SELECT NEXT INTO auxiliar FROM tab la_cliente; Datos_Cliente = auxiliar; Fin

Tarjeta IPO
Sistema: TEATRO TURGALIUM Mdulo: 1.1. Registrar Cliente Preparado por: lvaro Pablos Fecha : 15/12/09

Llamado por: 1.- Gestionar Cliente

Llama a:
1.1.1.- Recibi r Peti cin Regis tro Cliente 1.1.2.- Notifi ca r Error Regis tro Cliente Realiza r Al ta Cliente 1.1.3.- Al ma cena r Cliente 1.1.4.- Notifi ca r Registro Completo

Entradas:
Datos_Nuevo_Cliente: Tipo Cliente

Salidas:

Datos Locales:
Au xiliar : Tipo Cliente Au xiliar2 : Tipo Cliente

Notas:

Proceso:
Tipo Cliente: - #Cliente: Entero - Apellido1: Cadena - Apellido2: Cadena - Nombre: Cadena - Direccin: Cadena - CP: Entero - Ciudad: Cadena - E-mail: Cadena Inicio Auxiliar=Datos_Nuevo_Cliente Auxiliar2=Ob tener_Id_Cliente(Auxiliar.#Cliente); Si Auxiliar2 igual a NULL entonces Realizar_Alta_Cliente(Auxiliar); Si no P1.1.2.- Notificar_Error_Registro_Cliente(Auxiliar2); Fin si Fin

Tarjeta IPO
Sistema: TEATRO TURGALIUM Mdulo: 1.2. Eliminar Cliente Preparado por: lvaro Pablos Fecha : 15/12/09

Llamado por: 1.- Gestionar Cliente

Llama a:
1.2.1.- Recibi r Peti cin Borrado Cliente 1.2.2.- Notifi ca r Error Borrado Cliente Realiza r Baja Cliente 1.2.3.- Eli mina r Cliente 1.2.4.- Notifi ca r Borrado Completo

Entradas: Cdigo_Cliente: entero

Salidas:

Datos Locales:

Notas:

Proceso:
Tipo Cliente: - #Cliente: Entero - Apellido1: Cadena - Apellido2: Cadena - Nombre: Cadena - Direccin: Cadena - CP: Entero - Ciudad: Cadena - E-mail: Cadena Proceso: Inicio DELETE FROM tab le_cliente WHERE #Cliente= &Cdigo_Cliente; Fin

5. Descripcin de los casos de uso que describen los procesos del sistema.

6. Diagrama de clases del sistema propuesto, especificando los mtodos y atributos utilizados.