Contratos Anteriores:

Aquí guardaremos los contratos realizados en una primera versión, por si en algún momento hiciesen falta.

1. insertarCliente:

NOMBRE: insertarCliente (DNI: string, nombre: string, apellidos: string, direccion: string, localidad: string, provincia: string, codigoPostal: int, telefonoContacto: string)
RESPONSABILIDADES: Inserta un nuevo cliente en el sistema.
REFERENCIAS CRUZADAS: CU14-ICLI.
NOTAS: A partir del formulario de inserción de cliente nuevo, se insertan los datos en BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA: Ninguna.
PRECONDICIONES:

  1. Hay una inserción de cliente en curso, en la cual se ha comprobado que el cliente no existía ya en BD.
  2. Se ha comprobado la validez de los datos: datos nulos, tipos de datos, rango, etc.

POSTCONDICIONES:

  1. Se creó un nuevo objeto cliente en el sistema.
  2. Se creó una tupla en BD con la información del cliente nuevo.
  3. El cliente insertado se almacena con el estado “alta”.

2. modificarDatosCliente:

NOMBRE: modificarDatosCliente (c: cliente)
RESPONSABILIDADES: Modifica los datos de un cliente ya almacenado en el sistema.
REFERENCIAS CRUZADAS: CU15-MCLI.
NOTAS: A partir del formulario de modificación de cliente nuevo, se actualizan los nuevos datos en BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA:
PRECONDICIONES:

  1. Hay una modificación de cliente en curso, en la cual se ha obtenido los datos anteriores del cliente, y el usuario los ha modificado con los nuevos datos.
  2. Se ha comprobado la validez de los datos: datos nulos, tipos de datos, rango, etc.
  3. El objeto cliente está creado en el sistema.

POSTCONDICIONES:

  1. Se mostraron los datos del cliente c por pantalla.
  2. El usuario modificó los datos oportunos del cliente c.
  3. Se actualizó en BD la tupla que contenía la información antigua del cliente c con la nueva información.
  4. Se actualizó el objeto cliente.
  5. Se actualizó el estado del cliente en BD si es distinto al anterior.
  6. Si el estado final del cliente es el correspondiente a “eliminado”, se elimina el objeto cliente del sistema.

3. insertarProducto:

NOMBRE: insertarProducto (idProducto: int, nombre: string, categoria: string, proveedor: string, precioCompra: float, existencias: int, valorUmbral: float, epocaVenta: string, direccionFoto: string, observaciones: string)
RESPONSABILIDADES: Inserta un nuevo producto en el sistema.
REFERENCIAS CRUZADAS: CU03-IPRO.
NOTAS: A partir del formulario de inserción de producto nuevo, se insertan los datos en BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA:
PRECONDICIONES:

  1. Hay una inserción de producto en curso, en la cual se ha comprobado que el producto no existía ya en BD.
  2. Se ha comprobado la validez de los datos: datos nulos, tipos de datos, rango, etc.

POSTCONDICIONES:

  1. Se creó una tupla en BD con la información del producto nuevo.
  2. Se creó un nuevo objeto producto.
  3. El producto insertado se almacena con el estado “alta”.

4. modificarDatosProducto

NOMBRE: modificarDatosProducto (p: producto)
RESPONSABILIDADES: Modifica los datos de un producto ya almacenado en el sistema.
REFERENCIAS CRUZADAS: CU04-MPRO.
NOTAS: Debe existir una búsqueda previa del producto a modificar. Tomamos como punto de partida el formulario en el que el usuario puede modificar los datos de dicho producto.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA:
PRECONDICIONES:

  1. Hay una modificación de producto en curso, en la cual se ha comprobado que el producto existía ya en BD.
  2. Se ha comprobado la validez de los datos: datos nulos, tipos de datos, rango, etc.
  3. El objeto producto está creado en el sistema.

POSTCONDICIONES:

  1. Se mostraron los datos del producto p por pantalla.
  2. El usuario modificó los datos del producto p.
  3. Se modificó la tupla correspondiente en BD con la información nueva del producto p.
  4. Se actualizó el objeto producto.
  5. Se actualizó el estado del producto en BD si es distinto al anterior.
  6. Si el estado final del producto es el correspondiente a “eliminado”, se elimina el objeto producto del sistema.

5. obtenerPrecioVenta

NOMBRE: obtenerPrecioVenta (precioCompra: float, margenBeneficios: float, IVA: float, recargoEquivalencia: float)
RESPONSABILIDADES: Calcula, a partir del precio de compra de un producto y los datos económicos almacenados, el precio de venta aconsejado.
REFERENCIAS CRUZADAS: CU03-IPRO, CU04-MPRO.
NOTAS: Esta operación es utilizada antes de almacenar los datos en BD.
EXCEPCIONES:
SALIDA: Se muestra el resultado por pantalla y se da la opción de modificarlo antes de almacenarlo todo.
PRECONDICIONES:

  1. Hay una modificación o creación de producto en curso.
  2. Los datos económicos han sido introducidos en la aplicación.
  3. El precio de compra se ha introducido.
  4. Se ha comprobado la validez de los datos: datos nulos, tipos de datos, rango, etc.

POSTCONDICIONES:

  1. Se obtiene el precio de venta aconsejado por la aplicación según los datos económicos y el precio de compra del producto.
  2. Se actualiza el objeto producto actual con este precio de venta.

6. calcularBusqueda

NOMBRE: calcularBusqueda(tipoBusqueda: int, clavePrimaria: string)
RESPONSABILIDADES: Realiza una búsqueda en BD para comprobar si existe en la tabla correspondiente al tipo de búsqueda una tupla con la clave primaria suministrada.
REFERENCIAS CRUZADAS: CU20-BUSQ.
NOTAS: El uso de esta operación en el caso de uso CU20-BUSQ es una precondición necesaria para todos los casos de uso de “Modificar X”.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA:
PRECONDICIONES:

  1. El tipo de búsqueda suministrado debe corresponder con una de las tablas que tenemos almacenadas en BD.
  2. El tipo de la clave primaria que se recibe debe ser compatible con el de la clave primaria de la tabla.
  3. Se realiza una búsqueda en BD.

POSTCONDICIONES:

  1. En caso de que la búsqueda tenga éxito, se devuelve la tupla completa desde BD.
  2. En caso de éxito, se crea un objeto del tipo correspondiente a tipoBusqueda, asignándole los datos de la tupla encontrada.

7. agregarProducto

NOMBRE: agregarProducto(p: producto, cantidad: int, lista: [pedido|noVenta|venta|reserva])
RESPONSABILIDADES: Agrega un producto a una lista de productos para un gasto de pedido, productos no vendidos, venta o reserva.
REFERENCIAS CRUZADAS: CU07-IPNV, CU16-RRES, CU17-MRES, CU18-RVEN, CU19-MVEN, CU06-IGAD.
NOTAS: Esta operación solamente crea el objeto línea de [pedido|noVenta|venta|reserva], no la almacena en BD. Es más, posteriormente se podrá modificar esta línea (por ejemplo, su precio final) sin que todavía se haya almacenado físicamente.
EXCEPCIONES:

  1. Si la cantidad del producto a agregar es mayor que el número de existencias almacenadas para ese producto, se muestra un mensaje por pantalla y no se agrega el producto a la lista.

SALIDA:
PRECONDICIONES:

  1. Los datos del objeto producto que vamos a agregar deben ser los datos actuales del producto en BD.

POSTCONDICIONES:

  1. Se creó un nuevo objeto línea de [pedido|noVenta|venta|reserva], dependiendo del tipo de la variable “lista”.
  2. Se le asignó el producto a agregar y la cantidad seleccionada.
  3. Se calculó el precio total de la línea dependiendo del precio de venta del producto.
  4. Se calculó el precio total de toda la lista, sumando el precio total de la línea al ya acumulado.

8. quitarProducto

NOMBRE: quitarProducto(linea: [lineaPedido | lineaNoVenta | lineaVenta | lineaReserva], lista: [pedido | noVenta | venta | reserva])
RESPONSABILIDADES: Eliminar un producto de una lista de productos para un gasto de pedido, productos no vendidos, venta o reserva.
REFERENCIAS CRUZADAS: CU07-IPNV, CU16-RRES, CU17-MRES, CU18-RVEN, CU19-MVEN, CU06-IGAD.
NOTAS:
EXCEPCIONES:

  1. Si el objeto que se intenta eliminar no está en la lista, no se realiza ninguna operación.

SALIDA:
PRECONDICIONES:

  1. La lista de productos debe contener al producto que queremos quitar.

POSTCONDICIONES:

  1. Se eliminó el objeto línea.
  2. Se calculó el precio total de toda la lista, restando el precio total de la línea al que había acumulado, y se actualizó el objeto lista con ese nuevo total.

9. modificarPrecioTotal

NOMBRE: modificarPrecioTotal(cantidadTotal: float, lista: [pedido|noVenta|venta|reserva])
RESPONSABILIDADES: Modificar el precio total de una lista de productos y cantidades para un gasto de pedido, productos no vendidos, venta o reserva.
REFERENCIAS CRUZADAS: CU07-IPNV, CU16-RRES, CU17-MRES, CU18-RVEN, CU19-MVEN, CU06-IGAD.
NOTAS:
EXCEPCIONES:
SALIDA:
PRECONDICIONES:

  1. La lista de productos debe contener al menos un producto.
  2. La cantidad total que queremos asignar a la lista de productos debe ser positiva.

POSTCONDICIONES:

  1. Se modificó el objeto lista asignándole la cantidad total fijada.

10. modificarPrecioLinea

NOMBRE: modificarPrecioLinea(linea: [lineaPedido | lineaNoVenta | lineaVenta | lineaReserva], lista: [pedido | noVenta | venta | reserva])
RESPONSABILIDADES: Modificar el precio total de una línea de pedido, productos no vendidos, venta o reserva.
REFERENCIAS CRUZADAS: CU07-IPNV, CU16-RRES, CU17-MRES, CU18-RVEN, CU19-MVEN, CU06-IGAD.
NOTAS:
EXCEPCIONES:
SALIDA:
PRECONDICIONES:

  1. La línea a modificar debe existir en el sistema.

POSTCONDICIONES:

  1. Se modificó un objeto línea de gasto de pedido, productos no vendidos, venta o reserva.
  2. Se calculó el precio total de la lista, restando el precio antiguo al precio que había acumulado en la lista, y sumándole el nuevo.

11. insertarVenta:

NOMBRE: insertarVenta (v: venta)
RESPONSABILIDADES: Inserta una nueva venta en BD.
REFERENCIAS CRUZADAS: CU18-RVEN,CU19-MVEN,CU16-RRES,CU17-MRES.
NOTAS: Se puede almacenar una venta o reserva tras crear las distintas líneas de venta agregando los productos que componen la venta, y tras rellenar los datos necesarios para la venta.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA:
PRECONDICIONES:

  1. Hay una venta en curso.
  2. El objeto venta está creado y sus datos debidamente rellenos.
  3. Se ha comprobado la validez de los datos: datos nulos, tipos de datos, rango, etc.
  4. Al menos existe un objeto lineaVenta asociado a la venta.

POSTCONDICIONES:

  1. Se creó una tupla en BD con la información de la venta nueva.
  2. La venta insertada se almacena con el estado “alta”.
  3. Se almacenó una tupla en BD por cada uno de los objetos lineaVenta que están relacionados con v.

12. comprobarFechaValida:

NOMBRE: comprobarFechaValida (fecha: date)
RESPONSABILIDADES: Comprobar que la fecha de envío de una venta o reserva es válida para nuestro sistema.
REFERENCIAS CRUZADAS: CU18-RVEN,CU19-MVEN,CU16-RRES,CU17-MRES.
NOTAS: Como fecha de envío válida entenderemos una fecha posterior a la actual. En principio se aceptan como válidas todas las fechas futuras, incluyendo domingos y festivos.
EXCEPCIONES:
SALIDA:
PRECONDICIONES:

  1. Fecha debe estar en un formato válido.

POSTCONDICIONES:

  1. Si la fecha no es válida, se notifica y se aborta el proceso en el que se ha llamado a esta operación.

13. comprobarHorarioValido:

NOMBRE: comprobarHorarioValido (horaEnvio: time)
RESPONSABILIDADES: Comprobar que la hora de envío de una venta o reserva es válida para nuestro sistema.
REFERENCIAS CRUZADAS: CU18-RVEN,CU19-MVEN,CU16-RRES,CU17-MRES.
NOTAS: Como hora de envío válida entenderemos en un principio que esté comprendida entre las 8:00 horas y las 21:00 horas.
EXCEPCIONES:
SALIDA:
PRECONDICIONES:
POSTCONDICIONES:

  1. Si la hora no es válida, se notifica y se aborta el proceso en el que se ha llamado a esta operación.

14. decrementarArticulos:

NOMBRE: decrementarArticulos (v: venta)
RESPONSABILIDADES: Decrementa el número de productos existentes en el almacén al realizarse una venta o reserva???????? (o al llegar la hora del reparto??).
REFERENCIAS CRUZADAS: CU18-RVEN,CU19-MVEN,CU16-RRES,CU17-MRES.
NOTAS: Esta operación se debe realizar para todas las ventas justo después de almacenarse con éxito. (o se realiza sola en el momento del reparto?????)
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA:
PRECONDICIONES:

  1. Hay una venta o reserva en curso y la acabamos de almacenar en BD.
  2. Al menos hay una línea de venta o reserva asociada a v.

POSTCONDICIONES:

  1. Las cantidades de los productos que estaban agregados en la venta o reserva se han decrementado en BD en una cantidad igual a las veces que el producto aparece en la venta o reserva.

15. modificarEstadoVenta:

NOMBRE: modificarEstadoVenta (v: [venta|reserva], estadoNuevo: int)
RESPONSABILIDADES: Modifica el estado de la venta o reserva v, asignándolo a estadoNuevo.
REFERENCIAS CRUZADAS: CU19-MVEN,CU17-MRES.
NOTAS: El sistema se encuentra modificando una venta o reserva.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA:
PRECONDICIONES:

  1. Hay una modificación de una venta o reserva en curso.
  2. El objeto v está creado y con los datos actuales de la venta o reserva almacenados.

POSTCONDICIONES:

  1. El estado de la venta o reserva ha sido cambiado en BD.
  2. Se actualizó el objeto v.
  3. Si el estado nuevo es el correspondiente a eliminar, el objeto v se elimina del sistema.

16. modificarLugarYFechaEntrega:

NOMBRE: modificarLugarYFechaEntrega (v: [venta|reserva])
RESPONSABILIDADES: Modificar los valores de la zona de una provincia, la fecha y la hora de una venta o una reserva v, asignándole un nuevop valor.
REFERENCIAS CRUZADAS: CU17–MRES y CU19-MVEN.
NOTAS: A partir del formulario de modificar venta o del formulario de modificar reserva, se modifican los datos en BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA: Ninguna.
PRECONDICIONES:

  1. Hay una modificación de una venta o reserva en curso.
  2. El objeto v está creado y con los datos actuales de la venta o reserva almacenados.

POSTCONDICIONES:

  1. Se actualizó el objeto v de tipo venta o reserva.
  2. La zona de provincia a enviar, la fecha y la hora de la venta o reserva ha sido modificado en BD.

17. restablecerExistencias:

NOMBRE: restablecerExistencias (idProducto: int , cantidad: int, tipoOperacion: int)
RESPONSABILIDADES: Establecer las existencias reales que hay en el almacén.
REFERENCIAS CRUZADAS: CU17–MRES y CU19-MVEN.
NOTAS:

  1. A partir del formulario de modificar venta o del formulario de modificar reserva, se modifican los datos en BD. Dependiendo del tipo de operación, se usará la suma o la resta para restablecer existencias.

EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.
  2. Para un producto dado, el tipo de operación negativo y una cantidad mayor que las existencias de dicho producto en el almacén se devolverá un mensaje de error al usuario indicando que no hay existencias de dicho producto para hacer frente a dicha modificación. (solo si la venta o reserva es para el mismo día. En caso de ser para otro día no se debe de contabilizar las existencias aún).

SALIDA: Ninguna.
PRECONDICIONES:

  1. Hay una modificación de una venta o reserva en curso.
  2. Se han modificado los productos de una venta o reserva (añadido o eliminado).

POSTCONDICIONES:

  1. Las cantidades de los productos que han sido agregados/eliminados en la venta o reserva se han decrementado/aumentado en BD en una cantidad igual a las veces en las que el producto aparece en la venta o reserva.

18. generarFactura:

NOMBRE: generarFactura (v: [venta|reserva], DNICliente: string, observaciones: string)
RESPONSABILIDADES: Almacenar los datos de una venta, los datos del cliente y alguna que otra observación como una factura.
REFERENCIAS CRUZADAS: CU16-RRES, CU17-MRES, CU18-RVEN y CU19-MVEN
NOTAS: A partir del formulario de realizar venta o del formulario de realizar reserva o del formulario de modificar venta o del formulario modificar reserva, se genera una factura con los datos existentes en BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA: Ninguna.
PRECONDICIONES:

  1. Se ha generado una venta o reserva y ha sido almacenada en BD.
  2. Hay una venta o reserva en curso.

POSTCONDICIONES:

  1. Se creó una tupla en BD con la información de la factura nueva.
  2. Se almacenó una tupla en BD por cada uno de los objetos lineaVenta que están relacionados con v.

19. comprobarExistenciasEnVenta

NOMBRE: comprobarExistenciasEnVenta (idProducto: int, cantidad: int): boolean
RESPONSABILIDADES: Hacer una comprobación en el sistema de si existe un cierto número de productos en el almacén
REFERENCIAS CRUZADAS: CU16-RRES, CU17-MRES, CU18-RVEN y CU19-MVEN.
NOTAS: A partir del formulario de realizar venta o del formulario de modificar venta o del formulario de realizar reserva o del formulario de modificar reserva, se comprueban los datos en BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.
  2. Si la cantidad de producto es mayor que las existencias que hay en el almacén se devolverá un mensaje de error al usuario.

SALIDA: true en caso de haber existencias, false en otro caso
PRECONDICIONES:

  1. Hay una venta o reserva en curso.

POSTCONDICIONES:

20. modificarCantidadACuenta:

NOMBRE: modificarCantidadACuenta (v: [reserva], precio: float)
RESPONSABILIDADES: Modificar el valor entregado a cuenta por un usuario en la realización de una reserva.
REFERENCIAS CRUZADAS: CU16-RRES, CU17-MRES.
NOTAS: A partir del formulario de realizar reserva o del formulario de modificar reserva, se modifican los datos en BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.
  2. Si precio es mayor que la deuda por la reserva se devolverá un mensaje indicando que se debe de devolver cambio al usuario.
  3. Si precio es menor que la deuda por la reserva se devolverá un mensaje indicando que aún se debe una cierta cantidad para abonar por completo la reserva.

SALIDA: Ninguna.
PRECONDICIONES:

  1. Hay una reserva o una modificación de reserva en curso.
  2. El objeto v está creado y con los datos actuales de la reserva almacenados.
  3. Una reserva v, no haya sido pagada por completo.

POSTCONDICIONES:

  1. Se actualizó el objeto v de tipo venta o reserva.
  2. La cantidad abonada ha sido cambiado en BD.
  3. En caso de que se haya abonado toda la reserva, el estado de la reserva pasará a ser “venta”.

21. convertirEnVenta: (lo elimino porque se convierte en Venta en el paso anterior)

22. imprimirFactura:

NOMBRE: imprimirFactura (f: factura, e: empresa)
RESPONSABILIDADES: Imprime un recibo de tipo factura y los datos de la empresa.
REFERENCIAS CRUZADAS: CU21-IFAC.
NOTAS: A partir del formulario de realizar venta o del formulario de realizar reserva o del formulario de modificar venta o del formulario modificar reserva, se genera un recibo factura con los datos existentes en BD y se solicita que se imprima.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.
  2. Si se solicita imprimir una factura sin que esta haya sido generada se devolverá un mensaje de error al usuario como que la factura no existe.

SALIDA: Un recibo con los datos de la factura.
PRECONDICIONES:

  1. Se ha generado una factura y ha sido almacenada en BD.
  2. Hay una venta o reserva en curso.

POSTCONDICIONES:

23. establecerDatosEconómicos:

NOMBRE: establecerDatosEconomicos (e: empresa)
RESPONSABILIDADES: Establecer los datos pertenecientes a la economía de la empresa como son el margen de beneficios, el IVA, el recargo de equivalencia y la mano de obra. //
REFERENCIAS CRUZADAS: //CU05-EDEC.

NOTAS: A partir del formulario de Establecer Datos Económicos de la empresa, se modifican los datos en BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA: Ninguna.
PRECONDICIONES:

  1. Hay una modificación de los datos económicos de la empresa en curso.
  2. Se ha comprobado la validez de los datos: datos nulos, tipos de datos, rango, etc.
  3. El objeto empresa está creado en el sistema.

POSTCONDICIONES:

  1. Se mostraron los datos económicos de la empresa e por pantalla.
  2. El usuario modificó los datos económicos de la empresa e.
  3. Se modificó la tupla correspondiente en BD con la información nueva de la empresa e.
  4. Se actualizó el objeto empresa.

24. insertarDatosEmpresa:

NOMBRE: insertarDatosEmpresa (e: empresa)
RESPONSABILIDADES: Establecer los datos pertenecientes a la empresa como son el nombre de gerente, nombre de la empresa, NIF, dirección completa de donde está ubicada, teléfono y una dirección física desde donde se pueda cargar un logotipo para la empresa.
REFERENCIAS CRUZADAS: CU13-EDEM.
NOTAS: A partir del formulario de Establecer Datos de la empresa, se modifican los datos en BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.
  2. Si la dirección física introducida como lugar de ubicación del logotipo no existe o no es correcta se devolverá un mensaje de error al usuario.

SALIDA: Ninguna.
PRECONDICIONES:

  1. Hay una modificación de los datos de la empresa en curso.
  2. Se ha comprobado la validez de los datos: datos nulos, tipos de datos, rango, etc.
  3. El objeto empresa está creado en el sistema.

POSTCONDICIONES:

  1. Se mostraron los datos de la empresa e por pantalla.
  2. El usuario modificó los datos de la empresa e.
  3. Se modificó la tupla correspondiente en BD con la información nueva de la empresa e.
  4. Se actualizó el objeto empresa.

25. insertarGastoAdicional:

NOMBRE: insertarGastoAdicional (idGasto: int, fecha: date, cantidad: float, descripcion: string)
RESPONSABILIDADES: Almacenar un gasto adicional producido en la empresa como puede ser gasto de limpieza, artículos de papelería, etc.
REFERENCIAS CRUZADAS: CU06-IGAS.
NOTAS: A partir del formulario de insertar gasto adicional, se generan nuevos datos en BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA: Ninguna.
PRECONDICIONES:

  1. Hay una inserción de un gasto adicional en curso, en la cual se ha comprobado que el gasto no existía ya en BD.
  2. Se ha comprobado la validez de los datos: datos nulos, tipos de datos, rango, etc.

POSTCONDICIONES:

  1. Se creó una tupla en BD con la información del gasto nuevo y una tupla asociada con la información del gasto adicional.
  2. Se creó un nuevo objeto gasto y un nuevo objeto gastoAdicional.

26. seleccionarRutaFichero:

NOMBRE: seleccionarRutaFichero (direccion: string): FILE
RESPONSABILIDADES: Selecciona una ruta válida donde está ubicado el archivo que nos interesa y lo abre.
REFERENCIAS CRUZADAS: CU23-CDDF.
NOTAS: A partir del formulario de Capturar Zonas de Provincia desde Fichero, se abre un fichero con la información que nos interesa.
EXCEPCIONES:

  1. Si la dirección física introducida como lugar de ubicación del fichero de datos no existe o no es correcta se devolverá un mensaje de error al usuario.

SALIDA: el puntero que hace referencia al archivo abierto
PRECONDICIONES:

  1. Hay una inserción por fichero de zonas de provincia en curso.
  2. El fichero debe de estar almacenado en algún medio físico existente en el sistema.
  3. El fichero debe de ser tipo texto.

POSTCONDICIONES:

  1. El fichero queda abierto para su lectura.

27. leerEntradaZonaProvincia:

NOMBRE: leerEntradaZonaProvincia (f: FILE) : zonaProvincia
RESPONSABILIDADES: Lee y obtiene de un fichero abierto una zona provincia, compuesta de 3 valores que pertenecen al código postal de la zona, nombre de la zona y precio que cuesta la zona y los devuelve.
REFERENCIAS CRUZADAS: CU23-CDDF.
NOTAS: A partir del formulario de Capturar Zonas de Provincia desde Fichero, se obtiene la información requerida desde un fichero.
EXCEPCIONES:

  1. Si los datos leídos no corresponden a la siguiente estructura: <codigoPostal + “ “ + nombre + “ “ + precio + “\n”> se devolverá un mensaje de error al usuario indicando que la estructura del fichero no es la correcta.
  2. Si se llega al final del fichero se mostrará un mensaje de alerta indicando que se ha llegado al final del fichero.

SALIDA: un objeto zonaProvincia
PRECONDICIONES:

  1. Hay una inserción por fichero de zonas de provincia en curso.
  2. El fichero debe de estar abierto en el archivo de tipo FILE

POSTCONDICIONES:

  1. Se genera un objeto zonaProvincia.
  2. Si se ha leído hasta final de fichero, el archivo es cerrado.

28. almacenarEntradaZonaProvincia:

NOMBRE: almacenarEntradaZonaProvincia (idZonaProvincia: int, codigoPostal: int, nombre: string, precio: float)
RESPONSABILIDADES: Almacenar una zona de una provincia desde una entrada de un fichero.
REFERENCIAS CRUZADAS: CU23-CDDF.
NOTAS: A partir del formulario de Capturar Zonas de Provincia desde Fichero, se almacena la información que nos interesa.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA: Ninguna.
PRECONDICIONES:

  1. Hay una inserción de zona provincia en curso, en la cual se ha comprobado que la zona provincia no existía ya en BD.
  2. Se ha comprobado la validez de los datos: datos nulos, tipos de datos, rango, etc.

POSTCONDICIONES:

  1. Se creó una tupla en BD con la información de la zona provincia.
  2. Se creó un nuevo objeto zonaProvincia.

29. insertarZonaProvincia: (igual al anterior)

30. modificarDatosZonaProvincia:

NOMBRE: modificarDatosZonaProvincia (zp: zonaProvincia)
RESPONSABILIDADES: Actualizar o modificar una zona de una provincia existente.
REFERENCIAS CRUZADAS: CU09-MZPR.
NOTAS: A partir del formulario de modificar zonas de una provincia, se actualizan o se modifican los datos en BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA: Ninguna.
PRECONDICIONES:

  1. Hay una modificación de zona provincia en curso, en la cual se ha obtenido los datos anteriores de la zona provincia, y el usuario los ha modificado con los nuevos datos.
  2. Se ha comprobado la validez de los datos: datos nulos, tipos de datos, rango, etc.
  3. El objeto zonaProvincia está creado en el sistema.

POSTCONDICIONES:

  1. Se mostraron los datos de la zonaProvincia zp por pantalla.
  2. El usuario modificó los datos oportunos de la zonaProvincia zp.
  3. Se actualizó en BD la tupla que contenía la información antigua de la zonaProvincia zp con la nueva información.
  4. Se actualizó el objeto zonaProvincia.

31. eliminarZonaProvincia:

NOMBRE: eliminarZonaProvincia (zp: zonaProvincia)
RESPONSABILIDADES: Eliminar una zona provincia.
REFERENCIAS CRUZADAS: CU10-EZPR.
NOTAS: A partir del formulario de eliminar zonas de una provincia, se elimina un registro de la BD.
EXCEPCIONES:

  1. Si no se puede establecer la conexión con la base de datos se devolverá un mensaje de error al usuario.

SALIDA: Ninguna.
PRECONDICIONES:

  1. Hay una eliminación de zona provincia en curso.
  2. El objeto zonaProvincia está creado en el sistema.

POSTCONDICIONES:

  1. Se eliminó en BD la tupla con la información de la zonaProvincia zp.
  2. Se eliminó el objeto zonaProvincia.

Volver a contratos del prototipo I
Volver a modelado dinámico del prototipo I

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.