You are on page 1of 128

Universidad Autónoma Gabriel René Moreno

Facultad de Ingeniería en Ciencias de la Computación y


Telecomunicaciones

Sistema de Información para gestionar


las ventas, compras e inventarios de la
empresa de rodamientos FINILAGER
Grupo # 7

 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)

Santa Cruz, 18 de abril del 2019


Contenido
Capítulo 1: Perfil del Proyecto..................................................................................................... 1
1.1 Introducción .................................................................................................................... 1
1.2 Antecedentes .................................................................................................................. 2
1.2.1 Misión .......................................................................................................................... 3
1.2.2 Visión ........................................................................................................................... 3
1.2.3 Ubicación ..................................................................................................................... 3
1.2.4 Política de Calidad ....................................................................................................... 4
1.3 Estructura Organizacional ............................................................................................... 4
1.4 Justificación ..................................................................................................................... 5
1.5 Descripción del Problema ............................................................................................... 5
1.6 Formulación del problema .............................................................................................. 9
1.7 Objetivos ....................................................................................................................... 10
1.7.1 Objetivos Generales .................................................................................................. 10
1.7.2 Objetivos Específicos ................................................................................................. 10
1.8 Alcance .......................................................................................................................... 10
1.8.1 Modulo Venta................................................................................................................... 10
 Gestionar Cliente ............................................................................................................... 11
 Gestión de compra inmediata ........................................................................................... 11
 Registrar plan de pagos ..................................................................................................... 11
 Registrar Cuotas ................................................................................................................ 11
 Registrar documento de Venta ......................................................................................... 12
 Gestionar detalles del Producto ........................................................................................ 12
 Registrar producción ......................................................................................................... 12
1.8.2 Modulo de Inventario....................................................................................................... 12
 Gestionar almacenes ......................................................................................................... 12
 Gestionar Categorías ......................................................................................................... 12
 Gestionar Productos.......................................................................................................... 12
 Gestionar Entradas ............................................................................................................ 13
 Gestionar Salidas ............................................................................................................... 13
 Gestionar Traspasos .......................................................................................................... 13
 Gestionar Existencias ........................................................................................................ 13
 Gestionar Kardex ............................................................................................................... 13

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.

Tiempo después debido a la estrategia proactiva y su gran desempeño en el


rubro automotor, se consolido como un agente importante dentro de la
economía del país, con 10 sucursales a lo largo del territorio nacional,
cubriendo las demandas de los segmentos automotriz, agrícola e industrial.

La distinguida clientela puede realizar el proceso de compra mediante las


vías presencial, y la modalidad web mediante previo registro presencial.

Finilager nació en Santa Cruz de la Sierra el 5 de noviembre de 1973.


Comenzó sus actividades como una empresa comercializadora de
rodamientos y accesorios y actualmente mantiene su liderazgo como
proveedor experto de reconocidas marcas en rodamientos, lubricantes,
acoples, correas, cadenas y otros para el segmento industrial, agrícola y
automotriz.

Con este proyecto, se pretende desarrollar un sistema de información para


cambiar el sistema actual de compras de productos a los proveedores,
automatizar el control de inventarios y realizar las ventas de los productos,
manteniendo un orden de acuerdo al tipo de producto que se ofrece y la
variedad de marcas con las que trabaja la empresa, dándoles un sistema
informático capaz de facilitar éstas tareas y solucionar distintos problemas
relacionados con la forma en la que se manejan actualmente.
1.2 Antecedentes

Finilager nació a principios de la década de los setenta y se caracterizó


siempre por tener un espíritu emprendedor y visionario, prueba de ello fue
iniciar las actividades comerciales poniendo de ciudad central a Santa Cruz
de la Sierra que para ese entonces no era la principal ciudad de Bolivia pero
que empezaba a dar pautas de un desarrollo vertiginoso y sostenible.

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.

Finilager es ante todo una empresa de personas, directivos, empleados,


técnicos profesionales de la ingeniería; que han hecho suyos los conceptos
de la misión corporativa inspirada por su fundador Don Jorge Nuñez del
Prado, cuyo legado de excelencia se ha mantenido intacto hasta hoy.

Es una empresa que ha desarrollado una estrategia proactiva, como lo


demuestra su presencia en el rubro automotor donde cuenta con repuestos
que garantizan al mercado automovilístico y al transporte pesado, al contar
con una provisión de piezas para todas las marcas que circulan y se
comercializan en el país; sin importar la marca del vehículo, el modelo o el
año de fabricación.

Otro segmento de gran importancia lo constituye la agroindustria, donde


Finilager provee a las empresas de rodamientos, retenes, correas, cadenas
y grasas sintéticas para todo tipo de maquinarias; además de la introducción

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.

También destaca en el área industrial, ya que las empresas han reconocido


tener en Finilager un gran aliado, gracias al stock de rodamientos,
chumaceras, poleas, correas, cadenas, piñones y bujes entre otros, además
de un soporte de detección de fallas que permite verificar in situ el
desempeño de las partes vitales de las maquinarias. Finilager pone también
a disposición de sus clientes cursos de capacitación del personal de planta a
cargo de ingenieros altamente calificados y constantemente actualizados en
la vanguardia de la producción industrial, lo cual es fundamental tanto para
las grandes como las medianas y pequeñas empresas.

Con su vasta trayectoria, Finilager se encuentra en un franco estado de


transformación organizacional, una transformación que desafía a potenciar
todos los recursos con que cuenta la empresa para seguir manteniendo el
liderazgo y el prestigio alcanzado durante todos sus años de servicios.

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.

1.3 Estructura Organizacional


La empresa Finilager está estructurada en forma funcional. En la cima de la
estructura organizacional se encuentra el Directorio, el cual está constituido
por Accionistas e Inversionistas. Su función general es tomar decisiones y
velar por el progreso e intereses de la empresa; a su vez el mismo está
representado por un Gerente General, Ing. Michel Ferreira, cuya función
principal es delegar las decisiones tomadas por el directorio; a los jefes de
los distintos departamentos que componen la empresa.

Los principales departamentos son tres; el Departamento de Ventas, el


Departamento de Contabilidad y el Departamento de Inventarios.
 Departamento de Ventas: Se encarga de la comercialización de los
productos requeridos de los clientes, parte de sus funciones es
planear, ejecutar y controlar las actividades de su rubro. El jefe del
Departamento es el Sr.
 Departamento de Contabilidad: Su función principal es operar en
base a las normas y procedimientos necesarios para garantizar la
exactitud en la captación y registro de las operaciones financieras. El
jefe del Departamento es el Sr.
 Departamento de Inventario: Se encarga de garantizar el abasto
suficiente de los artículos y productos recurrentes, así como el
adecuado manejo y custodia de las existencias de productos en los
diferentes almacenes. El jefe del Departamento es el Sr.

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.

1.5 Descripción del Problema


Un sistema de información es desarrollado para ayudar a una empresa a
mejorar, organizarse y sobresalir en diferentes aspectos. Para comenzar a
desarrollar un sistema de información debe existir una razón o problemática
que ayude a entender mejor el fin al que se quiere llegar.
La empresa Finilager fue creada por Jorge Núñez del Prado, actualmente
está consolidada a nivel nacional con más de diez sucursales distribuidas por
todo el país, teniendo como sede la ciudad de Santa Cruz. Cuenta con más
de 260 integrantes y en aumento, cada uno desempeñando sus diferentes
roles dentro de la empresa, como, por ejemplo: vendedores, cajeros, técnicos
de soporte, entre otros.

La empresa Finilager requiere una optimización al proceso de interacción del


usuario con la información de los productos ofertados y la simplificación del

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.

A continuación, detallamos los procesos en los cuales se generan las


dificultades:

- 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.

El llevar a cabo estos procesos de selección de una manera


correcta va a ser lo que determine que los candidatos se ajusten o
no a la oferta para la que se han inscrito. Es una de las partes
fundamentales de las empresas, la correcta gestión de los
procesos de reclutamiento de personal.

La empresa se caracteriza por dar oportunidades de trabajo a


profesionales junior, el mayor inconveniente de esta política es que
muchas veces estos profesionales son muy inestables
laboralmente y tienden a cambiar de trabajo con facilidad, lo que
resulta en lo conocido coloquialmente como “fuga de
conocimiento”. Esto genera la perdida de capital y tiempo invertido
en capacitaciones y certificaciones.

- Proceso de Inventario: En el área de inventario se encuentran los


productos para comercializarse. Todo comienza al realizar pedidos de
productos que no se encuentran en stock a las distintas empresas
proveedoras (en su mayoría japonesas) como ser: Koyo, NSK
Rodamientos, SKF, entre otros.

Luego se procede a la descarga de los productos en el centro de


distribución, ubicado en el Parque Industrial, posteriormente se realiza a
la distribución de acuerdo a los requerimientos de cada sucursal; una vez
los productos están en destino, se procede a la clasificación y registro de
los productos en los diferentes estantes del almacén.

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.

El problema que se genera con mayor frecuencia es la confusión de la


información al momento de realizar la reposición de los productos que
viajan desde el centro de distribución a cada sucursal.

- Proceso de Venta: Dentro de este proceso en la empresa existen dos


variantes:

 Ventas Personales: Es realizada cuando el cliente acude a una


sucursal con un requerimiento de compra, si dicho requerimiento se
encuentra en inventario se procede a la venta del mismo, de no ser
así existen dos casos; si el cliente es frecuente y está de acuerdo se
realizan las gestiones para priorizar el requerimiento, en el menor
tiempo posible, de no ser así se da una fecha estimada donde el
producto se encontrará disponible en inventario.
 Ventas a Pedidos: Al igual que en el punto anterior las ventas a
pedidos, se rigen bajo el mismo criterio de cliente frecuente; sin
embargo, si el cliente no es frecuente tendrá que pagar por adelantado
un porcentaje (usualmente el 50% del costo total) del requerimiento.

La empresa tiene una política flexible respecto a anulaciones y


devoluciones de ventas.

Con lo que concierne a anulaciones, se pueden realizar hasta el final del


mes en el que se realizó la venta, el cliente debe devolver la factura que
se le entregó y esta es declarada como anulada; y no se devuelve el
dinero como tal, sino que se le apertura al cliente una cuenta corriente, en
la que se le acredita el monto de la venta anulada.

Con respecto a las devoluciones, las cuales pueden ser totales o


parciales, el cliente puede o no presentar la factura de dicha venta, se
realiza una nota de crédito en la que se respalda la devolución de la
mercadería al inventario y si no existiese el cambio de mercadería por otra
nueva, se acredita a cuenta corriente el saldo de la devolució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.

- Proceso de Servicios: Una vez realizada la compra, la empresa ofrece


los servicios de Instalación y Mantenimiento de los repuestos vendidos
con costo extra.

 Servicio de Instalación: Si el cliente lo desea se le asignara personal


capacitado y certificado para la correcta instalación, manipulación y
ejecución del trabajo.

 Servicio de Mantenimiento: Durante la duración de la garantía el


cliente tiene el derecho de solicitar servicio técnico del personal
capacitado y certificado de la empresa.
 Mantenimiento proactivo
Una estrategia de Mantenimiento Proactivo tiene por objetivo
identificar y eliminar las causas raíz de falla de la maquinaria,
logrando un incremento de su vida útil y, por ende, una
capacidad de producción extendida con una confiabilidad de
hasta un 3% en el primer año, sobre las estrategias ya
existentes.
 Mantenimiento predictivo
El enfoque del Mantenimiento Predictivo se basa de la
detección temprana de los síntomas de falla de un equipo.
Invertir en esta estrategia garantiza la confiabilidad de procesos
y máquinas hasta un 7% en el primer año, con un costo de
mantenimiento menor al 50% del que se tendría con una
estrategia preventiva y/o correctiva.

 Servicio de Capacitación: Las empresas pueden solicitar que


disertantes conocedores de los diferentes temas propuestos capaciten
a su personal con objetivos fijos.

 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:

 Planificación de las compras: Consiste en realizar un análisis de


las carencias que necesitan ser cubiertas en las diferentes
sucursales de la empresa, en este caso se debe tener en cuenta
cuales son los proveedores adecuados que pueden cubrir dicha
carencia para poder realizarse la compra y en cuanto tiempo es
necesario que la mercancía sea traída, evaluando relativamente el
precio y la calidad que poseerá la misma.

 Desarrollo de las especificaciones: Son aquellas características


establecidas por el comprador (ya sea la propia sucursal de la
empresa que solicita la reposición o el cliente en sí) de la
mercancía, es uno de los detalles que todo proveedor debe tomar
en cuenta, para evaluar que su producto cubre la necesidad del
cliente. Generalmente muchos proveedores piden a detalle las
especificaciones que quiere que cumpla el producto para mantener
al cliente satisfechos con lo adquirido.

La investigación y selección de proveedores: Consiste en una búsqueda


exhaustiva de los suministradores de mercancía, para comenzar con una
investigación seria, se debe empezar preguntado a conocidos, amigos,
revistas o internet, de las empresas más importantes. Tener presentes
como criterios la calidad, los precios y los plazos de solicitud y entrega del
producto. Al finalizar la búsqueda, se emplea un análisis de las referencias
que posee el proveedor, así como una visita a las instalaciones
estableciendo una idea clara de si la empresa es fiable o no.

1.6 Formulación del problema


Debido a que, hasta el momento la empresa Finilager sigue presentando
ocasionalmente falencias al momento de la redistribución de sus productos
de almacén, se vio la necesidad de implementar un sistema de información
que permitiera gestionar las compras de productos para su respectiva venta,
y realizar el control del inventario de los mismos en sus centros de
almacenamiento.

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.7.2 Objetivos Específicos


A continuación, algunos objetivos específicos para el desarrollo del
proyecto:
 Analizar la información que se ha recolectado en las entrevistas y
grabaciones para determinar los elementos y funciones de nuestro
sistema.
 Recolectar información acerca de la empresa, utilizando técnicas
como la redacción de un cuestionario y grabación de audio para así
poder comenzar el desarrollo del sistema.
 Realizar prototipos del proyecto parciales para asegurar que la idea
planteada haya sido comprendida por los desarrolladores y aceptada
por los mandatarios.
 Implementar un sistema de información eficiente y de fácil
manipulación para el usuario.
 Implementar la base de datos que será realizada con el SGBD
MySQL.

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:

1.8.1 Modulo Venta

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:

Persona. – Es necesario almacenar y modificar a los clientes que solicitan


los servicios de la empresa. También es indispensable para no registrar
el cliente más de una vez y crear redundancia. Solo es necesario la
información básica y las vías de comunicación; teléfono, correo, entre
otros datos.

Empresa. – Se necesita almacenar información de las empresas que son


clientes, como también de las empresas asociadas en la producción y
para ello es necesario registrar sus datos en el sistema para agilizar
posteriores contrataciones, modificar sus datos en caso de que se deba
realizar una actualización de los mismos.

 Gestión de compra inmediata. - Se realiza el registro de los detalles


de los pedidos solicitados por los diferentes clientes, adjuntando la
información de la fecha de compra, cantidad y detalle del producto
comprado.
 Gestionar pedido. – Es primordial registrar los detalles de los
pedidos solicitados por los diferentes clientes, como ser, la fecha en
que se acordó la entrega de la totalidad de los productos del pedido.

 Registrar plan de pagos. - Se almacena los datos del Plan de Pagos


acordado con el cliente sobre el costo total de los productos solicitados
(pedido), considerando que puede presentarse un descuento en caso
de retraso en la entrega del producto.
Las maneras de pago comúnmente son:

Tarjeta, depósito de Banco y/o efectivo.

 Registrar Cuotas. – Dado que como mínimo se realizan dos pagos


para cancelar el total del costo del pedido, se registran los datos de
cada cuota cancelada por el cliente.

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).

1.8.2 Modulo de Inventario


El módulo de inventarios se encuentra íntimamente ligado al proceso de
compras, ya que a partir de éste se aseguran que las entradas de almacén
cuenten con la autorización debida.

 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.

2.1.3 Medios de Comunicación

Materiales para instalar una red LAN:

 Conectores RJ45:
Uno de los conectores principales utilizados con tarjetas de red
Ethernet transmite información a través de cables par trenzado.

 Cable (UTP) Categoría 5:


Tipo de cableado más solicitado. Es un estándar dentro de las
comunicaciones de redes LAN.

 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.2.3 Otro software adicional


 Microsoft Office Word

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.

Proceso de Gestionar Compras


Se trata de reconocer si existe alguna necesidad, la decisión de compra
empieza en el momento que el responsable se da cuenta que existe una
necesidad de adquirir o bien un producto o un servicio para que la actividad
empresarial siga su curso con total normalidad.
Este proceso se encarga de registrar la compra de los productos y/o
servicios.

Proceso de Gestionar Pedido


Este proceso se encarga de registrar el cliente que solicita el pedido, si el
pedido es al detalle, la fecha de solicitud del pedido, la fecha requerida por el
cliente además de una anulación si se da algún caso extraordinario y el
número de pedido respectivamente.
Proceso de Gestionar Venta
Se encarga de acumular los productos que el cliente requiere en el momento,
viendo la disponibilidad de estos en la sucursal, dando además el poder elegir
entre pagar al contado o por cuotas dichos objetos, también de si la compra
es mayor a un cierto monto de efectivo se les hace su respectivo descuento
y dado el monto total de toda la venta.
Proceso de Gestionar Documento de Venta
En este apartado, se le creara la Factura y la Nota de Venta a partir del
cumplimiento de todos los pagos establecidos en la Venta, ya siendo el pago
al contado o por cuotas.
Proceso de Gestionar Detalle de Producto
Es la parte donde se hará la descripción completa del producto al igual que
el nombre, la marca, el modelo, y su precio, su disponibilidad y el stock.

 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

2.7 Tecnología para el desarrollo del software

2.8 Estrategia para el desarrollo del software


El Procedo de Unificado de Desarrollo de Software(PUDS) es un proceso de
desarrollo de software configurable que se adapta a través de los proyectos variados
en tamaños y complejidad.
Se utilizará el PUDS, el cual es el conjunto de actividades necesarias para
transformar los requisitos de un usuario en un sistema de software, el proceso
unificado es más que un simple proceso, es un marco de trabajo genérico que puede
utilizarse para una gran variedad de sistemas software, para diferentes áreas de
aplicación, diferentes tipos de organizaciones. Diferentes niveles de aptitud y
diferentes tamaños de proyectos.

2.9 Metodología para el desarrollo del software


2.9.1 Características del PUDS
Sus características principales son:
 Dirigida por casos de uso que sirven para representar
conceptualmente un requisito funcional que se desea implementar en
el sistema.
 Crean diseños utilizando arquitectura seleccionada.
 Es iterativa e incremental.
 La implementación del diseño mediante componentes.
 Verificación de estos componentes

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:

Análisis – Diseño – Implementación – Pruebas

A partir de los casos de uso se llega a código ejecutable.

 En cada iteración los desarrolladores identifican y especifican los


casos de uso relevantes, crean un diseño utilizando la arquitectura
seleccionada como guía, implementan el diseño mediante
componentes, y verifican que los componentes satisfacen los casos
de uso.

 Si una iteración cumple con los objetivos marcados, se pasa a la


siguiente, y si no, pues es necesario revisar las decisiones previas (es
tu diseño, es tu decisión) y probar nuevos enfoques.

b. Dirigido por los casos de uso. - Se utilizan para capturar los requisitos
funcionales y para definir los contenidos de las iteraciones.

 Es fundamental conocer lo que los usuarios quieren para poder


desarrollar un sistema que se adapte a sus necesidades.

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

c. Centro en la Arquitectura. - Asume que no existe un modelo único que


cubra todos los aspectos del sistema.

 Un sistema software puede contemplarse, al igual que un edificio,


desde varios puntos de vista
 Implica tener una percepción, tanto de la estática como de la dinámica
del sistema
 Hay que tener en cuenta la plataforma sobre la que tiene que
ejecutarse el software, y la interacción que debe tener con otros
sistemas: bases de datos, servidor de aplicaciones Web, …
 Los CDU tienen que encajar en la arquitectura
 La arquitectura debe soportar el desarrollo de los cdu.
 Tanto la arquitectura como los cdu deben desarrollarse en paralelo.

d. Enfocado en los riesgos. - Requiere que el equipo del proyecto se centre


en identificar los riesgos críticos en una etapa temprana del ciclo de vida.

Fases de desarrollo basado en PUD


La aplicación del PUD a un proyecto software implica la realización de un conjunto
de ciclos que representan la vida del sistema a desarrollar. Consta de cuatro fases:

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.

2.9.2 Características de UML


Es el lenguaje de modelado de sistemas de software más conocido y utilizado
en la actualidad. Es un lenguaje gráfico para visualizar, especificar, construir
y documentar un sistema.
Se trata de un estándar que se ha adoptado a nivel internacional por
numerosos organismos y empresas para crear esquemas, diagramas y
documentación relativa a los desarrollos de software (programas
informáticos).

23
Los objetivos de UML son muchos, pero se pueden sintetizar sus funciones:

 Visualizar: UML permite expresar de una forma gráfica un sistema de


forma que otro lo puede entender.
 Especificar: UML permite especificar cuáles son las características
de un sistema antes de su construcción.

Define una serie de diagramas:

 Diagrama de Caso de Uso: muestra las relaciones entre el sujeto


(sistema) y los casos de uso.
 Diagrama de Clase: Modela la estructura estática de las clases en el
sistema.
 Diagrama de Secuencia: Representa una interacción, poniendo el
foco en la secuencia de los mensajes que se intercambian.
 Diagrama de Componentes: Modela los componentes que
componen una aplicación, sistema o empresa.
 Diagramas de colaboración: Suelen usarse para representar objetos
o clases y la forma en que se transmiten mensajes y colaboran entre
ellos para cumplir un objetivo.
 Diagramas de estados: Suelen usarse para representar cómo
evoluciona un sistema (cómo va cambiando de estado) a medida que
se producen determinados eventos.

2.10 Herramientas de Desarrollo


2.10.1 Software

 Servidor Web: Apache es un servidor web HTTP de código abierto, para


plataformas Unix (BSD, GNU/Linux, etc.). Microsoft Windows, Machintosh y
otros, que implementa el protocolo HTTP/1.11 y la noción de sitio virtual.
Apache presenta entre otras características altamente configurables, bases
de datos de autenticación y negociado de contenido.

 Motor de base de datos: MySQL, es un sistema de gestión de base de datos


relacional, multihilo y multiusuario.

 Editor de base de datos: PhpMyAdmin, es una herramienta escrita en PHP


con la intención de manejar la administración de MySQL, a través de páginas
web. Actualmente puede crear y eliminar Bases de Datos, crear, eliminar y
alterar tablas, tablas, borrar, editar y añadir campos, ejecutar cualquier
sentencia SQL. Administrar claves en campos, administrar privilegios,
exportar datos en varios formatos. Se encuentra disponible bajo la licencia
GPL.

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

2.11 Posibles Costos

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.

2.13 Posibles Clientes


Este sistema está diseñado para el rubro de servicio, así que estará abierto
para toda clase de clientes. Si se lo generaliza para la gestión de servicios
de compra, venta e inventario de Rodamientos, es capaz de abarcar una gran
cantidad de clientes.

NOMBRE DE EMPRESAS DE DIRECCIÓN TELEFÓNO


RODAMIENTOS

Rodamientos - Bearings Avenida Cristo Redentor 441 33445749


Internacional (Entre Chuchio y Elbi)

Rodamientos TiTi Av. Roque Aguilera Nro 482 63697577

M&G Rodamientos SRL Santa Septimo Anillo entre Cristo 33292279


Cruz Redentor y, Beni # 66

Ingemaq Srl Av. El Trompillo 1079 33376363

26
Capítulo 3: Método Ishikawa
3 Método Ishikawa
3.1 Lista de problemas
3.1.1 Identificar problemas

P1. No existen ventas por internet.


P2. No existe publicidad en Redes Sociales.
P3. Tiempo lento en la Búsqueda de los productos.
P4. Tiempo lento en Impresión de la Factura.
P5. Mal manejo de la Ubicación Física de los productos en el Almacén.
P6. El Tiempo de reposición de inventario es lento.
P7. Mala planificación en el manejo administrativo de las nuevas Sucursales
P8. Falta de Identificación de los Items sin movimientos o de baja demanda.
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
P11. No Existe Envíos de estados de cuenta a los clientes por deudas en
mora a través de la Web.
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.
P17. Malos cálculos en la suma de costos de ventas de productos.
P18. Pérdida de tiempo al registrar un cliente que ya existe en el sistema
P19. Mal control y registro de inventario.
P20. Mala administración en las formas de pago.
P21. Mal registro de descuentos a la hora de comprar productos.

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.

3.1.3 Propietarios de los problemas

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

3.1.4 Análisis de los problemas

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.

P18. Pérdida de tiempo al registrar un cliente que ya existe en el sistema.


Alt: Asignar una llave primaria (código) que evite el registro doble de un cliente.

P19. Mal control y registro de inventario.


Alt: Desarrollar un sistema de información con un manejo sencillo y sistemático de
todos los productos.
P20. Mala administración en las formas de pago.
Alt: Desarrollar un sistema de información que lleve y controle todas las formas de
pago.
P21. Mal registro de descuentos a la hora de comprar productos.:
Alt: Llevar un histórico de la impuntualidad para registrar el descuento para que no
haya problemas a la hora de comprar productos.

3.1.6 Estimación / Justificación


ESTIMACION
PROBLEMAS JUSTIFICACION
(cuantitativo/cualitativo)
Aunque la empresa esta Esto se debe a los enlaces
No existen ventas por económicamente bien, la de la bases de datos y los
internet. venta por internet es un medios de pago por
campo que no se aprovecha internet, son un poco
difíciles de implementar.
Tiempo lento en la Se pierde una considerable Esto se debe a la mala
Búsqueda de los cantidad de tiempo al buscar organización de los
productos. los productos, tiempo que se trabajadores en el almacén
puede emplear para otras y también al sistema que
tareas. tiene algunas fallas.
Mal manejo de la Relacionado con el punto El mal manejo se debe a la
Ubicación Física de los anterior, esto conlleva a una falta de organicidad en los
productos en el pérdida de tiempo almacenes.
Almacén. importante.

Mala planificación en el Se pierde un promedio de La mala planificación


manejo administrativo de un 5% de las ganancias puede deberse a un malas
las nuevas Sucursales. totales debido a esto. decisiones del

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.

3.1.8 Gráfica de Ishikawa

3.2 Identificar las principales categorías

3.3 Identificar las causas


33
P1: No existen ventas por internet.
P3: Tiempo lento en la Búsqueda de los productos.
P5: Mal manejo de la Ubicación Física de los productos en el Almacén.
P7: Mala planificación en el manejo administrativo de las nuevas Sucursales
P8: Falta de Identificación de los items sin movimientos o de baja demanda.
P11: No Existe Envíos de estados de cuenta a los clientes por deudas en
mora a través de la Web.
P17: Malos cálculos en la suma de costos de ventas de productos.
P18: Pérdida de tiempo al registrar un cliente que ya existe en el sistema
P19: Mal control y registro de inventario.
P20: Mala administración en las formas de pago.
P21: Mal registro de descuentos a la hora de comprar productos.

3.4 Analizar y discutir el diagrama


Ventas:
La empresa de rodamientos “FINILAGER” se propone sistematizar su información
de modo que los registros de las diversos pedidos estén registrados de forma
correcta garantizando así que el manejo de la información de dichos pedidos le
facilite y le permita llevar un buena gestión de sus ventas, al igual que mantener el

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.

Capítulo 4: Modelo de dominio

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.

 Usuario En esta clase se tiene registro de las cuentas de usuario de todo el


personal de la empresa.
 Teléfono En esta clase se registran los diferentes números de celular que
tiene cada cliente.
 Nota Venta En esta clase se tiene un registro de todas las notas de venta
realizadas para cada cliente de su respectivo conjunto de productos
solicitado.

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

 Cuenta por Cobrar


 Nro_Cuota
 Estado
 Fecha
 Monto

 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

Cuenta por Cobrar


NumeroC Fecha Monto Estado NroNV
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

4.2 Diseño físico de la base de datos


4.2.1 Tabla de volúmenes

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;

create table Persona(


CI int not null primary key,
Nombre varchar(45),
Direccion varchar(45),
Correo varchar(50),
Tipo char
);

create table Cliente(


CI int not null primary key,
NIT varchar(10),
Descuento int,
foreign key(CI) references Persona(CI)
on update cascade
on delete cascade
);

create table Sucursal(


ID int not null primary key,
Ubicacion varchar(40)
);

create table Almacen(


ID int not null primary key,
Nombre varchar(50),
IDSucursal int,
foreign key(IDSucursal) references Sucursal(ID)
on update cascade
on delete cascade

56
);

create table Estante(


Codigo int primary key not null,
capacidad int,
IDAlmacen int,
foreign key(IDAlmacen) references Almacen(ID)
on update cascade
on delete cascade
);

create table Categoria(


ID int not null primary key,
Nombre varchar(20)
);

create table Marca(


ID int primary key,
Nombre varchar(35),
IDCategoria int,
foreign key(IDCategoria) references Categoria(ID)
on update cascade
on delete cascade
);

create table Año(


ID int not null primary key,
año year
);

create table Modelo(


IDMarca int,
IDModelo int,
Descripcion varchar (50),
IDAño int,
primary key(IDMarca,IDModelo),
foreign key(IDMarca) references Marca(ID),
foreign key(IDAño) references Año(ID)
on update cascade
on delete cascade
);

create table Segmento(


ID int primary key not null,
Nombre varchar (40)
);

create table TipoProducto(


ID int primary key not null,
Nombre varchar (40),

57
IDSegmento int,
Foreign Key (IDSegmento) references Segmento(ID)
on update cascade
on delete cascade
);

create table UnidadMedida(


ID int primary key not null,
Nombre varchar(30)
);

create table NombreProducto(


ID int not null primary key,
Nombre varchar(30)
);

create table Producto(


ID int not null primary key,
IDNombre int,
Precio int,
PromPond int,
IDTipo_Prod int,
IDUni_Med int,
IDMarca int,
IDModelo int,
foreign key (IDNombre) references NombreProducto(ID),
foreign key (IDTipo_Prod) references TipoProducto(ID),
foreign key (IDUni_Med) references UnidadMedida(ID),
foreign key (IDMarca,IDModelo) references Modelo(IDMarca,IDModelo)
on update cascade
on delete cascade
);

create table Material(


ID int not null primary key,
Nombre varchar(30)
);

create table DetalleProducto(


IDDetP int not null primary key,
Estado char,
IDProducto int,
IDMaterial int,
Foreign Key(IDProducto) references Producto(ID),
Foreign Key(IDMaterial) references Material(ID)
on update cascade
on delete cascade

);

create table Stock(


Codigo int not null primary key,

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
);

create table Cargo(


ID int not null primary key,
Nombre varchar(30)
);

create table Empleado(


CI int not null primary key,
Sueldo int,
Estado boolean,
IDCargo int,
IDSucursal int,
foreign key (CI) references Persona(CI),
foreign key (IDCargo) references Cargo(ID),
foreign key (IDSucursal) references Sucursal (ID)
on update cascade
on delete cascade
);

create table Usuario(


ID int not null primary key,
Codigo varchar(30),
Tipo char,
Estado boolean,
CIEmpleado int not null,
foreign key (CIEmpleado) references Empleado(CI)
on update cascade
on delete cascade
);

create table Telefono(


ID int not null primary key,
Numero varchar(8) not null,
CIPersona int not null,
foreign key (CIPersona) references Persona(CI)
on update cascade
on delete cascade
);

create table NotaVenta(


Nro int auto_increment primary key,
Fecha date,
Monto int,
IDUsuario int,

59
IDCliente int,
foreign key(IDUsuario) references Usuario(ID),
foreign key(IDCliente) references Cliente(CI)
on update cascade
on delete cascade
);

create table DetalleVenta(


NroNV int,
NroDV int,
Cantidad int,
IDProducto int,
primary key(NroNV,NroDV),
foreign key(NroNV) references NotaVenta(Nro),
foreign key(IDProducto) references Producto(ID)
on update cascade
on delete cascade
);

create table Cuota(


NroCuota int not null primary key,
Fecha date,
Monto int,
Estado varchar(15),
NroNV int,
foreign key (NroNV) references NotaVenta(Nro)
on update cascade
on delete cascade
);

create table Recibo(


NroRecibo int auto_increment primary key,
Fecha date,
Monto int,
NroCuota int,
foreign key (NroCuota)references Cuota(NroCuota)
on update cascade
on delete cascade
);

create table Motivo(


ID int not null primary key,
Descripcion varchar(60)
);

create table NotaEgreso(


NroNE int not null primary key,
Fecha date,
NroNV int,
IDMotivo int,
foreign key (NroNV) references NotaVenta(Nro),

60
foreign key (IDMotivo) references Motivo(ID)
on update cascade
on delete cascade
);

create table DetalleEgreso(


NroNE int not null,
IDProducto int not null,
Cantidad int,
primary key(NroNE,IDProducto),
foreign key(NroNE) references NotaEgreso(NroNE),
foreign key(IDProducto) references Producto(ID)
on update cascade
on delete cascade
);

create table Proveedor(


ID int not null primary key,
Nombre varchar(30),
NombreRep varchar(50),
Pais varchar(30),
Telefono varchar (15)
);

create table NotaIngreso(


Nro int not null primary key,
Fecha date,
costo int,
IDUsuario int,
CodigoEstante int,
IDProveedor int,
foreign key(IDUsuario) references Usuario(ID),
foreign key(CodigoEstante) references Estante(Codigo),
foreign key (IDProveedor) references Proveedor(ID)
on update cascade
on delete cascade
);

create table DetalleIngreso(


NroNI int not null,
IDProducto int not null,
cantidad int,
costo_unitario int,
primary key (NroNI,IDProducto),
foreign key(NroNI) references NotaIngreso(Nro),
foreign key(IDProducto) references Producto(ID)
on update cascade
on delete cascade
);

create table NotaTraspaso(


Nro int not null primary key,

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
);

create table DetalleTraspaso(


NroNT int not null,
IDProducto int not null,
Cantidad int,
primary key(NroNT,IDProducto),
foreign key(NroNT) references NotaTraspaso(Nro),
foreign key(IDProducto) references Producto(ID)
on update cascade
on delete cascade
);

4.2.3 Diagrama Relacional

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);

select * from Cliente;

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);

select * from Cargo;

insert into Cargo(ID, Nombre) values (1, 'Administrador');


insert into Cargo(ID, Nombre) values (2, 'Vendedor');
insert into Cargo(ID, Nombre) values (3, 'Encargado de Almacen');

select * from Sucursal;

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);

select * from Usuario;

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);

select * from NotaVenta;

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);

select * from Cuota;

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);

select * from Recibo;


insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (137, '2017-06-11', null, null,
1037);
insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (138, '2018-03-12', null, null,
1038);
insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (139, '2018-11-07', null, null,
1039);
insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (140, '2018-04-25', null, null,
1040);
insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (141, '2018-06-04', null, null,
1041);
insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (142, '2017-06-25', null, null,
1042);
insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (143, '2018-05-01', null, null,
1043);
insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (144, '2017-04-26', null, null,
1044);
insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (145, '2018-01-13', null, null,
1045);
insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (146, '2019-01-23', null, null,
1046);
insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (147, '2017-07-09', null, null,
1047);
insert into Recibo (NroRecibo, Fecha, Monto, Saldo, NroCuota) values (148, '2018-05-29', null, null,
1048);

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;

/*1. Productos de Tipo Cadenas que ingresaron entre las fechas


2018-01-19 y 2018-06-19*/
/*dintinguiendo marca y modelo*/

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
;

select * from Material;


select * from NotaVenta;
select * from DetalleVenta;
select * from Producto;
select * from DetalleProducto;
/*2. Mostrar cantidad productos de material metalico*/
/* de cada nota de venta registrada la fecha 2013-04-11 */

select Producto.ID,NProducto.Nombre, count(*) as


CantidadProductosDif
from NotaVenta,
DetalleVenta,Producto,DetalleProducto,Material,NProducto
where NotaVenta.Nro=DetalleVenta.NroNV and
Producto.ID=DetalleVenta.IDProducto and
DetalleProducto.IDProducto=Producto.ID and
Producto.IDNombre=NProducto.ID and

68
DetalleProducto.IDMaterial=Material.ID and
Material.Nombre='Metalico' and
NotaVenta.Fecha='2013-04-11';

select * from Almacen;

/*3.Cantidad de productos del Segmento Agricola en stock en el


Almacen 1*/
select TipoProducto.ID,TipoProducto.Nombre,count(*)
from Segmento,TipoProducto,Producto,Stock,Estante,Almacen
where Segmento.Nombre='Agricola' and
Segmento.ID=TipoProducto.IDSegmento and
TipoProducto.ID=Producto.IDTipo_Prod and
Producto.ID=Stock.IDProducto and
Stock.CodigoEstante=Estante.Codigo and
Estante.IDAlmacen=Almacen.ID and
Almacen.Nombre='Almacen 1'
group by TipoProducto.ID,TipoProducto.Nombre

/*4. Usuarios que hayan realizado notas de Traspaso de productos


entre las sucursales 1 y 2*/;
select Persona.CI,Persona.Nombre,Cargo.Nombre
from Usuario, NotaTraspaso,Almacen A,Almacen
B,Empleado,Persona,Cargo
where Usuario.ID=NotaTraspaso.IDUsuario and
NotaTraspaso.IDAlmacenD=A.ID and
A.Nombre='Almacen 1' and
NotaTraspaso.IDAlmacenO=B.ID and
B.Nombre='Almacen 2' and
Usuario.CIEmpleado=Empleado.CI and
Persona.CI=Empleado.CI and
Empleado.IDCargo=Cargo.ID;

/*5.Cantidad de cuotas pendientes de una cuenta por cobrar por


nota de venta generada por el mismo usuario */
/*siendo este un vendedor*/
Select * from cuota;
Select * from notaventa;

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;

select * from cargo;


select * from usuario;
select * from empleado;
select * from persona;

/*6. Cantidad de Productos que tienen diferentes Materiales pero


la misma medida */
select Material.Nombre, COUNT(Material.Nombre) as Cantidad
from UnidadMedida, Producto, DetalleProducto, Material
where UnidadMedida.ID = Producto.IDUni_Med and Producto.ID =
DetalleProducto.IDProducto
and DetalleProducto.IDMaterial = Material.ID and
UnidadMedida.Nombre = '140.00x175.00x18.00'
group by Material.Nombre

/* 7. Muestra los Tipos de Productos y la cantidad que se tiene


segun su año de Modelo de fabricacion del producto*/

select TipoProducto.Nombre, Count(Producto.IDUni_Med) as


Cantidad_de_Productos
from TipoProducto, Producto, Modelo, Año
where TipoProducto.ID = Producto.IDTipo_Prod and Producto.IDModelo
= Modelo.IDModelo
and Modelo.IDAño = Año.ID and Año.año = 2009
Group by TipoProducto.Nombre
order by Cantidad_de_Productos desc

/* 8. Marca mas comprada segun el Cliente*/


select Marca.Nombre, count(*)
from Cliente, NotaVenta, DetalleVenta, Producto, Modelo, Marca,
Persona
where Persona.CI = Cliente.CI and Cliente.CI =
NotaVenta.IDCliente and NotaVenta.Nro = DetalleVenta.NroNV
and DetalleVenta.IDProducto = Producto.ID and
Producto.IDModelo = Modelo.IDModelo
and Modelo.IDMarca = Marca.ID and Persona.Nombre = 'Ameline
Minards'
Group by Marca.Nombre
order by COUNT(*) desc
limit 1

/* 9.El producto que mas se vende hasta donde se tiene registros*/


select * from detalleventa;

create view maxproduct


as
select IDProducto,sum(Cantidad) as sumcant from detalleventa
group by IDproducto

70
order by sumcant desc
limit 1;

select Producto.ID,Nombre
from producto,maxproduct,NProducto
where IDproducto=Producto.ID
and IDNombre=NProducto.ID;

/* 10. Lista de Productos que fueron retirados pero que no fueron


vendidos*/

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';

/* 11. El Empleado activo que ha vendido hasta donde se tiene


registros */
create view NroVentas
as
select IDUsuario,Count(*) as Conteo
from NotaVenta
group by IDUsuario;

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
)
)
)

/* 12. Cuantos empleados trabajan trabajan en cada sucursal*/


select count(empleado.CI) as cantidad_empleados,
sucursal.ubicacion
from empleado, sucursal
where empleado.idSucursal = sucursal.id
group by Sucursal.id
order by count(empleado.CI)

/* 13. mostrar el nombre de todos los empleados y la sucursal en


la que trabajan*/
select persona.nombre, sucursal.ubicacion
from empleado, sucursal, persona
where empleado.idSucursal = sucursal.id

71
and persona.ci=empleado.ci
order by sucursal.id

/* 14. mostrar los datos de todos los clientes*/


select *
from cliente, persona
where cliente.ci=persona.ci
order by nombre

/*15. mostrar el promedio de todas las ventas*/


select avg(notaventa.monto) as promedio_ventas
from notaventa

/* 16. mostrar todos los productos que se vendieron en una una


cada notaventa
--opcional para procedimiento almacena pero con más complejidad*/

select notaventa.nro, tipoproducto.nombre,nproducto.nombre,


precio, detalleventa.cantidad, precio*cantidad as total
from notaventa, detalleventa, tipoproducto,nproducto, producto
where detalleventa.idproducto = producto.id
and detalleventa.nronv = notaventa.nro
and producto.idnombre=nproducto.id
and producto.IDtipo_prod=tipoproducto.id
order by notaventa.nro

/*17. mostrar los productos por marca y modelo*/


select marca.nombre,modelo.descripcion, nproducto.nombre
from marca, modelo, nproducto, producto
where marca.id=modelo.idmarca and
modelo.idmodelo=producto.idmodelo
and marca.id=producto.idmarca and nproducto.id=producto.idnombre
group by marca.nombre, modelo.descripcion, nproducto.nombre
order by marca.nombre

/*18. Mostrar los productos por tipo de producto, marca, modelo*/


select tipoproducto.nombre, marca.nombre, modelo.descripcion,
nproducto.nombre
from nproducto,tipoproducto,producto, modelo, marca
where nproducto.id=producto.idnombre and
tipoproducto.id=producto.idtipo_prod
and producto.idmodelo = modelo.idmodelo
and modelo.idmarca = marca.id
order by tipoproducto.nombre, marca.nombre, modelo.descripcion

/*19 mostrar los productos por categorias*/


select distinct (marca.nombre), nproducto.nombre, categoria.nombre
from categoria, marca, modelo, nproducto, producto
where categoria.id=marca.idcategoria and marca.id=modelo.idmarca
and modelo.idmodelo=producto.idmodelo and
producto.idnombre=nproducto.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

/* 21. mostrar todas las cuotas pagadas y su respectivo recibo de


una notaventa*/
select notaventa.nro, cuota.fecha, cuota.monto, recibo.nrorecibo
from notaventa, cuota, recibo
where cuota.nronv = notaventa.nro
and cuota.nrocuota = recibo.nrocuota
order by notaventa.nro, cuota.fecha

/* 22. mostrar todas las notas de egreso de una notaventa y su


motivo de salida*/
select notaventa.nro, motivo.descripcion
from notaventa, notaegreso, motivo
where notaventa.nro=notaegreso.nronv and
notaegreso.idmotivo=motivo.id

/*23. mostrar todas las notas de ingreso y los productos que


ingresan*/
select Nro,fecha
from NotaIngreso,detalleingreso,producto
where notaingreso.nro=detalleingreso.nroni
and detalleingreso.idproducto=producto.id

/*24. Clientes que comprar segun la Categoria y la suma de los


productos*/
select Persona.Nombre, SUM(Producto.Precio)
from Cliente, NotaVenta, DetalleVenta, Producto, Modelo, Marca,
Persona, Categoria
where Persona.CI = Cliente.CI and Cliente.CI =
NotaVenta.IDCliente and NotaVenta.Nro = DetalleVenta.NroNV
and DetalleVenta.IDProducto = Producto.ID and
Producto.IDModelo = Modelo.IDModelo
and Modelo.IDMarca = Marca.ID and Marca.IDCategoria =
Categoria.ID
and Categoria.Nombre = 'Alta'
Group by Persona.Nombre
order by COUNT(*) desc

/* 25. Empleado con la mayor cantidad de ventas de un producto */


select Persona.Nombre, COUNT(NotaVenta.Nro)
from Empleado, Usuario, NotaVenta, DetalleVenta, Producto, Modelo,
Persona, NProducto
where Persona.CI = Empleado.CI and Empleado.CI =
Usuario.CIEmpleado and Usuario.ID = NotaVenta.IDUsuario

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

/* 26. Mostrar cuantos productos hay en cada sucursal*/


create view cantProductos
as
select Sucursal.Ubicacion, Stock.Cantidad * (select COUNT(*)
from Almacen, Estante where Almacen.ID = Estante.IDAlmacen) as
cant
from Producto, Estante, Almacen, Sucursal, Stock
where Producto.ID = Stock.IDProducto
and Stock.CodigoEstante = Estante.Codigo
and Estante.IDAlmacen = Almacen.ID
and Almacen.IDSucursal = Sucursal.ID

select *
from cantProductos;

select Ubicacion, SUM(cant)


from cantProductos
group by Ubicacion;

/*27. Mostrar todo los traspasos de destino y el encargado*/


select NotaTraspaso.Nro, Almacen.Nombre as Almacen_Destino,
Usuario.ID
from Empleado, Usuario, NotaTraspaso, Almacen
where Empleado.CI = Usuario.CIEmpleado
and Usuario.ID = NotaTraspaso.IDUsuario
and NotaTraspaso.IDAlmacenD = Almacen.ID

/*28. Mostrar todo los traspasos de origen y el encargado*/


select NotaTraspaso.Nro, Almacen.Nombre as Almacen_Origen,
Usuario.ID
from Empleado, Usuario, NotaTraspaso, Almacen
where Empleado.CI = Usuario.CIEmpleado
and Usuario.ID = NotaTraspaso.IDUsuario
and NotaTraspaso.IDAlmacenO = Almacen.ID

/*29. Ordenar los productos por su tipo de producto*/


select TipoProducto.Nombre, NProducto.Nombre, Categoria.Nombre,
Marca.Nombre, Modelo.Descripcion
from Producto, Modelo, Marca, Categoria, TipoProducto, NProducto,
DetalleProducto
where Producto.IDNombre = NProducto.ID
and DetalleProducto.IDProducto = Producto.ID
and Producto.IDModelo = Modelo.IDModelo
and Modelo.IDMarca = Marca.ID
and Marca.IDCategoria = Categoria.ID

74
order by TipoProducto.Nombre, NProducto.Nombre, Categoria.Nombre,
Marca.Nombre, Modelo.Descripcion

/*30. Usuarios que hacen todas las notas (vendas, transpaso,


egreso y ingreso) */

select distinct Persona.Nombre, Cargo.Nombre


from Persona, NotaEgreso, Cargo, NotaIngreso, NotaTraspaso,
NotaVenta, Empleado, Usuario
where Persona.CI = Empleado.CI
and Empleado.CI = Usuario.CIEmpleado
and Usuario.ID = NotaTraspaso.IDUsuario
and Usuario.ID = NotaIngreso.IDUsuario
and NotaVenta.Nro = NotaEgreso.NroNV
and NotaVenta.IDUsuario = Usuario.ID
and Empleado.IDCargo = Cargo.ID

4.2.6 Procedimientos Almacenados

/1.PA de Asignacion de Usuario/


select * from Usuario;

DELIMITER $$
CREATE PROCEDURE Reg_User(ci_empleado int,contrasena
varchar(30),tipoU char )
BEGIN

IF((select count(*)from Usuario)=0)


THEN
insert into Usuario values
(1,contraseña,tipoU,true,ci_empleado); /*Asumiendo que este en
esa posicion */
ELSE
SET @idmax=(select max(ID)from Usuario);
insert into Usuario values
(@idmax+1,contraseña,tipoU,true,ci_empleado);
END IF;
END$$

/2.PA Modificar DATOS de usuarios/

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$$

/3. Dar de baja a un empleado/


Delimiter $$
create procedure baja_empleados(in CI int,tipo char)
begin
update empleado
set estado=false
where CI=CI and tipo=tipo;
select * from empleado;
end

Delimiter ;

4.2.7 Disparadores (Triggers)


/*TRIGGER 1: que emite recibo cuando se cambia el estado de una
cuota de (Pendiente/Impago) a pagado */
DELIMITER $$
create trigger on_cuota
after update
on Cuota
for each row
BEGIN
set @id_cuota=(select Nrocuota from inserted);
set @Nro_venta=(select NroNV from inserted);
set @Monto=(select Monto from inserted);
set @MontoV=(select Monto from NotaVenta
where Nro=@Nro_venta);
set @SumRec=(select sum(Recibo.Monto)
from Recibo,cuota
where Recibo.NroCuota=Cuota.NroCuota
and Cuota.NroNV=@Nro_venta);

insert into Recibo values (curdate(),@monto,@montoV-


@SumRec,@id_cuota);
END$$
DELIMITER ;

/Trigger 2: Dar de baja a un usuario cuando un empleado se da de


baja---/
DELIMITER $$
create trigger baja_usuario
after update
on empleado

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 ;

/Trigger 3: Monto con Descuento en nota de venta y actualización


de stock-/
DELIMITER $$

create TRIGGER actualizar after insert on DetalleVenta


for each row
BEGIN

set @nro_venta=(select NroNV from inserted);


set @cantidad=(select Cantidad from inserted);
set @id_producto=(select IDProducto from inserted);
set @precio=(select Precio from Producto where
ID=@id_producto);
set @id_cliente=(select IDcliente from NotaVenta where
Nro=@nro_venta);
set @descuento=(select Descuento from Cliente where
CI=@id_cliente);

set @monto=@cantidad*@precio;

set @porcentaje=(@monto*@descuento)/100;
set @monto=@monto-@porcentaje;

update notaventa set monto=monto+@monto where nro=@nro_venta;


update stock set cantidad=cantidad-@cantidad where
idproducto=@id_producto;
END$$
DELIMITER ;

/Trigger 4: Actualiza el stock en el ingreso-/


DELIMITER $$
create trigger update_stock
after insert
on DetalleIngreso
for each row
BEGIN
set @nro_nota=(select NroNI from inserted);
set @ID_user=(select IDUsuario from NotaIngreso where
Nro=NroNI);
set @CI_empleado=(select CIEmpleado from Usuario where
ID=@ID_user);

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);

update Stock set Cantidad=Cantidad+@cant where


IDProducto=@id_prod and IDStock=@id_stock;

END$$
DELIMITER ;

5 Capítulo 5: Modelo de Negocios


6 Diagrama de Actividad
6.1 Gestionar un proceso de compra

78
6.2 Gestionar almacenes

6.3 Gestionar categorías

79
6.4 Gestionar detalle de producto

6.5 Gestionar documento de venta

80
6.6 Gestionar pedido

6.7 Gestionar ventas

81
6.8 Registrar de pago

6.9 Registrar usuarios

82
6.10 Registro de producción

Capitulo 7 FLUJO DE TRABAJO: Captura de Requisitos


7.1 Identificar actores y Casos de Uso
7.1.1 Actores
 Cliente.- Persona ya sea jurídica o natural que realiza un pedido, cuya
información es registrada necesariamente para el correcto manejo de la
información.
 Administrador.- Persona empleada de la empresa que posee un usuario
y contraseña para el acceso al sistema, cuyos privilegios engloban; la
cónsulta de la bitacora de actividades y operaciónes, realizadas en las
distintas áreas con relación a los productos de la empresa.
 Vendedor.- Persona empleada de la empresa que posee un usuario y
contraseña para el acceso al sistema, cuyos privilegios permite la
realización de notas de venta, cuentas por cobrar y recibos.
 Almacenero.- Persona empleada de la empresa que posee un usuario y
contraseña para el acceso al sistema, cuyas funciones especificas
incluyen la realización de notas de ingreso y notas de egreso.

7.1.2 Casos de Uso


CU1. Iniciar Sesión
CU2. Gestionar Cliente

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

7.2 Priorizar Casos de Uso


 Estado:
Aprobado: Se usa cuando el caso de uso está entre los principales en
construirse.

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

7.3 Detallar un Caso de Uso


7.3.1 Diseñar Diagramas de Caso de Uso
Casos de Uso Estado Prioridad Riesgo Actores
CU1. Iniciar Sesión Aprobado Normal Normal Administrador
Vendedor
Almacenero
CU2. Gestionar Cliente Aprobado Normal Normal Administrador
CU3. Gestionar Personal Aprobado Normal Normal Administrador
CU4. Gestionar Nota de Aprobado Critico Critico Vendedor
venta Cliente
CU5. Gestionar Nota de Aprobado Critico Critico Vendedor
egreso Almacenero
CU6. Gestionar Nota de Aprobado Critico Critico Administrador
ingreso Almacenero

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

Nombre de caso de uso Iniciar Sesion


Su propósito es asegurar que solo personas
Propósito
autorizadas puedan ingresar al sistema.
Actores Usuario (Administrador, Vendedor, Almacenero)
Actor iniciador Usuario
Pre condición Ninguno
1.Ingresar datos personales
Flujo principal 1.1 Ingresar el tipo de usuario
2.Seleccionar la opción de iniciar sesion
Post condición Ninguno
Excepción 1.Error al ingresar datos personales

CU2. Gestionar Cliente

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

Nombre de caso de uso Gestionar Personal


Su propósito es permitir gestionar los diferentes
Propósito
usuarios que trabajan en la empresa.
Actores Administrador
Actor iniciador Administrador
Pre condición CU1. Iniciar Sesion
1.Registrar
1.1 Registrar datos de los empleados.
1.2 Guardar datos de los empleados.
2.Modificar
2.1 Ingresar modificaciones en los datos de los
Flujo principal empleados.
2.2 Almacenar los datos modificados.
3.Eliminar
3.1 Anulación de acceso de un empleado al
sistema.
3.2 Anulación de un empleado de la empresa.
Post condición CU27 Gestionar privilegios
Excepción 1.1 Error al ingresar algún dato indispensable.

88
2.2 No haber completado los campos necesarios
para almacenar los nuevos datos.

CU4. Gestionar Nota de venta

Nombre de caso de uso Gestionar Nota de Venta


Su propósito es gestionar los pedidos que salen en
Propósito las notas de venta, su compra y su respectivo
registro en la data base.
Actores Vendedor, Cliente
Actor iniciador Cliente
Pre condición C17. Verificar Producto
1.Registrar
1.1 Registrar datos del cliente.
1.2 Verificar producto.
1.2.1 Buscar stock en la sucursal.
1.2.2 Si Stock es mayor a la cantidad
Flujo principal
requerida.
1.2.3 Enlistar el producto en el detalle.
2.Eliminar
2.1 Se cambia el estado de la nota de venta a
anulada.
CU12. Gestionar Almacen.
Post condición
CU15. Gestionar Stock.
1.2.2. Si el producto no esta en stock, devolverá:
Excepción
“Fuera del stock”.

89
CU5. Gestionar Nota de egreso

Nombre de Caso de Uso Gestionar Nota de egreso


Propósito Su propósito es el gestionar las notas de egreso de
la empresa por parte del vendedor.
Actores Vendedor, Almacenero
Actor Iniciador Vendedor
Pre Condición Compra del producto.
Encuentra producto defectuoso.
Flujo Principal 1.Registrar
1.1 Registrar los productos que están siendo
anulados, o vendidos en una nota de venta.
1.2 Actualizar el stock.
2.Eliminar
2.1 Anulacion de la nota de egreso
2.2 Actualizacion o incremento del stock, en caso
de devolución del producto.
Post Condición CU4 Gestionar Nota de venta
CU12. Gestionar Almacen.
Excepción 1.1 Verificar producto, en caso de nota de venta.

90
CU6. Gestionar Nota de ingreso

Nombre de Caso de Uso Gestionar Nota de ingreso


Propósito Su propósito es el gestionar las notas de ingreso de
la empresa.
Actores Almacenero
Actor Iniciador Almacenero
Pre Condición Ninguno
Flujo Principal 1.Registrar
1.1 Registrar los productos importados al
almacen de parte de los proveedores.
1.2 Actualizar Bitacora.
2.Modificar
2.1 Actualizar Stock.
2.2 Posicionar los productos en sus respectivos
estantes.
3.Eliminar
3.1 Anulacion de una nota de ingreso.
3.2 Actualizar stock.
3.3 Devolucion de los productos al proveedor.
Post Condición CU12. Gestionar Almacen.
Excepción 3.1 No hay devolución.

91
CU7. Gestionar Nota de traspaso

Nombre de Caso de Uso Gestionar Nota de traspaso


Propósito Su propósito es el gestionar las notas de traspaso
de la empresa.
Actores Almacenero, Vendedor
Actor Iniciador Almacenero
Pre Condición CU12. Verificar Producto.
Flujo Principal 1.Registrar
1.1 Verificar existencia de sucursal.
1.2 Registrar los datos del usuario que realiza el
traspaso.
1.3 Verificar producto.
1.4 Registrar los productos que serán
traspasados entre sucursal.
2.Modificar
2.1 Modificar la nota de traspaso, al realizar un
cambio de producto en la misma.
2.1 Actualizar Stock.
3.Eliminar
3.1 Anulacion de una nota de traspaso de una
cierta cantidad de productos.
3.2 Actualizacion de stock.
Post Condición CU12. Gestionar Almacen.
Excepción 1.1 En caso de que no exista la sucursal, no se
realiza el traspaso.
1.3 En caso de que el stock del producto no sea
suficiente, no se realiza el traspaso.

92
CU8. Gestionar Plan de Pago

Nombre de caso de uso Gestionar Plan de pago


Su propósito es administrar los planes de pagos a
Propósito
realizar.
Actores Vendedor
Actor iniciador Vendedor
Pre condición CU4. Gestionar Nota de Venta
1.Registrar
1.1 Registrar datos del cliente.
1.2 Realizar su nota de venta.
1.3 Si los pagos se realizaran en cuotas, se
procede a registrar cuotas.
1.4 Si el pago se hace directo, se sigue con la
Flujo principal nota de venta y el cobro respectivo.
2.Modificar
2.1 Modificar su plan de pago a por cuotas, por
el de pago inmediato, en cualquier instante
de la deuda.
2.2 Modificar la deuda por pago de cuotas.
2.2 Actualizar Bitacora.
Post condición CU9. Registrar Cuota
2.2 En caso de que las deudas no sean pagadas
Excepción por fecha limite, mandarle un mensaje al cliente
por falta de pago en sus respectivas cuotas.

93
CU9. Registrar Cuota

Nombre de caso de uso Registrar Cuota


Su propósito es permitir que el Vendedor administre
Propósito
las cuotas faltantes de un respectivo plan de pago.
Actores Vendedor
Actor iniciador Vendedor
Pre condición CU8. Gestionar Plan de pago.
1.1 Solicitar datos del cliente.
1.2 Solicitar datos del plan de pago.
1.3 Si desea pagar un monto mayor al establecido
Flujo principal 1.3.1 Actualizar cuotas.
1.4 Pago de la respectiva cuota del mes.
1.5 Actualizar plan de pago.

Post condición CU10. Registrar Recibo.


1.2 Si el plan de pago a sido cancelado en su
Excepción
totalidad, no se realizan mas cobros.

CU10. Registrar Recibo

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.

CU11 Gestionar Sucursal

Nombre de Caso de Uso CU11 Gestionar Sucursal


Propósito Realizar el registro de las respectivas
sucursales de la empresa junto a los
almacenes correspondientes.
Actores Administrador
Actor Iniciador Administrador
Pre Condición CU12 Gestionar Almacén.
Flujo Principal 1. Registrar Sucursal
1.1 Rellenar datos de la Sucursal
1.2 Agregar y rellenar los datos de
sus almacenes.
2. Modificar Sucursal
2.1 Seleccionar y alterar los datos
3.Eliminar Sucursal
3.1 Cambiar el Estado de sucursal
a “Inactiva”.
Post Condición Ninguno
Excepción Ninguno

95
CU12. Gestionar Almacén

Nombre de Caso de Uso CU12 Gestionar Almacén


Propósito Realizar la gestión del almacén
respectivo a cada Sucursal y sus
estantes.
Actores Almacenero
Actor Iniciador Almacenero
Pre Condición CU13 Verificar Almacén
CU14 Gestionar Estante
Flujo Principal 1.Registrar Almacén
1.1 Rellenar datos de almacén
1.2 Agregar y rellenar los datos de
estante.
2.Modificar Almacén
2.1 Seleccionar almacén
2.2 Verificar el almacén
seleccionado.
2.3 Adulterar el almacén
3.Eliminar Almacén
3.1 Seleccionar y cambiar el estado
a”No Disponible” dicho almacén.
Post Condición Ninguno
Excepción Ninguno

96
CU13. Verificar Almacén

Nombre de Caso de CU13 Verificar Almacén


Uso
Propósito Es el de verificar que exista el almacén en el
sistema.
Actores Almacenero
Actor Iniciador Almacenero
Pre Condición Ninguno
Flujo Principal 1. Ingresar el código del almacén
2. si existe el almacén entonces
Devuelve “verdadero”
Post Condición Ninguno
Excepción 2. si no devolver “false”

CU14. Gestionar Estante

Nombre de Caso de Uso CU14 Gestionar Estante


Propósito Es la de que cada almacén agrega
modifica o elimina sus respectivos
estantes.
Actores Vendedor
Actor Iniciador Vendedor
Pre Condición CU15 Gestionar Stock
Flujo Principal 1. Registrar Estante
1.1 Rellenar datos de estante
1.2 Agregar y rellenar datos del
Stock
2. Modificar Estante

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

CU15. Gestionar Stock

Nombre de Caso de Uso CU15 Gestionar Stock


Propósito Registra las Cantidades de existencia o
Stock de un producto.
Actores Almacenero
Actor Iniciador Almacenero
Pre Condición CU16 Gestionar Producto
Flujo Principal Registrar Stock
1.1 Rellenar datos del Stock
1.2 Agregar y rellenar datos del
Producto
2. Modificar Stock
2.Seleccionar y adulterar los datos
del Stock
3.Eliminar Stock
3.1 Seleccionar y cambiar el estado
a “No Disponible” de dicho Stock
Post Condición Ninguna
Excepción El stock tiene que ser mayor a la
cantidad solicitada.

98
CU16. Gestionar Producto

Nombre de Caso de Uso CU16 Gestionar Producto


Propósito Es el de Registrar y mantener los
productos en el sistema correctamente.
Actores Almacenero
Actor Iniciador Almacenero
Pre Condición CU18 Gestionar Detalle de Producto
Flujo Principal 1. Registrar Producto
1.1 Rellenar datos de Producto
1.2 Agregar y rellenar detalle del
producto.
1.3 Si no existe modelo entonces
Rellenar datos de modelo.
2. Modificar Producto
2.1 Seleccionar y adulterar el
producto
3.Eliminar Producto
3.1 Seleccionar y Cambiar el
estado a “No Disponible” de ese
producto.
Post Condición CU21 Gestionar Modelo de Producto
Excepción 1.3 sino seleccionar modelo al que
pertenece.

99
CU17. Verificar Producto

Nombre de Caso de Uso CU17 Verificar Producto


Propósito
Actores Usuario(Almacenero, Vendedor)
Actor Iniciador Usuario(Almacenero, Vendedor)
Pre Condición Ninguna
Flujo Principal 1. Ingresar Código de Producto
2. Si existe el producto entonces
Retornar “Verdadero”
Post Condición Ninguna
Excepción Sino retornar “False”

CU18. Gestionar Detalle del Producto

Nombre de Caso de Uso Gestionar Detalle del Producto


Propósito Es el de poder registrar detalles de
cada producto respectivamente.
Actores Almacenero
Actor Iniciador Almacenero
Pre Condición Ninguna
Flujo Principal 1. Registrar detalle de Producto
1.1 Rellenar datos de detalles de
producto
2. Modificar detalle de 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

CU19. Gestionar Tipo de Producto

Nombre de Caso de Uso CU19 Gestionar tipo de Producto


Propósito Registrar y mantener al tanto del
sistema de todos los tipos de productos
disponibles.
Actores Almacenero
Actor Iniciador Almacenero
Pre Condición CU18 Gestionar Producto
Flujo Principal 1. Registrar un tipo de Producto
Rellenar los datos de tipo de
producto
2. Modificar un Tipo de Producto
Seleccionar y Adulterar Tipo de
Proyecto.
3. Eliminar detalle de Producto
Seleccionar y cambiar el estado a
“Discontinuado”.
Post Condición Ninguno
Excepción

101
CU20. Gestionar Marca de Producto

Nombre de Caso de Uso CU20 Gestionar Marca de Producto


Propósito Es para mantener en contacto y
conocimiento de la marca de los
productos al sistema.
Actores Almacenero
Actor Iniciador Almacenero
Pre Condición CU22. Gestionar Categoría
Flujo Principal 1.Registrar Marca de Producto
Rellenar los datos de la Marca de
Producto.
2. Modificar Marca de Producto
Seleccionar y alterar la Marca de
producto.
3.Eliminar Marca de Producto
Seleccionar y cambiar estado a “No
Disponible”
Post Condición Ninguna
Excepción

CU21. Gestionar Modelo de Producto

Nombre de caso de CU21 Gestionar Modelo de Producto


uso
Propósito de Caso de Llevar un registro de los diferentes modelos que
Uso corresponden a cada producto.
Actores Almacenero

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

Post-Condición CU20. Gestionar Marca


Excepción 1.3 No se puede inserter un modelo de producto mientras
no se inserte una marca

CU22. Gestionar Categorias

Nombre de caso de CU22 Gestionar Categoria de Producto


uso
Tener registro completo de las categorías a las que
Propósito
pertenecen los productos.
Actores Almacenero
Actor iniciador Almacenero
Pre condición Ninguno
1. Registrar
1.1. Seleccione Añadir nueva categoria
Flujo principal 1.2. Ingresar los datos de la nueva categoría
2. Modificar
2.1. Seleccione la categoría que se modificara
2.2. Edite los campos deseados

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

CU23. Registrar Proveedores

Nombre de caso de uso CU23 Registrar Proveedores


Propósito Su propósito es llevar un registro de los
proveedores que nos proporcionan los productos.
Actores Administrador
Actor iniciador Administrador
Pre condición Ninguna
o Registrar
Flujo Flujo Principal 1.1. Seleccione Añadir nuevo proveedor
1.2. Ingrese los datos del nuevo proveedor
Post condición Ninguna
Excepción 1.1 Ya existe otra categoría con el mismo nombre

CU24. Generar Backup

Nombre de caso de uso CU24 Generar Backup


Propósito Su propósito es permitir crear un backup de toda la
información almacenada en la base de datos.
Actores Administrador
Actor iniciador Administrador
Pre condición Ninguna

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

CU25. Actualizar Bitácora

Nombre de caso de uso CU25 Actualizar bitácora


Propósito Permitir hacer un seguimiento de todas las
acciones realizadas en el sistema.
Actores Administrador
Actor iniciador Administrador
Pre condición Ninguna
1. Detallar
Flujo principal 1.1 Generar reportes de una acción
registrada dentro del sistema.
Post condición Ninguna.
Excepción Ninguna.

CU26. Gestionar Usuario

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.

CU27. Gestionar Privilegios

Nombre de caso de uso CU27 Gestionar Privilegios


Propósito de Caso de Asignar los diferentes permisos de uso del sistema a
Uso los distintos tipos de usuarios.
Actores Administrador
Actor Iniciador Administrador
Pre-Condición Ninguna
1. Registrar
1.1. Seleccione añadir privilegio
Flujo Principal 1.2. Añada permisos al privilegio
1.3. Añada los usuarios que perteneceran
al privilegio
2. Modificar

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

CU28. Cerrar sesión

Nombre de caso de uso CU28 Cerrar sesión


Permitir cerrar la sesión de la cuenta de un
Propósito
usuario.
Actores Usuario(Administrador, Almacenero, Vendedor)
Actor iniciador Usuario
Pre condición Ninguna
1. Salir
1.1. Dar click en el botón cerrar sesión
Flujo Principal
1.2. En la ventana de confirmación seleccionar
Aceptar
Post condición Ninguna
Excepción Ninguna

CU29. Gestionar Pedidos

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

7.4 Prototipar interfaz de usuario


CU1 Inicial Sesion

108
CU2 Gestionar Cliente

CU3 Gestionar Personal

109
CU4 Gestionar Nota de Venta

110
CU5 Gestionar Nota de Egreso

CU6 Gestionar Nota de ingreso

CU7 Gestionar Nota de Traspaso

111
CU11 Gestionar Sucursal

CU12 Gestionar Almacen

112
CU13 Verificar Almacen

CU14 Gestionar Estante


113
CU15 Gestionar Stock

CU16 Gestionar producto

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

Datos del Entrevistado


Nombre: Angelica Pérez
Cargo: Empleado regular en el área de Sistemas.

Datos del Entrevistador


Nombre:
Pedro Luis Caricari Torrejón
Alejandra Patricia Murillo Pérez
Mauricio Elián Delgadillo García

1. ¿Cuál es la división de áreas de la empresa?


Se separa en 3 grandes áreas: manejo de Inventario, la sección de Ventas,
y la parte de Contabilidad, la que agrupa todas las demás áreas mencionadas
anteriormente. Ahora normalmente en los dibujos que se ve, contabilidad o
finanza está en el medio, los otros a los lados, Ventas porque tienes que
vender más, Inventario porque tienes que comprar más barato y Contabilidad
se encarga de medir, juntar la plata y te dice si cuanto has perdido o ganado.
Ese es un circuito de la empresa.

2. ¿Cuál es el objetivo de la empresa?


El objetivo de la empresa se centra en mejorar más que todo el trabajo que
se hace en la época actual, siempre la empresa piensa en ganar más
entonces, hay diferentes técnicas para poder buscar mercadería a un precio
más bajo, el inventario específicamente, es el corazón de una empresa
comercial, si no tienes que vender, no vendes y no ganas, a esta parte es
muy delicada y se mucho cuidado, hay que tener mercadería surtida,
mercadería que te compren. Para que Finilager funcione, la empresa se
provee productos de acuerdo a su rubro de comercialización. El rubro de la
empresa es venta de rodamientos, retenes, correas. En Finilager, la
mercadería es cara a comparación de otras empresas.

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.

4. ¿Qué tipo de servicios ofrece Finilager?


Uno de los temas que ha incursionado la empresa hace unos 4 o 5 años
fueron los servicios, aparte de vender los productos, tenemos profesionales
en el área que van a hacer las instalaciones, los montajes de las empresas y
dan soporte y cobramos ese servicio esa mano de obra, ahora no solo
vendemos ahora damos servicio técnico.

5. A los trabajadores encargados del servicio técnico, ¿son


capacitados?
Si, primero se contrata personal capacitado, ellos tienen que ser Ingenieros
eléctricos, mecánicos o electromecánicos, mejor si son los últimos porque
abarcan toda el área, y se contrata a gente joven, junior, recién licenciado y
se les manda a cursos en el extranjero, y luego empiezan a atender a las
empresas, a ingenios, fabricas, a todo lado, gracias a esos servicios la
empresa gana también.

6. Volviendo a la parte de Inventario, ¿cómo controlan que mercadería


a comprar?
Existe diferentes técnicas, una de esas es la Rotación de Inventario, esta se
explica con la siguiente analogía: supongamos que en una de las tiendas
puedes tener 1000 items de diferentes rodamientos, entonces para la
empresa esa técnica sirve para ver qué es lo que tiene más movimiento en
la empresa, como lo más vendido.
Y eso nunca te tiene que faltar porque, si algún día te falta, entonces dejas
de vender y se pierde dinero, se trata de tener lo que más vendes. Por
ejemplo, el departamento de operaciones genera un informe de los productos
sin movimientos, mercadería que no se ha vendido 3,4,5 años entonces eso
está perjudicando y tienen que sacarlo del almacén.

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.

8. En el Tema de los Almacenes, cuando hay muchos productos que


no son vendidos, ¿se realiza algún proceso de selección de los
productos? ¿se oxidan los rodamientos?
No, felizmente no se oxidan, hay empresas, por ejemplo, que son los
supermercados o las farmacias que manejan productos con fecha de
caducidad, en ese caso se toman otras técnicas de almacenamiento. Sin
embargo, hubo un tiempo en donde Finilager vendía grasas, que eso si
deteriora, pero se ha descontinuado por el tema de la caducidad y por
convertirse en un producto muerto en ventas. Por otro lado, en nuestros
almacenes, usamos estantes para organización y clasificación de los
productos, puesto que el control de inventario es por ubicación. Cada estante
se le otorga un nombre y para cada rejilla de dicho estante un número, así si
llegan 10 rodamientos podemos decir que están entrando al estante A-1.

9. Al ser una corporación y contar con diferentes sucursales a nivel de


todo el país, cada una de ellas, ¿cuentan con un propio almacén?
Si, todas nuestras sucursales tienen su propio almacén, pero también existe
el Centro de Distribución, que queda en el Parque Industrial por la Pampa
de la Isla donde se hace la descarga directa de los pedidos de productos que
necesitan ser repuestos en los almacenes.

10. Del Centro de Distribución, ¿cada cuánto se les manda los


productos a todas las sucursales?
Existen dos formas, hay un antes y un después, a comienzos ese centro era
pequeño, ósea, una vez que llegaban productos, se les distribuya a todas las
sucursales y muy pocos quedaban en dicho centro, ahora de que depende
cuánto van a distribuir, eso lo maneja el Departamento de Operaciones, la
parte de la Contabilidad, para determinar las políticas, para ver cómo se van
a distribuir esa mercadería del centro de Distribución. En cada sucursal tiene
un punto de Pedido, el cual hace un llamado al centro cuando cualquier
rodamiento disminuya a menos de 10, puesto que en tres días
aproximadamente se terminará el producto.

118
11. ¿Cuál es la variedad de proveedores con los que trabaja la empresa?
Extranjeros y Nacionales, especialmente japoneses.

12. ¿Se aplica la política de devoluciones de productos?


Si, se aceptan dos formas de devoluciones, una se llama anulación, que es
una factura que anulas dentro del mes, por el tema fiscal no se puede anular
en otro mes porque a fin de mes se hace la recaudación de las compras y
ventas, y por ello se declara dicha factura como comprobante de la anulación
en la base de datos, caso contrario, con el comprobante de la factura se
procede a la anulación con importe 0, y se prosigue a hacer un intercambio
de acuerdo al valor monetario pagado anteriormente por producto con
precios en equivalencia al dicho total pagado.

Ubicación de sucursales en Santa Cruz


Fuente: https://www.google.com/maps

119
Historia de Finilager
Fuente: https://view.genial.ly/5bf5bd9ae5ada839524acd4d/finilager-historia

Ofertando oportunidades a gente nueva


Fuente: https://www.linkedin.com/in/dami%C3%A1n-hurtado-bouz%C3%B3-
42a35770

120
121
Universidad Autónoma Gabriel René Moreno
Facultad de Ingeniería en Ciencias de la Computación y
Telecomunicaciones

Grupo #7

Sistema de Información para gestionar las


ventas, compras e inventarios de la empresa
de rodamientos FINILAGER
 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)
 Fecha:
18/04/2019
122

You might also like