Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cochabamba - Bolivia
2015
Resumen:
INTRODUCCIÓN...........................................................................................................1
ANTECEDENTES..........................................................................................................2
PLANTEAMIENTO DEL PROBLEMA............................................................................3
JUSTIFICACIÓN............................................................................................................5
JUSTIFICACIÓN ECONÓMICA.................................................................................5
JUSTIFICACIÓN TÉCNICA........................................................................................6
OBJETIVOS...................................................................................................................7
OBJETIVO GENERAL................................................................................................7
OBJETIVOS ESPECÍFICOS......................................................................................7
ALCANCE......................................................................................................................7
METODOLOGÍA............................................................................................................9
MÉTODOS Y HERRAMIENTAS................................................................................9
UNIVERSO Y MUESTRA.........................................................................................10
TÉCNICAS E INSTRUMENTOS..............................................................................11
FUENTES DE INFORMACIÓN................................................................................11
1. CAPÍTULO I MARCO TEÓRICO..........................................................................12
1.1. SISTEMAS DE INFORMACIÓN.....................................................................13
1.2. APLICACIONES WEB....................................................................................15
1.3. COMERCIO ELECTRÓNICO.........................................................................17
1.4. APLICACIONES MÓVILES............................................................................19
1.5. SERVICIOS WEB...........................................................................................20
1.6. RUP.................................................................................................................22
2. CAPÍTULO II MARCO REFERENCIAL................................................................24
2.1. DESCRIPCIÓN DE LA EMPRESA.................................................................25
2.1.1. MISIÓN.................................................................................................26
2.1.2. VISIÓN..................................................................................................26
2.2. PRODUCTOS Y SERVICIOS.........................................................................27
2.3. ÁREA DEL TRABAJO DIRIGIDO...................................................................27
2.4. DESCRIPCIÓN DE LA TAREAS Y/o TRABAJOS EFECTUADOS...............27
2.5. FALENCIAS Y/O PROBLEMAS ENCONTRADOS........................................30
3. CAPÍTULO III INGENIERÍA DEL PROYECTO.....................................................31
3.1. INTRODUCCIÓN............................................................................................32
3.2. INICIACIÓN....................................................................................................32
3.2.1. INTRODUCCIÓN..................................................................................32
3.2.2. OBJETIVOS DEL PROYECTO............................................................32
3.2.3. CRONOGRAMA...................................................................................33
3.2.4. BASE ARQUITECTÓNICA...................................................................33
3.2.5. ESTIMACIÓN DE COSTOS.................................................................34
3.2.5.1 RECURSOS HUMANOS...................................................................34
3.2.5.2 RECURSOS TECNOLÓGICOS........................................................34
3.2.5.3 MATERIAL DE APOYO.....................................................................35
3.2.6. CASOS DE USO DEL NEGOCIO........................................................35
3.2.6.1 DIAGRAMA DE CASOS DE USO DEL NEGOCIO..........................36
3.2.6.2 DIAGRAMA DE ROLES....................................................................36
3.2.6.3 DIAGRAMA DE SECUENCIA DE ROLES........................................37
3.2.6.4 DIAGRAMA DE ACTIVIDADES........................................................44
3.2.6.5 PLANTILLA DE CASOS DE USO.....................................................51
3.3. ELABORACIÓN..............................................................................................56
3.3.1. ACTORES.............................................................................................56
3.3.2. CASOS DE USO...................................................................................57
3.3.2.1 CASOS DE USO GESTIÓN DE COMPRAS....................................58
3.3.2.2 CASOS DE USO GESTIÓN DE SUCURSALES..............................59
3.3.2.3 CASOS DE USO GESTIÓN DE REPORTES...................................60
3.3.2.4 CASOS DE USO GETIÓN DE USUARIOS......................................61
3.3.2.5 CASOS DE USO GESTIÓN DE VENTAS........................................62
3.3.2.6 CASOS DE USO GESTIÓN DE CARRITO DE COMPRAS.............63
3.3.2.7 CASOS DE USO GESTIÓN DE PUBLICIDAD.................................63
3.3.2.8 DICCIONARIO DE LOS CASOS DE USO........................................64
3.3.3. DIAGRAMAS DE ESTADO PARA LOS CASOS DE USO..................72
3.3.4. MODELO CONCEPTUAL.....................................................................80
3.4. CONSTRUCCIÓN...........................................................................................81
3.4.1. CONTRATOS.......................................................................................81
3.4.2. DIAGRAMA DE CLASES.....................................................................96
3.4.3. DIAGRAMA DE COMPONENTES.......................................................97
3.4.4. DIAGRAMA DE DESPLIEGUE.............................................................97
3.4.5. DIAGRAMA DE PAQUETES................................................................98
3.4.6. DIAGRAMA RELACIÓNAL DE LA BASE DE DATOS.........................99
3.5. TRANSICIÓN................................................................................................100
3.5.1. IMPLEMENTACIÓN...........................................................................100
4. CAPÍTULO IV PRUEBAS DE CALIDAD............................................................101
4.1. INTRODUCCIÓN..........................................................................................102
4.2. PRUEBAS DE SOFTWARE.........................................................................102
4.3. TÉCNICAS DE PRUEBA..............................................................................102
4.4. TIPOS DE PRUEBA.....................................................................................103
4.4.1. PRUEBAS DE UNIDAD Y DEPURACIÓN.........................................103
4.4.2. PRUEBAS DE INTEGRACIÓN..........................................................104
4.4.3. PRUEBAS DEL SISTEMA..................................................................104
4.4.3.1 PRUEBAS DE SEGURIDAD...........................................................105
4.4.3.2 PRUEBAS DE RESISTENCIA........................................................105
4.4.3.3 PRUEBAS DE RECUPERACIÓN...................................................106
4.4.4. PRUEBAS DE ESTRÉS.....................................................................107
4.4.5. PRUEBAS DE VALIDACIÓN..............................................................107
4.5. SATISFACCIÓN DEL USUARIO..................................................................110
4.6. CONCLUSIÓN DE LA FASE DE PRUEBAS...............................................110
5. CAPÍTULO V ESTIMACIÓN DE COSTOS.........................................................112
5.1. INTRODUCCIÓN..........................................................................................113
5.2. COSTO DEL PERSONAL............................................................................113
5.3. COSTO CONSUMIBLE................................................................................114
5.4. COSTOS DE VIAJES Y VIÁTICOS..............................................................114
6. CAPÍTULO VI CONCLUSIONES Y RECOMENDACIONES.............................116
6.1. CONCLUSIONES.........................................................................................117
6.2. RECOMENDACIONES.................................................................................119
BIBLIOGRAFÍA..........................................................................................................120
ANEXOS....................................................................................................................122
ANEXO A...................................................................................................................123
ANEXO B...................................................................................................................128
ANEXO C...................................................................................................................129
ANEXO D...................................................................................................................141
ANEXO E...................................................................................................................142
ÍNDICE DE FIGURAS
ANTECEDENTES
El desarrollo tecnológico está inmerso en todo ámbito, tanto que hoy en día
acompaña al ser humano desde el momento en que viene al mundo; los niños de
ahora ya nacen con capacidades innatas que les permiten manejar sin complicación
cualquier dispositivo móvil. Esta relación de las nuevas generaciones con cualquier
artefacto moderno hace que se incursione aún más en el desarrollo de nuevas
soluciones para la sociedad y crezca la necesidad de actualizarse.
Por todas estas ventajas las empresas, sobre todo comerciales, están optando por
adquirir sistemas para ganar una ventaja competitiva en el mercado, tal es el caso de
“Bottero Calzados de Mujer”, la cual se dedica exclusivamente a la venta de zapatos
femeninos. Esta empresa busca automatizar sus procesos de venta, realizar un
control de inventarios eficiente en todas sus sucursales y agilizar el proceso de
registro de sus productos para que de esta manera pueda reducir el trabajo de los
empleados.
3
La empresa cuenta con varias sucursales por lo que es dificultoso realizar una
consulta rápida de existencias; la atención al cliente se retrasa cuando se requieren
productos que se encuentran en otras tiendas teniendo que realizar llamadas entre
éstas para preguntar el stock y realizar el paso respectivo del o los productos.
También se cuenta con un registro de proveedores en papel a los que se recurre
cada cambio de temporada o instante en que se requiere nueva mercadería;
asimismo en todo registro manuscrito existe el riesgo de pérdida de información,
además la búsqueda de la referencia indicada es un poco más lenta. Una vez
realizado el pedido se debe registrar todos los productos recién llegados invirtiendo
bastante tiempo por los atributos que poseen los calzados como ser: color, marca,
talla, etc.
La información que posee “Bottero Calzados de Mujer” es tan extensa que dificulta
saber qué calzado es el más vendido, el modelo más pedido, la marca preferida,
entre otros datos importantes, que a su vez impide tomar decisiones adecuadas
para incrementar sus ganancias y llegar de mejor manera a sus clientes.
La empresa no cuenta con un medio para hacer conocer sus promociones a los
clientes de manera continua, ya que, para realizar esta labor, es necesario estar en
presencia de éstos lo que en la mayoría de los casos no es posible.
4
¿Cómo automatizar los procesos comerciales de la empresa “Bottero Calzados de
Mujer” de tal forma que se realice un control adecuado de sus ventas, inventarios y
promoción de sus productos?
JUSTIFICACIÓN
Los reportes que generará el sistema permitirán analizar el flujo económico por
tiempo determinado, permitirá realizar un control a sus empleados mostrando su
efectividad en las ventas del negocio y realizar un seguimiento a sus clientes
ofreciendo productos de su gusto y promociones según su preferencia.
JUSTIFICACIÓN ECONÓMICA
5
Con la implementación del módulo de inventarios, se reducirá los costos
administrativos para el proceso de control de stock y ventas ya que se minimizará el
tiempo remunerado que invierten los empleados en el registro de calzados.
JUSTIFICACIÓN TÉCNICA
1
OpenSource: De código abierto
6
comunicación como foros y chats oficiales para fomentar la participación y la
colaboración2.
Como sistema gestor de base de datos se utilizará MySql ya que puede ser
ejecutado en máquinas con escasos recursos por su bajo consumo, es una de las
bases de datos con mejor rendimiento, soporta gran variedad de sistemas
operativos, por su conectividad y seguridad es altamente apropiado para su acceso
en Internet, es de código abierto y gratuito.
OBJETIVOS
OBJETIVO GENERAL
OBJETIVOS ESPECÍFICOS
ALCANCE
2
Fuente: http://market-control.com/index.php?id=92&L=0
7
Módulo de usuarios: Se tendrá los siguientes roles:
Administrador: Podrá crear, dar de baja y asignar roles a los usuarios del
sistema.
Este rol permitirá crear, modificar y eliminar publicidad tipificada por color
marca y categoría la cual le llegará al cliente según sus gustos.
Reportes: Tendrá acceso a los reportes de las ventas por producto, cliente y
empleado.
Inventarios: El usuario con este rol podrá consultar el stock de cualquier
calzado en cualquiera de las sucursales.
Compras: Permitirá realizar el registro de la nueva mercadería actualizando el
stock y el precio. Podrá realizar la transferencia de zapatos entre sucursales.
Tendrá la posibilidad de crear, dar de baja y modificar los proveedores de
calzados.
Ventas: En este rol se realizará la facturación computarizada a los clientes en
cualquiera de las tiendas y se permitirá también realizar el registro de los
envíos de productos comprados en la tienda en línea.
Clientes: Tendrá acceso a la información para realizar consultas de los
productos y acceder a la publicidad desde una aplicación móvil. Podrá
también realizar compras por medio de la tienda en línea y visualizar una lista
de sus pedidos anteriores.
8
Permitirá registrar, editar y dar de baja a los proveedores de calzados de la empresa.
Asimismo se realizará un registro de los productos que son suministrados por cada
proveedor.
Módulo de ventas: Existirá dos opciones de venta. La primera será en línea donde
se incorporará la modalidad de facturación electrónica además del servicio de PayPal
como medio de pago para realizar transferencias más seguras. La segunda opción
será la venta directa, en la que se realizará la facturación computarizada.
Módulo de reportes: Mostrará Dashboards3 de las ventas efectuadas por mes, por
año, por producto, por empleado y por cliente.
Se generará reportes sobre las preferencias que tienen los clientes en relación a los
productos de tal forma que se pueda orientar una publicidad personalizada.
METODOLOGÍA
3
Dashboard: Representación gráfica de los PKI (Indicadores primarios de rendimiento) del negocio.
4
SmartPhones: Dispositivos móviles inteligentes.
9
MÉTODOS Y HERRAMIENTAS
10
UNIVERSO Y MUESTRA
TÉCNICAS E INSTRUMENTOS
FUENTES DE INFORMACIÓN
11
1. CAPÍTULO I MARCO TEÓRICO
CAPÍTULO I
MARCO TEÓRICO
12
13
Según Laudon y Laudon los sistemas de información se definen como “un conjunto
de componentes interrelacionados que recolectan (o recuperan), procesan,
almacenan y distribuyen información para apoyar los procesos de toma de
decisiones y de control de una organización” [CITATION Lau12 \p 15 \n \t \l 16394 ]
.
13
14
14
15
Las aplicaciones Web son sistemas creados con funcionalidades que brindan
respuestas a las peticiones de los usuarios; se alojan en servidores de internet o
redes locales y lucen de forma muy similar a cualquier página web no dinámica.
[CITATION Ale10 \t \l 16394 ].
Para solucionar esta limitación que tiene el HTML han surgido tecnologías de dos
tipos: las que generan contenido dinámico del lado servidor y las que generan
contenido dinámico del lado cliente. Para el primer caso, es el servidor quien se
encarga de ejecutar las tareas que se programen y devolver su resultado. En lo
referido a las tecnologías del cliente, el programa se ejecuta en el equipo cliente, o
sea, en el navegador web.
Hace unos años surgió una interfaz llamada CGI (Common Gateway Interface), cuya
misión era servir de pasarela entre la web y otros lenguajes no preparados para ella
(como C, C++, etc.), con el tiempo, comenzó a perder fuerza ante otros lenguajes de
script como ASP o PHP. Ambas tecnologías de desarrollo web, sobre todo PHP, se
convirtieron en herramientas muy utilizadas por su facilidad de aprendizaje, su
sencillez y potencia. (La web dinámica,s.f)
16
17
17
18
C2C
C
Consumi
dor
A
B Administra
Empresa B2A ción
B2B A2A
A2B
Tipos:
o B2B (Business to Business): Es aquel donde la transacción comercial
únicamente se realiza entre empresas que operan en internet.
o B2C (Business to Consumer): Es el más conocido de todos; se lleva a
cabo entre negocio o tienda virtual y una persona interesada en
comprar un producto o adquirir un servicio.
o C2C (Consumer to Consumer): Cuando una persona ya no utiliza algún
producto y busca ofrecerlo en venta, puede utilizar el comercio
electrónico como medio para realizar esta transacción con otro
consumidor.
18
19
Estos tipos de comercio electrónico, aunque no sean los únicos, son los más
utilizados de manera cotidiana y brindan grandes ventajas como el ahorro de tiempo,
la reducción de costos, la mejora de la comunicación con los clientes y la efectividad
de campañas publicitarias.
Actualmente existe un sinfín de aplicaciones de todo tipo, forma, color y que cumplen
con cualquier función como entretener a la sociedad o brindarle servicios de atención
al cliente, pero en los primeros teléfonos estaban enfocadas a mejorar la
productividad como las alarmas, calculadoras, calendarios y otros.
Desde el ingreso del IPhone al mercado hubo un gran cambio, a partir del nacimiento
de éste se generaron nuevos modelos de negocio que hicieron a las aplicaciones
5
SmarthPhones: Dispositivos móviles inteligentes.
19
20
más rentables, tanto para los desarrolladores como para los mercados de
aplicaciones como Play Store6.
Un servicio Web o WebService “es un servicio ofrecido por una aplicación que
expone su lógica a clientes de cualquier plataforma mediante una interfaz accesible a
través de la red utilizando tecnologías (protocolos) estándar de internet”. (Besterio y
Rodríguez, s.f.,pág. 1)
Para poder explicar el concepto de una manera más clara, un servicio web es una
funcionalidad de cualquier aplicación, como la de imprimir o mostrar simple
información, ofrecida a un cliente que no se encuentra en el mismo ordenador;
asimismo, para el acceso a estas funcionalidades, se requiere de un servidor web y
de protocolos como HTTP, SOAP, WSDL y UDDI generalmente.
SOAP es un protocolo de alto nivel, que sólo define la estructura del mensaje
y algunas reglas básicas de procesamiento de éste, siendo completamente
independiente del protocolo de transporte. Ello posibilita que los mensajes
SOAP puedan ser intercambiados a través de HTTP, SMTP, JMS, etc., donde
HTTP es el más utilizado en estos momentos.
6
PlayStore: Tienda virtual de aplicaciones para Android
20
21
1.6. RUP
21
22
Dirigido por Casos de Uso.- Los casos de uso son una guía de trabajo y un
elemento integrador; además de modelar los requisitos del sistema, guían también su
diseño, implementación y prueba.
22
23
23
2. CAPÍTULO II MARCO REFERENCIAL
CAPÍTULO II
MARCO REFERENCIAL
24
25
-La casa matriz ubicada en la Av. Heroínas entre San Martín y Lanza acera norte,
ésta se inauguró el 2 de marzo de 2010.
-La tienda de Quillacollo ubicada en la calle Waldo Ballivián #110 entre Av. Blanco
Galindo y calle Carmela Serruto acera este, inaugurada el 6 de septiembre de 2013.
25
26
Gerente
Gerencia Propietario
Administración
Administrador
2.1.1. MISIÓN
Vender la mejor calidad y variedad de calzados brindando a las damas las mejores
opciones de compra, ofreciendo productos con las últimas tendencias de moda y
manteniendo satisfecho al cliente.
2.1.2. VISIÓN
27
28
Movimiento de
Registro de los todo lo Reparto de
productos por ingresado al productos a las
item almacén sucursales
Dentro del proceso de venta directa el cliente elige el o los calzados que desea
adquirir, realiza el pago, se registra la venta, se hace la respectiva disminución del
inventario y se realiza la facturación con los datos proporcionados por el comprador.
28
29
La empresa no cuenta con la venta en línea por lo que se acordó seguir el siguiente
proceso:
Inicialmente el cliente elige el o los calzados que desea adquirir, realiza el pago en
línea, se registra la venta, se hace la respectiva disminución del inventario y para
finalizar, se realiza la facturación electrónica con los datos proporcionados por el
comprador.
29
30
Emisión de la
Elección de los Registro de la factura
calzados venta electrónica
30
31
La empresa no cuenta con una tienda en línea lo que significa que sus ventas son
llevadas a cabo de manera tradicional, es decir, con la transferencia del dinero en
efectivo y con la presencia física del comprador, vendedor y el producto; este
proceso además está sujeto a los horarios de atención de las tiendas, que impide
una disposición de 24 horas al día y los 7 días de la semana.
31
3. CAPÍTULO III INGENIERÍA DEL PROYECTO
CAPÍTULO III
32
3.1. INTRODUCCIÓN
3.2. INICIACIÓN
3.2.1. INTRODUCCIÓN
33
3.2.3. CRONOGRAMA
Cronograma
1/10/2015 Iniciación
8/10/2015 Elaboración
15/10/2015 Construcción
29/10/2015 Transición
34
Figura 3.10 Base Arquitectónica
<< SERVIDOR
LAMP>> << PC EMPLEADO>>
INTERNET
INTERNET
El desarrollo del sistema fue realizado por la postulante Ángela María Valdez Bernal
tanto en el modelamiento como el desarrollo de software, contemplando las distintas
etapas del proceso unificado de desarrollo.
35
Entra las herramientas utilizadas para el modelamiento del sistema se utilizó
Microsoft Visio 2013; para el desarrollo de software se recurrió a Sublime Text 3
como editor de texto en la programación web, para la programación móvil se utilizó el
entorno de desarrollo para Android denominado Android Studio y como base de
datos del sistema se utilizó MySql.
Gestionar compras Gestionar Sucursales Gestionar Reportes Gestionar Usuarios Gestionar Ventas Gestionar carrito de compras Gestionar publicidad
36
3.2.6.1 DIAGRAMA DE CASOS DE USO DEL NEGOCIO
Empleado
Gestionar Reportes
Gestionar Compras
Gestionar Sucursales
Gestionar publicidad
Administrador Cliente
1:n 1 1:n 1
37
El diagrama de roles es una forma útil de describir la forma en que interactúan los
distintos sujetos en la empresa; como se ve en la figura, un empleado atiende a
varios clientes así como el administrador supervisa el trabajo de varios empleados.
Empleado Administrador
Introduce la fecha real de compra y el proveedor Introduce la fecha real de compra y el proveedor
Registra los modelos de los calzados Registra los modelos de los calzados
alt alt
Se cargan datos del modelo
Se cargan datos del modelo
Existe modelo == true Existe modelo == true
Introduce el color, imagen y tallas por cada modelo Introduce el color, imagen y tallas por cada modelo
Finaliza la compra y se mueven los productos al almacén y se actualiza stock Finaliza la compra y se mueven los productos al almacén y se actualiza stock
38
Figura 3.15 Diagrama de Secuencia Gestionar Sucursales
Empleado Administrador
Administrador
Busca el calzado que desea tranferir a otra sucursal Busca el calzado que desea tranferir a otra sucursal
39
Figura 3.16 Diagrama de Secuencia Gestionar Reportes
Empleado Administrador
Administrador
40
Figura 3.17 Diagrama de Secuencia Gestionar Usuarios
Administrador
Administrador Empleado Cliente
Brinda datos
41
Figura 3.18 Diagrama de Secuencia Gestionar Ventas
Cliente Empleado
alt
Entrega producto
Entrega producto
Realiza el pago
Entrega factura
42
Figura 3.19 Diagrama de Secuencia Gestionar Carrito de Compras
Cliente
Inicia Sesión
opt
Elimina calzado del carrito
Si no gusta del calzado que agregó
opt
Finaliza compra
43
Figura 3.20 Diagrama de Secuencia Gestionar Publicidad
Administrador Cliente
Crea publicidad y la categoriza por marca, color y categoría Inicia sesión en la aplicación móvil de la empresa
44
3.2.6.4 DIAGRAMA DE ACTIVIDADES
Empleado Administrador
45
Figura 3.22 Diagrama de Actividad Gestionar Sucursal
Empleado Administrador
46
Figura 3.23 Diagrama de Actividad Gestionar Reportes
Empleado Administrador
47
Figura 3.24 Diagrama de Actividad Gestionar Usuarios
Ingresa a la página
Inicia sesión
de "Regístrate"
Ingresa a la página
Introduce sus datos
de usuarios
Brinda datos
Le asigna roles
48
Figura 3.25 Diagrama de Actividad Gestionar Venta
Cliente Empleado
Verifica el stock de
los calzados
Si existe producto
Si no existe
Verifica si existe en
Recibe producto
otras sucursales
Realiza el
movimiento entre
sucursales
Realiza el pago
Emite factura
49
Tabla 3.2 Diagrama de Actividad Gestionar Carrito de Compras
Cliente
Inicia Sesión
Agrega al carrito el
calzado que desea
comprar
Modifica cantidad
Elimina producto del
del producto
carrito
agregado
Administrador Cliente
Crea publicidad
Inicia sesión en la
categorizada por
aplicación móvil de la
marca, color y
empresa
categoría
Le da "Me gusta" a
los calzados de su
preferencia
Recibe publicidad
según sus gustos
51
3.2.6.5 PLANTILLA DE CASOS DE USO
52
Tabla 3.4 Casos de Uso Gestionar Sucursales
Prioridad Alta
Fuente: Elaboración propia, 2015
53
Tabla 3.6 Caso de uso Gestionar Usuarios
55
calzados que desee comprar en la
tienda en línea.
Descripción 1.- El cliente inicia sesión.
2.- El cliente navega por la página
viendo los productos que le interesan.
3.- Si el cliente ve un producto que le
interesa, dentro de la página del
producto hace click en el botón “Agregar
al carrito”.
4.- Si el cliente desea eliminar un
producto de su carrito, ingresa a la
página del carrito de compras y hace
click en el botón “Eliminar” que está al
lado del producto.
5.- Si el cliente desee modificar la
cantidad de un producto en su carrito,
ingresa a la página del carrito de
compras y escribe la cantidad que
desee en el campo correspondiente que
se encuentra debajo del producto.
Prioridad Alta
56
2.- Le da me gusta a los productos de
su preferencia.
3.- El administrador crear banners y los
categoriza por color, marca, y categoría
de calzados.
4.- La publicidad llega automáticamente
al celular del cliente según sus gustos
en base a sus compras y sus favoritos
seleccionados en la aplicación móvil.
Prioridad Media
3.3. ELABORACIÓN
3.3.1. ACTORES
57
3.3.2. CASOS DE USO
Empleado
Gestionar Reportes
Gestionar Compras
Gestionar Sucursales
Gestionar publicidad
Administrador Cliente
58
Registrar producto
<<incluir>>
Registrar compra
<<incluir>>
Editar producto
Empleado
Registrar producto
<<incluir>>
Registrar compra
<<incluir>>
Editar producto
Administrador
59
Realiza movimientos
de productos
Consulta productos
sucursal
Empleado
Realiza movimientos
de productos
Consulta productos
sucursal
Administrador
60
Consulta empleados
<<incluir>>
<<incluir>>
Empleado
Consulta clientes
Consulta empleados
<<incluir>>
<<incluir>>
Administrador
Consulta clientes
61
Figura 3.31 Casos de Uso Gestión de Usuarios
Ingresar datos
<<incluir>>
Crear Usuario
Verificar login y
Iniciar Sesión <<incluir>>
contraseña
<<incluir>>
Proporcionar correo
electrónico
Ingresar datos
<<incluir>>
Crear Usuario
Verificar login y
Iniciar Sesión <<incluir>>
contraseña
<<incluir>>
Proporcionar correo
electrónico
62
Figura 3.32 Casos de Uso Gestionar Ventas
Solicita calzados
Cliente
Consulta stock
Consulta stock
63
Figura 3.33 Casos de Uso Gestión de Carrito de Compras
Recibe publicidad
Cliente
Crea publicidad
Administrador
64
Tabla 3.10 Caso de uso Registrar Compra
68
(Flujos
Alternativos)
69
2a:Correo ya registrado
1.- El sistema indica que el correo ya ha sido registrado.
2.- El cliente o administrador ingresa otro correo.
3a: Alguno de los campos en el formulario ha sido dejado en
blanco
1.- El sistema indica que algunos campos están vacíos.
2.- El cliente o administrador ingresa los datos que faltan.
71
Tabla 3.17 Caso de Uso Recibe Publicidad
72
3.3.3. DIAGRAMAS DE ESTADO PARA LOS CASOS DE USO
73
Figura 3.36 Diagrama de Estados Consulta Productos sucursal
74
Figura 3.37 Diagrama de Estados Realiza Movimiento de Producto
Realiza el movimiento
75
Figura 3.38 Diagrama de Estados Consultar Reportes
Muestra el reporte
76
Figura 3.39 Diagrama de Estados Registro Usuario
77
Figura 3.40 Diagrama de estados Realizar Venta
Emite la factura
Introduce los datos del cliente
78
Figura 3.41 Diagrama de estados Agregar Productos al Carrito
79
Esperando inicio de sesión
Envía publicidad
Si no hay publicidad
80
3.3.4. MODELO CONCEPTUAL
Figura 3.43 Modelo Conceptual
Imagen
InteresUsuario Usuario
EnlaceImagen: string
Producto:int Nombre: string
RegistradoPor: int * *
DetalleCompra Usuario:int ApPat: string
EnFecha: date Direccion
CantClicks:int ApMat:string
Insertar() CantCopras:int 1
* Producto: int Color Login:string 1 Ciudad:string
Compra.int * * 1 Insertar() Contraseña:string
Cantidad:int Modificar() Correo:string * Direccion:string
Nombre: string Usuario:int
Precio:decimal Estado:bool
Insertar() Activa:bool
-Nombre del miembro 1 Modificar() Insertar() Latitud:string
1 Modificar() Longitud:string
1 Producto DarDeBaja() Insertar()
DetalleVenta
1 *
Compra * Item: int
Color. string * Producto: int *
Talla:int
* Venta.int
Fecha: Date 1 Cantidad:int Rol
FechaRegistro:Date Cantidad:inte 1
Item Precio:decimal
Proveedor:int Insertar() Descripcion: string Nombre:string
-Nombre del miembro
Descripción: string * 1 Insertar() Insertar()
* Precio. decimal Publicidad *
Marca:int
Categoria:int
*
1 Descripción: string 1
Insertar() Imagen: string
Proveedor Insertar() Venta
* Marca Anulado
Descripción: string 1 Fecha: Date 1
Nombre: string Nombre: string Descripcion: string
Tipo:int
Estado:bool Estado: bool Venta:int
* Numero:int
Direccion: string Insertar() RazonSocial:string 1 Insertar()
Telefono:int Modificar() NIT: int
Mail:string Movimiento * Dosificacion
DarDeBaja() CodigoControl:string
Persona de contacto:string FechaLimite:date
Sucursal: int NumAuto: bigint
Insertar() Estado: string
Categoria Producto:int Dosificacion:int 1 NumFact: int
Cantidad:int Llave: string
1 Insertar() FechaLimite: date
Nombre: string Fecha:date
TipoTransac:bool NroInicial:int
Estado: bool 1
Stock:int 1 NroFinal:int
Insertar()
CantPEPS:int Insertar()
Modificar()
TipoOrDes:tinyint 1
DarDeBaja()
Tipo:int VentaLinea
VentaDirecta
PrecioCompra:decimal
Nombre: string
Insertar() Venta: int Estado: bool
* Usuario:int DetalleEnvio:int
Cliente:int
1 *
*
Sucursal 1 1
Cliente DetalleEnvio
Nombre:string
Tipo: string NIT:int Foto:string
Insertar() RazonSocial: string Descripcion:string
Insertar() Insertar()
81
3.4. CONSTRUCCIÓN
82
Tabla 3.18 Contrato Registrar Compra
83
Figura 3.45Secuencia Realizar Movimiento de Productos
84
origen de movimiento.
Post condiciones -Se crea una instancia de movimiento.
-Se disminuye el stock de la sucursal
origen.
-Se incrementa el stock de la sucursal
destino.
Fuente: Elaboración propia, 2015
85
Contrato Consulta Productos Sucursal
Contrato Consulta Productos Sucursal
Nombre Consultar()
Referencias Cruzadas Consulta Productos Sucursal
Precondiciones -El empleado con rol de Inventario debe
haber iniciado sesión
-Se debe tener los datos del producto a
consultar.
Post condiciones -Se crea una instancia de Producto a
Buscar
-Muestra Lista de productos consultados
86
Precondiciones Se inició sesión de un usuario con
permisos para visualizar los reportes
Post condiciones Se muestra un reporte de acuerdo a los
parámetros establecidos por el usuario
Fuente: Elaboración propia, 2015
87
sesión.
Post condiciones Se tiene un nuevo usuario creado y listo
para cumplir su rol, en el caso del
cliente podrá realizar compras en la
tienda en línea.
88
puede acceder el Usuario de acuerdo a
sus roles.
Fuente: Elaboración propia, 2015
Figura 3.50 Secuencia Cambiar Contraseña
90
Figura 3.52 Secuencia Agregar producto al carrito
91
Eliminar producto del
Cliente carrito
Cliente :Sistema
Elimina
Actualiza carrito
92
Registra sus gustos
Cliente
Cliente :Sistema
93
Recibe publicidad
Cliente
Cliente :Sistema
Envía publicidad
Crea publicidad
Administrador
94
Administrador :Sistema
Se dirige a la página de
publicidad
Crea nueva publicidad
Categoriza la publicidad
por color, marca y modelo
95
3.4.2. DIAGRAMA DE CLASES
96
Imagen
InteresUsuario Usuario
EnlaceImagen: string
Producto:int Nombre: string
RegistradoPor: int * *
DetalleCompra Usuario:int ApPat: string
EnFecha: date Direccion
CantClicks:int ApMat:string
Insertar() CantCopras:int 1
* Producto: int
Color Login:string 1 Ciudad:string
Compra.int * * 1 Insertar() Contraseña:string
Cantidad:int Modificar() Correo:string * Direccion:string
Nombre: string Usuario:int
Precio:decimal Estado:bool
Insertar() Activa:bool
-Nombre del miembro 1 Modificar() Insertar() Latitud:string
1 Modificar() Longitud:string
1 Producto DarDeBaja() Insertar()
DetalleVenta
1 *
Compra * Item: int
Color. string * Producto: int *
Talla:int
* Venta.int
Fecha: Date 1 Cantidad:int Rol
FechaRegistro:Date Cantidad:inte 1
Item Precio:decimal
Proveedor:int Insertar() Descripcion: string Nombre:string
-Nombre del miembro
Descripción: string * 1 Insertar() Insertar()
* Precio. decimal Publicidad *
Marca:int
Categoria:int
*
1 Descripción: string 1
Insertar() Imagen: string
Proveedor -Nombre del Venta
* Marca Anulado
miembro
Descripción: string 1 Insertar() Fecha: Date 1
Nombre: string Nombre: string Descripcion: string
Tipo:int
Estado:bool Estado: bool Venta:int
* Numero:int
Direccion: string Insertar() RazonSocial:string 1 Insertar()
Telefono:int Modificar() NIT: int
Mail:string Movimiento * Dosificacion
DarDeBaja() CodigoControl:string
Persona de contacto:string FechaLimite:date
Sucursal: int NumAuto: bigint
Insertar() Estado: string
Categoria Producto:int Dosificacion:int 1 NumFact: int
Cantidad:int Llave: string
1 Insertar() FechaLimite: date
Nombre: string Fecha:date
TipoTransac:bool NroInicial:int
Estado: bool 1
Stock:int 1 NroFinal:int
Insertar()
CantPEPS:int Insertar()
Modificar()
TipoOrDes:tinyint 1
DarDeBaja()
Tipo:int VentaLinea
VentaDirecta
PrecioCompra:decimal
Nombre: string
Insertar() Venta: int Estado: bool
* Usuario:int DetalleEnvio:int
Cliente:int
1 *
*
Sucursal 1
1 DetalleEnvio
Nombre:string
Tipo: string Cliente
Foto:string
Insertar() Descripcion:string
NIT:int
RazonSocial: string Insertar()
Insertar()
97
Figura 3.58 Diagrama de Componentes
GUI PRODUCTOS
ENCRIPTACIÓN
MD5
COMPRAS
REPORTES PUBLICIDAD
INTERNET
<<DISPOSITIVO
MÓVIL CLIENTE>>
<<PC <<SERVIDOR
ADMINISTRADOR>> LAMP>>
98
3.4.5. DIAGRAMA DE PAQUETES
PRODUCTOS
INVENTARIO
BOTTERO
CALZADOS DE
MUJER
USUARIOS VENTAS
REPORTES
COMPRAS FACTURACIÓN
PUBLICIDAD
99
3.4.6. DIAGRAMA RELACIÓNAL DE LA BASE DE DATOS
Figura 3.61 Diagrama Relacional de la Base de Datos
3.5. TRANSICIÓN
3.5.1. IMPLEMENTACIÓN
Este servicio de hosting ofrece PHP 5.5 y MySQL 5.6, que son las últimas versiones
estables disponibles, y garantiza ancho de banda ilimitado y espacio en disco
ilimitado.
101
4. CAPÍTULO IV PRUEBAS DE CALIDAD
CAPÍTULO IV
PRUEBAS DE CALIDAD
102
103
4.1. INTRODUCCIÓN
Para este fin se recurre a un conjunto de tipos de prueba que apuntan a diferentes
funciones del programa en las que podría existir algún comportamiento o resultado
erróneo.
103
104
104
105
106
107
Las pruebas de recuperación son las que llegan a forzar al sistema a un fallo en
software y verificar que la recuperación se lleve a cabo correctamente.
Las pruebas de estrés simulan casos en los que se tienen gran cantidad de registros
en una base de datos, permitiendo realizar una estimación del tiempo de respuesta a
peticiones del sistema con una carga determinada de registros.
107
108
En este tipo de prueba verifica si se cumple con los requisitos funcionales del
sistema.
Para medir la satisfacción del usuario se usó la escala de Likert la cual mide la
reacción y conformidad de un individuo. Dicha escala consiste en un conjunto de
ítems presentados en forma de afirmaciones o juicios, ante los cuales se pide la
reacción de los participantes expresada en puntuación del uno al diez yendo por
cinco puntos desde el total acuerdo hasta el total desacuerdo.
110
111
Se cumplió satisfactoriamente con todas las pruebas realizadas, tanto en las pruebas
de software donde se pudo ver un correcto funcionamiento del sistema, como en las
pruebas de satisfacción del usuario, en las que se observó que hubo una mejora en
la puntuación en base a la escala de Likert, por lo tanto esto nos permite sustentar el
correcto desarrollo del sistema como también el cumplimiento del fin para el cual fue
elaborado.
111
5. CAPÍTULO V ESTIMACIÓN DE COSTOS
CAPÍTULO V
ESTIMACIÓN DE COSTOS
112
113
5.1. INTRODUCCIÓN
Fue la estudiante Ángela Mará Valdez Bernal la encargada del desarrollo del
proyecto, realizando tal proceso desde las etapas de diseño del software hasta su
culminación.
113
114
115
6. CAPÍTULO VI CONCLUSIONES Y RECOMENDACIONES
CAPÍTULO VI
CONCLUSIONES Y
RECOMENDACIONES
116
117
6.1. CONCLUSIONES
envío al servicio web del Sistema de Facturación Electrónica y cuenta con un carrito
de compras listando los productos que se encuentran con foto, descripción, color,
precio y cantidad en una interfaz amigable e intuitiva, permitiendo agregar nuevos
productos, modificar la cantidad y quitar productos. Este módulo se comunica con el
módulo de inventarios para registrar la salida del stock de los productos que fueron
vendidos.
Por tanto se puede concluir que el objetivo general planteado ha sido alcanzado
puesto que se ha logrado desarrollar el Sistema de Comercio Electrónico y Control
de Inventarios propuesto para la empresa “Bottero Calzados de Mujer”, incluyendo
en sus módulos los procesos de compras, ventas, inventarios, publicidad y
facturación; integrando la información de todos los procesos y generando reportes
que apoyen a la toma de decisiones. Asimismo es posible concluir que la
metodología usada para el diseño del sistema, la estructura de su base de datos y
las herramientas usadas fueron aplicadas de tal manera que se alcanzó
118
119
6.2. RECOMENDACIONES
- Para el cobro del dinero recibido por pagos en PayPal se debe tomar en
cuenta que la empresa PayPal no cuenta con soporte directo para retirar el
dinero en Bolivia, por lo que se debe conseguir un intermediario para el cobro,
o contar con una cuenta bancaria en Estados Unidos.
119
120
BIBLIOGRAFÍA
PÁGINAS WEB
LIBROS
Laudon, K., & Laudon, J. (2012). Sistemas de Información Gerencial (12va ed. ed.).
México: Pearson Education.
121
122
122
ANEXOS
123
124
ANEXO A
124
125
TL
x=
NE∗NP
RESPUESTA PUNTUACIÓN
Muy de Acuerdo 10
De Acuerdo 7.5
Indiferente 5
En Desacuerdo 2.5
Muy en 0
Desacuerdo
PREGUNTA
RESPUESTAS
Muy de De Indiferente En Muy en
S
Acuerdo Acuerdo Desacuerdo Desacuerdo
1 3 2
2 3 2
3 1 4
4 3 1 1
5 4 1
6 1 3 1
125
126
7 2 3
8 3 2
Totales 0 6 14 17 3
Aplicando la escala de Likert con las puntuaciones de las respuestas se tiene:
Luego:
TL 157 ,5
x= = =
NE∗NP 5∗8 3,9
Resultado que muestra la puntuación obtenida en el intervalo 0 ≤ x ≤10 para evaluar
la situación problemática de la institución.
126
127
Las puntuaciones para las respuestas también son las mismas, teniendo como
variante el número de afirmaciones expuestas que es igual a 10.
127
128
PREGUNTA
RESPUESTAS
Muy de De Indiferente En Muy en
S
Acuerdo Acuerdo Desacuerdo Desacuerdo
1 2 3
2 3 2
3 4 1
4 3 2
5 1 3 1
6 4 1
7 4 1
8 1 4
9 3 2
10 2 3
Totales 27 22 1 0 0
Luego:
TL 440
x= = =
NE∗NP 5∗10 8,8
Que representa la puntuación obtenida en el intervalo 0 ≤ x ≤10 para la aceptación
de la aplicación web dentro de la empresa.
ANEXO B
MANUAL TÉCNICO
128
129
SISTEMA WEB
Para la instalación del sistema web en el servidor local solo se tendrá que
copiar el siguiente sistema de archivos en la carpeta HTDOCS.
APLICACIÓN MÓVIL
La instalación del sistema móvil es mediante un archivo “.apk”.
REQUERIMIENTOS DE SOFTWARE
SISTEMA WEB
129
130
APLICACIÓN MÓVIL
ANEXO C
MANUAL DE USUARIO
130
131
Este manual es una herramienta de apoyo para usar las distintas funcionalidades del
Sistema de Comercio electrónico y control de Inventarios para la empresa
“Bottero Calzados de Mujer”. Las funcionalidades son de efectuar ventas de forma
directa y en línea, controlar el inventario en todas las sucursales por medio de un
sistema web y publicitar productos por medio de una aplicación móvil.
RESPONSABILIDADES
El usuario que accede a las funcionalidades del sistema puede tener uno o
varios de los siguientes roles:
Administrador:
o Puede crear, dar de baja y asignar roles a los usuarios del sistema.
o Este rol permite crear, modificar y eliminar publicidad categorizada por
color marca y tipo la cual le llegará al cliente según sus gustos.
Reportes:
o Tiene acceso a los reportes de las ventas por producto, cliente y
empleado.
Inventarios:
o El usuario con este rol puede consultar el stock de cualquier calzado en
cualquiera de las sucursales.
Compras:
o Permite realizar el registro de la nueva mercadería actualizando el
stock y el precio.
o Puede realizar la transferencia de zapatos entre sucursales.
o Tiene la posibilidad de crear, dar de baja y modificar los proveedores de
calzados.
Ventas:
o En este rol se realiza la facturación computarizada a los clientes en
cualquiera de las tiendas.
131
132
INICIO DE SESIÓN
132
133
Los usuarios para cumplir con sus roles deben previamente iniciar sesión
dirigiéndose a la pestaña de inicio de sesión.
133
134
134
135
135
136
136
137
138
139
139
140
140
141
141
142
142
143
143
144
144
145
ANEXO D
145
146
ANEXO E
ESQUEMA DDL/SQL
-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema bddbottero
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Table `Sucursal`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Sucursal` (
`IdSucursal` INT(11) NOT NULL AUTO_INCREMENT ,
`Nombre` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
146
147
-- -----------------------------------------------------
-- Table `Dosificacion`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Dosificacion` (
`IdDosificacion` INT(11) NOT NULL AUTO_INCREMENT ,
`NumAuto` BIGINT(20) NOT NULL ,
`NumFact` INT(11) NULL DEFAULT NULL ,
`Llave` VARCHAR(256) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`FechaLimite` DATE NOT NULL ,
`NroInicialFact` INT(11) NULL DEFAULT NULL ,
`NroFinalFactura` INT(11) NULL DEFAULT NULL ,
`Activa` TINYINT(1) NOT NULL ,
`IdSucursal` INT(11) NULL DEFAULT NULL ,
PRIMARY KEY (`IdDosificacion`) ,
INDEX `IdSucursalD_idx` (`IdSucursal` ASC) ,
CONSTRAINT `IdSucursalD`
FOREIGN KEY (`IdSucursal`)
REFERENCES `Sucursal` (`IdSucursal`)
ON DELETE NO ACTION
147
148
ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 9
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `Venta`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Venta` (
`IdVenta` INT(11) NOT NULL AUTO_INCREMENT ,
`Fecha` DATETIME NOT NULL ,
`Tipo` TINYINT(1) NOT NULL ,
`Numero` INT(11) NOT NULL ,
`RazonSocial` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci'
NOT NULL ,
`NIT` INT(11) NOT NULL ,
`Total` DECIMAL(18,2) NOT NULL ,
`CodigoControl` VARCHAR(14) CHARACTER SET 'utf8' COLLATE
'utf8_spanish_ci' NOT NULL ,
`FechaLimite` DATE NOT NULL ,
`Estado` VARCHAR(1) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`IdDosificacion` INT(11) NOT NULL ,
PRIMARY KEY (`IdVenta`) ,
INDEX `IdDosificacion_idx` (`IdDosificacion` ASC) ,
CONSTRAINT `IdDosificacion`
FOREIGN KEY (`IdDosificacion`)
REFERENCES `Dosificacion` (`IdDosificacion`)
148
149
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 100
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `Anulado`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Anulado` (
`IdVenta` INT(11) NOT NULL ,
`Descripcion` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci'
NOT NULL ,
PRIMARY KEY (`IdVenta`) ,
INDEX `IdVenta` (`IdVenta` ASC) ,
CONSTRAINT `IdVenta_ccc`
FOREIGN KEY (`IdVenta`)
REFERENCES `Venta` (`IdVenta`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `Categoria`
-- -----------------------------------------------------
149
150
-- -----------------------------------------------------
-- Table `Cliente`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Cliente` (
`IdCliente` INT(11) NOT NULL AUTO_INCREMENT ,
`NIT` VARCHAR(16) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`RazonSocial` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci'
NOT NULL ,
PRIMARY KEY (`IdCliente`) )
ENGINE = InnoDB
AUTO_INCREMENT = 4
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `Color`
150
151
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Color` (
`IdColor` VARCHAR(8) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`Nombre` VARCHAR(15) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
PRIMARY KEY (`IdColor`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `Proveedor`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Proveedor` (
`IdProveedor` INT(11) NOT NULL AUTO_INCREMENT ,
`Nombre` VARCHAR(40) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`Descripcion` VARCHAR(60) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci'
NULL DEFAULT NULL ,
`Estado` TINYINT(1) NOT NULL ,
`Direccion` VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci'
NULL DEFAULT NULL ,
`Telefono` INT(10) NULL DEFAULT NULL ,
`Mail` VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NULL
DEFAULT NULL ,
`PersonaContacto` VARCHAR(45) CHARACTER SET 'utf8' COLLATE
'utf8_spanish_ci' NULL DEFAULT NULL ,
PRIMARY KEY (`IdProveedor`) )
151
152
ENGINE = InnoDB
AUTO_INCREMENT = 5
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `Compra`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Compra` (
`IdCompra` INT(11) NOT NULL AUTO_INCREMENT ,
`Fecha` DATE NOT NULL ,
`FechaRegistro` DATE NOT NULL ,
`IdProveedor` INT(11) NOT NULL ,
PRIMARY KEY (`IdCompra`) ,
INDEX `IdProveedor` (`IdProveedor` ASC) ,
CONSTRAINT `IdProveedor`
FOREIGN KEY (`IdProveedor`)
REFERENCES `Proveedor` (`IdProveedor`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 7
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `Marca`
-- -----------------------------------------------------
152
153
-- -----------------------------------------------------
-- Table `Usuario`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Usuario` (
`IdUsuario` INT(11) NOT NULL AUTO_INCREMENT ,
`Nombre` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`ApPat` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`ApMat` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`Login` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`Contrasenia` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci'
NOT NULL ,
`Correo` VARCHAR(40) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`Estado` TINYINT(1) NOT NULL ,
153
154
-- -----------------------------------------------------
-- Table `Item`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Item` (
`IdItem` INT(11) NOT NULL AUTO_INCREMENT ,
`Descripcion` VARCHAR(500) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci'
NOT NULL ,
`Precio` DECIMAL(18,2) NOT NULL ,
`IdMarca` INT(11) NOT NULL ,
`IdCategoria` INT(11) NOT NULL ,
`RegistradoPor` INT(11) NOT NULL ,
`FechaRegistro` DATE NOT NULL ,
PRIMARY KEY (`IdItem`) ,
INDEX `IdCategoria` (`IdCategoria` ASC) ,
INDEX `IdMarca` (`IdMarca` ASC) ,
INDEX `RegistradoPor_idx` (`RegistradoPor` ASC) ,
CONSTRAINT `IdCategoria`
FOREIGN KEY (`IdCategoria`)
REFERENCES `Categoria` (`IdCategoria`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `IdMarca`
FOREIGN KEY (`IdMarca`)
154
155
-- -----------------------------------------------------
-- Table `Producto`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Producto` (
`IdProductoColor` INT(11) NOT NULL ,
`IdItem` INT(11) NOT NULL ,
`IdColor` VARCHAR(8) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`Talla` INT(11) NOT NULL ,
`Cantidad` INT(11) NOT NULL ,
PRIMARY KEY (`IdProductoColor`) ,
INDEX `IdProducto` (`IdItem` ASC) ,
INDEX `IdColor_idx` (`IdColor` ASC) ,
CONSTRAINT `IdColor`
FOREIGN KEY (`IdColor`)
REFERENCES `Color` (`IdColor`)
155
156
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `IdProducto`
FOREIGN KEY (`IdItem`)
REFERENCES `Item` (`IdItem`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `DetalleCompra`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DetalleCompra` (
`IdDetalleCompra` INT(11) NOT NULL AUTO_INCREMENT ,
`IdProducto` INT(11) NOT NULL ,
`IdCompra` INT(11) NOT NULL ,
`Cantidad` INT(11) NOT NULL ,
`Precio` DECIMAL(18,2) NOT NULL ,
PRIMARY KEY (`IdDetalleCompra`) ,
INDEX `IdProducto` (`IdProducto` ASC) ,
INDEX `IdCompra_idx` (`IdCompra` ASC) ,
CONSTRAINT `IdCompra`
FOREIGN KEY (`IdCompra`)
REFERENCES `Compra` (`IdCompra`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `IdProductoColor`
156
157
-- -----------------------------------------------------
-- Table `DetalleEnvio`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DetalleEnvio` (
`IdDetalleEnvio` INT(11) NOT NULL ,
`Foto` VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`Descripcion` VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci'
NOT NULL ,
PRIMARY KEY (`IdDetalleEnvio`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `DetalleVenta`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `DetalleVenta` (
`IdDetalleProducto` INT(11) NOT NULL AUTO_INCREMENT ,
157
158
-- -----------------------------------------------------
-- Table `Direccion`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Direccion` (
`IdDireccion` INT(11) NOT NULL AUTO_INCREMENT ,
158
159
-- -----------------------------------------------------
-- Table `Imagen`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Imagen` (
`IdImagen` INT(11) NOT NULL AUTO_INCREMENT ,
`EnlaceImagen` VARCHAR(45) CHARACTER SET 'utf8' COLLATE
'utf8_spanish_ci' NULL DEFAULT NULL ,
159
160
-- -----------------------------------------------------
-- Table `ImagenCalzado`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `ImagenCalzado` (
`IdImagen` INT(11) NOT NULL ,
`IdProducto` INT(11) NOT NULL ,
PRIMARY KEY (`IdImagen`, `IdProducto`) ,
INDEX `IdProductoColor_idx` (`IdProducto` ASC) ,
CONSTRAINT `IdImagen`
FOREIGN KEY (`IdImagen`)
REFERENCES `Imagen` (`IdImagen`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `IdProductoColor_c`
FOREIGN KEY (`IdProducto`)
160
161
-- -----------------------------------------------------
-- Table `InteresUsuario`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `InteresUsuario` (
`IdProducto` INT(11) NOT NULL ,
`IdUsuario` INT(11) NOT NULL ,
`CantClicks` INT(11) NULL DEFAULT NULL ,
`CantCompras` INT(11) NULL DEFAULT NULL ,
PRIMARY KEY (`IdProducto`, `IdUsuario`) ,
INDEX `IdProducto_idxx` (`IdProducto` ASC) ,
INDEX `IdUsuario_idxx` (`IdUsuario` ASC) ,
CONSTRAINT `IdProducto_c`
FOREIGN KEY (`IdProducto`)
REFERENCES `Producto` (`IdProductoColor`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `IdUsuario_c`
FOREIGN KEY (`IdUsuario`)
REFERENCES `Usuario` (`IdUsuario`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
161
162
-- -----------------------------------------------------
-- Table `Movimiento`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Movimiento` (
`IdMovimiento` INT(11) NOT NULL AUTO_INCREMENT ,
`IdSucursal` INT(11) NOT NULL ,
`IdProducto` INT(11) NOT NULL ,
`Cantidad` INT(11) NOT NULL ,
`Fecha` DATETIME NOT NULL ,
`TipoTransaccion` TINYINT(1) NOT NULL ,
`Stock` INT(11) NOT NULL ,
`TipoOrDest` TINYINT(1) NOT NULL ,
`IdTipo` INT(11) NOT NULL ,
`PrecioCompra` DECIMAL(18,2) NOT NULL ,
`CantidadPEPS` INT(11) NULL DEFAULT NULL ,
PRIMARY KEY (`IdMovimiento`) ,
INDEX `IdSucursal` (`IdSucursal` ASC) ,
INDEX `IdProducto_idx` (`IdProducto` ASC) ,
CONSTRAINT `IdProducto_cc`
FOREIGN KEY (`IdProducto`)
REFERENCES `Producto` (`IdProductoColor`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `IdSucursal_cc`
FOREIGN KEY (`IdSucursal`)
REFERENCES `Sucursal` (`IdSucursal`)
162
163
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 2693
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `Publicidad`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Publicidad` (
`IdPublicidad` INT(11) NOT NULL AUTO_INCREMENT ,
`Descripcion` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci'
NULL DEFAULT NULL ,
`Imagen` VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NULL
DEFAULT NULL ,
`Fecha` DATE NULL DEFAULT NULL ,
PRIMARY KEY (`IdPublicidad`) )
ENGINE = InnoDB
AUTO_INCREMENT = 10
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `PublicidadProducto`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `PublicidadProducto` (
`IdPublicidad` INT(11) NOT NULL ,
163
164
-- -----------------------------------------------------
-- Table `Rol`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Rol` (
`IdRol` INT(11) NOT NULL AUTO_INCREMENT ,
`Nombre` VARCHAR(15) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
PRIMARY KEY (`IdRol`) )
ENGINE = InnoDB
AUTO_INCREMENT = 7
DEFAULT CHARACTER SET = utf8
164
165
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `TipoOrigenDestino`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `TipoOrigenDestino` (
`IdTipoOrDest` INT(11) NOT NULL AUTO_INCREMENT ,
`Tipo` VARCHAR(10) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
`Nombre` VARCHAR(15) CHARACTER SET 'utf8' COLLATE 'utf8_spanish_ci' NOT
NULL ,
PRIMARY KEY (`IdTipoOrDest`) )
ENGINE = InnoDB
AUTO_INCREMENT = 5
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `UsuarioRol`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `UsuarioRol` (
`IdUsuario` INT(11) NOT NULL ,
`IdRol` INT(11) NOT NULL ,
PRIMARY KEY (`IdUsuario`, `IdRol`) ,
INDEX `IdRol_idx` (`IdRol` ASC) ,
CONSTRAINT `IdRol`
FOREIGN KEY (`IdRol`)
REFERENCES `Rol` (`IdRol`)
165
166
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `IdUsuario`
FOREIGN KEY (`IdUsuario`)
REFERENCES `Usuario` (`IdUsuario`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
-- -----------------------------------------------------
-- Table `VentaDirecta`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VentaDirecta` (
`IdVenta` INT(11) NOT NULL ,
`IdUsuario` INT(11) NOT NULL ,
`IdCliente` INT(11) NOT NULL ,
PRIMARY KEY (`IdVenta`) ,
INDEX `IdVenta` (`IdVenta` ASC) ,
INDEX `IdUsuario_idx` (`IdUsuario` ASC) ,
INDEX `IdCliente_idx` (`IdCliente` ASC) ,
CONSTRAINT `IdCliente_c`
FOREIGN KEY (`IdCliente`)
REFERENCES `Cliente` (`IdCliente`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `IdUsuario_cc`
FOREIGN KEY (`IdUsuario`)
166
167
-- -----------------------------------------------------
-- Table `VentaLinea`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `VentaLinea` (
`IdVenta` INT(11) NOT NULL ,
`IdUsuario` INT(11) NOT NULL ,
`FechaEntrega` DATE NULL DEFAULT NULL ,
`FechaPrevEntrega` DATE NOT NULL ,
`Estado` TINYINT(1) NOT NULL ,
`AceptaCliente` TINYINT(1) NOT NULL ,
`IdDetalleEnvio` INT(11) NULL DEFAULT NULL ,
`IdDireccion` INT(11) NOT NULL ,
PRIMARY KEY (`IdVenta`) ,
INDEX `IdVenta` (`IdVenta` ASC) ,
INDEX `IdUsuario_idx` (`IdUsuario` ASC) ,
INDEX `IdDetalleEnvio_idx` (`IdDetalleEnvio` ASC) ,
INDEX `IdDireccion_idx` (`IdDireccion` ASC) ,
167
168
CONSTRAINT `IdDetalleEnvio`
FOREIGN KEY (`IdDetalleEnvio`)
REFERENCES `DetalleEnvio` (`IdDetalleEnvio`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `IdDireccion`
FOREIGN KEY (`IdDireccion`)
REFERENCES `Direccion` (`IdDireccion`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `IdUsuario_ccc`
FOREIGN KEY (`IdUsuario`)
REFERENCES `Usuario` (`IdUsuario`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `IdVenta_cc`
FOREIGN KEY (`IdVenta`)
REFERENCES `Venta` (`IdVenta`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_spanish_ci;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
168