PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO
Dirección Académica – Escuela de Sistemas
DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA WEB PARA CONTROLAR EL INVENTARIO DE MATERIALES Y HERRAMIENTAS DE LA EMPRESA SERINPETROL EN SANTO DOMINGO, PERIODO 2016 – 2017
Trabajo de Titulación previo a la obtención del título de Ingeniero de Sistemas y Computación
Línea de Investigación: Estudio, Diseño e Implementación de Software Autores: JOSÉ ANDRÉS DELGADO ZAMBRANO LUIS MIGUEL MORENO SANDOVAL Director: Mg. LUIS JAVIER ULLOA MENESES
Santo Domingo – Ecuador Agosto, 2017
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO
Dirección Académica - Escuela de Sistemas
HOJA DE APROBACIÓN DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA WEB PARA CONTROLAR EL INVENTARIO DE MATERIALES Y HERRAMIENTAS DE LA EMPRESA SERINPETROL EN SANTO DOMINGO, PERIODO 2016 – 2017 Línea de Investigación: Estudio, Diseño e Implementación de Software Autor: JOSÉ ANDRÉS DELGADO ZAMBRANO LUIS MIGUEL MORENO SANDOVAL Luis Javier Ulloa Meneses, Mg.
f.
DIRECTOR DEL TRABAJO DE TITULACIÓN
José Luis Centeno Lara, Mg.
f.
CALIFICADOR
Rodolfo Sirilo Córdova Gálvez, Mg.
f.
CALIFICADOR
Margoth Elisa Guaraca Moyota, Mg.
f.
DIRECTORA DE LA ESCUELA DE SISTEMAS Santo Domingo – Ecuador Agosto, 2017
iii
DECLARACIÓN DE AUTENTICIDAD Y RESPONSABILIDAD Yo, José Andrés Delgado Zambrano portador de la cédula de ciudadanía Nº 2300272636 declaro que los resultados obtenidos en la investigación que presento como informe final, previo a la obtención del Grado de Ingeniero en Sistemas son absolutamente originales, auténticos y personales. En tal virtud, declaro que el contenido, las conclusiones, los efectos legales y académicos que se desprenden del trabajo propuesto de investigación, así como la redacción de este documento son y serán de mi sola y exclusiva responsabilidad legal y académica.
Delgado Zambrano José Andrés CC: 2300272636
iv
DECLARACIÓN DE AUTENTICIDAD Y RESPONSABILIDAD Yo, Luis Miguel Moreno Sandoval portador de la cédula de ciudadanía Nº 1717003733 declaro que los resultados obtenidos en la investigación que presento como informe final, previo a la obtención del Grado de Ingeniero en Sistemas son absolutamente originales, auténticos y personales. En tal virtud, declaro que el contenido, las conclusiones, los efectos legales y académicos que se desprenden del trabajo propuesto de investigación, así como la redacción de este documento son y serán de mi sola y exclusiva responsabilidad legal y académica.
Moreno Sandoval Luis Miguel CC: 1717003733
v
AGRADECIMIENTO Nuestra disertación de grado es el resultado del esfuerzo conjunto de un equipo de trabajo, por esto agradecemos a nuestro tutor responsable, Mg. Javier Ulloa, con quien a lo largo de este tiempo hemos puesto a prueba nuestras capacidades y conocimientos en el desarrollo de este nuevo sistema web para controlar el inventario de materiales y herramientas, el cual ha finalizado llenando todas nuestras expectativas y las de la empresa SERINPETROL. Un inmenso agradecimiento a nuestros padres quienes a lo largo de toda nuestra vida nos han apoyado y motivado en nuestra formación académica, creyeron en nosotros en todo momento sin dudar de nuestras habilidades. A nuestros profesores a quienes les debemos gran parte de nuestros conocimientos, gracias por su paciencia y enseñanza, y finalmente un eterno agradecimiento a la PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO la cual nos abrió sus puertas para prepararnos e instruirnos para un futuro competitivo y formarnos como personas éticas. Andrés Delgado Luis Moreno
vi
DEDICATORIA Principalmente al Dios creador de todas las cosas existentes, imaginables e inimaginables de este mundo, quien nos ha bendecido con la presencia de nuestros padres terrenales, los cuales han sabido educarnos, guiarnos y han sido nuestro mayor ejemplo de superación, a todos ellos está dedicada la presente disertación de grado como muestra de la inmensa gratitud que les tenemos y para compensar en parte todo el sacrificio que han hecho para poder lograr todo aquello que nos hemos propuesto. Andrés Delgado Luis Moreno
vii
RESUMEN Este trabajo de disertación de grado, permite controlar el inventario de materiales y herramientas de la empresa SERINPETROL mediante un Sistema Informático de Control de Inventario Ecuatoriano (SICIEC), el cual fue desarrollado para gestionar las entradas y salidas de las existencias del inventario, sistematizando los procesos involucrados de la organización mediante módulos para un mejor y óptimo desempeño. La sistematización de los procesos trajo consigo la creación de los módulos de: cliente, facturación, inventario, proveedor, reportes, administración. SICIEC permite que un usuario de tipo administrador registre a más usuarios brindándoles el acceso a determinados módulos, también se encarga de la entrada de información sobre las compras y ventas, para llevar el control del inventario arrojando un reporte de dichas transacciones, un reporte que registra el control de las herramientas e insumos de la empresa, y un reporte de las existencias del inventario. Funciona vía web alojado en un servidor o de manera local llevando el inventario mediante un computador. El diseño de SICIEC fue realizado con herramientas de lenguaje de marcado como: HTML5 complementando una plantilla de diseño como: BOOTSTRAP v3.3.7, un sistema de gestión de base de datos relacional: MySQL v5.6.17, para la programación y escritura del código se utilizó PHP v5.5.12 y JavaScript. El principal resultado de la disertación de grado fue la automatización de los procesos, logrando obtener un control optimizado del inventario que sirve de apoyo para la toma de decisiones de la organización.
viii
ABSTRACT This dissertation work allows the control of the inventory of materials and tools of the company SERINPETROL through an Ecuadorian Inventory Control System (SICIEC), it was developed to manage the inflows and outflows of inventories inventory, systematizing the processes involved of the organization, through modules for optimal performance. The systematization of the processes brought with it the creation of the modules of: customer, billing, inventory, supplier, reports, administration. SICIEC provides the functionality to the user administrator to register more users, as well as access to the modules, also is responsible for entering information on purchases and sales, to keep inventory control, reports a transaction that performs the billing process, a report that records the control of the tools and inputs of the company, and a report of the stocks of the inventory. It works via web hosted on a server or locally taking inventory through a computer. The design of SICIEC was done with markup language tools such as: HTML5 complementing a design template such as: BOOTSTRAP v3.3.7, a relational database management system: MySQL v5.6.17, for programming and writing the code is Used PHP v5.5.12 and JavaScript. The main result of the degree dissertation was the automation of the processes, obtaining an optimized control of the inventory that serves as support for the decision making of the organization.
ix
ÍNDICE CONTENIDOS
1.
INTRODUCCIÓN .................................................................................................. 1
2.
PLANTEAMIENTO DEL PROBLEMA ............................................................... 3
2.1.
Antecedentes........................................................................................................... 3
2.2.
Problema de investigación ...................................................................................... 4
2.3.
Justificación de la investigación ............................................................................. 5
2.4.
Objetivos de investigación ..................................................................................... 7
3.
MARCO REFERENCIAL ..................................................................................... 8
3.1.
Revisión de la literatura o fundamentos teóricos ................................................... 8
3.1.1.
Metodología de Desarrollo de software .................................................................. 8
3.1.1.1.
SCRUM................................................................................................................... 8
3.1.1.1.1
Visión general .......................................................................................................... 8
3.1.1.1.2
Eventos de SCRUM ................................................................................................ 9
3.1.1.1.3
Manifiesto ágil ........................................................................................................ 9
3.1.1.1.4
Fases de SCRUM................................................................................................... 10 Fase de planificación............................................................................................. 10 Fase de desarrollo ................................................................................................. 11 Fase de finalización............................................................................................... 11
3.1.1.1.5
Roles en SCRUM.................................................................................................. 12 PO (Product Owner) o dueño del producto........................................................... 12 SCRUM Master .................................................................................................... 13 Equipo de trabajo .................................................................................................. 13 Coach .................................................................................................................... 13 Stakeholders .......................................................................................................... 13 Tamaño del equipo de desarrollo .......................................................................... 13
x 3.1.1.1.6
Los artefactos de SCRUM ................................................................................... 14 Product Backlog ................................................................................................... 14 Sprint Backlog ..................................................................................................... 14 Burndown Chart ................................................................................................... 15 Backlog de impedimentos .................................................................................... 15
3.1.1.1.7
Reuniones de SCRUM ......................................................................................... 16 Sprint Planning..................................................................................................... 16 Daily Meeting ...................................................................................................... 16 Sprint Review....................................................................................................... 16
3.1.2.
Software ............................................................................................................... 16
3.1.2.1.
Lenguajes de programación ................................................................................. 16
3.1.2.1.1
Software de programación ................................................................................... 17
3.1.2.1.2
Programación orientada a objetos ........................................................................ 17
3.1.2.2.
Ingeniería de software .......................................................................................... 17
3.1.2.3.
PHP…… .............................................................................................................. 17
3.1.2.3.1
Preprocesador ....................................................................................................... 18
3.1.3.
Base de datos........................................................................................................ 18
3.1.3.1.
Sistema gestor de base de datos ........................................................................... 18
3.1.3.1.1
Objetivos .............................................................................................................. 18
3.1.3.1.2
Funciones ............................................................................................................. 19
3.1.3.2.
Modelo de datos ................................................................................................... 19
3.1.3.3.
Normalización ...................................................................................................... 19
3.1.3.3.1
Lenguaje SQL ...................................................................................................... 20 Lenguaje DML ..................................................................................................... 20 Lenguaje DDL ..................................................................................................... 20
3.1.3.3.2
PhpMyAdmin de MySQL .................................................................................... 21
3.1.4.
Framework ........................................................................................................... 21
xi 3.1.4.1.
Responsive grid system....................................................................................... 21
3.1.4.2.
BOOTSTRAP ..................................................................................................... 21
3.1.4.2.1
Licencia BOOTSTRAP ...................................................................................... 22
3.1.5.
MVC (Modelo Vista Controlador)...................................................................... 22
3.1.5.1.
Elementos del MVC ............................................................................................ 22
3.1.5.2.
Arquitectura MVC .............................................................................................. 23
3.1.6.
Inventario ............................................................................................................ 23
3.1.6.1.
Materiales ............................................................................................................ 24
3.1.6.1.1
Materiales de consumo y reposición ................................................................... 24
3.1.6.2.
Sistema de inventario .......................................................................................... 24
3.1.6.2.1
Registro y control de inventarios ........................................................................ 24
3.1.6.2.2
Toma física de Inventario ................................................................................... 24
3.1.6.2.3
Objetivos de la valuación .................................................................................... 25
3.1.6.2.4
Mercancías en tránsito ........................................................................................ 25
3.1.6.2.5
Métodos de valuación de inventarios .................................................................. 25
3.1.6.2.6
Método del coste medio ponderado .................................................................... 25
4.
METODOLOGÍA DE LA INVESTIGACIÓN .................................................. 26
4.1.
Diseño/ Tipo de investigación ............................................................................ 26
4.1.1.
Diseño no experimental ...................................................................................... 26
4.1.2.
Tipo de investigación ......................................................................................... 26
4.1.2.1.
Descriptiva .......................................................................................................... 26
4.1.2.2.
Exploratoria ........................................................................................................ 27
4.2.
Población / Muestra ............................................................................................ 27
4.3.
Técnicas e instrumentos de recogida de datos .................................................... 28
4.3.1.
Encuesta .............................................................................................................. 28
4.3.2.
Entrevista ............................................................................................................ 29
4.3.3.
Observación ........................................................................................................ 29
xii 4.4.
Técnicas de Análisis de Datos ............................................................................ 30
4.4.1.
Estadística Descriptiva o Deductiva ................................................................... 30
5.
RESULTADOS .................................................................................................. 31
5.1.
Análisis y Discusión de los resultados ............................................................... 31
5.1.1.
Encuestas realizadas........................................................................................... 31
5.1.2.
Entrevista realizada al gerente de la empresa SERINPETROL......................... 42
5.2.
Metodología de desarrollo de software ............................................................. 44
5.3.
Resultados de la aplicación de la metodología de software .............................. 46
5.4.
Conclusiones...................................................................................................... 57
5.5.
Recomendaciones .............................................................................................. 58 GLOSARIO ....................................................................................................... 61 ANEXOS ........................................................................................................... 63
xiii
ÍNDICE TABLAS Tabla 1: Importancia de implementar un sistema web ............................................................ 31 Tabla 2: Formación en conceptos de computación web .......................................................... 32 Tabla 3: Dificultad para llevar un control del inventario en hojas de cálculo ......................... 33 Tabla 4: Automatización ayuda al desempeño laboral ............................................................ 34 Tabla 5: Mejorar el proceso de compra a los proveedores ...................................................... 35 Tabla 6: Uso de técnicas de contabilidad para llevar el control de inventario ........................ 36 Tabla 7: Nivel de satisfacción de la forma de llevar el inventario actualmente ...................... 37 Tabla 8: Diseño adaptado al tamaño de la interfaz visual ....................................................... 38 Tabla 9: Uso del método de promedio ponderado ................................................................... 39 Tabla 10: Utilización de reportes ............................................................................................. 40 Tabla 11: Utilización de una lista de control para utilizar las herramientas ............................ 41 Tabla 12: Comparación de las metodologías de desarrollo de software .................................. 45 Tabla 13: Comparación software para desarrollo de base de datos ......................................... 48 Tabla 14: Pruebas funcionales ................................................................................................. 55
xiv
ÍNDICE FIGURA Figura 1. Fases de SCRUM ................................................................................................... 10 Figura 2. Importancia de implementar un sistema web ......................................................... 31 Figura 3. Formación en conceptos de computación............................................................... 32 Figura 4. Dificultad para llevar un control del inventario en hojas de cálculo ...................... 33 Figura 5. Automatización ayuda al desempeño laboral ......................................................... 34 Figura 6. Mejorar el proceso de compra a los proveedores ................................................... 35 Figura 7. Uso de técnicas de contabilidad para llevar el control de inventario ..................... 36 Figura 8. Nivel de satisfacción de la forma de llevar el inventario actualmente ................... 37 Figura 9. Diseño adaptado al tamaño de la interfaz visual .................................................... 38 Figura 10. Uso del método de promedio ponderado ................................................................ 39 Figura 11. Utilización de reportes ............................................................................................ 40 Figura 12. Utilización de una lista de control para utilizar las herramientas ........................... 41 Figura 13. Historia de usuario para el inicio de sesión ............................................................ 46 Figura 14. Diseño Relacional de la base de datos. ................................................................... 47 Figura 15. Ejemplo de creación de los métodos set y get. ....................................................... 49 Figura 16. Ejemplo de creación de la clase producto. ............................................................. 49 Figura 17. Ejemplo de creación de las funciones de inserción y actualización en la base de datos. ........................................................................................................................................ 50 Figura 18. Vista del módulo de proveedores. .......................................................................... 50 Figura 19. Ingreso y Actualización de datos de Proveedor ..................................................... 50 Figura 20. Vista del módulo de productos. .............................................................................. 51 Figura 21. Historial de precios del inventario .......................................................................... 52 Figura 22. Visualización del módulo para una lista de control................................................ 52 Figura 23. Reporte generado por el sistema............................................................................. 53 Figura 24. Configuración del módulo de administración la sección de parámetros. ............... 53 Figura 25. Portada del manual de usuario. ............................................................................... 54
xv
ÍNDICE ANEXOS ANEXO 1. Encuesta al gerente y los empleados de la empresa SERINPETROL. ................ 63 ANEXO 2. Entrevista al gerente de la empresa SERINPETROL. ......................................... 65 ANEXO 3. Historias de usuario.............................................................................................. 66 ANEXO 4. Manual de usuario - SICIEC ................................................................................ 71 ANEXO 5. Manual Técnico - SICIEC ................................................................................... 84 ANEXO 6. Diccionario de datos ............................................................................................ 92 ANEXO 7. Carta de aceptación de SICIEC............................................................................ 95 ANEXO 8. Carta de impacto de SICIEC ................................................................................ 96 ANEXO 9. Acta de entrega recepción de SICIEC ................................................................. 97
1
1.
INTRODUCCIÓN
Hoy en día las Tecnologías de Información y Comunicación TIC, constituyen un inmenso apoyo dentro de la cadena de valor de varias organizaciones, en este contexto se necesita contar con herramientas que faciliten la gestión de los procesos, dentro del ámbito local en lo corresponde al cantón Santo Domingo se ha evidenciado que existen requerimientos particulares para dar solución a procesos comunes de las empresas en general, entre ellos el control de inventario de materiales y herramientas que toda institución debe tener para contar con una mejor administración de los bienes y servicios que brinda a sus clientes o comunidad en general. Se consideró oportuno contar con un sistema web que le permita una adecuada gestión del inventario de materiales y herramientas, dada esta necesidad se realizó el “Diseño e implementación de un sistema web para controlar el inventario de materiales y herramientas”; mismo que se llevó a cabo en la empresa SERINPETROL, durante el período 2016-2017. El proyecto de desarrollo de un sistema web, tuvo como principal objetivo mejorar los procesos de control de inventario dentro de la institución, mediante la implementación de un sistema informático cuyo propósito es proporcionar información sobre los materiales y herramientas existentes en la empresa. Bajo este precepto el proyecto trató sobre el análisis de requerimientos, el diseño, desarrollo e implementación de la mencionada aplicación para que permita una mejor administración. Para los fines antes descritos se propuso en una primera fase realizar el análisis de requerimientos para el desarrollo del sistema, que consto de la recopilación de la información, utilizando metodologías como: entrevistas al gerente, encuestas a todos los empleados de la empresa; así como también se definió el alcance del desarrollo del software a través de las historias de usuarios y de los requerimientos encontrados en el proceso de recopilación de datos. Posteriormente se abordó temas relacionados con el diseño del sistema, en el que se incluyó la metodología de desarrollo de software a utilizar y definición de las herramientas de desarrollo.
2 La tercera fase se refiere al desarrollo e implementación de la aplicación; que incluye la creación de las interfaces, los reportes del sistema, la documentación, el análisis de resultados de las pruebas, implementación final y entrega de los manuales de usuario, además de brindar una capacitación a los usuarios del sistema, para que se garantice el correcto uso del mismo, así como también para cumplir con la función para la cual fue creada dicha solución. En este documento existe una breve introducción sobre la disertación de grado, y datos generales. Como segundo punto existe un planteamiento del problema de investigación que se abordó en la empresa SERINPETROL, donde encontramos los antecedentes de la empresa y quienes la conforman, justificamos porque se realizó el proyecto y como último qué objetivos se cumplió para realizar el proyecto, en el marco referencial se describe toda la teoría en la que se fundamenta la investigación y que nos sirvió para inferir en nuevos conceptos y aportar a la estructuración y realización proyecto. Se describe también la metodología de investigación empleada, donde se propuso usar el diseño no experimental, con un tipo de investigación tanto descriptiva, donde se observó y tomó nota de los procesos de la empresa para realizar el análisis de requerimientos, como exploratoria ya que se investigó las variables y los cambios producidos por su influencia, lo que permitió que se aporte a la empresa con la automatización de sus procesos. Finalmente, se realizó un análisis de los resultados obtenidos en la implementación del sistema web en la empresa SERINPETROL y las conclusiones de este análisis, dejando así la puerta abierta para que se puedan implantar nuevos módulos en el sistema si se diera el caso y la necesidad de hacerlo.
3
2. 2.1.
PLANTEAMIENTO DEL PROBLEMA
Antecedentes La empresa SERINPETROL (Servicio de instalaciones petroleras) es una institución
privada, dedicada a la construcción, diseño, reparación y mantenimiento de instalaciones petroleras, ubicada en el cantón Santo Domingo, provincia de Santo Domingo de los Tsáchilas, exactamente en el centro de la ciudad en la Av. Chone y calle Pedro Vicente Maldonado a pocos pasos de la Y del indio colorado, creada en el año 2010. Su misión se fundamenta en la prestación de servicios para el mantenimiento de instalaciones petroleras en forma eficiente, comprometida con el cuidado del medio ambiente, basada en la capacidad de personas preparadas para cumplir con la demanda creciente del mercado interno. La visión de la empresa tiene como objetivo obtener el liderazgo en el mantenimiento de instalaciones petroleras, impulsando el crecimiento del sector petrolero con el compromiso del cuidado y preservación del medio ambiente para contribuir en el desarrollo del país. Desde el momento de su fundación hasta la presente, la empresa no cuenta con un software específico para realizar el control de inventario de los materiales y herramientas. En los últimos años ha realizado los procesos de registro de información de toda índole de manera manual, aunque también en forma digital pero limitadamente mediante archivos de ofimática, este tipo de procesos hacen que la empresa sea poco eficiente desde el punto de vista tecnológico por el mismo hecho de no estar automatizados al carecer de un software a medida que permita optimizar dichos procesos. La carencia de un software hecho a la medida, en lo concerniente a los procesos de inventario retrasan otras actividades que dependen del mismo ya que muchas veces se debe volver a hacer el conteo manual de las existencias de los materiales para tener claro el stock de productos y por ende poderlos facturar, además no se tiene registros históricos de pedidos realizados, lo cual es de vital importancia en la toma de decisiones al momento de realizar nuevos pedidos, todos estos factores hacen que disminuya la productividad de la empresa. Es imprescindible la automatización de los procesos de inventario de la empresa mediante un sistema web, que opera en tiempo real, de esta manera se contribuye a una mejor organización y optimización del tiempo y demás recursos de la empresa.
4
2.2.
Problema de investigación SERINPETROL es una empresa privada que se dedica a la prestación de servicios en
lo referente a la construcción, diseño, reparación y mantenimiento de instalaciones petroleras, como toda empresa maneja también un inventario de las existencias de sus productos, lo hace con métodos ofimáticos poco seguros a través de hojas de cálculo y muchas veces de forma manual, es por eso que surge la interrogante. ¿Cómo puede ser más eficiente el control de inventario de los materiales y herramientas? La empresa actualmente cuenta con un inventario realizado en hojas de cálculo de Excel, es decir, sin mayor automatización, la institución tiene dificultades para realizar pedidos al no tener la certeza del stock de sus productos, debido a que los archivos que guardan esta información muchas veces se reemplazan, se pierden o se eliminan involuntariamente. Según lo prescrito anteriormente surge la gran necesidad de dar solución a los problemas que atraviesa la empresa mediante el diseño e implementación de un sistema web para controlar el inventario de materiales y herramientas. Analizando el problema central planteamos cuatro interrogantes para entender de mejor manera el problema. ¿El desarrollo e implementación de un sistema web de inventario de materiales y herramientas contribuirá con una mejor organización y administración de los recursos de la empresa SERINPETROL? ¿Qué recursos tecnológicos, en cuanto a la base de datos para el almacenamiento de la información, diseño, refiriéndose a la interfaz de usuario y lenguaje de programación para la escritura del código necesitamos para desarrollar el proyecto? ¿Cuál será la metodología para el desarrollo de software más adecuada para ser empleada en el desarrollo del sistema web de inventario de materiales y herramientas para la empresa SERINPETROL? ¿Cuáles serán las áreas y servicios que se verán beneficiados al implementar el sistema web de inventario de materiales y herramientas en la empresa SERINPETROL?
5
2.3.
Justificación de la investigación La creciente complejidad en las diferentes organizaciones ha aumentado en gran
medida la necesidad de tener la información mucho mejor organizada, de manera que se pueda acceder a ella de forma ágil y oportuna. El correcto orden y administración de la información a través de los inventarios es uno de los principales factores que inciden en el desempeño de las empresas y en las ganancias que se obtienen. Por lo cual es de vital importancia para las compañías contar con un inventario bien administrado y controlado. El enfoque en esta área debe ser el de mantener un nivel óptimo para no generar pérdidas ni costos innecesarios. Debido a la gran necesidad de tener una mejor administración, la empresa SERINPETROL ha permitido que la presente investigación esté diseñada para desarrollar un sistema web de inventario de materiales y herramientas con la finalidad de controlar las existencias de las mismas dentro de la compañía, lo que trae consigo una eficiencia en la organización que se verá reflejada en las diferentes áreas, ya que al ingresar la información en el sistema las personas que tienen acceso a ésta podrán estar al tanto del stock de los diferentes productos de la empresa, además de que podrán saber si se necesita hacer un nuevo pedido a los proveedores, emitir reportes de entrada y salida de los productos y de facturación. Hay que tomar muy en cuenta que la utilización de las herramientas de este tipo, en concreto, un sistema informático de inventario y control de productos, ayudará a la persona encargada de tomar decisiones a mejorar de la productividad de la empresa, ya que contará con datos estadísticos precisos, que contribuyan a una mejor visión sobre el negocio de la empresa, es decir, el uso de estas herramientas siempre nos darán una ventaja ya que buscan mejorar la administración y productividad de la empresa. Es necesario mencionar que la presente investigación es importante para la Escuela de Sistemas de la Pontificia Universidad Católica del Ecuador sede Santo Domingo, porque servirá como guía y apoyo a quienes en un futuro necesiten una referencia tanto la metodología como de los detalles sobre la codificación empleada para la realización del sistema de inventario en mención, objeto de esta investigación. Destacamos la importancia que tiene el proceso de realización de SICIEC ha aportado a sus autores experiencia ya que se han utilizado varias herramientas de funciones específicas y sobre todo actualizadas, su desarrollo nos deja un eje para seguir investigando en el medio ya que al tratarse de tecnología informática está en constante evolución y tiene un crecimiento exponencial.
6 SICIEC será capaz de realizar tareas de vital importancia para la empresa como por ejemplo la emisión de reportes gerenciales, de facturación, entre otras; dichas tareas que antes era imposible realizarlas con eficiencia ya que se desarrollaban manualmente y eran susceptibles de cometer errores, más ahora con la utilización del software se puede automatizarlas y por ende dar respuesta inmediata a los diferentes departamentos que soliciten información y/o recursos, en el momento en que lo requieran evitando una posible redundancia de actividades y por ende la pérdida de tiempo. En términos de factibilidad, en lo referente a la realización del sistema vemos que el interés en cuanto a su desarrollo, se ha dado en armonía entre las dos partes involucradas, es decir, tanto los desarrolladores como los usuarios han contribuido de manera eficiente para que el objetivo de esta investigación se desarrolle con normalidad, en los tiempos acordados y siempre con la pre disposición de colaborar en su elaboración, las herramientas para su estructuración tecnológicamente hablando estuvieron al alcance de las manos de los desarrolladores ya que al tratarse de herramientas gratuitas no existió ningún inconveniente para su adquisición y posterior uso. El software en mención al tener su fundamento en el proceso de control de inventario de productos de una empresa, puede utilizarse en cualquier otra organización ya que automatiza los procesos direccionados a la realización del inventario, es decir su servicio y funcionamiento se puede ver de una forma estándar. Su utilización a corto, mediano y largo plazo siempre tendrá un excelente resultado, aunque es preciso mencionar que a largo plazo tendremos mayor información recabada y por ende los resultados de los diferentes reportes serán más representativos y se podrá tomar las mejores decisiones, las mismas que contribuirán al mejor desempeño de la empresa de manera oportuna, confiable y veraz. Todo lo antes mencionado, neto en la realización del sistema de inventario web y respaldando su desarrollo y elaboración podemos afirmar que su estructuración va acorde con la disposición prescrita en el Plan Nacional del Buen Vivir 2013-2017 (PNBV), que en uno de sus objetivos sostiene que el estado ecuatoriano por medio de la educación superior debe impulsar las políticas, estrategias, planes y programas de investigación y desarrollo de Tecnologías de la Información y de la Comunicación. (SENPLADES, 2013).
7
2.4.
Objetivos de investigación OBJETIVO GENERAL
Diseñar un sistema web mediante herramientas de desarrollo de software que controle el inventario de materiales y herramientas para mejorar los procesos internos de la empresa SERINPETROL en la ciudad de Santo Domingo.
OBJETIVO ESPECÍFICOS
Determinar las funcionalidades del sistema web para definir los procesos que intervienen en el desarrollo del software.
Analizar las diferentes metodologías de desarrollo de software y escoger la que mejor se adapte al proyecto.
Desarrollar un sistema web adaptativo con herramientas de código abierto para crear una interfaz amigable e intuitiva.
Instalar el sistema web en el servidor de la empresa SERINPETROL para que quede puesto en marcha y funcionando con normalidad.
8
3.
MARCO REFERENCIAL
3.1.
Revisión de la literatura o fundamentos teóricos
3.1.1.
Metodología de Desarrollo de software La metodología SCRUM se maneja especialmente para el desarrollo de software, otros
sectores están aprovechando sus beneficios implantando esta metodología en sus modelos organizativos, llevando a una evolución de la metodología. Por un lado, el mercado demanda calidad, rapidez en la entrega y bajos costes, para lo cual una empresa debe ser muy ágil y flexible en el desarrollo de productos para conseguir ciclos de desarrollo cortos que puedan satisfacer la demanda de los clientes sin menoscabar por ello la calidad del resultado final. Es una metodología muy fácil de implantar y muy popular por los resultados rápidos que consigue. Por un lado, evita la burocracia y la documentación, de manera que los primeros resultados lleguen muy rápidamente. 3.1.1.1. SCRUM Metodología de desarrollo de software ágil, que permite lograr resultados eficaces para el cliente, en iteraciones dirigidas por un jefe de proyecto en un tiempo de duración de 1 a 4 semanas mediante un equipo de trabajo que se encarga de llevar a cabo las tareas. (Alvaréz, de las Heras, & Lasa, 2012, págs. 39-40 ) 3.1.1.1.1 Visión general Es un cuadro de trabajo donde se utiliza varias técnicas y procesos, que son usados para encargarse del desarrollo de productos, el cuadro de trabajo se compone de lo siguiente: reglas de SCRUM que unen los eventos, roles y artefactos. Se fundamentan en la teoría de control de procesos empírica, explicando esto decimos que lo empírico representa el conocimiento que se obtiene a través de la experiencia y de la toma de decisiones. (Schwaber & Sutherland, 2016, pág. 4)
9 3.1.1.1.2 Eventos de SCRUM Existen eventos creados con anticipación con la finalidad de dar regularidad y evitar las reuniones no establecidas. Las reuniones tienen un tiempo máximo de permanencia, el sprint tiene un tiempo establecido no podemos aumentar o quitar, los eventos terminan siempre y cuando se cumple el objetivo del evento. (Schwaber & Sutherland, 2016, pág. 9) 3.1.1.1.3 Manifiesto ágil Dentro del manifiesto ágil se ha convertido en la pieza fundamental de una nueva concepción de trabajo en el desarrollo de proyectos en forma ágil, se basa en cuatro puntos importantes que vamos a exponer a continuación uno en cada párrafo. Valorar a los participantes y sus iteraciones, las personas que participan del proyecto son importantes quizás más que los procesos que vamos a desarrollar porque si no se encuentran con un sólido conocimiento técnico y actitud adecuada, el trabajo produciría malos resultado. Tener en cuenta el software que funciona, debemos tener presente que buscamos un objetivo terminar el software, y la documentación para realizar el proyecto debe ser secundaria, entendiendo que los documentos no pueden sustituir, a los prototipos elaborados a través de comunicación directa entre las personas, por lo tanto, siempre que se debe reducir al mínimo el uso de documentación, haciendo que no se genere trabajo ineficiente. Las prácticas ágiles son enfocadas a productos difíciles de definir en detalle al principio, se basan en retroalimentar los requerimientos con el cliente que es la persona que va usar el software por lo tanto tienen información valiosa que sirve para encontrar las necesidades y requerimientos, debemos crea un ambiente de confianza y colaboración con el cliente en todo momento del desarrollo, y no enfocarse en que debemos cumplir un contrato creando asperezas entre una parte y la otra, trasladando a un clima hostil la relación. Valorar más la respuesta al cambio que el seguimiento de un plan, para desarrollar productos con requerimientos inestables, que tienen como elemento inherente el cambio y el progreso rápido y continuo, es importante la capacidad de respuesta del equipo de desarrollo que continuar con el seguimiento y aseguramiento de planes establecidos mediante actividades. (Alvaréz, de las Heras, & Lasa, 2012, págs. 21-22)
10 3.1.1.1.4 Fases de SCRUM
Figura 1. Fases de SCRUM Fuente: Adaptado de Información Básica de Scrum por P. Deemer, G. Benefield, C. Larman, B. Vodde, 2009, pág 5. Consultado: 1 de abril del 2017. Recuperado de: http://www.goodagile.com/scrumprimer/ scrumprimer_es.pdf.
Fase de planificación Son indagaciones previas que sustentan el estudio, tratan sobre el mismo problema o se relacionan con otros, sirven de guía al investigador y le permiten hacer comparaciones y tener idea sobre cómo se trató el problema en esa oportunidad, también se presentará la forma en que trabaja la empresa o servicio que deseamos mejorar, cuáles son sus fallos generales y deficiencias que muestra ese sistema en la actualidad. Se debe detallar lo más claramente posible qué es lo que se realizar, cuál será el resultado final del mismo y como se va a hacer, implica explicar que se va a producir, como lo va a llevar adelante, y quién la va a ejecutar. Especificar el tipo de aplicación que se utilizará en el sistema, estilo de arquitectura empleada, los protocolos que el sistema utilizará, diagrama de componentes y el despliegue. Product Backlog es una lista de objetos y requisitos priorizada que representan la visión y expectativas del cliente respecto a los objetivos y entregas del producto o proyecto, el cliente es el responsable de crear y gestionar la lista, con la ayuda de facilitador y el equipo, proporcionan el costo estimado para completar cada requisito. Dado que refleja la expectativa del cliente, esta lista permite involucrarle en la dirección de los resultados del producto o proyecto.
11 Sprint inicial es una lista de tareas que el equipo de trabajo se ha propuesto realizar al finalizar el primer sprint, esta lista se construye a partir de las tareas que conforman el Product Backlog, seleccionándolas por su nivel de prioridad, donde se presenta diagramas de: clases, casos de usos, secuencia y una aproximación de la base de datos. (Deemer, Benefield, Craig, & Vodde, 2009, págs. 7-10) Fase de desarrollo Si la lista de requerimientos ha cambiado, entonces es necesario mostrar los cambios realizados, pero solo ese fragmento del listado. Entrega de los Backlog sprint (uno o dos). Las metas propuestas para el/los ciclos de desarrollo. Reporte del Sprint Review Meeting. Documentar el trabajo completando y no completado (que se completó y que no). Problemas encontrados a la hora del trabajo. Adaptaciones necesarias, para ir re-planificando el proyecto. Reporte del Sprint Retrospective, tiene como objetivo la mejorar de manera continua de la productividad y la calidad del producto que se está desarrollando, el equipo analiza cómo ha sido su manera de trabajar durante la iteración, para analizar si está consiguiendo o no los objetivos a los que se comprometió al inicio de la iteración y si el incremento del producto que acaba de indicar al cliente era lo que él esperaba o no. Se pueden utilizar los siguientes gráficos de esfuerzo pendiente: Días pendientes para completar los requisitos del producto o proyecto (product burndown chart), realizado a partir del Backlog product. Horas pendientes para completar las tareas de la iteración (sprint burndown chart), realizado a partir de la lista de tareas de la iteración, además de presentar una versión beta del sistema. (Deemer, Benefield, Craig, & Vodde, 2009, págs. 12-15) Fase de finalización En esta parte se debe hacer una presentación del producto final donde se describirá detenidamente el software y sus aplicaciones. Se describirá que requerimientos son necesarios para utilizar el producto. Entre estos están: espacio en disco, memoria RAM mínima, sistema operativo, programas necesarios para su utilización del sistema. Si la lista de requerimientos ha cambiado, entonces es necesario mostrar los cambios realizados, pero solo fragmentos del listado.
12 Reporte del Sprint Review Meeting, se trata de documentar el trabajo completando y no completado, los problemas encontrados a la hora del trabajo, y las adaptaciones necesarias, para ir re-planificando el proyecto. Reporte del Sprint Retrospective, son las respuestas del equipo en un formulario resumen, los puntos que merezcan atención como ha sido su manera de trabajar y cuáles son los problemas que podrían impedirle progresar adecuadamente, mejorando de manera continua su productividad. Se pueden utilizar los siguientes gráficos de esfuerzo pendiente como días pendientes para completar los requisitos del producto o proyecto (product burndown chart), realizado a partir del Backlog product, se ubican las horas pendientes para completar las tareas de la iteración (sprint burndown chart) es realizado a partir de la lista de tareas de la iteración. Manual de usuario, se le entregará al cliente un documento, el cual pretende ser una guía rápida sobre cómo usar las funciones principales del sistema, dicho documento contará con una sección para resolver posibles problemas que se presenten y este puede ser entendido por cualquier usuario principiante, como así también serles útil a usuarios avanzados. El texto puede venir acompañado de algunas imágenes o tener alguna sección de anexos para que el usuario para que el usuario tenga elementos gráficos que lo ayuden a tener una mejor guía sobre algún problema en específico Se entregará un CD/DVD que contenga los siguientes elementos: el Código Fuente o el/los archivos ejecutables o similares o el manual de usuario o el manual del sistema. (Deemer, Benefield, Craig, & Vodde, 2009, págs. 15-18) 3.1.1.1.5 Roles en SCRUM PO (Product Owner) o dueño del producto Es representante de la empresa o el cliente que va a usar el software, está encargado de entregar los requisitos, indicando el orden como se debe llevar a cabo en el proyecto. (Alvaréz, de las Heras, & Lasa, 2012, págs. 40-42)
13 SCRUM Master Es la persona que lidera el equipo, guiándolo en el cumplimiento de los objetivos pactados con el cliente, respetando la metodología. (Alvaréz, de las Heras, & Lasa, 2012, págs. 40-42) Equipo de trabajo Son el grupo de profesionales multidisciplinarios con conocimientos científicos, encargado de llevar a cabo cada tarea de la construcción del proyecto. (Alvaréz, de las Heras, & Lasa, 2012, págs. 40-42) Coach Es un individuo no indispensable en el desarrollo del proyecto o puede ser un consultor externo, pero realiza el proceso de dirigir, formar, aconsejar a las personas que son parte del proyecto, su tarea es llevar a los participantes de SCRUM a cumplir todas las técnicas de mejor manera. (Alvaréz, de las Heras, & Lasa, 2012, pág. 69) Stakeholders Grupo de individuos que no forman parte directa del desarrollo pero que si se los toma en cuenta, por ser quienes nos proporcionan opiniones, sugerencia que aporta al product backlog, el encargado de entrevistarse con ellos es el PO, además decide si lleva alguno a los Review. (Alvaréz, de las Heras, & Lasa, 2012, pág. 64) Tamaño del equipo de desarrollo Para utilizar esta metodología necesitan mínimo tres miembros que forman un grupo ágil y bastante amplio para completar la cantidad de trabajo de cada actividad, siendo este el caso de nuestro proyecto, si son menos integrantes hacen que las interacciones disminuyan, generando limitaciones para realizar los Sprint. El punto más óptimo son nueve miembros, mayor a ese número requiere excesiva coordinación, además el equipo de desarrollo genera demasiada complejidad para poder manejarse mediante un proceso empírico. El PO y SCRUM master pueden tomarse en cuenta entre los integrantes. (Schwaber & Sutherland, 2016, pág. 6)
14 3.1.1.1.6 Los artefactos de SCRUM Product Backlog Es diseñado por el cliente o representante de la empresa, aunque puede contar con la participación de todos los roles antes mencionados para mantenerlo actualizado, se trata de una lista con los requisitos del proyecto debe contar con un tiempo estimado y priorizando tareas, debe estar escrito en un lenguaje entendible para todos los involucrados, deben realizar una revisión antes de cada Sprint. En el product backlog es bien sabido que se tiene que priorizar las historias de usuarios y los requisitos no funcionales, en caso de existir las denominadas épicas las cuales son demasiado extensas para entrar en un sprint, estos suelen tener un etiquetado que ayuda a agruparlos conocido como tema. Los expertos recomiendan priorizar desde el punto de vista de épicas y tema. (Alvaréz, de las Heras, & Lasa, 2012, págs. 124-125) Épicas son conjunto de historias de usuario que definen módulos del proyecto, además tenemos las tareas que son una labor determinada para un integrante del proyecto, estas conforman el sprint. Las historias de usuario son la unidad fundamental para el sprint son realizadas por los PO y entregadas en los sprint para que sean realizadas. (Alvaréz, de las Heras, & Lasa, 2012, pág. 78) Sprint Backlog El equipo refina los requisitos del cliente en tareas expresadas en un lenguaje más técnico, definiendo tiempo a cada tarea, se realiza al inicio de cada sprint. (Alvaréz, de las Heras, & Lasa, 2012, pág. 41) Cuando tenemos historias de usuario demasiadas complejas que impidan realizar el sprint, se debe dividir hasta tener unidades manejables. (Alvaréz, de las Heras, & Lasa, 2012, pág. 152) Task board es un tablero de tareas donde se encuentran ubicadas las tareas a realizar en el proyecto, es la forma más simple de mostrar que vamos a realizar y mantener actualizado el sprint, se ubica en un lugar visible para todos, existen cuatro estados para cada tarea en el tablero.
15 La primera cuando iniciamos un proyecto todas las tareas tiene un estado de pendiente, ósea no se ha asignado a un sprint. La segunda cuando un integrante del equipo está trabajando una tarea nos determina que la tarea se encuentra en curso, cuando esta en este estado siempre hay un responsable que vigila que se cumpla la tarea, cuando ha cumplido una tarea se considera en estado terminado, una historia no se puede considera terminada si no están cumplidas las tareas, después de dar por terminada necesita la aprobación del PO que en una reunión de Review determinara si está completa o no. La tercera cuando la tarea se encuentra en estado de impedida, sucede cuando no se la puede cumplir por distintos casos sean externos o internos al equipo, si una tarea está impedida la historia también lo estará, pero deben documentar el impedimento para que una persona se haga cargo y lo resuelva lo más pronto posible. La cuarta se refiere a la retrospectiva de la tarea y se anota los aspectos que están funcionado bien, así como los problemas que vamos identificando (Alvaréz, de las Heras, & Lasa, 2012, págs. 154-156) Burndown Chart Es una gráfica que demuestra cómo está avanzando, si se encuentra atrasado o adelantado el proyecto, en las fechas estimadas existen dos tipos de graficas: la primera indica el avance de cada sprint y la segunda indica la totalidad del proyecto. (Brito, Sosa, & Héctor, 2011, pág. 53) Backlog de impedimentos Es el conjunto que guarda todos los impedimentos que no permiten culminar las tareas del proyecto, un impedimento puede ser la falta de un recurso físico o humano, pero también puede ser algo que degrade la eficacia del producto final, una vez descrito el impedimento debemos generar una solución y designar un responsable para que ejecute la solución. (Alvaréz, de las Heras, & Lasa, 2012, pág. 192)
16 3.1.1.1.7 Reuniones de SCRUM Sprint Planning Es una reunión donde se planifica el sprint, se define el trabajo a realizar tomando en cuenta si se logra alcanzar las tareas mediante un consenso con el SCRUM master, con todo el equipo se divide las tareas entre sí de acuerdo al perfil profesional de cada miembro. (Alvaréz, de las Heras, & Lasa, 2012, pág. 41) Daily Meeting Es un tiempo de sincronización de los integrantes del equipo, sirve para compartir el avance y las ideas acerca del proyecto en ese momento, en caso de tener problemas grandes no deben utilizar esta reunión, para solucionar el inconveniente debe convocar a una reunión extra. (Alvaréz, de las Heras, & Lasa, 2012, pág. 41) Sprint Review Es una reunión que se debe realizar al finalizar cada sprint en conjunto con el cliente o representante de la empresa y también personas involucradas que aporten al desarrollo del proyecto con información, debe ser informal y breve la reunión. (Alvaréz, de las Heras, & Lasa, 2012, pág. 41) 3.1.2.
Software Son programas de computadora que permiten al usuario manipular datos y
complementan el funcionamiento de las computadoras, mediante instrucciones. Las computadoras solo realizan operaciones matemáticas elementales y operaciones lógicas. Pero los programas mezclan las operaciones elementales para crear funciones más avanzadas y de mayor complejidad que son más útiles para el usuario. (Castrillon, y otros, 2011, pág. 77) 3.1.2.1. Lenguajes de programación Los lenguajes de alto nivel los cuales nos una traducción entre el lenguaje máquina y el lenguaje natural, son más próximos al lenguaje humano pero para que las computadoras entiendan deben ser traducidos por un compilador que cumple la función de convertir el código fuente en un programa objeto entendible para la computadora, también existe los lenguajes interpretados que constan de un traductor que convierte las instrucciones una a una desde el
17 programa fuente, en este caso no se crea el programa objeto sino se interpreta y existe una salida permanente de datos. (Castrillon, y otros, 2011, pág. 78) 3.1.2.1.1 Software de programación Son programas que nos permiten desarrollar software en un lenguaje de programación específico mediante un entorno de desarrollo integrado, estos entornos combinan un editor de código, un depurador, un constructor de interfaz gráfica, un compilado o interprete en una sola aplicación, haciendo que existe una ventana de trabajo completo y agradable para empezar a desarrollar software. (Castrillon, y otros, 2011, pág. 88) 3.1.2.1.2 Programación orientada a objetos Es un paradigma de ingeniería de software, que nos invita a pensar que los sistemas son un grupo de objetos que interactúan entre sí. En este paradigma el estado del programa se guarda en objetos. Los objetos no son más que un conjunto de datos con operaciones que nos permiten utilizar esos datos. Está encaminado a ayudarnos con la reutilización y optimización del código además de facilitar mantener los programas desarrollados. Es el paradigma de programación más usado actualmente porque casi todos los lenguajes lo adoptan. Se fundamenta en los conceptos descritos a continuación: abstracción, modularidad y ocultación de la información. (Villalba, Urquía, & Rubio, 2011, págs. 64-65) 3.1.2.2. Ingeniería de software La ingeniería de software es una parte de la ingeniera que se dedica a la producción de software, desde la especificación de requisitos, entrega del software, y mantenimiento posterior del mismo una vez puesto en operación. La ingeniería de software no solo concierne el proceso desarrollo de software, sino también se encarga de la administración del proyecto mediante métodos y teorías que aportan a la producción de software. (Sommerville, 2011, págs. 7-8) 3.1.2.3. PHP PHP es invisible al usuario proviene de las siglas Hypertext Preprocessor, viene siendo un preprocesador que se diferencia de las paginas HTML porque permite hacer más dinámicas las páginas web mediante el procesamiento de datos a diferencia de las paginas estáticas. (Beati, 2011, pág. 2)
18 3.1.2.3.1 Preprocesador Cuando un página tiene al final de su URL la extensión .php significa que es un archivo PHP, entonces al ejecutarse en la máquina y hace el pedido al interprete que está instalado en la máquina, busca el archivo en el disco rígido ejecutando las líneas de código que se encuentra dentro línea por línea, pero solo procesa las partes del archivo que sean PHP dejando de lado las líneas con HTML y borrándolas para insertar ahí los datos obtenidos entre el código de HTML el servidor se encarga de entregar al usuario, pero el usuario no ve nada de las ordenes simplemente los resultados. (Beati, 2011, págs. 5-6) 3.1.3. Base de datos Una recopilación de información que le pertenece a un proyecto, esta guardada en archivos siguiendo un orden establecido, por medio de tablas que guardar información acerca de un evento u objeto. Las tablas pueden tener vínculos que las relacionan entre sí, pero no pueden forman un lazo con los bucles porque ya no sería una base de datos. (Montalbán, Castellano, & Ospino, 2013, págs. 6-7) 3.1.3.1. Sistema gestor de base de datos Es un conjunto de herramientas que ayudan a administrar una base de datos mediante consultas y actualizaciones, las bases de datos se guardan en los discos duros, su manejo se puede hacer de manera gráfica o mediante potentes lenguajes como lo es PL-SQL. (Montalbán, Castellano, & Ospino, 2013, pág. 14) 3.1.3.1.1 Objetivos Mantener invisibilidad y abstracción de los datos hacia el usuario, así estén separados en niveles de abstracción, mantener una independencia de los datos con respecto de las aplicaciones o sistemas que usen los datos, así sucedan cambios en los sistemas, controlar la consistencia que no exista información repetida que se actualice y representen. La seguridad de la base de datos se mantiene teniendo perfiles de usuarios para el ingreso y acceso a los datos así mismo delegar permisos de operaciones a cada usuario, si encuentra errores al realizar la transacción, debe abortar la transacción y volver a el estado anterior a la transacción. Tener un tiempo de repuesta rápido para ingresar y actualizar datos en la base de datos es vital para el usuario. (Valderrey, 2013, págs. 33-34)
19 3.1.3.1.2 Funciones Permite al interesado usar un gestor para guardar, ver y actualizar la información en una base de datos de manera rápida, ágil y sin complicaciones, con programas que interactúan con los dispositivos de almacenamiento. Deben dar por hecho que la información no va a ser modificada por alguien que no sea el administrador, manteniendo las reglas del programador de quien puede o no acceder a los datos o tablas, integrando un sistema de seguridad entre gestor y el sistema operativo. Debe tener un diccionario de metadatos que me permita tener un esquema de las tablas en modo grafico donde se pueda ingresar a visualizar, también debería permitir hacer transacciones, verificando que se cumplan sin generar errores, en caso de error simplemente que no se realice la transacción. Permitir llevar un registro mediante alguna herramienta gráfica, debe soportar varios usuarios simultáneos que se encuentren usando los datos, sin inconvenientes, utilizar un método para poder responder a todas las operaciones que realicen los usuarios a un mismo dato en un momento especifico. Facilitar la migración de una plataforma a otra sin poner trabas al momento de cambiar de software, haciendo que los datos sean usados por diferentes plataformas mediante el protocolo de conectividad ODBC por ser el más usado actualmente, tener herramientas para proteger la información y realizar respaldos en caso de desastres o ataques que intenten dañar la integridad de la información. (Montalbán, Castellano, & Ospino, 2013, págs. 15-16) 3.1.3.2. Modelo de datos La modelización tiene como objetivo convertir un problema mediante variadas abstracciones en una base de datos entendible para el programador y para el programa que va a ocupar los objetos representados en la base de datos. (Montalbán, Castellano, & Ospino, 2013, págs. 40-41) 3.1.3.3. Normalización Al diseñar una base de datos pasamos del modelo entidad-relación a un modelo relacional, para realizar cualquier software debemos tener presenta la calidad del mismo, el criterio que no permite saber qué calidad tiene una base de datos se le conoce como forma normal el iterar cumpliendo estas formas normales se le conoce como normalización. Forma normal uno, tiene como impedimento que una tabla existan atributos que puedan tener más de
20 un valor, este paso es independiente al modelo relacional. Forma normal dos, si y solo si, dada una clave primaria y cualquier atributo que no sea un constituyente de la clave primaria, el atributo no clave depende de toda la clave primaria en vez de solo una parte de ella, esto quiere decir que debemos crear claves externas para relacionar las tablas. Forma normal tres, atributos que no tengan parte en una clave candidata es parte de ella mismo, siempre y cuando no exista dependencia transitiva. Forma normal de Boyce/Codd, necesita que no existan dependencias funcionales no triviales de los atributos que no sean parte de la tabla de la clave candidata. (Piñeiro, 2013, págs. 51-56) 3.1.3.3.1 Lenguaje SQL La principal herramienta de gestor de base de datos es la interfaz de programación con el usuario. Esta interfaz consiste en un lenguaje muy sencillo mediante el cual el usuario realiza preguntas al servidor, contestando este a las demandas del usuario. Este lenguaje comúnmente se denomina SQL, Structured Query Language, esta estandarizado por la ISO, es decir, todas las bases de datos que soporten SQL deben tener la misma sintaxis a la hora de aplicar el lenguaje. (Coronel, Morris, Rob, Romo Muñoz, & Sánchez Juárez, 2011, pág. 221) Lenguaje DML Lenguaje de manipulación de datos (Data Manipulation Language). Este lenguaje permite con 4 sentencias sencillas seleccionar determinados datos (SELECT), insertar datos (INSERT), modificarlos (UPDATE), o incluso borrarlos (DELETE). (Coronel, Morris, Rob, Romo Muñoz, & Sánchez Juárez, 2011, pág. 221) Lenguaje DDL Lenguaje de definición de datos (Data Definition Language). Este lenguaje permite crear toda la estructura de una base de datos (desde las tablas hasta usuarios). Sus cláusulas son del tipo DROP para Eliminar objetos y CREATE para crear objetos. (Coronel, Morris, Rob, Romo Muñoz, & Sánchez Juárez, 2011, págs. 221-222)
21 3.1.3.3.2 PhpMyAdmin de MySQL Este gestor de bases de datos tiene una interfaz gráfica orientada a la web para administrar a través de un servidor web pudiendo ser este Apache, permitiendo que se pueda acceder al servidor desde cualquier equipo que esté conectado a la red, se maneja bajo sentencias SQL permitiendo realizar cualquier operación sobre la base de datos. (Montalbán, Castellano, & Ospino, 2013, pág. 93) 3.1.4. Framework Es grupo organizado y completo de archivos HTML, CSS, JS, etc., que nos permite tener un ambiente de trabajo fácil de manejar para los proyectos de software, también cuenta con una característica importante el ser adaptativos es decir que se adaptan a cualquier pantalla para ser visualizados y así tratar de llegar a más usuarios. (Bonilla, 2014, pág. 169) 3.1.4.1. Responsive grid system Sirve para estructurar un documento en columnas en este caso serán doce columnas con un ancho estándar y una separación entre columnas, esta es la base para construir una página web con contenido, el estilo de CSS es el que nos permite tener estructura en columnas, la persona que diseña es la encargada de definir cuantas columnas desea en una página web esto se realiza al inicio del proyecto, esto divide. (Bonilla, 2014, págs. 170-171) 3.1.4.2. BOOTSTRAP Framework BOOTSTRAP inicialmente empezó con Twitter, pero en el año 2011 salió a la luz con licencia del MIT (MASSACHUSETTS INSTITUTE of TECHNOLOGY), es una herramienta para realizar interfaces acoplables a distintos dispositivos y pantallas por que maneja una técnica de diseño adaptativo o llamado RESPONSIVE DESIGN, el Framework es compatible con la versión 3, soporta HTML5 y CSS3 casi en su totalidad, se ha creado un espacio de diseño llamado GRID donde subdivide en 12 columnas para que posea las cualidades de adaptativo, las imágenes también las vuelve responsivas por medio del uso clases. Este Framework soporta todos los navegadores del mercado como son: Chrome, Firefox, Internet Explorer, Opera, Safari. (Otto & Thornton)
22 Denominado un Framework tipo Front-End que es bastante popular en los desarrolladores, da un sinnúmero de funciones además de las columnas, como son: desplegables, barras de progreso, botones, tablas, formularios, carruseles de imágenes. El desarrollo en este Framework permite que se adapte el contenido si cambiamos el tamaño de la ventana o si utilizaras un móvil para visualizar, pero existen diferencias fundamentales. El menú principal cuando ocupa una pantalla ancha pasa a ser horizontal, pero cuando reducimos el ancho se ubica un botón en la parte derecha donde nos desplegara el menú. (Bonilla, 2014, págs. 175-176) 3.1.4.2.1 Licencia BOOTSTRAP Esta anunciado bajo licencia Apache 2 License y protegido en base a copyright 2013 Twitter. El código del Framework se puede descargar gratuitamente, todo o alguna de sus partes, puede ser para uso propio, para desarrollar en una empresa una aplicación o uso comercial, incluyendo en cualquier software que desarrollen con él. Prohíbe redistribuir sin dar crédito a los autores, utilizar elementos que sean iguales a la aplicación de la empresa Twitter en tu software. Para aportar a la comunidad se debe compartir el código si deseas para que el resto de la comunidad pueda ver tus modificaciones. (Otto & Thornton) 3.1.5. MVC (Modelo Vista Controlador) El patrón MVC es un patrón de arquitectura de software tiene como meta disminuir la cantidad de tiempo de programación para implementar sistemas de diferentes vistas y actualizar los datos del software, además el patrón separa los datos y la lógica de negocio de un software de la interfaz de usuario para esto MVC dispone de la creación de componentes como son: modelo, controlador, la vista. El patrón se basa en las ideas de reutilización de código y separación de conceptos que son detalles que favorecen el desarrollo y mantenimiento del software, facilitando que en los proyectos trabajen por separado el desarrollador y diseñador de software. (Gómez, 2014, págs. 214-215) 3.1.5.1. Elementos del MVC Modelo es el asignado de gestionar los accesos, consultas y actualizaciones de la información, implementando también los privilegios de acceso que se hayan descrito en las especificaciones de la aplicación, debe ser autónomo del sistema de almacenamiento. Debe tenar reglas claras de acciones que se cumplan al pasar a un estado indicado.
23 Controlador es responsable de acoger los sucesos de entrada, llevar a cabo la acción para cada evento, esto nos indica que el usuario le da órdenes y el controlador actúa sobre el modelo, puede entrar en acción cuando exista una variación en el modelo o en las vistas, actuando a los eventos generados por el usuario. Vista, es la representación gráfica de las interfaces que el usuario va usar, aunque a veces puede ser similar al CMD de Windows, se encarga de mostrar los datos procesados, lleva una base de datos de su controlador, puede mantenerse activo para informar de cambios en otro agente. (Fernández & Díaz, 2012, págs. 49-50) 3.1.5.2. Arquitectura MVC En la arquitectura están presentes tres capas para el diseño de MVC que son: capa de presentación, capa de negocio, capa de persistencia. La capa de presentación, es aquella en la que se describe la interacción con el usuario valiéndose de una interfaz gráfica, mediante esta el usuario se comunica con la capa de negocio y se divide en: servidor (Apache), cliente (navegador). Deben poder visualizarse en cualquier pantalla. La capa de negocio o lógica está apoderada de la funcionalidad del sistema, recibe las peticiones del usuario y ella envía las respuestas adecuadas después de procesar, aquí es donde se establecen las reglas para el funcionamiento del sistema mediante código desarrollado por un programador, puede ser programada para: servidor, cliente. La capa de persistencia es la que nos permite el acceso a los datos, tiene la capacidad de manejar y almacenar los datos, su función es guardar y devolver datos a la capa de negocio, en algunos casos mediante procedimientos almacenados y funciones dentro de la capa. (López, Vara, Verde, Sanchez, JIménez, & Valeria, 2012, págs. 97-98) 3.1.6. Inventario Son la representación numérica de los bienes físicos, que están predestinados para la venta en el ejercicio normal de los negocios de la empresa, están incluidos también los bienes físicos que la empresa utiliza para realizar la actividad económica. (Díaz, 2011, pág. 136)
24 3.1.6.1. Materiales Son los bienes tangibles que pueden ser acumulados y que se obtienen de los proveedores, con el fin de ocuparlos en el proceso productivo que generara un producto final o para el mantenimiento de los equipos productivos. Se nombran bajo el seudónimo de existencias que son los bienes de propios de la empresa asignados para la comercialización, o para contribuir en el proceso productivo (Suárez, 2012, págs. 13-14) 3.1.6.1.1 Materiales de consumo y reposición Son elementos destinados a la reparación y prevención del trabajo de los equipos, los cuales pueden ser de tipo: energético, repuestos en general, son materiales que pasan guardados en un lugar mientras esperan su utilización en el proceso productivo. Podemos encerrar todos los materiales, exceptuando los de suministro continuado. (Suárez, 2012, págs. 14-15) 3.1.6.2. Sistema de inventario Es un sistema periódico utilizado en empresas donde el volumen de ventas es grande y los precios unitarios relativamente bajos, lo que impide de manera exacta saber el costo de los bienes. (Díaz, 2011, pág. 138) 3.1.6.2.1 Registro y control de inventarios Llevar un registro de control de inventarios nos permite realizar el cálculo de la utilidad bruta, pero depende de la contabilidad de las operaciones que se han hecho con los productos. La contabilidad de inventarios tiene como meta relacionar proporcionalmente el ingreso de productos y el costo de las operaciones.(Romero, PRINCIPIOS DE CONTABILIDAD, 2010, págs. 424-425) 3.1.6.2.2 Toma física de Inventario Para realizar el proceso de la toma física de inventario es necesario hacer un control del stock o las existencias de los productos almacenados en la empresa mediante los conteos físicos rutinarios para después comparar los resultados con los registros teóricos del sistema de información que registre la contabilidad de la empresa. (Sinisterra & Polanco, 2011, págs. 166167)
25 3.1.6.2.3 Objetivos de la valuación Dentro del tema de inventarios tenemos las mercaderías que están involucrados en el negocio de la compra-venta y ayuda a contribuir al objetivo principal de la empresa que es obtener ganancia. (Romero, Contabilidad intermedia, 2012, págs. 226-227) 3.1.6.2.4 Mercancías en tránsito Las mercancías en tránsito son un tipo de inventario donde se compran al proveedor, se almacenan en las bodegas y se venden al cliente. (Romero, Contabilidad intermedia, 2012, págs. 229-230) 3.1.6.2.5 Métodos de valuación de inventarios El método del promedio ponderado tiene como principio dividir el importe del saldo entre el número de productos cada vez que sucede una compra, o cuando la empresa realice una compra aumentando las existencias, es ventajoso ocupar este método en épocas de estabilidad económica, porque los cambios de precios no son desmedidos. (Díaz, 2011, págs. 157-158) 3.1.6.2.6 Método del coste medio ponderado Tiene como finalidad establecer un precio unitario ponderado de los materiales, dividiendo costo total de las entradas para la cuantía total y este precio será para la salida de materiales. Se calcula el coste medio de las entradas y el stock inicial, después de cada entrada, esto hace referencia al precio medio ponderado continuo. En cambio, cuando se calcula en coste medio de las entradas y del stock inicial al finalizar el periodo esto tiene que ver con el precio medio ponderado simple. Como alternativa final haciendo alusión al método del coste medio de las entradas nos considera el stock inicial del periodo ya que el precio medio se determina únicamente con las diferentes entradas. (Suárez, 2012, págs. 25-26)
26
4. METODOLOGÍA DE LA INVESTIGACIÓN 4.1. Diseño/ Tipo de investigación El diseño de investigación dispone el procedimiento general de un investigador para adquirir contestaciones a sus incógnitas, además recopila las estrategias básicas que puede adoptar para generar información puntual y entendible. Los tipos de investigación nos dan un marco de trabajo para seguir el estudio, mediante las técnicas y métodos propios de cada tipo de investigación, llegando a determinar el enfoque de la investigación, e influyendo en los instrumentos y la forma como interpreta los datos recogidos. 4.1.1. Diseño no experimental Se realiza sin operar deliberadamente variables. Se basa esencialmente en la observación de fenómenos tal y como se dan en su contexto natural para analizarlos con posterioridad. En este tipo de investigación no hay condiciones, ni estímulos a los cuales se expongan los sujetos del estudio, los sujetos son observados en su ambiente natural, se basa es la búsqueda empírica y sistemática en la que el científico no posee control directo de las variables independientes, debido a que sus manifestaciones ya han ocurrido o que son inherentemente no manipulables, además se hacen inferencias sobre las relaciones entre las variables, sin intervención directa sobre la variación simultánea de las variables independiente y dependiente. (Hernandez, Fernández, & Baptista, 2014, pág. 163) 4.1.2. Tipo de investigación 4.1.2.1. Descriptiva Tiene como función la capacidad para seleccionar características, rasgos, propiedades importantes del objeto de estudio y la descripción detalla de sus partes, para ser sometido a análisis, es considerado el más popular dentro del campo de la investigación, permite utilizar técnicas como: encuesta, entrevista, observación. (Bernal, 2010, pág. 113)
27 4.1.2.2. Exploratoria Pretende dar una visión general, aproximada, respecto a una determinada realidad. Se realiza fundamentalmente cuando el tema elegido ha sido poco explorado y reconocido, y cuando más aún, sobre él, es difícil formular hipótesis precisas o de cierta generalidad. Suele surgir también cuando aparece un nuevo fenómeno que por su novedad no admite una descripción sistemática o cuando los recursos del investigador resultan insuficientes para emprender un trabajo más profundo. (Hernandez, Fernández, & Baptista, 2014, pág. 91) Este tipo de investigación de uso al iniciar la investigación con una reunión con la persona encargada de la empresa, en donde se entendió como operaba la empresa y sus procesos, con esto se creó una visión más amplia de la empresa y sus procesos.
4.2.
Población / Muestra La población es el grupo de individuos, objetos o medidas que comparten una
característica que es objeto de estudio en un área geográfica delimitada, en un momento determinado, de la cual se desea extrapolar resultados de manera estadística para aportar a nuestra investigación con los resultados obtenidos. (Borda, 2013, pág. 147) La población en la empresa SERINPETROL consta de tres personas las cuales trabajan llevando el registro del inventario teniendo contacto con este proceso de la empresa, el primero es el gerente general que vigila que el proceso se cumpla a cabalidad teniendo privilegios para modificar los productos y dos empleados que son los encargados de prestar los servicios que la empresa brinda a los clientes. La muestra es un subconjunto de la población o universo en el cual vamos a realizar el estudio mediante la recolección de datos que se tienen que especificar con anterioridad. La idea de realizar este proceso de encontrar la muestra es para aue el resultado reportado en la muestra se pueda generalizar a la población o universo haciendo que sea estadísticamente representativa (Hernandez, Fernández, & Baptista, 2014, pág. 173). Por lo cual la muestra debe ser de tres individuos los cuales son también parte del universo y nos permitirán extrapolar los datos para nuestra investigación.
28 4.2.1. Muestra no probabilística Este tipo de muestras se escoge mediante un método de selección minucioso de acuerdo a las características de la investigación, a diferencias del probabilístico donde generalizamos los resultados de un grupo de personas mediante un análisis estadístico. la mayor parte de estudios que utilizan este método no necesitan tener tanta representatividad de la población, solo buscar ciertas características que aporten a la investigación (Hernandez, Fernández, & Baptista, 2014, págs. 189-190) 4.2.1.1. Muestreo consecutivo El muestreo consecutivo es muy similar al muestreo por conveniencia, excepto que intenta incluir a todos los sujetos accesibles como parte de la muestra. Esta técnica de muestreo no probabilístico puede ser considerada la mejor muestra no probabilística, ya que incluye a todos los sujetos que están disponibles, lo que hace que la muestra represente mejor a toda la población (Borda, 2013, págs. 155-156). Como en la empresa existe solo tres personas y son las que van hacer uso del sistema web entonces nos conviene utilizar la muestra no probabilística donde los investigadores se encargar de escoger la muestra, en este caso la población o universo es igual que la muestra porque todos hacen uso del sistema web de inventario. En los modelos no probabilísticos no se utilizan métodos aleatorios.
4.3.
Técnicas e instrumentos de recogida de datos Los instrumentos de recolección de datos son esenciales porque nos permiten extraer
los requerimientos que la empresa desea implementar en el sistema de inventario web. Existen varias técnicas de recolección de datos, sin embargo, para esta disertación de grado vamos a utilizar los siguientes: 4.3.1. Encuesta Es la técnica de recolección de datos más usada en el campo de la investigación, a pesar que actualmente le restan credibilidad por el sesgo de las personas encuestadas, permite obtener y elaborar datos de modo rápido y eficaz, mediante un cuestionario o grupo de preguntas previamente diseñado. (Bernal, 2010, pág. 194)
29 En la investigación realizada sobre una muestra de sujetos representativos se aplicó una hoja de encuesta, utilizando procedimientos estandarizados de interrogación con propósito de lograr mediciones cuantitativas de las características objetivas y subjetivas de la población para luego extrapolar los resultados y generalizarlos. 4.3.2. Entrevista Con esta técnica se tiene contacto directo con las personas que consideremos fuente de información, permite obtener información verbal de parte de las personas encargadas del proceso, la realiza un entrevistador con el ánimo de obtener datos o requerimientos que aporten a desarrollar una perspectiva más clara de las actividades de los sujetos de investigación, se realiza un cuestionario de preguntas abiertas, para ir anotando las respuestas a las preguntas planteadas.(Borda, 2013, pág. 62) Se realizó un cuestionario que se compone de varias preguntas diseñadas para generar la información cualitativa necesaria para alcanzar los objetivos propuestos del proyecto de investigación, se le aplico al gerente y empleados de la empresa. 4.3.3. Observación Es una técnica de recoger información en la cual los investigadores conviven durante un tiempo con los sujetos de investigación, compone un registro visual de los que los procesos que suceden, la idea de hacer esto es reconstruir la dinámica de los procesos observados, además es un complemento porqué con este podemos añadir detalles que nos contemplaron en los demás instrumentos de recogida de datos. (Borda, 2013, pág. 62) En la guía de observación se enlisto los eventos, procesos, hechos y situaciones que fueran de gran importancia, con la intención de poder tener información relevante para alcanzar los objetivos propuestos del proyecto de investigación, además de resolver algunas interrogantes acerca de los procesos de la empresa. Resultados
30
4.4.
Técnicas de Análisis de Datos
4.4.1. Estadística Descriptiva o Deductiva Es un proceso mediante el cual se recopila, organiza, presenta, analiza e interpreta datos de manera tal que describa fácil y rápidamente las características esenciales de dichos datos mediante el empleo de métodos gráficos, tabulares o numéricos, así por ejemplo: Supóngase que un docente de Matemática calcula la calificación promedio de uno de sus cursos a su cargo. Como solo se está describiendo el desempeño del curso, pero no hace ninguna generalización acerca de los diferentes cursos, en este caso el maestro está haciendo uso de la Estadística Descriptiva.
31
5. RESULTADOS 5.1.
Análisis y Discusión de los resultados
5.1.1. Encuestas realizadas
Encuesta realizada al gerente y los empleados de la empresa SERINPETROL
Los resultados que se han obtenido al levantar la información mediante la encuesta realizada al personal de la empresa SERINPETROL se muestra a continuación (Ver Anexo 1): 1. ¿Cree usted que la empresa SERINPETROL necesita implementar un sistema web para controlar el inventario de materiales y herramientas? Tabla 1: Importancia de implementar un sistema web Importancia de implementar un sistema web Variable
Frecuencia
Porcentaje
SI
3
100%
NO
0
0%
Total
3
100%
Nota. Fuente: Encuesta al personal de la empresa SERINPETROL
NO 0%
SI NO
SI 100%
Figura 2. Importancia de implementar un sistema web Fuente: Encuesta realizada al gerente y los empleados de la empresa SERINPETROL.
32 Análisis: según el 100% de los encuestados se necesita implementar el sistema para evitar problemas en el inventario de materiales y herramientas, porque no existe un control automático y eficiente en los materiales, además suelen suceder pérdidas de las herramientas. 2. ¿Cree usted que está capacitado en conceptos básicos de computación para usar un sistema informático? Tabla 2: Formación en conceptos de computación web Formación en conceptos de computación Variable
Frecuencia
Porcentaje
SI
2
66.67%
NO
1
33.33%
Total
3
100%
Nota. Fuente: Encuesta al personal de la empresa SERINPETROL
NO 33% SI NO
SI 67%
Figura 3. Formación en conceptos de computación Fuente: Encuesta realizada al gerente y los empleados de la empresa SERINPETROL.
Análisis: El 33% considera que no se encuentra capacitado en ofimática, mientras el 67% se considera con capacidades en computación para llevar el control de materiales y herramientas mediante un sistema web.
33 3. ¿Considera usted que el proceso de llevar el control del inventario actualmente mediante un archivo de Excel es muy tedioso y complicado, lo cual lleva a cometer errores al momento de ingresar la información? Tabla 3: Dificultad para llevar un control del inventario en hojas de cálculo Dificultad para llevar un control del inventario en hojas de cálculo Variable
Frecuencia
Porcentaje
SI
0
0%
NO
3
100%
Total
3
100%
Nota. Fuente: Encuesta al personal de la empresa SERINPETROL
SI 0%
SI NO
NO 100%
Figura 4. Dificultad para llevar un control del inventario en hojas de cálculo Fuente: Encuesta realizada al gerente y los empleados de la empresa SERINPETROL.
Análisis: Según el 100% de los encuestados no es complicado, tampoco se comete errores, lo único que sucede es que la herramienta ofimática actualmente utilizada es muy limitada para automatizar los procesos además que carece de algunas funciones necesarias como la generación de reportes.
34 4. ¿Cree usted que con la implementación de un sistema de inventario web con procesos automatizados ayudaría al desempeño laboral de la empresa SERINPETROL? Tabla 4: Automatización ayuda al desempeño laboral Automatización ayuda al desempeño laboral Variable
Frecuencia
Porcentaje
SI
3
100%
NO
0
0%
Total
3
100%
Nota. Fuente: Encuesta al personal de la empresa SERINPETROL
NO 0%
SI NO
SI 100%
Figura 5. Automatización ayuda al desempeño laboral Fuente: Encuesta realizada al gerente y los empleados de la empresa SERINPETROL.
Análisis: el 100% de los encuestados coincide que sí se necesita la implementación del sistema web, porque permite a la empresa llevar un control automatizado para conocer la productividad de la empresa en cuanto a la venta de sus productos, prestación de servicios y control de insumos de la empresa.
35 5. ¿Cree usted que el proceso de realizar una compra a los proveedores puede mejorarse automatizando el inventario? Tabla 5: Mejorar el proceso de compra a los proveedores Mejorar el proceso de compra a los proveedores Variable
Frecuencia
Porcentaje
SI
3
100%
NO
0
0%
Total
3
100%
Nota. Fuente: Encuesta al personal de la empresa SERINPETROL
NO 0%
SI NO
SI 100%
Figura 6. Mejorar el proceso de compra a los proveedores Fuente: Encuesta realizada al gerente y los empleados de la empresa SERINPETROL.
Análisis: el 100% de los encuestados opina que, si se puede mejorar mediante la automatización del inventario porque es fundamental en una empresa la automatización, centralización de los procesos de la empresa parar así generar reportes donde al interpretarlos nos permita tomar decisiones.
36 6. ¿Cree usted pertinente crear un kardex en el sistema de inventario web para llevar el control de las unidades existentes, el precio y la gestión del mismo? Tabla 6: Uso de técnicas de contabilidad para llevar el control de inventario Uso de técnicas de contabilidad para llevar el control de inventario Variable
Frecuencia
Porcentaje
SI
3
100%
NO
0
0%
Total
3
100%
Nota. Fuente: Encuesta al personal de la empresa SERINPETROL
NO 0%
SI NO
SI 100%
Figura 7. Uso de técnicas de contabilidad para llevar el control de inventario Fuente: Encuesta realizada al gerente y los empleados de la empresa SERINPETROL.
Análisis: según el 100% de los encuestados si cree pertinente el uso de un método para controlar los precios es una norma básica ya que permite ajustarlos en el caso de que existan variaciones del mismo, utilizando un método de valuación de inventario determinado por la empresa.
37 7. ¿Está de acuerdo en la forma en que se lleva el inventario actualmente? Tabla 7: Nivel de satisfacción de la forma de llevar el inventario actualmente Nivel de satisfacción de la forma de llevar el inventario actualmente Variable
Frecuencia
Porcentaje
SI
2
66.67%
NO
1
33.33%
Total
3
100%
Nota. Fuente: Encuesta al personal de la empresa SERINPETROL
NO 33% SI NO
SI 67%
Figura 8. Nivel de satisfacción de la forma de llevar el inventario actualmente Fuente: Encuesta realizada al gerente y los empleados de la empresa SERINPETROL.
Análisis: según el 33% no se lleva de manera adecuada, por la falta de automatización siempre es un problema para generar los procesos de una organización ya que la forma digitalizada en hojas de cálculo simple limita el crecimiento de la empresa, mientras que un 67% opina que si es adecuado porque que la empresa puede manejarse de manera sostenible calificando como positiva.
38 8. ¿Considera usted que el sistema de inventario web debe manejarse en cualquier pantalla, sea un computador o un dispositivo móvil? Tabla 8: Diseño adaptado al tamaño de la interfaz visual Diseño adaptado al tamaño de la interfaz visual Variable
Frecuencia
Porcentaje
SI
3
100%
NO
0
0%
Total
3
100%
Nota. Fuente: Encuesta al personal de la empresa SERINPETROL
NO 0%
SI NO
SI 100%
Figura 9. Diseño adaptado al tamaño de la interfaz visual Fuente: Encuesta realizada al gerente y los empleados de la empresa SERINPETROL.
Análisis: el 100% de los encuestados dice que, si porque se considera que actualmente la mayoría de navegadores web ofrecen la facilidad de poder visualizar en cualquier dispositivo móvil los diferentes sistemas web, por lo tanto, si sería una excelente idea.
39 9. ¿Considera adecuado que en el sistema de inventario web se use el método del promedio ponderado para el ajuste de precios de los productos? Tabla 9: Uso del método de promedio ponderado Uso del método de promedio ponderado Variable Frecuencia
Porcentaje
SI
3
100%
NO
0
0%
Total
3
100%
Nota. Fuente: Encuesta al personal de la empresa SERINPETROL
NO 0%
SI NO
SI 100%
Figura 10. Uso del método de promedio ponderado Fuente: Encuesta realizada al gerente y los empleados de la empresa SERINPETROL.
Análisis: según el 100% de los encuestados dice que si por que el método más usado para ajustar precios en la mayoría de las empresas por que permite tener un valor más real antes las variaciones de precios de los productos.
40
10. ¿Le gustaría que el sistema de inventario web arroje un reporte en el cual le permita visualizar los productos a pedir para cumplir con un número mínimo de existencias en el inventario? Tabla 10: Utilización de reportes Utilización de reportes Variable
Frecuencia
Porcentaje
SI
3
100%
NO
0
0%
Total
3
100%
Nota. Fuente: Encuesta al personal de la empresa SERINPETROL
NO 0%
SI NO
SI 100%
Figura 11. Utilización de reportes Fuente: Encuesta realizada al gerente y los empleados de la empresa SERINPETROL.
Análisis: según el 100% de los encuestados si, sería una herramienta buena para tener el stock de la empresa actualizado y no exista problemas de falta de materiales al momento de realizar una venta u ofrecer un servicio de la empresa.
41 11. ¿Le parece importante que el sistema de inventario web permita imprimir una lista de control de las herramientas utilizados en las determinadas acciones de la empresa, donde se delegue un responsable? Tabla 11: Utilización de una lista de control para utilizar las herramientas Utilización de una lista de control para utilizar las herramientas Variable Frecuencia
Porcentaje
SI
3
100%
NO
0
0%
Total
3
100%
Nota. Fuente: Encuesta al personal de la empresa SERINPETROL
NO 0%
SI NO
SI 100%
Figura 12. Utilización de una lista de control para utilizar las herramientas Fuente: Encuesta realizada al gerente y los empleados de la empresa SERINPETROL.
Análisis: según el 100% de los encuestados dice que si se debe llevar un registro de las proformas porque después de ingresarlos simplemente con el nombre o código nos permita referenciar un pedido nuevo.
42 5.1.2. Entrevista realizada al gerente de la empresa SERINPETROL Los resultados que se han obtenido al levantar la información mediante la entrevista realizada al gerente de la empresa SERINPETROL se muestra a continuación (Ver Anexo 2): 1. ¿De acuerdo a su juicio, qué tan primordial sería la implementación de un sistema que controle el inventario de materiales y herramientas de la empresa? Respuesta: Es imperativo que se implemente un sistema de este tipo lo antes posible, ya que al momento nuestra empresa registra falencias en cuanto al óptimo control de los inventarios de productos en stock a ser ofertados a nuestros clientes; así como la perdida usual de herramientas 2. ¿Qué herramientas ofimáticas utiliza para llevar a cabo los procesos de inventario de materiales y herramientas de la empresa? Respuesta: utilizamos un libro simple de Excel para tener registro de los productos ofertados y los precios; más este no refleja la existencia real del producto en las bodegas; así como no se lleva registro de las cantidades de productos vendidos 3. ¿Llevan algún registro de todas las compras y ventas de los productos para determinar el precio cuando sea susceptible a una variación, se realiza algún cálculo para reajustar los valores? Respuesta: no se tiene registro total; ni tampoco se tiene una tabla comparativa de cuál es el valor de la utilidad generada por la venta de cada producto. 4. ¿Con que frecuencia se realizan los pedidos a los proveedores? Respuesta: una vez por semana 5. ¿Existe una cantidad mínima de productos y materiales que debe permanecer en stock? Respuesta: tenemos una referencia de cuál debe ser el stock mínimo por producto para desempeñar muestras actividades; pero es difícil cumplir con aquel sino se lleva un registro.
43 6. ¿Las facturas, con qué modelo de impresora se van a imprimir? Respuesta: una impresora de inyección a tinta modelo canon MP2810; así mismo estamos por adquirir otra impresora de similares características 7. ¿Cuál es el proceso que se realiza para registrar las actividades de los servicios prestados por la empresa en lo referente a la venta de materiales y herramientas a los clientes? Respuesta: el único registro disponible es la base de datos física de las facturas emitidas; las cuales están separadas por meses y archivadas. Análisis: La necesidad de un sistema que maneje los procesos de la empresa de manera automática y centralizada es urgente por que debido al crecimiento de la empresa se sale de las manos el control del inventario de los materiales y herramientas por lo que puede existir pérdidas, al intentar controlar el inventario donde no existe automatización de procesos se puede llegar a cometer errores en existencias de productos, además de que cuando un producto sube o baja de precio no existe un método para evaluar el inventario por lo cual no sabe la ganancia real en los distintos periodos de tiempo. La empresa cuenta con equipos modernos de impresión y equipos de cómputo por lo tanto no debe tener problemas con el sistema al momento de imprimir los reportes. La empresa no cuenta con una base de datos digital de los datos de las facturas, solo lleva un registro físico guardando las facturas, situación por la cual es conveniente la realización del sistema web.
44
5.2.
Metodología de desarrollo de software Las metodologías de desarrollo de software se clasifican en dos grupos: metodologías
tradicionales y ágiles. Las tradicionales por mencionar una característica más sobresaliente, vista desde un enfoque general se centran en la estructuración del documento, es decir, quienes optan por estas metodologías deben preocuparse por documentar todo antes de iniciar la parte práctica del proyecto, esto hace que se tome mucho más tiempo en la planificación teórica que en la realización del proyecto en sí, además una vez definido as funcionalidades del proyecto no existe ningún cambio en el proceso de desarrollo. Por otro lado, las metodologías ágiles permiten disminuir el trabajo de la parte documental y poder avanzar en el proyecto con la facilidad de trabajar con pruebas reales del mismo, realizar entregables de los resultados de cada objetivo propuesto y estar propenso a modificaciones, aumento o disminución de los requerimientos según sea el caso, es decir, hay una interacción constante con el cliente, experto en negocio y el equipo de desarrollo. Analizando las dos posturas anteriores se pudo elegir como instrumento para la realización del proyecto la metodología ágil SCRUM, porque principalmente es con la cual el equipo de desarrollo se siente más cómodo para realizar su trabajo, lo cual es un referente primordial para que los resultados del trabajo sean los más óptimos, y también por la interacción con el cliente, ya que su modo de ejecución y lineamientos van acorde a las necesidades de las dos partes interventoras en el proyecto.
45 Tabla 12: Comparación de las metodologías de desarrollo de software Metodologías de desarrollo de software METODOLOGIA
VENTAJAS
DESVENTAJAS
MODELO
La calidad del producto que genera al terminar es muy alta porque se encuentra muy bien documentada en cada frase del proyecto.
Está diseñada para que las etapas sean secuenciales, por lo que no se puede empezar una etapa nueva si no se acabando la anterior a esta.
Se mantiene organizado cada paso sin mezclar las fases, promoviendo la idea de definir antes que diseñar y diseñar antes que codificar.
Cuando existe un error en el diseño encontrado en la etapa de prueba, nos obliga a rediseñar y modificar la parte afectada aumentado el costo.
Es el modelo más referenciado para elaborar metodologías actuales.
La mayoría de los proyectos en la vida real no siguen en una secuencia lineal, por lo que sufre problemas, por esto se ha creado nuevas metodologías agiles.
Ocasiona eficiencias en el proceso de planificación y pruebas, permitiendo ahorrar tiempo y dinero.
Solo lo podemos aplicar a proyectos a corto plazo.
No se tiene la definición del coste y tiempo de desarrollo
El cliente tiene más satisfacción por que tiene el control sobre las prioridades del proyecto.
Facilita los cambios mientras se desarrolla e
Se necesita la presencia del cliente en todo momento del desarrollo para avalar los cambios y nuevos requerimientos que vayan surgiendo en el desarrollo de las etapas.
Se genera versiones del proyecto enseguida para poder enviar al cliente y que pueda utilizarlos rápidamente.
Puede dejarse tareas inconclusas por atender nuevos requerimientos del cliente creando problemas en el equipo de desarrollo.
Se divide el proyecto en tareas que se van cumpliendo y se lleva un control sobre estas.
El cliente está en contacto permanente con los desarrolladores, eso permite al entregar el producto sea de total agrado de este y además cumpliendo los requerimientos planteados.
Reuniones en cada proceso a veces existe poco avance, es muy tedioso y estresante reunirse excesivas veces por el mismo tema, haciendo que perdieran el interés en el proyecto
CASCADA
PROGRAMACIÓN EXTREMA (XP)
SCRUM
Nota. Comparación de las metodologías de desarrollo de software. Fuente: Delgado A. & Moreno L., (2017). Investigación de campo. PUCE SD.
46
5.3.
Resultados de la aplicación de la metodología de software Según la estructura de la metodología SCRUM, esta se divide en tres fases, por
consiguiente, se detallan los entregables o resultados de cada fase, para poder ser claros en el presente proyecto respecto a la descripción de los avances que se tuvo de principio a fin. 5.3.1. Fases de desarrollo de software 5.3.1.1. Fase de planificación Haciendo referencia a la fase de planificación, como primera instancia en la ejecución de este proyecto se hizo una primera reunión entre el cliente (PO), los desarrolladores (Development Team). A esta reunión se le llama Sprint Planing, de toda esta reunión se obtuvo las historias de usuario que son peticiones muy sencillas y claras que definen cuales van a ser las funcionalidades del proyecto, estas deben cumplir con una serie de atributos que son: independientes, negociables, con valor para el usuario, estimable, pequeña y se puede validar, los cuales favorece a la comunicación entre el usuario y desarrollador, de forma que se permita hablar un mismo lenguaje ambos y se eviten ambigüedades que puedan suponer pérdidas de tiempo notables. A continuación, tomamos una historia de usuario para evidenciar esta actividad. Historia de Usuario Número: 8
Usuario: Administrador
Nombre historia: reporte de productos comprados a proveedores Prioridad en negocio: 100
Riesgo en desarrollo: Alto
Puntos estimados: 40
Sprint asignado: 1
Programador responsable: Andrés Delgado – Luis Moreno Descripción: COMO los usuarios del sistema QUEREMOS realizar el ingreso de los productos comprados a los proveedores PARA elaborar un reporte de cada compra. Escenarios de prueba: DADO los usuarios del sistema y un proveedor CUANDO se realice una compra ENTONCES se debe registrar un reporte de factura de dicha compra en el sistema. Figura 13. Historia de usuario para el inicio de sesión Fuente: Historias de usuario
47 5.3.1.2. Fase de desarrollo Luego de haber obtenido todos los requerimientos que el cliente necesitaba para hacer posible el proyecto, se pudo estructurar el (product backlog) o lista de producto, el cual es un artefacto vivo y está propenso a cambios durante todo el desarrollo del proyecto, añadiendo o cambiando requisitos que sean necesarios. Tomando parte del product backlog especificado se obtuvo la realización del esquema de la base de datos como sprint uno que se expone a continuación.
Figura 14. Diseño Relacional de la base de datos. Fuente: Sistema Gestor de Base de Datos MySQL.
En el análisis de la comparativa sobre las bases de datos, encontramos a Oracle que es un gestor de base de datos el cual cuenta con herramientas muy útiles y de vanguardia en el área, pero a un costo considerable. MySQL es un gestor de base de datos de código abierto número uno del mundo, además es gratuito cuenta con soporte permanente por parte de la comunidad de software libre, por esto las principales empresas de software de todo el mundo confían en MySQL como base de datos. Es capaz de satisfacer las necesidades de las aplicaciones en todo lo que se refiere al manejo de datos, además de servir de mucha utilidad para los módulos del área de contabilidad e inventario donde se manejan datos sensibles.
48 Tabla 13: Comparación software para desarrollo de base de datos Software para desarrollo de base de datos SOFTWARE PARA
VENTAJAS
DESVENTAJAS
Con un presupuesto muy bajo nos permite la elaboración de bases de datos, ya que es software libre, además usa licencia GPL. Su conectividad, velocidad, y seguridad hacen de MySQL sea apropiado para acceder bases de datos a través de Internet mediante páginas web siendo también multiplataforma, además de bajo consumo de recursos, siendo ejecutado en una máquina con escasos recursos sin ninguna dificultad.
No cuenta con la funcionalidad de backup incrementable, lo que hace que el procedimiento de respaldo en la información sea más demoroso y no tan óptimo
Para poder diseñar una base de datos se necesita tener conocimientos medios en el lenguaje, siendo no tan intuitivo o fácil de manejar.
No cuenta con el servicio de recovery de transacciones erróneas, por lo que podrían perderse fácilmente los datos al no poder ser recuperados.
Es el motor de base de datos objeto-relacional más usado a nivel mundial.
Soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente.
Es un software de alto coste por lo que por lo general se utiliza en empresas grandes y multinacionales que cuentan con el dinero.
Los costos de soporte técnico y mantenimiento son altos y depende de la cantidad de información, haciendo que sea caro el uso de este software.
Vulnerabilidades en la seguridad de la plataforma, se hace obligatorio usar parches de seguridad.
BASES DE DATOS
MYSQL
ORACLE
El software del servidor puede ejecutarse en multitud de sistemas operativos.
Nota. Comparación software para desarrollo de base de datos. Fuente: Delgado A. & Moreno L., (2017). Investigación de campo. PUCE SD.
Formando parte del product backlog anterior definimos como sprint número dos a la codificación del inicio de sesión y las clases principales del proyecto en donde definimos las clases que se va usar dentro del proyecto, además la página de inicio del portal con un inicio de sesión validado los campos para que los usuarios puedan ingresar al sistema.
49
Figura 15. Ejemplo de creación de los métodos set y get. Fuente: Codificación de SICIEC.
Figura 16. Ejemplo de creación de la clase producto. Fuente: Codificación de SICIEC. .
50
Figura 17. Ejemplo de creación de las funciones de inserción y actualización en la base de datos. Fuente: Codificación de SICIEC.
Para el siguiente sprint se planifico realizar las operaciones básicas llamadas CRUD implementadas para cada módulo que requiera, además el mantenimiento de dicha tabla de la base de datos, en este ejemplo a continuación tenemos tres operaciones aplicadas y se ejecutan mediante los iconos correspondientes.
Figura 18. Vista del módulo de proveedores. Fuente: Diseño de interfaz en SICIEC.
Figura 19. Ingreso y Actualización de datos de Proveedor Fuente: Diseño de interfaz en SICIEC.
51 5.3.1.2.1 Inventario En el módulo de inventario se puede realizar los reportes que se obtiene de compras a proveedores y venta a los clientes de la empresa, además podemos consultar el historial de precios de cada producto, como también un reporte de la lista de productos para realizar el pedido a los proveedores. El método de valuación de inventario que se utilizó en el sistema web es el promedio ponderado donde lo que se hace es determinar un promedio, sumando los valores existentes en el inventario con los valores de las nuevas compras, para luego dividirlo entre el número de unidades existentes en el inventario incluyendo tanto los inicialmente existentes, como los de la nueva compra. Se realiza un reporte general del inventario para mantener un control de las existencias, mediante una lista donde se muestra la información detallada de los productos, que sirve para indicar al final del periodo contable la situación del inventario de la empresa. Un reporte donde se pueda consultar las ventas y compras por fechas de inicio y fin, mostrando una lista donde se muestra la información detallada de los productos pertenecientes a un lapso de tiempo escogido por el usuario.
Figura 20. Vista del módulo de productos. Fuente: Diseño de interfaz en SICIEC.
52
Figura 21. Historial de precios del inventario Fuente: Diseño de interfaz en SICIEC.
Como sprint número cuatro tenemos un requerimiento específico de la empresa la creación de una lista de control para el momento de llevar herramientas para realizar un servicio se genere un reporte de quien se lleva las herramientas. Lista de control (Reporte de herramientas que se empleará cuando se brinda un servicio)
Figura 22. Visualización del módulo para una lista de control. Fuente: Diseño de interfaz en SICIEC.
53
Figura 23. Reporte generado por el sistema. Fuente: Reporte generado por SICIEC.
5.3.1.3. Fase de finalización En la última fase se presenta la versión final donde se cumple todas las funcionalidades planificadas en el product backlog, en el tiempo estimado. Se realiza la configuración del módulo de administración en la sección de parámetros, además empieza el proceso de documentación del sistema SICIEC en donde se realiza el manual de usuario.
Figura 24. Configuración del módulo de administración la sección de parámetros. Fuente: Modulo de configuración SICIEC.
54 Sección dentro del módulo de administración donde se ubica los datos de la empresa que pueden visualizarse en el sistema, además de ubicar el valor de IVA como un valor que se cambia de manera manual y se encuentra parametrizado para que según cambien las leyes se modifique de manera rápida por parte del administrador del sistema, así como también el número de existencias mínimo para realizar un nuevo pedido a los proveedores.
Figura 25. Portada del manual de usuario. Fuente: Manual de usuario de SICIEC
Se realizó el manual de usuario una vez terminado el sistema y después de haber entregado la versión final al encargado de la empresa, se recomienda a los usuarios antes de empezar a usar un sistema web, deben leer el manual, con la finalidad de conocer a detalle las funcionalidades del software adquirido. Este manual tiene varios objetivos, y uno de ellos es advertir a los usuarios de las limitaciones para evitar problemas por mal uso que traiga consigo sanciones internas de parte de la empresa con el usuario, por esta razón se debe invertir unos minutos necesarios para aprender acerca de las funcionalidades.
55 Tabla 14: Pruebas funcionales Pruebas funcionales ID
NOMBRES
DESCRIPCION
RESULTADOS
1
Administración de usuarios
COMO gerente de la organización QUIERE
CUMPLIDO
tener la facultad de crear, modificar, habilitar o deshabilitar usuarios, asignar permisos PARA que los usuarios o empleados cumplan funciones específicas según el módulo asignado.
2
Ingreso al sistema
COMO empleados de la empresa QUEREMOS
CUMPLIDO
iniciar sesión en el sistema PARA poder utilizarlo en los determinados módulos asignados por el administrador.
3
Registro, modificación y borrado
COMO administrador QUIERO realizar las
de productos y servicios
operaciones de crear, consultar, actualizar y
CUMPLIDO
borrar los productos y servicios PARA controlar el inventario.
4
Control de los clientes en el
COMO usuarios (todos) del sistema QUIERO
sistema
realizar las operaciones de crear, consultar, actualizar
y
borrar
PARA
controlar
CUMPLIDO
la
información de los clientes en el sistema.
5
Control de los proveedores en el
COMO usuarios (todos) del sistema QUIERO
sistema
realizar las operaciones de crear, consultar, actualizar
y
borrar
PARA
controlar
CUMPLIDO
la
información de los proveedores en el sistema.
6
Lista
de
herramientas
control
de
las
COMO los usuarios del sistema QUEREMOS crear una lista seleccionando los ítems de un inventario de herramientas PARA registrar los ítems que van a salir de bodega.
CUMPLIDO
56
7
facturación
de
productos
y
servicios para la venta
COMO los usuarios del sistema QUEREMOS
CUMPLIDO
realizar el ingreso de datos del cliente y los ítems a vender PARA elaborar una factura y a la vez tener un registro de ventas.
8
Reporte de productos comprados a
COMO los usuarios del sistema QUEREMOS
proveedores
realizar el ingreso de los productos comprados a
CUMPLIDO
los proveedores PARA elaborar un reporte de cada compra.
9
Reporte de ventas realizadas en
COMO usuario administrador o gerente de la
fechas preestablecidas
empresa QUIERO obtener un reporte de las
CUMPLIDO
ventas realizadas PARA tomar decisiones que incidan en el desarrollo y progreso de la empresa. Nota. Evaluación del software SICIEC. Fuente: Delgado A. & Moreno L., (2017). Investigación de campo. PUCE SD.
57
5.4.
Conclusiones
En el área de inventario el automatizar el proceso conlleva el tener un control de las ganancias de la empresa en lo que compete a las facturas, la prestación de mano de obra y la venta de materiales, pudiendo saber el valor estimado de la ganancia en cada periodo de tiempo.
Las historias de usuario ayudaron a la obtención de las funcionalidades del sistema web facilitando el camino hacia el desarrollo del software, porque estas son una forma de acercar el lenguaje del usuario a los desarrolladores, permitiendo hablar a las dos partes en un mismo lenguaje, y así evitando entrar en ambigüedades que al final acarrean pérdida de tiempo valioso.
La metodología SCRUM es la que más se adaptó a la manera de desarrollar el software tanto para el cliente, como para los desarrolladores, tiene un enfoque de gestión ágil que facilita la administración de proyectos de cualquier tamaño sin importar la complejidad, facilitando el flujo de información y la comunicación entre el equipo de trabajo, además la entrega del producto en forma continua a los interesados de la organización, cumpliendo a cabalidad las actividades en los tiempos estimados.
La automatización de los procesos de la empresa en lo concerniente al manejo de las herramientas se hace de una manera más trasparente evitando la pérdida o robo, mediante un reporte donde se delega a un responsable.
58
5.5.
Recomendaciones
Es de vital importancia realizar la impresión de los reportes de facturación para tener un respaldo en físico de las transacciones que la empresa lleva a cabo.
El desarrollo del sistema web hace notar la necesidad de continuar con el proceso de automatización de las demás actividades que se realizan en la empresa, por lo tanto, es recomendable considerar la automatización de todos los procesos de la empresa o al menos los más importantes.
Diseñar un plan de seguridad y tener un respaldo de la información en un lugar fuera de la empresa, que permita rescatar los datos en caso de cualquier eventualidad de riesgo por reemplazo de información, fraude informático o pérdida en general de la información.
En caso de adquisición de computadoras o hardware se debe tomar en cuenta que sea compatible y este actualizado para que permita un buen desenvolvimiento de SICIEC.
59 Lista de referencias Fuentes de Información Bibliográficas Alvaréz, A., de las Heras, R., & Lasa, C. (2012). Métodos Ágiles y SCRUM. Madrid: ANAYA MULTIMEDIA. Beati, H. (2011). PHP: creación de páginas Web dinámicas (Primera ed.). Buenos Aires: Alfaomega Grupo Editor Argentino. Bernal, C. (2010). Metodología de investigación (Tercera ed.). Bogotá|: PEARSON EDUCACIÓN. Bonilla, P. (2014). Diseño web adaptativo (Primera ed.). España: Anaya Multimedia. Borda, M. (2013). El proceso de investigación: visión general de su desarrollo (Primera ed.). Barranquilla: Universidad del Norte. Brito, K., Sosa, D., & Héctor, K. (2011). Selección de Metodologías de Desarrollo para Aplicaciones Web. Saarbucken: Académica Española. Castrillon, M., Domínguez, A., Candela, S., Doreste, L., Freire, D., Salgado, A., . . . Hernández, D. (2011). Fundamentos de informática y programación para ingeniería (Primera ed.). Madrid: Paraninfo. Coronel, C., Morris, S. [., Rob, P. [., Romo Muñoz, J. H., & Sánchez Juárez, J. [. (2011). Bases de datos : diseño, implementación y administración (Novena ed.). Mexico. D.F.: Cengage Learning. Deemer, P., Benefield, G., Craig, L., & Vodde, B. (2009). INFORMACIÓN BÁSICA DE SCRUM (THE SCRUM PRIMER). Recuperado el 10 de 12 de 2016, de good agile>: http://www.goodagile.com/SCRUMprimer/SCRUMprimer_es.pdf Díaz, H. (2011). Contabilidad general (Tercera ed.). Colombia: Person Educación. Fernández, Y., & Díaz, Y. (Enero-Abril de 2012). Patrón Modelo-Vista-Controlador. Revista Telem@tica, 11(1), 47-57. Recuperado el 21 de Noviembre de 2016, de http://revistatelematica.cujae.edu.cu/index.php/tele/article/view/15
60 Gómez, E. (2014). Desarrollo de Software con NetBeans 7.1 ¡Programe para escritorio, Web y dispositivos móviles! (Primera ed.). Mexico: Alfaomega. López, M., Vara, J., Verde, J., Sanchez, D., JIménez, J., & Valeria, d. C. (2012). DESARROLLO WEB EN ENTORNO SERVIDOR. Madrid: RA-MA EDITORIAL. Montalbán, I., Castellano, M., & Ospino, J. (2013). Base de Datos (Primera ed.). Mexico: Alfaomega Grupo Editor. Otto, M., & Thornton, J. (s.f.). LIBROSWEB. Obtenido de Bootstrap 3, el manual oficial: http://librosweb.es/libro/bootstrap_3/ Piñeiro, J. (2013). bases de datos relacionales y modelado de datos. España: Ediciones Paraninfo. Romero, Á. (2010). PRINCIPIOS DE CONTABILIDAD (Cuarta ed.). Mexico, D.F.: MCGRAW-HILL. Romero, Á. (2012). Contabilidad intermedia (Tercera ed.). Mexico, D.F.: MCGRAW-HILL. Sampieri, H. (2014). Metodología de la Investigación (Sexta ed.). Mexico: McGraw-Hill Education. Schwaber, K., & Sutherland, J. (Julio de 2016). The SCRUM Guide. Obtenido de SCRUM Alliance: https://www.SCRUMalliance.org/why-SCRUM/SCRUM-guide Sinisterra, G., & Polanco, L. H. (2011). Contabilidad Sistema de información para las organizaciones (Sexta ed.). Bogotá: MCGRAW-HILL. Sommerville, I. (2011). Ingenieria de Software (Novena ed.). Mexico: Pearson Educación. Suárez, M. L. (2012). Gestiíon de Inventarios. Bogotá: Ad-Qualite. Valderrey, P. (2013). Administración de sistemas gestores de bases de datos (Primera ed.). Bogota: Ecoe. Villalba, C., Urquía, A., & Rubio, M. (2011). Lenguajes de programacion (Primera ed.). Madrid: UNED.
61
GLOSARIO BOYCE/CODD1: Es una forma normal utilizada en la normalización de bases de datos. La forma normal de Boyce-Codd requiere que no existan dependencias funcionales no triviales de los atributos que no sean un conjunto de la clave candidata. BUCLE2: Es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, procesos y deja el código más claro y facilita su modificación en el futuro. BURNDOWN CHART4: Es una de las herramientas que proporciona SCRUM para saber el tiempo que falta para completar el trabajo. Normalmente se utiliza para saber cuánto falta para terminar las historias comprometidas en un sprint. CSS3: (por sus siglas en inglés Cascading Stylesheets), es un lenguaje que define la apariencia de un documento escrito en un lenguaje de marcado, a los elementos se les dará la apariencia que se desee utilizando CSS: colores, espacios entre elementos, tipos de letra, separando de esta forma la estructura de la presentación. DDL1: (por sus siglas en inglés Data Definition Language), se utilizan para crear y modificar la estructura de las tablas, así como otros objetos de la base de datos. DML1: (por sus siglas en inglés Data Manipulation Language), son utilizadas para gestionar datos dentro de los schemas. FRAMEWORK3: Es una estructura software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación. HTML2: (por sus siglas en inglés HyperText Markup Language), es el elemento de construcción más básico de una página web y se usa para crear y representar visualmente una página web, determina el contenido de la página web, pero no su funcionalidad. 4
1
Bases de datos: diseño, implementación y administración. Coronel, C., Morris, S. Ingeniería de Software. Sommerville, I. 3 Diseño web adaptativo. Bonilla, P. 4 Información básica de SCRUM. Deemer, P., Benefield, G., Craig, L., & Vodde, B. 2
62 ISO2:
Las
siglas
ISO
representan
a
la
Organización
Internacional
para
la
Estandarización; organismo responsable de regular un conjunto de normas para la fabricación, comercio y comunicación en todas las industrias y comercios del mundo. MVC3: (por sus siglas en inglés Model View Controller) es un patrón de diseño de software para programación que propone separar el código de los programas por sus diferentes responsabilidades. PARADIGMA DE PROGRAMACIÓN2: Propuesta tecnológica adoptada por una comunidad de programadores y desarrolladores en cuanto a las normas y métodos utilizados para escribir el código de una aplicación. PHP5: (por sus siglas en inglés Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web. ROL1: Papel que despliega un individuo o un grupo en una actividad determinada. SCRUM4: Metodología ágil y flexible para gestionar el desarrollo de software, cuyo principal objetivo es maximizar el retorno de la inversión para su empresa. SICIEC2: Sistema informático de control de inventario ecuatoriano. SPRINT4: Es un conjunto de actividades de desarrollo llevado a cabo durante un periodo predefinido, por lo general entre una y cuatro semanas. SQL1: (por sus siglas en inglés Structured Query Language) es un lenguaje específico del dominio que da acceso a un sistema de gestión de bases de datos relacionales que permite especificar diversos tipos de operaciones en ellos. STAKEHOLDERS4: El término agrupa a trabajadores, organizaciones sociales, accionistas y proveedores entre otros actores que se ven afectados por las decisiones de una empresa. URL2: (por sus siglas en inglés Uniform Resource Locator) es un identificador de recursos uniforme.
1
Bases de datos: diseño, implementación y administración. Coronel, C., Morris, S. Ingeniería de Software. Sommerville, I. 3 Diseño web adaptativo. Bonilla, P. 4 Información básica de SCRUM. Deemer, P., Benefield, G., Craig, L., & Vodde, B. 5 PHP: creación de páginas Web dinámicas. Beati, H. 2
63
ANEXOS ANEXO 1. Encuesta al gerente y los empleados de la empresa SERINPETROL. Encuesta realizada al gerente y los empleados de la empresa SERINPETROL PONTIFICIA UNIVERSIDAD CATÓLICA DEL
ECUADOR SEDE
SANTO
DOMINGO ENCUESTA DIRIGIDA AL GERENTE GENERAL Y EMPLEADOS DE LA EMPRESA SERINPETROL. El presente documento tiene como fin recoger información que permita medir la aceptación que tendría la implementación de un sistema web para controlar el inventario de materiales y herramientas de la empresa SERINPETROL. La información que responderá en este cuestionario es solo para fines académicos y de gran ayuda para nuestra investigación, por favor se debe responder con absoluta seriedad. Instrucciones: leer de manera detenida cada pregunta, seleccionar una sola respuesta por cada pregunta marcando con una (X). 1. ¿Cree usted que la empresa SERINPETROL necesita implementar un sistema web para controlar el inventario de materiales y herramientas? Sí
No
2. ¿Cree usted que está capacitado en conceptos básicos de computación para usar un sistema informático? Sí
No
3. ¿Considera usted que el proceso de llevar el control del inventario actualmente mediante un archivo de Excel es muy tedioso y complicado, lo cual lleva a cometer errores al momento de ingresar la información? Sí
No
64 4. ¿Cree usted que con la implementación de un sistema de inventario web con procesos automatizados ayudaría al desempeño laboral de la empresa SERINPETROL? Sí
No
5. ¿Cree usted que el proceso de realizar una compra a los proveedores puede mejorarse automatizando el inventario? Sí
No
6. ¿Cree usted pertinente crear un kardex en el sistema de inventario web para llevar el control de las unidades existentes, el precio y la gestión del mismo? v Sí
No
7. ¿Está de acuerdo en la forma en que se lleva el inventario actualmente? Sí
v
No
8. ¿Considera usted que el sistema de inventario web debe manejarse en cualquier pantalla, sea un computador o un dispositivo móvil, o sea tener un diseño adaptable? v Sí
No
9. ¿Considera adecuado que en el sistema de inventario web se use el método del promedio ponderado para el ajuste de precios de los productos en el kardex? v Sí
No
10. ¿Le gustaría que el sistema de inventario web arroje un reporte en el cual le permita visualizar los productos por pedir para cumplir con un número mínimo de existencias? v Sí
No
11. ¿Le parece importante que el sistema de inventario web genere un reporte para imprimir una lista de control de los materiales utilizados en las determinadas acciones de la empresa?
v
Sí
No
65
ANEXO 2. Entrevista al gerente de la empresa SERINPETROL. Entrevista realizada al gerente de la empresa SERINPETROL PONTIFICIA UNIVERSIDAD CATÓLICA DEL
ECUADOR SEDE
SANTO
DOMINGO Objetivo: La razón de la entrevista con el gerente, es conseguir información de los procesos que utilizan para controlar el inventario de materiales y herramientas de la empresa SERINPETROL con el fin de establecer los requerimientos iniciales para empezar a desarrollar el sistema web. La información que usted nos brinde será tratada de manera confidencial y será utilizada con fines académicos, por favor responder con absoluta seriedad. 1. ¿De acuerdo a su juicio que tan primordial seria la implementación de un sistema que controle el inventario de materiales y herramientas de la empresa? 2. ¿Qué herramientas ofimáticas utiliza para llevar a cabo los procesos de inventario de materiales y herramientas de la empresa? 3. ¿Llevan algún registro de todas las compras y ventas de los productos para determinar el precio cuando sea susceptible a una variación, se realiza algún cálculo para reajustar los valores? 4. ¿Con que frecuencia se realizan los pedidos a los proveedores? 5. ¿Existe una cantidad mínima de productos y materiales que debe permanecer en stock? 6. ¿Las facturas, con qué modelo de impresora se van a imprimir? 7. ¿Cuál es el proceso que se realiza para registrar las actividades de los servicios prestados por la empresa en lo referente a la venta de materiales y herramientas a los clientes?
66
ANEXO 3. Historias de usuario Historia de Usuario Número: 1
Usuario: Administrador
Nombre historia: Administración de usuarios Prioridad en negocio: 70
Riesgo en desarrollo: Medio
Puntos estimados: 40
Sprint asignado: 1
Programador responsable: Andrés Delgado – Luis Moreno Descripción: COMO gerente de la organización QUIERE tener la facultad de crear, modificar, habilitar o deshabilitar usuarios, asignar permisos PARA que los usuarios o empleados cumplan funciones específicas según el módulo asignado. Escenarios de prueba: DADO un administrador CUANDO cree un usuario ENTONCES debe configurar los permisos de acceso a los módulos del sistema. DADO un administrador CUANDO despida un empleado ENTONCES debe deshabilitar el usuario del sistema para no permitir su acceso.
Historia de Usuario Número: 2
Usuario: Administrador, usuarios (todos)
Nombre historia: Ingreso al sistema. Prioridad en negocio: 80
Riesgo en desarrollo: Bajo
Puntos estimados: 1
Sprint asignado: 1
Programador responsable: Andrés Delgado – Luis Moreno Descripción: COMO empleados de la empresa QUEREMOS iniciar sesión en el sistema PARA poder utilizarlo en los determinados módulos asignados por el administrador. Escenarios de prueba: DADO un usuario y una contraseña a cada empleado de la organización, CUANDO se autentifique en el sistema ENTONCES debe permitirle el acceso a la página principal y a los módulos que le haya asignado el administrador. DADO un usuario y una contraseña al administrador CUANDO ingrese al sistema ENTONCES debe permitirle el acceso a la página principal, a todos los módulos.
67
Historia de Usuario Número: 3
Usuario: Administrador
Nombre historia: registro, modificación y borrado de productos y servicios Prioridad en negocio: 80
Riesgo en desarrollo: Bajo
Puntos estimados: 40
Sprint asignado: 1
Programador responsable: Andrés Delgado – Luis Moreno Descripción: COMO administrador QUIERO realizar las operaciones de crear, consultar, actualizar y borrar los productos y servicios PARA controlar el inventario. Escenarios de prueba: DADO un requerimiento de ingreso de productos o servicios, el administrador CUANDO ingrese un producto ENTONCES debe crearse un registro del mismo. DADO un requerimiento de consulta de productos o servicios, el administrador CUANDO consulte un producto ENTONCES debe obtener la información de dicho producto. DADO un requerimiento de actualización de productos o servicios, el administrador CUANDO necesite actualizar un producto o servicio, previamente debe consultarlo, ENTONCES si la consulta devuelve la información requerida, puede actualizar dicho registro. DADO un requerimiento de actualización de productos o servicios, el administrador CUANDO quiere eliminar un producto o servicio, previamente debe consultarlo, ENTONCES si la consulta devuelve la información requerida puede borrar dicho registro
Historia de Usuario Número: 4
Usuario: Administrador, usuarios (todos)
Nombre historia: control de los clientes en el sistema Prioridad en negocio: 70
Riesgo en desarrollo: Bajo
Puntos estimados: 13
Sprint asignado: 1
Programador responsable: Andrés Delgado – Luis Moreno
68 Descripción: COMO usuarios (todos) del sistema QUIERO realizar las operaciones de crear, consultar, actualizar y borrar PARA controlar la información de los clientes en el sistema. Escenarios de prueba: DADO los usuarios del sistema CUANDO se ingrese la información de un cliente ENTONCES debe crearse un registro del mismo. DADO los usuarios del sistema CUANDO se consulte un cliente ENTONCES debe obtenerse la información de dicho cliente. DADO los usuarios del sistema CUANDO necesiten modificar un cliente, previamente debe consultarse su información, ENTONCES se procede a actualizar sus datos. DADO los usuarios del sistema CUANDO necesiten eliminar un cliente, previamente debe consultarse su información, ENTONCES se procede a eliminar sus datos.
Historia de Usuario Número: 5
Usuario: Administrador
Nombre historia: control de los proveedores en el sistema Prioridad en negocio: 50
Riesgo en desarrollo: Bajo
Puntos estimados: 13
Sprint asignado: 1
Programador responsable: Andrés Delgado – Luis Moreno Descripción: COMO usuarios (todos) del sistema QUIERO realizar las operaciones de crear, consultar, actualizar y borrar PARA controlar la información de los proveedores en el sistema. Escenarios de prueba: DADO los usuarios del sistema CUANDO se ingrese la información de un proveedor, ENTONCES debe crearse un registro del mismo. DADO los usuarios del sistema CUANDO se consulte un proveedor ENTONCES debe obtenerse la información de dicho proveedor. DADO los usuarios del sistema CUANDO necesiten modificar un proveedor, previamente debe consultarse su información, ENTONCES se procede a actualizar sus datos. DADO los usuarios del sistema CUANDO necesiten eliminar un proveedor, previamente debe consultarse su información, ENTONCES se procede a eliminar sus datos.
69
Historia de Usuario Número: 6
Usuario: Administrador, usuarios (todos)
Nombre historia: lista de control de las herramientas Prioridad en negocio: 80
Riesgo en desarrollo: Medio
Puntos estimados: 40
Sprint asignado: 1
Programador responsable: Andrés Delgado – Luis Moreno Descripción: COMO los usuarios del sistema QUEREMOS crear una lista seleccionando los ítems de un inventario de herramientas PARA registrar los ítems que van a salir de bodega. Escenarios de prueba: DADO los usuarios del sistema CUANDO se registra una salida de las herramientas de la bodega para una obra ENTONCES debo escoger de un listado las herramientas y generar una evidencia delegando un responsable.
Historia de Usuario Número: 7
Usuario: Administrador, usuarios (todos)
Nombre historia: facturación de productos y servicios para la venta Prioridad en negocio: 100
Riesgo en desarrollo: Alto
Puntos estimados: 40
Sprint asignado: 1
Programador responsable: Andrés Delgado – Luis Moreno Descripción: COMO los usuarios del sistema QUEREMOS realizar el ingreso de datos del cliente y los ítems a vender PARA elaborar una factura y a la vez tener un registro de ventas. Escenarios de prueba: DADO los usuarios del sistema y un cliente CUANDO se realice una venta ENTONCES se debe remitir un reporte de factura al cliente.
70
Historia de Usuario Número: 8
Usuario: Administrador
Nombre historia: reporte de productos comprados a proveedores Prioridad en negocio: 100
Riesgo en desarrollo: Alto
Puntos estimados: 40
Sprint asignado: 1
Programador responsable: Andrés Delgado – Luis Moreno Descripción: COMO los usuarios del sistema QUEREMOS realizar el ingreso de los productos comprados a los proveedores PARA elaborar un reporte de cada compra. Escenarios de prueba: DADO los usuarios del sistema y un proveedor CUANDO se realice una compra ENTONCES se debe registrar un reporte de factura de dicha compra en el sistema.
Historia de Usuario Número: 9
Usuario: Administrador
Nombre historia: reporte de ventas realizadas en fechas preestablecidas. Prioridad en negocio: 100
Riesgo en desarrollo: Alto
Puntos estimados: 40
Sprint asignado: 1
Programador responsable: Andrés Delgado – Luis Moreno Descripción: COMO usuario administrador o gerente de la empresa QUIERO obtener un reporte de las ventas realizadas PARA tomar decisiones que incidan en el desarrollo y progreso de la empresa. Escenarios de prueba: DADO el usuario administrador o gerente CUANDO remita el informe de ventas realizadas en fechas preestablecidas ENTONCES puede tomar decisiones que aporten al desarrollo de la organización.
71
ANEXO 4. Manual de usuario - SICIEC
SICIEC MANUAL USUARIO
Sistema de Control de Inventario Ecuatoriano ANDRÉS DELGADO – LUIS MORENO | DERECHOS RESERVDOS PUCESD - 2017
72 El sistema de control ecuatoriano (SICIEC), como la gran mayoría de sistemas informáticos, tiene una página de ingreso al sistema (login), la cual permitirá autentificarse a los usuarios registrados del sistema, para acceder a esta página debemos abrir un navegador web y colocar la siguiente dirección URL http://localhost/SICIEC/index.php Luego digitar su usuario y contraseña.
SICIEC consta de un menú conceptual conformado de dos secciones, las cuales al hacer clic en sus enlaces nos llevan a las diferentes vistas que proporcionan interfaces para que el usuario realice determinadas funciones. Las secciones son: -
Inicio (muestra la página principal de bienvenida al sistema).
-
Módulos (donde se encuentra la interacción con el usuario de tipo editor). Cliente Control herramientas Facturación Insumo Producto Proveedor
-
Administración Parámetros Registro de módulos Roles de Usuario Usuario
A continuación, describiremos la funcionalidad de los módulos incluidos en las secciones
73 ACCIÓN DE LOS BOTONES MÓDULO CLIENTE BOTÓN
ACCIÓN Agregar registro Modificar registro Eliminar registro Buscar registro
Actualizar página Restablecer página Paginación
Cuando se desea agregar o actualizar un registro tendremos la siguiente interfaz, para lo cual podremos guardar los cambios dándole clic en el botón Ingresar, caso contrario en el botón Cerrar.
74
Para buscar la información de un registro tendremos los siguientes filtros de búsquedas, en el cuadro debemos digitar lo que queremos buscar de acuerdo al criterio de búsqueda elegido, luego le daremos clic en el botón Buscar, caso contrario le damos clic en el botón Cerrar.
Control herramientas: En este módulo se podrá exportar un reporte en formato PDF de todas las herramientas o materiales que tiene la empresa para consumo o uso propio, todo esto para tener un control de quien autoriza el envío, quien recibe y que nomás recibe, para ello debemos activar la casilla de verificación asignada a cada ítem.
75
Cuando le damos clic en el botón exportar tendremos el siguiente reporte.
Facturación: El módulo de facturación tiene dos submenús factura de venta y factura de compra, tienen igual funcionamiento y su interfaz es muy parecida, comenzaremos a explicar la facturación para la venta. Factura de venta Cuando le damos clic en este submenú tendremos la lista de detalle de facturas de los clientes y también podremos generar la factura para imprimirla en el caso de que necesitemos, dándole clic en el botón
76
Para registrar una nueva venta, tendremos que darle clic en el botón registrar venta, luego de esto se nos presenta la siguiente vista en la cual podremos buscar al cliente a través de su nombre o su cédula.
Luego con el botón buscamos los productos a facturar, y con el botón Agregar iremos añadiendo los productos a la factura, cuando hayamos finalizado le damos clic en Cerrar.
77
Si queremos borrar un producto que hayamos añadido a la factura por error entonces debemos darle clic en el botón
ubicado al final del detalle de producto.
Para facturar debemos darle clic en el botón , el cual nos mostrará el detalle de la factura, luego le damos clic en Aceptar, después se mostrará un mensaje de aceptación y por último debemos confirmar la realización de la factura. Cabe mencionar que el número de factura podemos ingresarlo a conveniencia.
Podremos revisar el reporte de la factura en la lista de facturas descritas al iniciar la explicación del módulo. Nota: El proceso para realizar la factura de compra a proveedores es exactamente igual al de venta.
78 Insumo: El módulo insumo tiene como objetivo el registro de todos los materiales o herramientas que se usen para la empresa y que no estén destinados para la venta.
Cuando ingresemos un insumo se deberá especificar si este se trata de un material o una herramienta, teniendo en cuenta que las herramientas ingresadas serán visibles en la lista del módulo de control herramientas donde serán exportadas a un archivo PDF para ser impresas y llevar un control físico de las mencionadas herramientas.
79 Productos: En este módulo se podrán registrar todos los productos o servicios que la empresa brinda y que además compra a los proveedores, esto con el fin de realizar posteriormente la facturación de compra o venta.
Cuando agregamos un registro debemos especificar el precio de compra y venta, además que distinguir si se trata de un producto o servicio, algo muy importante que se debe mencionar es que las existencias del producto se las ingresa en el módulo de facturación cuando se hace una compra a los proveedores, por otro lado, si se realiza una venta las existencias disminuirán, es decir, que no se podrán manipular las existencias de los productos a través de este módulo, solo serán informativas.
80
Por otro lado, la funcionalidad que se realiza después de dar clic en el botón es la de registrar un historial de la variación de precios de un determinado producto, lo cual nos servirá para la realización de reportes importantes al respecto.
Proveedor: Este módulo nos sirve para registrar la información de los proveedores para poder hacer la facturación de compra y tener un registro de que productos compramos y a que proveedor.
81 Cuando presionamos el botón agregar registro podemos ingresar un nuevo proveedor y especificar además de los datos comunes una calificación para poder igualmente realizar reportes en el caso de que se necesite.
En la sección Administración podemos encontrar cuatro funcionalidades que describimos a continuación. Parámetros: Aquí se describe la información de la empresa y el porcentaje del IVA que se emplea en los cálculos de las facturas, todos estos parámetros son configurables.
82 Control de módulos: Este módulo tiene la funcionalidad de activar o no los módulos del sistema, es decir, de aquí se controla el acceso a estos, pero de todos los usuarios del sistema, para ellos le damos clic en el botón
para activarlos y desactivarlos.
Roles de usuario: En este módulo se crean los roles del usuario o perfil que el usuario maneja en la empresa, en este caso un usuario puede ser invitado o supervisor, existen otras denominaciones en las cuales se trata al usuario como administrador o como editor, etc. Dependiendo de qué rol o perfil posea el usuario y la función que realice en el sistema, dicho usuario tendrá ingreso a los módulos que le asigne el administrador o persona a cargo del manejo del sistema.
83 Usuarios Este módulo describe la información de los usuarios registrados en el sistema y el acceso a los módulos que tiene, para dar permisos de ingresos a determinados módulos del sistema, el administrador debe darle clic en el botón para poder otorgar los mencionados accesos o permisos a los módulos, también puede ver la información de los usuarios a través del botón
y activar o inactivar el acceso al sistema de un usuario con
.
84
ANEXO 5. Manual Técnico - SICIEC
SICIEC MANUAL TÉCNICO
Sistema de Control de Inventario Ecuatoriano ANDRÉS DELGADO – LUIS MORENO | DERECHOS RESERVDOS PUCESD - 2017
85 El presente es una guía para personas que hayan tenido un poco de experiencia en configuraciones de servidores web, base de datos y puertos de comunicación para aplicaciones, todo esto para lograr la puesta en marcha del sistema. Sabiendo que la instalación se la realizará en la intranet o sea de una manera local, precisamente para que funcione en una oficina, se ha considerado como una de las mejores opciones, tomando en cuenta la experiencia, el tiempo de respuesta y la facilidad de uso al servidor de aplicaciones WampServer, el cual reúne en un solo paquete al servidor web APACHE, servidor de base de datos MYSQL y aparte tiene un panel de administración, todo esto nos brinda una rápida y eficiente instalación del sistema objeto de este proyecto. INSTALACIÓN DE WAMP SERVER Para proceder a la instalación de WampServer debemos descargar la versión con la cual vamos a trabajar, todas las versiones actuales y anteriores se encuentran en la página oficial www.wampserver.com. Una vez descargado el programa procederemos a la instalación del mismo, se mostrará a continuación paso a paso y en resumidas cuentas la instalación de la configuración necesaria para lograr el objetivo propuesto. Cuando descargamos el archivo y lo instalaremos ejecutándolo como administrador.
La instalación es bastante permisiva, solo debemos seguir los pasos que por decir de alguna manera son bastante evidentes.
86 Clic en Next
Se debe aceptar los términos de uso de la aplicación
Escogemos la carpeta de destino de la instalación
87 Luego tenemos la opciรณn de crear un acceso directo.
Procedemos a instalar el paquete en el sistema operativo
Se informa que se terminado la instalaciรณn y si mantenemos la casilla de verificaciรณn activa se va a ejecutar WampServer, le dejaremos activa para que se ejecute.
88 EJECUCIÓN Y CONFIGURACIÓN DE WAMPSERVER Una vez instalado el entorno de trabajo, vamos a ejecutarlo, podríamos haber utilizado la opción que nos da al finalizar la instalación o cuando queramos utilizarlo en otro momento debemos de ejecutarlo ya sea por el acceso directo creado en el escritorio o simplemente buscarlo dentro de los programas. Como estamos desarrollando la instalación y es la primera vez que la vamos ejecutar debemos de fijarnos en pequeño detalle, una vez ejecutado el programa aparecerá en la parte inferior en la barra de tareas de nuestro sistema operativo (Windows) el icono de WampServer el cual debemos de tener en cuenta que este de color verde; haciendo un paréntesis puedes fijarte que cuando se ejecutó el programa este icono pasa por tres procesos: primero de color "rojo" que significa que se están cargando los servicios, luego pasa a un color "ámbar" que significa que el proceso de carga está siendo procesado y por último el color "verde" que nos asegura que la carga de los servicios fue exitosa.
Supongamos que el icono no apareciera como se muestra en la imagen es probable que lo pueda encontrar dentro del panel de icono de notificación, en el cual si desea que este aparezca en la barra de tareas debe de personalizar la opción del icono cambiando en el comportamiento por "Mostrar iconos y notificaciones". Ahora bien si el icono aparece de color "verde" esto indica que la ejecución y carga de los servicios fue exitosa, en caso se mantuviera ya sea con el color "ámbar" o "rojo", esto indica que ha sucedido algún problema en la carga de los servicios.
89 USAR EL ENTORNO DE PHP MYADMIN Luego de haber instalado y teniendo en cuenta que WampServer estรก ejecutรกndose, debemos darle clic y escoger la opciรณn phpMyAdmin.
Luego abrimos una ventana de cualquier navegador y escribimos la palabra localhost para ver la interfaz web que proporciona.
90 Dándole clic en el enlace de nombre phpmyadmin en la esquina inferior izquierda tenemos la siguiente interfaz en la cual podremos ejecutar nuestro script del base antes elaborado en workbench que almacenará la información de la aplicación, para ello inicialmente le damos clic en Base de datos, luego creamos una base de datos, luego damos clic en Importar y luego en el botón Seleccionar archivo y buscamos nuestro script que tiene extensión .sql para obtener la base de datos.
Después de haber realizado las gestiones para que la base de datos quede en funcionamiento, debemos ocuparnos de la aplicación, para ello debemos copiar nuestra carpeta que tiene la aplicación en la carpeta donde WampServer publica localmente los sistemas y aplicaciones realizadas. Esto lo hacemos siguiendo la siguiente ruta. C:\wamp\www
91 Luego de esto finalmente abrimos el navegador y digitamos la palabra localhost/ seguido del nombre de la carpeta o nombre de nuestra aplicación para ver la interfaz del sistema. La ruta en este caso sería: http://localhost/SICIEC/
Es así como ya podemos poner el sistema en producción, cabe destacar que si se va a acceder al sistema desde varias computadoras, este debe estar instalado en una máquina principal que actuaría como servidor, la cual debe tener una dirección IP fija para que las demás accedan a través de esta IP, en ese caso la máquina que necesite ingresar al sistema digitará la IP fija del servidor en vez de la palabra localhost. 192.168.1.10/SICIEC/ Siendo 192.168.1.10 la IP fija del servidor.
92
ANEXO 6. Diccionario de datos
93
94
95
ANEXO 7. Carta de aceptaciรณn de SICIEC
96
ANEXO 8. Carta de impacto de SICIEC
97
ANEXO 9. Acta de entrega recepciรณn de SICIEC