Professional Documents
Culture Documents
Integrantes:
Aguilera Balderrama Sebastián 216000971
Caricari Torrejon Pedro Luis 217009514
Cespedes Torrico Jorge Fabrizio 216011280
Delgadillo Garcia Mauricio Elian 217015689
Murillo Perez Alejandra Patricia 217062873
Docente:
MSc. Ing. Angélica Garzón Cuellar
Materia:
Sistemas de Información I (INF 342)
1
Capítulo 2: Marco Teórico ......................................................................................................... 14
2 Elementos del Sistema Basado en Computadoras ............................................................ 14
2.1 Hardware ....................................................................................................................... 14
2.1.1 Servidor ..................................................................................................................... 14
2.1.2 Cliente ....................................................................................................................... 14
2.1.3 Medios de Comunicación .......................................................................................... 14
2.1.4 Otros Dispositivos...................................................................................................... 15
2.2 Software ........................................................................................................................ 15
2.2.1 Servidor ..................................................................................................................... 15
2.2.2 Cliente ....................................................................................................................... 15
2.2.3 Otro software adicional............................................................................................. 15
2.3 Datos ............................................................................................................................. 15
2.4 Procesos ........................................................................................................................ 17
2.5 Gente/Usuario ............................................................................................................... 19
2.6 Documento .................................................................................................................... 20
2.7 Tecnología para el desarrollo del software ................................................................... 20
2.8 Estrategia para el desarrollo del software .................................................................... 20
2.9 Metodología para el desarrollo del software ................................................................ 20
2.9.1 Características del PUDS ........................................................................................... 20
2.9.2 Características de UML .............................................................................................. 23
2.10 Herramientas de Desarrollo .......................................................................................... 24
2.10.1 Software .................................................................................................................... 24
2.10.2 Hardware ................................................................................................................... 25
2.11 Posibles Costos .............................................................................................................. 25
2.12 Posibles Beneficios ........................................................................................................ 26
2.12.1 Tiempo....................................................................................................................... 26
2.12.2 Esfuerzo ..................................................................................................................... 26
2.12.3 Costos ........................................................................................................................ 26
2.13 Posibles Clientes ............................................................................................................ 26
Capítulo 3: Método Ishikawa .................................................................................................... 27
3 Método Ishikawa ............................................................................................................... 27
3.1 Lista de problemas ........................................................................................................ 27
3.1.1 Identificar problemas ................................................................................................ 27
2
3.1.2 Depurar problemas ................................................................................................... 28
3.1.3 Propietarios de los problemas .................................................................................. 28
3.1.4 Análisis de los problemas .......................................................................................... 29
3.1.5 Alternativas de cambio.............................................................................................. 30
3.1.6 Estimación / Justificación .......................................................................................... 31
3.1.7 Conclusión ................................................................................................................. 32
3.1.8 Gráfica de Ishikawa ................................................................................................... 33
3.2 Identificar las principales categorías ................................................................................... 33
3.3 Identificar las causas ........................................................................................................... 33
3.4 Analizar y discutir el diagrama ............................................................................................ 34
Capítulo 4: Modelo de dominio ................................................................................................ 35
4 Modelo de dominio ........................................................................................................... 35
4.1 Diseño Lógico de la base de datos ................................................................................ 35
a. Identificar clases .................................................................................................................... 35
b Atributos................................................................................................................................. 37
c Relaciones ............................................................................................................................... 40
4.1.1 Diagrama de clases .................................................................................................... 43
4.1.2 Mapeo ....................................................................................................................... 45
4.2 Diseño físico de la base de datos .................................................................................. 48
4.2.1 Tabla de volúmenes .................................................................................................. 48
4.2.2 Script.......................................................................................................................... 56
4.2.3 Diagrama Relacional .................................................................................................. 62
4.2.4 Actualización de tuplas.............................................................................................. 64
4.2.5 Consultas ................................................................................................................... 68
4.2.6 Procedimientos Almacenados ................................................................................... 75
4.2.7 Disparadores (Triggers) ............................................................................................. 76
5 Capítulo 5: Modelo de Negocios ....................................................................................... 78
6 Diagrama de Actividad ...................................................................................................... 78
6.1 Gestionar un proceso de compra .................................................................................. 78
6.2 Gestionar almacenes ..................................................................................................... 79
6.3 Gestionar categorías ..................................................................................................... 79
6.4 Gestionar detalle de producto ...................................................................................... 80
6.5 Gestionar documento de venta .................................................................................... 80
3
6.6 Gestionar pedido ........................................................................................................... 81
6.7 Gestionar ventas ........................................................................................................... 81
6.8 Registrar de pago .......................................................................................................... 82
6.9 Registrar usuarios .......................................................................................................... 82
6.10 Registro de producción ................................................................................................. 83
Capitulo 7 FLUJO DE TRABAJO: Captura de Requisitos ............................................................. 83
7.1 Identificar actores y Casos de Uso ...................................................................................... 83
7.1.1 Actores ............................................................................................................................. 83
7.1.2 Casos de Uso .................................................................................................................... 83
7.2 Priorizar Casos de Uso ......................................................................................................... 84
7.3 Detallar un Caso de Uso ...................................................................................................... 87
7.3.1 Diseñar Diagramas de Caso de Uso .................................................................................. 87
CU1. Iniciar Sesión ..................................................................................................................... 87
CU2. Gestionar Cliente .............................................................................................................. 87
CU4. Gestionar Nota de venta .................................................................................................. 89
CU5. Gestionar Nota de egreso ................................................................................................. 90
CU6. Gestionar Nota de ingreso ................................................................................................ 91
CU7. Gestionar Nota de traspaso .............................................................................................. 92
CU8. Gestionar Plan de Pago ..................................................................................................... 93
CU9. Registrar Cuota ................................................................................................................. 94
CU10. Registrar Recibo .............................................................................................................. 94
CU11 Gestionar Sucursal ........................................................................................................... 95
CU12. Gestionar Almacén ......................................................................................................... 96
CU13. Verificar Almacén ........................................................................................................... 97
CU14. Gestionar Estante ........................................................................................................... 97
CU15. Gestionar Stock............................................................................................................... 98
CU16. Gestionar Producto......................................................................................................... 99
CU17. Verificar Producto ......................................................................................................... 100
CU18. Gestionar Detalle del Producto .................................................................................... 100
CU19. Gestionar Tipo de Producto .......................................................................................... 101
CU20. Gestionar Marca de Producto ...................................................................................... 102
CU21. Gestionar Modelo de Producto .................................................................................... 102
CU22. Gestionar Categorias .................................................................................................... 103
4
CU23. Registrar Proveedores .................................................................................................. 104
CU24. Generar Backup ............................................................................................................ 104
CU25. Actualizar Bitácora ........................................................................................................ 105
CU26. Gestionar Usuario ......................................................................................................... 105
CU27. Gestionar Privilegios ..................................................................................................... 106
CU28. Cerrar sesión ................................................................................................................. 107
CU29. Gestionar Pedidos......................................................................................................... 107
7.3.2 Detalle de casos de uso ........................................................Error! Bookmark not defined.
7.4 Prototipar interfaz de usuario ........................................................................................... 108
8.1 Entrevistas ......................................................................................................................... 116
5
Capítulo 1: Perfil del Proyecto
1.1 Introducción
FINILAGER S.A. es una empresa líder en el mercado nacional desde hace
cuarenta años y un referente comercial en el rubro, poniendo a disposición
del mercado boliviano calidad en rodamientos, productos y servicios
relacionados para el sector productivo, aportando responsablemente al
desarrollo del país.
Finilager nació en 1973 a partir de la iniciativa de Don Jorge Nuñez del Prado,
con un pequeño local en la Calle Independencia, con un crecimiento
exponencial acelerado; que la llevó en menos de 5 años a convertirse en la
empresa líder del rubro, adquiriendo prácticamente todas las líneas de
distribución de rodamientos de las distintas marcas.
El año 2013 marca un hito especial para Finilager porque cumple 40 años
liderando la comercialización, distribución y asesoría en rodamientos y sus
productos relacionados, para la industria boliviana y como representante de
las principales marcas a nivel mundial. Aquello que comenzó en la década
de los 70 con un local en la Calle Independencia, es hoy una empresa que
se ha consolidado como un pilar fundamental para el desarrollo económico
del país, evidenciado en sus 10 sucursales en las principales ciudades del
territorio nacional, cubriendo las demandas de los segmentos automotriz,
agrícola e industrial.
No fue un hecho fortuito, el que Finilager naciera en Santa Cruz, que en esos
años mostraba un incipiente pero sostenido desarrollo, el que más tarde la
convertiría en el motor económico del país. Finilager empezó la actividad en
1973 y en 1978 adquiere prácticamente todas las líneas de rodamientos,
siendo exclusivo en esas líneas. En las siguientes décadas, la empresa
establece sucursales en el Alto, Montero, Cochabamba y La Paz; con ello el
capital humano también crece en nuevas generaciones de profesionales
incorporados hasta formar una corporación que cuenta con más de un
centenar de personas.
2
del moderno sistema de lubricación centralizado, el cual permitirá mayor
flexibilidad operativa y durabilidad de las partes, entregándole al productor
agrícola una nueva herramienta de productividad.
1.2.1 Misión
Somos profesionales en brindar soluciones que contribuyen al movimiento
de la productividad.
1.2.2 Visión
Expandir y diversificar nuestra presencia en Bolivia y América Latina como
corporación para el 2025
1.2.3 Ubicación
3
1.2.4 Política de Calidad
Cumplir con las especificaciones de nuestros clientes
Capacitar, motivar y desarrollar a nuestro personal
Mantener relaciones sólidas con nuestros proveedores
Facilitar las condiciones a nuestro personal para que aporten a la mejora
continua
Proporcionar los recursos humanos, técnicos y económicos, necesarios para
el desarrollo sostenido del SGC.
4
1.4 Justificación
La empresa ya cuenta con un sistema de información que ayuda a controlar
el seccionamiento de los productos adquiridos a los proveedores, también
ayuda a realizar el control de la venta de productos, por lo tanto, la intención
es hacer una mejoría al proceso de interacción del usuario con la información
de los productos ofertados y simplificar el proceso de compra o adquisición
de los mismos, de igual manera, es considerado de suma importancia facilitar
el registro de los usuarios a la página a través de plug-in’s de carácter social
o registro nativo. Por último, aportar a la reducción de las falencias al
momento de reponer los productos en los almacenes y la correcta
distribución de los mismos en las diferentes sucursales.
5
proceso de compra o adquisición de los mismos, de igual manera, es
considerado de suma importancia facilitar el registro de los usuarios a la
página, a través de plug-in’s de carácter social o registro nativo. Por último,
aportar a la reducción de las falencias al momento de reponer los productos
en los almacenes y la correcta distribución de los mismos en las diferentes
sucursales.
- Proceso Personal:
Empleado: El proceso de reclutamiento como la selección de
personal se basan en una serie de pasos a través de los cuales se
realiza la atracción de talento a ocupar un puesto y se elige a la
persona que mejor se ajusta al perfil que se busca.
6
El registro de los productos consiste en codificarlos de acuerdo a su
ubicación física; las estanterías están codificadas alfabéticamente
(Ejemplo Estante A, B, C) y su vez las mismas están seccionadas
alfanuméricamente (Ejemplo A1, A2, A3). Una vez el producto está
registrado y almacenado se encuentra listo y a disposición de los
vendedores para su comercialización.
7
El principal problema del proceso de ventas es la falta de un servicio de
pagos y ventas online, ya que actualmente solo se puede consultar el
catálogo de productos a través de su web.
Tecnología de Rodamientos
Análisis de Falla en Rodamientos
Alineación Láser de Precisión
Balanceo Dinámico In Situ
Análisis de Vibraciones
Análisis de Termografía Infrarroja
Análisis de circuito de motor dinámico y Estático
Gestión de Lubricación
Introducción a la Confiabilidad
8
- Proceso de Compra: Es el proceso de analizar los precios que se
obtienen por parte de los proveedores, los cuales permiten una
evaluación y al final una decisión de que es lo más correcto a elegir según
el presupuesto y las necesidades a cubrir. Una vez elegidos los
proveedores existen ciertas fases dentro de este proceso:
9
1.7 Objetivos
1.7.1 Objetivos Generales
El objetivo general del proyecto es desarrollar un sistema de información para
gestionar las compras de producto a los proveedores, la venta de los mismos
hacia los clientes y la gestión de inventarios de productos que se encuentran
en los almacenes de dicha corporación que estamos estudiando (Finilager
SA).
1.8 Alcance
El proyecto tiene como finalidad, facilitar las tareas primordiales para la
empresa, como ser las ventas de productos para los clientes y reposición de
inventario y el almacenamiento de los mismos.
Por lo tanto, el sistema contará con los siguientes módulos:
En este módulo se registrarán los datos de los clientes, los pedidos que
realizarán pudiendo ser estas personas naturales o empresas, a la vez que
también se podrán modificar dichos datos. Se registrarán los pedidos
realizados de los cuales se podrán añadir productos requeridos por el cliente.
10
Gestionar Cliente. –
Se clasifica a los clientes de la siguiente manera:
11
Registrar documento de Venta. - Se registran los datos una vez
entregado el producto solicitado y completado el plan de pagos, que
serán emitidos en una factura y nota de venta.
Gestionar detalles del Producto. – Tanto para el cliente como para la
empresa es esencial que el producto sea acorde a la descripción hecha
anteriormente en el pedido realizado, en especial el tipo de tela que
solicite.
Registrar producción. -Para determinar cuándo los productos de un
pedido están listos para su entrega, es necesario seguir el proceso de
elaboración de dichos productos, esto se logrará mediante el registro
de la producción de los asociados (fabricantes).
Gestionar almacenes
En este apartado llevará a cabo el registro de los almacenes con los que
cuenta la empresa.
Gestionar Categorías
En este apartado defina la estructura general de su catálogo de productos.
En el sistema podrá crear líneas de productos, familias, clasificar por
características y propiedades especiales.
Categorías: División general de los artículos por departamento,
líneas, grupos, etc.
Subcategoría: Se refiere a la categoría de la cual se desprenden
otras divisiones.
Subcategoría con propiedades: Es la última clasificación en la que
se dividirá el grupo o línea de productos, dentro de ella se agrupan
propiedades específicas del producto.
Gestionar Productos
En este apartado podrá dar de alta su catálogo de productos. Detallando
los campos primordiales para poder identificar al producto.
12
Gestionar Entradas
En este submódulo se lleva a cabo el registro de las entradas al almacén,
por entrada general (directamente desde esta sección) o provenientes de
una orden de compra previamente registrada en el módulo de compras.
Al realizar una entrada general, es importante tomar en cuenta un
formulario de entrada de un producto, con los siguientes datos:
Recepción de orden de compra
La orden de compra generada será la que se enlace a este módulo y
sirve para llevar a cabo la entrada al almacén por compras.
Gestionar Salidas
En este apartado podrá registrar las salidas del almacén por concepto de
ventas u otros conceptos.
Se opera de la siguiente manera: seleccionar el Almacén de referencia, el
producto y capturar la cantidad del producto que saldrá por medida de
venta.
En el supuesto de que se haya definido un stock mínimo y máximo y este
se haya rebasado el sistema le enviará una alerta.
Gestionar Traspasos
En este submódulo podrá registrar los traspasos de productos entre
almacenes.
Capture el almacén origen y destino. El sistema mostrará el último
movimiento registrado, la fecha y hora.
El traspaso de productos entre almacenes se realiza en dos etapas:
Deberá registrar primeramente la salida y al momento de recibir
el producto el almacén dos registrará la entrada.
Al efectuar la salida el estatus del Traspaso quedará en curso,
esperando que se complete la acción.
Gestionar Existencias
En este apartado podrá obtener el reporte de existencias por producto o
almacén.
Al realizar el filtro del almacén o categoría requerido, el sistema mostrará
los productos y las existencias a la fecha actual.
Gestionar Kardex
En esta sección se presenta el historial por producto, tomando en cuenta:
Rango de fechas, Almacén, Producto.
Esta hoja de trabajo le servirá para llevar a cabo la valuación del
inventario.
Esta información la podrá ser exportada a Excel.
13
Capítulo 2: Marco Teórico
2 Elementos del Sistema Basado en Computadoras
2.1 Hardware
2.1.1 Servidor
Configuraciones de hardware mínima
Windows 7
Procesador Core i3
Memoria RAM 2 GB
Espacio de Disco 500 GB.
Conexión a internet 1 MB.
2.1.2 Cliente
Procesador 2.5 (GHz) recomendado procesadores duales con una
velocidad de 3 GHz.
Memoria RAM 2 GB.
Disco con partición formateada con 3 GB de espacio disponible en disco
como mínimo.
Tarjeta de Red con conector RJ45.
Conectores RJ45:
Uno de los conectores principales utilizados con tarjetas de red
Ethernet transmite información a través de cables par trenzado.
Grimpadora:
Son una especie de alicates y sirven para fijar los cables.
Tester de Cable:
14
Sirve para medir magnitudes eléctricas en diferentes ámbitos.
Tarjeta de Red:
Permite la comunicación entre diferentes aparatos conectados entre
sí.
Hub o Switch:
Llevan a cabo la conectividad de una red local (LAN). La mayoría
soportan cables cruzados.
2.1.4 Otros Dispositivos
Mouse
Teclado
Impresora
Scanner
2.2 Software
2.2.1 Servidor
Lenguaje de programación PHP en PHPStorm.
SGBD MySQL.
Sistema operativo Windows 8, Windows 10.
2.2.2 Cliente
Sistema Operativo Windows 8
Navegador (Chrome, Mozilla, etc.)
2.3 Datos
El sistema de datos manejará los siguientes datos:
Persona
(CI, Nombre, Dirección, Correo)
Cliente
(CI, NIT, Descuento)
Empleado
(CI, Cargo)
15
Usuario
(ID, Código, Tipo)
Teléfono
(ID, Numero)
NotaVenta
(Numero, Fecha, Monto)
DetalleVenta
(ID, Cantidad)
Cuota
(Numero, Fecha, Monto)
Recibo
(Numero, Fecha, Monto)
NotaEgreso
(Numero, Fecha)
DetalleEgreso
(ID, Cantidad)
Motivo
(ID, Descripción)
Producto
(ID, Nombre, Precio)
Categoría
(Código, Nombre)
DetalleProducto
(ID, Material, Estado)
TipoProducto
(ID, Nombre)
Marca
(ID, Nombre)
16
Modelo
(ID, Descripción, Año)
Stock
(ID, Cantidad)
Almacén
(ID, Nombre)
Estante
(Código, Nivel)
NotaTraspaso
(Numero, Fecha)
DetalleTraspaso
(ID, Cantidad)
NotaIngreso
(Numero, Fecha, Costo)
DetalleIngreso
(ID, Cantidad)
Segmento
(ID, Nombre)
UnidadMedida
(ID, Nombre)
Sucursal
(ID, Ubicación)
2.4 Procesos
Módulo de Compra/Venta
Registro de Usuarios
17
Mediante un login, los clientes de la empresa podrán tener un perfil de usuario
para controlar sus compras en la empresa y realizar pagos vía internet,
además de una facturación virtual por cada compra
Registro de Pagos
Cada empleado de la empresa de Finilager podrá acceder a los pagos de
productos de sus usuarios, como un historial de todos sus pagos mediante el
ingreso a la cuenta de estos, la verificación de los datos de pagos como la
fecha, el monto especificó y los productos.
Módulo de Inventario
Gestión de Inventario
18
Se registrará todos los productos en stock de cada sucursal, y la
disponibilidad de estos, dado que si no están disponibles se les enviará un
nuevo stock.
Proceso de Gestionar Entrada
Dicho proceso servirá para la agregación de productos ya existentes en el
inventario de la empresa además de la añadir nuevos productos en la base
de datos.
Proceso de Gestionar Salida
Este proceso sirve para controlar la partida de los productos y actualizar la
cantidad de estos que están dentro del inventario, siendo posible la reducción
total o parcialmente de los productos en la base de datos además de la
eliminación de estos.
Proceso de Gestionar Traspaso
Esto se implementará para la salida de productos del inventario y la entrada
de estos en las sucursales, actualizando por cada traspaso su base de datos.
Proceso de Gestionar Existencias
Ello se usará para la verificación de los productos disponibles en el almacén,
si estos productos están disponibles se les podrá traspasar a las sucursales,
caso contrario dichos productos serán pedidos a los proveedores para
añadirlo al inventario.
Proceso de Gestionar Kardex
El proceso de gestionar Kardex, se encargará de todos los movimientos que
hacen los productos de la empresa, tanto como la entrada, salida, traspaso y
existencias de estos, para asegurar un seguimiento.
2.5 Gente/Usuario
Desarrolladores
El equipo humano que desarrolla el Sistema está conformado por:
Sebastian Aguilera
Pedro Caricari
Fabrizio Cespedes
Elian Delgadillo
Alejandra Murillo
Usuario
19
La interfaz será capaz de tener en su dominio de usuario al administrador de
la empresa, la cual está conformada por el Sr Michel Ferreyra, Gerente
General encargado de transmitir las órdenes tomadas por el Directorio. Quien
tendrá su respectivo código de ingreso al sistema,de igual manera, los(as)
operadores (vendedores) tendrán su respectivo código.
2.6 Documento
La información que respalda al sistema es:
Manual de instalación
Manual de usuario
20
a. Iterativo e Incremental. - El proceso unificado es un marco de desarrollo
iterativo e incremental compuesto de cuatro fases a su vez dividida en
una serie de iteraciones.
Se crean iteraciones para la realización del trabajo
Cada iteración sigue el esquema:
b. Dirigido por los casos de uso. - Se utilizan para capturar los requisitos
funcionales y para definir los contenidos de las iteraciones.
21
En PUD un “usuario” puede ser un humano o cualquier otro sistema
que interacciona con el sistema que se está desarrollando.
Este usuario es capaz de desencadenar una serie de acciones a las
que el sistema debe dar soporte (casos de uso)
Los casos de uso representan requisitos funcionales.
El conjunto de todos los casos de uso recibe el nombre de modelos
de caso de uso.
Los casos de uso guían el desarrollo del sistema, siguiendo un flujo
desde la especificación de requisitos hasta las pruebas
1. Fase de inicio: Consiste en dar una primera visión aproximada del producto
a desarrollar.
2. Fase de elaboración: Se compone de una o dos iteraciones en las que se
procede a detallar los requisitos identificados en la fase de inicio.
3. Fase de Construcción: Esta fase se corresponde con la codificación de los
requisitos identificados.
4. Fase de transición: Al final de esta fase deberá obtenerse el producto
ejecutable con los manuales y demás elementos necesarios para su puesta
en marcha. Implica: un modelo de implementación con los pequeños cambios
que hayan tenido que hacerse en la implementación con relación a la fase
anterior; un modelo de despliegue y un modelo de distribución.
22
En resumidas cuentas, la cuestión fundamental del desarrollo del software es la
escritura del código. Después de todo, los diagramas son sólo imágenes bonitas.
Ningún usuario va a agradecer la belleza de los dibujos; lo que el usuario quiere es
software que funcione.
23
Los objetivos de UML son muchos, pero se pueden sintetizar sus funciones:
24
Programación Web: Que se realizará en PHP (bajo el framework de Laravel
versión 5.4) HTML y CSS, PHP es un lenguaje de código abierto muy popular
especialmente adecuado para el desarrollo web y que puede ser incrustado
en HTML. El cual es un lenguaje de marcado que se utiliza para el desarrollo
de páginas de Internet y CSS (Hojas de Estilo en Cascada) es un lenguaje
que describe la presentación de los documentos estructurados en hojas de
estilo para diferentes métodos de interpretación de los documentos
estructurados en hojas de estilo para diferentes métodos en pantalla permitir
la separación de los contenidos de los documentos escritos en HTML.
2.10.2 Hardware
Procesador Core i3 o mayor
Memoria RAM 4GB
-Disco Duro de 120GB a 500GB recomendado, dependiendo a cuánta
información que se vaya a almacenar y los programas a instalar.
Conexión a internet 1MB
Velocidad 3.0GHz o mayor
25
2.12 Posibles Beneficios
2.12.1 Tiempo
Si el sistema funcionara correctamente como se planteó, el beneficio
más significativo se vería reflejado en el tiempo, debido a que ya no
necesitará estar perdiendo esfuerzos en cálculos busca de
documentos y registros de forma manual.
2.12.2 Esfuerzo
El sistema también mostrará una gran reducción de esfuerzo a la hora
de registrar y actualizar los datos, como también en la realización de
búsqueda y cálculos.
2.12.3 Costos
El beneficio en cuestión de costos vendría en la reducción de costos
producido por llevar todo el registro de forma manual, gastando en
papeles, material de escritorio y demás.
26
Capítulo 3: Método Ishikawa
3 Método Ishikawa
3.1 Lista de problemas
3.1.1 Identificar problemas
27
3.1.2 Depurar problemas
P2. No existe publicidad en Redes Sociales.
P4. Tiempo lento en Impresión de la Factura.
P6. El Tiempo de reposición de inventario es lento.
P9. Falta de ilustración de los productos que se tiene.
P10. No se Cuenta con un servidor de Respaldo ni restauración automática.
P12. Falta de supervisión en los horarios de ingreso.
P13. Implementar políticas de control en el proceso de compras respecto a
las autorizaciones para el material administrativo.
P14. Mejora en el mantenimiento de los aires acondicionados.
P15. Falta de Dotación en la mejora de equipos de computación a las
sucursales.
P16. Mejorar el tiempo de respuesta en el soporte técnico de los equipos de
computación.
Propietarios
Gerente Técnico Personal Administrador Cliente
Problemas
No existen ventas por
internet. X X
Tiempo lento en la
Búsqueda de los
productos.
X X
Mal manejo de la
Ubicación Física de los
productos en el Almacén.
X
Mala planificación en el
manejo administrativo
de las nuevas Sucursales
X X
28
Falta de Identificación de
los Items sin
movimientos o de baja X X
demanda.
No Existe Envíos de
estados de cuenta a los
clientes por deudas en
X X X
mora a través de la web.
Malos cálculos en la
suma de costos de
ventas de productos.
X
Pérdida de tiempo al
registrar un cliente que
ya existe en el sistema.
X X
Mal control y registro de
inventario. X X
Mala administración en
las formas de pago. X X
Mal registro de
descuentos a la hora de
comprar productos.
X X X
29
3.1.5 Alternativas de cambio
P1. No existen ventas por internet.
Alt: Desarrollar un sistema que permita a los clientes registrarse en una plataforma
virtual en la red y poder realizar ventas de los diferentes productos.
P3. Tiempo lento en la Búsqueda de los productos.
Alt: Desarrollar un sistema de información capaz de agilizar la búsqueda de
productos.
P5. Mal manejo de la Ubicación Física de los productos en el almacén.
Alt: Desarrollar un sistema de información para organizar los productos y se pueda
acceder sin inconvenientes a cada uno de ellos en su respectivo almacén.
P7. Mala planificación en el manejo administrativo de las nuevas Sucursales.
Alt: Desarrollar un sistema de información capaz de incorporar y organizar las
nuevas sucursales sin inconvenientes.
P8. Falta de Identificación de los Items sin movimientos o de baja demanda.
Alt: Desarrollar un sistema de información que controle con un identificador a los
productos además de incorporar un sistema capaz de rotar los productos según su
demanda cada cierto tiempo.
P11. No Existe Envíos de estados de cuenta a los clientes por deudas en mora
a través de la Web.
Alt: Desarrollar un sistema de información capaz de llevar todas las deudas de los
clientes a través de la web.
30
P17. Malos cálculos en la suma de costos de ventas de productos.
Alt: Desarrollar un sistema de información que permita acceder a los montos a
cancelar por parte de la empresa y realizar cálculos seguros facilitando al usuario
el trabajo.
31
departamento de dirección
administrativo.
Falta de Identificación de Se pierden productos o ya Se debe a un mal
los items sin no hay seguimiento de ellos desempeño de los
movimientos o de baja en los almacenes lo que trabajadores y también al
demanda. conlleva una pérdida de sistema por no contar con
dinero para la empresa. un software capaz de
llevar estos casos.
No Existe Envíos de La mala organización de Debido a que no se lleva el
estados de cuenta a los registros de pagos y deudas registro de forma
clientes por deudas en provoca molestia con el organizada, cosa que se
mora a través de la cliente. puede perder dicha
Web. información
Malos cálculos en la Existe un 0,7% de error a la Debido a errores de
suma de costos de hora de realizar los cálculos redondeo, ya que no se
ventas de productos de costos utiliza un programa que
almacene los datos con
mayor precisión.
Pérdida de tiempo al Rellenar datos que ya han Debido a que se deben
registrar un cliente que sido almacenados supone rellenar de nuevo los
ya existe en el sistema. un tiempo de formularios necesarios en
aproximadamente 7 papel para registrar su
minutos. solicitud.
Mal control y registro de Esto conlleva una pérdida Esto se debe una mal uso
inventario. en varios aspectos, los del sistema o una mala
cuales se deben tener en dirección.
cuenta
Mala administración en Existe un 3% de clientes Debido a que la mayor
las formas de pago. que no quedan satisfecho parte del tiempo del tiempo
con los servicios de la al pagar una forma de
empresa por motivo de que pago que no es factible
los detalles brindados por su para el cliente.
parte fueron insuficientes.
Mal registro de Posee un 1% de error a la Debido a que no se lleva el
descuentos a la hora de hora de realizar los registro de forma
comprar productos.: descuentos. organizada, cosa que se
puede perder dicha
información
3.1.7 Conclusión
-Manejo de Inventario: Como conclusiones podemos ver que en la empresa
“FINILAGER” existen problemas en cuanto al manejo de inventario, los cuales se deben
solucionar pronto.
Se recomienda automatizar el manejo de los pedidos de los clientes.
-Control de ingresos y egresos: En conclusión, debido a la gran cantidad de
problemas ocurridos por la mala administración de parte del General es recomendable
32
llevar a cabo un sistema de información que permita almacenar la información y
automatizar formas de pagos y ganancias asegurando los documentos a una base de
datos.
Para la solución de problemas en la administración en las formas de pago y ganancias
de los productos vendidos es recomendable llevar a cabo un sistema que controle
dichos puntos.
-Ventas La empresa de rodamientos requiere de un sistema que le permita solucionar
los problemas mencionados anteriormente a modo de facilitar la gestión de sus ventas
en general al igual que con sus asociados evitando así errores futuros ya sea de typeo
o fuga de información lo cual le genera pérdidas de clientes en ocasiones o
descontentos por parte de sus asociados.
34
agrado de los clientes respecto a su empresa de modo que la atención a los mismo
se de forma eficiente y eficaz.
Manejo de Inventario:
Como conclusiones podemos ver que en la empresa existen problemas en cuanto
a la gestión de inventario que generan pérdida de tiempo y en ocasiones de
información los cuales se deben solucionar pronto.
Se recomienda automatizar el manejo de inventario para que las futuras consultas
realizadas al sistema por el administrador sean resueltas de manera inmediata.
Control de ingreso y egresos:
Mantener el sistema como hasta ahora, genera en si gastos innecesarios para la
empresa que a lo largo van en aumento, puesto que deben ser actualizados entre
otras cosas, sin embargo, lo más alarmante es el hecho de que el mismo material
se deteriore o llegue a perderse lo que genera pérdidas no solo económicas sino
también de valioso tiempo.
Para la solución de problemas en la administración en cuanto a ingresos y egresos
es recomendable llevar a cabo un sistema que descarte gastos continuos para la
empresa.
4 Modelo de dominio
4.1 Diseño Lógico de la base de datos
a. Identificar clases
Persona En esta clase se registran los datos más importantes de todas las
personas que participan en la empresa internamente (siendo un empleado)
y externamente (siendo un cliente).
Cliente En esta clase se registra los datos más importantes de cada cliente,
ya sea uno particular u otra empresa.
Empleado En esta clase se registra los datos más importantes de cada
cliente, ya sea uno particular u otra empresa.
35
Detalle Venta Esta clase intermedia tiene como finalidad el agrupar cada uno
de los contenidos que pertenecen a cada nota de venta respectivamente.
Cuenta por Cobrar En esta clase se tiene registro de los pagos por cobrar
que pertenecen a cada plan de pago.
Recibo Es la clase encargada de registrar los pagos realizados de cada
cuota pertenecientes a cada plan de pago respectivamente.
Nota Egreso En esta clase se almacena cada uno de los egresos existentes
ya sea por venta o por cualquier otro motivo.
Detalle Egreso Con esta clase intermedia se tiene registro de cada salida de
productos que pertenecen a una respectiva nota de egreso.
Motivo Con esta clase se enlista los motivos en los cuales sale los diferentes
productos a través de la Nota de Egreso.
Producto Aquí se registran todos los productos que la empresa ofrece a sus
clientes en sus diferentes sucursales a través de todo el país.
Categoría En esta clase se tiene registro de todas las categorías que puede
tener cada producto.
Detalle Producto En esta clase se almacenan detalles agregados de un
producto, gracias a una normalización.
Tipo de Producto En esta clase se tiene constancia de todos los productos
con los que trabaja la empresa.
Marca En esta clase se tiene registradas todas las posibles marcas de cada
producto.
Modelo En esta clase se tienen registrados los años de fabricación del
producto a vender.
Stock Con Esta clase se tiene intención del almacenamiento de valores que
representen que tanto es el nivel de los almacenes.
Almacén En esta clase se tiene registro de los diferentes almacenes de cada
sucursal en todo el país donde se encuentran los diferentes productos que
ofrece la empresa.
Estante En esta clase se registra los diferentes estantes que existen en cada
almacén respectivamente.
Nota Traspaso En esta clase se almacena los diferentes traspasos que hay
de almacén en almacén para cubrir las respectivas necesidades.
Detalle Traspaso Con esta clase intermedia se registra detalladamente cada
uno de los productos que son traspasados de un almacén a otro que
pertenecen a una respectiva nota de traspaso.
Nota Ingreso En esta clase se tiene registro de todas las notas de ingreso
de productos que existen hacia un estante que pertenece a almacén
respectivamente.
Detalle Ingreso Con esta clase se tiene registro de cada producto que
pertenece a cada una de las Notas de Ingreso respectivamente.
Segmento En esta clase se registran las áreas a las que se pueden vender
los productos.
Unidad Medida En esta clase se registran las unidades de medida en las
que se pueden medir los productos.
36
Sucursal En esta clase se registran las sucursales a las que hace referencia
un almacén y también las sucursales en las que puede trabajar un usuario.
Proveedor En esta clase se registra a cada uno de los proveedores con los
que se tiene contacto o afiliación.
Cargo Con esta clase se pretende almacenar cada uno de los posibles
cargos que tiene cada empleado.
NombreProducto En esta clase se almacenan los nombres genéricos o con
los que se refiere de manera muy general a los productos.
Material En esta clase se registra el material del cual está compuesto cierto
producto.
Modelo_Año En esta clase se almacena todos los años donde ha sucedido
un registro de cada respectivo modelo.
b Atributos
Persona
CI
Nombre
Dirección
Correo
Tipo
Cliente
NIT
Descuento
Empleado
Sueldo
Estado
Usuario
ID
Código
Tipo
Estado
Teléfono
ID
Numero
NotaVenta
Nro
Fecha
Monto
DetalleVenta
37
ID
Cantidad
Recibo
Nro_Recibo
Fecha
Monto
Saldo
NotaEgreso
Nro
Fecha
DetalleEgreso
ID
Cantidad
Motivo
ID
Descripción
Producto
ID
Nombre
Precio
Promedio Pond
Categoría
Código
Nombre
DetalleProducto
ID
Estado
TipoProducto
ID
Nombre
Marca
38
ID
Nombre
Stock
ID
Cantidad
Modelo
ID
Descripción
Almacén
ID
Nombre
Estante
Código
Capacidad
NotaTraspaso
Nro
Fecha
DetalleTraspaso
ID
Cantidad
NotaIngreso
Nro
Fecha
Costo
DetalleIngreso
ID
Cantidad
Costo Unitario
UnidadMedida
ID
Nombre
Segmento
ID
39
Nombre
Sucursal
ID
Ubicación
Cargo
o ID
o Nombre
Material
o ID
o Nombre
NombreProducto
ID
Nombre
Modelo_Año
ID
Año
Proveedor
ID
Nombre
NombreRepre
País
Teléfono
c Relaciones
Las clases Cliente-Nota_Venta tiene una relación de asociación llamada
realiza, con una multiplicidad de 1-1...*. Esta relación permite identificar
todos los pedidos que realizó un cliente.
Las clases Nota_Venta-Cuenta por Cobrar tienen una relación de
asociación llamada recibe, con una multiplicidad de 1-0…*. Esta relación
permite identificar todas las cuotas que se pagaron en un plan de pago.
Las clases Cuenta por Cobrar-Recibo tienen una relación de asociación
llamada produce, con una multiplicidad de 1-1, ya que por cada cuota
pagada se genera un recibo respectivamente.
Las clases Nota_Venta-Producto tienen una relación de asociación, la cual
debido a la multiplicidad de 1…*-1…*, genera una tabla intermedia llamada
Detalle_Venta que indica la cantidad de productos tiene una Nota de Venta.
40
Las clases Nota_Venta-Nota_Egreso tienen una relación de asociación
llama Origina, con una multiplicidad de 0…1-1…*, Sirve para dar de baja a
las existencias para cualquier salida.
Las clases Nota_Egreso-Motivo tienen una relación de asociación llamada
Conlleva, con una multiplicidad de 1…* -1, ya que muchas notas de egreso
pueden tener el mismo motivo.
Las clases Nota_Egreso-Producto tienen una relación de asociación,
debido a la multiplicidad de 1…*-1…*, se genera una tabla intermedia
llamada Detalle_Egreso, esta clase tiene un atributo cantidad para el manejo
de los productos que salen del inventario.
Las clases Almacén-Estante tienen una relación de asociación llamada
constituye, con una multiplicidad de 1-1…*. Esta relación sirve para indicar
cuantos estantes contiene un almacén.
Las clases Cliente-Teléfono tiene una relación de asociación llamada tiene,
con una multiplicidad de 1-1..*, ya que un cliente puede tener muchos
números de teléfonos, pero a su vez, los mismos le pertenecen a un solo
cliente.
Las clases Nota_Ingreso-Producto tienen una relación de asociación,
debido a la multiplicidad de 1…*-1…*, se genera una tabla intermedia
llamada Detalle_Ingreso, que tiene un atributo cantidad para el manejo de
los productos que entran al inventario.
Las clases Nota_Ingreso-Estante tienen una relación de asociación llamada
registra, con una multiplicidad de 1…*-1. Esta relación sirve para indicar
cuantos productos que llegan tendrá registrados un estante en el almacén.
Las clases Nota_Traspaso-Producto tienen una relación de asociación,
debido a la multiplicidad de 1…*-1…*, se genera una clase intermedia
llamada Detalle_traspaso, que tiene un atributo cantidad para el manejo de
los productos que se traspasan de un inventario a otro inventario.
Las clases Nota_Traspaso-Almacen tienen una relación de asociación
llamada origen, con una multiplicidad de 0…*-1. Esta relación sirve para
indicar cuantos productos eran traspasados del almacén.
Las clases Almacen-Nota_Traspaso tienen una relación de asociación
llamada Destino, con una multiplicidad de 1-0…*. Esta relación sirve para
indicar cuantos productos eran llegaran al almacén sacados de otro almacén.
Las clases Stock-Producto tienen una relación de asociación llamada
dispone, con una multiplicidad de 1…*-1. Esta relación sirve para indicar
cuantos productos específicamente tiene el almacén.
Las clases Producto-Detalle_Producto tienen una relación de asociación
llamada tiene, con una multiplicidad de 1-1…*. Esta relación sirve para
describir el estado del producto.
Las clases Producto-Tipo_de_Producto tienen una relación de asociación
llamada corresponde, con una multiplicidad de 1…*-1. Esta relación sirve
para registrar el tipo que corresponde a dicho producto.
41
Las clases Tipo_de_Producto-Segmento tienen una relación de asociación
llamada pertenece, con una multiplicidad de 1…*-1. Esta relación sirve para
registrar los diferentes segmentos a los cuales pertenece un tipo de producto.
Las clases Nota_Venta-Usuario tienen una relación de asociación llama
Genera, con una multiplicidad de 1...*-1, Sirve para un encargado de la
empresa cree una o varias notas de venta.
Las clases Usuario-Empleado tienen una relación de asociación llamada
Posee, con una multiplicidad de 1…0-1, Esta relación sirve para determinar
si un empleado tendrá o no un usuario para acceder al sistema según
corresponda.
Las clases Empleado-Cargo tienen una relación de asociación llamada
Tiene, con una multiplicidad de 1…*-1, la cual sirve para tener en cuenta el
cargo que tiene cada empleado en la empresa.
Las clases Estante-Stock tienen una relación de asociación llamada
agrupa, con una multiplicidad de 1-1…*, Esta relación sirve para indicar
cuantos productos existen en cada almacén.
Las clases Empleado-Sucursal tienen una relación de asociación llama
trabaja, con una multiplicidad de 1...*-1, Esta relación sirve para tener
registro de los trabajadores que trabajan en cada sucursal.
Las clases Marca-Categoria tienen una relación de asociación llamada
pertenece, con una multiplicidad de 1…*-1, Esta relación sirve para tener
constancia de a que categorías pertenecen las diferentes marcas
registradas.
Las clases Usuario-Nota_Traspaso tienen una relación de asociación
llamada genera, con una multiplicidad de 1-1…*, con esta relación se tiene
registro de que usuario realiza la nota una respectiva nota de traspaso de un
almacén a otro.
Las clases Almacen-Sucursal tienen una relación de asociación llamada
esta, con multiplicidad de 1-1, la cual sirve para saber en qué sucursal se
encuentra ese respectivo almacén.
Las clases Produto-Unidad_Medida, tienen una relación de asociación
llamada mide, con una multiplicidad de 1…*-1, que sirve para tener registro
sobre la forma en que se mide cada uno de los productos y obviamente, en
que unidad de medida se los tiene registrados.
Las clases Modelo-Marca, tienen una relación de composición, la cual sirve
para registras los diferentes modelos pertenecientes a una marca
respectivamente.
Las clases Producto-Modelo, tienen una relación de composición, que sirve
para tener constancia del modelo de los diferentes productos registrado.
Las clases Persona-Cliente, Empleado, tienen una relación de herencia, de
manera que muchos de los datos de cliente y empleado pueden ser llevados
a una clase superior llamada persona.
42
Las clases Producto-NombreProducto, tienen una relación de asociación
llamada pertenece, con una multiplicidad de 1…*-1, esta relación sirve para
tener constancia de que nombre o nomenclatura es el que engloba a una
gran cantidad de productos semejantes.
Las clases Detalle_Producto-Material, tienen una relación de asociación
llamada tiene, con una multiplicidad de 1…*-1, esta relación sirve para saber
de qué material esta hecho cada uno de los productos ofertados.
Las clases Modelo-Modelo_Año, tienen una relación de asociación llamada
pertenece, con una multiplicidad de 1…*-1, esta relación sirve para saber en
qué año han salido cierto grupo de modelos de distintos productos.
4.1.1 Diagrama de clases
43
44
4.1.2 Mapeo
Persona
CI Nombre Dirección Correo Tipo
PK
Cliente
CI NIT Descuento
PK
Empleado
CI Sueldo IDCargo IDSucursal
PK FK FK
Usuario
ID Código Tip Estado IDEmpleado
PK FK
Teléfono
ID Numero IDPersona
PK FK
NotaVenta
Numero Fecha Monto IDUsuario IDCliente
PK FK FK
DetalleVenta
NumeroNV IDProducto Cantidad
PK/FK PK/FK
45
Recibo
NumeroR Fecha Monto Saldo NumeroC
PK FK
Producto
ID Precio PromPond IDNombre IDTP IDUM IDMarca IDModelo
PK FK FK FK FK FK
DetalleProducto
IDDetP Estado IDProducto IDMaterial
PK FK FK
UnidadMedida
ID Nombre
PK
Segmento
ID Nombre
PK
TipoProducto
ID Nombre IDSegmento
PK FK
ID
Motivo
ID Descripción
PK
NotaEgreso
Numero Fecha NumeroNV IDMotivo
PK FK FK
DetalleEgreso
NumeroNE IDProducto Cantidad
PK/FK PK/FK
46
Proveedor
ID Nombre NombrRep País Teléfono
PK
NotaIngreso
Numero Fecha Costo Total IDUsuario CodEstante IDProveedor
PK FK FK FK
DetalleIngreso
NumeroNI IDProducto Cantidad Costo Unitario
PK/FK PK/FK
Sucursal
ID Ubicación
PK
Almacén
ID Nombre IDSucursal
PK FK
Estante
Código Nivel IDAlmacén
PK FK
Stock
Código Cantidad IDProducto CodEstante
PK FK FK
NotaTraspaso
Numero Fecha AlmacenOrigen AlmacenDestino IDUsuario
PK FK FK FK
DetalleTraspaso
NumeroNT IDProducto Cantidad
PK/FK PK/FK
47
Categoría
ID Nombre
PK
Marca
ID Nombre IDCategoria
PK FK
Modelo
IDMarca IDModelo Descripción IDAño
PK/FK PK FK
Año
ID Año
PK
Cargo
ID Nombre
PK
Material
ID Nombre
PK
NombreProducto
ID Nombre
PK
Persona
Atributo Tipo Tamaño Nulo Llave Descripción
CI Entero 7 No Primary Llave primaria de la tabla
key Persona.
Nombre Alfabético 50 No No Nombre de la persona.
Dirección Alfanumérico 50 Si No Dirección de la persona.
Correo Alfanumérico 30 Si No Correo de la persona.
Tipo Carácter 1 No No Distingue si la persona es
cliente o empleado.
48
Cliente
Atributo Tipo Tamaño Nulo Llave Descripción
CI Entero 7 No Primary Key Llave primaria del
Cliente.
NIT Entero 50 No No NIT del cliente.
Dirección Alfanumérico 50 Si No Direccion del cliente.
Empleado
Atributo Tipo Tamaño Nulo Llave Descripción
CI Entero 7 No Primary Key Llave primaria del Empleado
Sueldo Entero 10 No No Monto que gana un
determinado usuario.
Estado boolean 2 No No Muestra si el empleado esta
Disponible o no.
IDCargo Entero 7 No Foreign LLave foránea a Cargo
Key(Sucursal)
IDSucursal Entero 7 No Foreign key Llave foránea a Sucursal.
(Sucursal)
Cargo
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria del Cargo.
Nombre Alfabetico 50 No No Nombre jerarquico del
Empleado.
Usuario
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Llave primaria del usuario.
Key
Código Alfanumérico 50 No No Contraseña del usuario.
Tipo Alfabético 30 No No Tipo de usuario registrado.
IDEmpleado Entero 7 No Foreign key Llave foránea de la tabla
(Empleado) Empleado.
Teléfono
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria de Telefono.
Numero Alfabético 50 Si No Número de teléfono.
49
IDPersona Entero 7 No Foreign key Llave foránea a la tabla
(Persona) persona.
NotaVenta
Atributo Tipo Tamaño Nulo Llave Descripción
Numero Entero 7 No Primary Key Llave primaria de Nota de Venta
Fecha Alfabético 50 No No Fecha de entrega de Nota de
Venta.
Monto Alfabético 50 Si No Monto total de la Nota de Venta
IDUsuario Entero 7 No Foreign key Llave foránea a la tabla Usuario
(Usuario)
IDCliente Entero 7 No Foreign key Llave foránea a la tabla Cliente
(Cliente)
DetalleVenta
Atributo Tipo Tamaño Nulo Llave Descripción
NumeroNV Entero 7 No Primary key, Llave primaria y
Foreign key (NotaVenta) foranea de
Numero de Venta
IDProducto Entero 7 No Primary key, Llave primaria y
Foreign key (Producto) foranea de
Producto
Cantidad Alfabético 50 No No Cantidad de
Productos por NV.
Cuenta por cobrar
Atributo Tipo Tamaño Nulo Llave Descripción
Numero Entero 7 No Primary Key Llave primaria de Cuenta por
cobrar.
Fecha Alfabético 50 No No Fecha de primera cuota
Monto Alfabético 50 Si No Monto de la cuota
Estado Boolean 1 No No Estado de la cuota: impaga o
pagada.
NroNV Entero 7 No Foreign key Llave foránea de Nota de
(NotaVenta) venta.
Recibo
Atributo Tipo Tamaño Nulo Llave Descripción
Numero Entero 7 No Primary Key Llave primaria de Recibo.
Fecha Alfabético 50 No No Fecha de entrega del recibo por
un pago.
Monto Money 50 Si No Monto pagado del recibo.
Saldo Int 50 Si No Saldo por pagar de la venta.
50
NumeroC Entero 7 No Foreign key Llave foránea de la tabla cuenta
(Cuenta por por cobrar.
Cobrar)
NotaEgreso
Atributo Tipo Tamaño Nulo Llave Descripción
Numero Entero 7 No Primary Key Llave primaria de
Fecha Date 1 No No Fecha de la nota de egreso.
NumeroNV Entero 7 No Foreign Key Llave foránea de la Nota de
(NotaVenta) venta.
IDMotivo Entero 7 No Foreign Llave foránea de la tabla
Key(Motivo) Motivo.
DetalleEgreso
Atributo Tipo Tamaño Nulo Llave Descripción
NumeroNE Entero 7 No Primary Key, Llave primaria y foránea de
Foreign key Nota de Egreso.
(NotaVenta)
IDProducto Entero 7 No Primary Key, Llave primaria y foránea de
Foreign Producto.
key(Producto)
Cantidad Alfabético 50 No No Cantidad de productos
salientes en la nota de
egreso.
Motivo
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria de Motivo.
Descripción Alfabético 50 No No Descripción del motivo de la
nota de egreso.
Producto
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria de
Precio Alfanumerico 50 Si No Precio del
producto.
51
Promedio Monetario - Si No Promedio
Ponderado calculado por el
monto pagado por
el anterior
producto y el
producto actual.
IDTipoP Entero 7 No Foreign key Llave foránea de la
(TipoProducto) tabla Tipo de
Producto.
IDUnidadM Entero 7 No Foreign Llave foránea de la
key(UnidadMedida) tabla
UnidadMedida.
IDMarca Entero 7 No Foreign key() Llave foránea de la
tabla Marca.
IDModelo Entero 7 No Foreign key() Llave foránea de la
tabla Modelo.
IDNombre Entero 7 No Foreign LLave foránea de la
Key(NombreProducto) tabla Nombre
Producto
Nombre Producto
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria del
Nombre del Producto.
Nombre Alfabetico 50 No No Nombre del Producto.
Categoría
Atributo Tipo Tamaño Nulo Llave Descripción
Codigo Entero 7 No Primary Key Llave primaria de Categoria
Nombre Alfabético 50 No No Nombre de la Categoria
DetalleProducto
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria de Detalle
Estado Alfabético 50 Si No Estado físico del producto
IDProducto Entero 7 No Foreign Key Llave foránea de Producto
(Producto)
IDMarca Entero 7 No Foreign Key LLave foránea de Marca
(Marca)
Marca
Atributo Tipo Tamaño Nulo Llave Descripción
52
ID Entero 7 No Primary Key Llave primaria del
Cliente.
Nombre Alfabetico 50 No No Nombre de la marca.
TipoProducto
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria de Tipo de
Producto
Nombre Alfabético 50 No No Nombre del tipo producto
IDSegmento Entero 7 No Foreign Key Llave foránea de Segmento
(Segmento)
Modelo
Atributo Tipo Tamaño Nulo Llave Descripción
IDMarca Entero 7 No Primary Key, Llave primaria y foránea de
Foreign key Marca.
(Marca)
ID Entero 7 No Primary Key Llave primaria y foránea de
Modelo.
Descripción Alfabético 50 No No Descripción del modelo del
producto.
Modelo Año
Atributo Tipo Tamaño Nulo Llave Descripción
IDMarca Entero 7 No Primary Key, Llave primaria y foránea de
Foreign key Marca.
(Marca)
IDModelo Entero 7 No Primary Key, Llave primaria y foránea de
Foreign key Modelo.
(Modelo)
Año Entero 7 No No Año de Creacion del
Modelo.
Stock
Atributo Tipo Tamaño Nulo Llave Descripción
Codigo Entero 7 No Primary Key Llave primaria de Stock.
Cantidad Alfabético 50 No No Cantidad de productos en
stock.
IDProducto Entero 1 No Foreign Key Llave foránea de Producto.
(Producto)
53
CodEstante Entero 7 No Foreign key Llave foránea de Estante.
(Estante)
Almacén
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria de Almacén
Nombre Alfabético 50 No No Nombre del almacén
IDSucursal Entero 7 No Foreign Key Llave foránea de Sucursal
(Sucursal)
Estante
Atributo Tipo Tamaño Nulo Llave Descripción
Código Entero 7 No Primary Key Llave primaria de estante
Capacidad Entero 7 No No Capacidad del estante
IDAlmacen Entero 7 No Foreign Llave foránea del almacén
Key(Almacen)
NotaTraspaso
Atributo Tipo Tamaño Nulo Llave Descripción
Numero Entero 7 No Primary Key Llave primaria de Nota de
Traspaso
Fecha Alfabético 50 No No Fecha de Traspaso
AlmacenO Entero 7 No Foreign Llave foránea de Almacen
Key(Almacen) Origen
AlmacenD Entero 7 No Foreign Llave foránea del Almacen
Key(Almacen) Destino
IDUsuario Entero 7 No Foreign key Llave foránea del Usuario
(Usuario)
DetalleTraspaso
Atributo Tipo Tamaño Nulo Llave Descripción
NumeroNT Entero 7 No Primary key, Llave primaria y foránea de la
Foreign key Nota de venta
(NotaTraspaso)
IDProducto Entero 7 No Primary Key, Llave primaria y foránea del
Foreign key producto
(Producto)
Cantidad Alfabético 50 No No Cantidad de producto del
traspaso
NotaIngreso
Atributo Tipo Tamaño Nulo Llave Descripción
54
Numero Entero 7 No Primary Key Llave primaria de
Fecha Alfabético 50 No No Fecha de ingreso
Costo Alfabético 50 Si No Costo por el pedido de
ingreso.
IDUsuario Entero 7 No Foreign key Llave foránea del usuario
(Usuario)
CodEstante Entero 7 No Foreign key Llave foránea del estante
(Estante)
IDProveedor Entero 7 No Foreign key Llave foránea del
(Proveedor) Proveedor
DetalleIngreso
Atributo Tipo Tamaño Nulo Llave Descripción
NumeroNI Entero 7 No Primary key, Llave primaria y foránea
Foreign key de Nota de Ingreso
(NotaIngreso)
IDProducto Entero 7 No Primary key, Llave primaria y foránea
Foreign key del Producto.
(Producto)
Cantidad Alfabético 50 No No Cantidad de productos
entrantes
Costo Entero 7 No No Costo unitario del
Unitario producto
Segmento
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria de Segmento
Nombre Alfabético 50 No No Nombre del segmento al
cual pertenece el producto.
UnidadMedida
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria de Unidad de
Medida
Nombre Alfabético 50 No No Nombre de la unidad de
medida.
Sucursal
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria de Sucursal
55
Ubicación Alfabético 50 No No Ubicación de la sucursal
Proveedor
Atributo Tipo Tamaño Nulo Llave Descripción
ID Entero 7 No Primary Key Llave primaria de
Sucursal
Nombre Alfabético 50 No No Nombre de la empresa
proveedora
NombreRepre Alfabético 30 No No Nombre del
representante de los
proveedores
Dirección Alfanumérico 40 No No Lugar donde se
encuentra el proveedor.
País Alfabético 30 No No País del cual viene el
proveedor.
4.2.2 Script
create database SIRodamientos;
use SIRodamientos;
56
);
57
IDSegmento int,
Foreign Key (IDSegmento) references Segmento(ID)
on update cascade
on delete cascade
);
);
58
Cantidad int,
IDProducto int,
CodigoEstante int,
foreign key (IDProducto) references Producto(ID),
foreign key (CodigoEstante) references Estante(Codigo)
on update cascade
on delete cascade
);
59
IDCliente int,
foreign key(IDUsuario) references Usuario(ID),
foreign key(IDCliente) references Cliente(CI)
on update cascade
on delete cascade
);
60
foreign key (IDMotivo) references Motivo(ID)
on update cascade
on delete cascade
);
61
Fecha date,
IDAlmacenO int,
IDAlmacenD int,
IDUsuario int,
foreign key(IDAlmacenO) references Almacen(ID),
foreign key(IDAlmacenD) references Almacen(ID),
foreign key(IDUsuario) references Usuario(ID)
on update cascade
on delete cascade
);
62
DetalleEgreso
TipoProducto NroNE
Recibo
ID
IDProducto NroRecibo
Segmento
Nombre
ID Cantidad Fecha
IDSegmento
Nombre Monto
Saldo
Cuota
Cliente NroCuota NroCuota
CI
Producto Fecha
Material NotaEgreso
ID NIT
ID NroNE Monto
IDNombre
UnidadMedida
Fecha Descuento Estado
Nombre ID
Precio
Motivo
NroNV NroNV
Nombre ID
PromPond
IDMotivo
Descripcion
IDTipo_Prod
NotaVenta
IDMarca
Nro
DetalleProducto
IDModelo
IDDetP NotaIngreso Persona Fecha
Nro Telefono CI
Estado Monto
DetalleIngreso ID
Fecha Nombre DetalleVenta
IDProducto NroNI IDUsuario
Modelo Numero NroNV
costo Direccion
IDMaterial IDMarca IDProducto IDCliente
CIPersona NroDV
IDUsuario Correo
IDModelo cantidad
Cantidad
63
CodigoEstante Tipo
Descripcion costo_unitario
IDProducto
IDProveedor
IDAño
NProducto
ID
Nombre
Proveedor
ID
Usuario
Nombre ID
Empleado
Año NombreRep Sucursal CI Codigo
Estante ID
Marca ID Tipo
Stock Pais Codigo Sueldo
ID Codigo Ubicacion
año Telefono Estado
capacidad Estado
Nombre Cantidad
IDCargo CIEmpleado
IDAlmacen
IDCategoria IDProducto
IDSucursal
CodigoEstante
Almacen
Categoria
NotaTraspaso ID
ID DetalleTraspaso Cargo
Nro
NroNT Nombre ID
Nombre
Fecha
IDProducto IDSucursal Nombre
IDAlmacenO
Cantidad
IDAlmacenD
IDUsuario
4.2.4 Actualización de tuplas
select * from Persona;
insert into Persona (CI, Nombre, Direccion, Correo) values (1, 'Tamara Jewett', '3 Westend
Crossing','tjewett0@hotmail.com' );
insert into Persona (CI, Nombre, Direccion, Correo) values (2, 'Stefania Arangy', '59762 Atwood
Terrace', 'sarangy1@tinypic.com');
insert into Persona (CI, Nombre, Direccion, Correo) values (3, 'Luisa Ghelardi', '5 Artisan Junction',
'lghelardi2@is.gd');
insert into Persona (CI, Nombre, Direccion, Correo) values (4, 'Ameline Minards', '9989 Anthes
Drive', 'aminards3@rakuten.co.jp');
insert into Persona (CI, Nombre, Direccion, Correo) values (5, 'Fionnula Lawden', '326 Declaration
Trail', 'flawden4@epa.gov');
insert into Persona (CI, Nombre, Direccion, Correo) values (6, 'Sharai Scotchbrook', '7675 Oneill
Trail', 'sscotchbrook5@vistaprint.com');
insert into Persona (CI, Nombre, Direccion, Correo) values (7, 'Karla Hew', '72 Mallory Crossing',
'khew6@time.com');
insert into Telefono (ID, Numero, CIPersona) values (1, 71391064, 40);
insert into Telefono (ID, Numero, CIPersona) values (2, 74137144, 27);
insert into Telefono (ID, Numero, CIPersona) values (3, 77136916, 40);
insert into Telefono (ID, Numero, CIPersona) values (4, 74652907, 55);
insert into Telefono (ID, Numero, CIPersona) values (5, 74582734, 34);
insert into Telefono (ID, Numero, CIPersona) values (6, 74671703, 23);
insert into Telefono (ID, Numero, CIPersona) values (7, 77443577, 57);
insert into Telefono (ID, Numero, CIPersona) values (8, 74484513, 24);
insert into Telefono (ID, Numero, CIPersona) values (9, 76795210, 8);
insert into Cliente (CI, NIT, Descuento) values (1, 632639131, 9);
insert into Cliente (CI, NIT, Descuento) values (2, 659328243, 9);
insert into Cliente (CI, NIT, Descuento) values (3, 356240909, 54);
insert into Cliente (CI, NIT, Descuento) values (4, 794142914, 20);
insert into Cliente (CI, NIT, Descuento) values (5, 323492778, 20);
insert into Sucursal (ID, Ubicacion) values (1, 'Av. Santos Dumont entre 4to y 5to anillo');
insert into Sucursal (ID, Ubicacion) values (2, 'Av. Grigotá # 505');
insert into Sucursal (ID, Ubicacion) values (3, 'Av. Cristo Redentor #3510 4to anillo');
64
select * from Empleado;
insert into Empleado (CI, Sueldo, Estado, IDCargo, IDSucursal) values (51,4000,1,1,1);
insert into Empleado (CI, Sueldo, Estado, IDCargo, IDSucursal) values (52,4000,1,1,1);
insert into Empleado (CI, Sueldo, Estado, IDCargo, IDSucursal) values (53,4500,1,1,1);
insert into Empleado (CI, Sueldo, Estado, IDCargo, IDSucursal) values (54,3500,1, 1,1);
insert into Empleado (CI, Sueldo, Estado, IDCargo, IDSucursal) values (55,3200,0, 2,1);
insert into Empleado (CI, Sueldo, Estado, IDCargo, IDSucursal) values (56,4500,1, 2,1);
insert into Empleado (CI, Sueldo, Estado, IDCargo, IDSucursal) values (57,5000,1, 2,1);
insert into Usuario (ID, Codigo, Tipo, Estado,CIEmpleado) values (1, 'KfupuuR', 'A',1, 51);
insert into Usuario (ID, Codigo, Tipo, Estado,CIEmpleado) values (2, 'dGuCxAg', 'A',1, 52);
insert into Usuario (ID, Codigo, Tipo, Estado, CIEmpleado) values (3, 'uRXlrF4bGP','A',1, 53);
insert into Usuario (ID, Codigo, Tipo, Estado, CIEmpleado) values (4, 'dEDLBJ', 'A',1, 54);
insert into Usuario (ID, Codigo, Tipo, Estado, CIEmpleado) values (5, '0dZcSe', 'V',1, 55);
insert into Usuario (ID, Codigo, Tipo, Estado, CIEmpleado) values (6, 'WMGpADIn', 'V',1, 56);
insert into Usuario (ID, Codigo, Tipo, Estado, CIEmpleado) values (7, 'SdWxV9n', 'V', 1,57);
insert into Usuario (ID, Codigo, Tipo, Estado, CIEmpleado) values (8, 'QKyrhM', 'V', 1,58);
insert into NotaVenta (Nro, Fecha, Monto, IDUsuario, IDCliente) values (101, '2013-04-11', null, 6,
1);
insert into NotaVenta (Nro, Fecha, Monto, IDUsuario, IDCliente ) values (102, '2017-08-07', null, 9,
3);
insert into NotaVenta (Nro, Fecha, Monto, IDUsuario, IDCliente ) values (103, '2017-07-13', null, 3,
26);
insert into NotaVenta (Nro, Fecha, Monto, IDUsuario, IDCliente ) values (104, '2018-07-15', null, 9,
36);
insert into NotaVenta (Nro, Fecha, Monto, IDUsuario, IDCliente ) values (105, '2017-12-19', null, 6,
40);
insert into NotaVenta (Nro, Fecha, Monto, IDUsuario, IDCliente ) values (106, '2018-06-14', null, 7,
40);
insert into NotaVenta (Nro, Fecha, Monto, IDUsuario, IDCliente ) values (107, '2018-01-12', null, 4,
27);
insert into NotaVenta (Nro, Fecha, Monto, IDUsuario, IDCliente ) values (108, '2018-06-02', null,
10, 34);
insert into NotaVenta (Nro, Fecha, Monto, IDUsuario, IDCliente ) values (109, '2018-05-13', null, 4,
9);
insert into NotaVenta (Nro, Fecha, Monto, IDUsuario, IDCliente ) values (110, '2019-04-11', null, 2,
27);
65
insert into Cuota (NroCuota, Fecha, Monto, Estado, NroNV) values (1001, '2018-08-31', null, 'C',
116);
insert into Cuota (NroCuota, Fecha, Monto, Estado, NroNV) values (1002, '2018-11-16', null, 'C',
126);
insert into Cuota (NroCuota, Fecha, Monto, Estado, NroNV) values (1003, '2018-08-08', null, 'C',
104);
insert into Cuota (NroCuota, Fecha, Monto, Estado, NroNV) values (1004, '2018-04-19', null, 'C',
119);
insert into Cuota (NroCuota, Fecha, Monto, Estado, NroNV) values (1005, '2018-12-01', null, 'C',
122);
insert into Cuota (NroCuota, Fecha, Monto, Estado, NroNV) values (1006, '2017-09-10', null, 'C',
105);
insert into NotaIngreso (Nro, Fecha, costo, IDUsuario, CodigoEstante, IDProveedor ) values (10023,
'2018-11-04', null, 5, 11,2);
insert into NotaIngreso (Nro, Fecha, costo, IDUsuario, CodigoEstante, IDProveedor ) values (10024,
'2018-10-20', null, 2, 81,2);
insert into NotaIngreso (Nro, Fecha, costo, IDUsuario, CodigoEstante, IDProveedor ) values (10025,
'2018-08-21', null, 1, 81,2);
66
insert into NotaIngreso (Nro, Fecha, costo, IDUsuario, CodigoEstante, IDProveedor ) values (10026,
'2018-05-25', null, 1, 82,1);
insert into NotaIngreso (Nro, Fecha, costo, IDUsuario, CodigoEstante, IDProveedor ) values (10027,
'2017-05-13', null, 7, 82,1);
insert into NotaIngreso (Nro, Fecha, costo, IDUsuario, CodigoEstante, IDProveedor ) values (10028,
'2019-04-03', null, 6, 85,1);
insert into NotaIngreso (Nro, Fecha, costo, IDUsuario, CodigoEstante, IDProveedor ) values (10029,
'2018-12-30', null, 11,85,4);
insert into NotaIngreso (Nro, Fecha, costo, IDUsuario, CodigoEstante, IDProveedor ) values (10030,
'2017-11-26', null, 11,89,3);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1065, 103, 205, null, 104,1008,1205,104);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1066, 103, 255, null, 104,1008,1206,102);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1067, 103, 245, null, 104,1008,1207,105);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1068, 103, 450, null, 104,1008,1208,107);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1069, 103, 150, null, 104,1008,1209,109);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1070, 103, 175, null, 104,1008,1210,110);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1071, 104, 135, null, 109,1010,1301,102);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1072, 104, 170, null, 109,1011,1302,105);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1073, 104, 190, null, 109,1010,1303,104);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1074, 104, 275, null, 109,1010,1304,103);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1075, 104, 165, null, 109,1012,1305,103);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1076, 104, 345, null, 109,1001,1306,106);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1077, 104, 150, null, 109,1010,1307,108);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1078, 104, 210, null, 109,1012,1308,107);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1079, 104, 205, null, 109,1012,1309,103);
insert into Producto (ID, IDNombre, Precio, PromPond, IDTipo_Prod, IDMarca, IDModelo,
IDUni_Med) values (1080, 104, 275, null, 109,1010,1310,105);
67
4.2.5 Consultas
/*CONSULTAS*/
select * from NotaIngreso;
select * from DetalleIngreso;
select * from Producto;
select * from TipoProducto;
select * from NProducto;
select * from Marca;
select * from Modelo;
select * from Categoria;
select Marca.Nombre
,Modelo.IDModelo,Modelo.Descripcion,Producto.ID,NProducto.Nombre,C
ategoria.Nombre
from
NotaIngreso,DetalleIngreso,Producto,TipoProducto,NProducto,Marca,M
odelo,Categoria
where NotaIngreso.Fecha>='2018-01-19'and
NotaIngreso.Fecha<='2018-06-19' and
DetalleIngreso.NroNI=NotaIngreso.Nro and
Producto.ID=DetalleIngreso.IDProducto and
TipoProducto.ID=Producto.IDTipo_Prod and
TipoProducto.Nombre='Cadenas' and
Producto.IDNombre=NProducto.ID and
Marca.ID=Modelo.IDMarca and
Modelo.IDMarca=Producto.IDMarca and
Modelo.IDModelo=Producto.IDModelo and
Marca.IDCategoria=Categoria.ID
group by Marca.ID,Modelo.IDModelo
;
68
DetalleProducto.IDMaterial=Material.ID and
Material.Nombre='Metalico' and
NotaVenta.Fecha='2013-04-11';
select Usuario.ID,Persona.Nombre,NotaVenta.Nro,
count(Cuota.NroCuota) as CantCuotasC
from NotaVenta,Cuota,Usuario,Empleado,Persona,Cargo
where NotaVenta.Nro=Cuota.NroNV and
Cuota.Estado='C'and
Usuario.ID=NotaVenta.IDUsuario and
Empleado.CI=Usuario.CIEmpleado and
Persona.CI=Empleado.CI and
cargo.ID=Empleado.IDCargo and
Cargo.Nombre='Vendedor'and
Empleado.Estado=1 and
69
Usuario.Estado=1
group by NotaVenta.Nro
order by NotaVenta.Nro;
70
order by sumcant desc
limit 1;
select Producto.ID,Nombre
from producto,maxproduct,NProducto
where IDproducto=Producto.ID
and IDNombre=NProducto.ID;
select Producto.ID,NProducto.nombre
from producto,detalleegreso,NotaEgreso,Motivo,NProducto
where producto.IDnombre=NProducto.ID and
producto.ID=detalleegreso.Idproducto and
NotaEgreso.NroNE=detalleegreso.NroNe and
motivo.ID=NotaEgreso.IDmotivo and
Motivo.descripcion !='venta';
select Persona.CI,Persona.Nombre
from persona
where persona.CI in (select CIEmpleado
from Usuario
where ID in (select IDUsuario
from Nroventas
where conteo in (select MAX(Conteo)
from NroVentas
)
)
)
71
and persona.ci=empleado.ci
order by sucursal.id
72
/*20. mostrar cuantos productos en cada categoria*/
select categoria.nombre, count(nproducto.nombre) as cantProductos
from nproducto, producto, marca, modelo, categoria
where nproducto.id=producto.idnombre and
categoria.id=marca.idcategoria and marca.id=modelo.idmarca
and modelo.idmodelo=producto.idmodelo
group by categoria.nombre
order by categoria.nombre
73
and NotaVenta.Nro = DetalleVenta.NroNV and
DetalleVenta.IDProducto = Producto.ID
and Producto.IDNombre = NProducto.ID and NProducto.Nombre =
'Rigidos en Bolas'
Group by Persona.Nombre
order by COUNT(*) desc
select *
from cantProductos;
74
order by TipoProducto.Nombre, NProducto.Nombre, Categoria.Nombre,
Marca.Nombre, Modelo.Descripcion
DELIMITER $$
CREATE PROCEDURE Reg_User(ci_empleado int,contrasena
varchar(30),tipoU char )
BEGIN
DELIMITER $$
CREATE PROCEDURE Mod_User(id int ,ci_empleado int, contrasena
varchar(30),tipoU char)
BEGIN
update Usuario set CIEmpleado=ci_empleado where Id=id;
update Usuario set Codigo=contrasena where ID=id;
update usuario set Tipo=TipoU where ID=id;
END$$
75
/PA "Eliminar Usuario"/
DELIMITER $$
CREATE PROCEDURE del_user(id int)
BEGIN
update Usuario set Estado=false where ID=id;
END$$
Delimiter ;
76
for each row
begin
declare id_empleado int;
set ci_empleado=(select ci from inserted);
update usuario
set estado=false
where CIEmpleado=ci_empleado;
end$$
delimiter ;
set @monto=@cantidad*@precio;
set @porcentaje=(@monto*@descuento)/100;
set @monto=@monto-@porcentaje;
77
set @id_suc=(select IDSuc from Empleado where
CI=@CI_empleado);
set @id_almacen=(select IDAlmacen from Almacen where
IDSucursal=@id_suc);
set @id_stock=(select IDStock from Stock where
IDAlmacen=@id_almacen);
set @id_prod=(select IDproducto from inserted);
set @cant=(select Cantidad from inserted);
END$$
DELIMITER ;
78
6.2 Gestionar almacenes
79
6.4 Gestionar detalle de producto
80
6.6 Gestionar pedido
81
6.8 Registrar de pago
82
6.10 Registro de producción
83
CU3. Gestionar Personal
CU4. Gestionar Nota de venta
CU5. Gestionar Nota de egreso
CU6. Gestionar Nota de ingreso
CU7. Gestionar Nota de traspaso
CU8. Gestionar Plan de Pago
CU9. Registrar Cuota
CU10. Registrar Recibo
CU11 Gestionar Sucursal
CU12. Gestionar Almacén
CU13. Verificar Almacén
CU14. Gestionar Estante
CU15. Gestionar Stock
CU16. Gestionar Producto
CU17. Verificar Producto
CU18. Gestionar Detalle del Producto
CU19. Gestionar Tipo de Producto
CU20. Gestionar Marca de Producto
CU21. Gestionar Modelo de Producto
CU22. Gestionar Categorias
CU23. Registrar Proveedores
CU24. Generar Backup
CU25. Actualizar Bitácora
CU26. Gestionar Usuario
CU27. Gestionar Privilegios
CU28. Cerrar sesión
84
Incorporado: Se usa cuando el Caso de Uso está entre los próximos en
tomarse en cuenta.
Propuesto: El caso de uso no se considera inicialmente.
Prioridad:
Normal: El Caso de Uso se realiza inicialmente.
Critica: Cuando el Caso de Uso requiere de más información que le será
proporcionada de otro caso de uso.
Significativo: De acuerdo a las necesidades ver información con las
vistas Posibles.
Riesgo:
Normal: Se usa en los Casos de Uso Básicos de registro de Datos.
Crítico: Cuando el caso de uso necesita de mucha información para
realizarse.
Accesoria: Cuando el caso de uso es Base para otros.
Actores Casos de Uso
Cliente CU 4, 10, 15
Administrador CU 1, 2, 3, 6, 11,16, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28
Vendedor CU 1, 4, 5, 7, 8, 9, 10, 15, 17, 22, 28
Almacenero CU 1, 5, 6, 7, 10, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 28
85
CU7. Gestionar Nota de Aprobado Critico Critico Almacenero
traspaso Vendedor
CU8. Gestionar Plan de Incluido Incluido Normal Vendedor
Pago
CU9. Registrar Cuota Aprobado Normal Normal Vendedor
CU10. Registrar Recibo Incluido Normal Normal Vendedor
CU11 Gestionar Sucursal Aprobado Normal Normal Administrador
CU12. Gestionar Aprobado Normal Normal Almacenero
Almacén
CU13. Verificar Almacén Incluido Significativo Accesorio Almacenero
CU14. Gestionar Estante Aprobado Critico Critico Almacenero
CU15. Gestionar Stock Aprobado Critico Critico Almacenero
CU16. Gestionar Aprobado Normal Normal Almacenero
Producto
CU17. Verificar Producto Incluido Significativo Accesorio Vendedor
Almacenero
CU18. Gestionar Detalle Incluido Normal Normal Almacenero
del Producto
CU19. Gestionar Tipo de Incluido Normal Normal Almacenero
Producto
CU20. Gestionar Marca Incluido Normal Normal Almacenero
de Producto
CU21. Gestionar Modelo Incluido Normal Normal Almacenero
de Producto
CU22. Gestionar Incluido Normal Normal Almacenero
Categorias
CU23. Registrar Aprobado Normal Normal Administrador
Proveedores
CU24. Generar Backup Incluido Normal Normal Administrador
CU25. Actualizar Incluido Normal Normal Administrador
Bitácora
CU26. Gestionar Usuario Aprobado Normal Normal Administrador
CU27. Gestionar Incluido Normal Normal Administrador
Privilegios
CU28. Cerrar sesión Aprobado Normal Normal Administrador
Vendedor
Almacenero
86
7.3 Detallar un Caso de Uso
7.3.1 Diseñar y Detallar Diagramas de Caso de Uso
CU1. Iniciar Sesión
87
Nombre de caso de uso Gestionar Cliente
Propósito Su propósito es registrar los datos del cliente.
Actores Usuario(Administrador, Vendedor)
Actor iniciador Usuario
Pre condición CU1. Iniciar Sesion
1.Registrar
1.1 Registrar datos del cliente
2.Modificar
Flujo principal 2.1 Ingresar modificaciones de los datos de los
clientes.
3.Eliminar
3.1 Anulacion de un cliente.
Post condición Ninguno
1.1 Si el cliente ya existe
Excepción
2.1 Ingresa algún dato incorrecto.
CU3. Gestionar Personal
88
2.2 No haber completado los campos necesarios
para almacenar los nuevos datos.
89
CU5. Gestionar Nota de egreso
90
CU6. Gestionar Nota de ingreso
91
CU7. Gestionar Nota de traspaso
92
CU8. Gestionar Plan de Pago
93
CU9. Registrar Cuota
94
Nombre de caso de uso Registrar Recibo
Su propósito es permitir que el vendedor luego de
Propósito registrar una cuota, entregue un comprobante de la
misma hacia el cliente.
Actores Vendedor, Cliente
Actor iniciador Vendedor
Pre condición CU9. Registrar Cuota.
1.1 Registrar los datos del cliente
Flujo principal
1.2 Registrar el pago de la cuota
Post condición Ninguno.
Excepción Ninguno.
95
CU12. Gestionar Almacén
96
CU13. Verificar Almacén
97
2.Seleccionar y adulterar los datos
del estante
3.Eliminar Estante
3.1 Seleccionar y cambiar el estado
a “No Disponible” de dicho estante
Post Condición Ninguno
Excepción 1.2 Cantidad de datos de stock invalida
98
CU16. Gestionar Producto
99
CU17. Verificar Producto
100
2.1 Seleccionar y adulterar detalle
de producto
3. Eliminar detalle de producto
3.1 Seleccionar y Cambiar estado
de “Desactualizado”
Post Condición Ninguna
Excepción Ninguno
101
CU20. Gestionar Marca de Producto
102
Actor Iniciador Almacenero
Pre-Condición Ninguna
Proceso o Flujo de 1.1.1. Registrar
proceso 1.2. Se ingresan los datos del modelo de producto
1.3. Si la marca del producto no se encuentra
registrada se procede al registro al registro de
la misma
2. Modificar
2.1. Seleccione el producto que se modificara
2.2. Edite los campos deseados
3. Eliminar
3.1. Seleccione el producto que eliminara
3.2. Se realiza la eliminación lógica del producto
103
Post condición Ninguna
1.2 Ya existe otra categoría con el mismo nombre
Excepción 2.1 No tener registrada ninguna categoría
104
1. Backup automático
1.1 El sistema realiza backups de la información de
forma automática cada cierto tiempo.
Flujo Flujo Principal 2 Backup manual
2.1 Dar clic en el botón Realizar copia de seguridad o
backup
Post condición Ninguna
Excepción Ninguna
105
Nombre de caso de uso CU26 Gestionar Usuario
Mantener un control y un registro de los personas
Propósito
que acceden al sistema.
Actores Administrador
Actor iniciador Administrador
Pre-Condición CU27. Gestionar Privilegios
1. Registrar
1.1. Seleccionar añadir usuario
1.2. Se ingresan los datos del usuario
1.3. Se debe asignar los privilegios al usuario
para restringir el acceso a las distintas
partes del sistema
Flujo principal 2. Modificar
2.1. Seleccione el usuario que se modificara
2.2. Edite los campos deseados
3. Eliminar
3.1. Seleccione el usuario que eliminara
3.2. Se realiza la eliminación lógica del
usuario
Post condición Ninguno
1.2 Nombres de Usuarios que ya existen
Excepción
registrados.
106
2.1. Seleccione el privilegio
2.2. Edite los permisos del privilegio
2.3. Edite los usuarios que pertenecen al
privilegio
3. Eliminar
3.1. Seleccione el privelegio que eliminara
3.2. Se realiza la eliminación del privilegio
Post Condición Ninguna
Excepción Ninguna
107
Nombre de caso de uso CU29 Gestionar Pedido
Propósito Permite la organización del pedido de compra
Actores Administrador
Actor iniciador Administrador
Pre condición Ninguna
1. Registrar
1.1. Seleccione Nuevo Pedido
1.2. Añada los detalles del pedido
1.3. Se realiza una sugerencia de pedido si
el stock de un producto es menor a
cierta cantidad determinada
Flujo Principal 2. Modificar
2.1. Seleccione el pedido
2.2. Edite los detalles del pedido
3. Eliminar
3.1. Seleccione el pedido que se eliminara
logicamente
3.2. Se realiza la anulación del pedido
Post condición CU15. Gestionar Stock
Excepción Ninguna
108
CU2 Gestionar Cliente
109
CU4 Gestionar Nota de Venta
110
CU5 Gestionar Nota de Egreso
111
CU11 Gestionar Sucursal
112
CU13 Verificar Almacen
114
CU22 Gestionar Categorias
115
8.Anexos
8.1 Entrevistas
Entrevista N° 1
Objetivo: Recolectar Información general de la empresa
Fecha y Hora: 23 de marzo de 2019 a horas 09:00
Lugar: Empresa “Finilager”
Duración: 35 minutos
Datos de la Empresa
Nombre: “Finilager”
(X) Privada ( ) Estatal
116
3. Tomando en cuenta que, los precios de la mercadería son de costo
elevado, ¿se recupera el capital invertido y se obtienen buenas
ganancias?
Finilager busca, vive y comercializa por la calidad. La empresa vende
productos originales, mercadería japonesa, y si no es japonesa es de acá de
Sudamérica, pero es mercadería buena y con garantía.
La comparación de los precios al momento de comprar en una tienda es: el
mismo rodamiento lo consigues en 10 bs y Finilager te lo vende a 15 bs, pero
de igual manera, los clientes lo compran más que todo por la garantía que se
les ofrece la misma empresa, cosa que no ofrece la competencia a precios
accesibles.
117
7. ¿Cuál es el destino de esos productos sin movimiento? ¿Son
devueltos al proveedor?
No se puede devolver, cuando es mercadería vieja no se puede hacer eso,
se hace una liquidación, promociones, o al final hay por ejemplo mercadería
que solo se vende en el norte integrado por Warnes, por Montero, entonces
eso difícilmente se ve en otras partes por ello las promociones lo orientan por
allá y les dicen que, si cuesta a 10, se lo dan a 5, todo el hecho por no tener
mercadería estancada, tener mercadería sin movimiento es mucha perdida.
118
11. ¿Cuál es la variedad de proveedores con los que trabaja la empresa?
Extranjeros y Nacionales, especialmente japoneses.
119
Historia de Finilager
Fuente: https://view.genial.ly/5bf5bd9ae5ada839524acd4d/finilager-historia
120
121
Universidad Autónoma Gabriel René Moreno
Facultad de Ingeniería en Ciencias de la Computación y
Telecomunicaciones
Grupo #7