Informática
WEB Libreria BETA
PRACTICA ISG1
WEB_Libreria_BETA
3º- Septiembre
Índice
Documento de Requisitos
Introducción
Propósito…………………………………...Pág. 3
Alcance………………………………….…Pág. 4
Definiciones, Acrónimos y Abreviaturas…..Pág. 5
Descripción General
Perspectivas del Producto………………….Pág. 6
Funciones del Producto………………….…Pág. 6
Requisitos Específicos
Requisitos funcionales………………….….Pág. 8
Requisitos relacionados con los datos…...…Pág. 9
Diagramas de flujo de Datos
Diagrama de Contexto…………………..…….Pág. 10
Diagrama de Sistema nivel 0……………….....Pág. 11
Diagramas de nivel 1…………………….……Pág. 12
Diagramas de nivel 2………………………….Pág. 14
Diccionario de Datos………………………….Pág. 16
Especificación de procesos primitivos……..…Pág. 18
Modelo Entidad Relación
Esquema de la Base de datos………………... Pág. 23
Glosario del Esquema de la base de Datos…. Pág. 24
Diseño Arquitectónico
Diagrama de módulos…………………………Pág. 26
Especificación de cada modulo……………….Pág. 28
DOCUMENTO DE REQUISITOS
INTRODUCION
Propósito
El sistema que vamos a describir a continuación se denomina la WEB_Libreria_BETA. Es un sistema de venta de artículos y la compra de productos por Internet que permite a los clientes la adquisición de artículos de librería y papelería de esta tienda, también permitiendo al gerente o encargado de la tienda controlar el stock de sus productos, pidiendo automáticamente, a los proveedores cada producto que necesite. Esta descripción del sistema correspondería a la 1ª versión de la WEB_Libreria_BETA.
La finalidad de este documento es describir el sistema de información necesario para la gestión de una librería destinado a Internet. Para ello definiremos las principales entradas y salidas del sistema y su interacción con los principales componentes y actores del sistema.
Tomaremos como actores principales a los participantes (clientes) que deberán estar registrados con anterioridad para poder adquirir algún producto de la librería BETA a través de la WEB_Libreria_BETA. Esta aplicación actuara de intermediario para poner en contacto a los clientes con la librería y facilitara la tarea de adquirir productos. Existe la figura del Administrador que se encargará de actualizar los productos que ofrece la tienda, los clientes que se registran en ella, y así como también se encarga de realizar los pedidos a los proveedores mediante la aplicación.
El sistema WEB_Libreria_BETA no se encargará de gestionar los servicios de envío de los productos, acudiendo a subcontratas que realizaran esta función.
El sistema se encuentra totalmente afiliado a la librería BETA en la cual se encuentran los productos físicamente, desde donde se envían los productos a los clientes y a donde llegan los suministros desde los proveedores.
El software que se dará lugar estará compuesto por un sistema de bases de datos para almacenar todos los datos de los productos y los clientes así como por un conjunto de páginas Web para la interacción de los clientes (y del administrador). Las paginas Web peden estar realizadas en HTML, JavaScrip, PHP o cualquier otro lenguaje orientado a la creación de paginas Web, que cargara un entorno de ventanas para hacerlo mas agradable para el usuario.
Alcance
Este sistema software esta dirigido para el uso en todo el mundo, pero no tiene en cuenta los gastos de envío ya que estos van ajenos a la librería. Los gastos de envío los pagaría directamente el cliente a la empresa de mensajeria. El sistema realmente estará situado físicamente en un servidor, alimentado las veinticuatro horas del día, al que se accede por Internet.
El desarrollo de este documento esta enfocado a las prácticas de la asignatura de Ingeniería del Software 1.
Este documento estaría destinado al personal de desarrollo de la aplicación software necesario para la puesta en funcionamiento de la WEB_Libreria_BETA así como el personal dedicado al control de calidad del software, el personal de mantenimiento, y otros procedimientos ulteriores al desarrollo de la aplicación software.
DEFINICIONES DE ACRONIMOS Y ABREVIATURAS
-
Cliente: Persona que accede a la WEB_Libreria_BETA.
-
Cliente Registrado: Cliente que tiene Nick y contraseña cuyos datos están almacenados en la base de datos.
-
Administrador: Persona que accede al sistema y es el encargado de dar de alta y dar de baja a los clientes registrados, escoge los productos que son pedidos, ofertados, dados de alta y de baja.(El administrador es el dueño o el encargado del negocio).
-
Producto: Articulo de librería o de papelería que se venden en la librería.
-
Proveedor: Entidad encargada de recibir los pedidos y de abastecer de productos la tienda.
-
Banco: Entidad que tras comprobar que un número de tarjeta corresponde a una cuenta que pertenece a un cliente concreto, y que la cuenta tiene una cierta cantidad de dinero, procede al cobro de esta cantidad (traspasando de la cuenta del cliente a la cuenta de la librería).
-
Cesta de Compra: Conjunto de productos que son relacionados con un cliente que se agrupan para después poderlo comprar.
-
Grupo: conjunto de productos que están agrupados porque tienen ciertas características comunes.
-
Pedido: E-mail que se manda desde el sistema a un proveedor con los datos de los productos que se desean reponer en la tienda, con objetivo de que este los envíe.
-
Stock: Lista de productos con su numero correspondiente de existencias en la tienda.
-
BD: Base de Datos.
-
Selección: Acción que realiza el cliente o el administrador que consiste en elegir con el puntero del ratón una opción.
DESCRIPCION GENERAL
Perspectivas del producto.
La librería BETA es una tienda con artículos de librería y papelería de propósito general que necesita informatizar algunos de sus procesos con el fin de conseguir mayor eficacia, ahorro de costes y aumento de los beneficios.
Funciones del producto y Características de Usuario.
La dirección de la tienda ha pensado en un servicio de venta de artículos a través de Internet.
En el acceso a la Web, la pantalla inicial mostrará los distintos productos en oferta, así como enlaces a cada grupo de productos ofertados (consumibles papelería, libros,…) El usuario puede consultar los productos, características generales, precios, disponibilidad…, en cada pantalla de consulta de producto aparece una opción (un botón) desde el que se puede añadir a la “cesta de la compra” el producto deseado.
El usuario puede acceder en cualquier momento a comprobar el estado de su “cesta de la compra”, desde donde puede confirmar los datos de la compra.
La confirmación de una compra esta restringida a usuarios registrados previamente.
Al usuario que haya decidido confirmar una “cesta de la compra” si no esta validado en el sistema se le presentara una pantalla de validación donde introducir su nick de usuario y su clave de acceso (contraseña).
Una vez pasada la validación, se le presentara una pantalla donde figuran los detalles del pedido
Si los datos son correctos se le presentara una pantalla que muestra sus datos personales. El usuario procederá al pago del pedido introduciendo un número de tarjeta de crédito y su fecha de caducidad.
Una vez validada la compra con la entidad emisora de la tarjeta se presentará una pantalla donde figuraran los datos relativos al pedido (incluyendo el numero de pedido, artículos que lo forman, fecha, estado...) que el usuario podrá consultar en una ocasión futura.
Los pedidos que hacen los clientes en la librería actualizan el stock de productos de la misma cada producto tiene registrado un umbral por debajo del cual es necesario pedir nuevos suministros a los proveedores.
Semanalmente el administrador de la tienda, debe recuperar el estado del stock para aquellos productos cuyo número de existencia se encuentre por debajo de su umbral preestablecido. El administrador elegirá de la lista de productos aquellos que enviará a los proveedores, así como el proveedor al que se pedirá cada uno de los productos, el numero de unidades de cada producto, guardando un registro del pedido para cotejar posteriormente la entrega por parte de cada proveedor.
Requisitos Específicos
Requisitos funcionales
El sistema mostrará una pantalla inicial con varios enlaces. Cada enlace nos llevara a una pantalla distinta dependiendo de este. también se nos mostrara una lista con todos los productos los cuales tengan el atributo “en oferta” activado. El cliente o el administrador en esta pantalla inicial puede seleccionar un grupo de productos, seleccionar un solo producto, ver la cesta de la compra o ir a la pantalla login.
El sistema mostrará una pantalla con todas las características de un producto, la referencia de que producto mostrar la obtendremos como parámetro de entrada a la pantalla. A esta pantalla se puede acceder desde la pantalla inicial o desde la pantalla de grupo. El usuario puede volver a la pantalla inicial o añadir el producto a la cesta (donde se mostrará la pantalla de la cesta).
La pantalla de Grupo muestra una lista con los nombres de todos los productos de dicho grupo (el grupo a mostrar se recibe como parámetro de entada a la página). A esta pantalla se tiene acceso desde la pantalla inicial. En esta pantalla el cliente puede seleccionar un producto e ir a la pantalla que muestra este producto, o bien volver a la pantalla inicial.
La pantalla de Cesta muestra una lista con todos los productos añadidos por el cliente a dicha lista, a dicha pantalla se puede acceder directamente desde un enlace en la pantalla principal o bien a la vez que añades un articulo desde la pantalla de mostrar articulo. El numero de ejemplares añadidos a la cesta no puede superar en ningún caso al stock (numero de ejemplares disponibles) Desde esta pantalla puedes regresar a la pantalla principal o activar el proceso de compra (ir a la pantalla de entrada).
En la pantalla de entrada (pantalla login) el sistema muestra un formulario con dos campos a rellenar nick y contraseña que tras rellenarlo comprueba si es un cliente registrado, el administrador o ninguno de ellos , dependiendo de esto procede al pago de la cesta, activa el menú del administrador, o muestra un mensaje de error.
El procedimiento de pago muestra al cliente los datos del pedido que se han obtenido de la cesta de compra, además muestra los datos del cliente correspondiente, también obtiene el numero de tarjeta de crédito y la fecha de caducidad de esta. Envía el numero de tarjeta de crédito, el importe y el DNI del cliente comprador a una entidad bancaria que se encarga de validar los datos que han sido enviados y en el caso de que sea todo correcto procede al cobro de el importe a la cuenta que corresponda al numero de tarjeta, devuelve al sistema la información de si ha sido cobrado o no. El flujo de información entre el sistema y el banco se realiza sincronizando los dos sistemas. El movimiento real de dinero lo realizará un sistema independiente de la WEB_Libreria_BETA por motivos de seguridad del banco. Después de que el sistema halla recibido la confirmación del cobro por parte del banco, nuestro sistema debe actualizar el stock de los productos del pedido.
En el caso de que el usuario se halla identificado como administrador. El sistema le mostrará un menú con dos opciones correspondientes a las dos funciones de gestión que tiene el administrador: gestionar los clientes y gestionar los productos.
En cuanto a la gestión de Clientes el sistema le muestra un formulario para conseguir el Nick del cliente que se quiere “gestionar” y dependiendo de si el Nick esta o no en la base de datos se procederá a crearlo en el caso de que no exista mostrando un formulario para obtener todos los datos necesarios (contraseña, DNI, dirección, nombre y dirección electrónica) que se almacenaran en dicha base de datos. En el caso de que exista dicho nick se muestran los datos y se modifican o se borrar si es menester del administrador.
Si el Administrador decide gestionar los productos el sistema mostrara la lista de todos los productos con su stock (El stock del producto le mostrará resaltado en color rojo si es menor que su umbral) y una casilla donde es posible introducir un numero que corresponderá a el numero de dichos productos a reponer. Junto a cada casilla en cada producto hay un enlace que pulsándole pasamos al procedimiento de alta-baja de producto. Al final de la lista aparece un botón que al pulsarle se realiza el pedido al proveedor.
Cuando el administrador realiza el pedido el sistema agrupa los productos por proveedor, creando tantos pedidos como proveedores y manda un e-mail a cada proveedor con el pedido correspondiente a este.
Para dar de Alta o Baja de un producto el sistema debe obtener el nombre de referencia de dicho producto mediante un formulario o similar y dependiendo si el nombre obtenido esta o no esta en la base de datos se procederá a crearlo y almacenarlo en la base de datos (pidiendo al administrador los datos del producto) en el caso de que el producto no exista. En el otro caso (que el nombre del producto si se encuentre en la base de datos) se mostrarán los datos y se eliminará dicho producto si así aceptase el administrador.
Requisitos relacionados con los datos.
-
Cada cliente debe tener un Nick o seudónimo que será el identificador principal de cada cliente (no pueden existir dos clientes con el mismo Nick), también debe tener una contraseña, el DNI, la dirección, el nombre real (y los apellidos) y el correo electrónico. A excepción del Administrador que solo tiene Nick y contraseña.
-
Cada proveedor tendrá un código como identificador principal, el nombre el NIF y la dirección electrónica.
-
Las cestas de la compra se componen de productos y pueden estar o no estar relacionadas con un cliente (pero para efectuar la compra de una cesta se debe relacionar con un cliente). Cada cesta debe tener un código como identificador principal. Las cestas de compra se eliminan de la base de datos cada vez que se realiza el envío físico de cada cesta.
-
Los productos tienen como identificador principal un código, también tienen nombre, precio, descripción, stock (numero entero), una foto (opcional), un umbral (numero), y un valor booleano que indica si esta o no esta en oferta.
-
Los pedidos están compuestos por un numero de pedido (identificador principal) una fecha y un conjunto de productos cada uno con su correspondiente numero de unidades pedidas de dicho producto.
Diagrama de Contexto.
Diagrama de sistema: Diagrama 0
Diagrama nivel 1
Proc_cliente
2. Proc_Administrador
Diagrama Nivel 2.
1.1 Producto
2.3
Gestion_Productos.
Diccionario de Datos
-
p_inicial= *pantalla que muestra los distintos productos en oferta y enlaces a los distintos grupos de productos*
-
Selección = *Selección en un enlace o una opción que realice un cliente mediante el ratón*
-
Consulta_producto= Nombre +precio + descripción + disponibilidad + (foto) + enl_cesta + enl_inicio.
-
Nombre = String.
-
Precio = numero.
-
Descripción = {String}
-
Disponibilidad = numero entero
-
Foto = imagen.
-
Grupo = {Nombre + (foto) + precio +enl_prod} + enl_inicio. *es una pantalla que muestra al cliente todos los productos del grupo escogido*
-
Enl_cesta = *botón (enlace) que al pulsarle activa la pantalla de cesta pasando la referencia del producto como parámetro*
-
Enl_producto = *botón (enlace) que al pulsarle activa la pantalla de consulta de producto pasando la referencia del producto como parámetro*.
-
Cesta = productos + total + enl_confirmacion + enl_inicio *pantalla que muestra todos los productos que se han añadido a la cesta*
-
Productos = {nombre + precio + unidades}
-
Unidades = numero entero.
-
Enl_confirmacion = *botón (enlace) que al pulsarle activa la pantalla de entrada pasando la referencia de la cesta como parámetro*
-
confirmación = *Selección que hace el cliente en el enlace de confirmación*
-
Enl_inicio = *botón (enlace) que al pulsarle activa la pantalla inicial*
-
Pantalla login = *es una pantalla que muestra un formulario donde se pide nick y contraseña*
-
Login = nick + contraseña.
-
Nick =String
-
Contraseña = String *que sale oculto por asteriscos *
-
Pedido_c = Cesta + num_pedido *Pantalla con los datos de cada pedido*
-
Num_pedido =Numero entero
-
D_personales = Nombre + dirección +correo electrónico + DNI
-
Direccion= 1{String} 10.
-
Correo electrónico = String +”@”+String
-
DNI= 1{numero}8 +Carácter
-
Numero = [0|1|2|3|4|5|6|7|8|9]
-
P_pago = *pantalla con un formulario para introducir dos datos un numero de tarjeta y una fecha de caducidad*
-
Pago = nº tarjeta + fecha_caducidad
-
Nº tarjeta = 1{numero}12
-
Fecha_caducidad= date.
-
Validación Tarjeta = DNI +pago +importe
-
Importe= numero real.
-
Menu_A = *pantalla que tendrá enlaces a distintas opciones que puede realizar el administración*
-
Estado_Stock = {nombre + disponibilidad +umbral+casilla+ enl_prod} + botón *pantalla que muestra toda una lista de productos con su numero de existencias y su umbral preestablecido (si el nº de existencias es menor que el umbral estos datos aparecerán en rojo además aparecerá una casilla al lado de esta)*
-
Umbral = numero entero
-
Casilla = *casilla de un formulario o similar que permite poner un numero entero*
-
botón = botón que pertenece a un formulario para enviar datos a otra proceso.
-
Pedido_p = proveedor + {nombre + unidades}*e-mail enviado al proveedor con distintos datos de los productos*
-
Crear_modificar_producto = código +Nombre +Precio +Descripción +disponibilidad +foto+ umbral + oferta
-
Oferta = boolean
-
Tarjeta Valida =bolean
-
Producto= Crear_modificar_producto.
-
Crear_Modificar_cliente = login +DNI +dirección +Nombre + correo electrónico.
-
Cliente = CrearModificar_cliente
-
P_cliente= *pantalla que muestra un formulario donde se pueden introducir todos los datos del cliente*
-
Clientes = @{nick}
-
Productos = @ {codigo_p}
-
Codigo_p = numero *identificador para la B.D de los productos*
-
Cestas = @ {codigo_c}
-
Codigo_c = numero *identificador para la B.D de las cestas*
-
Act_admin= *Activa Menu_Admin*
-
Act_entrada = *Activa Entrada y pasa como parámetro un codigo_c*
-
Act_prc_pago= *Activa proc_pago y pasa como parámetro un codigo_c*
-
Act_Gestion_cliente=*Activa Gestion_cliente*
-
Act_Gestion_productos= *Activa gestión productos y pasa como parámetro un codigo_p*
-
Act_p_inicial= *Activa pan_inicial *
-
Act_p_producto= *Activa pan_producto y pasa como parámetro un codigo_p*
-
Act_pan_grupo= *Activa pan_grupo y pasa como parámetro el código de un grupo*
-
Act_pan_Cesta= *Activa pan_cesta *
-
Añadir_pan_cesta= *Activa pan cesta y pasa como parámetro un codigo_p*
-
Act_hacer_pedido= *Activa proc_pago y pasa como parámetro un pedido_p*
-
Act_alta_baja_producto= *Activa Alta_baja_producto y pasa como parámetro un codigo_p*
Especificación de procesos primitivos
pan_inicial
(Este proceso nos muestra la pantalla inicial con varias opciones y dependiendo de cual se escoja realiza uno u otro proceso)
INICIO
Abrir B.D productos
Repetir
Leer Registro de producto
Si (el registro esta marcado como “en oferta”) Entonces
Guardar datos en ofertas
Hasta que no queden registros en la base de datos
Mostrar ofertas
Cerrar B.D productos.
Obtener Selección
En El Caso de que (Selección) Sea:
Producto: Act_pan_producto (pasando el codigo_p del producto seleccionado como parámetro).
Grupo: Act_pan_grupo (pasando como parámetro el código del grupo escogido)
Cesta: Act_pan_Cesta.
Salir: Salir del sistema.
FIN.
1.1.2_pan_producto
Precondición: Recibe el codigo_p de un producto determinado.
(Muestra las características de un producto)
INICIO
Abrir B.D. Producto
Repetir
Leer Registro de producto
Si (código de producto leído = código de producto pasado _____recibido) Entonces
Guardar reg. de producto en prod y marcar la variable encontrado
Hasta que encontrado = trae
Cerrar BD Productos
Mostrar registro prod
Obtener Selección
En El Caso de que (Selección) Sea:
Inicio: Act_pan_inicio
Añadir a Cesta: Añadir_pan_Cesta (pasando como parámetro el codigo_p).
FIN
1.1.3_ pan_Grupo
Precondición: Recibe el código correspondiente a un grupo
(Este proceso nos muestra todos los productos correspondientes a un grupo dado con sus respectivos enlaces)
INICIO
Abrir BD producto
Repetir
Leer Registro de producto
Si (código del Grupo del producto = código de entrada) Entonces
Guardar Registro producto en Gru
Hasta que no queden registros en la B.D
Cerrar B.D producto
Mostrar Gru
Obtener Selección
En el Caso de que selección Sea:
Inicio:Act_pan_inicio.
Producto: Act_pan_producto (y pasa como referencia el codigo_p )
1.1.4_ pan_cesta
Precondición: Puede recibir el código correspondiente a un producto o puede que no recibir nada, también recibirá un código de Cesta que es único para cada sesión de cliente
(Este proceso nos muestra todos los productos correspondientes a una Cesta dado con sus respectivas opciones)
INICIO
Abrir BD producto
Si recibe producto Entonces
Si (el nº de unidades <= Stock del producto) Entonces
Añade el producto con el código recibido a la cesta correspondiente a la sesión
Repetir
Leer Registro de producto
Si (código de la Cesta del producto = código de cesta de entrada)
Entonces
Guardar Registro producto en Cest
Hasta que no queden registros en la B.D
Cerrar B.D producto
Mostrar Cest
Obtener Selección
En el Caso de que selección Sea:
Inicio:Act_pan_inicio.
Confirmar: Act_entrada (y pasa como referencia el código de la cesta )
FIN
1.2_ Entrada
Precondición: Puede recibir el código correspondiente a una Cesta.
(Este proceso nos muestra un formulario donde identificarse y lo comprueba)
INICIO
Abrir B.D. Clientes
Repetir
Mostrar formulario (p_login)
Obtener login
Si (Nick esta en B.D.Clientes) y (contraseña coincide) Entonces
Si (usuario= Administrador) Entonces
Act_Admin.
Si No
Act_proc_pago (enviando el código de la cesta)
Hasta que Nick y contraseña sean correctos
Cerrar B.D. Clientes
FIN
1.3._ proc_pago
Precondición: Recibe un código de cesta
(En este procedimiento el sistema nos muestra los datos del pedido y los datos personales y si lo aceptamos nos pide un numero de tarjeta de crédito correspondiente a una cuenta de la cual se realiza el código del pedido)
INICIO
Abrir B.D. Cesta
Obtener Cesta con el código sea igual al de entrada
Obtener productos relacionados con la Cesta y mostrarlos por pantalla
Cerrar B.D. Cesta
Esperar confirmación del cliente
Abrir B.D Cliente
Obtener el código de cliente a partir de la Cesta
Mostrar d_personales de dicho cliente
Esperar confirmación del cliente
Repetir
Mostrar p_pago
Obtener pago
Calcular el importe total del pedido
Enviar Validación Tarjeta
Obtener tarjeta_Valida
Si (tarjeta_Valida =true) Entonces
Actualizar la B.D productos restando al stock de cada producto que aparece en el pedido_c el numero de unidades correspondientes
Hasta que (tarjeta_valida = true)
FIN
2.1_ Menu_Admin
(Este proceso nos muestra un menú y dependiendo de lo que se seleccione activa un proceso u otro)
INICIO
Mostrar Menu_A
Obtener Selección
En el Caso de que Selección Sea:
gestión de Clientes: Act_Gestion_Clientes
gestión de productos: Act_Gestion_productos.
FIN
2.2_ Gestion_Clientes
(Este proceso no muestra un formulario para poner un Nick y dependiendo de si esta o no crea un nuevo cliente o lo modifica)
INICIO
Mostrar p_cliente
Obtener Crear_Modificar_Cliente
Abrir B.D.Clientes
Si (Nick esta en la B.D. Clientes) Entonces
Mostrar Cliente
Actualizar B.D cliente con los datos obtenidos en Crear_modificar_cliente
Si No
Crear Cliente con los datos obtenidos
Mostrar Cliente
Cerrar B.D. clientes
FIN
_ Inicio_Gestor
(Nos muestra una pantalla con el estado del stock y dependiendo la opción escogida lanza un proceso u otro)
INICIO
Abrir B.D productos
Mostrar Estado_Stock
Obtener Selección
Cerrar B.D productos
En el Caso de que selección Sea:
Hacer Pedido: Act_Pedir_productos (pasando al siguiente proceso el código de los productos pedidos y sus unidades)
Gestión: Act_Alta_Baja_productos
FIN
_ hacer_pedido
Precondición: recibe unos pares de datos (codigo_p y numero)
(Este proceso agrupa los productos por proveedores y manda a cada uno un e-mail con el pedido)
INICIO
Abrir B.D. Productos
Repetir
Leer registro de producto (de la B.D)
Si (codigo_p = codigo_p_recibido) Entonces
Guardar reg en Pedidos
Hasta que no queden registros en la base de datos
Agrupar los registros de Pedidos por el proveedor de cada producto
Enviar a cada proveedor un pedido_p con los registros correspondientes a este
Almacenar cada pedido_p enviado en la B.D
Cerrar_B.D. productos
FIN
2.3.3_ Alta baja producto
(Este proceso no muestra un formulario para poner unos datos del producto y dependiendo de si esta o no crea un nuevo cliente o lo modifica)
INICIO
Obtener Crear_Modificar_producto
Abrir B.D.productos
Si (Nick esta en la B.D. productos) Entonces
Mostrar producto
Actualizar B.D productos con los datos obtenidos en Crear_modificar_producto
Si No
Crear producto con los datos obtenidos
Mostrar producto
Cerrar B.D. productos
FIN
Esquema de la Base de Datos
Glosario del Esquema de la Base de Datos:
Codigo_p (identificador principal) (numero entero)
Nombre (String)
Precio (numero)
Descripción (texto)
Stock (numero)
Foto (archivo binario)
Umbral (numero)
Oferta (boolean)
Numero pedido (numero)(identificador principal)
Fecha (date)
Numero unidades (numero)
Codigo_g (numero)(identificador principal)
Nombre_g (String)
Codigo_proveedor (identificador principal)
ñ. Nombre_p (string)
o. NIF (numero)
p. E-mail (string)
q. Nº de ejemplares (numero)
r. Codigo_c (numero)(identificador principal)
s. Nick (String) (identificador principal)
t. Contraseña (String).
u. DNI (numero)
v. dirección (texto)
w. Nombre (String)
x. Correo electrónico
DISEÑO ARQUITECTONICO
ESPECIFICACION DE CADA MODULO
Selección de producto
Este modulo se compone de un conjunto de ventanas que tendrán enlaces entre si para pasar de una a otra. La función de estas ventanas es mostrar al cliente los distintos productos que se pueden comprar. Este modulo tan solo consta de un proceso y según el dato que se introduzca mostrará unos productos o otros.
INICIO
Abrir B.D productos
En El Caso de que Parámetro de entrada Sea:
Nulo: (pan_inicial)
Inicio
Repetir
Leer registro de producto
Si (esta en oferta) Entonces
Guardar registro en Ofertados
Hasta que no halla mas registros en la B.D
Mostrar el nombre u el precio de los productos que están en ofertados.
Mostrar diferente enlaces.
Fin
Codigo_g : (pan_grupo)
Inicio
Repetir
Leer registro de producto
Si (su código es = código de grupo) Entonces
Guardar registro en Grupo
Hasta que no halla mas registros en la B.D
Mostrar el nombre u el precio de los productos que están en Grupo.
Mostrar diferente enlaces.
Fin
Codigo_p (pan_producto)
Inicio
Mostrar datos del registro cuyo código de producto coincide con el de entrada.
Mostrar los diferentes enlaces.
Fin
Codigo_p y codigo_cesta (pan_cesta)
Inicio
Si (el codigo_cesta es 0 (código por defecto)) Entonces
Asignamos a esta sesión un numero de cesta siguiente al ultimo
Si (el codigo_p no es 0 (código por defecto)) Entonces
Enlazamos el producto con la cesta dados
Mostramos todos los productos que componen la cesta con el numero dado.
Mostramos los diferentes enlaces.
Fin
Cerrar B.D
FIN
Modulo pago producto
Este modulo consiste en que recibe una cesta de la compra (un conjunto de productos) y se pide una tarjeta de crédito para cobrarse de ella el importe de la cesta.
Pago producto
Entrada: código de Cesta (leer cesta), Nº de tarjeta(leer pago)
INICIO
Abrir B.D productos
Agrupar los productos que estén en la cesta y sumar los precios de estos por el numero de ejemplares en la cesta y guardarlo en una variable: Importe.
Cerrar B.D. productos
Repetir
Obtenemos un numero de tarjeta
Enviamos al banco el numero de tarjeta el Importe (calculado antes) y la identificación del cliente y esperamos respuesta del banco.
Si (respuesta es valida) Entonces
Escribimos mensaje Correcto
Si No
Escribimos mensaje de Error
Hasta que la respuesta sea valida
FIN
Modulo de la gestión de la Base de Datos
Entrada: El Nick o código identificativo de la relación de datos que queremos modificar
Acción: Modifica la correspondiente Tupla de la base de Datos de la forma deseada Creándola o borrándola.
INICIO
Obtener identificador
Si (identificador es numérico) Entonces
Abrir B.D productos
Si No
Abrir B.D. Clientes
Si (identificador existe en la base de datos) Entonces
Mostrar Datos del registro con dicho identificador
Actualizar estos datos con otros obtenidos manualmente por el administrador
Si No
Crear Nuevo registro don los datos obtenidos manualmente por el administrador
Mostrar Datos del Registro con dicho identificador
Si (identificador es numérico) Entonces
Cerrar B.D productos
Si No
Cerrar B.D. Clientes
FIN
Modulo gestión Pedido
Este modulo gestiona la opciones que se puede hacer de un pedido y envía este pedido vía correo electrónico.
Entrada: artículos y nº de ellos que se quieren pedir
Salida: e-mail a cada proveedor con su pedido correspondiente
INICIO
Abrir B.D productos
Agrupar los artículos que aparezcan en la entrada y tengan el mismo proveedor en registros con el nombre de cada proveedor y con el numero de unidades
Enviar a cada proveedor un e-mail con los artículos y el numero de unidades a pedir de el grupo formado para dicho proveedor.
FIN
29
Pedido_c
Cliente
Selección
Producto
Crear_modificar_producto
Selección
P_cliente
Producto
Estado_stockl
Grupo
Crear_modif.icar_Cliente
Pedido_p
Tarjeta Valida
Validación Tarjeta
P_inicial
Consulta producto
pago
P_pago
D_personales
login
P_login
Confirmacion
Cesta
1
Proc_Cliente
Administrador
Proveedor
Banco
WEB_ Librería_BETA
Cliente
P_inicial
Selección
Consulta_producto
Grupo
Cesta
P_login
Confirmacion
login
Pedido_c
D_personales
P_pago
pago
Validación_tarjeta
tarjeta
2
Proc_Admin
Clientes
productos
Act_Admin
Estado_Stock
producto
P_cliente
Crear_Modificar_cliente
Selección
Mostrar_modificar_producto
Estado_Stock
Cliente
Producto
Pedido_p
Tarjeta_Valida
Validar_tarjeta
pago
P_pago
Datos personales
Pedido_c
Act_proc_pago
productos
Cestas
Clientes
Act_Admin
login
P_login
1.3
proc_pago
Act_entrada
1.2
Entrada
Cesta
Confirmacion
Grupo
Consulta_Producto
Seleccionl
P_inicilal
1.1
producto
2.1
Menu_Admin
2.2
Gestion_Clientes
Act_Admin Menu_A Selección
Menu_A
Act_Gestion_Cliente
Clientes
Crear_Modificar_Cliente
P_Cliente
Cliente
2.3
Gestion_Productos
Act_Gestion_Productos
Productos
Estado _Stock
Selección
Pedido_p
Crear_Modificar_Producto
Producto
1.1.1
pan_inicial
1.1.3
pan_Grupo
1.1.2
pant_producto
1.1.4
pan_Cesta
Productos
Act_pan_inicial
Act_pan_inicial
Act_pan_inicial
Act_pan_Cesta
Act_pan_Grupo
Act_pan_producto
Act_pan_producto
Añadir_pan_Cesta
Act_Entrada
Crear_Modificar_Producto
Producto
Pedido_p
productos
Estado_Stock Selección
2.3.3
Alta_baja_Producto
2.3.2
Hacer_pedido
2.3.1
Inicio_Gestor
P_inicial
Selección
Consulta_producto
Selección
Selección
Cesta
Selección
Act_Alta_Baja_Producto
Act_hacer_pedido
PRODUCTO
PEDIDO
GRUPO
PROVEEDOR
CESTA
CLIENTE
Se compone de
Provee
de
pertenece
Se compone de
Se relaciona con:
a
b
c
d
f
e
g
h
i
j
k
i
l
m
n
ñ
o
p
q
r
s
t
u
v
w
x
1:N
1:N
1:N
N:M
N:M
Enviar
Pedido
Leer
pedido
Escribir Datos
Leer
Datos
Escribir cesta valida
Leer
Pago
Leer
Cesta
Leer prod
seleccionado
Mostrar
Productos
Seleccionar
Opción
Seleccionar
Opción
GESTION DE LA BASE DE DATOS
GESTION PEDIDO
GESTION PRODUCTO
GESTION CLIENTES
PAGO PRODUCTO
SELECCIÓN PRODUCTO
GESTION
COMPRA
Seleccionar
Modo
GESTION CENTRAL LIBRERIA
Descargar
Enviado por: | Joze1212 |
Idioma: | castellano |
País: | España |