1.introducciÓn -...

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

Upload: truongnguyet

Post on 28-Sep-2018

225 views

Category:

Documents


0 download

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

-17-

2.1.3.3. DIAGRAMA DE CASO DE USO PRINCIPAL

Figura 7.- Caso de Uso Principal

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

-53-

2.1.3.8.1. MODELO CONCEPTUAL

Figura 40.- Modelo Conceptual de la Base de Datos

-54-

2.1.3.8.2. MODELO LOGICO

Figura 41.- Modelo Lógico de la Base de Datos

-55-

2.1.3.8.3. MODELO FISICO

Figura 42.- Modelo Físico de la Base de Datos

-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

-60-

2.1.3.9. MAPA DE NAVEGACION

Figura 43.- Mapa de Navegación

-61-

2.1.3.10. DIAGRAMA DE CLASES

Figura 44.- Diagrama de Clases

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