124
Práctica de Ingeniería del Software VideoClub 1 Indice 1. Introducción al S.I. Página 2 1.1. ¿De qué se trata? Página 2 1.2. ¿Qué Ofrece? Página 2 1.3. Consideraciones Adicionales Página 2 2. Proceso de Análisis Página 3 2.1. Organización Física Página 3 2.2. Personal del VideoClub Página 5 2.3. Actividades del VideoClub Página 6 2.4. Gestión del VideoClub Página 7 2.5. Funcionamiento Página 8 3. Definición de Requisitos del Usuario Página 10 3.1. Lista de Eventos Página 10 3.2. Diagramas de Flujos de Datos Página 14 3.3. Diccionario de Datos Página 34 3.4. Especificación Lógica de Procesos Página 36 3.5. Diagrama Entidad – Relación Página 44 4. Definición de Requisitos del Software Página 46 4.1. Diagrama de Objetos del Sistema Página 46 4.2. Especificación de los Ciclos de Vida Página 54 4.3. Descripciones de las Operaciones Página 56 4.4. Diseño de la Interfaz del Software Página 75 4.5. Interacciones entre Objetos Página 95 4.6. Visibilidad entre Objetos Página 100 4.7. Herencias entre Clases Página 106 4.8. Clases Página 114

Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Embed Size (px)

Citation preview

Page 1: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

1

Indice

1. Introducción al S.I. Página 2

1.1. ¿De qué se trata? Página 2 1.2. ¿Qué Ofrece? Página 2 1.3. Consideraciones Adicionales Página 2

2. Proceso de Análisis Página 3 2.1. Organización Física Página 3 2.2. Personal del VideoClub Página 5 2.3. Actividades del VideoClub Página 6 2.4. Gestión del VideoClub Página 7 2.5. Funcionamiento Página 8 3. Definición de Requisitos del Usuario Página 10 3.1. Lista de Eventos Página 10 3.2. Diagramas de Flujos de Datos Página 14 3.3. Diccionario de Datos Página 34 3.4. Especificación Lógica de Procesos Página 36 3.5. Diagrama Entidad – Relación Página 44 4. Definición de Requisitos del Software Página 46 4.1. Diagrama de Objetos del Sistema Página 46 4.2. Especificación de los Ciclos de Vida Página 54 4.3. Descripciones de las Operaciones Página 56 4.4. Diseño de la Interfaz del Software Página 75 4.5. Interacciones entre Objetos Página 95 4.6. Visibilidad entre Objetos Página 100 4.7. Herencias entre Clases Página 106 4.8. Clases Página 114

Page 2: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

2

1. Introducción al S.I.

1.1 ¿De qué trata? A continuación vamos a describir sobre qué se va a realizar esta práctica de Ingeniería del Software. La empresa escogida en cuestión es un VideoClub, que abarca, además de los tradicionales temas relacionados con alquileres de películas, también temas relacionados con videojuegos. No sólo trata la gestión de alquileres, sino también la venta de películas y cosas relacionadas con los videojuegos, por ejemplo los propios juegos, hardware, como consolas, joysticks, etc... A partir de ahora, empezaremos a describir la empresa, sus características, funciones, organización, localización, empleados, productos, etc... Todo esto nos llevará a unos requisitos, tanto por parte de la empresa, como los del software.

1.2. ¿Qué Ofrece? La empresa en cuestión trata 2 temas básicamente:

• Alquiler y Venta de Películas • Alquiler y Venta de productos relacionados con los Videojuegos.

En cuanto al primer ámbito que trata, decir que se alquilan y venden películas en 2 tipos de formato. Concretamente estos son en formato VHS y en formato DVD. Comentar que no trata el tema de compra y venta de DVD’s de segunda mano, como hay empresas de este tipo que ya están realizando. Para el caso de los videojuegos, el entramado es mayor. Primero comentar que se tratan exclusivamente consolas, y nada para PC’s. Entonces el tema se divide en 2 ramas: juegos y hardware. Esto nos lleva a que se pueden alquiler y comprar juegos, para las consolas PlayStation y Nintendo 64. Por otra parte, se puede, tanto comprar como alquilar piezas relacionadas con el hardware de las consolas, que va desde la propia consola en sí, hasta los joysticks, módulos de memoria, etc ... Para ambos casos, hay definidos unos precios de venta, así como unos precios y días estipulados para alquileres de estos productos.

1.3. Consideraciones Adicionales Dentro de este apartado, decir que el empresario está estudiando la posibilidad de implantar terminales en el frontal del comercio, de cara a la calle, con destino a ofrecer servicios de alquiler de películas en cualquiera de los 2 formatos las 24 horas al día, sin tener por parte del cliente que entrar en la tienda. Simplemente introduciendo su tarjeta de usuario registrado podrá alquilar cualquier película. Así, este usuario abonaría mensualmente el importe que haya gastado en alquileres.

Page 3: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

3

2. Proceso de Análisis

2.1 Organización Física A continuación sigue un mapa indicando la distribución física de los elementos que integran el videoclub, así como una posterior descripción de cada uno de esos elementos:

1

2 3

4

5

6

7

Leyenda: 1 : Alquiler y Venta de Videojuegos 2 : Alquiler y Venta de Hardware 3 : Atención al Cliente 4 : Alquiler y Venta en formato VHS 5 : Alquiler y Venta en formato DVD 6 : Administración 7 : Almacén

Page 4: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

4

Expliquemos mejor cada zona que compone la leyenda del mapa. 1. Alquiler y Venta de Videojuegos En esta zona se van a encontrar los distintos títulos de juegos que estén disponibles, tanto para venta como para alquiler, de las consolas PlayStation y Nintendo 64. 2. Alquiler y Venta de Hardware Nos encontraremos con aspectos de tipo hardware que están relacionados con las consolas, como pueden ser las propias consolas, mandos para jugar (joysticks), módulos de memoria, etc... Estarán disponibles a la venta y para el alquiler. 3. Atención al Cliente Es una de las zonas fundamentales del establecimiento, pues es aquí donde se va a tener el contacto directo con el cliente. En este espacio se le dará al cliente información sobre nuestros productos y servicios, así como se les despachará sus peticiones. Se cobrará dinero a ingresar en la caja y se emitirán facturas de las que se enviarán sus respectivas copias a la zona de administración. 4. Alquiler y Venta de Películas en formato VHS Tendremos películas en formato VHS, es decir, para ser utilizadas en un video “casero”. Se podrán alquilar o vender. 5. Alquiler y Venta de Películas en formato DVD Sección completamente dedicada a lo mismo que la anterior, con la salvedad de que el formato de las películas está en DVD y sólo pueden ser visualizadas mediante reproductores para este tipo de discos. 6. Administración Aquí se va a llevar todo el papeleo relacionado con la empresa, es decir, llevar la contabilidad, mantenimiento de productos en tienda, control del almacén, etc... 7. Almacén Este espacio físico va a estar destinado al almacenamiento de productos. Se mantendrá con los productos que no abunden en las zonas de tienda.

Page 5: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

5

2.2. Personal del VideoClub Aquí vamos a detallar el personal que trabaja dentro de la empresa, así como ciertos detalles de organización que existen entre ellos. Para empezar, decir que existen 3 turnos de trabajo:

• De Lunes a Viernes, de 09:00 a 13:00 horas. • De Lunes a Viernes, de 16:00 a 20:00 horas. • Sábados, de 09:00 a 13:00 horas.

Decir que dentro de la empresa hay 6 trabajadores, los cuáles son:

• 3 dependientas encargadas de atender al cliente en la tienda. • 1 encargado de reposición de productos en la tienda y atención al cliente. • 1 encargado del control del almacén. • 1 encargado de la parte administrativa, en concreto, un contable.

Los 2 primeros turnos los realizan todos los trabajadores, exceptuando el encargado de la parte administrativa, que solo realiza el turno de mañana. El tercer turno, para apuntillar, no lo realizan ni el contable ni el encargado del almacén. De tal forma, este último horario solo lo cumplen 2 de los restantes trabajadores. Lo cumplen mediante una rotación, de tal forma que trabajen 2 sábados cada mes. La rotación podría ser simulada mediante el siguiente esquema que mostramos a continuación:

Trabajador 1 (a) Trabajador 2 (b) Trabajador 3 (c) Trabajador 4 (d) 1ª Semana X X 2ª Semana X X 3ª Semana X X 4ª Semana X X 5ª Semana X X 6ª Semana X X 7ª Semana X X 8ª Semana X X 9ª Semana X X

10ª Semana X X 11ª Semana X X 12ª Semana X X

Con esto, podemos observar una serie de consideraciones:

1. Las dependientas deben tener conocimientos suficientes sobre los productos que hay en la tienda.

2. El encargado de reposición hace también tareas de Atención al Cliente. 3. El contable trabaja en turnos de mañanas debido a que es el horario de entrada de

mercancía para facilitar el trato con los proveedores, fundamentalmente en cuanto a temas de pagos.

Anotar también la inestimable ayuda del dueño de la empresa, que principalmente no falla ninguno de los turnos del Sábado por la mañana, para ayudar a la/s dependienta/s junto al posible dependiente que le toque encargarse del comercio ese día.

Page 6: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

6

2.3. Actividades del VideoClub Pasamos a describir el conjunto de actividades más detallado que se realizan dentro de la empresa. Estas actividades se podrían resumir en:

• Compra de Productos. • Alquiler de Productos. • Venta de Productos. • Información sobre Productos. • Almacenaje de Productos. • Tareas Administrativas.

A continuación las describiremos en más profundidad: 1. Compra de Productos El VideoClub debe comprar inicialmente aquellos productos que bien va a vender o alquilar. Los tendrá que tener en exposición o en almacén. Por lo tanto ha de adquirirlos a ciertas empresas que se dedican a esas labores, es decir, los Proveedores. Estos entregan los productos junto con los albaranes correspondientes, que serán remitidos desde la zona de almacenaje a la de administración. Posteriormente cobrarán el correspondiente albarán en la zona de administración. En la mencionada zona, hay una persona encargada de controlar todos los aspectos relacionados con el almacenaje además del pago a los distintos proveedores y recogida y organización de los albaranes. 2. Alquiler de Productos Los productos que se disponen a la venta, pueden ser también alquilado por el cliente, de tal manera que mediante el pago de una fracción de dinero respecto al total, se le da el derecho a su utilización durante una cierta porción de tiempo. Las reglas que determinan el pago y el tiempo que se le ofrece están estipuladas en el comercio, junto con las condiciones que el cliente acepta al realizar el alquiler. Cuando se realiza un alquiler, el comercio le entrega una factura al cliente donde se detalla el servicio ofrecido así como su correspondiente coste. 3. Venta de Productos Los mismos productos que están en alquiler están a la venta. Eso si, no el mismo producto físico, como es obvio, sino otro de las mismas características y evidentemente con un precio más elevado, y con otro tipo de condiciones adjuntas. También, al igual que en el caso de alquiler, se le entrega al cliente una factura, que le dará derechos a garantías en caso de deterioramiento del producto por causas ajenas a él. 4. Información sobre Productos Existirá un apartado en la tienda dedicado, entre otras cosas, a proporcionar información sobre los productos que el cliente esté interesado. Este apartado de la tienda se concentra en Atención al Cliente.

Page 7: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

7

5. Almacenaje de Productos Esta actividad de la empresa es realizada en la zona física correspondiente al almacén. En ella se guardan todos aquellos productos que estén a la venta pero que abunden dentro del espacio del local comercial dedicado a la tienda. Esta zona está controlada por una persona, sabiéndose en cada momento que abunda y que falta, lo cuál esto último provocará la realización de un pedido de estos productos. 6. Tareas Administrativas Se realizan en una zona situada al lado (casi dentro) del almacén. En ella se realizan las tareas de tipo administrativas y contables. Es decir, se lleva la contabilidad de la empresa, se lleva el control de las existencias que hay en almacén y tienda, costes que deben poseer los productos, tanto para alquiler como para venta, etc ... Evidentemente, esta tarea está también realizada por una persona.

2.4. Gestión del VideoClub En este apartado vamos a describir las necesidades imperiosas que ha de realizar el VideoClub para subsistir y mantenerse en el mercado, en el cuál se ha hecho un sitio. Comentar que para ello, dispone de un administrativo, que se encarga de todo lo relacionado con el papeleo, y que está directamente relacionado con el encargado de almacén, el cuál le va dando información referente al estado de los productos que se venden. Básicamente, las funciones que se realizan son:

• Compra de Productos a Proveedores. • Alquiler y Venta de Productos a Clientes. • Control y Mantenimiento del Almacén. • Labores Administrativas de la Empresa.

Todas han sido ya comentadas anteriormente, por lo que a continuación vamos a realizar un breve apunte sobre cada una de estas, pero más conciso y detallado. 1. Compra de Productos a Proveedores

1. Conocimiento exhaustivo de existencias de productos en el almacén para la posterior realización de pedidos de aquellos productos que escaseen a los diversos proveedores con los que se trabaja.

2. Revisión de los albaranes y de la mercancía entregada por los proveedores para asegurarnos de su debido cumplimiento, todo en presencia de los responsables enviados por parte de los proveedores.

3. Realizar el pago a estos de las cantidades adquiridas, entregando las correspondientes facturas y recogiendo los albaranes que afirman la compra realizada.

2. Alquiler y Venta de Productos a Clientes

1. Conocimiento detallado de las características del producto y de la operación a realizar para determinar precio, y en su caso, fecha de devolución. Así mismo, emisión de la correspondiente factura, en caso de que se produzca una venta junto con el archivo de la copia de esa factura.

Page 8: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

8

2. Manejo de caja, para la realización de los distintos cobros que se hacen a los clientes por

sus ventas o alquileres de los distintos productos que se ofertan en el comercio. 3. Emisión y archivado, en caso de venta, de la copia de la correspondiente factura que se

emite y se entrega al cliente tras su compra. 3. Control y Mantenimiento del Almacén

1. Control en cada momento de las existencias que hay de cada uno de los diversos productos que se venden o alquilen, así como de su situación dentro del almacén para una rápida búsqueda del artículo en cuestión. Para ello, es bueno la realización de un inventario periódico, cada 2 meses.

2. Llevar un control del año, o época a la que pertenece una determinada película, en cualquiera de los 2 formatos disponibles, para pedidos menores en caso de tiempos excesivos. Este control lleva a que el inventario que se realiza sea tan prematuro respecto a otras empresas.

3. Hacer la correspondiente revisión entre la mercancía traída por los proveedores y el/los albaranes emitidos. Todo esto en presencia del proveedor y se realiza antes de que el administrativo haga el pago al proveedor.

4. Labores Administrativas de la Empresa

1. Control de los pedidos que le encarga a realizar el responsable del almacén. 2. Pago a los distintos proveedores, cuando estos llegan con los pedidos realizados. Emisión

de las correspondientes facturas a entregar a estos, y recogida y archivado de los distintos albaranes que se nos entregan junto con la mercancía.

3. Llevar la gestión contable de la empresa, simplemente, llevar la contabilidad y lo relacionado con los distintos papeleos que se puedan generar dentro de la empresa. No entra en este apartado y no es su misión, lo referente al tema salarial y demás de los trabajadores, entre los que se incluye el administrativo. Para ello, hay una Asesoría externa que se ocupa de esas labores, con la cuál, también habrá que dialogar y tratarles como un proveedor más en cuánto a pagos se refiere.

2.5. Funcionamiento A continuación vamos a describir realmente el meollo del comercio, su funcionamiento de cara al público, lo que se realiza de forma cotidiana, como se actúa de cara al cliente, proveedor, que se les da, que se pide, etc... Nos vamos a centrar en 3 aspectos principales:

• Clientes. • Proveedores. • Asesoría.

1. Clientes Los clientes en el comercio solo tienen 2 alternativas posibles, las cuáles son bien comprar, bien alquilar. Analicemos por separado cada una de estas opciones.

Page 9: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

9

Para comprar, el cliente entra en el comercio con la idea de la obtención de un determinado producto. Este entra, observa, se informa preguntando a alguno/a de lo/as trabajadore/as pidiéndole el producto. Se le factura y lo paga. Se le da la factura, quedándose la empresa con un resguardo de esta para su posterior contabilidad. No tenemos ninguna constancia en cuanto a datos personales del cliente que ha venido y ha realizado una compra. El pago del producto se puede realizar, bien en metálico, bien mediante tarjeta bancaria. En el caso del alquiler, la cosa es bien distinta, pues no sólo se ha de realizar un pago de una determinada manera, sino que habrá que tener una serie de datos personales sobre el cliente que realiza el alquiler. Primero que nada, decir que se le llama abonado. Los pasos a seguir podrían empezarse por la subscripción de la persona al VideoClub. Para este, se dirige al comercio, a la zona de Atención al Cliente, donde se le preguntarán una serie de datos personales, muy básicos eso si. Principalmente, el DNI (Documento Nacional de Identidad). Se le realizará fotocopia del DNI, para almacenamiento propio, y se le generará un registro dentro del ordenador de la empresa y se le emitirá y carnet, o tarjeta de identificación para poder realizar alquileres. El pago de los productos alquilados se realiza en el momento de su alquiler, a través de una serie de bonos adquiridos, habiendo 2 formas para realizar su adquisición, siendo estas en metálico o a través de tarjetas de cuentas bancarias. Estos bonos se adquieren por parte del abonado, evidentemente, en el momento que no disponga de más crédito en su tarjeta identificadora. Si se realiza en metálico, en el momento del pago se le añade el importe realizado. Si es mediante cuenta bancaria, el abonado da la tarjeta bancaria y la tarjeta identificadora, indicando la cantidad deseada a aumentar su crédito. Inmediatamente se cargará en ambas tarjetas el importe dicho, en una decrementando y en otra incrementando el crédito disponible. Para realizar el alquiler, el abonado se dirigirá con el producto a la zona de Atención al Cliente, en la cual le entregará el producto junto con su tarjeta identificadora al trabajador/a que se encuentre atendiéndole. Se le realizará la operación, decrementándose su crédito. En ese momento, quedará registrada la operación y se generará un ticket comprobante que se le entrega al abonado donde se le indica distinta información sobre el producto alquilado, como puede ser el importe, fecha de entrega, y fundamentalmente, la fecha de devolución, en la cuál el producto ha de ser entregado por el abonado a la tienda. Si se incumple esa fecha, se producirá una infracción, imponiéndosele una sanción, las cuáles son de carácter económico, decrementándosele el crédito de su tarjeta identificadora, de acuerdo con las reglas establecidas y según el número de días de retraso con los que se hace la devolución. 2. Proveedores Las operaciones con los proveedores se limitan exclusivamente a realización y entrega, junto con el pago evidentemente, de productos que posteriormente van a ser vendidos o alquilados por los clientes. Todo se reduce a lo siguiente: La empresa realiza un pedido de acuerdo con las exigencias que impone en un determinado momento el encargado de almacén. El proveedor, de acuerdo con el pedido que se le ha realizado, prepara el pedido y nos lo trae. Al llegar, lo primero que hace es entregarnos un albarán junto con el pedido. En dicho albarán, hay una relación de los productos que ha traído. Se realiza la correspondiente comprobación. Si esto no es correcta, se le comunica al responsable del proveedor que se encuentra en ese momento allí, haciendo este una corrección sobre la factura encargada, y generando otro pedido que posteriormente va a traer. Si la comprobación es correcta, que es lo más frecuente, nos entrega la factura que nos indica el importe del pago que se ha de realizar. Este se realiza, entregándonos el/los albaranes junto con la factura correspondiente. Ellos se quedan con una copia, tanto del albarán como de la factura.

Page 10: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

10

3. Asesoría El caso de la asesoría en principio parece un poco oscuro, pero necesario. Estas se encarga de todo el papeleo del comercio, exceptuando el caso de la contabilidad, que la lleva directamente un administrativo contratado. Pero los temas burocráticos no se limitan exclusivamente a la contabilidad. Hay que llevar otra serie de documentos, como nóminas, partes de altas o bajas (enfermedades), contrataciones de personal de apoyo en determinados casos, etc... En estos casos, el trato es tan simple como la entrega de la tienda a la Asesoría encargada, principalmente de documentos de identificación personal de cada uno de los trabajadores. En ciertos casos, la tienda necesitará ciertos documentos en concreto que se le exigen por parte de las entidades del gobierno. Entonces, entregará la información necesaria junto con las exigencias a la Asesoría, encargándose esta de todo lo restante y generando copia de ciertos documentos que ha de guardarlos el comercio. Obviamente, al final de mes habrá que realizar el pago a esta entidad. Esto se realiza, entregándole la Asesoría la correspondiente factura para su posterior contabilización. Comentar adicionalmente, que para todo el papeleo hay una relación directa de comunicación entre el administrativo y la Asesoría. A continuación, vamos a pasar con la definición de requisitos del usuario.

3. Definición de Requisitos del Usuario En este apartado vamos a definir perfectamente cuáles son las necesidades y problemas que tiene el cliente, el usuario final en el VideoClub. Se va a reflejar que es lo que el usuario espera tener al final, el sistema con el que va a trabajar. Para ello, nos vamos a apoyar en 5 representaciones, que son las siguientes:

1. Lista de Eventos. 2. Diagramas de Flujos de Datos (DFD’s). 3. Diccionario de Datos. 4. Especificación Lógica de Procesos. 5. Diagrama Entidad-Relación.

3.1. Lista de Eventos Ahora pasaremos a mostrar los eventos que ocurren en la tienda. Empezaremos describiéndolos para cada proceso fundamental que se desarrolla en el VideoClub. 1. Gestión de los Abonados Se trata todo el tema relacionado con los abonados o futuros abonados, como es la suministración de información a éste, realización de subscripciones, fabricación de tarjetas, recargas, etc ... Veamos qué ocurre:

Page 11: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

11

1. Una persona se quiere abonar:

• La persona da sus datos personales. • Atención al Cliente rellenará su pertinente ficha, generándole su tarjeta.

2. Un abonado quiere recargar su tarjeta:

• El Abonado proporciona la cantidad a recargar en la tarjeta, así como la tarjeta. • Atención al Cliente recarga su tarjeta con la cantidad deseada.

3. Alquiler de un producto:

• Para realizar un alquiler, el abonado llega con su tarjeta y nos la entrega. • Con ella, sacamos el número identificativo, DNI de la tarjeta y se le identifica. • Si el abonado existe, este pedirá un determinado producto, relacionado bien con

consolas, películas, en formato VHS o DVD, o bien juegos. • Se comprobará que hay existencias de su pedido para entregárselas. • Si las hay, se le entrega el producto, haciéndose la correspondiente anotación y

generándose y entregándosele el correspondiente comprobante. 4. Entrega de un alquiler:

• Una vez hecho el alquiler, el abonado habrá de devolverlo. • Llegará y entregará la tarjeta, de la que sacaremos su DNI. • Confirmada la existencia del abonado, se observa qué producto tiene alquilado. • El abonado entrega el producto. • Se observa la fecha en que se ha producido la devolución y se observará si se le debe

poner una sanción por impuntualidad en la devolución.Ésta será de tipo económico. 5. El usuario del software quiere realizar ciertas funciones con los datos del abonado para operaciones

internas:

• Dar de baja a un abonado. • Visualizar los datos de un abonado. • Modificar los datos de un abonado. • Realizar listados de abonados, bien por nombre, bien por código.

En todos los casos, los pasos serán, salvo para los listados:

• Introducir el Código del abonado. • Realizar la operación deseada.

En los listados, se introduce el dato según el tipo que se haya elegido.

Page 12: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

12

2. Gestión de los Proveedores Acometeremos los eventos que se pueden producir en el tratamiento de este proceso. Estos se pueden enumerar como los siguientes: 1. Petición de productos que escasean en el almacén:

• El responsable de Almacén observa qué productos son los que escasean. • El responsable de Almacén generará un pedido con aquellos productos que escasean. • Con el código del pedido, el cuál se ha generado, se comprueba que no exista ya un

pedido realizado de idénticas características. • Si no se ha realizado, se genera el pedido para su posterior envío al proveedor.

2. Llegada de un pedido:

• El proveedor llega al comercio. • Hace entrega del pedido que se le ha solicitado junto con la correspondiente factura. • El encargado de Almacén revisa el pedido junto con la factura entregada. • Se generará un código que identifique al pedido. • Si la revisión es positiva, confirmará la operación. • Si es negativa la revisión, repetirá los 2 primeros puntos con la información sobre los

productos que no hayan sido recibidos. • Este pedido se lo entregará al responsable del proveedor que haya venido.

3. Pago a un proveedor:

• Para tratar las facturas, se mira el código de la factura. • Se chequeará en la base de datos de facturas. • Con la identificación de la factura se harán ciertas operaciones. • Esta operación se seleccionará antes de realizar la operación. • Se confirmará la operación realizada sobre la factura escogida. • Una operación especial consiste en el pago. • Para ello, con el código de la factura, se verifica primeramente su existencia. • Con la confirmación de ésta, pasamos simplemente a realizar el pago de la cantidad

expuesta al encargado del proveedor que se haya acercado al VideoClub. 4. Control de los proveedores:

• Hay que llevar un control de los proveedores con los que se trabaja. Para ello, introducimos los datos del proveedor con el que realizar ciertas cosas.

• Se generará un código de proveedor. • Con ese código podemos realizar ciertas operaciones. • Seleccionamos la operación a realizar con ese proveedor, teniendo ya su código. • Se realiza la operación seleccionado, confirmándose la operación hecha.

Page 13: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

13

3. Gestión de los Clientes Observemos los eventos que se dan en este proceso: 1. Compra de un producto:

• Si lo que se quiere es una compra, por parte de un abonado o de un cliente desconocido, entrará, observará y escogerá el producto deseado.

• Si hay existencias disponibles para la venta, se realiza la correspondiente factura, entregando el producto y efectuando el cobro impuesto.

2. Devolución de un producto comprado:

• Si un cliente ha comprado un producto defectuoso, llegará al comercio con éste. • Atención al Cliente comprobará el estado del producto. • El cliente entregará la factura, de la que obtendremos el código de la factura y

comprobaremos que ésta exista. • Con todo correcto y el producto en mal estado, se realizará la devolución del importe

recibido en su momento y anotarlo. 4. Gestión de los Bancos Para concluir con la relación de eventos que se dan, observemos los que se producen con las entidades bancarias. Pasamos a describirlos a continuación:

1. Cobro a un cliente:

• Con un cobro, introducimos los datos personales del Cliente. • Se identificará a éste, con lo que obtendremos el DNI que habría en su tarjeta y que es su

identificación. • Para concluir, hacemos el cobro de la cantidad correspondiente desde el banco.

2. Control de los bancos:

• Llegan datos sobre un determinado banco con el que realizar ciertas operaciones. • Se genera un código identificativo para el banco. • Posteriormente, tendremos que seleccionar una operación a realizar. • Según la operación seleccionada y el código obtenido, se ejecutará la operación. • Esta pueda ser inserción de un nuevo banco, eliminación del trato con ese banco,

visualizar datos relacionados con ese banco y modificar datos determinados de operaciones que se tengan con ese banco.

Page 14: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

14

3.2. Diagramas de Flujos de Datos (DFD’s) A continuación pasamos a mostrar el estudio que se ha realizado del VideoClub en cuestión, a través de las distintas representaciones que se hacen. La primera que vamos a tratar es el Diagrama de Flujo de Datos, es decir, los DFD’s. Pasemos a su muestra:

0. Gestionar VideoClub

Clientes

Asesorías

Proveedores

Bancos

Diagrama de Contexto

Datos_

Pedido

Pago_

Proveedor

Entrega Pedido

Factura_

Prov.

Papeles

Pago_

Asesoría

Factura_

Asesoría

Pagos_Alquiler

Información_Bancaria

Datos_Cliente

Datos_Cliente

Pago_

Compra

Devolución

Preguntas

Información_

Producto

Entrega_Producto

Emisión_Tarjeta

Requerimientos

Comprobante

Sanciones

Datos_

Proveedor

Pendientes

Comprobante

DNI_Tarjeta

Peticiones

Preguntas_Del_Cliente

Respuestas_

Al_Cliente

Alquileres_

Sin_Devolver

En este primer diagrama mostrado en la página anterior podemos observar como el VideoClub se relaciona con 4 entidades externas, con las cuáles va a tener intercambios de información. Estas son los Clientes, que son uno de los principales componentes en el negocio, los Proveedores, que son el otro componente principal, los cuáles nos van a suministrar los productos necesarios para vender o alquilar, Asesoría, entidad fundamental para nosotros pues nos va a resolver todos los temas de la empresa de tema laboral, fiscal y jurídico, económico, etc..., y por últimos los Bancos, para efectuar pagos y cobros, tanto a Clientes como a Proveedores y Asesoría.

Page 15: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

15

1.GestionarAbonados

4.Gestionar

Bancos

2.Gestionar

Proveedores

3.GestionarClientes

Diagrama 0 : Gestión del VideoClub

ABONADOS

CONSOLAS

JUEGOS

PELICULAS

Datos_

Proveedores

Factura_Prov.

Pedido

Pago_Prov.

Entrega_

PedidoPedidos_

Pendientes

Datos_

Cliente

Pago_

Alquiler

Información

Emisión_

Tarjeta

BANCOS

Pago_

Asesoría

Información_

Bancaria

Datos_

Cliente

Proveedores

Peticiones

Entrega_

Producto

Pago_Compra

Devolución

Sancione

Comprobante

Alquileres_

Sin_Devolver

Operación_

Realizada

Preguntas_

Del_

Cliente

Respuestas_

Al_Cliente

DNI_Tarjeta

Operación_

Realizada

Datos_

Pedido

Información_

Producto

Operación_

Realizada

Dentro ya del Diagrama 0, vemos que la Gestión del VideoClub se puede descomponer en 4 procesos, los cuáles son: Gestionar Abonados, Gestionar Proveedores, Gestionar Clientes y Gestionar Bancos. Mediante estos 4 procesos se va a controlar todo lo que se aborda dentro de la empresa, tanto en ventas como compras y relaciones con las entidades mostradas y visualizadas en el Diagrama de Contexto . Observamos también como entra en acción almacenes para Abonados, Bancos, Consolas, Películas y Juegos. Para aclarar, dentro de Consolas se engloba lo referente a estos productos, tanto el aparato para procesar los videojuegos, como los componentes que se les puede agregar.

Page 16: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

16

1.1.

SuministrarInformación

1.2.

RealizarAbono

1.3.

RecargarTarjeta

Diagrama 1 : Gestión de los Abonados

ABONADOSGenera_

Folletos

Respuestas_

Al_Cliente

Preguntas_

Del_ClienteDatos_Cliente

Tarjeta

DNI_Tarjeta

Cantidad_

Pago_Alquiler

Operación_

Realizada

Tarjeta_

Recargada

Operación_

Realizada

Operación_

Realizada

Este diagrama comprende la subscripción de nuevos abonados para el VideoClub. Estos podrán realizar alquileres de distintos tipos de productos. Observar que en este diagrama se alcanza una función primitiva, es decir, funciones que no se van a descomponer en más procesos, pues se ha llegado al nivel más bajo. Decir que la primitiva es Suministrar Información. Procesos, eso si, descomponibles en primitivas son Realizar Abono y Recargar Tarjeta , utilizando para ello un almacén, el de los Abonados, donde se va a registrar toda la información referente a los subscriptores del VideoClub, como sus datos personales, bancarios si los posee, cantidad del último bono adquirido, etc...

Page 17: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

17

2.1.

RealizarPedidos

2.3.Tratar

Facturas

2.2.

ComprobarEntregas

2.4.Realizar

Pagos

2.5.Actualizar

Proveedores

Diagrama 2 : Gestión de los Proveedores

PEDIDOS

CONSOLAS

PELICULAS

JUEGOS

PAGOSFACTURAS

PROVEEDORES

Entrega_

PedidoFactura_

Proveedor

Pedido_

Pendiente

Datos_Pedido

Pedido

Factura

Datos_

Proveedores

Pago_Proveedor

Factura_

Proveedor

Operación_

Realizada

Operación_

Realizada

Operación_

Realizada

Disponemos de 5 funciones, Realizar Pedidos, Comprobar Entregas, Tratar Facturas, Realizar Pagos y Actualizar Proveedores. Ver también que aparecen nuevos almacenes para contener información, como son Pedidos, Facturas, Pagos y Proveedores, aparte de los ya nombrados en diagramas anteriores. Ver una característica que se va a repetir en posteriores procesos, en casi todos, que es la salida de una confirmación como que la operación ha sido realizado con éxito.

Page 18: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

18

3.1.GestionarAlquiler 3.2.

GestionarCompra

3.4.GestionarProblemas

Compra

3.5.Tratar

Sanciones

3.3.Gestionar

Devolución

Alquiler

Diagrama 3 : Gestión de los Clientes

CONSOLAS

PELICULAS JUEGOS

ABONADOS

SANCIONES

DNI_

Tarjeta

Pide_

Alquiler

Genera_

Ticket

Pide_CompraPago_

Compra

Factura

DNI_

Tarjeta

Entrega_Alquiler

Factura

Entrega_

Compra

Pago_

Devolución

DNI_Tarjeta

Fecha_Devolución

Sanción

DEVOLUCIONES

Entrega_

Pedido_Alquiler

Operación_

Realizada

Fecha_Devolución

PAGOS

Entrega_

Producto_

Compra

PAGOS

Operación_

Realizada

Operación_

Realizada

En este diagrama observamos las interacciones que ocurren con los clientes. Se dispone de 5 procesos y varios almacenes, en concreto, 6 almacenes. Los procesos son Gestionar Alquiler, Gestionar Compra, Gestionar Devolución Alquiler, Gestionar Problema Compra y Tratar Sanciones. Los almacenes que se tratan son Consolas, Películas, Juegos, Abonados, Sanciones y Devoluciones.

Page 19: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

19

4.2.Cobrar

de Bancos

4.1.Actualizar

Bancos

Diagrama 4 : Gestión de los Bancos

ABONADOS

BANCOS

Datos_Banco

Datos_Cliente_

Bancarios

Pago_Banco

Operación_Realizada

Operación_Realizada

Aquí hay una función que ya es casi primitiva. Esta es Actualizar Bancos, que compone el diagrama junto con el proceso Cobrar de Bancos. Se apoyan en 2 almacenes, que son Abonados y Bancos. A continuación pasamos a ir profundizando en los niveles inferiores de cada uno de los procesos correspondientes al Diagrama 0, Gestión del VideoClub. Comenzamos con los niveles siguientes al Diagrama 1, es decir, Gestión de los Abonados. Vemos que el siguiente diagrama que mostramos es el correspondiente a Realizar Abonos, cuya enumeración es la 1.2. Esto es debido a que la función 1.1., la cuál es Suministrar Información, es ya una función primitiva, la cuál, no se puede descomponer en ninguna más.

Page 20: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

20

1.2.1.

GenerarCódigo

Abonado

1.2.2.Crear

Tarjeta

1.2.2.

CrearNueva

Ficha

Diagrama 1.2. : Realizar Abonos

Datos_Cliente_Personales

Datos_Intermedio

s

ABONADOS

Emisión_Tarjeta

Operación_Realizada

DNI_Tarjeta

Tratamos el tema de realizar abonos. Para ello ya encontramos con funciones primitivas, Identificar Abonado, Crear Tarjeta y Crear Nueva Ficha. Todo ello se apoya en un exclusivo almacén, Abonados, que dará soporte con información sobre los abonados de los que dispone el VideoClub. Lo que se hace simplemente es introducir los datos personales del nuevo abonado, al cual se le va a emitir una tarjeta que va a contener un número de identificación exclusivo, a parte de habérsele rellenado una ficha, eso si, electrónica con sus características.

Page 21: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

21

1.3.1.IdentificarAbonado

1.3.2.AumentarCantidad

Tarjeta

Diagrama 1.3. : Recargar Tarjeta

DNI_TarjetaConfirmación_

Correcta

Cantidad_Pago_Alquiler

Tarjeta_Recargada

ABONADOS

Las funciones primitivas con las que nos vamos a encontrar son: Identificar Abonado y Aumentar Cantidad Tarjeta. El objetivo final es que el abonado incremente su saldo disponible para alquilar nuestros productos. Para ello, se introducirá la identificación exclusiva que le toca, para identificarle y acto seguido la cantidad con la que va a incrementar el saldo. Al final tendrá la tarjeta recargada con mayor cantidad de dinero para gastar. Todo se apoya exclusivamente en un almacén, el de los Abonados.

Page 22: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

22

2.1.3.Enviar

Pedido

2.1.3.Generar

del Pedido

2.1.1.

GenerarCódigo

Pedido

2.1.2.

VerificarExistencia

Pedido

Diagrama 2.1. : Realización de Pedidos

Datos_Pedido

PEDIDOS

Documento_Pedido

Pedido

Código_Pedido

Existencia_Negativa

Datos_Pedido

De la realización de pedidos se encarga el encargado de almacén. Este observa en cada instante que es lo que escasea en el almacén. Los procesos finales que se obtienen son: Generar Código Pedido, Verificar Existencia Pedido, Generar Pedido y Enviar Pedido. Trata con el almacén Pedidos.

Page 23: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

23

2.2.1.Revisar

Pedido

2.2.2.

GenerarCódigo

Pedido

2.2.4.

EnviarPedido

Pendiente

2.2.3.

GenerarPedido

Pendiente

Diagrama 2.2. : Comprobación de la Entrega

Entrega_Pedido

Factura_Pedido

Datos_Pedido_

Pendiente

Documento_Pedido_

Pendiente

Pedido_Pendiente

Confirmación_Entrega

CONSOLAS

PELICULAS

JUEGOS

Datos_Pedido_Pendiente

Código_Pedido_

Pendiente

PEDIDOS

Se tienen 4 operaciones primitivas, Revisar Pedido, Generar Código Pedido, Enviar Pedido Pendiente y Generar Pedido Pendiente. En cambio, en este diagrama se observa la inclusión de un mayor número de almacenes, que se encargan de englobar todos los productos de los que se dispone más un almacén para guardar la información sobre los pedidos que son mandados, recogidos y correctos. Estos son: Consolas, Películas, Juegos y Pedidos.

Page 24: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

24

2.3.4.

InsertarFactura

2.3.2.

SeleccionarOperación

Factura

2.3.1.

ComprobaciónFactura

2.3.3.

EliminarFactura

2.3.5.

VisualizarFactura

2.3.6.

ModificarFactura

Diagrama 2.3. : Tratamiento de Facturas

Inserción_Factura_

ProveedorCódigo_Factura

Operación_Factura

Eliminación_Factura_Proveedor

Visualización_Factura_Proveedor

FACTURA

Operación_Realizada

Operación_Realizada

Operación_Realizada

Modificación_Factura_

Proveedor

Operación_Realizada

Comprobación_Correcta

Operación_Factura

Para el Tratamiento de Facturas, las operaciones son Comprobar Factura, Seleccionar Operación Factura, Eliminar Factura, Insertar Factura, Visualizar Factura y Modificar Factura. Aquí entra en juego un almacén adicional que no se ha visto hasta ahora, el cuál es Facturas. También está el correspondiente a Proveedores.

Page 25: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

25

2.4.1.Verificar

Existencia

Factura

2.4.2.RealizarPago a

Proveedor

Diagrama 2.4. : Realización de Pagos

Código_Factura

PROVEEDORESFACTURAS

Confirmación_

FacturaPago_Proveedor

PAGOS

Código_Factura

Dentro de los almacenes que están, vemos que el correspondiente a Pagos es nuevo en nuestro contexto. A él le acompañan los de Facturas y Proveedores. Todos estos son para que los usen 2 procesos terminales, Verificar Existencia Factura y Realizar Pago a Proveedor.

Page 26: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

26

2.5.4.Insertar

Proveedor

2.5.2.

SeleccionarOperación

Proveedor

2.5.3.Eliminar

Proveedor

2.5.5.Visualizar

Proveedor

2.5.6.

ModificarProveedor

2.5.1.

GenerarCódigo

Proveedor

Diagrama 2.5. : Actualización de Proveedores

Inserción_Proveedor

Datos_Proveedor

Operación_Proveedor

Eliminación_Proveedor

Visualización_Proveedor

Operación_Realizada

Operación_Realizada

Operación_Realizada

Modificación_Proveedor

Operación_Realizada

Código_Proveedor

Operación_Proveedor

PROVEEDORES

En el trato con los proveedores, evidentemente vamos a necesitar la existencia de un contenedor de información referente a esta entidad. Y así ocurre. Existe el almacén Proveedores. Es usado por las siguientes primitivas: Generar Código Proveedor, Seleccionar Operación Proveedor, Eliminar Proveedor, Insertar Proveedor, Visualizar Proveedor y Modificar Proveedor.

Page 27: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

27

3.1.1.IdentificarAbonado

3.1.2.Existir

Producto a

Alquilar

3.1.3.EntregarProducto

Alquilado

Diagrama 3.1. : Gestionar Alquiler

DNI_Tarjeta

Pide_Alquiler

Confirmación_

Abonado

ABONADOS CONSOLAS PELICULAS JUEGOS

Entrega_

Producto

Confirmación_

Existencias

Existencia_

Negativa

Operación_

Realizada

Genera_

Ticket

Para Gestionar Alquiler, tenemos Identificar Abonado, Existir Producto a Alquiler y Entregar Producto Alquilado. Usa 4 almacenes, Abonados, Consolas, Películas y Juegos. Se introducirá la identificación del abonado junto con un producto a sacar, y lo obtendrá junto con un comprobante de la operación.

Page 28: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

28

3.2.1.Existir

Producto a

Comprar

3.2.2.EntregarProducto

Comprado

Diagrama 3.2. : Gestionar Compra

Pide_CompraConfirmación_

Existencias

Existencias_

Negativas

Entrega_Producto

Operación_Realizada

CONSOLAS PELICULAS JUEGOS

Pago_

Compra

PAGOS

Factura_Compra

Los almacenes manipulados en este proceso son Pagos, Consolas, Películas y Juegos. Estos almacenes participaran junto con las primitivas Existir Productos a Comprar y Entregar Producto Comprado. Para la realización de la compra interviene cualquier persona, sea o no abonado, y este o no por lo tanto asociado con el VideoClub.

Page 29: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

29

3.3.1.Identificar

Abonado

3.3.2.

DevolverProducto

Alquilado

Diagrama 3.3. : Gestionar Devolución Alquiler

DNI_TarjetaConfirmación_

Abonado

Entrega_Alquiler

Fecha_Devolución

ABONADOS

CONSOLAS

PELICULAS

JUEGOS

Código_Devolución

Operación_Realizada

En Gestionar Devolución Alquiler observamos solo 2 procesos, como en el diagrama anterior. Estos son los siguientes: Identificar Abonado y Devolver Producto Alquilado. Además, tenemos 4 almacenes, los cuáles son Abonados, Consolas, Películas y Juegos. Considerar que no es lo mismo la devolución de un producto por parte de un abonado, que un producto en mal estado por un cliente.

Page 30: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

30

3.4.2.Comprobar

Estado

Producto

3.4.3.Realizar

Devolución

Pago

3.4.1.Verificar

ExistenciaFactura

Diagrama 3.4. : Gestionar Problemas Compra

Entrega_

Producto_

Compra

Código_

Factura

Estado_

InadecuadoDevolución_Pago

Operación_

Realizada

PAGOS

DEVOLUCIONES

FACTURAS

Confirmación

_

Entrega_Producto_

Compra

En este proceso están involucrados 3 procesos junto a 3 almacenes. Los almacenes que intervienen son Facturas, Devoluciones y Pagos. Además, los procesos primitivos que intervienen en este proceso general son Verificar Existencia Factura, Comprobar Estado Producto y Realizar Devolución Pago.

Page 31: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

31

3.5.1.

IdentificarAbonado

3.5.2.

ComprobarDevolución

Diagrama 3.5. : Tratar Sanciones

DNI_Tarjeta

Código_Devolución

Confirmación_Abonado

ABONADO SANCIONE

Sanción

Operación_Realizada

Otro proceso, el Tratar Sanciones que contiene 2 almacenes: Sanciones y Abonados. Las funciones primitivas que tenemos son Identificar Abonado, proceso que ya ha sido utilizado en otros procesos, y Comprobar Devolución. En el tratamiento de la sanciones, se introduce el código identificativo del abonado así como el código de devolución que se haya obtenido. Con ello, se obtendrá si se impone o no una sanción al abonado, y en caso afirmativo, a que cuantía ascendería esta sanción.

Page 32: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

32

4.1.1.

GeneraciónCódigo

Banco

4.1.2.

SeleccionarOperación

Banco

4.1.3.Insertar

Banco

4.1.4.Eliminar

Banco

4.1.5.Visualizar

Banco

4.1.6.Modificar

Banco

Diagrama 4.1. : Actualización de Bancos

BANCOS

Datos_Banco

Código_Banco

Inserción_Banco

Eliminación_Banco

Modificación_Banco

Visualización_Banco

Operación_RealizadaOperación_

Realizada

Operación_Realizada

Operación_Realizada

Operación_Banco

Para el proceso Actualización de Bancos, tenemos que intervienen 6 procesos. Estos son Generar Código Banco, Seleccionar Operación Banco, Insertar Banco, Eliminar Banco, Visualizar Banco y para concluir Modificar Banco. Estas funciones primitivas usan como apoyo exclusivamente un almacén, el cuál es el de Bancos.

Page 33: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

33

4.2.2.

IdentificaciónAbonado

4.2.4.Realizar

Cobro

Abonado

4.2.3.Realizar

Pago

Asesoría

Diagrama 4.2. : Cobrar de Bancos

Datos_Cliente_Personales DNI_Tarjeta

Pago_

Banco

ABONADOS BANCOS

Pago_Asesoría

Operación_

Realizada

Operación_

Realizada

Código_Factura

Y para concluir con el último diagrama, Cobrar de Bancos, disponemos de 2 almacenes, los cuáles son Abonados y Bancos. Estos almacenes van a ser utilizados por 4 funciones terminales. Estas funciones terminales o primitivas son las siguientes: Seleccionar Cobro o Pago, Identificar Abonado, Realizar Cobro Abonado y Realizar Pago Asesoría.

Page 34: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

34

3.3. Diccionario de Datos Abonado = Código_Abonado + Nombre + Dirección + Localidad + Cpostal + DNI + TLF + Código_Banco +

CCC_Abonado ABONADOS = { abonado } Albarán = {Productos} ALBARANES = {Albarán} BANCOS = { Datos_banco } Cantidades = * número que indica una cantidad monetaria *

Tipo: XXXXXX Ptas. Cantidad_a_Recargar = Cantidades Categoría = * Indica (numéricamente) el tipo de producto que es, siendo 1 = película , 2 = consola, 3 = juego * Tipo: X CCC_Abonado = * Código de la cuenta corriente especificada por el cliente *

Tipo: XXXX-XXXX-XXXX-XXXX CCC_Proveedor = CCC_cliente CIF = DNI CLIENTES = { Datos_cliente } Código = * número de cinco cifras *

Tipo: XXXXX Código_Abonado = * Código numérico de cinco cifras que identifica al abonado * Código Código_Banco = * Código numérico que identifica al banco * Código Código_Cliente = * Código numérico de cinco cifras que identifica a un cliente * Código Código_Devolución = * Código numérico de cinco cifras que identifica una devolución * Código Código_Factura = * Código numérico de cinco cifras que identifica una factura * Código Código_Pedido = * Código numérico de cinco cifras que identifica un pedido * Código Código_Pedido_Pendiente = * Código numérico de cinco cifras que identifica un pedido * Código Código_Producto = * Código numérico de cinco cifras que identifica un producto * Código Código_Proveedor = * Código numérico de cinco cifras que identifica al proveedor * Código Código_Proveedor = * Código numérico de cinco cifras que identifica un proveedor * Código Confirmación = * Valor verdarero o falso *

Tipo: BOOLEAN Confirmación_Abonado = * Bandera que indica si el abonado existe * Confirmación Confirmación_Correcta = * Bandera que indica si el abonado existe * Confirmación Confirmación_Entrega = * Bandera que indica si el pedido es correcto * Confirmación Confirmación_Existencias = * Bandera que indica si hay existencias * Confirmación Confirmación_Factura = * Bandera que indica si la factura existe * Confirmación CONSOLAS = { producto } Cpostal = * Código postal * Tipo: XXXXX Datos_Abonado = Código_Abonado + Nombre + Dirección + Localidad + Cpostal + DNI + TLF Datos_Banco = Código_Banco + Sucursal + Dirección + Localidad + Cpostal + TLF Datos_Cliente = Código_Cliente + Nombre + Dirección + Localidad + Cpostal + DNI + TLF + Código_Banco +

CCC_Cliente Datos_Cliente_Bancarios = Datos_Clientes Datos_Cliente_Personales = Datos_Clientes Datos_Pedido = { Código_Producto + Código_Proveedor + Cantidades } Datos_Pedido_Pendiente = { Código_Producto + Código_Proveedor + Cantidades } Datos_Proveedor = Código_Proveedor + Nombre + Dirección + Localidad + Cpostal + CIF + TLF + Código_Banco +

CCC_Proveedor Descripción = * Una breve descripción del producto * Tipo: STRING DEVOLUCIONES = { Código_Producto + Cantidades} Dirección = * Indica una dirección * Tipo: STRING DNI = * Documento nacional de identidad * Tipo: XXXXXXXX-Y DNI_Tarjeta = Código_Abonado

Page 35: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

35

Documento_Pedido = Texto + 1 { productos } Documento_Pedido_Pendiente = Documento_Pedido Eliminación_Banco = 1{ Código_Banco } Eliminación_Factura = 1{ Código_Factura } Eliminación_Proveedor = 1{ Código_Proveedor } Emisión_Tarjeta = [ Tarjeta | Tarjeta_Recargada ] Entrega_Alquiler = 1{ producto } Entrega_Compra = 1{ producto } Entrega_Pedido = 1{ producto } Entrega_Pedido_Alquiler = 1{ producto } Entrega_Producto = 1{ producto } Estado_Inadecuado = Confirmación Existencia_Negativa = Confirmación Factura = Código_Factura + Tipo_Factura + Fecha + Nombre + Dirección + Localidad + Cpostal + DNI + TLF + 1{

Cantidad + Descripción + Importe + IGIC } + Total Factura_Pedido = Factura Factura_Proveedor = Factura FACTURAS = {factura } Fecha = * Indica una fecha * Tipo: XX-XX-XXXX Fecha_Devolución = Fecha Fecha_Sanción = Fecha IGIC = * indica el porcentaje que hay que pagar por impuestos * Tipo: X.X % Importe = * una cantidad numérica * Cantidades Inserción_Banco = 1{Código_Banco } Inserción_Factura = 1{ Código_Factura } Inserción_Proveedor = 1{ Código_Proveedor } JUEGOS = { producto } Localidad = * Indica una localidad * Tipo: STRING Modificación_Banco = 1{Código_Banco } Modificación_Factura = 1{ Código_Factura } Modificación_Proveedor = 1{ Código_Proveedor } Nombre = * Nombre y apellidos de una persona *

Tipo: STRING Operación = [ @INSERTAR | @MODIFICAR | @ELIMINAR | @VISUALIZAR] Operación_Banco = * indica la operación a realizar con un banco * Operación Operación_Factura = * indica la operación a realizar con una factura * Operación Operación_Proveedor = * indica la operación a realizar con un proveedor * Operación Operación_Realizada = Confirmación Pago = * Cantidad numérica correspondiente a algún pago *

Tipo: XXXXXXXX Pago = Código_Factura + Tipo_Factura + Importe Pago_Alquiler = * Cantidad abonada al realizar un alquiler * Cantidades Pago_Asesoría = * Cantidad abonada a la asesoría * Cantidades Pago_Banco = * Cantidad abonada al banco * Cantidades Pago_Compra = * Cantidad abonada por una compra * Cantidades Pago_Devolución = * Cantidad abonada por una devolución * Cantidades Pago_Proveedor = * Cantidad abonada a un proveedor * Cantidades PAGOS = { pago } Pedido = Datos_Pedido Pedido_Confirmado = Confirmación PEDIDOS = { Datos_Pedido } PELÍCULAS = { producto } Pide_Alquiler = 1{ producto } Pide_Compra = 1{ producto } Precio_Venta = * número que indica el precio de algo * Tipo: XXXXX Producto = Código_Producto + Tipo_Producto + Categoría + Descripción + Cantidades + Precio_Venta

Page 36: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

36

PRODUCTOS = {Producto} PROVEEDORES = { Datos_Proveedor } Sanción = DNI_Tarjeta + Fecha_Sanción + Importe SANCIONES = { Sanción } Sanción_Positiva = * Bandera que indica que hay sanción * Confirmación Sin_Sanción = * Bandera que indica que no hay sanción * Confirmación Sucursal = * Indica el nombre del banco utilizado *

Tipo: STRING Tarjeta = DNI_Tarjeta + Cantidad Tarjeta_Recargada = Tarjeta Texto = * Párrafo o párrafos para hacer pedidos, observaciones, dar información, etc *

Tipo: STRING Tipo_Factura = * indica de quién proviene o a quién va dirigida la factura * [ @CLIENTE | @PROVEEDOR |

@ASESORÍA ] Tipo_Producto = * Indica el subtipo de producto * [ DVD | VHS | GAME-BOY | GAME-GEAR | PLAYSTATION |

PC | NINTENDO-64 | COMPLEMENTOS ] TLF = * Teléfono * Tipo: XXXXXXXX Total = Importe Visualización_Banco = 1{Código_Banco } Visualización_Factura = 1{Código_Factura } Visualización_Proveedor = 1{Código_Proveedor }

3.4. Especificación Lógica de Procesos • Aumentar Cantidad Tarjeta

SI Confirmación_Correcta = TRUE ENTONCES Leer de ABONADOS la entrada correspondiente a Código_Abonado Tarjeta_Recargada.Cantidad = Tarjeta.Cantidad + Cantidad_a_Recargar Actualizar ABONADOS FINSI

• Comprobar Devolución

SI Código_Abonado <> 0 ENTONCES Obtener lista de Productos y Fechas con el Código_Devolución Confirmación_Sanción = FALSE Sanción = 0 PARA cada elemento de la lista HACER

SI Fecha_Devolución <= Fecha ENTONCES Confirmación_Sanción = TRUE Sanción = Sanción + MULTA FINSI FINPARA

FINSI

Page 37: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

37

• Comprobar Estado Producto

PARA cada producto de Entrega_Producto HACER SI (Confirmación_Existencia Y (leer_estado=MAL))ENTONCES Estado_Inadecuado = TRUE FINSI FINPARA

• Comprobar Factura

SI Buscar_Factura (Código_Factura) = TRUE ENTONCES Comprobación_Correcta = TRUE Operación_Factura = leer_operación() SINO Comprobación_Correcta = FALSE

FINSI • Crear Nueva Ficha

CON Código_Abonado HACER Insertar Datos_Abonado en ABONADOS FINSI

• Crear Tarjeta

CON Datos_Abonado HACER Imprimir_Tarjeta

FINCON • Descontar Crédito

CON Código_Abonado HACER leer de ABONADOS la entrada correspondiente abonado.crédito = abonado.crédito + Sanción

FINCON • Devolver Producto Alquilado

SI Código_Abonado <> 0 ENTONCES PARA cada producto en Entrega_Producto HACER SEGÚN producto HACER 1 * PELÍCULAS * : Actualizar PELÍCULAS 2 * CONSOLAS * : Actualizar CONSOLAS 3 * JUEGOS * : Actualizar JUEGOS

FINSEGÚN FINPARA

Actualizar ABONADOS CON Fecha_devolución HACER

Código_devolución = generar_código_devolución FINCON

FINSI

Page 38: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

38

• Entregar Producto

SI (Confirmación_Existencias = TRUE) ENTONCES PARA cada producto HACER SEGÚN producto HACER 1: Actualizar PELÍCULAS 2: Actualizar CONSOLAS 3: Actualizar JUEGOS FINSEGÚN Añadir producto a Entrega_Producto FINPARA Añadir a FACTURAS la factura de la nueva venta

Añadir a PAGOS el pago de la nueva venta FINSI

• Generar Código Abonado

CON Datos_Abonado HACER Código_Abonado = DNI_Abonado FINCON

• Generar Código Pedido

CON Datos_Pedido HACER Código_Pedido = generar_código FINCON

• Generar Pedido

SI Existencia_Negativa = TRUE ENTONCES CON Datos_Pedido HACER Insertar pedido en PEDIDOS FINCON Documento _Pedido = generación de pedido

FINSI • Eliminar Banco

PARA cada banco en Eliminación_Banco HACER Eliminar banco de BANCOS FINPARA Operación_Realizada = TRUE

• Eliminar Factura

PARA cada factura en Eliminación_Factura HACER Eliminar factura de FACTURAS FINPARA

Operación_Realizada = TRUE

Page 39: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

39

• Eliminar Proveedor

PARA cada proveedor en Eliminación_Proveedor HACER Eliminar proveedor de PROVEEDORES FINPARA Operación_Realizada = TRUE

• Enviar Pedido

CON Documento_Pedido HACER Pedido = Imprimir pedido FINCON

• Generar Código Banco

CON Datos_Banco HACER Código_Banco = generar_número_banco FINCON

• Generar Código Proveedor

CON Datos_Proveedor HACER Código_Proveedor = generar_número_proveedor

FINCON Operación_Proveedor = leer_operación()

• Insertar Banco

PARA cada banco en Inserción_Banco HACER Insertar Banco en BANCOS FINPARA Operación_Realizada = TRUE

• Insertar Factura

PARA cada factura en Inserción_Factura HACER Insertar factura en FACTURAS FINPARA Operación_Realizada = TRUE

• Insertar Proveedor

PARA cada proveedor en Inserción_Proveedor HACER Insertar Proveedor en PROVEEDORES FINPARA Operación_Realizada = TRUE

• Modificar Banco PARA cada banco en Modificación_Banco HACER Modificar Banco en BANCOS FINPARA Operación_Realizada = TRUE

Page 40: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

40

• Modificar Factura

PARA cada factura en Modificación_Factura HACER Modificar factura en FACTURAS FINPARA Operación_Realizada = TRUE

• Modificar Proveedor

PARA cada proveedor en Modificación_Proveedor HACER Modificar proveedor en PROVEEDORES FINPARA Operación_Realizada = TRUE

• Realizar Cobro Abonado

CON DNI_Tarjeta HACER A=Consultar BANCOS Añadir Pago_Banco a A Actualizar BANCOS FINCON Operación_Realizada = TRUE

• Realizar Devolución Pago

SI Estado_Inadecuado = TRUE ENTONCES PARA cada producto en Entrega_Producto HACER

Actualizar DEVOLUCIONES Actualizar PAGOS Devolución_Pago = Generar_devolución_pago

FINPARA Operación_Realizada = TRUE FINSI

• Realizar Pago Asesoría

Pago_Asesoría = Código_Factura.Cantidad Operación_Realizada = TRUE

• Realizar Pago a Proveedor

SI Confirmación_Factura ENTONCES CON Código_Factura HACER Proveedor = leer_Proveedor Pago_Proveedor = Cantidad Actualizar PAGOS FINCON FINSI

Page 41: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

41

• Revisar el Pedido

Pedido_Confirmado = TRUE PARA cada producto de Entrega_Pedido HACER SI Coincide producto con entrada en Factura_Pedido ENTONCES SEGÚN Tipo_Producto HACER 1 * PELICULA *: Actualizar PELICULAS 2 *CONSOLA*: Actualizar CONSOLAS 3 *JUEGO* : Actualizar JUEGOS FINSEGUN SINO Añadir producto a Datos_Pedido Pedido_Confirmado = FALSE FINSI FINPARA

Añadir nuevo albarán a ALBARANES • Seleccionar Operación Banco

MIENTRAS Operación_Banco != SALIR HACER SEGÚN Operación_Banco HACER INSERTAR : Inserción_Banco = leer_banco();

MODIFICAR : Modificación_Banco = leer_banco(); ELIMINAR : Eliminación_Banco = leer_banco(); VISUALIZAR : Visualización_Banco = leer_banco();

FINSEGÚN FINMIENTRAS • Seleccionar Operación Factura

MIENTRAS Operación_Factura != SALIR HACER SEGÚN Operación_Factura HACER INSERTAR : Inserción_Factura = leer_facturas();

MODIFICAR : Modificación_Factura = leer_facturas(); ELIMINAR : Eliminación_Factura = leer_facturas(); VISUALIZAR : Visualización_Factura = leer_factura();

FINSEGÚN FINMIENTRAS

• Seleccionar Operación Proveedor

MIENTRAS Operación_Proveedor != SALIR HACER SEGÚN Operación_Proveedor HACER INSERTAR : Inserción_Proveedor = leer_proveedor();

MODIFICAR : Modificación_Proveedor = leer_proveedor(); ELIMINAR : Eliminación_Proveedor = leer_proveedor(); VISUALIZAR : Visualización_Proveedor = leer_proveedor();

FINSEGÚN FINMIENTRAS • Verificar Existencia Factura

SI Buscar_Factura (Código_Factura) = TRUE ENTONCES Confirmación_Factura = TRUE Actualizar FACTURAS FINSI

Page 42: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

42

• Verificar Existencia Pedido

SI Buscar_Pedido (Código_Pedido) en PEDIDOS= TRUE ENTONCES Existencia_Negativa = FALSE SINO Existencia_Negativa = TRUE

FINSI • Verificar existencia Producto

Confirmación_Existencias = TRUE Entrega_Producto = 0 PARA cada producto en Pide_Alquiler HACER SEGÚN producto HACER 1: SI (buscar_producto() en PELÍCULAS = FALSE) ENTONCES Confirmación_Exis tencias = FALSE Existencia_Negativa = TRUE SINO Entrega_Producto = Entrega_Producto + producto

FINSI 2: SI (buscar_producto() en CONSOLAS = FALSE) ENTONCES Confirmación_Existencias = FALSE Existencia_Negativa = TRUE SINO Entrega_Producto = Entrega_Producto + producto FINSI 3: SI (buscar_producto() en JUEGOS = FALSE) ENTONCES Confirmación_Existencias = FALSE Existencia_Negativa = TRUE SINO Entrega_Producto = Entrega_Producto + producto FINSI FINSEGÚN FINPARA

• Verificar Alquiler

PARA cada producto de Entrega_Producto HACER SEGÚN producto HACER 1 * PELÍCULAS * : Actualizar PELÍCULAS 2 * CONSOLAS * : Actualizar CONSOLAS 3 * JUEGOS * : Actualizar JUEGOS

FINSEGÚN FINPARA Actualizar ABONADOS

• Visualizar Banco

PARA cada banco en Visualización_Banco HACER leer Banco de BANCOS mostrar Banco FINPARA Operación_Realizada = TRUE

Page 43: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

43

• Visualizar Factura

PARA cada factura en Visualización_Factura HACER leer Factura de FACTURAS mostrar Factura FINPARA Operación_Realizada = TRUE

• Visualizar Proveedor

PARA cada proveedor en Visualización_Proveedor HACER leer Proveedor de PROVEEDORES mostrar Proveedor FINPARA Operación_Realizada = TRUE

Page 44: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

44

3.5. Diagrama Entidad - Relación

Diagrama del Modelo Entidad - Relación

Pagan a

Recibe Compran Piden Devuelven Alquilan Suministran

Productos

Consolas Películas Juegos

Clientes Abonados ProveedoresAbonados

FacturasBancos

Traen GeneranAsesorías

Cobran de

M

N

1

N

M

N

M

N

M

N

1

M

M

N

1

N

1

N

M

N

M1

1

1

M

N

Facturas

Facturas

Facturas

Page 45: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

45

Mediante la representación arriba expuesta, lo que obtenemos es la relación que existe entre las entidades externas con las que interviene la empresa. Observamos como Consolas, Películas y Juegos se agrupan todas en una categoría exclusivamente, Productos. Con ellos se pueden realizar todas las operaciones y de la misma manera, de ahí que se pueda englobar en una sola categoría, pasando a ser subentidades de la entidad Productos. Con esto, hemos concluido con las descripción de los requerimientos que impone el usuario para la aplicación software a construir. A continuación, ya pasaremos a describir la definición de los requerimientos del software donde se va a reflejar la visión que el desarrollador tiene del software a construir. Para ello, vamos a utilizar el Método de Fusion.

Page 46: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

46

4. Definición de Requisitos del Software En este apartado vamos a definir perfectamente cuáles son los requisitos que va a imponer el software. as necesidades y problemas que tiene el cliente, el usuario final en el VideoClub. Se va a reflejar que es lo que el usuario espera tener al final, el sistema con el que va a trabajar. Para ello, nos vamos a apoyar en 5 representaciones, que son las siguientes:

1. Diagrama de Objetos del Sistema. 2. Especificación de los ciclos de vida. 3. Descripciones de las Operaciones.

Los objetivos que se buscan con estas representaciones son. Por un lado, con el Diagrama de Objetos del Sistema, se busca capturar los conceptos que existen dentro del dominio del comercio, así como las relaciones entre los objetos. Con la Especificación de los Ciclos de Vida, lo que se busca es definir la secuencia de operaciones necesarias para realizar una actividad. Mediante estas operaciones, se va a permitir que el usuario interactúe con el software. Y para concluir, con las Descripciones de las Operaciones, se utiliza para describir las operaciones identificadas en el Diagrama de Objetos del Sistema y la Especificación de los Ciclos de Vida.

4.1. Diagrama de Objetos del Sistema En los Diagramas de Objetos del Sistema vamos a especificar las clases que intervienen, así como sus atributos o campos, y las subclases que puedan haber. Posteriormente, una vez definidas las clases, se establecerán las distintas relaciones que puedan haber entre ellas. También quedará reflejado las posibles herencias que se vayan a dar. Los objetos serán representados mediante rectángulos, y las relaciones mediante rombos. Dentro de cada objeto, si hay relaciones de uno a mucho, se introducirá en 1 cuadrado la relación. Todo esto lo vamos a representar en una serie de diagramas que pasamos a mostrar a continuación.

Page 47: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

47

Diagrama de Objetos del Sistema

FICHA PRODUCTOS

Código_Producto Tipo_Producto

Categoría Descripción Cantidades

Precio_Venta

FICHA PROVEEDORES

Código_Proveedor

Nombre Dirección Localidad CPostal

CIF TLF

Código_Banco CCC_Proveedor

FICHA ABONADOS

Código_Abonado

Nombre Dirección Localidad

CPostal DNI TLF

Código_Banco CCC_Abonado

FICHA BANCOS

Código_Banco

Sucursal Dirección Localidad CPostal

TLF

FICHA FACTURAS

Código_Factura Tipo_Factura

Fecha Nombre

Dirección Localidad CPostal

DNI TLF

Cantidad Descripción

Importe IGIC

Total

*

FICHA CLIENTES

Código_Cliente Nombre

Dirección Localidad CPostal

DNI TLF

Código_Banco CCC_Cliente

Traen

Cobran de

Pagan a

Reciben

Generan

Piden

Compran

Devuelven

Alquilan

Suministran

Piden

M

N

1

N

1 N

M N

M

N

M

N

M

N

1

M M

N

M

N

M

N

1

N

Clientes

Representa

Productos

Representa

RepresentaProveedores

Facturas

Representa

Representa

Bancos

AbonadosRepresenta

Productos

Page 48: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

48

Usuario

Inserta

Extrae

Actualiza

Consulta

Producto

Cliente

Abonado

Proveedor

Banco

Factura

Albarán

Diagrama de Objetos del SistemaOperaciones del Usuario

Page 49: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

49

BancoTratacon

Persona Manipula Producto

Cliente Abonado Proveedor Video Consola

Diagrama de Objetos del SistemaRelación entre Entidades y Herencias

Page 50: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

50

Producto Representa

Código_ProductoTipo_Producto

CategoríaDescripciónCantidades

Precio_Venta

Ficha Producto

Banco Representa

Código_BancoSucursalDirecciónLocalidadCpostal

TLF

Ficha Banco

Factura Representa

Código_FacturaTipo_Factura

FechaNombreDirecciónLocalidadCpostal

DNITLF

CantidadImporte

IGICTotal

Ficha Factura

Diagrama de Objetos del SistemaAtributos de los Objetos

Albarán RepresentaCódigo_AlbaránCódigo_Factura

*

Ficha Albarán

Producto

Page 51: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

51

Cliente Representa

Código_ClienteNombre

DirecciónLocalidadCpostal

TLFDNI

Código_BancoCCC_Cliente

Ficha Cliente

Abonado Representa

Código_AbonadoNombre

DirecciónLocalidadCpostal

TLFDNI

Código_BancoCCC_Abonado

Ficha Abonado

Proveedor Representa

Código_ProveedorNombre

DirecciónLocalidadCpostal

TLFCIF

Código_BancoCCC_Proveedor

Ficha Proveedor

Diagrama de Objetos del SistemaAtributos de los Objetos

Page 52: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

52

Almacén

*

Productos

FichaProducto

*

Clientes

FichaCliente

*

Proveedores

FichaProveedores

*

Abonados

FichaAbonado

*

Bancos

FichaBanco

*

Facturas

FichaFactura

*

Facturas

FichaFactura

Diagrama de Objetos del SistemaRelación entre Almacén y Objetos del Sistema

Proveedor Trae

Cobra de

Albarán

Factura

Banco

Recibe

Paga a

Cliente

Abonado

Diagrama de Objetos del SistemaRelación de Proveedores respecto al VideoClub

Page 53: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

53

Cliente

Abonado

Pide

Compra

Devuelve

Pide

Alquila

Devuelve

Producto Suministra Proveedor

Diagrama de Objetos del SistemaRelación entre Clientes y Abonados

Page 54: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

54

En los diagramas se puede observar como están todos los objetos con los que la empresa va a tratar y tener un control. Ver que con la Asesoría, a nivel de Software no va a haber ningún tipo de operación, por lo que nos es necesario representar su objeto ni sus características. El resto de los objetos y relaciones son muy parecidas a las que ya teníamos para la definición de requisitos del usuario, especificado en el Diagrama Entidad – Relación. Comentar que tenemos en la representación del primer diagrama, las entidades fuera del sistema, el cuál está delimitado mediante líneas discontinuas. Las entidades se unen con los objetos de los que se representan su ficha mediante la relación Representa. En él representamos las fichas de cada una de las entidades que representamos mediante objetos y que componen nuestro sistema. Esos atributos son los campos, que previamente se han especificado en la definición de requerimientos del usuario, a través de las distintas representaciones, como son los Diagramas de Flujos de Datos (DFD’s) y el Diccionario de Datos (DD). En los restantes diagramas, vemos distintas interacciones que se producen entre los objetos del sistema, así como sus respectivas relaciones con otros objetos, siempre pertenecientes al sistema.

4.2. Especificación de los Ciclos de Vida En esta representación, lo que vamos a poner es la secuencialidad de las operaciones que se van a realizar para las distintas funciones que se realizan dentro de nuestro sistema. 1. Gestión de los Abonados Crear Abonado = Abrir Abonados . Insertar Abonado . Introducir Datos Abonado . Generar Código . Almacenar Datos Abonado . Imprimir Tarjeta Recargar Tarjeta = Abrir Abonados . Recargar Tarjeta Abonado . Introducir Código Abonado . Leer Código Banco . Buscar Código Abonado . Buscar Código Banco . Modificar Datos Abonado Eliminar Abonado = Abrir Abonados . Eliminar Abonado . Introducir Código Abonado . Buscar Código Abonado . Eliminar Datos Abonado Visualizar Abonado = Abrir Abonados . Visualizar Abonado . Introducir Código Abonado . Buscar Código Abonado . Visualizar Datos Abonado Modificar Abonado = Abrir Abonados . Modificar Abonado Introducir Código Abonado . Buscar Código Abonado . Modificar Datos Abonado

Page 55: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

55

2. Gestión de los Proveedores Realizar Pedidos = Abrir Pedidos . ( Insertar Pedido . Introducir Datos Pedido . Generar Código . Buscar Código Pedido . [ Almacenar Datos Pedido . Enviar Pedido ] ) + . Comprobar Entregas = Abrir Pedidos . ( Comprobar Pedidos . Introducir Código Pedido . Buscar Código Pedido . [ Confirmar Código Pedido . [ Abrir Pedidos . Insertar Pedido . Introducir Datos Pedido. Generar Código . Buscar Código Pedido . [ Almacenar Datos Pedido . Enviar Pedido ] ] + ] ) + Traer Facturas = Abrir Facturas . ( Seleccionar Operación Factura . ( ( Insertar Factura . Introducir Datos Factura . Generar Código . Buscar Código Factura . Almacenar Datos Factura ) | ( Modificar Factura . Introducir Código Factura . Buscar Código Factura . [ Modificar Datos Factura ] ) | ( Visualizar Factura . Introducir Código Factura . Buscar Código Factura . [ Visualizar Datos Factura ] ) | ( Eliminar Factura . Introducir Código Factura . Buscar Código Factura . [ Eliminar Datos Factura ] ) | ( Pagar Factura . Introducir Código Factura . Buscar Código Factura . [ Pagar La Factura ] ) ) + Actualizar Proveedores = Abrir Proveedores . ( Seleccionar Operación Proveedor . ( ( Insertar Proveedor . Introducir Datos Proveedor . Generar Código . Buscar Código Proveedor . Almacenar Datos Proveedor ) | ( Modificar Proveedor . Introducir Código Proveedor . Buscar Código Proveedor . [ Modificar Datos Proveedor . Modificar Datos Proveedor ] ) | ( Visualizar Proveedor . Introducir Código Proveedor . Visualizar Datos Proveedor ) | ( Eliminar Proveedor . Introducir Código Proveedor . Buscar Código Proveedor . [ Eliminar Datos Proveedor ] ) ) + 3. Gestión de los Clientes Gestionar Alquiler = Abrir Productos . Alquilar Producto . [ Introducir Código Producto . Buscar Código Producto . [ Introducir Código Abonado . Buscar Código Abonado . Modificar Datos Abonado ] ] + Gestionar Compra = Abrir Productos . Comprar Producto . [ Introducir Código Producto . Buscar Código Producto . [ Introducir Datos Cliente . Almacenar Datos Cliente ] ] + Gestionar Devolución Alquiler = Abrir Productos . Devolver Producto . [ Introducir Código Abonado . Buscar Código Abonado . [ Introducir Código Producto . Buscar Código Producto . Modificar Datos Abonado . Introducir Fecha Devolución . Calcular Sanción . [ Modificar Datos Abonado ] ] ] + Gestionar Problemas Compra = Abrir Productos . Cambiar Producto . [ Introducir Código Factura . Buscar Código Factura . [ Confirmar Estado Producto . [ Devolver Factura ] ] ] +

Page 56: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

56

4. Gestión de los Bancos Actualizar Bancos = Abrir Bancos . ( Seleccionar Operación Bancos . ( ( Insertar Banco . Introducir Datos Banco . Generar Código . Buscar Código Banco . Almacenar Datos Banco ) | ( Modificar Banco . Introducir Código Banco . Buscar Código Banco . [ Modificar Datos Banco . Modificar Datos Banco ] ) | ( Visualizar Banco . Introducir Código Banco . Visualizar Datos Banco ) | ( Eliminar Banco . Introducir Código Banco . Buscar Código Banco . [ Eliminar Datos Banco ] ) ) +

4.3. Descripciones de las Operaciones A continuación, en este apartado vamos a realizar la descripción de las operaciones anteriormente descritas. Para ello, vamos a seguir el guión especificado que a continuación mostramos:

• Nombre. • Descripción. • Lee. • Cambia. • Envía. • Precondiciones. • Postcondiciones.

Comentar que hay varias operaciones que se repiten en varios procesos, por lo que no vamos a describirlas por duplicado. También decir que la enumeración que a continuación vamos a utilizar no se corresponde con la utilizada dentro de la definición de requerimientos del usuario en los Diagramas de Flujos de Datos (DFD’s) dentro del Análisis Estructurado de Yourdon, que es el que se ha utilizado para tales fines. Otro comentario es que puede ocurrir que 2 funciones de idéntica funcionalidad, posean en procesos distintos, diferentes lecturas, cambios o envíos. En ese caso, si se duplicarán la descripción de las operaciones. Por lo tanto, pasamos a ir describiendo cada una de las operaciones que se realizan. 1. Gestión de los Abonados

1.1. Abrir Abonados • Nombre : Abrir Abonados. • Descripción : Función con la que entramos y visualizamos el menú de Abonados. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Insertar Abonados ⇒ Que se ha seleccionado ese menú. • Precondiciones : El Cliente quiere operar con los abonados. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a los abonados.

Page 57: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

57

1.2. Insertar Abonado • Nombre : Insertar Abonado. • Descripción : Función con la cual seleccionamos la inserción de insertar un nuevo abonado. • Lee : Usuario ⇒ Selección de esa operación. • Envía : Introducir Datos Abonado ⇒ Se ha seleccionado el submenú. • Precondiciones : Se ha realizado la selección de esa opción correspondiente a los abonados. • Postcondiciones : Entramos en el submenú para insertar abonados.

1.3. Introducir Datos Abonado • Nombre : Introducir Datos Abonado. • Descripción : Se introducen los datos correspondientes al nuevo usuario del cuál rellenamos su ficha. • Lee : Usuario ⇒ Datos del Abonado • Envía : Generar Código ⇒ Datos para calcular el código. • Precondiciones : Entramos en el submenú para insertar abonados. • Postcondiciones : Rellenamos la ficha con los datos del nuevo abonado.

1.4. Generar Código • Nombre : Generar Código. • Descripción : Se calcula el código necesario a través de los datos pasados. • Lee : Introducir Datos Abonado ⇒ Datos para calcular el código. • Envía : Almacenar Datos Abonado ⇒ Código calculado y los datos usados para tal fin. • Precondiciones : Llegan datos a través del usuario previamente. • Postcondiciones : Se ha generado el código de acuerdo a los datos pasados.

1.5. Almacenar Datos Abonado • Nombre : Almacenar Datos Abonado. • Descripción : Se van a introducir los datos del nuevo abonado en la base de datos diseñada para tal fin. • Lee : Introducir Datos Abonado ⇒ Datos del abonado ; Generar Código ⇒ Código identificativo del abonado. • Cambia : La base de datos ABONADOS. • Envía : Imprimir Tarjeta ⇒ Datos del abonado y el código identificativo. • Precondiciones : Se ha calculado lo necesario para realizar un nuevo abono. • Postcondiciones : Se han almacenado los datos en la base de datos.

Page 58: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

58

1.6. Impresión Tarjeta • Nombre : Impresión Tarjeta. • Descripción : Imprimimos la tarjeta física que se entrega al abonado. • Lee : La base de datos ABONADOS. • Envía : Usuario ⇒ Tarjeta final del abonado. • Precondiciones : Tenemos los datos almacenados del nuevo abonado. • Postcondiciones : Se obtiene la tarjeta para el abonado.

1.7. Recargar Tarjeta Abonado • Nombre : Recargar Tarjeta Abonado. • Descripción : Seleccionamos la operación para incrementar el crédito de la tarjeta para alquilar productos. • Lee : Usuario ⇒ Selección dentro del menú. • Envía : Selección de esta operación dentro del submenú. • Precondiciones : Se ha seleccionado la operación para entrar en el menú Abonados. • Postcondiciones : Elegimos la opción esta en el submenú.

1.8. Introducir Código Abonado • Nombre : Introducir Código Abonado. • Descripción : Se introduce el código del abonado para operar con él. • Lee : Usuario ⇒ Código del Abonado. • Envía : Buscar Código Abonado ⇒ Código del Abonado. • Precondiciones : Se muestra la operación para introducir el código requerido. • Postcondiciones : Se ha obtenido el código.

1.9. Buscar Código Abonado • Nombre : Buscar Código Abonado. • Descripción : Función que dado un código de abonado, va a intentar buscarlo dentro de la base de datos correspondiente a Abonados. • Lee : Introducir Código Abonado ⇒ Código del Abonado ; ABONADOS. • Envía : Usuario ⇒ Confirmación de la Existencia o no. • Precondiciones : Con el código obtenido, pasamos a realizar la búsqueda. • Postcondiciones : Se ha buscado el código y se sabe de su existencia o no.

Page 59: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

59

1.9. Leer Código Banco • Nombre : Leer Código Banco. • Descripción : Función que lee el código del banco en el cúal tiene cuenta el abonado. • Lee : Introducir Código Abonado ⇒ Código del Abonado ; ABONADOS. • Envía : Buscar Código Banco ⇒ Código del Banco. • Precondiciones : Se ha obtenido el código del abonado. • Postcondiciones : Sale el código del banco donde tiene cuenta el abonado, si es que la posee.

1.10. Buscar Código Banco • Nombre : Buscar Código Banco. • Descripción : Función que dado un código de banco, va a intentar buscarlo dentro de la base de datos correspondiente a Bancos. • Lee : Lee Código Banco ⇒ Código del Banco ; BANCOS. • Envía : Usuario ⇒ Confirmación de la existencia o no. • Precondiciones : Con el código obtenido, pasamos a realizar la búsqueda. • Postcondiciones : Se ha buscado el código y se sabe de su existencia o no.

1.11. Modificar Datos Abonado • Nombre : Modificar Datos Abonado. • Descripción : Función que va a modificar los datos correspondientes al abonado en los parámetros que se le pasen. • Lee : Usuario ⇒ Cantidad de Dinero a incrementar. • Cambia : ABONADOS ; PAGOS. • Envía : Usuario ⇒ Confirmación de Recarga. • Precondiciones : Se han introducido ciertos datos a modificar en el abonado. • Postcondiciones : Se ha recargado la tarjeta con el crédito dicho.

2. Gestión de los Proveedores

2.1. Abrir Pedidos • Nombre : Abrir Pedidos. • Descripción : Función con la que entramos y visualizamos el menú de Pedidos. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Insertar Pedidos ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con los pedidos. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a los pedidos.

Page 60: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

60

2.2. Insertar Pedido • Nombre : Insertar Pedido. • Descripción : Función con la cual seleccionamos la inserción de un nuevo pedido. • Lee : Usuario ⇒ Selección de esa operación. • Envía : Introducir Datos Pedido ⇒ Se ha seleccionado el submenú. • Precondiciones : Se ha realizado la selección de esa opción correspondiente a los pedidos. • Postcondiciones : Entramos en el submenú para insertar pedidos.

2.3. Introducir Datos Pedido • Nombre : Introducir Datos Pedido. • Descripción : Se introducen los datos correspondientes al nuevo pedido del cuál rellenamos su ficha. • Lee : Usuario ⇒ Datos del Pedido • Envía : Generar Código ⇒ Datos para calcular el código. • Precondiciones : Entramos en el submenú para insertar pedidos. • Postcondiciones : Rellenamos la ficha con los datos del nuevo pedido.

2.4. Generar Código • Nombre : Generar Código. • Descripción : Se calcula el código necesario a través de los datos pasados. • Lee : Introducir Datos ? ⇒ Datos para calcular el código. • Envía : Buscar Código ? ⇒ Código calculado y los datos usados para tal fin. • Precondiciones : Llegan datos a través del usuario previamente. • Postcondiciones : Se ha generado el código de acuerdo a los datos pasados.

2.5. Buscar Código Pedido • Nombre : Buscar Código Pedido. • Descripción : Función que dado un código de pedido, va a intentar buscarlo dentro de la base de datos correspondiente a Pedidos. • Lee : Generar Código ⇒ Código del Pedido ; PEDIDOS. • Envía : Usuario ⇒ Confirmación de la existencia o no. • Precondiciones : Con el código obtenido, pasamos a realizar la búsqueda. • Postcondiciones : Se ha buscado el código y se sabe de su existencia o no.

Page 61: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

61

2.6. Almacenar Datos Pedido • Nombre : Almacenar Datos Pedido. • Descripción : Se van a introducir los datos del nuevo pedido en la base de datos diseñada para tal fin. • Lee : Introducir Datos Pedido ⇒ Datos del pedido ; Generar Código ⇒ Código identificativo del pedido. • Cambia : La base de datos PEDIDOS. • Envía : Enviar Pedido ⇒ Datos del Pedido y el código identificativo. • Precondiciones : Se ha calculado lo necesario para realizar un nuevo pedido. • Postcondiciones : Se han almacenado los datos en la base de datos.

2.7. Enviar Pedido • Nombre : Enviar Pedido. • Descripción : Enviamos vía fax o e-mail, el pedido al proveedor para que nos lo traiga. • Lee : La base de datos PEDIDOS. • Envía : Proveedor ⇒ Documento con el Pedido. • Precondiciones : Tenemos los datos almacenados del nuevo pedido. • Postcondiciones : Se hace el envío del pedido al proveedor para que nos los proporcione.

2.8. Comprobar Pedido • Nombre : Comprobar Pedido. • Descripción : Función con la cual seleccionamos la opción para comprobar un pedido. • Lee : Usuario ⇒ Selección de esa operación. • Envía : Introducir Código Pedido ⇒ Se ha seleccionado el submenú. • Precondiciones : Se ha realizado la selección de esa opción correspondiente a los pedidos. • Postcondiciones : Entramos en el submenú para comprobar pedidos.

2.9. Introducir Código Pedido • Nombre : Introducir Código Pedido. • Descripción : Se introduce el código del pedido para operar con él. • Lee : Usuario ⇒ Código del Pedido. • Envía : Buscar Código Pedido ⇒ Código del Pedido. • Precondiciones : Se muestra la operación para introducir el código requerido. • Postcondiciones : Se ha obtenido el código.

Page 62: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

62

2.10. Confirmar Código Pedido • Nombre : Confirmar Código Pedido. • Descripción : Función que pregunta si el pedido ha sido traído correctamente. • Lee : Usuario ⇒ Confirmación Pedido. • Cambia : PEDIDOS. • Precondiciones : Tenemos un código pedido válido. • Postcondiciones : Se ha confirmado la llegada correcta o no del pedido.

2.11. Abrir Facturas • Nombre : Abrir Facturas. • Descripción : Función con la que entramos y visualizamos el menú de Facturas. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Seleccionar Operación Factura ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con las facturas. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a los facturas.

2.12. Seleccionar Operación Factura • Nombre : Seleccionar Operación Factura. • Descripción : Función con la que selecciomos las operaciones a realizar con las distintas facturas que tengamos. • Lee : Usuario ⇒ Selección de esa operación. • Envía : A las restantes operaciones ⇒ La operación seleccionada. • Precondición : Se ha entrado en el menú de Facturas. • Postcondición : Se ha seleccionado una operación a realizar.

2.13. Insertar Factura • Nombre : Insertar Factura. • Descripción : Función con la cual seleccionamos la inserción de una nueva factura. • Lee : Seleccionar Operación Factura ⇒ Selección de esa operación. • Envía : Introducir Datos Factura ⇒ Se ha seleccionado el submenú. • Precondiciones : Se ha realizado la selección de esa opción correspondiente a las facturas. • Postcondiciones : Entramos en el submenú para insertar facturas.

Page 63: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

63

2.14. Introducir Datos Factura • Nombre : Introducir Datos Factura. • Descripción : Se introducen los datos correspondientes a la nueva factura del cuál rellenamos su ficha. • Lee : Usuario ⇒ Datos de la Factura. • Envía : Generar Código ⇒ Datos para calcular el código. • Precondiciones : Entramos en el submenú para insertar facturas. • Postcondiciones : Rellenamos la ficha con los datos del nuevo facturas.

2.15. Buscar Código Factura • Nombre : Buscar Código Factura. • Descripción : Función que dado un código de factura, va a intentar buscarlo dentro de la base de datos correspondiente a Facturas. • Lee : Generar Código ⇒ Código del Pedido ; FACTURAS. • Envía : Usuario ⇒ Confirmación de la existencia o no. • Precondiciones : Con el código obtenido, pasamos a realizar la búsqueda. • Postcondiciones : Se ha buscado el código y se sabe de su existencia o no.

216. Almacenar Datos Factura • Nombre : Almacenar Datos Factura. • Descripción : Se van a introducir los datos del nuevo pedido en la base de datos diseñada para tal fin. • Lee : Introducir Datos Factura ⇒ Datos de la factura ; Generar Código ⇒ Código identificativo de la factura. • Cambia : La base de datos FACTURAS. • Envía : Enviar Pedido ⇒ Datos de la Factura y el código identificativo. • Precondiciones : Se ha calculado lo necesario para realizar una nueva factura. • Postcondiciones : Se han almacenado los datos en la base de datos.

2.17. Modificar Factura • Nombre : Modificar Factura. • Descripción : Función con la cual seleccionamos la modificación de una factura. • Lee : Seleccionar Operación Factura ⇒ Selección de esa operación. • Envía : Introducir Código Factura ⇒ Se ha seleccionado el submenú. • Precondiciones : Se ha realizado la selección de esa opción correspondiente a las facturas. • Postcondiciones : Entramos en el submenú para modificar facturas.

Page 64: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

64

2.18. Introducir Código Factura • Nombre : Introducir Código Factura. • Descripción : Se introduce el código de la factura para operar con él. • Lee : Usuario ⇒ Código de la Factura. • Envía : Buscar Código Factura ⇒ Código de la Factura. • Precondiciones : Se muestra la operación para introducir el código requerido. • Postcondiciones : Se ha obtenido el código.

2.19. Modificar Datos Factura • Nombre : Modificar Datos Factura. • Descripción : Función que va a modificar los datos correspondientes a la factura en los parámetros que se le pasen. • Lee : Usuario ⇒ Parámetros que desea modificar ; FACTURAS. • Cambia : FACTURAS. • Envía : Usuario ⇒ Confirmación de la modificación. • Precondiciones : Se han introducido ciertos datos a modificar en la factura. • Postcondiciones : Se han modificado los datos de una factura determinada.

2.20. Visualizar Facturas • Nombre : Visualizar Facturas. • Descripción : Función con la que entramos y visualizamos el menú de Facturas. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Seleccionar Operación Factura ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con las facturas. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a los facturas.

2.21. Visualizar Datos Factura • Nombre : Visualizar Datos Factura. • Descripción : Función que va a visualizar los datos correspondientes a la factura elegida. • Lee : Introducir Código Factura ⇒ El código de la factura ; FACTURAS. • Envía : Usuario ⇒ Muestra los datos requerido. • Precondiciones : Se ha introducido un código de factura para visualizar. • Postcondiciones : Se ha visualizado la factura requerida.

Page 65: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

65

2.22. Eliminar Facturas • Nombre : Eliminar Facturas. • Descripción : Función con la que entramos y visualizamos el menú de Facturas. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Seleccionar Operación Factura ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con las facturas. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a los facturas.

2.23. Eliminar Datos Factura • Nombre : Eliminar Datos Factura. • Descripción : Función que va a eliminar la factura pedida. • Lee : Introducir Código Factura ⇒ El código de la factura ; FACTURAS. • Envía : Usuario ⇒ Elimina la factura requerida. • Precondiciones : Se ha introducido un código de factura para eliminar. • Postcondiciones : Se ha eliminado la factura requerida.

2.24. Pagar Facturas • Nombre : Pagar Facturas. • Descripción : Función con la que entramos y visualizamos el menú de Facturas. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Seleccionar Operación Factura ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con las facturas. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a los facturas.

2.25. Pagar La Factura • Nombre : Pagar La Factura. • Descripción : Función que va a servir que registrar el pago de una factura. • Lee : Introducir Código Factura ⇒ El código de la factura ; FACTURAS. • Cambia : FACTURAS ; PAGOS. • Envía : Proveedor ⇒ El pago de la factura. • Precondiciones : Se ha introducido un código de factura para pagar. • Postcondiciones : Se ha pagado la factura mencionada.

Page 66: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

66

2.26. Abrir Proveedores • Nombre : Abrir Proveedores. • Descripción : Función con la que entramos y visualizamos el menú de Proveedores. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Seleccionar Operación Proveedor ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con los proveedores. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a los proveedoress.

2.27. Seleccionar Operación Proveedor • Nombre : Seleccionar Operación Proveedor. • Descripción : Función con la que selecciomos las operaciones a realizar con los distintos proveedores que tengamos. • Lee : Usuario ⇒ Selección de esa operación. • Envía : A las restantes operaciones ⇒ La operación seleccionada. • Precondición : Se ha entrado en el menú de Proveedores. • Postcondición : Se ha seleccionado una operación a realizar.

2.28. Insertar Proveedor • Nombre : Insertar Proveedor. • Descripción : Función con la cual seleccionamos la inserción de un nuevo proveedor. • Lee : Seleccionar Operación Proveedor ⇒ Selección de esa operación. • Envía : Introducir Datos Proveedor ⇒ Se ha seleccionado el submenú. • Precondiciones : Se ha realizado la selección de esa opción correspondiente a los proveedores. • Postcondiciones : Entramos en el submenú para insertar proveedores.

2.29. Introducir Datos Proveedor • Nombre : Introducir Datos Proveedor. • Descripción : Se introducen los datos correspondientes al nuevo proveedor del cuál rellenamos su ficha. • Lee : Proveedor ⇒ Datos del Proveedor. • Envía : Generar Código ⇒ Datos para calcular el código. • Precondiciones : Entramos en el submenú para insertar proveedores. • Postcondiciones : Rellenamos la ficha con los datos del nuevo proveedores.

Page 67: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

67

2.30. Buscar Código Proveedor • Nombre : Buscar Código Proveedor. • Descripción : Función que dado un código de proveedor, va a intentar buscarlo dentro de la base de datos correspondiente a Proveedores. • Lee : Generar Código ⇒ Código del Proveedor ; PROVEEDORES. • Envía : Usuario ⇒ Confirmación de la existencia o no. • Precondiciones : Con el código obtenido, pasamos a realizar la búsqueda. • Postcondiciones : Se ha buscado el código y se sabe de su existencia o no.

2.31. Almacenar Datos Proveedores • Nombre : Almacenar Datos Proveedores. • Descripción : Se van a introducir los datos del nuevo proveedor en la base de datos diseñada para tal fin. • Lee : Introducir Datos Proveedor ⇒ Datos del proveedor ; Generar Código ⇒ Código identificativo del proveedor. • Cambia : La base de datos PROVEEDORES. • Envía : Confirmación de que se han almacenado los datos del proveedor. • Precondiciones : Se ha calculado lo necesario para realizar un nuevo proveedor. • Postcondiciones : Se han almacenado los datos en la base de datos.

2.32. Modificar Proveedor • Nombre : Modificar Proveedor. • Descripción : Función con la cual seleccionamos la modificación de un proveedor. • Lee : Seleccionar Operación Proveedor ⇒ Selección de esa operación. • Envía : Introducir Código Proveedor ⇒ Se ha seleccionado el submenú. • Precondiciones : Se ha realizado la selección de esa opción correspondiente a los proveedores. • Postcondiciones : Entramos en el submenú para modificar proveedores.

2.33. Introducir Código Proveedor • Nombre : Introducir Código Proveedor. • Descripción : Se introduce el código del proveedor para operar con él. • Lee : Usuario ⇒ Código del Proveedor. • Envía : Buscar Código Proveedor ⇒ Código del Proveedor. • Precondiciones : Se muestra la operación para introducir el código requerido. • Postcondiciones : Se ha obtenido el código.

Page 68: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

68

2.34. Modificar Datos Proveedor • Nombre : Modificar Datos Proveedor. • Descripción : Función que va a modificar los datos correspondientes al proveedor en los parámetros que se le pasen. • Lee : Usuario ⇒ Parámetros que desea modificar ; PROVEEDORES. • Cambia : PROVEEDORES. • Envía : Usuario ⇒ Confirmación de la modificación. • Precondiciones : Se han introducido ciertos datos a modificar en el proveedor. • Postcondiciones : Se han modificado los datos de un proveedor determinado.

2.35. Visualizar Proveedor • Nombre : Visualizar Proveedor. • Descripción : Función con la que entramos y visualizamos el menú de Proveedores. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Seleccionar Operación Proveedor ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con los proveedores. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a los proveedores.

2.36. Visualizar Datos Proveedor • Nombre : Visualizar Datos Proveedor. • Descripción : Función que va a visualizar los datos correspondientes al proveedor elegido. • Lee : Introducir Código Proveedor ⇒ El código del proveedor ; PROVEEDORES. • Envía : Usuario ⇒ Muestra los datos requerido. • Precondiciones : Se ha introducido un código de proveedor para visualizar. • Postcondiciones : Se ha visualizado el proveedor requerido.

2.37. Eliminar Proveedor • Nombre : Eliminar Proveedor. • Descripción : Función con la que entramos y visualizamos el menú de Proveedores. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Seleccionar Operación Proveedor ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con los proveedores. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a los proveedores.

Page 69: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

69

2.38. Eliminar Datos Proveedor • Nombre : Eliminar Datos Proveedor. • Descripción : Función que va a eliminar el proveedor pedido. • Lee : Introducir Código Proveedor ⇒ El código del proveedor ; PROVEEDORES. • Envía : Usuario ⇒ Elimina el proveedor requerido. • Precondiciones : Se ha introducido un código de proveedor para eliminar. • Postcondiciones : Se ha eliminado el proveedor requerido.

3. Gestión de los Clientes .

3.1. Abrir Productos • Nombre : Abrir Productos. • Descripción : Función con la que entramos y visualizamos el menú de Productos. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Insertar Productos ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con los productos. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a los productos.

3.2. Alquilar Producto • Nombre : Alquilar Producto. • Descripción : Función con la que alquilamos un producto. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Introducir código producto ⇒ Que se ha seleccionado ese menú. • Precondiciones : El Cliente quiere alquilar un producto. • Postcondiciones : Se ha realizado el alquiler de un producto.

3.3. Introducir Código Producto • Nombre : Introducir Código Producto. • Descripción : Se introduce el código del producto para operar con él. • Lee : Usuario ⇒ Código del Producto. • Envía : Buscar Código Producto ⇒ Código del Producto. • Precondiciones : Se muestra la operación para introducir el código requerido.

Postcondiciones : Se ha obtenido el código.

Page 70: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

70

3.4. Buscar Código Producto • Nombre : Buscar Código Producto. • Descripción : Función que dado un código de producto, va a intentar

encontrarlo dentro de la base de datos correspondiente a Productos. • Lee : Introducir Código Producto ⇒ Código del Producto. PRODUCTOS. • Envía : Usuario ⇒ Confirmación de su existencia a no. • Precondiciones : Con el código obtenido, pasamos a realizar la búsqueda. • Postcondiciones : Se ha buscado el código y se sabe de su existencia o no.

3.5. Comprar Producto • Nombre : Comprar Producto. • Descripción : Función con la que el cliente compra un producto. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Introducir código producto ⇒ Que se ha seleccionado ese menú. • Precondiciones : El Cliente quiere comprar un producto. • Postcondiciones : Se ha realizado la compra de un producto.

3.6. Introducir Datos Cliente • Nombre : Introducir Datos Cliente. • Descripción : Función con la que se introducen los datos básicos del cliente. • Lee : Usuario ⇒ Datos del Cliente. • Envía : Almacenar Datos Cliente ⇒ Datos del Cliente. • Precondiciones : Entramos en el submenú de insertar Clientes. • Postcondiciones : Se ha rellenado la ficha con los datos del Cliente.

3.7. Almacenar Datos Cliente • Nombre : Almacenar Datos Cliente. • Descripción : Se almacenan los datos necesarios para realizar la venta de un

producto. • Lee : Introducir Datos Cliente ⇒ Datos del Cliente. • Precondiciones : Se han obtenido todos los datos del Cliente.. • Postcondiciones : Se han almacenado los datos del Cliente.

3.8. Devolver Producto • Nombre : Devolver Producto. • Descripción : Un Abonado desea devolver un producto comprado. • Lee : Usuario ⇒ Código del Abonado. • Envía : Introducir Código Abonado ⇒ Código del Abonado. • Precondiciones : Un Abonado muestra su código y trae el Producto a devolver.

Postcondiciones : Se ha devuelto el Producto.

Page 71: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

71

3.9. Introducir Fecha Devolución • Nombre : Introducir Fecha Devolución. • Descripción : Función en la que se introduce la fecha de devolución del

alquiler de un producto. • Lee : Usuario ⇒ Fecha de devolución del Producto. • Envía : Calcular Sanción ⇒ Fecha de devolución y de alquiler del Producto. • Precondiciones : Se realiza la devolución de un Producto. • Postcondiciones : Se ha insertado la fecha de devolución de un Producto.

3.10. Calcular Sanción • Nombre : Calcular Sanción. • Descripción : Se calcula el intervalo de tiempo que el abonado ha tenido el

Producto y se verifica si éste debe pagar una sanción por retraso. • Lee : Introducir Fecha Devolución ⇒ Fecha de Devolución. • Envía : Modificar Datos Abonado ⇒ Importe de la sanción si ésta existe. • Precondiciones : Se tiene la fecha de alquiler y de entrega del producto. • Postcondiciones : Se ha obtenido el importe de la sanción si ésta existe.

3.11. Cambiar Producto • Nombre : Cambiar Producto. • Descripción : Función con la que se modifica una factura debido a un problema

con un producto. • Lee : Usuario ⇒ Datos de la Factura. • Envía : Introducir Código Factura ⇒ Datos de la Factura. • Precondiciones : Ha habido algún problema con algún Producto en una venta. • Postcondiciones : Se ha modificado una factura cambiando algún producto.

3.12. Confirmar Estado Producto • Nombre : Confirmar Estado Producto. • Descripción : Función en la que determina el estado de un Producto. • Lee : Cambiar Producto ⇒ Código Producto. • Envía : Devolver Factura ⇒ Datos Producto. • Precondiciones : Se tiene el código de la factura. • Postcondiciones : Se devuelve el estado del producto.

3.13. Devolver Factura • Nombre : Devolver Factura. • Descripción : Función con la que se devuleve una factura ya hecha modificada. • Lee : Confirmar Estado Producto ⇒ Datos Producto. • Envía : Usuario ⇒ Nueva Factura. • Precondiciones : Se tiene el producto a modificar. • Postcondiciones : Se ha modificado la factura .

Page 72: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

72

4. Gestión de los Bancos 4.1. Abrir Bancos • Nombre : Abrir Bancos. • Descripción : Función con la que entramos y visualizamos el menú de Bancos. • Lee : Usuario ⇒ Seleccion del menú inicial. • Envía : Seleccionar Operación Banco ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con los bancos. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a los bancos.

4.2. Seleccionar Operación Bancos • Nombre : Seleccionar Operación Bancos. • Descripción : Función con la que selecciomos las operaciones a realizar con

los distintos bancos que tengamos. • Lee : Usuario ⇒ Selección de esa operación. • Envía : A las restantes operaciones ⇒ La operación seleccionada. • Precondición : Se ha entrado en el menú de Bancos. • Postcondición : Se ha seleccionado una operación a realizar.

4.3. Insertar Banco • Nombre : Insertar Banco. • Descripción : Función con la cual seleccionamos la inserción de un nuevo banco. • Lee : Seleccionar Operación Banco ⇒ Selección de esa operación. • Envía : Introducir Datos Banco ⇒ Se ha seleccionado el submenú. • Precondiciones : Se ha realizado la selección de esa opción correspondiente a los bancos. • Postcondiciones : Entramos en el submenú para insertar bancos.

4.4. Introducir Datos Banco • Nombre : Introducir Datos Banco. • Descripción : Se introducen los datos correspondientes al nuevo banco con el

que vamos a trabajar. • Lee : Usuario ⇒ Datos del Banco. • Envía : Generar Código ⇒ Datos para calcular el código. • Precondiciones : Entramos en el submenú para insertar bancos. • Postcondiciones : Rellenamos la ficha con los datos del nuevo banco.

Page 73: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

73

4.6. Almacenar Datos Banco • Nombre : Almacenar Datos Banco. • Descripción : Se van a introducir los datos del nuevo banco en la base de datos diseñada para tal fin. • Lee : Introducir Datos Banco ⇒ Datos del banco; Generar Código ⇒ Código identificativo del banco. • Cambia : La base de datos BANCOS. • Envía : Usuario ⇒ Banco insertado. • Precondiciones : Se ha calculado lo necesario para insertar un nueo banco en la

base de datos correspondiente. • Postcondiciones : Se han almacenado los datos en la base de datos.

4.7. Modificar Banco • Nombre : Modificar Banco. • Descripción : Función que va a modificar los datos correspondientes a un

banco insertado en la base de datos. • Lee : Usuario ⇒ Banco a modificar. • Envía : Usuario ⇒ Confirmación de la modificación. • Precondiciones : Se ha elegido esta opción dle menú. • Postcondiciones : Se ha modificado la base de datos correspondiente a los

bancos..

4.8. Introducir Código Banco • Nombre : Introducir Código Banco. Descripción : Se introduce el código del banco para operar con él. • Lee : Usuario ⇒ Cantidad del Banco • Envía : Buscar Código Banco ⇒ Código del Banco. • Precondiciones : Se muestra la operación para introducir el código requerido. • Postcondiciones : Se ha obtenido el código.

4.9. Modificar Datos Banco • Nombre : Modificar Datos Banco • Descripción : Función que va a modificar los datos correspondientes al banco en los parámetros que se le pasen. • Lee : Usuario ⇒ Datos del Banco a modificar. • Cambia : BANCOS. • Envía : Usuario ⇒ Confirmación de cambio en los datos de un banco. • Precondiciones : Se han introducido ciertos datos a modificar en un banco. • Postcondiciones : Se ha modificado un banco.

Page 74: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

74

4.10. Visualizar Bancos • Nombre : Visualizar Bancos. • Descripción : Función con la que entramos y visualizamos el menú de facturas. • Lee : Usuario ⇒ Selección del menú inicial.. • Envía : Seleccionar Operación Banco ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con los bancos. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a

los bancos.

4.11. Visualizar Datos Banco • Nombre : Visualizar Datos Banco. • Descripción : Función con la que se visualizan los datos correspondientes al

banco elegido. • Lee : Introducir Código Banco ⇒ El código del banco. BANCOS. • Envía : Usuario ⇒ Muestra los datos requeridos. • Precondiciones : Se ha introducido un código de banco para visualizar.

Postcondiciones : Se ha mostrado el banco requerido.

4.12. Eliminar Bancos • Nombre : Eliminar Bancos. • Descripción : Función con la que entramos y visualizamos el menú de bancos. • Lee : Usuario ⇒ Selección del menú inicial.. • Envía : Seleccionar Operación Banco ⇒ Que se ha seleccionado ese menú. • Precondiciones : El usuario quiere operar con los bancos. • Postcondiciones : Se ha realizado la selección de esa opción correspondiente a

los bancos.

4.13. Eliminar Datos Banco • Nombre : Eliminar Datos Banco. • Descripción : Función que elimina el banco requerido. • Lee : Introducir Código Banco ⇒ El código del banco. BANCOS. • Envía : Usuario ⇒ Confirmación de la eliminación del banco. • Precondiciones : Se ha introsucido un código de banco para eliminar.

Postcondiciones : Se ha eliminado el banco requerido.

Page 75: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

75

4.4. Diseño de la Interfaz del Software Se corresponde este punto con el Diseño de la Interfaz que va a tener nuestro software. Aquí es donde diseñamos la apariencia que nuestro programa va a mostrar. Para tal diseño, nos debemos apoyar en los requisitos que debe tener la aplicación, es decir, básicamente en la Lista de Eventos. Con dicha lista, sacamos 3 menús principales, los cuáles son:

1. Archivo 2. Edición 3. Herramientas

A esto, a toda aplicación software se le deben añadir 2 apartados más, que son:

1. Ayuda 2. Salir

Dentro del apartado Ayuda, debe existir un apartado denominado Acerca de ... en el cuál se informa de los diseñadores del software. La ocpción para salir del software está integrada dentro del menú Archivo. Con todo esto, nos queda interfaz con 4 menús. Dentro de estos menús, aparecerán submenús, los cuáles están diseñados para cumplir con la Lista de Eventos detallada, y con los requisitos que se han estudiado en este documento (los del Usuario). Pasemos pues a ver las ventanas que componen la interfaz. Ventana Principal

Page 76: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

76

Ventana de Archivo Dentro del menú de Archivo, vamos a encontrarnos con 5 submenús, los cuáles son:

• Nuevo • Abrir • Borrar • Buscar • Salir

Cada uno de ellos, exceptuando el de Salir va a contener submenús para realizar distintas operaciones. El objetivo de dicha estructuración es la de aprovechar la posibilidad de Polimorfismo existente. Esto es debido a que con los objetos que van a haber en el sistema se pueden realizar operaciones muy parecidas. Por ejemplo, se puede crear un abonado, un cliente, un producto, un proveedor, etc ... De ahí que usemos el menu Archivo ? Nuevo ? Abonado para crear un nuevo abonado y así con todos los objetos con los que el software va a poder trabajar. Entonces, tenemos que los siguientes menús equivalen a realizar las siguientes operaciones: Nuevo ? Crear Abrir ? Visualizar y Modificar Borrar ? Eliminar Buscar ? Buscar y Listar Si vamos recorriendo los distintos menús, vamos a ir viendo que poseen las siguientes opciones: Ventana de Nuevo

Page 77: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

77

Mediante estas opciones, se va a permitir crear objetos del tipo que indique cada submenú. A la hora de la creación, nos van a aparecer ciertas fichas a rellenar, según el tipo de objeto elegido. Abonado – Cliente - Proveedor

Page 78: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

78

Banco

Facturas

Page 79: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

79

Pedidos

Productos

Page 80: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

80

Hasta aquí ha llegado el contenido de este submenú. Hemos visualizado todas las plantillas de las que dispone el software para la introducción de datos necesarios por este para la correcta ejecución. A continuación, pasaremos al submenú Abrir que es útil, bien para visualizar, como para modificar datos de los objetos ya creados. Ventana de Abrir Vamos a tener las mismas posibilidad que en el submenú anterior, e iguales plantillas que la anterior. La diferencia que estriba entre los 2 submenús, es el tratamiento que el software va a hacer de los datos. En el primer caso, la plantilla estará vacía y la rellenará el usuario, cuyos datos serán posteriormente introducidos en la base de datos correspondiente. En el segundo caso, se introducirá un código identificativo del tipo en cuestión, para posteriormente recuperar de la base de datos, los datos que serán mostrados en la plantilla. Si se modifica alguno de estos sobre la plantilla, entonces se actualizarán estos en la mencionada base de datos. Con esto, se ha cubierto las opciones para visualizar y modificar. La apariencia del submenú es:

Ventana de Borrar Ocurre lo mismo que con los 2 apartados anteriores. Visualizamos a continuación su pantalla.

Page 81: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

81

Ventana de Buscar Aquí el concepto cambia. En este submenú, las plantillas vuelven a ser las mismas, salvo la existencia de una novedad. A la hora de realizar búsquedas, se generan listados, los cuáles serán mostrados por pantalla en otras plantillas con distintas características. La visualización previa del submenú es la que mostramos en la siguiente hoja. Posteriormente pasaremos a mostrar los distintos tipos de búsqueda que se pueden realizar, según el tipo de código a buscar (se visualizan las pantallas). Decir que vamos a tener tantas plantillas distintas en número con en la opción de nuevo, y las coincidencias serán para los mismos objetos. Dichas plantillas las mostramos todas seguidas a partir de la visualización del submenú. Antes que nada, vamos a presentar aquellas pantallas dedicadas para introducción del tipo a buscar. Existen varios tipos:

• Por Nombre • Por Código • Por Tipo • Por Fecha

Seguiremos este orden pues para mostrarlos:

Page 82: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

82

Page 83: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

83

A partir de este punto, el documento va a ser un poco monótono en cuanto a estructura. Vamos a ir poniendo los distintos submenús de búsqueda por tipos así como los listados que van a ir generando. Empezamos por Abonados. Abonados

Page 84: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

84

Clientes

Page 85: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

85

Productos

Page 86: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

86

Bancos

Page 87: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

87

Facturas

Page 88: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

88

Las facturas a su vez tienen una opción, la de detalle:

Page 89: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

89

Pedidos

Page 90: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

90

Proveedor

Si en la introducción de los datos, esta no se hiciera de la forma correcta, también hay una ventana dedicada para informar al usuario de este error. En concreto es un mensaje.

Page 91: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

91

Ventana de Salir

La pantalla para salir del software es la que mostramos a continuación y es donde se escoge entre abandonar o continuar la ejecución del programa. Ventana de Edición A continuación, seguimos exponiendo los menús. El siguiente es el de Edición. Este menú es una serie de utilidades para seguir con una estructura de menús de acuerdo a la utilización estándar que de estos se dan en las distintas aplicaciones software que existen. En concreto, este menú esta compuesto de 4 utilidades:

• Cortar • Copiar • Pegar • Seleccionar Todo

Las 4 son bastante usuales y nosotros en nuestra aplicación les damos cabida para utilización más rápido de posibles datos que se pueden repetir. La apariencia es la siguiente:

Page 92: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

92

Ventana de Herramientas

Aquí tenemos un menú que completa la aplicación con una serie de herramientas necesarias.

Page 93: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

93

Estas herramientas son las que mostramos:

• Recargar Tarjeta • Enviar Pedido • Pagar Factura

Estas opciones invocan a formularios que ya hemos presentado, y que en su interior se encuentran la posibilidad de activar o no estas opciones, pero que se han separado dentro de este menú para darle un mayor énfasis al tema-. Los formularios que salen son los que se encuentran en las páginas 77, 78 y 79. Ventana de Ayuda Para concluir, tenemos este menú en el que se disponen de 2 opciones. Estas son la del Tema de Ayuda, y la de Acerca de. Es uno de los menús que debería contener toda aplicación software que se cree. Esta sirve para informar al usuario del software de ciertas características de este, de cómo realizar ciertas operaciones que para el usuario son nuevas en un primer instante. También, dentro de este menú, debe existir la opción donde se informe de aquellas personas que han hecho el desarrollo del software, o han intervenido en él. En esta aplicación, ha sido diseñado, y la apariencia es la que mostramos en la página siguiente. Esta opción es la denominada Acerca de. Las mostramos a continuación. Inicialmente la de Ayuda, que como no se ha llevado su implementación, simplemente nos lo comunica.

Page 94: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

94

Para concluir con el diseño de la interfaz, tenemos el formulario que informa sobre los diseñadores del software. Dicha ventana es la siguiente:

Page 95: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

95

4.5. Interacción entre Objetos Se representa lo que se denomina en el método de Fusion, Diagrama de Interacción de Objetos. Comentar que vamos a utilizar la técnica de Observador Observable . Vamos a representar la interacción entre los objetos que tenemos en el sistema. Esto se observa a través de una serie de diagramas en los que se va a observar estas relaciones. El primer diagrama muetra la inicialización que se realiza al iniciar la aplicación.

C:CControl Escritorio

Inicializar

Mostrar (1)

Registrar Eventos (2) A continuación, veremos la interacción que se produce entre los objetos que componen los distintos menús, de ahí que haya bastante semejanza entre ellos. Aprovechando el Polimorfismo existente, empezamos por las opciones del menú Archivo.

C:CControl Dg:CDatos Bd:CVideoClub

Msg:CError

Msg:CConfirmar

Mostrar (1)

Nuevo

Enviar_Datos (2)

Mostrar (3)

Mostrar (4)

Page 96: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

96

C:CControl Dg:CDatos Bd:CVideoClub

Msg:CError

Msg:CConfirmar

Abrir

Leer_Datos (2)

Mostrar (6)

Mostrar (1)

Actualizar (3)

Enviar_Datos (4)

Mostrar (5)

C:CControl Dg:CDatos Bd:CVideoClub

Msg:CError

Msg:CConfirmar

Borrar

Leer_Datos (2)

Mostrar (6)

Mostrar (1)

Actualizar (3)

Enviar_Datos (4)

Mostrar (5)

Page 97: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

97

C:CControl Dg:CDatos Bd:CVideoClub

V:CVistaListado

Dg:CImpresión

Buscar

Leer_Datos (2)

Imprimir (4)

Mostrar (1)

Mostrar (3)

Vemos como se van llamando los sucesivos objetos que provocan que se vayan mostrando las distintas ventanas y plantillas de las que está compuesto el software. Indicar que Videoclub es una clase para gestionear accesos a una Base de Datos, en la cuál no vamos a entrar en detalle. Veamos el diagrama de Salir para concluir con este menú.

C:CControl Dg:CSalir

Salir

Mostrar

Sigamos a continuación con las operaciones del menú Herramientas. Nombrar antes que seguir, que el menú Edición es un menú estándar con opciones usuales que no están implementadas dentro de nuestro software, sino recursos del propio Sistema Operativo.

Page 98: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

98

C:CControl Dg:CDatos Bd:CVideoClub

Msg:CError

Msg:CConfirmar

Recargar Tarjeta

Leer_Datos (2)

Mostrar (6)

Mostrar (1)

Actualizar (3)

Enviar_Datos (4)

Mostrar (5)

C:CControl Dg:CDatos Bd:CVideoClub

Msg:CError

Msg:CConfirmar

Enviar Pedido

Leer_Datos (2)

Mostrar (6)

Mostrar (1)

Actualizar (3)

Enviar_Datos (4)

Mostrar (5)

Page 99: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

99

C:CControl Dg:CDatos Bd:CVideoClub

Msg:CError

Msg:CConfirmar

Pagar Factura

Leer_Datos (2)

Mostrar (6)

Mostrar (1)

Actualizar (3)

Enviar_Datos (4)

Mostrar (5)

Como podemos observar, los 3 diagramas son exactamente idénticos, debido a que los pasos que se realizan son siempre lo mismos para estas operaciones. Continuemos pues con el último menú, el de Ayuda. Tenemos los siguientes diagramas.

C:CControl Msg:CAyuda

Ayuda

Mostrar

C:CControl C:CAcerca_De

Acerca de

Mostrar

Page 100: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

100

4.6. Visibilidad entre Objetos Vamos a tratar la visibilidad que se da entre los objetos que se describen en el software. Este apartado se corresponde con la representación que el método de Fusión hace mediante los Grafos de Visibilidad. A continuación mostramos una serie de diagramas donde se muestran estas visibilidades. Estos los hemos descompuesto en 3 unidades. En estas plantillas, se puede observar la relación de visibilidad existente entre el control de la aplicación con las restantes plantillas que se van a poder utilizar en la aplicación, cosa que era ya evidente por otra parte. Se muestra la relación entre las plantillas con las que interactúa el control, con otros objetos que van a servir a la aplicación para realizar tareas de peticiones de datos al usuario externo, así como visibilidad con otras plantillas.

Page 101: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

101

TMainMenu : MainMenu1

CDatos : CDatos_Abonado

CDatos : CDatos_Cliente

CDatos : CDatos_Proveedor

CDatos : CDatos_Pedido

CDatos : CDatos_Factura

Control : CControl

CDatos : CDatos_Producto

CDatos : CDatos_Banco

CVistaListado : CVistaListado_Abonado

Page 102: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

102

CVistaListado : CVistaListado_Cliente

CVistaListado : CVistaListado_Banco

CVistaListado : CVistaListado_Proveedor

CVistaListado : CVistaListado_Producto

CVistaListado : CVistaListado_Pedido

CVistaListado : CVistaListado_Factura

Control : CControl

CDatos : CDatos_Listado_Nombre

CDatos : CDatos_Listado_Código

CDatos : CDatos_Listado_Tipo

Page 103: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

103

CDatos : CDatos_Listado_Fecha

CVideoClub : CVideoC

CError : CError_Msg

CConfirmar : CConfirmar_Msg

CAcerca_De : TAboutBox

CAyuda : CAyuda_Msg

Control : CControl

CSalir : CSalir_Fin

CVistaListado : CVistaListado_Factura_Detalle

Page 104: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

104

TMainMenu : MainMenu1

CVistaListado : CVistaListado_Abonado

CDatos : CDatos_Banco

CDatos : CDatos_Producto

CDatos : CDatos_Factura

CDatos : CDatos_Pedido

CDatos : CDatos_Proveedor

CDatos : CDatos_Cliente

CDatos : CDatos_Abonado

CVistaListado : CVistaListado_Cliente

CDatos : CDatos_Listado_Código

CVistaListado : CVistaListado_Banco

CVistaListado : CVistaListado_Proveedor

CVistaListado : CVistaListado_Producto

CVistaListado : CVistaListado_Pedido

CVistaListado : CVistaListado_Factura

CDatos : CDatos_Listado_Nombre

Control : Ccontrol

Page 105: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

105

CDatos : CDatos_Listado_Tipo

CVistaListado : CVistaListado_Factura_Detalle

CSalir : CSalir_Fin

CAyuda : CAyuda_Msg

CAcerca_De : TAboutBox

CConfirmar : CConfirmar_Msg

CError : CError_Msg

CVideoClub : CVideoC

CDatos : CDatos_Listado_Fecha

Control : Ccontrol

Page 106: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

106

4.7. Herencias entre Clases Vamos a definir las herencias que se dan entre las clases que intervienen en el software que se realiza. En este apartado, se nombran una serie de clases, que se heredan de la clase principal. También vamos a indicar sus atributos principales, y se van a definir con más detalle, principalmente sus métodos, en el siguiente apartado, el cuál es Descripción de las Clases. Este apartado es el que se denomina en el método de Fusion, Grafos de Herencia, donde mediante unos diagramas, representamos las herencias entre los distintos objetos. Los diagramas que mostramos a continuación hace referencia a las clases utilizadas para mostrar los menús en pantalla. Es el siguiente:

MainMenu1

Archivo1 Edición1 Herramientas1 Ayuda1

Pero como hemos visto en el diseño de la interfaz, estos tienen submenús. En concreto, el menú Archivos. La primera subdivisión sería la siguiente que visualizamos:

Archivo1

Nuevo1 Abrir1 Borrar1 Buscar1 Salir1

Page 107: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

107

Continuando con la subdivisión, llegamos a las del submenú Nuevo.

Nuevo1

Abonados1 Clientes1 Producto1 Bancos1 Facturas1 Pedido1 Proveedores1

Continuando con los submenús del menú Archivo, vamos a tener los siguientes diagramas que mostramos.

Abrir1

Abonados2 Clientes2 Producto2 Bancos2 Facturas2 Pedido2 Proveedores2

Borrar1

Abonados3 Clientes3 Producto3 Bancos3 Facturas3 Pedido3 Proveedores3

Page 108: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

108

Buscar1

Abonados4 Clientes4 Producto4 Bancos4 Facturas4 Pedido4 Proveedores4

Pero llegamos a un submenú, que a su vez se subdivide en otras ramificaciones; las correspondientes para visualizar los listados. Por tanto, se nos van a generar más herencias, que son:

Abonado4

Por_Nombre1 Por_Código1

Cliente4

Por_Nombre2

Page 109: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

109

Producto4

Por_Código2 Por_Tipo1

Banco4

Por_Nombre3 Por_Código3

Facturas4

Por_Código4 Por_Fecha1

Page 110: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

110

Pedido4

Por_Código5 Por_Fecha2

Proveedores4

Por_Nombre4 Por_Código6

Una vez concluida todas las subdivisiones que se hacen dentro del menú Archivos, pasamos a mostrar los diagramas de herencias de los siguientes menús de los que se compone la aplicación software. Estos van a ser los que mostramos a partir de la siguiente hoja.

Page 111: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

111

Edición1

Cortar1 Copiar1 Pegar1Seleccionar

Todo1

Herramientas1

RecargarTarjeta1

EnviarPedido1 PagarFactura1

Ayuda1

TemaAyuda1 AcercaDe1

Page 112: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

112

A continuación, mostraremos aquellos diagramas donde se muestra la herencia existente entre los distintos formularios que irán apareciendo para interectuar con el programa. Inicialmente vamos a empezar con aquellos formularios para introducción de datos.

TForm

MainMenu1CDatos_Abonado CDatos_Cliente

CDatos_Proveedor CDatos_Pedido CDatos_

Factura

TForm

CDatos_Producto CDatos_Banco

CVistaListado_Abonado

CVistaListado_Cliente

CVistaListado_Banco

CVistaListado_Proveedor

Page 113: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

113

TForm

CVistaListado_Producto

CVistaListado_Pedido

CVistaListado_Factura

CDatos_Listado_Nombre

CDatos_Listado_Código

CDatos_Listado_Tipo

CVistaListado_Factura_Detalle

TForm

CDatos_Listado_Fecha CVideoC CError_Msg CConfirmar_Msg TAboutBox CAyuda_Msg CAyuda_Msg

En estos diagramas representamos la herencia de todas las clases que se corresponden con formularios, de una clase, la principal.

Page 114: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

114

4.8. Clases En este apartado vamos a definir cada una de las clases, en cuánto a sus atributos, que ya han sido mostrados en la representación de herencias hecha anteriormente, así como de los métodos que describen las operaciones que se pueden realizar a estos objetos. En esta representación, vamos a nombrar las clases existentes, sus atributos así como los métodos u operaciones que se pueden realizar a las clases. Atributos solo vamos a nombrar los relacionados directamente con la aplicación, puesto que son múltiples los que proporciona o puede proporcionar un lenguaje de programación visual. Pasemos pues a la definición:

è MainMenu1 Esta clase se corresponde con la visualización del menú de la aplicación. Los métodos son todos aquellas acciones que se puedan hacer con ella. Sus atributos serán:

CLASS MainMenu1 is a TmainMenu

Attribute a: Archivo1 Attribute b: Nuevo1 Attribute c: Abrir1 Attribute d: Borrar1 Attribute e: Buscar1 Attribute f: Abonado1 Attribute g: Por_Nombre1 Attribute h: Por_Código1 Attribute i: Cliente1 Attribute j: Por_Nombre2 Attribute k: Producto1 Attribute l: Por_Código2 Attribute m: Por_Tipo1 Attribute n: Banco1 Attribute o: Por_Nombre3 Attribute p: Por_Código3 Attribute q: Facturas1 Attribute r: Por_Código4 Attribute s: Por_Fecha1

Attribute t: Pedido1 Attribute u: Por_Código5 Attribute v: Por_Fecha2 Attribute w: Proveedores1 Attribute x: Por_Nombre4 Attribute y: Por_Código6 Attribute z: Salir1 Attribute ab: Edición1 Attribute ac: Cortar1 Attribute ad: Copiar1 Attribute af: Pegar1 Attribute ag: Seleccionar_Todo1 Attribute ah: Herramientas1 Attribute ai: RecargarTarjeta1 Attribute aj: EnviarPedido1 Attribute ak: PagarFactura1 Attribute al: Ayuda1 Attribute am: TemaAyuda1 Attribute an: AcercaDe1

method Salir1Click(Sender: TObject); method Temasdeayuda1Click(Sender: TObject); method Acercade1Click(Sender: TObject); method PorNombre1Click(Sender: TObject); method PorCdigo1Click(Sender: TObject); method PorCdigo5Click(Sender: TObject);

Page 115: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

115

method PorTipo1Click(Sender: TObject); method PorNombre2Click(Sender: TObject); method PorCdigo2Click(Sender: TObject); method PorCdigo3Click(Sender: TObject); method PorFecha1Click(Sender: TObject); method PorFecha2Click(Sender: TObject); method PorFecha3Click(Sender: TObject); method PorCdigo4Click(Sender: TObject); method PorNombre3Click(Sender: TObject); method PorNombre4Click(Sender: TObject); method Abonado1Click(Sender: TObject); method Proveedor1Click(Sender: TObject); method Abondo1Click(Sender: TObject); method Cliente1Click(Sender: TObject); method Factura1Click(Sender: TObject); method Pedido1Click(Sender: TObject); method Producto1Click(Sender: TObject); method Abonado2Click(Sender: TObject); method Banco1Click(Sender: TObject); method Cliente2Click(Sender: TObject); method Factura2Click(Sender: TObject); method Pedido2Click(Sender: TObject); method Proveedor2Click(Sender: TObject); method Producto2Click(Sender: TObject); method Abonado3Click(Sender: TObject); method Banco2Click(Sender: TObject); method Cliente3Click(Sender: TObject); method Factura3Click(Sender: TObject); method Pedido3Click(Sender: TObject); method Producto3Click(Sender: TObject); method Proveedor3Click(Sender: TObject); method RecargarTarjeta1Click(Sender: TObject); method EnviarPedido1Click(Sender: TObject); method PagarFactura1Click(Sender: TObject);

ENDCLASS

Page 116: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

116

A partir de este punto, empezamos a describir las clases que se utilizan para las plantillas. Dichas clases tienen atributos propios que son del lenguaje de programación, las cuáles nosotros no vamos a enumerar. Los métodos que vamos a nombrar son exclusivamente aquellos a los que se hace referencia en el Diagrama de Interacción de Objetos, que son los que va a usar.

è CDatos_Abonado

Clase para visualizar en pantalla la plantilla para Abonados.

CLASS CDatos_Abonado is a TForm Method Mostrar ( ) Method Ocultar ( ) Method Actualizar ( ) ENDCLASS

è CDatos_Cliente

Clase para visualizar en pantalla la plantilla para Clientes.

CLASS CDatos_Cliente is a TForm Method Mostrar ( ) Method Ocultar ( ) Method Actualizar ( ) ENDCLASS

Page 117: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

117

è CDatos_Proveedor

Clase para visualizar en pantalla la plantilla para Proveedores.

CLASS CDatos_Proveedor is a TForm Method Mostrar ( ) Method Ocultar ( ) Method Actualizar ( ) ENDCLASS

è CDatos_Pedido

Clase para visualizar en pantalla la plantilla para Pedidos.

CLASS CDatos_Pedido is a TForm Method Mostrar ( ) Method Ocultar ( ) Method Actualizar ( ) ENDCLASS

è CDatos_Factura

Clase para visualizar en pantalla la plantilla para Abonados.

CLASS CDatos_Factura is a TForm Method Mostrar ( ) Method Ocultar ( ) Method Actualizar ( ) ENDCLASS

Page 118: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

118

è CDatos_Producto

Clase para visualizar en pantalla la plantilla para Abonados.

CLASS CDatos_Producto is a TForm Method Mostrar ( ) Method Ocultar ( ) Method Actualizar ( ) ENDCLASS

è CDatos_Banco

Clase para visualizar en pantalla la plantilla para Bancos.

CLASS CDatos_Banco is a TForm Method Mostrar ( ) Method Actualizar ( ) Method Actualizar ( ) ENDCLASS

è CvistaListado_Abonado

Clase para visualizar en pantalla la plantilla para listar Abonados.

CLASS CVistaListado_Abonado is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

Page 119: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

119

è CvistaListado_Cliente

Clase para visualizar en pantalla la plantilla para listar Clientes.

CLASS CVistaListado_Cliente is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

è CvistaListado_Banco

Clase para visualizar en pantalla la plantilla para listar Bancos.

CLASS CVistaListado_Banco is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

è CvistaListado_Proveedor

Clase para visualizar en pantalla la plantilla para listar Proveedores.

CLASS CVistaListado_Proveedor is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

Page 120: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

120

è CvistaListado_Producto

Clase para visualizar en pantalla la plantilla para listar Productos.

CLASS CVistaListado_Producto is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

è CvistaListado_Pedido

Clase para visualizar en pantalla la plantilla para listar Pedidos.

CLASS CVistaListado_Pedido is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

è CvistaListado_Factura

Clase para visualizar en pantalla la plantilla para listar Facturas.

CLASS CVistaListado_Factura is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

Page 121: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

121

è CDatos_Listado_Nombre

Clase para visualizar en pantalla la plantilla para tipo de búsqueda por Nombres.

CLASS CDatos_Listado_Nombre is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

è CDatos_Listado_Código

Clase para visualizar en pantalla la plantilla para tipo de búsqueda por Código.

CLASS CDatos_Listado_Código is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

è CDatos_Listado_Tipo

Clase para visualizar en pantalla la plantilla para tipo de búsqueda por Tipos.

CLASS CDatos_Listado_Tipo is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

Page 122: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

122

è CDatos_Listado_Fecha

Clase para visualizar en pantalla la plantilla para tipo de búsqueda por Fechas.

CLASS CDatos_Listado_Fecha is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

è CVideoC

Clase para gestionar accesos a la Base de Datos.

CLASS CVideoC is a TForm Method Leer_Datos ( ) Method Enviar_Datos ( ) ENDCLASS

è CError_Msg

Clase para visualizar en pantalla un mensaje indicando que se ha producido un error.

CLASS CError_Msg is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

Page 123: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

123

è CConfirmar_Msg

Clase para visualizar en pantalla un mensaje indicando que se ha realizado correctamente una operación.

CLASS CConfirmar_Msg is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

è CVistaListado_Factura_Detalle

Clase para visualizar en pantalla la plantilla que muestra el Detalle de una Factura.

CLASS CvistaListado_Factura_Detalle is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

è TAboutBox

Clase para visualizar en pantalla la plantilla que informa sobre los desarrolladores de Software.

CLASS TAboutBox is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

Page 124: Video Club Rocco - asuarseb.com Club Rocco.pdf · La empresa escogida en cuestión es un VideoClub, que abarca, además de los ... pueden ser visualizadas mediante reproductores para

Práctica de Ingeniería del Software VideoClub

124

è CAyuda_Msg

Clase para visualizar en pantalla la plantilla que informa sobre la disponibilidad de la ayuda.

CLASS CAyuda_Msg is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS

è CSalir_Fin

Clase para visualizar en pantalla la plantilla para la elección de abandonar o no el software.

CLASS CSalir_Fin is a TForm Method Mostrar ( ) Method Ocultar ( ) ENDCLASS