TRABAJO DE GRADUACION PARA OPTAR AL GRADO DE INGENIERO EN CIENCIAS DE LA COMPUTACION “DESARROLLO DE LOS MODULOS COMPRAS, VENTAS, INVENTARIO, GESTION DINAMICA, GESTION DE CLIENTES Y ADMINISTRACION, COMO BASE DE UN SISTEMA DE PLANEACION DE RECURSOS EMPRESARIALES ORIENTADO AL SECTOR AGROINDUSTRIAL DE EL SALVADOR CASO ESPECIFICO: AGROINDUSTRIA BUENA VISTA” PRESENTADO POR: SAMUEL ALFREDO CRUZ CLARA ANYA CAROLINA ESPINOZA ESPINOZA OSCAR MAURICIO GUEVARA ALEMAN ASESOR: ING. CARLOS JOSE TEJADA FUENTES MARZO 2008 EL SALVADOR, CENTRO AMERICA U N I V E R S I D A D D O N B O S C O F A C U L T A D D E I N G E N I E R I A U N I V E R S I D A D D O N B O S C O F A C U L T A D D E I N G E N I E R I A RECTOR ING. FEDERICO MIGUEL HUGUET RIVERA SECRETARIO GENERAL LIC. MARIO RAFAEL OLMOS DECANO DE LA FACULTAD DE INGENIERIA ING. ERNESTO GODOFREDO GIRON U N I V E R S I D A D D O N B O S C O F A C U L T A D D E I N G E N I E R I A TRABAJO DE GRADUACION PARA OPTAR AL GRADO DE INGENIERO EN CIENCIAS DE LA COMPUTACION “DESARROLLO DE LOS MODULOS COMPRAS, VENTAS, INVENTARIO, GESTION DINAMICA, GESTION DE CLIENTES Y ADMINISTRACION, COMO BASE DE UN SISTEMA DE PLANEACION DE RECURSOS EMPRESARIALES ORIENTADO AL SECTOR AGROINDUSTRIAL DE EL SALVADOR CASO ESPECIFICO: AGROINDUSTRIA BUENA VISTA” Ing. Raúl Martínez Rivas LECTOR Ing. Carlos Tejada Fuentes ASESOR MARZO 2008 AGRADECIMIENTOS Samuel Alfredo Cruz Clará Doy gracias a Dios todo poderoso, por haber estado conmigo en cada paso de mi carrera, fortaleciendo e iluminando mi mente, por haber puesto en mi camino a aquellas personas que han sido mi soporte y compañía durante todo el periodo de estudio. A mis padres a quienes dedico este logro, Andrés Abelino Cruz Fuentes y Alba Haydeé Clará de Cruz, por todo el esfuerzo realizado y forjar en mí, día a día, lo que hasta ahora soy como persona, por el apoyo incondicional y por creer en mí siempre. A mis hermanos, que con su apoyo, comprensión y amistad me han acompañado a lo largo de toda la carrera. Agradecer hoy y siempre a la familia Pineda Clará, por todo el apoyo brindado, colaboración y cariño sin ningún interés. De igual manera, mi más sincero agradecimiento a nuestro asesor y amigo Ing. Carlos Tejada por su invaluable colaboración, sus consejos, paciencia y toda la ayuda brindada en todo el proceso. Gracias a todos mis amigos por sus oraciones, sus consejos, su apoyo, su amistad que me han brindado en estos años de estudio como durante el proceso de graduación. Y finalmente, quisiera agradecer a todas y cada una de las personas que han vivido conmigo la realización de esta tesis, que no necesito nombrar porque tanto ellas como yo sabemos que desde los más profundo de mi corazón les agradezco el haberme brindado su ayuda, colaboración, ánimo y sobre todo cariño y amistad. A todos, Gracias. AGRADECIMIENTOS Anya Carolina Espinoza Espinoza Antes que nada quiero agradecerle a Dios todo poderoso por permitirme llegar hasta este momento tan importante de mi vida, por darme la sabiduría necesaria y por estar siempre a mi lado en cada momento, por poner en mi camino a cada una de las personas que me han ayudado a lo largo de mi carrera. A mi madre, María del Carmen Espinoza que supo guiarme a lo largo del camino, por el sacrificio y esfuerzo realizado en estos últimos años para que yo pudiese culminar mi carrera, porque a pesar de no estar presente físicamente siempre deposito en mí su total confianza y apoyo, a ella le dedico este logro. A mis primas, Yanira, Andrea y Gicela Espinoza, por el apoyo, comprensión y consejos brindados a lo largo de mi carrera. A mi familia por siempre estar pendiente de mí, por el apoyo brindado, por las oraciones de cada uno de ellos. A nuestro asesor Ing. Carlos Tejada por compartir con nosotros sus conocimientos y por brindarnos su ayuda en este proceso. A todos mis amigos por creer en mí y apoyarme siempre, por su invaluable amistad, sus consejos y por todo el tiempo que compartimos. Por último, quisiera agradecer a todos aquellos que de una forma u otra estuvieron implicados en el desarrollo de este trabajo, su cariño, paciencia y apoyo. A todos mi mayor reconocimiento y gratitud. AGRADECIMIENTOS Oscar Mauricio Guevara. Deseo agradecer a Dios todo poderoso, por estar siempre a mi lado, por darme esas fuerzas en los momentos más críticos del proceso de graduación, por iluminar el camino y colocar a todas esas personas que me ayudaron a cumplir esta meta. A mis padres por creer en mí, por darme su total e incondicional apoyo en todo momento, por su comprensión y sacrificio, por todo el cariño y la confianza que depositaron en mí, mil gracias papás. A mis hermanos, amigos y compañeros de grupo que me apoyaron y sacrificaron un poco de su tiempo para brindarme su ayuda y compartir conmigo consejos que fueron de mucha ayuda para culminar este proceso. A nuestro asesor de Tesis, Ing. Carlos Tejada, por compartir desvelos y consejos, por su comprensión y sacrificio al tomar un poco de su tiempo y dedicarlo a nosotros. Mil gracias a todos los que participaron y me apoyaron durante este capítulo de mi vida que se cierra ahora con este trabajo de graduación. I N D I C E Contenido Pág. INTRODUCCIÓN . . . . . . . . . i CAPITULO 1: MARCO REFENCIAL 1.1 ANTECEDENTES . . . . . . . . 1 1.2 IMPORTANCIA DE LA INVESTIGACION . . . . 2 1.2.1 PLANTEAMIENTO DEL PROBLEMA. . . . . . 3 1.2.2 DEFINICIÓN DEL TEMA. . . . . . . . 4 1.2.3 JUSTIFICACIÓN. . . . . . . . . 4 11.3 OBJETIVOS . . . . . . . . . 6 1.3.1 GENERAL. . . . . . . . . . 6 1.3.2 ESPECÍFICOS. . . . . . . . . 6 1.4 ALCANCE. . . . . . . . . . 7 1.5 LIMITACIONES. . . . . . . . . 8 1.6 DELIMITANTES. . . . . . . . . 8 1.7 PROYECCIÓN SOCIAL. . . . . . . . 9 1.8 MARCO TEÓRICO. . . . . . . . . 9 1.8.1 REFERENCIAS HISTÓRICAS. . . . . . . 9 1.8.2 MARCO CONCEPTUAL. . . . . . . . 10 1.8.3 DESCRIPCION DE MODULOS. . . . . . . 11 1.8.3.1 MODULO COMPRA. . . . . . . . 11 1.8.3.2 MODULO VENTAS. . . . . . . . 11 1.8.3.3 MODULO INVENTARIO. . . . . . . . 12 1.8.3.4 MODULO GESTION DINAMICA. . . . . . 12 1.8.3.5 MODULO ADMINISTRACION. . . . . . . 12 1.9 METODOLOGÍA DE LA INVESTIGACIÓN. . . . . . 13 1.10 CRONOGRAMA DE ACTIVIDADES. . . . . . 15 1.11 PLAN DE CAPITULAR. . . . . . . . 16 1.12 PRESUPUESTO. . . . . . . . . 19 CAPITULO 2: ANALISIS DE RESULTADOS 2.1. TIPO DE INVESTIGACIÓN. . . . . . . . 20 2.2 POBLACIÓN Y MUESTRA. . . . . . . . 20 2.3 TÉCNICAS Y HERRAMIENTAS DE INVESTIGACION. . . . 20 2.4 PRESENTACIÓN Y ANÁLISIS DE RESULTADOS. . . . . 25 CAPITULO 3: SITUACION ACTUAL 3.1 FUNCIONAMIENTO DEL SISTEMA ACTUAL. . . . . 26 3.2 DESCRIPCIÓN DEL ENTORNO. . . . . . . 26 3.3 PROCEDIMIENTOS. . . . . . . . . 27 3.4 USUARIOS INVOLUCRADOS. . . . . . . 27 3.5 INFORMACIÓN QUE SE MANEJA. . . . . . . 28 3.6 VENTAJAS Y DESVENTAJAS. . . . . . . 28 CAPITULO 4: DISEÑO DEL SISTEMA 4.1 DISEÑO DEL SISTEMA INFORMATICO. . . . . . 30 4.2 HERRAMIENTAS UTILIZADAS EN EL DESARROLLO DEL SOFTWARE. 42 4.3 DISEÑO DE DIAGRAMAS DE CASO DE USO. . . . . 46 4.4 DISEÑO DE LA INTERFASE. . . . . . . . 55 4.5 BASE DE DATOS. . . . . . . . . 57 4.5.1 DESCRIPCION. . . . . . . . . 57 4.5.2 DIAGRAMA ENTIDAD RELACION. . . . . . 57 4.6 DICCIONARIO DE DATOS. . . . . . . . 61 4.7 SEGURIDAD DEL SISTEMA. . . . . . . . 61 4.7.1 CLAVES DE ACCESO. . . . . . . . 61 4.7.2 ROLES DE USUARIOS. . . . . . . . 61 4.7.3 PRIVILEGIOS DE USUARIOS. . . . . . . 62 CONCLUSIONES. . . . . . . . . . 63 RECOMENDACIONES. . . . . . . . . 64 GLOSARIO. . . . . . . . . . . 65 FUENTES DE INFORMACIÓN. . . . . . . . 68 ANEXOS. . . . . . . . . . . 69 MANUAL DE INSTALACION DE BASE DE DATOS. . . . . 75 MANUAL DE USUARIO. . . . . . . . . 78 MANUAL DEL PROGRAMADOR . . . . . . . 92 i Introducción En la actualidad, las pequeñas y medianas empresas del sector manufacturero de El Salvador no cuentan con muchas soluciones informáticas que modelen sus procesos de forma lógica y consistente, mediante la organización de los flujos de datos que tienen que atravesar los distintos departamentos que conforman las empresas. Es así como se inicia la búsqueda de soluciones para mejorar la gestión de información y permitir que estas empresas puedan desarrollarse. Los sistemas más consistentes y robustos que manejan la información centralizada son los llamados ERP (por sus siglas en ingles Enterprise Resource Planning, Planificación de Recursos Empresariales), pero la complejidad de este sistema hace que su costo sea muy elevado, con lo cual el sector de PYMES (pequeñas y medianas empresas) les es difícil de adquirir. Estos sistemas brindan soluciones de Gestión Empresariales integradas y modulares, así mismo aumentan la competitividad y automatizan los procesos para poder obtener un óptimo control de las operaciones y la integración de la información. Enfocándose en una empresa específica del sector Agroindustrial, se desarrollara un sistema basado en un ERP, se evaluaran los inconvenientes que estas tienen a la hora de organizar la información, por medio de un estudio preliminar. Además de la metodología mediante la cual se desarrollará la investigación. En el documento se presentan los antecedentes de la investigación y la importancia de esta, el planteamiento del problema, como la definición y justificación del tema. Se determinan objetivos generales y específicos a perseguir en el desarrollo del proyecto, los alcances y las posibles limitantes que surgen durante su desarrollo, no se puede perder de vista la proyección social hacia la que se orienta el trabajo de graduación, por lo que se detalla un apartado especifico para este tema. Se ii presenta un cronograma de actividades para cada fase del sistema, un plan de solución al problema y un presupuesto general sobre los costos que implica el desarrollo del proyecto. i CAPÍTULO I MARCO REFERENCIAL 1 1. Antecedentes Para lograr una buena organización, las empresas se ven en la necesidad de actualizar su sistema de información o en el mejor de los casos, de adquirir un sistema que pueda suplir las necesidades de la propia empresa, Cuando hablamos de ERP, estamos hablando de soluciones de Gestión Empresarial totalmente integradas y modulares que permiten aumentar la competitividad, a través de una automatización de los procesos, un óptimo control de las operaciones y la integración de la información. Son muchos los beneficios derivados de la implantación de un sistema ERP, entre los cuales se detallan los que tiene mayor relevancia.  Integración de los procesos de información entre las diferentes áreas.  Información disponible e inmediata para la toma de decisiones.  Incremento en la productividad.  Mejora en los tiempos de respuesta.  Rápida adaptación a los cambios.  Escalabilidad del sistema.  Integridad de los datos.  Seguridad definida por el usuario.  Reducción en los costos. Pero la realidad de las PYMES en El Salvador ha mostrado que no cuentan con el suficiente capital para invertir en un ERP, a continuación mostramos algunos ERP disponibles en el mercado salvadoreño con su respectivo costo: 2 ERP Empresa Distribuidor Orientación Costo ($) SAP All-in-One SAP Inforum El Salvador Todos 37,060.00 Microsoft Axapta MICROSOFT Partners Autorizados Sector industrial, Nivel de manufactura 11,250.00 Oracle JDE EnterpriseOne ORACLE DATUM El Salvador Todos 21,921.00 (*) Precio referencial calculado en base a licencias para 5 usuarios y Servicios de Implementación con 1 año de mantenimiento de licencias. Por otra parte existe un ERP Open Source llamado TinyERP, por el motivo que sus funciones aun están en desarrollo, éste sistema ERP es bastante limitado en cuanto a su funcionamiento. 1.2 Importancia de la Investigación La creación de un software de Planeación de Recursos Empresariales orientado a pequeñas y medianas empresas para El Salvador, viene a ser un aporte significativo dada la falta de propuestas de software asequibles económicamente para este sector. La automatización de los flujos de datos de los distintos procesos que manejan las empresas se pueden llegar a optimizar mediante un sistema de ERP, ya que este proporciona una mayor confiabilidad de los datos, que se pueden monitorear en tiempo real, la disminución del trabajo es sustancial, como también la optimización del tiempo. El sistema ERP se diseñará para incrementar la eficiencia en las operaciones de la 3 agroindustria Buena Vista. Por otro lado, tendrá la capacidad de adaptarse a las necesidades particulares de la empresa, mejorando los procesos actuales de trabajo. La importancia de crear un ERP orientado a las PYMES de El Salvador es alta, ya que no hay soluciones económicamente factibles para el alcance de éstas, la falta de información es notable, ya que en el contexto laboral como en trabajos de graduación no se encuentran antecedentes, lo que permite que ésta investigación sirva como guía o punto de partida para incursionar en el desarrollo de sistemas ERP. En el caso de la empresa en estudio, al deshacer la complejidad del acompañamiento de todo el proceso de producción, venta y facturación, la agroindustria Buena Vista reportaría más subsidios para ser planeados, disminuir gastos y repensar la cadena de producción. En este caso, al controlar y entender mejor todas las etapas que llevan a un producto final, la empresa puede llegar al punto de producir de forma más eficiente con mejores tiempos de respuesta en la cadena de producción y atención al cliente. 1.2.1 Planteamiento del Problema La agroindustria BUENA VISTA desde hace mas de siete años se dedica a la comercialización de productos de carácter agrícola, tanto los elaborados propiamente por ellos, así como la distribución de productos de terceros, otra de las ramas de la agroindustria Buena Vista es la venta de productos de veterinaria. La agroindustria Buena Vista ha experimentado un crecimiento de forma desordenada debido a la falta de manuales de procesos, mecanismos de ordenamiento y control de todas las áreas de la empresa. Se ha detectado que tienen un proceso lento para la venta, facturación, recopilación de datos para la logística de producción, donde el mayor problema se concentra en no contar con un sistema de inventario de productos que gestione automáticamente las entradas como salidas de los diversos productos que manejan. Actualmente, 4 cuando se desea efectuar una venta, ésta se realiza de forma manual mediante un libro de control, lo que genera atrasos en la actualización de datos para generar los pedidos internos que maneja la cadena de producción. Además con el proceder actual no podrían contar con reportes, lo cual es indispensable para la toma de decisiones gerenciales. Una empresa agroindustrial no puede darse el lujo de permanecer con sistemas de información obsoletos, lentos, y con datos redundantes que al final terminan confundiendo a la gerencia, por esa razón un sistema ERP se propone como solución. 1.2.2 Definición del Tema Desarrollo de un sistema de información basado en un ERP capaz de integrar los módulos de Compras, Ventas, Inventario, Gestión Dinámica, Gestión de Clientes y Administración, orientado a las PYMES del sector agroindustrial, por medio del cual fluirán datos consistentes de la empresa, lo que permitirá generar reportes en tiempo real que servirán de apoyo a la gerencia en la toma de decisiones, facilitando y mejorando los procesos de producción. 1.2.3 Justificación La importancia de crear un software para todas aquellas empresas que no cuentan con la capacidad económica de adquirir un sistema ERP, que modele sus procesos con el propósito de ser optimizados. Este tipo de herramienta se vuelve fundamental en las empresas manufactureras y de servicio, para que de ésta manera sean altamente competitivas, ya que en esta era de cambios, las empresas buscan elevar los índices de productividad, lograr mayor eficiencia y brindar un servicio de calidad. Todo esto se puede lograr si se implementa de manera sistemática una solución que se adapte a las necesidades de la empresa. Para poder dimensionar el entorno que 5 envuelve a las PYMES es de recordar que la pequeña empresa posee como máximo 49 empleados y la mediana entre 50 y 99. Donde estos parámetros son los que marcan la pauta de los niveles de producción que pueden desarrollar, demostrando que no cuentan con un gran poder adquisitivo como para poder implementar algún ERP comercial, por sus altos costos tanto en licencias como en implementación y por el soporte que tiene que ser contratado. 6 1.3. Objetivos 1.3.1 Objetivo General Desarrollar los módulos básicos de un ERP, orientado a las pequeñas y medianas empresas dentro del sector agroindustrial de El Salvador, basado en tecnología Cliente – Servidor que permita integrar y manejar los módulos correspondientes a las áreas de Ventas, Compras, Inventarios, Administración, Clientes, para apoyar la toma de decisiones gerenciales. 1.3.2 Objetivos Específicos  Manejar de forma consistente los datos ingresados, centralizando la información en un sistema único.  Brindar facilidad de acceso a toda la información de forma precisa y confiable entre todas las áreas de la organización.  Desarrollar una interfaz gráfica, amigable a los usuarios que permita la introducción de datos al sistema de manera rápida y sencilla.  Generar reportes de forma ágil y confiable que permita ayudar a la gerencia en la toma de decisiones.  Aplicar una reingeniería para eliminar procesos innecesarios, redundancia de datos y el mal desempeño de la información dentro de la empresa. 7 1.4. Alcances  La empresa interesada será la responsable de la implementación del software.  Una base datos que unificará la información de todos los módulos.  Los módulos del Sistema de Planeación de Recursos Empresariales se diseñará en base a los requerimientos establecidos en la etapa de análisis del desarrollo del sistema. Módulos Campos que Comprende Ventas Pedidos, lista de precios, clientes. Compras Requisiciones, ordenes de compra, stock de productos, pedidos, cuentas y contactos Gestión Dinámica Registro de Ventas, registro de compras, ventas por productos, gastos mensuales. Administración Datos de la empresa, cuenta de usuarios con sus respectivos privilegios. Almacén o Inventario Recepción y despacho de mercadería, guías de entrada y salida, buscador de 8 1.5. Limitaciones  La falta de presupuesto con que cuenta la empresa para obtención de software licenciado obliga a desarrollar la aplicación con herramientas libres o de costo cero.  El tiempo de documentación y de recolección de datos en la fase de investigación, se verá limitado por la disponibilidad con que cuenta el personal de la agroindustria Buena Vista. 1.6. Delimitaciones 1. El sistema estará conformado por los módulos, ventas, compras, inventario, gestión dinámica y administración. 2. Cada uno de los módulos estarán diseñados específicamente para el sector de las PYMES específicamente al área agroindustrial. 3. El sistema Web se diseñará y desarrollará encaminado a suplir las necesidades, en base a los requerimientos de información proporcionado por la Agroindustria Buena Vista. 4. El servidor a utilizar estará compuesto por Apache con PHP añadido como módulo y MySQL como gestor de base de datos. 5. El sistema se desarrollará utilizando como base el lenguaje de programación PHP por que no implica costo alguno y mantiene una alta seguridad en el flujo de la información. 9 1.7. Proyección Social El desarrollo de un software ERP, será una herramienta de gran utilidad, no sólo por la facilidad de introducir datos, si no, por la facilidad de administrarlo, estará enfocado principalmente a beneficiar al sector de las PYMES específicamente el área agroindustrial. El presente proyecto estará orientado completamente al sector de la agroindustria, en el caso específico “Agroindustria Buena Vista”, con ello se pretende dar una modernización tecnológica aportando un sistema de información, el cual contribuirá en el desarrollo de la empresa, además poderles facilitar el análisis de sus datos, y tener un mejor control sobre todas sus productos en existencia. Ser participes en el desarrollo tecnológico de nuestro país, enfocado en las pequeñas y medianas empresas de escasos recursos financieros es nuestra visión social. 1.8. Marco Teórico 1.8.1 Referencias Históricas Los ERP se originan en la Segunda Guerra Mundial, cuando el gobierno estadounidense empleó programas especializados que se ejecutaban en las enormes y complejas computadoras recién surgidas en los principios de los años 40 para controlar la logística u organización de sus unidades. Los primeros sistemas fueron nombrados Planeación de Requerimiento de Materiales (Material Requirements Planning Systems o MRP), estos existieron desde los primeros días de la revolución industrial éste evoluciono y fue nombrado MRP II o Planeación de los Recursos de Manufactura (Manufacturing Resource Planning). 10 Al pasar del tiempo estos sistemas ya no eran suficientes para la cantidad de datos que manejaban las empresas y fue entonces cuando surgió el ERP (Enterprise Resource Planning, en español Planificación de los Recursos Empresariales). 1.8.2 Marco Conceptual La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de información, en el que las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información, no sólo se dividen los procesos, si no también es una forma de dividir y especializar programas y equipos, a fin de que la tarea que cada uno de ellos se efectúe con mayor eficiencia. En esta arquitectura la capacidad de los procesos está repartida entre el servidor y los clientes .Ventajas de la arquitectura cliente-servidor:  El servidor no necesita tanta potencia de procesamiento, parte del proceso se reparte con los clientes.  El cliente se conecta al servidor cuando es estrictamente necesario, obtiene los datos que necesita y cierra la conexión dejando la red libre para otra conexión.  El servidor presenta a todos sus clientes una interfase única y bien definida. Este esquema puede aportar algunas ventajas para la empresa, como lo es la ampliación y agregación de sucursales sin tener que invertir en hacer modificaciones al software, la escalabilidad es uno de sus fuertes, así como también la segmentación en capas para que el sistema crezca en la medida que lo haga la empresa. El esquema Cliente/Servidor también favorece la adaptación a cambios en la tecnología pues facilita la migración de las aplicaciones a otras plataformas y, al aislar claramente las diferentes funciones de una aplicación, hace más fácil 11 incorporar nuevas tecnologías en ésta. 1.8.3. Descripción de los módulos. En esta sección se hace referencia a los diferentes módulos, detallando en cada uno de ellos sus funciones en dicho software. 1.8.3.1 Módulo de Compras Está diseñado para administrar el proceso de compras y manejo de proveedores. Al integrarse con el módulo de Inventarios aumentará su funcionalidad al ayudarle a planear las recepciones, anticipar faltantes de inventario, hacer más rápido las entradas al almacén. Características Generales • Requisiciones de compra. • Control de órdenes de compra. • Seguimiento de órdenes por estado. 1.8.3.2 Módulo de Ventas. Está diseñado para ayudarle a administrar las actividades de ventas, desde la emisión de pedidos hasta la cobranza. Características Generales • Emisión de pedidos. • Análisis de disponibilidad de producto. • Lista de precios. 12 1.8.3.3 Módulo de Inventario. Al integrarse con el módulo de Compras, aumentará su funcionalidad al ayudarle a planear las recepciones de productos, anticipar faltantes de inventario y hacer más rápido las entradas al almacén. En este modulo se ven las existencias del almacén. Este módulo le ayuda a mantener los artículos que la empresa requiere, teniendo al día las existencias utilizando la información de todos los movimientos que se han realizado. Características Generales • Recepción y despacho de mercadería. • Guías de entrada y salida. • Control de almacenes. • Buscador de artículos. 1.8.3.4 Módulo Gestión Dinámica Aquí se generan reportes para la toma de decisiones a nivel gerencial, teniendo a su disposición una gama de reportes como lo son registros de ventas, registros de compras y reportes de existencia en inventario. 1.8.3.5 Módulo de Administración. Este módulo cuenta con el manejo de usuarios, manejo de perfiles que es acá donde se les asignan permisos a los usuarios mediante accesos específicos por módulos y finalmente las opciones básicas del sistema que conciernen a la información de la empresa. 13 1.9. Metodología de Investigación Para desarrollar con éxito el Sistema se emplearan los siguientes métodos y técnicas de investigación: · Entrevista La primera información general se obtuvo por medio de entrevistas con el personal de Agroindustria Buena Vista, quienes usarán el Sistema, para poder identificar cuáles son las necesidades que se tienen y los procesos que se realizan tanto para las compras y las ventas, como para los procesos que se hacen en el manejo de inventario, para con ello poder determinar los procedimientos que el sistema deberá seguir. · Análisis de campo Estar en el ambiente de trabajo es una de las mejores formas de obtener información ya que se conoce perfectamente cómo se llevan a cabo todas las actividades, la metodología que se ocupa, quien la realiza. Es por ello que se realizan este tipo de visitas, y si son necesarias se pueden realizar más. · Análisis de la Información Después de recolectar toda la información necesaria se procede a evaluar el orden de los procedimientos como la lógica que estos deben de llevar, depurando con ello ciertos pasos que son necesarios para la implementación en un sistema informático. · Diseño del Sistema La técnica de diseño a utilizar será el diagrama entidad-relación para la Base de Datos, el cual se utilizará para describir las entidades fundamentales del diseño y las relaciones entre ellas. Los diagramas entidad-relación son una herramienta 14 para el modelado de datos de un sistema de información, teniendo así una estructura descriptiva de la Base de Datos. Para la aplicación en general se usarán diagramas de flujo por tratarse de un método gráfico para visualizar, especificar y documentar cada una de las partes que comprende el desarrollo de software. Los diagramas de flujo son fáciles de comprender y ayudan a entender lo que hace la aplicación y cómo la gente interactúa con ella. 15 1.10 Cronograma de Actividades Estudiantes Asesor, Tutor y Estudiantes Asesor y Estudiantes Tutor y Estudiantes Responsables de las actividades dentro del Cronograma 16 1.11 Plan Capitular El plan consistirá en los siguientes apartados: Capitulo I: Marco Referencial Introducción 1.1 Antecedentes. 1.2 Importancia de la Investigación. 1.2.1 Planteamiento del Problema. 1.2.2 Definición del tema. 1.2.3 Justificación. 1.3 Objetivos Generales y Específicos. 1.4 Alcances. 1.5 Limitaciones. 1.6 Delimitaciones. 1.7 Proyección Social. 1.8 Marco Teórico. 1.9 Metodología de la Investigación. 1.10 Cronograma de Actividades. 1.11 Plan de Solución. 1.12 Presupuesto. 17 Capitulo II: Metodología de la Investigación. 2.1. Tipo de investigación. 2.2. Población y muestra. 2.3. Técnicas y herramientas de investigación. 2.4. Presentación y análisis de resultados. Capitulo III: Situación Actual. 3.1. Funcionamiento del sistema actual. 3.2. Descripción del entorno. 3.3. Procedimientos. 3.4. Usuarios involucrados. 3.5. Información que se maneja. 3.6. Ventajas y desventajas. Capitulo IV: Diseño del Sistema. 4.1. Diseño del Sistema Informático Propuesto. 4.2. Herramientas utilizadas en el desarrollo del software. 4.3. Diseño de Diagrama de Flujos de Datos. 4.4. Diseño de la interfase. 18 4.5. Diseño de la Base de Datos. 4.5.1. Descripción. 4.5.2. Estructura. 4.5.3. Diagrama Entidad – Relación. 4.6. Diccionario de Datos. 4.6.1. Definiciones de tablas. 4.7. Seguridad del Sistema. 4.7.1. Claves de acceso. 4.7.2. Privilegios. 4.8 Descripción de la Interfase de Usuarios. 4.8.1 Salidas de información. Conclusiones. Recomendaciones. Fuentes de Información. Glosario. Anexos. Manual del usuario. 19 1.12 Presupuesto RECURSOS MATERIALES Descripción Precio Unitario Cantidad Total Computadoras con Windows XP $500.00 3 $1,500.00 Cables UTP categoría 5 $2.00 3 $6.00 Papelería $6.00 3 $18.00 Toner negro $109.00 2 $218,00 Switch $30.00 1 $30.00 TOTAL $1,772.00 LICENCIAS DE SOFTWARE Descripción Precio Unitario Cantidad Total PHP $0.00 1 $0.00 MySQL $0.00 1 $0.00 Servidor Apache $0.00 1 $0.00 TOTAL $0.00 RECURSOS HUMANOS Desarrolladores Sueldo Mensual Meses Total 3 $0.00 8 $0.00 GASTOS DE TRANSPORTE Galones de Gasolina por viajes Precio por Galón viajes Total 6 $3.35 15 $301.50 GENERAL Recursos Materiales $1,772.00 Licencias de Software $0.00 Recursos Humanos $0.00 Gastos de Transporte $301.50 Imprevistos $1,000.00 TOTAL $ 3,073.50 CAPÍTULO II ANÁLISIS DE RESULTADOS Y DIAGNÓSTICO 20 Capitulo II: Metodología de la Investigación. 2.1. Tipo de investigación. La investigación hecha es de tipo teórico y práctico, ya que se realizo una investigación sobre la situación en la que se encuentra la empresa, para poder brindar una solución factible. 2.2. Población y muestra. El universo o población sujeta a investigación, estuvo constituida por jefes, supervisores y personal que labora en la Agroindustria Buena Vista que están relacionados con los diferentes procesos que se desarrollan en la empresa. La entrevista estuvo comprendida desde el dueño de la Agroindustria Buena Vista, así como a los jefes que están a cargo de la producción, supervisores y ejecutivos de ventas. Para conocer los diferentes procesos se entrevisto a un supervisor, un ejecutivo de ventas y a dos operadores. 2.3. Técnicas y herramientas de investigación. En la realización de este proyecto, los procesos empleados para la recolección de la información fueron los siguientes:  Entrevistas1 La primera información general se obtuvo por medio de entrevistas con el personal de Agroindustria Buena Vista, quienes usarán el Sistema, para poder identificar cuáles son las necesidades que se tienen y los procesos que se realizan tanto para las compras y las ventas, como para los procesos que se hacen en el manejo de inventario, para con ello poder determinar los 1 Ver Anexo página 70 21 procedimientos que el sistema deberá seguir. Esta entrevista fue una entrevista de tipo dirigida.  Análisis de campo Estar en el ambiente de trabajo es una de las mejores formas de obtener información, ya que se conoce perfectamente cómo se llevan a cabo todas las actividades, la metodología que se ocupa, quien la realiza. Es por ello que se realizan este tipo de visitas, y si son necesarias se pueden realizar más. Es en este paso, donde hemos recopilado más información, ya que se ha tomado nota de los procedimientos que los trabajadores incurren para realizar las distintas operaciones. Proceso de Venta con existencias en Bodega 22 Proceso de Venta sin existencias en Bodega Proceso de Compra 23 Mantenimiento de Inventario  Consultas Bibliográficas: El proceso de recolección de información se enfocó en textos de Análisis y Diseño de Sistemas, Software ERP, Software CRM, Internet y diversos manuales orientados a fortalecer los objetivos del trabajo.   Diseño del Sistema Después de la investigación realizada y los diferentes requerimientos que estableció la empresa, nos basamos en el modelo de sistema llamado ERP por sus conceptos de integración, consistencia de datos y por manejar niveles modulares en la aplicación. En dicho sistema se podrá hacer un manejo eficiente de los recursos a administrar como lo son los insumos agrícolas, materias primas y productos de veterinaria. 24 El sistema se ha contemplado desarrollarse en un ambiente Web con el fin de hacer más portable la solución, minimizando los tiempos de respuesta mediante el sistema Cliente/Servidor basado en 3 capas dándole al navegador Web el procesamiento de la capa de usuario. Esquema Cliente – Servidor basado en 3 capas Para que la interfaz de usuario fuese agradable, de fácil manejo y funcional se decidió aplicar estilos CSS para manejar las páginas con una plantilla base para el sistema, logrando con ello 3 cosas:  Reutilizar el código reunido en una sola plantilla.  Aligerar de contenido las páginas, logrando con ello mayor velocidad de respuesta de parte del servidor.  Facilitarle al programador realizar cambios futuros. Teniendo en consideración que el manejo de un software basado en WEB es bastante molesto dados los refrescos de pantalla, ocasionando con ello tiempos muertos mientras se genera una respuesta de parte del servidor, se acordó en llevar la aplicación a un nivel más alto de complejidad para los desarrolladores, implementando tecnología de punta como lo es AJAX. 25 El uso de esta tecnología nos permitirá crear un entorno de trabajo en WEB, como si se tratase de un software compilado, esto en términos de tiempos de respuesta y facilidad de uso, al mismo tiempo de cumplir con el objetivo de eliminar los tiempos muertos ocasionados al navegar entre página y página. La técnica de diseño a utilizar será el diagrama entidad-relación para la Base de Datos, el cual se utilizará para describir las entidades fundamentales del diseño y las relaciones entre ellas. Los diagramas entidad-relación son una herramienta para el modelado de datos de un sistema de información, teniendo así una estructura descriptiva de la Base de Datos. 2.4. Presentación y análisis de resultados. Conforme a la investigación realizada los resultados obtenidos fueron satisfactorios, ya que se logró recabar información necesaria para poder iniciar el diseño del software. Los datos obtenidos ayudaron a conocer los procesos que se llevan a cabo y de qué manera se realizan, así como visualizar las necesidades y debilidades de dichas actividades; por lo tanto se logró comprobar que:  Se desea que el ingreso de toda la información de cada uno de los módulos sea de forma centralizada.  Se observa que existe un gran interés de parte de los usuarios, en poseer una herramienta con la que se agilicen los procesos en su trabajo.  Se identifico, el factor tiempo que podrían ahorrar los potenciales usuarios al usar un sistema de control. Por ejemplo se ahorraría tiempo en la búsqueda de productos, ya actualmente no hay una fuente de consulta que dé respuesta inmediata, las personas encargadas tiene que ir a revisar a bodega si hay producto en existencia y cuanto hay, con el sistema se ahorraría todo este tiempo, ya que la búsqueda seria inmediata. CAPÍTULO III SITUACIÓN ACTUAL 26 Capítulo III: Situación Actual. 3.1. Funcionamiento del sistema actual. La empresa agroindustria BUENA VISTA actualmente no cuenta con un sistema que lleve el control de sus ventas y sus compras, así como su inventario, el funcionamiento actual de la empresa es llevar los controles de sus ventas, compras, inventario, todos los procesos se hacen de forma manual, es decir que toda la información es llevada de forma manual mediante apuntes en libretas. El proceso de venta se inicia cuando el cliente llega y hace su pedido, este pedido se factura de forma manual al igual que la orden de compra la cual es llevada para que se fabrique o se entregue dependiendo el pedido, ya que hay productos que ellos mismo los fabrican; en cuanto al crédito de cada cliente este es llevado en las facturas que se entregan dependiendo la cantidad cancelada, se le pone cancelado o la cantidad que hasta ese momento ha sido cancelada y la cantidad que se debe. Las unidades que involucran este proceso son los de ventas y el de despacho de mercadería que se encuentra en bodega. Otros de los procesos que ellos llevan es el registro de las ventas por cliente, también son llevadas de forma manual, estos registros son en base a los diferentes pedidos que el cliente ha hecho. 3.2. Descripción del entorno. La forma en que un cliente inicia su proceso de compra su primer paso es acercarse para realizar su pedido, se le emite la factura y luego es entregado dicho pedido, no lleva procedimientos extra excepto si un cliente compra productos a ser procesados, esto productos se producen en cuanto se genera la orden de compra, todos estos procedimientos son llevados a cabo manualmente. 27 Para la generación de pedidos, se lleva un control manual y dependiendo de las cantidades que ellos tengan de productos así es como generan los pedidos, al final del día se hace un conteo de los productos. 3.3. Procedimientos. Los procesos que se llevan a cabo en cada una de las etapas del funcionamiento del sistema son realizados por los usuarios que tiene los suficientes permisos para manejar dicha aplicación y que intervienen de manera directa en la entrega de servicios que ofrece la Agroindustria Buena Vista. La captura de los datos se hace mediante las órdenes de compra y las facturas emitidas, las cuales al finalizar la jornada diaria, se recopilan todas las órdenes de compras emitidas y se guardan para el control de ventas y control de mercadería en existencia. El inventario que ellos llevan se alimenta al final del día, ya que al empezar la jornada de trabajo diaria, se hace un conteo manualmente de la cantidad de los productos que hay en existencia anotan el número total de productos y al final del día se hace otro conteo manual y proceden a alimentar su inventario. El manejo de usuarios es de la siguiente manera: Al llegar un cliente a este se le toman los datos se llena un ficha con los datos personales, los datos se le toman una sola vez y queda registrado, si es cliente frecuente solo se limitan a hacer el pedido. 3.4. Usuarios involucrados. Los usuarios que intervienen en los procesos que se llevan a cabo en el Sistema de información son: 28  Los administradores. Que son los encargados de atender a los clientes en cuanto a sus necesidades, crean las ordenes de compras y emiten las facturas, estas órdenes de compras pueden ser de dos formas: una es que el cliente llegue personalmente y haga su pedido, la otra forma es que el cliente llama por teléfono y hace su pedido. 3.5. Información que se maneja. El tipo de información que se maneja es de suma importancia y vital para la empresa, ya que si se llegara a perder una de estas facturas ellos no podrían efectuar el debido cobro o pagarían más de la cuenta. La empresa maneja información de productos que están en bodega, productos comprados, así como los productos vendidos y las cuentas por pagar y las cuentas por cobrar, pero para todo esto no cuentan con formularios, sino que se lleva de manera separada con el uso de libretas por cada unidad de la empresa. 3.6. Ventajas y desventajas. VENTAJAS Conociendo los procesos y su metodología los empleados de la Agroindustria Buena Vista pueden crear todo tipo de transacciones asistiéndose de forma escrita no importando con ello el factor energía, donde el factor energía no es indispensable o requerido. Con ello, la mayor ventaja que esta forma tiene es que el negocio no se detiene, ya que no cuentan con un punto de falla como bien lo podría ser solo un ordenador con toda la información necesaria para laborar. 29 DESVENTAJAS. La lentitud a la hora de hacer los diferentes procesos por la razón que todo es realizado de forma manual. Existe un manejo inadecuado de inventario, el cual maneja bajos niveles de productos en diversas áreas, como lo son el área de productos Agrícolas y productos Veterinarios. No hay herramientas que proporcionen estadísticas para hacer proyecciones. Herramientas tales como, reportes de ventas, gráficos o datos estadísticos que muestren el ingreso por ventas. CAPÍTULO IV DISEÑO DEL SISTEMA 30 Capítulo IV: Diseño del Sistema. 4.1. Diseño del Sistema Informático Propuesto. Para iniciar el proceso de descripción del diseño del sistema primero se explicara la metodología y las herramientas que se utilizaron para el desarrollo. El sistema basado en un ERP está orientado a satisfacer las diferentes necesidades que se le presentan a la Agroindustria Buena Vista en el manejo de los datos para llevar un mejor control de los mismos. Después de la investigación realizada y los diferentes requerimientos establecidos en la empresa, nos basamos en el modelo de un sistema ERP, utilizando ciertos conceptos para aplicarlos al diseño del sistema. La aplicación se desarrolla en un ambiente web con el fin de minimizar los tiempos de respuesta, y al estar basado en un ERP hace que la aplicación sea más robusta y consistente. Como se había propuesto trabajar con hojas de estilo CSS (ver capitulo 2, ítem 2.3 pagina 24), se desarrolló el siguiente código: body { font-family: Arial,sans-serif; color: #000000; line-height: 1.166; margin: 0px; padding: 0px; } 31 * { font-family: Arial,sans-serif; -khtml-box-sizing: border-box; box-sizing: border-box; -moz-box-sizing: border-box; zoom: 1.0;} input { font-size: 100%; margin-left: 20px;} select { font-size: 100%; margin-left: 20px;} textarea{ font-size: 100%; margin-left: 20px;} form { position: relative;} span{ color: #ff0000; font-weight: bold;} 32 fieldset { border-color: #99c7df; margin-bottom: 2px; padding: 0;} legend { background-color: #99c7df; padding: 2px 4px; font-size: 120%; font-weight: bold; border: 1px solid #000000;} label { font: bold Arial,sans-serif; color: #000000; font-weight: bold; } h2{ font: bold 170% Arial,sans-serif; color: #000000; margin: 10px; padding: 10px; 33 line-height: 20pt } h3{ font: bold 130% Arial,sans-serif; color: #000000; margin: auto; padding: 10px; text-align: center ; } h5{ font: bold 114% Arial,sans-serif; color: #000000; margin: 0px; padding: 0px; line-height: 20pt } h6{ font: 80% Arial,sans-serif; color: #FFFFFF; margin: 2px; padding: 4px 0px 0px 150px; } td { font:11px Arial, Helvetica, sans-serif; color:#000000; } 34 a { text-decoration: none; color: #FFFFFF; } a:link { text-decoration: none; color: #FFFFFF; } a:hover { text-decoration: none; color: #FFFFFF; } table.input{ font-size: 100%; margin-left: 20px; size: 5; } .tab{ margin-left: 20px; } .row { padding: 10px; } .rowOdd { background-color: #EAEAFA;/*#f5f8f9;*/ } .rowOdd2 { 35 background-color: #FFEAEA;} .style1 { color: #FFFFFF; font-style: italic; } .style2 { color: #FFFFFF; font-weight: bold; } .style3 { font: 11px Arial, Helvetica, sans-serif; color: #000000; } div.style3 { font: 11px Arial, Helvetica, sans-serif; color: #000000; } .style4 { font: 12px Arial, Helvetica, sans-serif; font-weight: bold; color: #000000; padding: 10px; } div.style4 { font: 12px Arial, Helvetica, sans-serif; font-weight: bold; 36 color: #000000; padding: 10px; } .style5 { font: 13px Arial,sans-serif; color: #000000; } div.style5 { font: 13px Arial,sans-serif; color: #000000; } div.attrcontainer { background-color: #F0F0F0; } div.attrcontent { padding: 1em 1em 1em 1em; } div.attrt { background-image: url(../Imagenes/attrt.gif); background-repeat: repeat-x; background-position: top; } div.attrb { background-image: url(../Imagenes/attrb.gif); background-repeat: repeat-x; background-position: bottom; } div.attrl { 37 background-image: url(../Imagenes/attrl.gif); background-repeat: repeat-y; background-position: left; } div.attrr { background-image: url(../Imagenes/attrr.gif); background-repeat: repeat-y; background-position: right; } div.attrtl { background-image: url(../Imagenes/attrtl.gif); background-repeat: no-repeat; background-position: top left; } div.attrtr { background-image: url(../Imagenes/attrtr.gif); background-repeat: no-repeat; background-position: top right; } div.attrbl { background-image: url(../Imagenes/attrbl.gif); background-repeat: no-repeat; background-position: bottom left; } div.attrbr { background-image: url(../Imagenes/attrbr.gif); 38 background-repeat: no-repeat; background-position: bottom right; } div.ittrcontainer { background-color: #FFFFFF; margin-top: 5%; } div.ittrcontent { padding: 1em 1em 1em 1em; } div.context { font: bold 70% Arial,sans-serif; color: #000000; text-align: center; position: relative; top: 8px; left: 85px; background-color: #818ea3; } div.ittrt { background-image: url(../Imagenes/ittrt.jpg); background-repeat: no-repeat; background-position: 85px 0%; } div.ittrt2 { background-image: url(../Imagenes/ittrt2.jpg); 39 background-repeat: repeat-x; background-position: top; } div.ittrt3 { background-image: url(../Imagenes/ittrt3.jpg); background-repeat: repeat-x; background-position: 85px 38px; } div.ittrt4 { background-image: url(../Imagenes/ittrt4.jpg); background-repeat: repeat-x; background-position: 85px 23px; } div.ittrb { background-image: url(../Imagenes/ittrb.jpg); background-repeat: repeat-x; background-position: bottom; } div.ittrl { background-image: url(../Imagenes/ittrl.jpg); background-repeat: repeat-y; background-position: left; } div.ittrr { background-image: url(../Imagenes/ittrr.jpg); background-repeat: repeat-y; 40 background-position: right; } div.ittrtl { background-image: url(../Imagenes/ittrtl.jpg); background-repeat: no-repeat; background-position: top left; } div.ittrtr { background-image: url(../Imagenes/ittrtr.jpg); background-repeat: no-repeat; background-position: top right; } div.ittrbl { background-image: url(../Imagenes/ittrbl.jpg); background-repeat: no-repeat; background-position: bottom left; } div.ittrbr { background-image: url(../Imagenes/ittrbr.jpg); background-repeat: no-repeat; background-position: bottom right; } #center { text-align: center; } #content { width: 100%; 41 margin: auto; text-align: left; } #capaContenedora{ border-style: groove double; padding: 10px; margin: 14px; border-color: #99c7df; background-color: white; } Ya teniendo la plantilla de estilo, se combinará con una platilla de página, que es la que llevará todo el sistema, con ello se optimiza el código y se mantiene una relación entre todas las páginas del sistema
42 4.2. Herramientas utilizadas en el desarrollo del software. El servidor utilizado para dar soporte a la aplicación del sistema de información es apache 2.2.4, el lenguaje de programación utilizado es PHP 5 y el Gestor de Base de Datos utilizado es MySql 5.0 que incluye nuevas características que facilitan el manejo de los datos y la integridad de los mismos. Apache 2.2.4 Apache es un servidor con una amplia aceptación en la actualidad, su configuración y estabilidad lo hace muy confiable y se adapta a las necesidades que presenta la solución en desarrollo. Algunas de las razones porque este servidor es muy aceptado son las siguientes:  Es multiplataforma, corre en diferentes sistemas operativos.  Apache es una tecnología gratuita, es de código fuente abierto, el hecho de ser gratuito es importante pero lo que lo hace más importante es que es de código abierto.  Apache trabaja con gran cantidad de lenguajes de script tales como PHP, Perl, Java y otros brindando soporte CGI a páginas dinámicas.  Apache es un servidor altamente configurable de diseño modular. Es muy sencillo ampliar las capacidades del servidor web apache, actualmente existen muchos módulos para apache que son adaptables a este. Algunas de las características que presenta el servidor apache son las siguientes:  Se han mejorado e implementado módulos multiprocesos con los que se simplificar grandes rasgos algunas configuraciones de autenticación 43  Una nueva función se ha agregado a los errores del registro que ocurren con la conexión del cliente, si el cliente está registrado el mensaje la dirección ip del cliente.  El servidor HTTP ahora se construye con la ayuda para los archivos más grandes que 2GB en sistemas de 32bits. PHP Esta versión de PHP corrige los problemas que había en los sistemas de 64 bits lenguaje de programación. Dentro de las principales novedades de la versión 5 se encuentran:  El nuevo motor Zend II con el cual se ha mejorado significativamente el rendimiento y las capacidades de PHP.  El soporte de XML basado en libxml2.  La inclusión de SQLlite.  La nueva extensión de MySQLi que soporta MySQL 4.1 y versiones posteriores.  Se efectuaron algunos cambios en el CLI y los nombres de archivos CGI. Una de la novedades más importantes es el modelo de objetos; ya que el manejo de objetos en PHP han sido re-escritos por completo, permitiendo una mejora en rendimiento y muchas características nuevas. En versiones previas de PHP los objetos eran manejados como tipos primitivos (por ejemplo enteros y cadenas). La desventaja de este método era que semánticamente el objeto completo era copiado cuando una variable era asignada, o pasada como parámetro a un método. En el nuevo enfoque, los objetos son referenciados por gestor, y no por valor. 44 Otras novedades de PHP versión 5 son:  La nueva constante de reporte de errores E_STRICT que habilita sugerencias en tiempo de ejecución por parte de PHP sobre la inter-operabilidad de su código y compatibilidad hacia adelante, que permite sincronizarse con los últimos y mejores métodos de escritura de código.  Un objeto sin propiedades ya no es considerado “vacio”.  En algunos casos, las clases deben ser declaradas antes de ser usadas. Este solo ocurre si algunas de las nuevas características de PHP 5 (tal como las interfaces) son usadas. De otro modo el comportamiento antiguo se conserva.  Los valores son devueltos exactamente como son declarados (sensibles a mayúsculas y minúsculas).  Si el archivo es incluido dos veces PHP 5 produce un error fatal ya que las funciones ya han sido declaradas a diferencia de PHP 4 donde no se producía este error. MySQL 5.0 Esta versión del gestor de base datos incluye nuevas características que facilitan el manejo de los datos y la integridad de los mismos. Entre las novedades que presenta esta versión se puede mencionar:  Procedimientos almacenados.  Triggers.  Vistas.  Nuevos motores de almacenamiento, herramientas y extensiones principalmente las transacciones e integridad referencial. 45  Introducción al estándar SQL en áreas donde anteriormente no estaba contemplado (comprobación estricta de tipos en campos de tipo fecha, números y cadenas).  Una nueva librería para aritmética en punto fijo que dota de gran precisión a las operaciones matemáticas y financieras.  La máxima longitud de los campos VARCHAR se ha incrementado; corrigiendo además comportamientos inesperados con los espacios en blanco al final de dichos campos. Lo más importante es que con todas estas nuevas funciones se mantienen el rendimiento que le ha caracterizado en versiones anteriores. Además representa una alternativa interesante para el desarrollo tanto en aplicaciones Windows como Web desde cualquier lenguaje soportado por Visual Studio.NET. La implementación de estándares en característica ya existentes en MySQL facilita la migración de Base de Datos desde otras plataformas como Oracle, MS SQL servers, MS Access, y otros. 46 4.3. Diseño de Diagrama Caso de Uso. Para las funciones del usuario Ventas Describe la forma en que el usuario ventas interactúa con el sistema. Para las funciones del usuario Compras Describe la forma en que el usuario compras interactúa con el sistema. 47 Para las funciones del usuario Inventario Describe la forma en que el usuario inventario interactúa con el sistema. Para las funciones del administrador Describe la forma en que el administrador interactúa con el sistema. 48 Diagramas Secuenciales Casos de uso administrador, diagrama de secuencia. Diagrama de secuencia del caso de uso mantenimiento, describe la interacción entre el administrador y los objetos del sistema. 49 Caso de uso usuario ventas, diagrama de secuencia. Diagrama de secuencia del caso de uso modulo ventas, describe la interacción entre el administrador y los objetos del sistema. 50 Caso de uso usuario Inventario, diagrama de secuencia. Diagrama de secuencia del caso de uso modulo inventario, describe la interacción entre el administrador y los objetos del sistema. 51 Caso de usuario compras, diagrama secuencial. Diagrama de secuencia del caso de uso modulo compras, describe la interacción entre el administrador y los objetos del sistema. 52 DIAGRAMA VENTAS. 53 DIAGRAMA COMPRAS. 54 DIAGRAMA INVENTARIO 55 4.4. Diseño de la interface. El sistema está orientado a optimizar el procesamiento de los datos a través de la interface diseñada en forma estructural con el fin de que la captura de información sea amigable y facilite su uso a los usuarios. Existe un menú ubicado al lado izquierdo del programa este menú consta de módulos que aparecen según los permisos dados al usuario. Pantalla de inicio. Ingreso al sistema (figura 1). Figura 1 Menú de módulos y sus diferentes ítems. Menú: Menú principal, ventas y compras (ver figura 2). Menú: Gestión Dinámica, Inventario y administración (ver figura 3). 56 Figura 2 Figura 3 57 4.5. Diseño de la Base de Datos. 4.5.1. Descripción. Para el manejo de la información se diseño una base de datos relacional, la cual nos permite crear relaciones entre diferentes tablas del sistema con el fin de evitar la redundancia de los mismos. Utilizamos MySQL como gestor de base de datos por ser un software que no implica costo alguno y que da soporte a Base de Datos de este tipo. La Base de Datos contiene diferentes tablas en las cuales se encuentran los datos distribuidos para optimizar el tiempo de respuesta de la información almacenada. 4.5.2. Diagrama Entidad – Relación. 58 4.6. Diccionario de Datos. Tabla: Clientes. Tabla: Contactos. Tabla: Cuentas. Tabla: Empresa. Campo Tipo Nulo Predeterminado Comentarios nombre varchar(32) Sí NULL nombre de la empresa direccion varchar(50) Sí NULL direccion exacta de la empresa telefono varchar(10) Sí NULL telefono de la empresa contacto varchar(35) Sí NULL Campo Tipo Nulo Predeterminado Comentarios id_cliente int(8) No nombre varchar(30) No Nombre Completo del Cliente direccion varchar(60) No Direccion del cliente telefono varchar(10) No telefono del cliente estado_cuenta varchar(10) No Campo Tipo Nulo Predeterminado Comentarios id_contacto int(8) No saludo varchar(8) No estado señor, señora, señorita nombre varchar(32) No Nombre completo apellido varchar(32) No apellido direccion varchar(60) No direccion exacta telefono varchar(10) No telfono celular o casa cuenta varchar(25) No Campo Tipo Nulo Predeterminado Comentarios id_cuentas int(11) No nombre varchar(30) No nombre aquien pertenece la cuenta direccion varchar(50) No telefono varchar(10) No telefono de contacto 59 Tabla: Pedidos. Campo Tipo Nulo Predeterminado Comentarios id_pedidos int(8) No numero de pedido fecha_pedido Datetime No fecha en que se realizo el pedido nombre_cliente varchar(32) No nombre del cliente que solicito el pedido dirección_envio varchar(60) No direccion exacta donde se enviara el pedido dirección_cliente varchar(60) No direccion exacta donde se realizara el cobro descripción varchar(200) No decripcion de pedido cantidad int(3) No cantidad que solicito del producto Tabla: Productos. Campo Tipo Nulo Predeterminado Comentarios id_producto int(8) No categoria varchar(15) No Tipo por el cual esta catalogado el producto nombre_producto varchar(25) No Nombre exacta del producto presentación_producto varchar(15) No las diferentes formas de presentacion en que se vende el producto fecha_entrada_producto datetime No Fecha en que ingreso el producto fecha_caducidad_producto datetime No fehca de vencimiento del producto existencia varchar(3) No cantidad del producto en existencia Tabla: Proveedor. Campo Tipo Nulo Predeterminado Comentarios id_proveedor int(8) No nombre_proveedor varchar(32) No nombre de la empresa proveedora de productos 60 contacto_proveedor varchar(32) No nombre del contacto dentro de la empresa direccion varchar(60) No direccion del proveedor telefono varchar(10) No direccion completa del proveedor Tabla: Requisiciones. Campo Tipo Nulo Predeterminado Comentarios fecha Date Sí NULL tipoegreso int(11) Sí NULL proveedor int(45) Sí NULL formapago int(30) Sí NULL motivocompra varchar(100) Sí NULL cantidad int(10) Sí NULL descripcion varchar(100) Sí NULL preciounitario Float Sí NULL total Float Sí NULL estado varchar(10) Sí NULL id_req int(10) Sí NULL Tabla: Sistema. Campo Tipo Nulo Predeterminado Comentarios id smallint(4) No nombre varchar(32) Sí NULL nombre de la empresa logo varchar(20) Sí NULL logo de la empresa Tabla: Usuarios. Campo Tipo Nulo Predeterminado Comentarios id_usuario int(8) No usuario varchar(32) No nombre para ingresar el programa clave varchar(32) No contraseña del usuario saludo varchar(8) Sí NULL referente al estado de la persona, señora, señorita, señor nombres varchar(32) Sí NULL nombre completo 61 apellidos varchar(32) Sí NULL apellidos direccion varchar(60) Sí NULL dirección del usuario telefono varchar(20) Sí NULL Teléfono celular varchar(20) Sí NULL numero de celular correo varchar(32) Sí NULL correo electrónico es_admin tinyint(1) Sí 0 especifica si es o no es administrador ultimo_ingreso varchar(32) Sí NULL fecha de ultimo ingreso ip varchar(20) Sí NULL dirección ip de ingreso. 4.7. Seguridad del Sistema 4.7.1 Claves de acceso Un aspecto importante es la seguridad del Sistema de Información. La cual se proporciona a través de la asignación de claves y roles de acceso para cada uno de los diferentes usuarios del Sistema, con lo que se limitara el acceso al mismo y a su vez se controlara el uso de las diferentes opciones que brinda el sistema. 4.7.2 Roles de Usuarios Los usuarios del sistema tendrán acceso a las opciones y menús del programa de acuerdo al rol que desempeñan. Es por ello que se dejo abierto a criterio del administrador o responsable de la empresa asignarle diferentes permisos y crear diferentes roles. Administrador: El administrador global es el que tendrá permisos para acceder a todo el sistema. También existirá un rol de administrador que no tendrá todos los permisos si no que será administrador pero solo se le asignara permisos para ver ciertos módulos o ítems de los módulos. 62 4.7.3 Privilegios de Usuarios Al igual que en perfiles de usuarios, acá los privilegios se van dando de acuerdo al cargo que desempeña cada usuarios, un ejemplo un usuario puede tener privilegios de administrador pero solo del modulo de ventas y no así del modulo de compras este modulo no será visible para el usuario que no tenga privilegios sobre el modulo o ítem del modulo. 63 CONCLUSIONES  A partir de este Sistema, la información que se maneja estará centralizada en una base de datos, lo cual permitirá un mejor control de los datos y facilitará el acceso a la información.  Tener toda la información a la mano es muy importante, por lo que esta herramienta, permite la generación de informes estadísticos que permiten visualizar los registros de ventas y compras.  Un sistema cliente / servidor basado en 3 capas, complementado con herramientas de software como es AJAX permiten crear nuevos entornos que pueden ser comparables a programas compilados 64 RECOMENDACIONES  Como norma deberá crearse un usuario como mínimo por cada modulo y un máximo de dos Administradores del Sistema los cuales tienen el control de todo el sistema.  Se recomienda tener al menos una copia del manual de usuario, para referencias futuras e inducciones de nuevos usuarios; se sugiere que el manual del usuario se leído y discutido por todo el personal que operará el sistema antes de iniciar su uso por primera vez.  Se recomienda que se creen copias de seguridad de la base de datos para evitar perdidas de datos.  Se recomienda que se agregue el módulo de contabilidad para tener una solución completa, ya que todo el sistema se encuentra apto para incorporar sin ningún problema el modulo de contabilidad. 65 Glosario A Agroindustria: sector en el cual se desarrollan procesos de carácter artesanal o industrial destinados a la transformación de productos provenientes de cualquier actividad agrícola o ganadera. Aplicación: En informática las aplicaciones son los programas con los cuales el usuario final interactúa, es decir, son aquellos programas que permiten la interacción entre el usuario y la computadora. Esta comunicación se lleva acabo cuando el usuario elige entre las diferentes opciones o realiza actividades que le ofrece el programa Arquitectura: arquitectura de una aplicación es el funcionamiento, estructura y diseño de un sistema informático. Dentro de este término se engloban aspectos como formato de interfaz, modo de navegación, entre otros aspectos. Automatización: Software que está especialmente diseñado para ayudar a personas a realizar sus actividades diarias por muy complicadas que estas parezcan con lo cual los usuarios pueden crear, almacenar y recuperar cualquier tipo de información. B Base de datos: Una base de datos es un conjunto de datos que pertenecen al mismo contexto almacenado sistemáticamente para su uso posterior. E ERP: Planeación de Recursos Empresariales por sus siglas en ingles ERP, Enterprise Resource Planning. Escalabilidad: es la propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para manejar el crecimiento continuo de trabajo de manera fluida, 66 o bien para estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos. I Interfaz: es la parte del programa informático que permite el flujo de información entre varias aplicaciones o entre el propio programa y el usuario. De forma más abstracta se conoce a la interfaz como la conversación entre el usuario y el sistema informático. M Manufactura: describe la transformación de materias primas en productos terminados para su venta. Módulo: es la división de un número limitado de partes que conforman un sistema. MySQL: es un sistema de gestión de base de datos, multihilo y multiusuario con más de seis millones de instalaciones. MySQLAB desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado lo ofrece bajo la GNU GPL, pero empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso. P PYMES: Pequeñas y medianas empresas con un número reducido de trabajadores, y cuya facturación es moderada. PHP: lenguaje de programación tipo script para entornos Web con el fin de personalizar la información que se envía a los usuarios que acceden a un sitio web. La ventaja de este lenguaje radica en que todas las plataformas de sistemas operativos son compatibles con el. 67 Plataforma: una plataforma es precisamente el ambiente sobre el cual un programa puede ejecutarse, es decir el contexto en el que se ejecuta puede ser de tipo local como programas de procesamiento de texto o global como hojas Web. 68 Fuentes de Consulta A. Bibliografía Nieto-Santisteban, María A. Ingeniería Web Construyendo Web Applications. Universidad de Extremadura. Departamento de Informática. España, 2001. B. Sitios Web Matías, Sales. Teoría y Práctica de la Entrevista (publicación en línea). Disponible en Internet: http://www.gestiopolis.com/recursos/documentos/fulldocs/rrhh/tpentuch.htm Universidad Argentina de la Empresa, Proyecto Informático / Una Metodología Simplificada (publicación en línea). Disponible en Internet: http://www.biblioteca.uade.edu.ar/tecnicaadministrativa/biblioteca/bddoc/bdlibros/proyectoinf ormatico/libro/c6/c6.htm Real Academia Española http://www.rae.es/ 69 Anexos. Justificación del porque se usará PHP. PHP provee varios beneficios únicos:  Plataforma robusta, escalable, estable y segura de alto desempeño y sin costo alguno.  Fácilmente integrable con ambientes y sistemas empresariales heterogéneos PHP es completamente ínter operable con otros lenguajes, protocolos, sistemas, bases de datos, incluyendo C/C++, Java, Perl, COM/.NET, XML/Web services, LDAP, ODBC, Oracle y MySQL. Debido a que PHP es un producto de código abierto (open source), puede ser implementado en cualquier plataforma, con cualquier servidor Web y con cualquier base de datos. PHP no esta restringido a ninguna plataforma o tecnología. Marco comparativo de porque se utilizará PHP en lugar de ASP. PHP ASP El software necesario para ejecutar aplicaciones es software libre. (GNU/Linux) Uso bajo Licencia propietario Trabaja con una diversidad de bases de datos, Gran seguridad, muy poca probabilidad de corromper los datos. Solo Servidores y/o equipos con sistema Operativo Windows de Microsoft Mantiene un bajo consumo de recursos de máquina. Invoca más frecuentemente los objetos Puede ser instalado en servidores Windows Precisa que el servidor funcione sobre Windows NT, Windows 2000 o superiores Es un lenguaje libre. Dispone de recursos open source. Código cerrado, solo visto por sus desarrolladores. Como podemos observar en el recuadro anterior, las ventajas que nos ofrece PHP son mejores y mas robustas en cuanto a ASP y en cuanto al costó de licencias es sumamente grande ya que PHP es un software libre de costo cero. 70 Formato de entrevista realizada a diferentes personas en la empresa. Nombre:_____________________________________________________________ 1. ¿Cuál es su puesto en la empresa? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 2. ¿Cuáles son sus actividades dentro de la empresa? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 3. ¿Describa cada una de las actividades? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 4. ¿Cuál es el proceso que lleva para hacer la actividad 1? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 5. ¿Cuánto tiempo demora en realizar esta actividad? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 71 6. ¿Cuál es el proceso que lleva para hacer la actividad 2? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 7. ¿Cuánto tiempo demora en realizar esta actividad? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 8. ¿Cuál es el proceso que lleva para hacer la actividad 3? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 9. ¿Cuánto tiempo demora en realizar esta actividad? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 10. ¿Cómo cree usted que mejoraría el tiempo para cada una de sus actividades? _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ 72 Formato de encuesta realizada a diferentes personas en la empresa. Valoración del sistema Agroindustria Buena Vista. Nombre: ___________________________________________ Cargo: ____________________________________________ Diseño de la Interfaz de Usuario. Excelente_____ Muy bueno_____ Bueno_____ Regular_____ Necesita Mejorar _____ Facilidad de uso. Excelente_____ Muy bueno_____ Bueno_____ Regular_____ Necesita Mejorar _____ Manejabilidad del Sistema. Excelente_____ Muy bueno_____ Bueno_____ Regular_____ Necesita Mejorar _____ 73 Seguridad del sistema. Excelente_____ Muy bueno_____ Bueno_____ Regular_____ Necesita Mejorar _____ Validaciones. Excelente_____ Muy bueno_____ Bueno_____ Regular_____ Necesita Mejorar _____ Usabilidad del sistema. Excelente_____ Muy bueno_____ Bueno_____ Regular_____ Necesita Mejorar _____ 74 1. ¿Están de acuerdo a los cambios hechos al sistema? Si_____ No_____ *Si su respuesta es NO, Porque: ______________________________________________________________ ______________________________________________________________ ______________________________________________________________ 2. ¿Cumple con las expectativas establecidas? Si_____ No_____ *Si su respuesta es NO, Porque: ______________________________________________________________ ______________________________________________________________ 75 Manual de creación de Base de Datos Acerca de este manual Este manual está diseñado para el administrador de base datos, el cual es él en cargado de crearla y para facilitar su creación se ha diseñado un instalador el cual se detallan los pasos a seguir. Inicio del instalador de Base de Datos. Como iniciar el instalador? 1. Copiamos la carpeta instalar en nuestro servidor. 2. Luego accedemos a nuestro navegador y ponemos la ip de nuestro servidor y la ubicación de nuestra carpeta (ver figura1), aparecerá la siguiente pantalla. Figura 1 76 3. En la pantalla de inicio del instalador nos aparece los requisitos mínimos que debemos tener en nuestro server para poder crear la base de datos sin tener ningún problema. Le damos continuar. 4. Empezamos a configurar los datos necesarios para la creación de la base datos (ver figura2). Ingresamos usuario este debe de ser el súper usuario o administrador de sistema (root). 5. La contraseña es la que el administrador designe, en cuanto a la dirección ip es la dirección ip del servidor en este caso es la de localhost (127.0.0.1), el nombre que se le asignara a la base de datos, luego de llenar estos campos le damos continuar. (ver figura2). Figura2 77 6. El siguiente paso nos pide la información del administrador de la base de datos y la información de la empresa. (ver figura3). Figura3 7. Luego le damos continuar. Para finalizar si todo esta correcto nos aparecerá instalación exitosa (ver figura4). Figura 4 78 Manual de usuario Acerca de este manual Este manual provee la información necesaria que le ayudará a utilizar correctamente el Sistema y a conocer cada una de las partes que lo componen y así obtener el mejor conocimiento y provecho de este sistema. Dirigido Este manual está dirigido para dar el soporte necesario sobre la información del sistema, para el manejo de dicho sistema. 79 Inicio del sistema. Como iniciar el programa? 1. Desde su escritorio, haga click en Inicio, apunte a todos los programas y haga click en su navegador de Internet o si tiene el acceso directo de su navegador en su escritorio haga clic sobre el. Al cargar su navegador tendrá que digitar la dirección donde se encuentra alojada el sistema. Ej. http://ip del servidor. Y así de esta manera cargara la pantalla de inicio del sistema. Como utilizar el Sistema de Agroindustria Buena Vista. Pantalla principal En la pantalla principal (ver figura 1) nos muestra el lugar donde se tiene que digitar el usuario y la contraseña; este sistema ofrece dos tipos de usuarios los cuales son administrador, y el usuario sin privilegios de administrador. Figura1 80 En caso de que haya ingresado usuario y contraseña correctamente le aparecerá la siguiente pantalla (ver figura 2) la cual le da información sobre quien desarrollo el software, un saludo de bienvenida. Y si no está registrado en el sistema no podrá accesar y vera un mensaje de acceso restringido (ver figura 3). Figura 2 Figura 3 81 Modo administrador En modo administrador usted puede ver un modulo mas que es que lo distingue del usuario sin privilegios; una de las funciones fundamentales es que puede crear nuevos usuarios para el manejo del sistema, así como darle los permisos necesarios a dicho usuario. Menú principal Al entrar con el usuario administrador la pantalla principal muestra el modulo de administración el contiene los siguientes campos: manejo de usuarios, manejo de permisos y opciones del sistema (figura 4). Figura 4 82 En el ítem de manejo de usuarios el administrador puede ver a todos los usuarios que están con privilegios de poder ingresar al sistema (ver figura 5), al igual puede agregar y eliminar algún nuevo usuario al sistema (ver figura 6 y 7 respectivamente). Figura 5 Para agregar un nuevo usuario y darles los privilegios ya sea administrador o no, solo tiene que darle en icono de agregar, luego ingresara los datos del nuevo usuario, para ingresarlos le damos registrar para finalizar (ver figura 6) y listo el usuario quedara registrado, para ver el nuevo usuario solo hay que dar un nuevo clic sobre el ítem que dice manejo de usuarios en el modulo de administración. 83 Figura 6 Nota: En este espacio aparece un mensaje al finalizar ya sea el ingreso, eliminar o actualización de datos, si los campos han sido llenados exitosamente aparecerá el mensaje que ha sido exitoso, de lo contrario aparecerá un mensaje de error dependiendo del error. Este mensaje aparecerá siempre que el usuario ingrese, actualice o borre datos. De igual forma podrá eliminar, para eliminar en el ítem de manejo de usuarios solo le da click sobre el nombre y en la parte de opciones le damos eliminar si estamos seguros de eliminarlo. 84 Figura 7 Otra de las opciones que podemos hacer aparte de agregar o eliminar algún usuario, podemos editarlo, si algún usuario que ya hemos registrado y le hace falta algún dato o nos equivocamos en algún dato tenemos la oportunidad de modificarlo. Para esto solo le damos click sobre el nombre del usuario que queremos modificar y le damos click en editar (ver figura 5), luego de darle editar nos aparecerán los datos del usuario y podemos modificar los datos y le damos actualiza, si no hay problemas nos aparecerá un mensaje que ha sido actualizado (ver figura 8). 85 Figura 8 Otro ítem del modulo de administración es: Manejo de Permisos. En este el administrador puede o no dar permisos para que los usuarios vean información acerca de los módulos como: inventario, ventas, compras (ver figura 9). De igual forma que en la parte de Administración de Usuarios en este ítem de Administración de Perfiles se pueden editar y borrar perfiles. 86 Figura 9 En la parte de opciones del sistema podemos ver los datos de la empresa las cuales si hay algún dato que cambiar lo editamos y luego lo guardamos. A continuación se detallan los módulos ventas, compras, inventario, los cuales dependiendo del perfil del usuario estarán disponibles o no. Modulo Ventas. Este modulo nos muestra cierta información sobre las ventas, clientes, pedidos, lista de precios. 87  Clientes. En este ítem podremos observar los diferentes clientes de la Agroindustria Buena Vista que hasta el momento están ingresados en el sistema, al igual que el modulo de administración, tiene la facilidad para editar, agregar y eliminar algún cliente que exista en la base de datos. Tanto para agregar, editar o borrar siempre le damos clic sobre el cliente al que se le van hacer los cambios y según el cambio así será la opción que escogeremos, para luego dar clic en registrar, eliminar o actualizar según sea el caso. Para ejemplo le damos clic en agregar y llenamos los campos que nos piden, luego de llenados los campos siempre teniendo el cuidado de llenar los campos requeridos de lo contrario nos dará error, le damos clic en el botón de Registrar (ver figura 10) Figura 10 88 Modulo Compras. Este modulo nos muestra información sobre las cuentas, pedidos, órdenes de compra, requisiciones, stock de producto.  Requisiciones. En este ítem podemos hacer las diferentes requisiciones para poder obtener las órdenes de compras, se llena el formulario y se envía quedando así a espera de que se aceptada o rechazada (ver figura 11). Figura 11 89  Cuentas. En este ítem podrá ver los diferentes proveedores que están en la base de datos al igual que en los demás módulos podrá agregar cuentas (nuevos proveedores) con toda su información (ver figura 12). Si ingresa correctamente los datos el mensaje le aparecerá en la parte inferior. Figura 12 90 Modulo Inventario. En este ítem podrá ver los diferentes registros de compras y ventas y la cantidad de producto que está disponible, así como también realizara búsquedas de algún producto en particular y le mostrara cuanto hay en existencia y si esta ese producto.  Recepción de mercadería. Aquí podrá ingresar toda la mercadería que recibe, para alimentar el inventario (ver figura 13). Figura 13 91  Despacho de mercadería. Al igual que en recepción de mercadería, aquí ingresara los productos que han sido vendidos, también alimentara la base de datos para el inventario (ver figura 14). Figura 14  Control de almacén. En este podrá ver todo los productos en existencia y cuantos hay en stock (ver figura 15). 92 Figura 15  Buscador de artículos. Muestra los productos si hay en existencia(ver figura 16). Figura 16 93 Manual del Programador Acerca de este manual Este manual provee la información necesaria que le ayudará a entender la estructura del Sistema, mostrando las partes esenciales de éste para con ello poder disponer de toda la información necesaria para el mantenimiento y agregados que se le podrían ir haciendo en el tiempo. Dirigido Este manual está dirigido a los diseñadores de sistemas o programadores que serán los encargados de implementar cambios futuros. 94 Generalidades El sistema está diseñado para funcionar en cualquier directorio de los que le de soporte el servidor Web, sin importar el nombre. Si se desea agregar un módulo al sistema, se tendrá que editar el archivo ”principal.php” para incorporar en el software los nuevos cambios. Estructura de los directorios El software está constituido por un directorio llamado “Modulos”, el cual está compuesto por 8 directorios, los cuales están constituidos para seguir un orden modular, donde cada directorio se nombra en alusión al modulo que maneja y contiene solo los archivos esenciales para el funcionamiento del subsistema. 95 Se tiene la ventaja que si se quiere añadir algún módulo más al sistema, se pude hacer sin afectar los módulos ya existentes. Se debe tener en cuenta el código CSS para las plantillas, ya que éste le será de gran utilidad para mantener el estilo ya preestablecido, al mismo tiempo se mantendrá de manera óptima los recursos del servidor, ya que se reutiliza el código existente. Aparte de los 5 módulos con los que interactúa el usuario, existen 3, los cuales sólo sirven para dar amplitud al sistema, estos son:  Directorio de Imágenes, que es acá donde se colocan todas las imágenes que se utilizan en los diversos módulos, así que, si se desea agregar una imagen, primero se debe colocar en ésta carpeta la imagen para luego ser referenciada desde la página solicitante.  Directorio CSS, está constituido por la página de estilo que es la plantilla que le da una misma estructura en cuanto a diseño se refiere.  Directorio Scripts, ésta contiene diversos códigos JavaScripts, ya que el sistema está conformado por códigos que generan eventos basados en tecnología AJAX. El código de todas las páginas del sistema esta constituido por una sola plantilla, la cual se anexa a continuación:
96 Como se puede observar las páginas están compuestas por etiquetas que son referenciadas por la plantilla CSS, donde estas están previamente cargadas, ya que la plantilla se manda a llamar junto al archivo “principal.php” si se desea hacer una petición a la base de datos, bastará con incluir la línea include("conexion.php"); dentro del código PHP, con ello se añade la función conectar lo que permite tener centralizado en una sola llamada todo el proceso de conexión a la base en MySQL, sin exponer en todas las paginas el usuario y contraseña que dan acceso al servidor. Para la administración de la base de datos, se recomienda la utilización de “PHPmyAdmin”, el cual se puede encontrar en el mismo directorio, donde se almacene el sistema. Para darle mayor funcionalidad se podría configurar para que acepte peticiones TCP/IP y con ello se pueda acceder remotamente, ya sea de una maquina que se encuentre en la misma LAN, o si se cuenta con conexión a Internet y se dispone de una IP pública, se podría administrar desde cualquier lugar, siempre tomando a consideración la seguridad, ya que el sistema seria vulnerable a ataques.