1.introducciÓn -...
TRANSCRIPT
-1-
1. INTRODUCCIÓN
1.1 ANTECEDENTES
Es un hecho que en nuestra sociedad hay un gran cambio, se han abierto las puertas a
la información y comunicación, el mundo entero a optado por compartir su
información y dar rapidez a sus procesos diarios con solo dar un clic, proporcionando
más comodidades en negocios, empresas e instituciones que requieren reflejar
eficiencia y rapidez en sus procesos a través de la comunicación de datos.
Ecuador ha incursionado en el avance tecnológico, adoptando sistema de manejo de
información que permita al usuario manejarla oportuna, eficiente y confiablemente.
Por ser un país en vías de desarrollo la mayor parte del sector de mediana empresa no
apuesta a la tecnología como un factor de desarrollo económico, lo cual conlleva
grandes conflictos con respecto a la información y el manejo de productos o servicios
que brindan las empresas, no cuentan con sistemas que les permitan manejar y
compartir su información empresarial con sus empleados, clientes y administradores.
En la ciudad de Puyo, la empresa envasadora y distribuidora de agua purificada “Vida
Nueva” desde sus inicios ha venido manejando el registro y control de la información
de bodega a través de documentos escritos, libros y archivos que son procesados por
el personal que labora en la empresa, este método ha ocasionado irregularidad de
registros sobre el manejo de botellones de agua, desde el proceso de embotellado,
seguido del almacenamiento en bodega, hasta el proceso de distribución, provocando
-2-
fuga de dinero y pérdida de botellones de la empresa debido a la falta de control de
unidades entregadas a cada vehículo distribuidor y el poco control de la salida y
entrada de producto dentro de la bodega
La empresa “Vida Nueva” busca ofrecer a sus empleados facilidades de manejo de
información en cada uno de los procesos que los mismos desempeñan, por otro lado a
sus clientes desea brindar información y servicio oportuno al momento de ser
requerido, y sus administradores anhelan poseer información confiable de los
movimientos del producto y desempeño de sus empleados.
Por las razones antes mencionadas la empresa busca con el sistema “Vida Nueva”
brindar información oportuna, fiable y eficaz a los empleados para la implementación
de un manejo apropiado del producto, al mismo tiempo permitirá brindar un servicio
oportuno a los clientes y un mejor control de la información de los mismos y a través
de reportes mantener a los administradores informados sobre los movimientos y
procesos que se desarrollan dentro de la empresa.
“Vida Nueva” cuenta con personal que posee conocimientos básicos de computación,
añadiendo a la empresa adaptabilidad para la implementación de un Sistema de
información para el control de bodega, además cuenta con los equipos de cómputo
necesarios para la posible implementación del Sistema de Información.
El sistema “Vida Nueva”, permite a la empresa poseer un control superior sobre los
movimientos del producto, permitiendo conocer a los administradores el envío del
producto al proceso de distribución, el manejo dentro de la bodega y el retorno del
-3-
producto desde el proceso de distribución, llevando un control sobre las cantidades
vendidas, devueltas y dañadas, además el sistema permitirá a la empresa conocer el
empleado responsable de cada proceso realizado, haciendo posible manejar los errores
u omisiones de registros de una forma adecuada por parte de la empresa y por parte del
empleado, buscando alcanzar un desarrollo tecnológico a través del manejo de la
información empresarial de “Vida Nueva”.
1.2 OBJETIVOS
1.2.1 Objetivo General
Implementar un sistema de información para la gestión de distribución y ventas de la
empresa “Vida Nueva”.
1.2.2 Objetivos Específicos
Investigar bibliográficamente acerca de sistemas de información, software de
desarrollo y metodologías.
Realizar el diagnóstico situacional de la empresa “Vida Nueva”.
Elaborar los diseños lógicos y físicos de la base de datos y del sistema de
información a desarrollarse para la empresa “Vida Nueva”.
Seleccionar la metodología y las herramientas de desarrollo para el análisis e
implementación del sistema de información para la empresa “Vida Nueva”.
-4-
Implementar un sistema de información para la gestión de distribución y ventas
de la empresa “Vida Nueva”.
Realizar pruebas que validen el funcionamiento del sistema de información
según las necesidades de la empresa.
1.3 METODOLOGÍA
Para el diseño del software se utiliza UML, por ser un lenguaje gráfico para
visualizar, especificar, construir y documentar un sistema de información.
El Lenguaje Unificado de Modelado prescribe un conjunto de notaciones y
diagramas estándar para modelar sistemas orientados a objetos, y describe la
semántica esencial de lo que estos diagramas y símbolos significan.
UML es una notación muy grande por esa razón el proyecto toma base en el Rational
Unified Process (Proceso unificado de Rational – RUP) está basado en una
integración del trabajo de tres metodologístas, Ivar Jacobson, Grady Booch y James
Rumbaugh. Estos metodologístas, fueron reunidos por Rational para formar un
marco de metodologías unificadas, cohesivas y comprehensivas de desarrollo de
sistemas de software. Después de varios años y basados en metodologías probadas,
se ha dado lugar a importantes normas en la comunidad de desarrollo, incluida la
aceptación general de los Casos de Uso y del Lenguaje de Modelado Unificado.
El Proceso Unificado tiene tres características distintivas. Estas característica son:
-5-
Dirigido por Casos de Uso: El proceso utiliza Casos de Uso para manejar el
proceso de desarrollo desde el análisis hasta la implementación.
Centrado en Arquitectura: El proceso busca entender los aspectos estáticos y
dinámicos más significativos en términos de arquitectura de software. La
arquitectura se define en función de las necesidades de los usuarios y se
determina a partir de los Casos de Uso base del negocio.
Iterativo e Incremental: El proceso reconoce que es práctico dividir grandes
proyectos en proyectos más pequeños o mini-proyectos. Cada mini-proyecto
comprende una iteración que resulta en un incremento. Una iteración puede
abarcar la totalidad de los flujos del proceso. Las iteraciones son planificadas
en base a los Casos de Uso.
UML no es un proceso o metodología para el desarrollo, UML es un lenguaje de
modelado, es decir, nos ayuda a representar el resultado del análisis y diseño, sin
ofrecer un procedimiento para lograr un análisis o diseño. Finalmente se puede decir
que UML es un lenguaje, y como todo lenguaje tiene reglas para ser expresado de
manera correcta.
1.4 RECURSOS
Para el desarrollo del sistema de información de la empresa “Vida Nueva” se
requiere recursos hardware, software y elemento humano.
-6-
1.4.1. Hardware:
Equipo Servidor:
Intel Pentium IV o superior
Memoria RAM 2Gb o superior
Disco Duro 320Gb o superior
Dispositivos de entrada
Dispositivos de salida
Equipo Usuario:
Intel Pentium IV o superior
Intranet
La empresa cuenta con 4 máquinas, las mismas que se conectaran a través de un
router.
Figura 1.- Intranet
-7-
1.4.2. Software:
Equipo Servidor:
Sistema operativo: Windows XP o superior
Servidor Web: Apache 2.2 para Windows
Base de Datos: Mysql 5.0 para Windows
Lenguaje de programación: Php 5.0
Editor de Php: Zend Development Environment
Equipo Usuario:
Navegador: Mozilla Firefox, Google Chrome.
1.4.3. Humano
Para la utilización del sistema informático es necesario contar con personal que
posea conocimientos de computación, de antemano se realizará capacitación a los
usuarios del sistema.
La empresa “Vida Nueva”, cuenta con personal en las diferentes aéreas de proceso,
cuenta con envasadores, distribuidores, secretaria y gerente
Podemos determinar los siguientes niveles de usuario
-8-
Administrador: La secretaria es la encargada del control del sistema
informático, debido a que maneja el control de productos, los registros de
clientes, empleados, ventas, crédito, cobranza y devoluciones.
Usuario 1: El envasador es el encargado de registrar la entrada de productos a
bodega y salida de botellones vacios a la envasadora.
Usuario 2: El distribuidor, es el encargado de registrar las ventas, créditos,
cobranzas en todo el proceso de distribución.
Usuario 3: El gerente, podrá visualizar los reportes de todos los procesos de la
empresa.
1.5 CRONOGRAMA
ACTIVIDAD
JUNIO
JULIO
SEPTIEMBRE
OCTUBRE
NOVIEMBRE
Modelado del
negocio
Análisis
Diseño
Implementación
y Pruebas
Tabla 1.- Cronograma
-9-
2. PROPUESTA
2.1. ANÁLISIS Y DISEÑO
2.1.1. Modelo de Negocios
Tras una reunión con el área administrativa de la empresa Vida Nueva, es claro observar
la necesidad de la administración de optimizar los procesos y manejo de información de
la empresa, siendo su mayor prioridad el control de producto en bodega y distribución.
Como toda empresa, Vida Nueva requiere mantener un control de clientes, empleados y
productos, estos procesos en la actualidad se registran de forma manual.
En la reunión antes mencionada se detectó los siguientes procesos del negocio:
1. Gestión de Cliente.- Se realiza el ingreso de la información del cliente, es posible
los cambios de información por tal motivo, en la gestión de cliente, se realiza la
modificación de la información.
2. Gestión de Personal.- Se realiza el ingreso de la información de los empleados, es
posible los cambios de información por tal motivo en la gestión de empleados, se
realiza la modificación de la información de empleados.
3. Gestión de Producto.- Permite registrar el detalle de los productos en bodega.
-10-
4. Gestión de Rutas.- Permite registrar el detalle de las rutas que realizan los
distribuidores.
5. Gestión Facturación.- Realiza la facturación y registro de ventas, solo si el
cliente se registra se factura con su nombre, caso contrario se factura al
consumidor final.
6. Gestión de Crédito.- Permite llevar un registro de las cuentas por cobrar a los
clientes registrados de la empresa.
7. Gestión Cobranza.- Permite registrar la cancelación del valor total o parcial de las
cuentas de crédito de los clientes.
8. Gestión de Devolución.- Realiza un registro de las devoluciones de productos y
los motivos de las mismas, lo que permitirá que la empresa mejore sus falencias,
los valores de la existencias son restados de bodega debido a que las devoluciones
se retribuyen con un nuevo producto.
9. Gestión de Reingreso.- Permite registrar las ventas del producto en distribución,
el reingreso de producto no vendido y los botellones vacios entregados por los
clientes.
10. Gestión de Entrada a bodega.- Permite registrar el ingreso del producto a
bodega desde la envasadora.
-11-
11. Gestión de Salida a Envasadora.- Permite registrar la salida de los botellones
vacios a la envasadora.
12. Gestión de Salida a distribución.- Permite registrar la salida del producto desde
bodega al proceso de distribución.
2.1.1.1. Diccionario del negocio
Termino Descripción
Botellón Botella grande plástica que sirve para envasar agua
Envasador Persona encargada de envasar agua en botellones
Distribuidor Persona encargada de distribuir los botellones de agua
a las casas u oficinas de los clientes
Crédito Derecho que tiene el cliente de recibir de la empresa
botellones de agua, en la medida que haya
confiabilidad con el compromiso de pago.
Cliente Es quien accede al servicio de entrega o compra de
producto por medio de pago(dinero) o crédito
Personal Conjunto de empleados de la empresa
Gerente Persona encargada de administrar la empresa
Secretaria Persona encargada del manejo de producto en bodega
Ruta Recorrido que consta de las direcciones de los clientes
para la entrega de producto
Cobranza Pago de la cantidad adeudada a la empresa
Reingreso Proceso de registro de ventas en distribución,
reingreso de botellones vacios y botellones no
vendidos
Devolución Entrega de productos con fallas, la empresa no
devuelve dinero, a cambio de un producto defectuoso
entrega uno nuevo
-12-
Facturación Proceso de venta en efectivo, emitiendo un
comprobante de venta(Factura)
Distribución Proceso de entrega de producto en la casa u oficina
del cliente
Tabla2.- Diccionario del Negocio
2.1.2. ROLES
2.1.2.1. DIAGRAMA DE ROLES
La jerarquía entre los empleados está relacionado de la siguiente manera: el gerente es el
administrador de la empresa, la secretaria es la responsable de bodega, el distribuidor es
responsable de la venta y crédito del producto en el proceso de distribución, el envasador
es el encargado de entregar los botellones en la bodega para la venta y retirar los
botellones vacios, el cliente es quien accede al servicio o compra el producto
Figura 2.- Actores de Roles
En el siguiente diagrama se plasma la relación jerárquica de la empresa, en donde el
gerente es el jefe de la secretaria, envasador y distribuidor.
-13-
Figura 3.- Diagrama de Roles
La empresa Vida Nueva cuenta con procesos los mismos que se divide en departamentos
para conocer la integración de cada uno.
Figura 4.- Dependencia por Departamentos
-14-
Los clientes se relacionan directamente con la secretaria en bodega o el distribuidor en el
proceso de distribución.
Figura 5.- Asociación de actores
2.1.2.2. DICCIONARIO DE ROLES
Termino Descripción
Gerente Responsable de recibir y revisar reportes de la empresa
Secretaria Responsable de controlar los procesos de bodega en la
empresa, y la entrega de producto a distribución, además de
entregar los botellones vacios a la envasadora así como estar
al pendiente de los niveles de servicio otorgados al cliente
Distribuidor Responsable de entregar en la casa u oficina de los clientes el
producto recibido de bodega, realizando ventas y créditos
además son responsables de recibir de los clientes los
botellones vacios y entregarlos en bodega
Envasador Responsable del abastecimiento de botellones a bodega, y de
recibir los botellones vacios para ser entregados en la planta
envasadora
Cliente Comprador de botellones, solicita venta o créditos
Empresa Agua
Vida Nueva
Es el negocio distribuidor de agua purificada
-15-
Envasadora Es el departamento responsable de coordinar a los
envasadores de la empresa
Distribución Es el departamento responsable de coordinar a los
distribuidores de la empresa
Bodega Es el departamento responsable de la coordinación de los
empleados de bodega en la empresa
Administración Es el departamento responsable de la coordinación
administrativa de la empresa
Tabla 3.- Diccionario de roles
2.1.3. CASOS DE USO
2.1.3.1. DEFINICIÓN DE ACTORES DEL SISTEMA
Figura 6.- Actores del sistema
GERENTE: El gerente tiene acceso a los reportes de cada proceso de la empresa como:
Reporte de existencias en bodega, al finalizar el día un reporte de ventas, nómina de clientes,
reporte de créditos a clientes, reporte de motivos de devoluciones, nómina de personal, etc.
SECRETARIA: El sistema le permite a la secretaria, controlar la información de cliente,
personal, productos permitiéndole realizar facturación, control de crédito de los clientes,
devoluciones de producto y cobros de las cuentas además del registro de entrada y salida de
productos a la bodega.
-16-
DISTRIBUIDOR: El sistema le permite ingresar registros de las actividades que realiza en la
empresa informe de ventas, créditos, devoluciones, cobranzas y reingresos de productos no
vendidos realizados en la distribución.
ENVASADOR: El sistema le permitirá al envasador registrar los productos que entrega a la
bodega y los botellones vacios que retira de la misma.
CLIENTE: Es quien solicita el servicio que brinda la empresa, el mismo que deberá ser
registrado para obtener la asignación de distribución de agua, además podrá contar con el
servicio de crédito en la compra del producto.
2.1.3.2. CASO DE USOS PRINCIPALES DEL SISTEMA
Tabla 4.- Casos de Uso Principal
Código Caso de usos Actores participantes
C01 Gestión de Clientes Cliente, Secretaria/Distribuidor
C02 Gestión de Personal Empleado, Secretaria
C03 Gestión de Producto Secretaria
C04 Gestión de Ruta Empleado, Secretaria
C05 Gestión Facturación Cliente, Secretaria
C06 Gestión Crédito Cliente, Secretaria/Distribuidor
C07 Gestión de cobranza Cliente, Secretaria/Distribuidor
C08 Gestión de devolución Cliente, Secretaria
C09 Gestión de reingreso en distribución Secretaria, Distribuidor
C10 Gestión de entrada a bodega Secretaria, Envasador
C11 Gestión salida a envasadora Secretaria, Envasador
C12 Gestión salida a distribución Secretaria, Distribuidor
C13 Autenticación, caso de uso soporte para el
sistema
Todos los Usuarios
-18-
2.1.3.4. RELACIÓN DE ACTORES EN EL SISTEMA
Figura 8.- Relación de actores en el sistema
2.1.3.5. DIAGRAMACIÓN DE CASOS DE USOS
C01.- Caso de Uso Gestión clientes
Figura 9.- Caso de Uso Cliente
-19-
Especificaciones del caso de uso
Caso de Uso – C01
Nombre Gestión de Cliente
Actores Cliente, Secretaria, Distribuidor
Descripción El propósito de este caso de uso es permitir
el registro de los datos del cliente
Requerimiento Fundamentales Esta parte del sistema solo puede ser
ejecutada por el usuario Secretaria y
distribuidor
− El proceso de entrada de producto debe
ser guiado, el sistema debe garantizar que el
proceso se realice paso a paso (No se
permite el salteo de pasos).
− Se debe mostrar al usuario un formulario
de ingreso de datos.
− Se debe validar el tipo de datos
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicar al usuario posibles errores
en el proceso de ingreso de datos
Precondiciones El usuario secretaria o distribuidor debe
ingresar al sistema de forma correcta la
información (Debe estar autenticado en el
sistema)
Flujo de Actividades
Clientes
El usuario secretaria hace la solicitud al sistema de empezar el proceso de clientes, la
secretaria llena los campos del formulario con la información del cliente y el sistema
indicará al usuario los respectivos chequeos que ejecutará para garantizar el éxito del
proceso. Una vez ejecutada algunas verificaciones sobre la base de datos debe indicar al
usuario el resultado de éstas, si las verificaciones fueron exitosas o fallidas
PostCondición El sistema emitirá la nómina de los clientes
en caso de ser requerido
Tabla 5.- Caso de Uso Cliente
-20-
C02.- Caso de Uso Gestión Personal
Figura 10.- Caso de Uso Personal
Especificaciones del caso de uso
Caso de Uso - C02
Nombre Gestión de Personal
Actores Personal, Secretaria
Descripción El propósito de este caso de uso es permitir
el registro de los datos del personal
Requerimiento Fundamentales Esta parte del sistema solo puede ser
ejecutada por el usuario Secretaria
− El proceso de personal debe ser guiado, el
sistema debe garantizar que el proceso se
realice paso a paso (No se permite el salteo
de pasos).
− Se debe mostrar al usuario un formulario
de ingreso de datos.
− Se debe validar el tipo de datos
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicarle al usuario posibles
errores en el proceso de ingreso de datos
Precondiciones El usuario secretaria debe ingresar al
sistema de forma correcta la información
(Debe estar autenticado en el sistema)
-21-
Flujo de Actividades
Personal
El usuario secretaria hace la solicitud al sistema de empezar el proceso de personal, la
secretaria llena los campos del formulario con la información del personal y el sistema
indicará al usuario los respectivos chequeos que ejecutará para garantizar el éxito del
proceso. Una vez ejecutada algunas verificaciones sobre la base de datos debe indicar al
usuario el resultado de éstas, si las verificaciones fueron exitosas o fallidas
PostCondición El sistema emitirá la nómina del personal en
caso de ser requerido
Tabla 6.- Caso de Uso Personal
C03.- Caso de Uso Gestión de producto
Figura 11.- Caso de Uso de Producto
-22-
Especificaciones del caso de uso
Caso de Uso - C03
Nombre Gestión de Producto
Actores Secretaria
Descripción El propósito de este caso de uso es permitir
el registro del producto
Requerimiento Fundamentales Esta parte del sistema solo puede ser
ejecutada por el usuario Secretaria
− El proceso de registro de producto debe
ser guiado, el sistema debe garantizar que el
proceso se realice paso a paso (No se
permite el salteo de pasos).
− Se debe mostrar al usuario un formulario
de ingreso de datos.
− Se debe validar el tipo de datos
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicarle al usuario posibles
errores en el proceso de ingreso de producto
Precondiciones El usuario secretaria debe ingresar al
sistema de forma correcta la información
(Debe estar autenticado en el sistema)
Flujo de Actividades
Producto
El usuario secretaria hace la solicitud al sistema de empezar el proceso de producto, la
secretaria llena los campos del formulario con la información del producto y el sistema
indicará al usuario los respectivos chequeos que ejecutará para garantizar el éxito del
proceso. Una vez ejecutada algunas verificaciones sobre la base de datos debe indicar al
usuario el resultado de éstas, si las verificaciones fueron exitosas o fallidas
PostCondición El sistema emitirá el inventario de producto
en caso de ser requerido
Tabla 7.- Caso de Uso Producto
-23-
C04.- Caso de Uso Gestión de Ruta
Figura 12.- Caso de Uso Ruta
Especificaciones del caso de uso
Caso de Uso - C04
Nombre Gestión de Ruta
Actores Secretaria
Descripción El propósito de este caso de uso es permitir
el registro de las rutas de distribución
Requerimiento Fundamentales Esta parte del sistema solo puede ser
ejecutada por el usuario Secretaria
− El proceso de registro de ruta debe ser
guiado, el sistema debe garantizar que el
proceso se realice paso a paso (No se
permite el salteo de pasos).
− Se debe mostrar al usuario un formulario
de ingreso de datos.
− Se debe validar el tipo de datos
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicarle al usuario posibles
errores en el proceso de ingreso de producto
-24-
Precondiciones El usuario secretaria debe ingresar al
sistema de forma correcta la información
(Debe estar autenticado en el sistema)
Flujo de Actividades
Ruta
El usuario secretaria hace la solicitud al sistema de empezar el proceso de Ruta, la
secretaria llena los campos del formulario con la información de la ruta y el sistema
indicará al usuario los respectivos chequeos que ejecutará para garantizar el éxito del
proceso. Una vez ejecutada algunas verificaciones sobre la base de datos debe indicar al
usuario el resultado de éstas, si las verificaciones fueron exitosas o fallidas
PostCondición El sistema emitirá la lista de rutas en caso
de ser requerido
Tabla 8.- Caso de Uso Ruta
C05.- Casos de uso de Gestión de Facturación
Figura 13.- Caso de Uso Facturación
-25-
Especificaciones del caso de uso
Caso de Uso - C05
Nombre Gestión de Facturación
Actores Cliente, Secretaria
Descripción El propósito de este caso de uso es permitir
el registro de facturación
Requerimiento Fundamentales Esta parte del sistema solo puede ser
ejecutada por el usuario Secretaria
− El proceso de facturación debe ser guiado,
el sistema debe garantizar que el proceso se
realice paso a paso (No se permite el salteo
de pasos).
− Se debe mostrar al usuario un formulario
de ingreso de datos.
− Se debe validar el tipo de datos
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicarle al usuario posibles
errores en el ingreso de datos
Precondiciones El usuario secretaria debe ingresar al
sistema de forma correcta la información
(Debe estar autenticado en el sistema)
Flujo de Actividades
Facturación
El usuario secretaria hace la solicitud al sistema de empezar el proceso de facturación, la
secretaria ingresa los datos relacionados a la factura, el sistema indicará al usuario los
respectivos chequeos que ejecutará para garantizar el éxito del proceso. Una vez ejecutada
algunas verificaciones sobre la base de datos debe indicar al usuario el resultado de éstas,
si las verificaciones fueron exitosas o fallidas.
PostCondición El sistema emitirá el comprobante de venta
(factura)
Tabla 9.- Caso de Uso Facturación
-26-
C06.- Caso de Uso Gestión de Crédito
Figura 14.- Caso de Uso Crédito
Especificaciones del caso de uso
Caso de Uso - C06
Nombre Gestión de Crédito
Actores Clientes, secretaria o distribuidor
Descripción El propósito de este caso de uso es permitir
el registro de los créditos de los clientes.
Requerimiento Fundamentales Esta parte del sistema puede ser ejecutada
por el usuario Secretaria o Distribuidor
− El proceso de registro de crédito debe ser
guiado, el sistema debe garantizar que el
proceso se realice paso a paso (No se
permite el salteo de pasos).
− Se debe mostrar al usuario un formulario
-27-
de ingreso de datos.
− Se debe validar el tipo de datos
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicarle al usuario posibles
errores en el proceso de ingreso de datos
Precondiciones El usuario secretaria o distribuidor debe
ingresar al sistema de forma correcta la
información (Debe estar autenticado en el
sistema)
Flujo de Actividades
Crédito
El usuario secretaria o distribuidor hace la solicitud al sistema de empezar el proceso
registro de crédito, el usuario ingresa al sistema los créditos realizados en bodega o
distribución según corresponda, el sistema indicará al usuario los respectivos chequeos que
ejecutará para garantizar el éxito del proceso. Una vez ejecutada algunas verificaciones y
cálculos sobre la base de datos debe indicar al usuario el resultado de éstas, si las
verificaciones fueron exitosas o fallidas.
PostCondición El sistema emitirá la creación o
actualización de la libreta de créditos según
corresponda
Tabla 10.- Caso de Uso Crédito
-28-
C07.- Caso de Uso Gestión de Cobranza
Figura 15.- Caso de Uso Cobranza
Especificaciones del caso de uso
Caso de Uso - C07
Nombre Gestión de Cobranza
Actores Clientes, secretaria o distribuidor
Descripción El propósito de este caso de uso es permitir
el registro de los cobros correspondientes a
los créditos anteriormente realizados
Requerimiento Fundamentales Esta parte del sistema puede ser ejecutada
por el usuario Secretaria o Distribuidor
− El proceso de registro de cobranza debe
ser guiado, el sistema debe garantizar que el
proceso se realice paso a paso (No se
permite el salteo de pasos).
− Se debe mostrar al usuario un formulario
de ingreso de datos.
− Se debe validar el tipo de datos
-29-
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicarle al usuario posibles
errores en el proceso de registro de cobranza
Precondiciones El usuario secretaria o distribuidor debe
ingresar al sistema de forma correcta la
información (Debe estar autenticado en el
sistema)
Flujo de Actividades
Cobranza
El usuario secretaria o distribuidor hace la solicitud al sistema de empezar el proceso
cobranza, el usuario ingresa al sistema los cobros realizados a los clientes, el sistema
indicará al usuario los respectivos chequeos que ejecutará para garantizar el éxito del
proceso. Una vez ejecutada algunas verificaciones y cálculos sobre la base de datos debe
indicar al usuario el resultado de éstas, si las verificaciones fueron exitosas o fallidas.
PostCondición El sistema emitirá la actualización de la
libreta de créditos.
Tabla 11.- Caso de Uso Cobranza
C08.- Caso de Uso de Devolución
Figura 16- Caso de Uso Devolución
-30-
Especificaciones del caso de uso
Caso de Uso - C08
Nombre Gestión de Devolución
Actores Cliente, secretaria
Descripción El propósito de este caso de uso es permitir
el registro de los productos que son
devueltos por fallas.
Requerimiento Fundamentales Esta parte del sistema puede ser ejecutada
por el usuario Secretaria o Distribuidor
− El proceso de entrada de producto debe
ser guiado, el sistema debe garantizar que el
proceso se realice paso a paso (No se
permite el salteo de pasos).
− Se debe mostrar al usuario un formulario
de ingreso de datos.
− Se debe validar el tipo de datos
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicarle al usuario posibles
errores en el proceso de ingreso de datos
Precondiciones El usuario secretaria debe ingresar al
sistema de forma correcta la información
(Debe estar autenticado en el sistema)
Flujo de Actividades
Devolución
El usuario secretaria hace la solicitud al sistema de empezar el proceso devolución, el
usuario ingresa al sistema los detalles de la devolución, el sistema indicará al usuario los
respectivos chequeos que ejecutará para garantizar el éxito del proceso. Una vez ejecutada
algunas verificaciones y cálculos sobre la base de datos debe indicar al usuario el resultado
de éstas, si las verificaciones fueron exitosas o fallidas.
PostCondición El sistema emitirá un informe de
Devoluciones si fuere requerido
Tabla 12.- Caso de Uso Devolución
-31-
C09.- Caso de Uso Gestión de Reingreso en Distribución
Figura 17.- Caso de Uso Reingreso en Distribución
Especificaciones del caso de uso
Caso de Uso - C09
Nombre Gestión Reingreso en distribución
Actores Distribuidor, Secretaria
Descripción El propósito de este caso de uso es permitir
el registro de las ventas, crédito y reingresos
realizadas en el proceso de distribución
Requerimiento Fundamentales Esta parte del sistema solo puede ser
ejecutada por el usuario Distribuidor
− El proceso de registro de reingreso en
distribución debe ser guiado, el sistema
debe garantizar que el proceso se realice
paso a paso (No se permite el salteo de
pasos).
− Se debe mostrar al usuario un formulario
de ingreso de datos.
− Se debe validar el tipo de datos
-32-
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicar al usuario posibles errores
en el proceso de reingreso en distribución.
Precondiciones El usuario distribuidor debe ingresar al
sistema de forma correcta la información
(Debe estar autenticado en el sistema)
Flujo de Actividades
Reingreso en Distribución
El usuario distribuidor hace la solicitud al sistema de empezar el proceso de reingreso en
distribución, el usuario ingresa al sistema los detalles del reingreso en forma general
acorde a la salida a distribución, el sistema indicará al usuario los respectivos chequeos que
ejecutará para garantizar el éxito del proceso. Una vez ejecutada algunas verificaciones y
cálculos sobre la base de datos debe indicar al usuario el resultado de éstas, si las
verificaciones fueron exitosas o fallidas.
PostCondición El sistema emitirá informe de Reingreso en
Distribución
Tabla 13.- Caso de Uso Reingreso en Distribución
C10.- Caso de Uso Gestión Entrada a bodega
Figura 18.- Caso de Uso Entrada a bodega
-33-
Especificaciones del caso de uso
Caso de Uso – C10
Nombre Gestión entrada a bodega
Actores Envasador, Secretaria
Descripción El propósito de este caso de uso es permitir
el registro de la entrada del producto a
bodega
Requerimiento Fundamentales Esta parte del sistema solo puede ser
ejecutada por el usuario Envasador
− El proceso de entrada de producto debe
ser guiado, el sistema debe garantizar que el
proceso se realice paso a paso (No se
permite el salteo de pasos).
− Se debe mostrar al usuario un formulario
de ingreso de datos.
− Se debe validar el tipo de datos
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicarle al usuario posibles
errores en el proceso de entrada de producto
Precondiciones El usuario envasador debe ingresar al
sistema de forma correcta la información
(Debe estar autenticado en el sistema)
Flujo de Actividades
Entrada de producto
El usuario envasador hace la solicitud al sistema de empezar el proceso de entrada de
producto, el usuario ingresa al sistema los detalles de la entrada de producto, el sistema
indicará al usuario los respectivos chequeos que ejecutará para garantizar el éxito del
proceso. Una vez ejecutada algunas verificaciones y cálculos sobre la base de datos debe
indicar al usuario el resultado de éstas, si las verificaciones fueron exitosas o fallidas.
PostCondición El sistema emitirá informe de entrada de
producto
Tabla 14.- Caso de Uso Entrada a bodega
-34-
C11.- Caso de Uso Gestión salida a envasadora
Figura 19.- Caso de Uso Salida a Envasadora
Especificaciones del caso de uso
Caso de Uso – C11
Nombre Gestión salida a envasadora
Actores Envasador, secretaria
Descripción El propósito de este caso de uso es permitir
el registro la salida de botellones vacios a la
envasadora
Requerimiento Fundamentales Esta parte del sistema solo puede ser
ejecutada por el usuario Secretaria
− El proceso, salida de tachos vacios debe
ser guiado, el sistema debe garantizar que el
proceso se realice paso a paso (No se
permite el salteo de pasos).
− Se debe mostrar al usuario un formulario
de ingreso de datos.
− Se debe validar el tipo de datos
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicarle al usuario posibles
-35-
errores en el proceso de salida a envasadora
Precondiciones El usuario Secretaria debe ingresar al
sistema de forma correcta la información
(Debe estar autenticado en el sistema)
Flujo de Actividades
Salida a envasadora
El usuario secretaria hace la solicitud al sistema de empezar el proceso salida a envasadora,
el usuario ingresa al sistema los detalles de la salida, el sistema indicará al usuario los
respectivos chequeos que ejecutará para garantizar el éxito del proceso. Una vez ejecutada
algunas verificaciones y cálculos sobre la base de datos debe indicar al usuario el resultado
de éstas, si las verificaciones fueron exitosas o fallidas.
PostCondición El sistema emitirá comprobante de salida.
Tabla 15.- Caso de Uso Salida a envasadora
C12.- Caso de Uso Gestión Salida a distribución
Figura 20.- Caso de Uso Salida a distribución
-36-
Especificaciones del caso de uso
Caso de Uso – C12
Nombre Gestión Salida a Distribución
Actores Distribuidor, secretaria
Descripción El propósito de este caso de uso es permitir
el registro de la salida del producto de
bodega a distribución
Requerimiento Fundamentales Esta parte del sistema solo puede ser
ejecutada por el usuario Secretaria
− El proceso de salida a distribución debe
ser guiado, el sistema debe garantizar que el
proceso se realice paso a paso (No se
permite el salteo de pasos).
− Se debe mostrar al usuario un formulario
de ingreso de datos.
− Se debe validar el tipo de datos
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicarle al usuario posibles
errores en el proceso de salida a distribución
Precondiciones El usuario secretaria debe ingresar al
sistema de forma correcta la información
(Debe estar autenticado en el sistema)
Flujo de Actividades
Salida a Distribución
El usuario secretaria hace la solicitud al sistema de empezar el proceso Salida a
Distribución, el usuario ingresa al sistema los detalles de la salida a distribución, el sistema
indicará al usuario los respectivos chequeos que ejecutará para garantizar el éxito del
proceso. Una vez ejecutada algunas verificaciones y cálculos sobre la base de datos debe
indicar al usuario el resultado de éstas, si las verificaciones fueron exitosas o fallidas.
PostCondición El sistema emitirá informe de salida a
distribución
Tabla 16.- Caso de Uso Salida a Distribución
-37-
C13.- Caso de Uso de Autenticación
Figura 21.- Caso de Uso Autenticación
Especificaciones del caso de uso
Caso de Uso – C13
Nombre Gestión de Autenticación
Actores Secretaria, envasador, distribuidor, gerente
Descripción El propósito de este caso de uso es permitir
el control de ingreso al sistema
Requerimiento Fundamentales Esta parte del sistema se ejecutada para el
ingreso de los usuarios al sistema
− El proceso de autenticación debe ser
guiado, el sistema debe garantizar que el
proceso se realice paso a paso (No se
permite el salteo de pasos).
− Se debe mostrar al usuario un formulario
de ingreso.
− Se debe validar el tipo de datos
ingresados, el sistema no permite el ingreso
de datos parciales
− Se debe indicarle al usuario posibles
errores en el proceso de autenticación.
Precondiciones El Usuario debe estar registrado, dicho
registro lo realiza la secretaria al registrar al
personal
-38-
Flujo de Actividades
Autenticación
El usuario distribuidor, secretaria, envasador y gerente hace la solicitud al sistema de
empezar el proceso de autenticación, el usuario ingresa al sistema el nombre de usuario y
clave, el sistema indicará al usuario los respectivos chequeos que ejecutará para garantizar
el éxito del proceso. Una vez ejecutada algunas verificaciones sobre la base de datos debe
indicar al usuario el acceso o no al sistema
PostCondición Ingresa al sistema
Tabla 17.- Caso de Uso autenticación
2.1.3.6. DIAGRAMA DE SECUENCIA
Crear Cliente
Figura 22.- Diagrama de Secuencia Crear Cliente
-39-
Modificar Cliente
Figura 23.- Diagrama de Secuencia Modificar Cliente
Crear personal
Figura 24.- Diagrama de Secuencia Crear Personal
-40-
Modificar Personal
Figura 25.- Diagrama de Secuencia Modificar Personal
Crear ruta
Figura 26.- Diagrama de Secuencia Crear Ruta
-41-
Modificar Ruta
Figura 27.- Diagrama de Secuencia Modificar Ruta
Ingresar producto
Figura 28.- Diagrama de Secuencia Ingresar Producto
-42-
Modificar Producto
Figura 29.- Diagrama de Secuencia Modificar Producto
Facturar
Figura 30.- Diagrama de Secuencia Facturar
-43-
Anular factura
Figura 31.- Diagrama de Secuencia Anular Factura
Crear crédito
Figura 32.- Diagrama de Secuencia Crear Crédito
-44-
Ingresar cobranza
Figura 33.- Diagrama de Secuencia Ingresar Cobranza
Ver cuenta de crédito
Figura 34.- Diagrama de Secuencia Ver cuenta de Crédito
-45-
Devolución
Figura 35.- Diagrama de Secuencia Devolución
Entrada a bodega
Figura 36.- Diagrama de Secuencia Entrada a bodega
-46-
Salida a envasadora
Figura 37.- Diagrama de Secuencia Salida a Envasadora
Salida a distribución
Figura 38.- Diagrama de Secuencia Salida a Distribución
-47-
Reingreso de distribución
Figura 39.- Diagrama de Secuencia Reingreso de distribución
2.1.3.7. IDENTIFICACION
2.1.3.7.1. IDENTIFICACIÓN DE ENTRADA.
Inf. De Entrada Colecta o
Genera
Procesa o
Transcribe
Frecuencia Medio o
entrada
Clientes Cliente /
distribuidor
Secretaria,
Distribuidor
Frecuente Datos de
clientes
Personal Personal Secretaria Poco
frecuente
Datos de
personal
Producto Secretaria Secretaria Frecuente Detalle de
producto
-48-
Ruta Secretaria Secretaria Poco
Frecuente
Detalle Ruta
Facturación Cliente Secretaria Frecuente Datos Factura
Crédito Cliente Secretaria /
Distribuidor
Frecuente Detalles de
créditos
Cobranza Cliente Secretaria /
Distribuidor
Frecuente Detalles de
cobros
Devolución Cliente Secretaria Poco
frecuente
Detalle de
devoluciones
Reingreso en
distribución
Distribuidor Distribuidor Frecuente Detalle de
ventas, crédito
y reingreso en
distribución
Entrada a bodega Envasador Envasador Frecuente Detalle de
Entrada de
productos a
Bodega
Salida a
envasadora
Secretaria Secretaria Frecuente Detalle de
Salida de
tachos vacios
a envasadora
Salida a
distribución
Secretaria Secretaria Frecuente Detalle de
salida de
productos a
distribución
Autenticación Gerente/
Distribuidor/
Envasador/
Secretaria.
Gerente/
Distribuidor/
Envasador/
Secretaria.
Frecuente Ingreso de
datos de
autenticación
Tabla 18.- Identificación de Entrada
2.1.3.7.2. IDENTIFICACION DE PROCESOS
Proceso Procesamiento Frecuencia
Cliente manipulación en la BD Frecuente
Personal manipulación en la BD Poco frecuente
-49-
Productos Calcula la cantidad de
producto, relacionando
cada movimiento de
producto al personal,
manipulación en la BD
Frecuente
Ruta Manipulación en la BD Poco Frecuente
Facturación Resta la cantidad de
producto, calcula los
valores de facturación,
manipulación en la BD.
Frecuente
Crédito Resta la cantidad de
producto, suma los
valores de crédito,
relacionado con el cliente,
manipulación en la BD
Poco frecuente
Cobranza Resta el valor de crédito,
relacionado con el crédito,
manipulación en la BD
Frecuente
Devolución Entrega otro producto,
salida que no genera
ingreso económico,
registra el detalle de la
devolución, manipulación
en la BD
Frecuente
Reingreso en
distribución
Almacena las ventas en
distribución de forma
general, reingreso de
botellones vacios, calcula
cantidad de producto en
bodega e ingreso
económico
Frecuente
Entrada a bodega Almacena los ingresos de
producto a bodega,
calcula cantidad de
producto en bodega
Frecuente
Salida a envasadora Almacena la salida de
productos vacios a
envasadora, calcula
cantidad de producto en
bodega
Frecuente
Salida a distribución Almacena la salida de
productos distribución,
Frecuente
-50-
calcula cantidad de
producto en bodega
Autenticación Valida el ingreso de
usuarios registrados al
sistema
Frecuente
Tabla 19.- Identificación de Procesos
2.1.3.7.3. IDENTIFICACION DE CONTROLES
Proceso Control
Clientes Todos los campos deben llenarse, datos
ingresados según el tipo asignado a los
campos
Personal Todos los campos deben llenarse, datos
ingresados según el tipo asignado a los
campos, relacionado con Ruta
Producto Todos los campos deben llenarse, datos
ingresados según el tipo asignado a los
campos, debe estar relacionado con el
personal, los cálculos se realizaran siempre y
cuando no excedan las existencias
Ruta Todos los campos deben llenarse, datos
ingresados según el tipo asignado a los
campos
Facturación IVA 0% ya que la empresa se maneja con el
sistema de RISE, no se puede registrar más
de una vez el mismo producto, todos los
campos de la factura deben ser calculados
Crédito Los valor de crédito más altos se reporta en
un informe
Cobranza El cobro debe ser menor o igual al adeudado,
relacionada a crédito
Devolución Toda devolución debe ser detallada
Reingreso en distribución Cálculos según la salida a distribución, todos
los campos deben llenarse, datos ingresados
según el tipo asignado a los campos, debe
estar relacionado con el personal
Entrada a bodega Todos los campos deben llenarse, datos
ingresados según el tipo asignado a los
-51-
campos, debe estar relacionado con el
personal
Salida a envasadora Todos los campos deben llenarse, datos
ingresados según el tipo asignado a los
campos, debe estar relacionado con el
personal, los cálculos se realizaran según los
tachos vacios ingresados a bodega.
Salida a distribución Todos los campos deben llenarse, datos
ingresados según el tipo asignado a los
campos, debe estar relacionado con el
personal, los cálculos se realizaran siempre y
cuando no excedan las existencias
Autenticación Todos los campos deben llenarse, datos
ingresados según el tipo asignado a los
campos, debe estar relacionado con el
personal
Tabla 20.- Identificación de Controles
2.1.3.7.4. IDENTIFICACIÓN DE SALIDA
Salida Destino Uso Frecuencia
Clientes Gerente/Secretaria Nómina de
Clientes
Frecuente
Personal Gerente/Secretaria Nómina Personal Frecuente
Producto Gerente/ Secretaria Inventario Frecuente
Ruta Gerente/Secretaria Lista de Ruta Frecuente
Facturación Gerente/Secretaria Reporte de
ventas
Factura
Frecuente
Crédito Gerente/Secretaria/Distribuidor Libreta de
Créditos
Frecuente
Cobranza Gerente/Secretaria/Distribuidor Libreta de
Créditos
Frecuente
Devolución Gerente/Secretaria Informe de
devolución
Frecuente
Producto Gerente/ Secretaria Inventario Frecuente
Reingreso en
distribución
Gerente/
Secretaria/Distribuidor
Informe de
reingreso en
Frecuente
-52-
distribución
Entrada a
bodega
Gerente/ Secretaria/Envasador Informe de
entrada a bodega
Frecuente
Salida a
envasadora
Gerente/Envasador Informe de
salida a
envasadora
Frecuente
Salida a
distribución
Gerente/
distribuidor/Secretaria
Informe de
salida a
distribución
Frecuente
Autenticación Gerente/ Secretaria/
envasador/distribuidor
Ingreso Sistema Frecuente
Tabla 21.- Identificación de Salida
2.1.3.8. BASE DE DATOS
El sistema gestor de base de datos utilizado es MySQL, debido a su flexibilidad, este es un
sistema gestor de base de datos relacional muy rápido, fiable robusto y fácil de usar, además
de ser multiusuario, multiplataforma y de código abierto.
Brindando junto al sistema de información de la empresa “Vida Nueva” información oportuna
y fiable en todos los procesos.
-56-
2.1.3.8.4. SELECCIÓN DE LLAVES PRIMARIAS INICIALES
En la base de datos se encuentran las llaves primaras correspondientes a las siguientes tablas:
TABLA LLAVE PRIMARIA
Clientes CedCli
Personal CedPersonal
Producto CodProd
Rutas NumRutas
Factura NumFac
Crédito NumCred
Devolución NumDevol
Cobranza NumCob
Entradabodega NumEntrada
Salidadistribución NumSalida
Salidaenvasadora NumSalEnv
Reingreso NumReingreso
Tabla 22.- Claves Primarias
2.1.3.8.5. DICCIONARIO DE TABLAS
CLIENTES
Campos Tipo dato Restricciones Caracteres
CedCli Varchar Varchar{1 a 13} Alfabéticos, no especiales
NomCli Varchar Varchar{1 a 50} Alfabéticos, no especiales
TeleCli Varchar Varchar{1 a 9} Alfabéticos, no especiales
CiudadCli Varchar Varchar{1 a 15} Alfabéticos, no especiales
Calle1Cli Varchar Varchar{1 a 35} Alfabéticos, no especiales
Calle2Cli Varchar Varchar{1 a 35} Alfabéticos, no especiales
NumCasaCli Varchar Varchar{1 a 6} Alfabéticos, no especiales
RefDirCli Varchar Varchar{1 a 55} Alfabéticos, no especiales
Tabla 23.- Tabla Clientes
-57-
PERSONAL
Campos Tipo Restricciones Caracteres
CedPersonal Varchar Varchar{1 a 10} Alfabéticos, no especiales
NombrePer Varchar Varchar{1 a 70} Alfabéticos, no especiales
TelePer Varchar Varchar{1 a 9} Alfabéticos, no especiales
DirPer Varchar Varchar{1 a 75} Alfabéticos, no especiales
CargoPer Varchar Varchar{1 a 2} Alfabéticos, no especiales
Password Varchar Varchar{1 a 8} Alfabéticos, no especiales
NumRutas Integer Numérico
Tabla 24.- Tabla Personal
RUTAS
Campos Tipo Restricciones Caracteres
NumRutas Integer Numérico
PlacaCarro Varchar Varchar{1 a 8} Alfabéticos, no especiales
Descripción Varchar Varchar{1 a 70} Alfabéticos, no especiales
Tabla 25.- Tabla Rutas
PRODUCTO
Campos Tipo Restricciones Caracteres
CodProd Varchar Varchar{1 a 15} Alfabéticos, no especiales
DetProd Varchar Varchar{1 a 70} Alfabéticos, no especiales
CantProd Integer Numérico
PrecProd Float Numérico con decimales
Tabla 26.- Tabla Producto
FACTURA
Campos Tipo Restricciones Caracteres
NumFac Integer Numérico
FecFac Date Fecha
CedCli Varchar Varchar{1 a13} Alfabéticos, no especiales
estado Char Char (1) 0,1
TotalFac Float Numérico con decimales
Tabla 27.- Tabla Factura
-58-
DETALLE FACTURA
Campos Tipo Restricciones Caracteres
CodDetalleFac Integer Numérico
CodProd Varchar Varchar{1 a15} Alfabéticos, no especiales
NumFac Integer Numérico
CantDetalle Integer Numérico
Tabla 28.- Tabla Detalle Factura
CREDITO
Campos Tipo Restricciones Caracteres
NumCred Integer Numérico
CedCli Varchar Varchar{1 a13} Alfabéticos, no especiales
FechaAperCred Date Fecha
TotalCred Float Número con decimales
Tabla 29.- Tabla Crédito
DETALLE DE CREDITO
Campos Tipo Restricciones Caracteres
NumDetCred Integer Numérico
CodProd Varchar Varchar{1 a 15} Alfabéticos, no especiales
FechaDetCred Date Fecha
CantDetCred Integer Numérico
NumCred Integer Numérico
ValCred Float Numérico con decimales
Tabla 30.- Tabla Detalle de Crédito
COBRANZA
Campos Tipo Restricciones Caracteres
NumCob Integer Numérico
NumCred Integer Numérico
ValorCob Float Numérico con decimales
FechaCob Date Fecha
CedPersonal Varchar Varchar{1 a13} Alfabéticos, no especiales
Tabla 31.- Tabla Cobranza
-59-
ENTRADA A BODEGA
Campos Tipo Restricciones Caracteres
NumEntrada Integer Numérico
FechaEntrada Date Fecha
CodProd Varchar Varchar{1 a15} Alfabéticos, no especiales
CantEntrada Integer Numérico
CedPersonal Varchar Varchar{1 a13} Alfabéticos, no especiales
Tabla 32.- Tabla Entrada a Bodega
SALIDAENVASADORA
Campos Tipo Restricciones Caracteres
NumSalida Integer Numérico
FechaSalida Date Fecha
CodProd Varchar Varchar{1 a 15} Alfabéticos, no especiales
CantSalida Integer Numérico
CedPersonal Varchar Varchar{1 a 10} Alfabéticos, no especiales
Tabla 33.- Tabla Salida Envasadora
SALIDADISTRIBUCIÓN
Campos Tipo Restricciones Caracteres
NumSalida Integer Numérico
FechaSalida Date Fecha
CodProd Varchar Varchar{1 a 15} Alfabéticos, no especiales
CantSalida Integer Cantidad
CedPersonal Varchar Varchar{1 a 10} Alfabéticos, no especiales
estado char Char(1) 0,1
Tabla 34.- Tabla Salida Distribución
REINGRESO
Campos Tipo Restricciones Caracteres
NumReingreso Integer Numérico
CodProd Varchar Varchar{1 a 15} Alfabéticos, no especiales
CantNoVendidas Integer Numérico
FechaReingreso Date Fecha
CedPersonal Varchar Varchar{1 a 10} Alfabéticos, no especiales
NumSalida Integer Numérico
CantVendidas Integer Numérico
TachosVacios Integer Numérico
ValorVenta Float Número con decimales
Tabla 35.- Tabla Reingreso
-62-
2.1.3.11. DISEÑO DE INTERFACE
2.1.3.11.1. Ventana de Autenticación
Figura 45.- Interface Autenticación
2.1.3.11.2. Ventana para Secretaria
Figura 46.- Interface Menú Secretaria
-63-
2.1.3.11.3. Ventana para Distribuidor
Figura 47.- Interface Menú Distribuidor
2.1.3.11.4. Ventana para envasador
Figura 48- Interface Menú Envasador
-64-
2.1.3.11.5. Ventana para gerente
Figura 49- Interface Menú Gerente
2.2. IMPLEMENTACIÓN
2.2.1. Codificado de ingreso a sesión
2.2.1.1. Seguridad
<?PHP
Session_start();
If($_SESSION["autentificado"] != "1"){
Header("Location: index.php");
Exit();
}
?>
2.2.1.2. Control
<?PHP
require('db.class.php');
$obj = new DataBase();
$num=$_POST["usuario"];
$a=0;
-65-
$q = $obj->query("SELECT * FROM personal WHERE CedPersonal=$num");
if(($q)){
while ($rows=mysql_fetch_array($q)) {
if($rows["CargoPer"]=='1'){
Session_start();
If($_POST["usuario"]==$rows[CedPersonal] &&
$_POST["contrasena"]==$rows[Password]){
$_SESSION["autentificado"]="1";
$_SESSION["user"]=$_POST["usuario"];
$_SESSION["pass"]=$_POST["contrasena"];
$_SESSION["Cli"]="1600537698";
header ("Location:pagedistri.php");
$a=$a+1;
}
}
if($rows["CargoPer"]=='2'){
Session_start();
If($_POST["usuario"]==$rows[CedPersonal] &&
$_POST["contrasena"]==$rows[Password]){
$_SESSION["autentificado"]="1";
$_SESSION["user"]=$_POST["usuario"];
$_SESSION["pass"]=$_POST["contrasena"];
header ("Location:pageenva.php");
$a=$a+1;
}}
if($rows["CargoPer"]=='3'){
Session_start();
If($_POST["usuario"]==$rows[CedPersonal] &&
$_POST["contrasena"]==$rows[Password]){
$_SESSION["autentificado"]="1";
$_SESSION["user"]=$_POST["usuario"];
$_SESSION["pass"]=$_POST["contrasena"];
$_SESSION["cli"]='1600537698';
header ("Location:pagesecre.php");
$a=$a+1;
}}
if($rows["CargoPer"]=='4'){
Session_start();
If($_POST["usuario"]==$rows[CedPersonal] &&
$_POST["contrasena"]==$rows[Password]){
$_SESSION["autentificado"]="1";
$_SESSION["user"]=$_POST["usuario"];
-66-
$_SESSION["pass"]=$_POST["contrasena"];
header ("Location:pagegeren.php");
$a=$a+1;
}}}}
if ($a==0){
header("Location:mensajeerror.php"); }
?>
2.2.1.3. Salir
<?PHP
session_start();
session_destroy();
?>
2.2.2. Codificado de conexión a Base de Datos
2.2.2.1. Variables de la Base de Datos
<?php
define("DBNAME","vidanueva");
define("DBUSER","root");
define("DBPWD","");
?>
2.2.2.2. Conexión a la Base de Datos
<?php
require('config.php');
class DataBase{
var $db_HOST = "localhost";
var $db_USER = DBUSER;
var $db_PASS = DBPWD;
var $db_name = DBNAME;
var $MSG_ERROR = "Error al conectar a la Base de Datos";
var $dbc;
function utf8($a) {
return htmlspecialchars($a,ENT_QUOTES,'UTF-8'); }
function database() {
$this->connect(); }
function connect() {
$this->dbc = mysql_connect($this->db_HOST,$this->db_USER,$this-
>db_PASS);
-67-
$m = mysql_select_db($this->db_name,$this->dbc);
return($dbc); }
?>
2.2.3. Codificado de funciones
2.2.3.1. Ingresar Datos
function ingresarcli($form){
$respuesta = new xajaxResponse();
$ced=$form["cedulacli"];
$nom=$form["nombrescli"];
$tel=$form["telefonocli"];
$ciu=$form["ciudadcli"];
$ca1=$form["calle1cli"];
$ca2=$form["calle2cli"];
$ncas=$form["numcasacli"];
$ref=$form["refercli"];
$obj = new DataBase();
$ssql =$obj->query("INSERT INTO
clientes(Cedcli,NomCli,TeleCli,CiudadCli,Calle1Cli,Calle2Cli,NumCasaCli,RefDirCli)V
ALUES('$ced','$nom','$tel','$ciu','$ca1','$ca2','$ncas','$ref');");
if (($ssql)){
$respuesta->alert('Datos Ingresados correctamente');
$obj1 = new DataBase();
$a=0;
$q1 = $obj1->query("SELECT * FROM clientes WHERE CedCli=$ced");
if(($q1)){
while ($rows=mysql_fetch_array($q1)) {
$s .=" rows[NomCli]."</h2>";
$s .="<table width='100%' height='100%' border='0'> <tr>";
$s .="<tr><td>TELEFONO: ".$rows[TeleCli]."</td></tr>";
$s .="<tr><td>CIUDAD:".$rows[CiudadCli]."</td></tr>";
$s .="<tr><td>PRINCIPAL: ".$rows[Calle1Cli]."</td></tr>";
$s .="<tr><td>TRANSVERSA: ".$rows[Calle2Cli]."</td></tr>";
$s .="<tr><td> NUMERO: ".$rows[NumCasaCli]."</td></tr>";
$s .="<tr><td> REFERENCIA.: ".$rows[RefDirCli]."</td></tr>
$s .="</table>";$a=$a+1;}}
$respuesta->Assign('content',"innerHTML",$salida);
return $respuesta; }
-68-
2.2.3.2. Ver Nómina
<?php
include('class.ezpdf.php');
$pdf =& new Cezpdf('a4');
$pdf->selectFont('../fonts/courier.afm');
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect("localhost", "root", "");
mysql_select_db("vidanueva", $conexion);
$queEmp = "SELECT * FROM clientes ORDER BY NomCli";
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array('num'=>$ixx));
}
$titles = array(
'CedCli'=>'Cedula',
'NomCli'=>'<b>Apellidos y Nombres</b>',
'TeleCli'=>'<b>Telefono</b>',
'CiudadCli'=>'<b>Ciudad</b>',
'Calle1Cli'=>'<b>Calle Principal</b>',
'Calle2Cli'=>'<b>Calle Transversal</b>',
'NumCasaCli'=>'<b>Nro Casa</b>',
'RefDirCli'=>'<b>Referencia</b>'
);
$options = array(
'shadeCol'=>array(0.9,0.9,0.9),
'xOrientation'=>'center',
'width'=>500
);
$txttit = "<b>AGUA VIDA NUEVA</b>\n";
$txttit.= "Empresa Distribudora de agua purificada \n";
$pdf->ezText($txttit, 14);
$pdf->ezTable($data, $titles, '', $options);
$pdf->ezText("\n\n\n",10);
$pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
$pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
$pdf->ezStream();
?>
-69-
2.2.3.3. Buscar Datos
function buscarfac($form){
$respuesta = new xajaxResponse();
$obj = new DataBase();
$obj1 = new DataBase();
$q = $obj->query("SELECT factura.*, clientes.* FROM factura, clientes WHERE
(NumFac=$fac) and (factura.CedCli=clientes.CedCli)");
if(($q)){
$s .="<blockquote><table width='50%' height='100%' border='0'> ";
while ($rows=mysql_fetch_array($q)) {
$s .="<table border='0'> ";
$s .="<tr>CLIENTE: ".$rows[NomCli]."</td></tr>";
$s .="<tr>DIRECCION: ".$rows[CiudadCli].", ".$rows[Calle1Cli]." y
".$rows[Calle2Cli]."</td></tr>";
$s .="<tr>TELEFONO: ".$rows[TeleCli]."</td></tr>";
$s .="<tr>FECHA: ".$rows[FecFac]."</td></tr></table>";
$a=$rows[estado];}}
if ($a=='1'){
$respuesta->alert('La factura ya se encuentra anulada');}
$q1 = $obj1->query("SELECT detallefac.*, producto.* FROM
detallefac,producto WHERE NumFac=$fac and
detallefac.CodProd=producto.CodProd");
if(($q1)){
while ($rows1=mysql_fetch_array($q1)) {
$precsql=$rows1[PrecProd];
$psql=$precsql+0.001;
$asql=number_format($psql, 2, ".", ".");
$precio=$rows1[CantDetalle]*$asql;
$p=$precio+0.001;
$a=number_format($p, 2, ".", ".");
$t=$t+$a;
$tt=$t+0.001;
$tfac=number_format($tt, 2, ".", ".");
$s .="<tr><td align=right>".$rows1[CantDetalle]."
</b></td><td>".$rows1[DetProd]."</td><td
align=right>".$asql."</td><td align=right>".$a."</td>";}
$s .="<tr><td>subtotal</td><td >".$tfac."</td></tr>";
$s .="<tr><td>IVA 12%</td><td align=right>0.00</td></tr>";
$s .="<tr><td>VALOR TOTAL</td><td>".$tfac."</td></tr>";
$s .="</table>" ;
if ($a=='0'){
$s .="<form id=\"buscar\">
-70-
<input type='hidden' value=$fac name=\"factu\">
<input type=\"button\" value=\"anular factura\"
onclick=\"xajax_anularfac(xajax.getFormValues('buscar'))\">
</form>";}}
$salida=$s;}
$respuesta->Assign('contentdatos',"innerHTML",$salida);
return $respuesta;}
2.2.3.4. Consultas
function kardexprod($form){
$respuesta = new xajaxResponse();
$obj = new DataBase();
$cod=$form["prod"];
$m=$form["mes"];
$a=$form["anio"];
$fechai=$a."-".$m."-01";
$fechaf=$a."-".$m."-31";
$q = $obj->query("SELECT * FROM producto WHERE CodProd=$cod");
if(($q)){
while ($rows=mysql_fetch_array($q)) {
$s.="<blockquote> <h2> KARDEX DE PRODUCTO</h2>";
$s.="<table cellpading=1 border=0>";
$s.="<tr><td><b>DETALLE: </td><td>".$rows[DetProd]."</td></tr>";
$s.="<tr>EXISTENCIAS: </td><td>".$rows[CantProd]."</td></tr>";
$s.="<tr><td><b>PRECIO: $".$rows[PrecProd]."</td></tr></table>";}
}else{
$salida2 = " La cedula Nº $f es incorrecta Vuelva a intentarlo ";
}
$obj1 = new DataBase();
$cant=0;
$q1 = $obj1->query("SELECT salidadistribucion.*, personal.* FROM
salidadistribucion, personal WHERE (salidadistribucion.FechaSalida BETWEEN '$fechai'
AND '$fechaf') and (salidadistribucion.CodProd=$cod) and
(salidadistribucion.CedPersonal=personal.CedPersonal)");
if(($q1)){
$s.="<table >";
$s.="<tr><td align=center><b>FECHA</td>";
$s.="<td align=center><b>DETALLE</td>";
$s.="<td align=center><b>SALIDA</td>";
$s.="<td align=center><b>ENTRADA</td>";
$s.="<td align=center><b>RESPONSABLE</td></tr>";
while ($rows1=mysql_fetch_array($q1)) {
-71-
$cant=$cant+$rows1[CantSalida];
$s.="<tr><td>".$rows1[FechaSalida]."</td>";
$s.="<td> Salida a distribucion</td>";
$s.="<td align=right>".$rows1[CantSalida]."</td>";
$s.="<td></td>";
$s.="<td>".$rows1[NombrePer]."</td></tr>";}}
$obj2 = new DataBase();$cant=0;
$q2 = $obj2->query("SELECT salidaenvasadora.*, personal.* FROM
salidaenvasadora, personal WHERE ((salidaenvasadora.FechaSalEnv
BETWEEN '$fechai' AND '$fechaf') and (salidaenvasadora.CodProd=$cod)
and (salidaenvasadora.CedPersonal=personal.CedPersonal)) ORDER BY
salidaenvasadora.FechaSalEnv");
if(($q2)){
while ($rows2=mysql_fetch_array($q2)) {
$cant=$cant+$rows2[CantSalEnv];
$s.="<tr><td>".$rows2[FechaSalEnv]."</td>";
$s.="<td>Salida a Envasadora</td>";
$s.="<td align=right>".$rows2[CantSalEnv]."</td>";
$s.="<td>".$rows2[NombrePer]."</td></tr>";}}
$obj3 = new DataBase();
$cant=0;
$q3 = $obj3->query("SELECT entradabodega.*, personal.* FROM
entradabodega, personal WHERE (entradabodega.FechaEntrada
BETWEEN '$fechai' AND '$fechaf') and
(entradabodega.CodProd=$cod) and
(personal.CedPersonal=entradabodega.CedPersonal) ORDER BY
entradabodega.FechaEntrada");
if(($q3)){
while ($rows=mysql_fetch_array($q3)) {
$cant=$cant+$rows[CantEntrada];
$s.="<tr><td>".$rows[FechaEntrada]."</td>";
$s.="<td>Entrada a bodega</td>";
$s.="<td></td>";
$s.="<td >".$rows[CantEntrada]."</td>";
$s.="<td>".$rows[NombrePer]."</td></tr>";}}
$salida=$s;
$salida2=$s1;
$salida3=$s2." <a href=\"javascript:window.print()\">Imprimir </a> ";
$respuesta->Assign('content',"innerHTML",$salida);
$respuesta->Assign('contentdatos',"innerHTML",$salida2);
$respuesta->Assign('contentdatos2',"innerHTML",$salida3);
return $respuesta;
}
-72-
Servidor de
Aplicación Router
PC con explorador
Mozilla Firefox
PC con explorador MS
Internet Explorer
2.3. PRUEBAS
(Véase Anexo 1)
3. ESTUDIO DE VIABILIDAD
3.1 VIABILIDAD TÉCNICA
Para desarrollar esta aplicación se propone la implementación de un sistema cliente-
servidor mediante la utilización de tecnologías de software libre. Esta arquitectura
consiste en la utilización de uno o más clientes, normalmente exploradores de Internet
(MS Internet Explorer, Mozilla Firefox, Apple Safari, Opera, Chrome), que mediante
una conexión a la intranet de la empresa se conectan al servidor en el cual reside la
aplicación. El siguiente diagrama representa la arquitectura utilizada:
Figura 50.- Intranet
-73-
El servidor cuenta con el servicio web HTTP Apache, el mismo que es un producto de
utilización libre bajo la licencia ASL (Apache Software Licence), gestor de base de
datos MySql, y Php 5, las versiones son instalaciones para Windows.
Del lado del cliente no se requiere de ningún hardware ni sistema operativo
específicos, sólo es necesario que pueda ejecutar un explorador de Internet y mantenga
acceso a la intranet de la empresa.
Debido a ser una página orientada a resultados en tablas (a diferencia de las orientadas
a contenidos gráficos), estamos hablando de un tamaño de descarga de 250 Kb para la
primera vez que se entra a la página y por trabajar con Xajax no es necesario recargar
la página mientras realiza los procesos del sistema.
3.2 VIABILIDAD OPERATIVA
Desde el punto de vista operativo, el impacto del nuevo sistema sobre la empresa
“Vida Nueva” en el cual será aplicado será positivo y sin grandes trabas debido a lo
siguiente:
En primera instancia, la idea surge de una necesidad detectada por los administrativos
que trabajan en la empresa. Por lo cual, éste sistema se enfoca a resolver un problema
concreto y que fija un punto de partida a la resolución de los problemas por ellos
planteado.
-74-
Por otro lado, la implementación del mismo no representa un cambio radical en los
procesos principales, o en el personal que trabaja en la empresa cabe recalcar que el
sistema presentará una interfaz web, muy intuitiva que solo requerirá en concepto de
conocimientos previos, estar familiarizado con una PC y la navegación por internet,
conocimientos que el personal de la empresa “Vida Nueva” posee, por lo que es
solamente necesario la capacitación del personal en el manejo del sistema de
información.
El software, además generará reportes para ser evaluados por el personal
administrativo, quienes están habituados a recibirlos frecuentemente.
3.3 VIABILIDAD ECONÓMICA
La necesidad más grande de la empresa “Vida Nueva”, es controlar sus ingresos
económicos en la venta y distribución, debido a la pérdida involuntaria de 2 a 4
botellones a la semana, o la venta del producto sin que la empresa reciba el valor del
mismo, esto ha representado una perdida desmedida en los ingresos de la empresa.
Pbp=promedio de botellones perdidos por mes
V=valor por botellón
Tpm= Total pérdida mensual
Tpm=Pbp*V
Tpm=12*1,50
Tpm=18,00
-75-
Costo Descripción
18,00 Pérdida mensual
54,00 Pérdida trimestral
108,00 Pérdida semestral
216,00 Pérdida Anual
1080,00 Pérdida 5 años
Tabla 36.- Detalle de Viabilidad Económica
Con la implementación del sistema de información, la empresa limitará la pérdida del
producto, poseyendo un control sobre la cantidad de producto y dinero que entra o sale
de la empresa, lo cual representaría un ingreso estimado de 1080USD con la
implementación del software.
La empresa Vida Nueva, no incrementará sus costos de proceso, el software no
potencia un impacto económico representativo, debido a que no requiere contratar
nuevo personal para el uso del mismo.
El sistema se implementa con los siguientes costos:
Descripción Costo
Router 35,00
Instalación de la red 20,00
Sistema de información (Véase Anexo 2) 872,93
Impresora 180,00
TOTAL 927,93
Tabla 37.- Detalle de Gastos
Considerando los gastos de la empresa al implementar el sistema representamos de la
siguiente manera el costo y beneficio del sistema de información
-76-
-400
-200
0
200
400
600
800
1000
1200
Costo Beneficio
Gasto
Ingreso
Tabla 38.- Costo Beneficio
3.3.1. Representación grafica de Costo Beneficio
Figura 51.- Costo Beneficio
El gráfico representa el costo beneficio de la implementación del sistema, como se menciona
antes el sistema controla la entrada y salida del producto, evitando la pérdida del mismo en la
empresa, los gastos que la implementación representan se volverían ingresos en el plazo de
aproximadamente 3 años, considerando que el software por la tecnología utilizada tendría un
promedio de 5 años de vida útil, reflejando ser el sistema una inversión para la empresa.
Inicial Mensual Trimestral Semestral Anual 3 años 5 años
GASTOS 927,93 909,93 873,93 801,93 657,93 279,93 -206,07
INGRESOS 0 18 54 108 216 648 1080
-77-
4. DOCUMENTACIÓN
4.1. Manual técnico
Véase el anexo 3
4.2. Manual del usuario
Véase el anexo 4
5. CONCLUSIONES
La investigación bibliográfica permitió seleccionar las metodologías y herramientas de
desarrollo software, basándose en fundamentos científicos probados por los autores de
los libros consultados.
El diagnóstico situacional de la empresa “Vida Nueva” permitió identificar las
necesidades reales de la empresa, logrando así que el sistema de información cumpla
con los requerimientos del cliente.
La estructura del sistema se basa en diagramas y diseño lógicos que le dan fiabilidad
en la seguridad y respuesta de datos, además de flexibilidad para agregar
posteriormente nuevos servicios al mismo.
La utilización de herramientas de desarrollo de código abierto, evitan la adquisición de
licencias que aumentan el costo de la implementación del sistema de información de la
empresa Vida Nueva.
-78-
La Implementación del sistema de información requiere bajos recursos hardware y
software, adaptándose al personal con el que cuenta la empresa y los recursos de la
misma.
La validación a través de pruebas al Sistema de información hizo posible la
localización de errores presentes en el software y la posterior corrección de los
mismos, que permitió optimizar las opciones del sistema.
-79-
RECOMENDACIONES
La empresa debe hacer un diagnóstico situacional periódicamente para ver el
desarrollo de la empresa en el manejo de la bodega.
Cuando se desee escalar el sistema de información de la empresa “Vida Nueva”, es
importante basarse en los diagramas y diseños lógicos del sistema actual.
Como todo software es importante brindar mantenimiento al sistema y supervisar su
funcionamiento, además de realizarle el mantenimiento correctivo y ajustes
correspondientes en caso de requerirlo.
Para la implementación del Sistema es necesario que el personal de la empresa sea
capacitado en la utilización del sistema y el manejo del hardware.
Para el manejo de la información dentro de la gestión de distribución y ventas de la
empresa “Vida Nueva” se recomienda implementar el sistema de información.
El software debe ser evaluado anualmente por personal técnico capacitado, lo que
permitirá localizar errores del sistema o errores en el uso del mismo.
-80-
6. BIBLIOGRAFÍA
BRAUDE Eric J. (2003), Ingeniería del Software una perspectiva orientada a objetos,
Alfaomega, 1ra ED, México.
FRANCO DÍAZ Ricardo Rubén, (2006), Tutorial Metodología para el Desarrollo de
Aplicaciones Orientadas A Objetos, myGnet, 1ra ED, México.
LARMAN Craig, (2003), UML y patrones, Pearson Educación, 2da ED, Madrid.
LOPEZ ROMAN Leobardo, (2007), Metodología de la programación Orientada a
Objetos, Alfaomega, 1ra ED, México.
PAVON PUERTAS Jacobo, (2007), Creación De Un Portal Con Php Y Mysql,
Alfaomega, 3ra ED, México.
PIATTINI Mario, MARCOS Esperanza, (2006), Diseño de Bases de Datos Relacional,
Alfaomega, 1ra ED, Colombia
SCHULZ Ralph G. (2009), Diseño Web con CSS, Alfaomega, 1ra ED, México.