77
DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN DE INVENTARIO, CON APLICACIÓN MÓVIL DE CONSULTA PARA LA EMPRESA COSDY SAS Alejandro Diaz Pereira -20121020126 Universidad Distrital Francisco José de Caldas Facultad de Ingeniería Proyecto curricular ingeniería de sistemas Bogotá D.C Colombia 2019

DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN DE INVENTARIO, CON

APLICACIÓN MÓVIL DE CONSULTA PARA LA EMPRESA COSDY SAS

Alejandro Diaz Pereira -20121020126

Universidad Distrital Francisco José de Caldas

Facultad de Ingeniería

Proyecto curricular ingeniería de sistemas

Bogotá D.C – Colombia

2019

Page 2: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN DE INVENTARIO, CON

APLICACIÓN MÓVIL DE CONSULTA PARA LA EMPRESA COSDY SAS

Alejandro Diaz Pereira -20121020126

Proyecto de grado presentado como requisito para optar al título de:

Ingeniero de Sistemas

Director Interno:

Ingeniero John Freddy Parra Peña

Facultad de Ingeniería

Universidad Distrital Francisco José de Caldas

Facultad de Ingeniería

Proyecto curricular Ingeniería de Sistemas

Bogotá D.C – Colombia

2019

Page 3: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Tabla de contenido

1. Introducción 8

2. Planteamiento del problema 9

2.1 Descripción del problema 9

2.2 Formulación del problema 9

3. Justificación 9

4. Objetivos 9

4.1 Objetivo General: 9

4.2 Objetivos Específicos 9

5. Marco referencial 10

5.1 Marco teórico 10

6 Marco metodológico 14

6.1 Metodología del desarrollo 14

6.2 Metodología de la ingeniería 15

7 Recursos 16

8 Cronograma 17

9 Resultados y Discusiones 18

9.1 Definición de proceso de inventarios 18

9.2 Etapa product backlog 19

9.3 Etapa reléase backlog 22

9.4 Etapa Sprints 23

10 Conclusiones 47

11 Recomendaciones 47

12 Bibliografía 48

13 Anexos 49

FUNCIONALIDAD GENERAL 52

3.1 Instalar la versión 1.6 del kit de desarrollo de Java (JDK por sus siglas en inglés) 66

3.2 Configurar las variables de entorno del sistema 67

4.1 Instalar la versión 7 de Tomcat 68

4.2 Copiar el ROOT entregado con el proyecto al directorio de Tomcat en el sistema 68

Page 4: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

4.3 Configurar los usuarios de acceso al servidor 69

4.4 Configurar el puerto para una conexión segura certificada 69

5.1 Descarga y configuración del software 70

6.2 Ejecutar el manager y subir archivo del proyecto 71

6.3 Montar base de datos en PostgreSQL 71

Page 5: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Listado de Tablas Tabla {1} Tabla 1. Cronograma fuente: propia……………………………………………………..…2

Tabla {2} Tabla 2 Release Backlog. Fuente: Propia…………………………………………….……22

Tabla {3} Tabla 3. Roles de usuario. Fuente: Propia …………………………..………………...…..22

Tabla {4} Tabla 4. Pruebas de calidad. Fuente: Propia…………………….…..…………………… .22

Page 6: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Listado de Figuras

Figura {1} Figura 1. Estructura Java EE. Fuente: ACADEMIA CISCO ORACLE UTN

CÓRDOBA,2015…………………………………………………………………………………………...5

Figura {2} Figura 2. Recursos. Fuente: Propia……….……..……...………………….………..…….. ..15

Figura {3} Figura 3. Proceso de inventario BPMN. Fuente: Propia ,2019……………………..………..18

Figura {4} Figura 4. Primera historia de usuario Fuente: Propia ,2019………...………………………. 19

Figura {5} Figura 5. Segunda historia de usuario Fuente: Propia ,2019……………..…..…………..….. 6

Figura {6} Figura 6. Tercera historia de usuario Fuente: Propia ,2019………………..……………….. 20

Figura {7} Figura 7 Tercera historia de usuario Fuente: Propia ,2019………..…………….………….. 20

Figura {8} Fig. 8. Modelo de bases de datos, Fuente: propia…………………………..………………... 23

Figura {9} Fig. 9. MVC. Fuente: propia…………………………………………………..……………. ..24

Figura {10} Fig. 10. Tomcat Manager. Fuente: Propia………………………………………..………… 25

Figura {11} Fig. 11. Pantalla de inicio, Fuente: propia…………….. ……………………………………26

Figura {12} Fig. 12. Pantalla de menú, Fuente: propia.…………………………………………………. 26

Figura {13} Fig. 13. Pantalla inventarios, Fuente: propia…...……………………...…...………………..27

Figura {14} Fig. 14. Pantalla de formularios, Fuente: propia………………….……….……………….. 28

Figura {15} Fig. 15. Vista de navegación Fuente: propia.………………………………………………..29

Figura {16} Fig. 16. Vista de navegación ejecutiva Fuente: propia….………………..…………….....…30

Figura {17} Fig. 17. Vista de navegación jefe de usuario Fuente: propia.…………...…….……………. 30

Figura {18} Fig. 18. Vista de navegación Fuente: propia….…………………………...……...………....31

Figura {19} Fig. 19. Login de usuario con diseño Fuente: propia.………………...…………….……… 32

Figura {20} Fig. 20. Menú con diseño Fuente: propia.………….………………………………………..32

Figura {21} Fig. 21. Inventario con diseño Fuente: propia.……….…….……………...……………….. 33

Figura {22} Fig. 22. Login de usuario con diseño Fuente: propia………….……...…….…………….. ..34

Figura {23} Fig. 23. Login de usuario con diseño de iconos Fuente: propia.…….……..………………..35

Figura {24} Fig. 24. Alerta de añadir usuario Fuente: propia………………………...….………….…....35

Figura {25} Fig. 25. Alerta de Eliminar usuario Fuente: propia…………...…………………..…………35

Figura {26} Fig. 26. Alerta de Añadir materia prima Fuente: propia.………….…..………………….…36

Figura {27} Fig. 27. Alerta de materia prima Fuente: propia…………………….……………………....36

Figura {28} Fig. 28. Alerta de Eliminar materia prima Fuente: propia.…………….…….……………...36

Figura {29} Fig. 29. Vista materias primas con encabezado Fuente: propia.……………….…………....37

Figura {30} Fig. 31. Vista Reporte ejecutivo Fuente: propia……………………….…………...…….….37

Figura {31} Fig. 31. Vista Reporte ejecutivo Fuente: propia….……...…………………………………..39

Listado de Anexos

Page 7: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Anexo {1} Manual de usuario ……………..……………………………………………………….. 49

Anexo {2} Manual técnico y guía de instalación..………………………………………………….. 49

Page 8: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

1. Introducción

LABORATORIO DE COSMÉTICOS COSDY.SAS es una empresa dedicada a la elaboración y

comercialización de productos cosméticos para el cuidado de las uñas, pelo y piel como lo son: esmaltes,

cremas, productos capilares, entre otros. Con más de 20 años de experiencia en el mercado, la empresa

cuenta con la sede principal ubicada en el barrio Zona industrial Montevideo en la ciudad de Bogotá, allí

se fabrican, procesan y distribuyen los diferentes productos.

Con el paso del tiempo se ha incrementado el margen de ventas en la empresa, lo que requiere un aumento

en los recursos y también el acrecentamiento de producto en stock, esto ha generado problemas en los

procesos de elaboración de la producción al no tener claro la cantidad de materia prima que se posee, así

como la cantidad de producto fabricado, lo que dificulta la toma de decisiones haciendo imprecisas las

cantidades en los procesos como por ejemplo, la cantidad de materia prima que deben pedir a los

proveedores y el volumen de producción que poseen actualmente para despachar pedidos. Adicionalmente,

la empresa no cuenta con un proceso definido para llevar a cabo las actividades de inventario.

Por tal motivo, la solución que se propone para la empresa es un aplicativo web que permita gestionar el

inventario de la empresa, dadas las condiciones de ésta se hace necesario que puedan acceder a esta

información en cualquier lugar, lo que hace ideal el desarrollo de una herramienta con un entorno web por

tanto, se propone el diseño de la página web responsivo para su uso en plataformas móviles como Android

para el manejo de los inventarios. Además de ello, para facilitar la gestión de inventarios por parte del

aplicativo se propone definir el proceso de inventarios de la empresa.

2. Planteamiento del problema

En LABORATORIO DE COSMETICOS COSDY.SAS el inventario se hace solo una vez al año, por lo

general al finalizar diciembre, éste define qué materias primas se deben pedir una vez inicie la jornada

laboral en enero del año siguiente. Dado que solo se hace un inventario, es responsabilidad de los empleados

de planta estar al tanto de las materias primas que se van agotando, este procedimiento funcionaba

correctamente cuando la empresa era pequeña y su personal era estable, ya que los empleados conocían el

funcionamiento de la empresa a profundidad y la demanda de pedidos era relativamente pequeña.

Con el paso del tiempo, la empresa fue adquiriendo mayor cuota de mercado lo que volvió inestable la

contratación de personal en planta, ya que en ciertas épocas del año se hacen contrataciones temporales de

recursos humanos para reforzar la producción en la planta, además de que la empresa amplió su catálogo

Page 9: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

de productos y su volumen de producción aumentó, haciendo más complejo el seguimiento de producto

terminado y las materias primas, por tal motivo el modelo de gestión de inventarios se volvió muy ineficaz,

generando conflictos en el despacho de pedidos y por ende en la atención al cliente.

2.1 Descripción del problema

La empresa Laboratorio de cosméticos Cosdy S.A.S no posee un inventario confiable y preciso, lo que la

hace propensa a cometer errores a la hora de tomar decisiones, ocasionando pérdidas reflejadas en tiempo

y dinero, que afectan todas las áreas operativas de la empresa, especialmente la de producción.

2.2 Formulación del problema

¿Cómo mejorar con la ayuda de un software la gestión de inventarios de la empresa LABORATORIO DE

COSMETICOS COSDY.SAS para que sus inventarios sean más precisos, confiables y puedan facilitar la

toma de decisiones en las diferentes áreas de la empresa con bajo presupuesto y sin recurrir a empresas que

ofrecen software de uso general?

3. Justificación

La competitividad en el mercado cosmético es bastante alta, la toma de decisiones, junto a una adecuada

atención al cliente son factores indispensables para sobresalir. En la actualidad el mercado de cosméticos

en Colombia ha aumentado de forma significativa, durante el 2017 y 2018, el mercado cosmético tuvo un

aumento del 8% [2].

Para una adecuada toma de decisiones se hace necesario que una empresa tenga diversos mecanismos que

proporcionen información, como reportes, encuestas y evaluaciones de calidad e inventarios, éste último es

clave para mostrar el panorama de producción de una empresa.

En el caso particular de LABORATORIO DE COSMETICOS COSDY.SAS la empresa ha empezado a

tener problemas debido a la forma actual de gestionar los inventarios, pues son poco confiables e

imprecisos; Al no tener información clara, han comprado materia prima de más, ocasionando pérdidas.

También han permitido que se agoten las materias primas, lo que causa retrasos en el despacho de los

pedidos, afectando el servicio al cliente.

Automatizar la gestión de los inventarios permitirá a la empresa organizar toda el área de producción de

una mejor manera, ya que sabrán qué materias primas y productos en stock se necesitan, podrán contactar

los proveedores con más tiempo, teniendo oportunidad de reducir costos y de evitar compras innecesarias.

Esto impactará positivamente en las demás áreas como la administrativa, ventas, contable, etc.

Por tal motivo la empresa solicitó una vacante para desarrollar un producto de software que, de respuesta a

la problemática presentada, el proyecto tuvo un interés personal debido a que el desarrollo de software es

una de mis fortalezas y era muy acorde a mi plan de proyecto para pasantías.

Page 10: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Dado que se dispone de un tiempo total estimado de tres meses para la elaboración del proyecto, y ya que

los requerimientos del usuario son poco claros debido a la poca experiencia de la empresa automatizando

procesos, se optó por utilizar una herramienta de desarrollo ágil que en este caso será Scrum.

4. Objetivos

4.1 Objetivo General:

● Elaborar un software que permita la gestión de inventarios para las materias primas y productos

terminados de la empresa LABORATORIO DE COSMETICOS COSDY.SAS.

4.2 Objetivos Específicos

● Contribuir a la mejora de realización de inventarios mediante la definición de un proceso para la

gestión de inventarios en la empresa Cosdy S.A.S.

● Facilitar la gestión de inventarios mediante un aplicativo web cliente que permita visualizar los

inventarios existentes.

● Optimizar la gestión de inventarios en la empresa Cosdy S.A.S. para generar un impacto positivo

en las labores de la misma.

5. Marco referencial

5.1 Marco teórico

5.1.1 Inventario

Un inventario es la relación ordenada, detallada y valorada del conjunto de bienes o pertenencias que

constituyen el patrimonio de una persona, comunidad o empresa en un momento específico. Éste ayuda a

las empresas a tener un panorama claro de qué bienes o pertenencias poseen para así apoyarse en la toma

de decisiones [1].

Este concepto es relevante para el proyecto en cuestión ya que es el tema central del problema y la función

principal que el software tendrá, tener la definición clara de inventario permitirá una mayor precisión a la

hora de abordar el problema que la empresa Cosdy S.A.S está atravesando.

5.1.2 Java EE

Java Enterprise Edition, Java EE en adelante, es un conjunto de estándares de tecnologías dedicadas al

desarrollo de Java del lado del servidor. La plataforma Java EE consta de un conjunto de servicios, API y

protocolos que proporcionan la funcionalidad necesaria para desarrollar aplicaciones basadas en web de

Page 11: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

varios niveles. Es decir, desarrollaremos aplicaciones empresariales distribuidas, con arquitecturas

multicapa, escritas en Java y que se ejecutan en un servidor de aplicaciones [3].

Java es uno de los lenguajes de programación más completos que existe en el mercado laboral, ofrece un

balance entre rendimiento, seguridad, comunidad activa y funcionalidad, utilizarlo en un formato

empresarial es mucho más apropiado para este proyecto ya que ofrece servicios adicionales enfocados en

un ámbito web que van de la mano con las intenciones de desarrollo del aplicativo.

Entre las distintas funcionalidades se encuentra JSP (Java Server Pages) que es una tecnología que permite

incluir código Java en páginas web. El denominado contenedor JSP (que sería un componente del servidor

web) es el encargado de tomar la página, sustituir el código Java que contiene por el resultado de su

ejecución, y enviarla al cliente. [7]. Así, se puede diseñar fácilmente la página web a realizar con partes

fijas y partes variables.

Figura 1. Estructura Java EE. Fuente: ACADEMIA CISCO ORACLE UTN CÓRDOBA,2015

5.1.3 PostgreSQL

PostgreSQL es un avanzado sistema de bases de datos relacionales basado en Open Source. Esto quiere

decir que el código fuente del programa está disponible a cualquier persona libre de cargos directos,

permitiendo a cualquiera colaborar con el desarrollo del proyecto o modificar el sistema para ajustarlo a

sus necesidades. PostgreSQL está bajo licencia BSD.

Un sistema de base de datos relacionales es un sistema que permite la manipulación de acuerdo con las

reglas del álgebra relacional. Los datos se almacenan en tablas de columnas y renglones. Con el uso de

llaves, esas tablas se pueden relacionar unas con otras [5].

El almacenamiento de los datos de los inventarios es una parte esencial para el aplicativo, ya que Cosdy

S.A.S no contiene una cantidad exagerada de productos y proveedores, es posible modelar una base de

Page 12: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

datos usando un modelo relacional. PostgreSQL se especializa en ello, siendo código libre lo que permitiría

reducir costos que favorece las políticas de la empresa de no gastar demasiado en herramientas tecnológicas.

5.1.4 SCRUM

Scrum es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar

colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto. Estas prácticas se

apoyan unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos altamente

productivos.

En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que

aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado para proyectos en entornos

complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco

definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales [8].

Como los requerimientos del sistema no son claros, se hace conveniente realizar entregas funcionales, para

que de esa manera los requerimientos vayan surgiendo a medida que se le agreguen más funcionalidades al

desarrollo del software.

Scrum será la metodología a utilizar en el proyecto, dado que la empresa posee poca experiencia con

desarrollo de software se hace más útil entregar una versión funcional al final de cada sprint, donde los

encargados puedan agregar sus requerimientos de una forma más clara y precisa.

5.1.5 BPMN

La notación BPMN especifica el proceso de negocio en un diagrama en el que es fácil de leer tanto para los

usuarios técnicos como para los usuarios de negocios. Es intuitivo y permite la representación de los detalles

complejos del proceso. BPMN sirve como un lenguaje estándar, poniendo fin a la falta de comunicación

entre el modelado de procesos y su ejecución. Por esta razón, se considera actualmente la lengua franca

para la comunicación en el mundo de los negocios [10].

BPMN es una herramienta útil para definir procesos de negocio, se utilizará para la definición del proceso

de inventario en la empresa Cosdy S.A.S ya que su modelo actual no está bien definido.

5.1.6 Apache Tomcat

Apache Tomcat, el servidor web usado en tradicionalmente para proyectos Java por su implementación de

servlets o páginas JSP, es otra de las aplicaciones que podemos desplegar fácilmente en los Servidores

Cloud de Arsys desde el Catálogo de Aplicaciones.

Page 13: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Apache Tomcat (o, sencillamente, Tomcat) es un contenedor de servlets que se puede usar para compilar y

ejecutar aplicaciones web realizadas en Java. Implementa y da soporte tanto a servlets como a páginas JSP

(Java Server Pages) o Java Sockets. Además, Tomcat es compatible con otras tecnologías como Java

Expression Language y Java WebSocket, del ecosistema Java.

Tomcat puede funcionar de manera autónoma como motor de aplicaciones web desarrolladas con Java,

aunque habitualmente se usa en combinación con otros productos como el servidor web Apache, para dar

un mayor soporte a tecnologías y aumentar sus características.

Tomcat en Servidores Cloud tomcatstack-stack: La instalación de Tomcat en la Nube en nuestros

Servidores Cloud se hace de manera realmente rápida. En pocos minutos se disponen de las últimas

versiones de los programas y librerías necesarias para desarrollar y, además, nos ahorra el tiempo que

tendríamos que dedicar a configurar todo el software para trabajar entre sí. Su actualización es también

sencilla, cuando surge cualquier nueva versión o update de seguridad de los programas involucrados.

Al contar con un servidor web Apache para trabajar junto con Tomcat, podemos asegurarnos una completa

gama de posibilidades de este potente servidor. La base de datos instalada es MySQL, pero se puede

perfectamente instalar cualquier otro sistema gestor de nuestra preferencia, como Oracle o PostgreSQL.

Además, la Nube nos garantiza la mayor escalabilidad y el control de gasto. Es posible comenzar con una

máquina con el mínimo de recursos necesarios y, sobre el mismo Servidor Cloud, aumentar su capacidad

cuando sea necesario soportar un alto tráfico. En resumen, podremos comenzar con un servidor pequeño y

luego ampliarlo, ahorrando la necesidad de realizar migraciones cuando el servidor se quede pequeño. [15].

5.1.7 Css

Es un lenguaje de diseño gráfico para definir y crear la presentación de un documento estructurado escrito

en un lenguaje de marcado. Es muy usado para establecer el diseño visual de los documentos web, e

interfaces de usuario escritas en HTML o XHTML; el lenguaje puede ser aplicado a cualquier documento

XML, incluyendo XHTML, SVG, XUL, RSS, etcétera. Te puede ayudar a crear tu propio sitio web. Junto

con HTML y JavaScript, CSS es una tecnología usada por muchos sitios web para crear páginas visualmente

atractivas, interfaces de usuario para aplicaciones web y GUIs para muchas aplicaciones móviles (como

Firefox OS).

CSS está diseñado principalmente para marcar la separación del contenido del documento y la forma de

presentación de este, características tales como las capas o layouts, los colores y las fuentes. Esta separación

busca mejorar la accesibilidad del documento, proveer más flexibilidad y control en la especificación de

características presentacionales, permitir que varios documentos HTML compartan un mismo estilo usando

una sola hoja de estilos separada en un archivo .css, y reducir la complejidad y la repetición de código en

la estructura del documento [16].

Page 14: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

5.1.8 Bootstrap

Bootstrap es una biblioteca multiplataforma o conjunto de herramientas de código abierto para diseño de

sitios y aplicaciones web. Contiene plantillas de diseño con tipografía, formularios, botones, cuadros,

menús de navegación y otros elementos de diseño basado en HTML y CSS, así como extensiones de

JavaScript adicionales. A diferencia de muchos frameworks web, solo se ocupa del desarrollo front-end.

Bootstrap, originalmente llamado Blueprint de Twitter, fue desarrollado por Mark Otto y Jacob Thornton

de Twitter, como un marco de trabajo (framework) para fomentar la consistencia entre las herramientas

internas. Antes de Bootstrap, se usaron varias bibliotecas para el desarrollo de interfaces de usuario, lo que

generó inconsistencias y una gran carga de trabajo en su mantenimiento. [17]

5.1.9 Eclipse

Eclipse es una plataforma de software compuesto por un conjunto de herramientas de programación de

código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente

Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma,

típicamente ha sido usada para desarrollar entornos de desarrollo integrados (del inglés IDE), como el IDE

de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de

Eclipse (y que son usados también para desarrollar el mismo Eclipse).

Eclipse es también una comunidad de usuarios, extendiendo constantemente las áreas de aplicación

cubiertas. Un ejemplo es el recientemente creado Eclipse Modeling Project, cubriendo casi todas las áreas

de Model Driven Engineering.

Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para

VisualAge. Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente sin

ánimo de lucro que fomenta una comunidad de código abierto y un conjunto de productos complementarios,

capacidades y servicios.

Eclipse fue liberado originalmente bajo la Common Public License, pero después fue re-licenciado bajo la

Eclipse Public License. La Free Software Foundation ha dicho que ambas licencias son licencias de

software libre, pero son incompatibles con Licencia pública general de GNU (GNU GPL) [18].

El SDK de Eclipse incluye las herramientas de desarrollo de Java, ofreciendo un IDE con un compilador

de Java interno y un modelo completo de los archivos fuente de Java. Esto permite técnicas avanzadas de

refactorización y análisis de código. Mediante diversos plugins estas herramientas están también

disponibles para otros lenguajes como C/C++ (Eclipse CDT) y en la medida de lo posible para lenguajes

de script no tipados como PHP o Javascript. El IDE también hace uso de un espacio de trabajo, en este caso

un grupo de metadatos en un espacio para archivos planos, permitiendo modificaciones externas a los

archivos. Además dispone de un Editor de texto con un analizador sintáctico. La compilación es en

Page 15: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

tiempo real. Tiene pruebas unitarias con JUnit, control de versiones con CVS, integración con Ant,

asistentes (wizards) para creación de proyectos, clases, test, etc., y refactorización[19].

5.1.10 Python Dash

Escrito sobre Flask, Plotly.js y React.js, Dash es un framework de usuario para crear aplicaciones web

analíticas interactivas para la visualización de datos en Python puro o R. Proporciona cientos de tablas,

gráficos y controles de interfaz de usuario, por lo que se pueden construir aplicaciones analíticas altamente

personalizadas en sólo unas pocas líneas de código.

A través de un par de patrones simples, Dash abstrae todas las tecnologías y protocolos que se requieren

para construir una aplicación interactiva basada en la web. Es tan simple que es posible construir una

interfaz de usuario alrededor de un código en una tarde. Las aplicaciones de Dash se muestran en el

navegador web. Se pueden desplegar fácilmente y compartirlas a través de URLs. [20]

6 Marco metodológico

6.1 Metodología del desarrollo

6.1.2 Población

El desarrollo del producto de software para la gestión de inventarios será utilizado por el personal de la

empresa LABORATORIO DE COSMETICOS COSDY S.A.S, especialmente a los encargados del área de

producción, siendo el jefe de producción el administrador del sistema.

Adicionalmente el jefe de producción hará el rol de Scrum Master, y parte de Product owner ya que es el

representante de la empresa y por ende el que velará por sus intereses, el pasante hará parte del rol de

Product Owner ya que deberá ayudar a formar el product backloy será el Team que llevará a cabo las

historias de usuario en cada sprint.

6.1.3 Procedimiento

Para el desarrollo del software fue necesario estandarizar el proceso de manejo de inventarios, tal proceso

se realizará usando BPMN y se tuvo en cuenta el marco procedimental de Scrum, estos procesos son

explicados a continuación:

6.1.3.1 Etapa de definición de proceso de inventario:

Page 16: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Esta etapa permite la elaboración del proceso de manejo de inventario de la empresa el cual como se indicó

anteriormente fue realizado usando pautas de BPMN, en primer lugar, sólo se utilizó el proceso BPA para

definir el proceso de inventario y sus límites. No se tuvo en cuenta los procesos posteriores de BPMN ya

que están enfocados en la optimización.

6.1.3.2 Etapa de product backlog:

Una vez el proceso de inventarios de la empresa fue definido se procedió a realizar una reunión con los

involucrados en el proceso de inventarios para armar el product backlog, además de contar con una

capacitación sobre la elaboración de las historias de usuario.

6.1.3.3 Etapa de release backlog:

Una vez conformado en su totalidad el product backlog se procedió a filtrar aquellas historias de usuario en

niveles de prioridad, teniendo en cuenta dificultad, tiempo de implementación e importancia vital para el

aplicativo. Esta etapa finalizó con la clasificación mediante asignación de historias de usuario a los sprints.

6.1.3.4 Etapa de Sprints:

Es en esta etapa donde el desarrollo del aplicativo se hizo, consiste en un grupo de historias de usuario que

fueron agrupados para desarrollarse en un lapso de tiempo promedio de 15 días cada uno, para que de esta

manera se generarán entregas periódicas con funcionalidades y mejoras adicionadas, y concluyó con un

software entregable. Periódicamente se hicieron reuniones con el jefe de producción y el gerente para

entregar el resultado de cada sprint, para recoger sugerencias y modificaciones sujetas a las necesidades

que surgieron.

6.1.3.5 Etapa de pruebas o verificación y pruebas:

Esta etapa consiste en pruebas que corroboraron que el aplicativo es totalmente funcional, en términos de

funcionalidades y efectividad, se corrigieron errores, tanto en funcionalidades como en diseño que dio como

resultado un proyecto beta entregable.

6.1.3.6 Etapa de implementación

Consistió en la entrega del producto a LABORATORIO DE COSMETICOS COSDY.SAS que contiene el

código fuente y manual de usuario.

Page 17: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

6.2 Metodología de la ingeniería

El diseño y desarrollo de este software, contempló usar entornos tanto móviles como web, por ello se

tuvieron en cuenta las limitaciones de recursos a los que se puede llegar a enfrentar, como memoria y

procesamiento. Por ende, este aplicativo contempló dentro de su diseño utilizar la menor cantidad de

procesos posibles, ocupar lo menos posible la memoria RAM, ser los más liviana posible en espacio en

disco rígido y contar con procesos de despliegue y mantenimiento [12]. Las metodologías ágiles (AUP) en

tiempos recientes se han implementado en aplicaciones web y es apropiado para entornos móviles como se

indica en [13]. En el presente documento se plasmará un caso práctico del uso de la metodología ágil

SCRUM en el desarrollo de un software que permita gestionar el inventario de la empresa LABORATORIO

DE COSMETICOS COSDY S.AS. Para garantizar una mayor calidad y mantenibilidad en el software se

implementarán algunos diseños UML que sean de apoyo en la implementación, y estos no violarán el

principio del manifiesto ágil [14].

7 Recursos

Según lo acordado durante esta pasantía, con la empresa LABORATORIO DE COSMETICOS

COSDY.SAS. No se obtuvo sueldo por la elaboración de este software, sin embargo, todos los gastos fueron

cubiertos por la empresa, incluyendo alimentación, transporte y las prestaciones sociales.

Hay algunos recursos intrínsecos como el seguro de estudiante que brinda la universidad, salarios a docente

revisor y demás que no se tuvieron en cuenta al no ser directamente relacionados con la pasantía. A

continuación, se muestra una tabla con la información a detalle de estos recursos:

Page 18: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Figura 2. Recursos. Fuente: Propia

8 Cronograma

A continuación, se muestra una tabla con el calendario dispuesto para el trabajo realizado

Tabla 1. Cronograma fuente: propia

En la tabla se especifica la distribución de las actividades en el tiempo estipulado, que es de 12 semanas en

las cuales:

Page 19: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

● Al proceso de elaboración del estándar de proceso de manejo de inventario se le asignó un tiempo

estimado de dos semanas, que comprende desde el 10 de Julio al 24 de Julio del presente año.

● Para el desarrollo del Product backlog y el Release Backlog una semana, que comprende del 24 de

Julio hasta el 31 de Julio del 2019.

● Se realizaron en total cuatro (4) sprints de aproximadamente dos semanas cada uno, el lapso de

tiempo de los sprint comprende del 31 de Julio al 4 de septiembre, luego hubo una suspensión, y

para terminar el tiempo restante se reanudó del 12 al 19 de noviembre.

● Para las etapas de prueba y verificación, que comprende la corrección de errores detectados en el

proceso y realizar todos los cambios necesarios para pasar el proyecto de local a servidor, se asignó

una semana de tiempo para desarrollarlo, que comprende del 26 al 3 de diciembre.

● Etapa implementación: esta etapa comprende la elaboración de los manuales, la revisión del

contrato respecto al desarrollo conseguido del software, una capacitación del uso de la herramienta

y la entrega del producto según lo estipulado en el contrato, para lo cual se dio una semana que

comprende del 3 al 10 de diciembre, dando así fin al contrato.

9 Resultados y Discusiones

Se logró utilizar el modelo SCRUM para la construcción del aplicativo, usando como apoyo para la

construcción del diseño algunos de los modelos de UML.

Utilizando prácticas BPMN se realizó el proceso de inventarios de la empresa el cuál quedo plasmado en

un diagrama utilizando notación BPMN, el cual define el alcance de los inventarios desde el momento en

que se recibe un pedido hasta el momento en que se despachan los mismos, especificando los roles de las

personas que interactúan directamente con el aplicativo móvil y velando porque la funcionalidad que brinda

el mismo concuerde con cada rol.

Se desarrolló un aplicativo en lenguaje java, en su versión IEE 8, utilizando una base de datos relacional

implementada mediante postgreSQL para el desarrollo de los inventarios de la empresa Laboratorios de

cosméticos Cosdy S.A.S, aplicando un diseño responsivo proporcionado por la librería Bootsrap, el

aplicativo utiliza el modelo de diseño MVC, además de cumplir con parámetros transaccionales para evitar

el consumo excesivo de recursos al realizar peticiones a la base de datos, por ende cumple con la ligereza

necesaria para que el proyecto funcione adecuadamente en teléfonos móviles.

Para proporcionar compatibilidad con entornos móviles, se optó por hacer un diseño responsivo en lugar

de realizar un desarrollo completo para utilizar un aplicó propiamente de una plataforma móvil.

Page 20: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

9.1 Definición de proceso de inventarios

Como se indicó anteriormente, la empresa LABORATORIO DE COSMETICOS COSDY S.A.S. no

contaba con un proceso de inventario definido lo que era un inconveniente a la hora de crear las historias

de usuario para el aplicativo, por esta razón, la primera etapa del desarrollo del aplicativo consiste en el uso

de BPMN para definir el proceso de inventarios dentro de la empresa. Para obtener el resultado final, se

hizo un modelo base y se programó una reunión con el jefe de producción y con el gerente de la empresa

donde se explicó a detalle la propuesta generada, ellos durante la reunión hicieron las correcciones y

sugerencias. A continuación, se mostrará el proceso de inventario resultante:

Nombre del Proceso: proceso de realización de inventarios de Cosdy S.A.S.

Participantes: Producción, ventas, despacho de pedidos, proveedores.

Definición: Actividades que la empresa realiza antes de registrar el inventario a la base de datos.

Descripción: El área de ventas genera la orden de pedidos del día, Despacho de pedidos confirma la

recepción de las órdenes de pedido y prosigue a despacharlos, si hay producto suficiente simplemente

despacha los pedidos, de lo contrario genera una orden de producción, el área de producción verifica si

tiene producto semielaborado, de tenerlo lo acondiciona y lo ubica en stock, de lo contrario lo fabrica y lo

acondiciona después para finalmente ubicarlo en stock. Cabe destacar que en cualquier momento puede

llegar los proveedores a dejar materia prima, de ser así es responsabilidad del área de producción almacenar

la materia prima en bodega, llenar formularios relacionados con control de calidad y notificar las nuevas

unidades de materia prima disponible, una vez termina la totalidad de los pedidos del día, fabricación llena

un formato informando la cantidad de materia prima que aún hay en bodega, y el área de despacho de

pedidos llena el formato informando la cantidad de producto terminado que hay en la parte de stock, ambos

formatos son entregados al jefe de producción quien se encargará de actualizar los datos del sistema

teniendo en cuenta los datos ofrecidos por los formatos.

Page 21: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Figura 3. Proceso de inventario BPMN. Fuente: Propia ,2019.

9.2 Etapa product backlog

Esta etapa inicia con una reunión en donde se realizó una capacitación breve en donde estuvo presente el

gerente, el jefe de producción, un auxiliar de planta y un despachador de pedidos, la capacitación consistió

en tres partes, la primera tenía que ver con la introducción a las historias de usuario, en donde se explicó

que era, como se hacía y para que se hacía, la segunda parte de la capacitación se enfocó en la creación de

usuarios, en donde se realizaron unos bocetos en hojas sueltas, y la tercera parte consistió en el pulimiento

de las historias de usuario. El resultado de esta reunión fue:

La primera historia de usuario es generada por el jefe de producción (figura 4), quién es el encargado de

solicitar materia prima cuando hay poca y de controlar la cantidad de existencias de producto terminado en

stock, por tanto, su petición se relaciona con la posibilidad de ver, crear, eliminar y editar registros

relacionados con los diferentes productos de materia prima así como su proveedor asociado para facilitar

el contacto con los mismos, se acordó de forma unánime que la vista debe mostrar de forma clara las

cantidades.

Page 22: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Figura 4. Primera historia de usuario Fuente: Propia ,2019

La Segunda historia de usuario (Figura 5) es generada por el Despachador de pedidos quién es el encargado

de recibir los pedidos que dejan los vendedores, dependiendo de la cantidad de pedidos del día se encarga

de generar órdenes de producción a planta. Por lo tanto, se hace indispensable que pueda ver de la forma

más simple la cantidad de producto terminado.

Figura 5. Segunda historia de usuario Fuente: Propia ,2019

La Tercera historia de usuario (Figura 6) es generada por el jefe de producción, quién es el encargado de

controlar la cantidad de existencias de producto terminado en stock. Por lo tanto, su petición se relaciona

con la posibilidad de ver, crear, eliminar y editar registros relacionados con los diferentes productos

Page 23: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

terminados, se acordó de forma unánime que la vista debe mostrar de forma clara las cantidades de producto

terminado.

Figura 6. Tercera historia de usuario Fuente: Propia ,2019

La Cuarta historia de usuario (Figura 7) es generada por la gerente de la empresa, en donde resaltó la

importancia de poder ver en tiempo real las cantidades tanto de materia prima como de producto

terminado para ser usado en la toma de decisiones durante las reuniones. Por ende, la interfaz gráfica debe

ser muy amigable y de fácil interpretación.

Figura 7 Tercera historia de usuario Fuente: Propia ,2019

Durante la reunión se dejaron claras algunas pautas para hacer más fácil el desarrollo del proyecto,

algunas de ellas son:

Page 24: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

● Las historias de usuario generadas en la reunión no serán las únicas que se harán durante el

proyecto, luego de la primera entrega se realizará otra reunión donde se busca pulir más el diseño

del sistema, de tal forma que se adapte de la mejor manera posible.

● El límite del proyecto está sujeto a los tiempos especificados en el cronograma, puesto que la

fecha de entrega es inamovible se tratará en lo posible de respetarla.

● Las primeras historias de usuario son muy generales, ya que hace falta madurar la idea tanto por

parte del desarrollo, como por parte del cliente.

● Algunas historias de usuario no fueron mostradas debido a que no son viables para realizar un

primer modelo y/o no se relacionan directamente con la funcionalidad del software, que es la

gestión de inventarios.

9.3 Etapa release backlog

Una vez se clasificaron las historias de usuario, se prosiguió a documentarlas y a desglosarlas en actividades

y el resultado es el siguiente:

Código Descripción Criterios de aceptación

HU-01

Jefe de producción

Función de gestión de materias

primas

(1,1A)

Como jefe de producción

quiero una vista que me permita

ver la cantidad de materia prima

y que permita hacer

modificaciones como crear,

modificar y eliminar registros,

con el fin de hacer

adecuadamente el proceso de

inventarios en la empresa y con

ello tener el control de la

producción en la planta.

Para que esta función de gestión

de materias primas sea

aceptada, esta debe poder

mostrar de manera clara cada

uno de los productos, junto a su

información pertinente como lo

puede ser el nombre, código,

descripción, proveedor,

presentación y demás

información que pueda ser de

interés.

También debe permitir

modificar los registros, para así

tener toda la información al día.

HU-02

Jefe de producción

Función de gestión de producto

terminado

(4-4A)

Como jefe de producción

quiero una vista que permita ver

la cantidad de producto

terminado, en stock, que hay

disponible en el momento, y

que tenga la posibilidad de

Para que esta función de gestión

de producto terminado sea

aceptada, debe poder contar con

una interfaz clara, donde se

puedan ver cada uno de los

productos que se manejan

Page 25: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

crear, modificar y eliminar

datos del inventario, con el fin

de hacer un control correcto del

despacho de pedidos en la

empresa.

dentro de la empresa, sus

diferentes presentaciones

demás información de interés,

como descripción cantidad

entre otras. También debe

permitir modificar información

relacionada con los productos

terminados, para que de esta

manera la información siempre

sea lo más precisa posible.

HU-03

Gerente

Vista

inventario(Administrador)

(5-5A)

Como gerente de la empresa

quiero una vista que me permita

ver toda la información

relacionada con el inventario

tanto de materias primas como

de producto terminado, para así

poder tener información

completa, precisa y completa,

para poder analizar el estado de

la empresa y tomar decisiones

determinantes en la empresa.

Para que la vista del inventario

de la gerente sea aceptada esta

debe desplegar toda la

información de manera clara y

concisa, del inventario de

materias primas y productos

terminados. También debe

mostrar la fecha de

actualización de la información

de ambos inventarios.

HU-04

Gerente

Aspectos visuales

(5-5A)

Como gerente quiero que las

distintas vistas de la

herramienta cuenten con el

patrón de colores insignia de la

empresa, que muestre de

manera clara el logo y que

aparezca algunos datos como

los números de extensión

internos a las distintas áreas de

la empresa, para que sea

coherente con las demás

herramientas de software que

hay en la empresa.

la vista debe contar con una

interfaz que vaya acorde con los

colores insignia de la empresa

(magenta, blanco y morado) y

esta vista debe, en lo posible

desplegarse en entornos

móviles.

HU-05

Despachador de pedidos

Vista inventario (Simplificado)

(3-3A)

Como Despachador de pedidos

quiero una vista que me permita

ver rápidamente la cantidad de

productos que hay en stock para

poder cumplir con los pedidos

generados por los diferentes

vendedores de la empresa.

Para que la vista del inventario

del área de despacho de pedidos

sea aceptada esta debe

desplegar toda la información

de manera clara y concisa, del

inventario de productos

terminados. En lo posible debe

mostrar los productos de forma

que se pueda interpretar la

información de forma clara y en

el menor tiempo posible aun si

se pierde calidad visual

(estética). Tabla 2 Release Backlog, Fuente: Propia

Page 26: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

9.4 Etapa Sprints

9.4.1. Sprint 0:

Sprint planning

Este sprint es un caso particular, puesto que no será entregado un modelo funcional, se realizará el modelo

de datos para el aplicativo, la arquitectura que maneja el aplicativo y se determinó el cómo se implementó

el servidor.

El desarrollo del Sprint concluye con una exhibición de la estructura de la base de datos impresa en papel,

en donde se aclararon unos puntos importantes y aumentaron los requerimientos del usuario, el más

importante se relaciona con la forma de mostrar la información de la unidad de medida de los productos,

ya que en un principio se concibió que se mostrará según el estándar mundial de unidades. Por ejemplo, si

el producto se medía por kilos, se representaba en el sistema como Kg, sin embargo, el software contable

que maneja la empresa tiene una nomenclatura definida por un código numérico. Por tal motivo, se creó

una tabla específica para manejar las unidades de medida, de tal forma que en caso que la codificación

cambie, el software se adapte fácilmente a estos cambios haciendo ligeras modificaciones técnicas.

Adicionalmente, solicitaron la creación de una tabla que permitiera almacenar información de los

proveedores, dicha tabla tiene propósitos de futuras funcionalidades. Como resultado el modelo de datos

quedó de la siguiente manera:

Page 27: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Fig. 8. Modelo de bases de datos, Fuente: propia

Proveedores

Tabla encargada de brindar información acerca del proveedor de los productos en caso de ser una materia

prima, donde se almacenará información como nombre, una descripción y el número de teléfono, como se

mencionó anteriormente, esta tabla no interviene directamente con el proceso de inventario, sin embargo,

fue agregada a petición de los usuarios ya que planean utilizarla para futuras aplicaciones agregadas al

software.

DetProvporProducto

Tabla de rompimiento donde se encuentra el detalle de los proveedores con el producto correspondiente

Producto

Tabla principal del aplicativo, contiene toda la información relacionada con los productos que serán

discriminados por tipo, que pueden ser materia prima y producto terminado.

Page 28: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

TipProducto

Se agregó esta tabla para manejar, si se desean más tipos de productos aparte de materias primas y productos

terminados, esto surge a partir del deseo a largo plazo de la empresa de realizar un control sobre productos

de pruebas, realizadas por el departamento de química del laboratorio.

Unimedida

Tabla encargada de almacenar los códigos y equivalencias de las unidades de medida, realizada a petición

de los usuarios.

Usuario

Tabla encargada de manejar los perfiles de los usuarios, esto con el fin de determinar las funcionalidades

que estarán disponibles para cada uno de los usuarios.

Perfil

Tabla encargada de almacenar los roles de usuario definidos para la plataforma.

Usuperfil

Tabla de rompimiento, encargada de asignar un rol de usuario a los diferentes usuarios disponibles en el

sistema.

Se realizaron pequeñas pruebas para determinar el IDE a utilizar y se inclinó por utilizar Eclipse IDE en su

versión jee 2019 y en ella implementar el mvc (modelo vista controlador).

Fig. 9. MVC. Fuente: propia

En donde:

Modelo

Paquete que incluye aquellas clases relacionadas con funciones definidas como requerimientos funcionales,

tales como la autenticación, consultas y reportes

Page 29: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Controlador

Incluye clases encargadas de realizar comunicación entre diferentes elementos de software como lo es la

conexión a la base de datos y muchas de las consultas a la misma.

Vista

El paquete vista no existe en el término literal de la palabra, sin embargo, los elementos de la vista se

contienen en el web content que se conforma de los Servet del aplicativo, los cuales juntos con imágenes,

scripts y hojas de estilo determinan la estructura de cada una de las páginas del aplicativo.

Librerías

Se usan principalmente tres, una para la conexión con postgreSQL, otra con ApacheTomcat y otra con

Bootstrap, el cual será la librería utilizada para realizar el diseño responsivo. El uso de eclipse también se

debe a la facilidad para generar archivos en formato war el cual será usado por tomcat para subir el código

compilado del aplicativo usando el manager de Tomcat.

Fig. 10. Tomcat Manager. Fuente: Propia

El Sprint terminó con la presentación de todo lo anterior mencionado y tomó un tiempo de dos semanas,

donde conocer los procesos de la empresa fue un factor clave para determinar los diseños mostrados.

Page 30: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

9.4.2. Sprint 1:

Sprint planning

En la reunión, se acordó realizar todas las ventanas por las que los diversos usuarios navegarán por el

aplicativo, para ello se definieron unos perfiles de usuario que son los siguientes:

ROL DESCRIPCIÓN

Administrador Es el encargado de crear usuarios y definirles un

perfil según sea la necesidad, también puede

eliminar usuarios.

Ejecutivo Podrá observar los inventarios tanto de materias

primas como de producto terminado, además de

contar con un informe sencillo que le permita

analizar los datos y tomar decisiones.

Jefe de producción Es el único rol con la funcionalidad de modificar

los inventarios de producto terminado y materia

prima.

Despachador de pedidos Tendrá una vista sencilla al inventario de

producto terminado

Se crearon unas plantillas para los tipos más comunes de páginas que se estimaron se iban a usar y son:

Pantalla Login

Es la pantalla inicial del sistema de inventarios, como es común en este tipo de pantallas solicitará un

usuario y una contraseña.

Fig. 11 Pantalla de inicio, Fuente: propia.

Page 31: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Pantallas Menú

Cuando un usuario tiene un perfil que tiene asignadas varias funcionalidades, estas serán seleccionables

mediante un menú

Fig. 12 Pantalla de menú, Fuente: propia.

Pantallas Inventario

Estas pantallas permitirán ver una tabla con los productos para el inventario en cuestión. Adicionalmente,

permite mediante botones acceder a las funcionalidades de añadir, editar, borrar y desplegar reporte, según

se defina en el perfil para el usuario, además podrá contar con un botón para salir de la vista de inventarios.

Fig. 13 Pantalla inventarios, Fuente: propia.

Page 32: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Pantallas para adicionar, editar, borrar registros

Estas ventanas contienen un formulario para obtener los datos necesarios para adicionar, editar, eliminar

registros de la base de datos de los inventarios

Fig. 14 Pantalla de formularios, Fuente: propia.

Page 33: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Teniendo en cuenta las plantillas más comunes, se prosiguió a armar el mapa de navegación para cada uno

de los usuarios, esto con el fin de controlar y delimitar los escenarios de comportamiento de los usuarios.

De esta manera el mapa de navegación para los distintos usuarios es:

Administrador

Fig. 15 Vista de navegación Fuente: propia.

Page 34: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Ejecutivo

Fig. 16 Vista de navegación ejecutiva Fuente: propia.

Page 35: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Jefe de producción

Fig. 17 Vista de navegación jefe de usuario Fuente: propia.

Despachador de pedidos

Fig. 18 Vista de navegación Fuente: propia.

El Sprint terminó con la presentación del programa con el mapa de navegación, durante la presentación se

sugirió modificar la forma de eliminar un registro, ya que actualmente eliminaba un registro

Page 36: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

inmediatamente se presionaba un botón, la propuesta del usuario es mostrar los datos del registro a eliminar

antes de ser eliminado, y un mensaje de advertencia para confirmar que se desea eliminar el registro, esto

con el fin de evitar eliminar un registro por accidente. Además, el desarrollo del reporte administrativo el

cual para la fecha aún no estaba en desarrollo.

Este Sprint tuvo una duración de dos semanas.

9.4.3. Sprint 2:

Sprint Planning

En la reunión se acordó dar solución a las sugerencias relacionadas con la forma de eliminar un registro,

además se acordó aplicarle diseño a la plataforma. Como se indicó en las historias de usuario, el diseño del

sistema debe tener una combinación de colores similar a la de la página web de la empresa. Así como

incorporar el Login, ya que hasta el momento no se había implementado.

Siguiendo el orden de ventanas que se estipuló se iban a usar, aplicando formato y diseño quedaron de la

siguiente manera:

Pantalla Login

A petición de los usuarios resultantes de la reunión del Sprint Planning, se incorpora el logo de la empresa

y se centra los componentes del formulario, el resultado es el siguiente:

Fig. 19 Login de usuario con diseño Fuente: propia.

Page 37: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Pantallas Menú

Para mejorar la experiencia de usuario se optó por dejar un tamaño considerable a los botones que

componen los menús, centrados tal como pasa con los componentes del Login.

Fig. 20 Menú con diseño Fuente: propia.

Pantallas Inventario

Es en estas pantallas donde se realiza la mayor cantidad de cambios, se añade un formato a las tablas para

que se vean organizadas, se reemplazan enlaces para dirigirse a las funciones de agregar, modificar y

eliminar registros por botones con colores característicos, que mejoran de manera significativa la

experiencia de usuario y se configuraron las tablas para que aparezca un scrollbar para evitar un tamaño

excesivo de las tablas de inventarios (figura 21)

Page 38: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Fig. 21 Inventario con diseño Fuente: propia.

Pantallas para adicionar, editar y borrar registros

Para los formularios de adición, edición y eliminación de registros, se optó por una configuración centrada

y muy simple, con cajones de gran tamaño, así como los botones, esto para facilitar así su diligenciamiento.

Fig. 22 Login de usuario con diseño Fuente: propia.

Page 39: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

El Sprint terminó con la presentación del programa con la interfaz implementada, durante la presentación

se sugirió añadir unos iconos en los cajones del Login para mejorar su estética, además de añadir más alertas

cuando el usuario agregue, modifique o elimine un registro, además de agregar un encabezado en algunas

de las páginas ya que el logo y nombre de la empresa aparecen muy poco, el diseño en su mayoría fue

aprobado por los miembros de la reunión además de su navegabilidad, el tiempo de desarrollo del Sprint

fue de 15 días como se acordó.

9.4.4. Sprint 3:

Sprint Planning

Ésta fue la última reunión de este tipo, en el que se incorporaron las sugerencias dadas en la entrega del

anterior Sprint, además de incorporar la funcionalidad del reporte ejecutivo. De esta manera se obtuvo:

Pantalla Login

Se agregaron los iconos solicitados y se añadió una ligera transparencia en el área morada.

Fig. 23 Login de usuario con diseño de iconos Fuente: propia.

Pantallas de agregar y eliminar usuario

Se agregaron las alertas al añadir un usuario, así como para eliminarlos, donde se debe hacer clic en aceptar,

de lo contrario no efectuara cambio alguno, esto con el fin de evitar accidentes.

Page 40: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Fig. 24 Alerta de añadir usuario Fuente: propia.

Fig. 25 Alerta de Eliminar usuario Fuente: propia.

Pantallas de Adicionar, Modificar, y Eliminar

Aplica para las materias primas y los productos terminados, se generaron alertas para notificar la correcta

inserción de un producto, y una alerta en caso de editar y eliminar, estas últimas sólo ejecutan la acción si

se da clic en aceptar.

Fig. 26 Alerta de Añadir materia prima Fuente: propia.

Page 41: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Fig. 27 Alerta de materia prima Fuente: propia.

Fig. 28 Alerta de Eliminar materia prima Fuente: propia.

Pantallas Inventario

Se agregó un encabezado donde aparece el nombre de la empresa, y queda disponibilidad de añadir

información de contacto, además del logo.

Fig. 29 vista materias primas con encabezado Fuente: propia.

Page 42: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

También fue removido el Scrollbar configurado para las tablas, ya que en entornos móviles

generaba conflictos de desplazamiento.

Fig. 30 vista materias primas con encabezado (B) Fuente: propia.

Informe Ejecutivo

Se agregó el informe ejecutivo utilizando el framewok para manipulación y graficación de datos. Dash, de

esta manera se obtuvo un reporte tipo “Dashboard” el cual facilita la visualización de los datos más

relevantes para el sector ejecutivo, como lo es saber qué cantidades hay por producto, qué cantidades hay

disponibles en una determinada presentación, y comparativas sobre cual presenta el mayor volumen de

producción etc.

De esta manera el reporte contiene una serie de gráficas que son:

● Gráfica de torta: en donde se puede visualizar la totalidad de los productos junto a la cantidad total

de unidades disponibles, esta grafica junta todas las unidades de un mismo producto, por lo que

permite mostrar un panorama general del estado de producción actual de la empresa

● Gráfica de barra: esta grafica toma en cuenta los productos más importantes en términos de margen

de ventas, estos son:

o Removedor de esmalte Azul

o Removedor de callos

o Removedor de cutícula

o Dilusor de esmalte

Page 43: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Por defecto, se mostraron las cantidades disponibles de cada producto de los anteriores

mencionados en 30 cc, sin embargo, el reporte cuenta con un filtro que permite seleccionar

cualquiera de las presentaciones existentes.

● Grafica de línea: esta gráfica sirve a manera de comparativo, y permite observar todos los datos

que arroja la gráfica de barras, pero de una forma más panorámica, puesto que muestra las

cantidades por cada uno de los valores de los productos mencionados.

Dicho reporte se puede visualizar en cualquier navegador y no necesita muchos recursos del sistema. Dado

que fue desarrollado en Python, se usaron herramientas para la trata de información como pandas, el cual

permite extraer información directamente de la base de datos y almacenarlo en un dataframe, de forma que

el consumo de memoria y el tiempo en red sea el menor posible. También se utilizó Flask, una herramienta

muy útil para gestionar aplicativos webs. Por último se utiliza una conexión a la base de datos, brindada

por psycogp, un gestor de conexiones muy liviano pero poderoso que permite hacer transacciones de

grandes volúmenes de información, sin mayores complicaciones. Todas las herramientas usadas se

implementaron, además, pensando en el crecimiento de la empresa, dado que un desarrollador futuro, no

tendrá problemas en extender el reporte puesto que todas las herramientas, incluida Python cuentan con una

gran comunidad que día a día facilita más la labor de implementar todas las herramientas en un solo sistema.

Page 44: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Fig. 31 Vista Reporte ejecutivo Fuente: propia.

Page 45: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

El Sprint terminó con la presentación del programa con los cambios implementados, y la función de

informe ejecutivo funcionando, además de incorporar la función de Login, de esta manera concluye la

etapa de Sprint, aclarando que hay muchos aspectos mejorables y que se verán a detalle más adelante.

9.5 Etapa de pruebas o verificación y pruebas:

Objetivo: Verificar que el software de gestión de inventarios para la empresa laboratorio de cosméticos

Cosdy cumple con los requerimientos funcionales definidos según las historias de usuario elaboradas

previamente.

FUNCIONALIDAD CUMPLE NO

CUMPLE

Observaciones/Referencias

1. Función para agregar y eliminar

usuarios

Descripción: el sistema permite agregar

y eliminar usuarios

Operación: acceder a la función

“Agregar Usuarios” y “Eliminar

Usuarios”.

Resultado: el sistema agrega y elimina

usuarios, generando las respectivas

alertas para mejorar la interfaz de

usuario.

X

2. Función para visualizar el

inventario ejecutivo

Descripción: el sistema permite

visualizar tanto el inventario de

materias primas como de producto

terminado.

Operación: acceder al perfil ejecutivo y

debe aparecer una vista que contiene la

vista de inventario ejecutivo

Resultado: se despliega a manera de

tabla los elementos de los inventarios de

materia prima y producto terminado.

X

3. Función para gestionar materia

prima

X

Page 46: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Descripción: el sistema permite

visualizar el inventario de materias

primas a manera de tabla, junto a los

botones que permiten modificar el

inventario.

Operación: acceder al menú del perfil

jefe de producción y seleccionar

“Inventario materias primas”

Resultado: los productos del inventario

de materia prima se mostrarán, junto a

unos botones que permiten agregar, y

editar y eliminar cada uno de los

productos del inventario de materias

primas

4. Función para agregar

productos al inventario de

materia prima.

-Código del producto: por estándar de la

empresa el código debe empezar por MP

seguido de un número consecutivo.

-Descripción: el sistema permite agregar

productos al inventario de materias

primas.

-Operación: acceder a la función

“Agregar materias primas” mediante un

botón ubicado en la función “Gestionar

materias primas”.

-Resultado: despliega la vista “Agregar

materia prima”, en ella se desplegará un

formulario que contiene toda la

información necesaria para adicionar la

materia prima, para ser diligenciado en

los siguientes campos:

-Presentación: campo estrictamente

numérico y en él, se agrega el tamaño o

cantidad en el que viene el producto por

unidad.

X

Page 47: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

- Cantidad: diligenciar la cantidad de

unidades que hay disponibles en área de

producción.

Al dar clic en el botón “Guardar” el

sistema genera un mensaje que indica

que la operación fue exitosa.

5. Función para editar productos al

inventario de la materia prima.

Descripción: el sistema permite editar

productos al inventario de materias

primas.

Operación: acceder a la función “Editar

materias primas” mediante un botón

ubicado en la función “Gestionar

materias primas”, en cada uno de los

registros que allí aparecen.

Resultado: despliega la vista “Editar

materia prima”, en ella se desplegará un

formulario que contiene toda la

información necesaria para editar la

materia prima, con la información que

actualmente tiene el producto, con

opción de modificarse en los siguientes

campos:

-Presentación: campo estrictamente

numérico y en él, se agrega el tamaño o

cantidad en el que viene el producto por

unidad.

- Cantidad: diligenciar la cantidad de

unidades que hay disponibles en área de

producción.

Al dar clic en el botón “Guardar” el

sistema genera un mensaje que indica

que la operación fue exitosa

X

6.Función para eliminar productos

del inventario materias primas.

Descripción: el sistema permite

eliminar productos del inventario de

materias primas.

Operación: acceder a la función

“Eliminar materias primas” mediante un

X

Page 48: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

botón ubicado en la función “Gestionar

materias primas”, en cada uno de los

registros que allí aparecen.

Resultado: despliega la vista “Eliminar

materia prima”, en ella se desplegará un

formulario que contiene toda la

información necesaria para Eliminar la

materia prima, con la información que

actualmente tiene el producto en los

siguientes campos:

-Presentación: campo estrictamente

numérico y en él se agrega el tamaño o

cantidad en el que viene el producto por

unidad.

- Cantidad: diligenciar la cantidad de

unidades que hay disponibles en área de

producción.

Al dar clic en el botón “Eliminar” el

sistema genera una alerta que confirma

la eliminación del producto, si no se da

clic en “Aceptar” el sistema no

eliminará el producto.

7. Función para gestionar productos

terminados

Descripción: el sistema permite

visualizar el inventario de productos

terminados a manera de tabla, junto a los

botones que permiten modificar el

inventario.

Operación: acceder al menú del perfil

jefe de producción y seleccionar

“Inventario producto terminado”

Resultado: los productos del inventario

de producto terminado se mostrarán,

junto a unos botones que permiten

agregar, y editar y eliminar cada uno de

los productos del inventario de

productos terminados.

X

8. Función para agregar productos al

inventario de producto terminado.

X

Page 49: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

-Código del producto: por estándar de la

empresa el código debe empezar por PT

seguido de un número consecutivo.

-Descripción: el sistema permite agregar

productos al inventario de producto

terminado.

-Operación: acceder a la función

“Agregar producto terminado” mediante

un botón ubicado en la función

“Gestionar materias primas”.

-Resultado: despliega la vista “Agregar

materia prima”, en ella se desplegará un

formulario que contiene toda la

información necesaria para adicionar la

materia prima, para ser diligenciado en

los siguientes campos:

-Presentación: campo estrictamente

numérico y en él se agrega el tamaño o

cantidad en el que viene el producto por

unidad.

- Cantidad: diligenciar la cantidad de

unidades que hay disponibles en área de

producción.

Al dar clic en el botón “Guardar” el

sistema genera un mensaje que indica

que la operación fue exitosa.

9. Función para editar productos al

inventario del producto terminado.

Descripción: el sistema permite editar

productos al inventario de productos

terminados.

Operación: acceder a la función “Editar

productos terminados” mediante un

botón ubicado en la función “Gestionar

productos terminados”, en cada uno de

los registros que allí aparecen.

Resultado: despliega la vista “Editar

producto terminado”, en ella se

desplegará un formulario que contiene

toda la información necesaria para

X

Page 50: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

editar el producto terminado, con la

información que actualmente tiene el

producto, con opción de modificarse en

los siguientes campos:

-Presentación: campo estrictamente

numérico y en él se agrega el tamaño o

cantidad en el que viene el producto por

unidad.

- Cantidad: diligenciar la cantidad de

unidades que hay disponibles en área de

producción.

Al dar clic en el botón “Guardar” el

sistema genera un mensaje que indica

que la operación fue exitosa.

10.Función para eliminar productos

del inventario producto terminado.

Descripción: el sistema permite

eliminar productos del inventario de

producto terminado.

Operación: acceder a la función

“Eliminar producto terminado”

mediante un botón ubicado en la función

“Gestionar producto terminado”, en

cada uno de los registros que allí

aparecen.

Resultado: despliega la vista “Eliminar

producto terminado”, en ella se

desplegará un formulario que contiene

toda la información necesaria para

eliminar el producto terminado, con la

información que actualmente tiene el

producto en los siguientes campos:

-Presentación: campo estrictamente

numérico y en él se agrega el tamaño o

cantidad en el que viene el producto por

unidad.

- Cantidad: diligenciar la cantidad de

unidades que hay disponibles en área de

producción.

Al dar clic en el botón “Eliminar” el

sistema genera una alerta que confirma

X

Page 51: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

la eliminación del producto, si no se da

clic en “Aceptar” el sistema no

eliminará el producto.

11.Función para visualizar el

inventario despachador de pedidos.

Descripción: el sistema permite

visualizar el inventario de producto

terminado.

Operación: acceder al perfil ejecutivo y

debe aparecer una vista que contiene la

vista de inventario ejecutivo

Resultado: se despliega a manera de

tabla los elementos de los inventarios

de producto terminado.

X

12. Función para visualizar reporte

ejecutivo.

Descripción: el sistema permite

visualizar un gráfico con información

de producción de los productos más

vendidos, que son:

-Removedor de esmalte (Azul)

-Removedor de cutícula

-Removedor de callos

-Dilusor de esmalte

X

13. Función pantalla inicial.

Descripción: la función permite

ingresar al sistema mediante una

identificación por usuario y contraseña,

con el fin de proporcionar seguridad de

acceso e identificar el tipo de usuario,

para así determinar las funciones del

sistema al que tiene acceso.

X En pruebas móviles, los

iconos dentro de los cajones

de usuario y contraseña se ven

centrados y no en la esquina

izquierda como en entorno de

escritorio.

Realizado por Nombre: Alejandro Díaz Pereira

Aprobado por Nombre: Juan Osorio Cuoto

Fecha 13-Dic-2019

Comentarios:

Tabla 4. Pruebas de calidad. Fuente: Propia

Page 52: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

9.6 Etapa de implementación

El proyecto se montó en un servidor, donde la base de datos y el proyecto en war quedaron alojados en el

mismo server, el enlace de acceso fue proporcionado a los diferentes usuarios de la empresa. Además de

ello, se utilizó el software con supervisión durante una semana para ayudar a los mismos a familiarizarse

con el aplicativo y a su vez para demostrar la eficacia que puede brindar un proceso automatizado frente a

uno manual.

Fue suministrado a la empresa un cd que contiene los manuales técnicos y de usuario del aplicativo, junto

al código fuente.

10 Conclusiones

En conclusión, se logró el desarrollo de un software funcional en una fase beta para la gestión de inventarios,

el cual fue desarrollado en su mayor parte en java, usando JSP, también fueron utilizados lenguajes de

apoyo como Python y Javascript, dicho software permitió mejorar el proceso de inventarios tanto de

materias primas como de producto terminado de la empresa LABORATOROI DE COSMETICOS COSDY

S.A.S. el cuál era el objetivo general.

Adicionalmente, se optó por definir un proceso de inventarios, ya que la empresa LABORATORIO DE

COSMETICOS COSDY S.A.S. no contaba con un proceso claro y documentado, por ende, se obtuvo la

definición del proceso de inventarios y se aprobó con gerencia, departamento de calidad y departamento de

producción previo al desarrollo del aplicativo, cumpliendo así con el primer objetivo específico.

Además, cumpliendo a cabalidad con el tercer objetivo, el diseño del aplicativo fue desarrollado utilizando

una librería llamada Bootstrap que permitió realizar un diseño responsivo, por lo tanto, puede ser utilizado

en entornos móviles o PC.

En resumen, el producto es funcional y cumple aceptablemente con los requerimientos, sin embargo, se

entrega como producto beta con algunas recomendaciones.

11 Recomendaciones

Finalmente, se hacen algunas recomendaciones puesto que el proyecto se entrega como un producto beta,

puesto que como se estableció en las limitaciones los recursos económicos y tecnológicos estaban ligados

directamente con las políticas económicas de la empresa. El proyecto no contó con una gran inversión, sin

embargo, es un producto funcional que solo requerirá algunas mejoras como: mejorar el diseño responsivo

ya que en un entorno móvil algunos componentes se cambian de lugar, afectando la estética del sistema,

aunque sin afectar la parte funcional, diseñar un sistema de ingreso que permita un control más

Page 53: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

personalizado de acceso a la plataforma. Ya que no hay un control en el servidor sobre los accesos, mejorar

la seguridad, ya que es posible acceder a funciones que no están disponibles para un usuario modificando

el enlace, diseñar un informe ejecutivo más avanzado y que se pueda ver en tiempo real.

Mejorar el sistema de alertas que posee el aplicativo al ejecutar una función que realice cambios relevantes

para mejorar la experiencia de usuario, implementar un diseño más elaborado con ayuda de un diseñador

gráfico, de tal forma que al pasar a un entorno móvil la visualización cambie completamente y permita una

experiencia de usuario completamente móvil para mejorar la experiencia del usuario.

Page 54: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

12 Bibliografía

[1] Consejo de redacción de Siigo «¿Qué es un inventario?» (2018, enero 8), Siigo soy un empresario

[Online] Disponible en: https://www.siigo.com/blog/contador/que-es-un-inventario/

[2] Cámara de Comercio de Bogotá (CCB), «Industria cosmética y de aseo retoma rumbo de crecimiento»

(2018, marzo 3), [Online] Disponible en: https://www.ccb.org.co/Clusters/Cluster-de-

Cosmeticos/Noticias/2018/Marzo-2018/Industria-cosmetica-y-de-aseo-retoma-rumbo-de-crecimiento

[3]J. Pavon, « JAVA EE Aplicaciones web- Sistemas web» Departamento de software e inteligencia

artificial, Universidad Complutense de Madrid, 2013.

[4] Docs Oracle, «Java Platform, Enterprise Edition» Release 7 , 2014.

[5] P. Denzer(2017) « PostgreSQL» Universidad Técnica Federico Santa María, Febrero 2016

[6] A. Oliveros, F. Danyands, M. Mastropietro, «Prácticas de Ingeniería de Requerimientos en el desarrollo

de aplicaciones Web » Proceedings of the XVII Ibero-American Conference on Software Engineering

(CIBSE2014), Enero 2014.

[7] Departamento Ciencias de Computo e Inteligencia Artificial «JSP Basico » Universidad de granada,

Junio 2010.

[8] X. Albaladejo «Que es SCRUM »[Online], Disponible en : https://proyectosagiles.org/que-es-scrum/,

Mayo 2017.

[9] J.Palacio. «SCRUM Manager I las reglas de Scrum» Scrum Manager 2 edición, 2015.

[10]. S. White, PhD D. Myers «BPMN guía de referencia y modelado» Future Strategies inc 1 Edición.

[11]. Dirección de Planeación y Evaluación «Modelado de procesos con BPMN»| Universidad de los

Andes, enero 2016.

[12]. T. Vithani and A. Kumar, “Presentation 5. A comprehensive mobile application development and

testing lifecycle”. 2014 IT Professional Conference, 2014, pp. 1–3.

[13] J. Núñez Mori “Usabilidad en metodologías ágiles” universidad politécnica de Madrid facultad de

informática, noviembre 2013.

[14] A. Babativa, P. Briceño, C. Nieto “desarrollo ágil de una aplicación para dispositivos móviles. Caso

de estudio: Taxímetro Móvil”. Universidad Distrital Francisco José de Caldas Ingeniería, vol. 21 num. 3,

pp 260-275, 2016.

[15] Apache Foundation «about tomcat» [Online], Disponible en: www.tomcat.apache.org,2019.

[16] Mozilla Developer Network. «CSS developer guide», [Online], Disponible en:

https://developer.mozilla.org/es/docs/Web/CSS.

[17] Blueprint community (css) «Blueprint – css » [Online], Disponible en: www.blueprintcss.org.

Page 55: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

[18] Eclipse Foundation «what´s Eclipse» [Online], Disponible en: www.eclipse.org/eclipseide.

[19] Free software Supporter «Ecplipse Public License » [Online], Disponible en:

http://www.gnu.org/licenses/license-list.html.

[20] Dash community «who is dash » [Online], Disponible en: https://www.plot.ly/dash/open-source/

13 Anexos

1. Manual de usuario

Page 56: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

MANUAL DE USUARIO

SOFTWARE GESTOR DE INVENTARIOS PARA LABORATORIO DE COSMETICOS COSDY

S.A.S.

LABORATORIO DE COSMETICOS COSDY S.A.S.

Page 57: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

CONVENCIONES:

FUNCIONALIDAD GENERAL

Los desarrollos hechos se pueden usar en los navegadores de internet más comunes, a través de formularios

o páginas que contiene botones, cajas y vínculos para recibir los requerimientos del usuario y mostrar la

información solicitada. Para los efectos de esta guía, se usará el término formulario como sinónimo de

formato, forma, página, URL, etc. La navegación sobre los desarrollos se describe a continuación.

C1. FORMULARIOS

Son los formatos que permiten al usuario consultar o ingresar los datos con la Herramienta. Maneja varios

tipos de formatos que estandarizan la presentación y facilitan su uso. Los formularios definidos son:

C1.1 ENTRADA

Para entrar al módulo es necesario tener en enlace de acceso, en alguno de los navegadores de internet tal

como Explorer, Chrome, Mozilla, Opera; aparece el formulario que se muestra a continuación.

Este es el formulario inicial, este formato le permite entrar al Sistema, solicita lo siguiente:

● Identificación del usuario. Valor alfanumérico que identifica de manera única a cada usuario. Este

es un valor alfanumérico (letras y/o números). Este Usuario es una información visible al público.

● Contraseña: Es un valor alfanumérico asignado inicialmente por el administrador del sistema.

Page 58: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Una vez el usuario ingresa la anterior información debe dar un clic sobre el botón <Ingresar>. El Sistema

verifica:

- Si es un usuario válido y la clave corresponde.

En el caso de que el usuario no sea válido el sistema despliega un mensaje "USUARIO NO

AUTORIZADO", esto significa que el usuario no está registrado. Si la clave no corresponde se

despliega el mensaje "CLAVE INVALIDA",

C1.2 BIENVENIDA

En este formulario se muestran los sub-módulos a los que tiene acceso el usuario en la franja de color azul.

Adicionalmente, muestra los objetivos generales del módulo y sus beneficios.

El menú contiene los accesos a los que el usuario tiene permitido ingresar.

Page 59: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

C1.3 INVENTARIO

El formulario INVENTARIO despliega toda la información relacionada con el inventario, si el usuario

posee los permisos necesarios podrá tener acceso a acciones para modificarlo, de lo contrario solo podrá

observar la manera de consulta.

Page 60: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

C1.4 ATRIBUTOS

El usuario puede utilizar este formato para gestionar los inventarios, la vista tiene los componentes

necesarios para hacer cambios a los registros dentro de los inventarios correspondientes.

Este formato tiene los siguientes componentes por cada campo del registro:

- Campos: Se presenta una columna, en la primera el usuario puede seleccionar los campos que

desea le presente en el formulario.

C1.8 BOTONES:

A continuación, se muestran los diferentes botones que se utilizan, cada uno con su descripción:

Botón Descripción

Permite realizar cambios en los registros de los

inventarios, bien sea editándolos o añadiendo

nuevos registros.

Permite salir a las ventanas anteriores

Page 61: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Permite realizar cambios en los registros de los

inventarios, bien sea editándolos o añadiendo

nuevos registros.

Despliega una tabla con información relevante para

poder modificar algún campo

Este botón permite acceder a una página que

contiene una gráfica comparativa entre los

productos más vendidos de la empresa, separado por

presentaciones.

Permite volver a la vista de Login.

Permite acceder a un formulario para ingresar un

registro al inventario.

Permite acceder a un formulario para editar un

registro al inventario.

Permite acceder a un formulario para eliminar un

registro al inventario.

Page 62: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

1. INTRODUCCIÓN

El sistema gestor de inventarios tiene por objetivo permitir a LABORATORIO DE COSMÉTICOS

COSDY S.AS. disponer de un sistema que le permita automatizar el proceso de inventarios, para así obtener

mejores resultados en los demás procesos que estén ligados a los inventarios.

Este módulo permite:

- Crear, Editar, Eliminar registros de los inventarios.

- Consultar los inventarios

- Visualizar un reporte ejecutivo a manera de gráfica.

- Agregar y eliminar usuarios

Se aclara que de ninguna manera el software pretende automatizar completamente el proceso, es más bien

una herramienta complementaria que permite un uso más eficiente,

a) Crear Editar Eliminar

Para acceder a estas funciones, el usuario debe tener los permisos necesarios, y aparecerán a manera

de botones en las ventanas de inventarios, lo que llevará a un formulario que contiene los siguientes

campos:

● Código del producto: por convención se tiene que debe iniciar con MP si es una materia

prima o PT si es un producto terminado, seguido de un consecutivo

● Nombre del producto: se debe ingresar un nombre el cual puede ser alfanumérico, no se

recomiendan caracteres especiales.

● Presentación: es un campo numérico donde se debe colocar el tamaño que tiene el producto

individualmente.

● Unidad de medida: lista desplegable que permite seleccionar la manera en que es medido

el producto, según el sistema internacional

● Tipo de producto: este campo no se debe diligenciar, sin embargo, puede que este

preseleccionado en dos opciones que pueden ser materias primas o producto terminado

según sea el caso.

● Cantidad: campo numérico donde se deben colocar la cantidad de unidades disponibles.

b) Ver inventarios:

Tiene la función de permitir ver los registros actuales que tiene el inventario, bien sea para materias

primas como para producto terminado, estas funciones de consulta están disponibles para la

Page 63: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

mayoría de roles de usuarios y su función es proporcionar información de cantidades y productos

disponibles en el momento.

c) Ver reporte ejecutivo:

Función exclusiva para los roles ejecutivos, proporciona una gráfica con los productos que más

comercialización poseen.

Es importante aclarar que el informe no es dinámico, quiere decir que no permite añadir más

productos de los que allí aparecen, lo que conlleva que realizar un cambio en el reporte requerirá

de conocimientos técnicos en programación.

2. Crear, Eliminar, Editar

Para ello se debe acceder a la función de inventarios.

Luego seleccionar el botón “+ agregar usuario”, o en cada uno de los registros se permite bien sea “Editar”

o “Eliminar”, al hacer clic se desplegará un formulario.

Page 64: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Se debe ingresar la información correspondiente en los campos, en caso que la operación deseada sea

adicionar. Si la operación es editar, aparecerán los campos con la información que el registro tiene, en ese

caso de deben cambiar los datos de los campos que se deseen. Y finalmente, si la operación seleccionada

es Eliminar, los campos solo mostrarán la información del campo sin permitir modificar nada.

Si la información está bien diligenciada al igual que el proceso, hacer clic en guardar o borrar (Según sea

el caso) y el sistema proporcionará un mensaje indicando si el proceso se realizó de manera correcta.

3. Visualizar inventario

La mayoría de usuarios tienen esta función disponible y para acceder a ella solo debe ingresar por el Login

y según sea el usuario, se mostrará inmediatamente los inventarios, en caso de ser jefe de producción,

aparecerá un menú donde debe seleccionar qué inventario desea.

Aparecerá una pantalla como la siguiente:

Page 65: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

4. Visualizar reporte

Esta función permite desplegar la gráfica de los productos más vendidos en la empresa, junto a sus

presentaciones disponibles. Para ingresar, se debe seleccionar el botón “Ver gráfico producción” y se

despliega la gráfica

2. Manual técnico

Page 66: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

MANUAL TÉCNICO Y GUÍA DE INSTALACIÓN

SOFTWARE PARA LA GESTIÓN DE INVENTARIOS PARA LA EMPRESA LABORATORIO

DE COSMÉTICOS COSDY S.A.S.

COSDY S.A.S.

Page 67: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

INTRODUCCIÓN

Este manual describe los pasos necesarios para que la persona encargada del área de sistemas y/o cliente

con los conocimientos técnicos necesarios pueda realizar la instalación del aplicativo.

Es necesario resaltar que se nombran las especificaciones mínimas de hardware y software con las que se

debe contar para que no se presenten novedades durante la instalación del aplicativo.

Page 68: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

1. REQUERIMIENTOS TÉCNICOS

REQUERIMIENTOS MÍNIMOS DE HARDWARE

Procesador: 2 Núcleos (CORE 2).

Memoria RAM: 4 Gigabytes (GB).

Disco Duro: 40 Gigabytes (GB).

REQUERIMIENTOS MÍNIMOS DE SOFTWARE

Privilegios de administrador.

Sistema Operativo: CENTOS 6, UBUNTU 14.06/16.04/18.04, WINDOWS SERVER.

2. HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO

2.1 JAVA EE 6

[1] La plataforma Java EE está desarrollada a través del Java Community Process (JCP - Proceso de la

comunidad de Java), el cual es el responsable de todas las tecnologías Java. Grupos de expertos compuestos

por un grupo social interesado han creado las Java Specification Requests (JRS - Solicitudes de

especificación de Java) para definir las diferentes tecnologías de Java EE. El trabajo de la comunidad de

Java bajo el programa JCP ayuda a asegurar los estándares de estabilidad y la compatibilidad

multiplataforma de las tecnologías de Java.

La plataforma Java EE utiliza un modelo de programación simplificado. Los descriptores de despliegue

XML son opcionales. En su lugar, un desarrollador simplemente puede ingresar la información como una

anotación directamente en un archivo fuente de Java, y el servidor Java EE hará la configuración del

componente en el despliegue y tiempo de ejecución.

En la plataforma Java EE, la inyección de dependencias se puede aplicar a todos los recursos que un

componente necesita, ocultando efectivamente la creación y búsqueda de recursos desde el código de la

aplicación. La inyección de dependencias se puede usar en los contenedores de Enterprise JavaBeans (EJB

- JavaBeans empresarial), los contenedores web y los clientes de la aplicación. También permite al

contenedor de Java EE insertar automáticamente referencias a otros componentes o recursos requeridos,

usando anotaciones.

2.2 PostgreSQL

Es un avanzado sistema de bases de datos relacionales basado en Open Source. Esto quiere decir que el

código fuente del programa está disponible a cualquier persona libre de cargos directos, permitiendo a

Page 69: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

cualquiera colaborar con el desarrollo del proyecto o modificar el sistema para ajustarlo a sus

necesidades. PostgreSQL está bajo licencia BSD.

Un sistema de base de datos relacionales es un sistema que permite la manipulación de acuerdo con las

reglas del álgebra relacional. Los datos se almacenan en tablas de columnas y renglones. Con el uso de

llaves, esas tablas se pueden relacionar unas con otras [2].

2.3 APACHE TOMCAT 7

El software Apache Tomcat® es una implementación de código abierto de tecnologías Java Servlet,

JavaServer Pages, Java Expression Language and Java WebSocket. Las cuales son desarrolladas bajo el

Java Community Process (JCP).

El software Apache Tomcat se desarrolla en un medio abierto y participativo, y publicado bajo la versión

de licencia Apache 2. El proyecto Apache Tomcat tiene el propósito de ser una colaboración de los mejores

desarrolladores alrededor del mundo. [3].

3. INSTALACIÓN Y CONFIGURACIÓN DE JAVA

3.1 Instalar la versión 1.6 del kit de desarrollo de Java (JDK por sus siglas en inglés)

En la siguiente ruta: https://www.oracle.com/java/technologies/javase-java-archive-javase6-

downloads.html encontrará las diferentes versiones del JDK de Java distribuidas por Oracle. Se debe

descargar la versión 6 para Linux, en formato Package Manager (*.RPM) para CENTOS 6, en formato

Tape Archiver empaquetado (*.tar.gz) para UBUNTU y en formato executable (*.exe) para los usuarios de

Windows.

Se deben aceptar los términos y condiciones de uso para que el sistema permita la descarga

de los archivos. Adicionalmente es necesario crear una cuenta, sin embargo, la descarga no

tiene ningún costo.

Una vez se cuente con las descargas de los archivos, se deben pasar al servidor para poder realizar los

procesos de instalación de ambos paquetes.

Page 70: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Imagen 1. Versión 8u131 del JDK de Java.

Para instalar los paquetes de JDK de Java, nos dirigimos al directorio en el que se encuentran los archivos

(donde se desea instalar, se recomienda “/usr/java” o en “/opt/”) y se ejecutan los siguientes comandos:

CENTOS 6:

Imagen 2. Comandos de instalación del JDK para centOS

UBUNTU:

Imagen 3. Comando de instalación JDK para Ubuntu

Para el archivo empaquetado de UBUNTU se debe tener en cuenta que el lugar donde se

desempaquete será el directorio al que se hará referencia al momento de realizar el proceso

de configuración de las variables de entorno.

Para Windows basta con abrir el archivo ejecutable y seguir los pasos del asistente del JDK que se

desplegará.

WINDOWS:

Page 71: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Imagen 4 Asistente de instalación del JDK de Oracle Java para Windows.

3.2 Configurar las variables de entorno del sistema

Utilizar las funciones de Java requiere configurar las variables de acceso para que el Sistema reconozca a

donde debe dirigirse en caso de necesitarlas. Para eso se realiza la configuración de las variables de entorno.

LINUX: en Ubuntu y Centos la configuración es la misma.

Tener en cuenta que, si se ejecuta este comando, la configuración de las variables de entorno

será temporal, es decir, cuando se reinicie el sistema operativo, no se establecerán estas

variables, para hacerlo permanente, debe modificarse mínimo el archivo

“/etc/environment”.

WINDOWS: En propiedades del sistema se agregan las variables de entorno

Imagen 6. Configurar variables de entorno del sistema en Windows.

MI_WEB= “UBICACIÓN DE ORIGEN”

Imagen 5. Configurar variables de entorno del sistema.

Echo $MI_WEB export

Page 72: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

4. INSTALACIÓN Y CONFIGURACIÓN DE TOMCAT

4.1 Instalar la versión 7 de Tomcat

Dirigirse a la página de Tomcat “https://tomcat.apache.org/download-80.cgi” para bajar el archivo en

formato Tape Archiver empaquetado (*.tar.gz) para Linux y (*.exe) para Windows.

Imagen 7. Vista de la página de descarga de Tomcat 7.

LINUX: Una vez descargado el archivo, moverlo al directorio “/opt/” dentro del sistema operativo para

desempaquetarlo.

WINDOWS: Para Windows basta con descargar el archivo en formato (*.zip), moverlo a disco local C:/ y

luego descomprimirlo.

Imagen 9. Apache 7 descomprimido en Disco local C:

4.2 Copiar el ROOT entregado con el proyecto al directorio de Tomcat en el sistema

LINUX:

Se debe buscar el directorio ROOT dentro de la información enviada con el proyecto y dirigirse al

directorio ROOT dentro del sistema operativo. Este directorio se encuentra ubicado en:

“[ruta_directorio_tomcat]/webapps/”. Una vez ahí se puede borrar el directorio actual y copiar el que se

Page 73: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

pasa, o se puede copiar la información del directorio dentro del actual modificando los archivos que

presenten duplicados.

WINDOWS:

En Windows se debe copiar la carpeta ROOT otorgada y se debe reemplazar en C:\apache-tomcat-

7.0.96\webapps

Tener en cuenta que los directorios eliminados no pueden recuperarse, por lo que debe

asegurarse que el nombre del directorio a eliminar sea correcto.

4.3 Configurar los usuarios de acceso al servidor

Dentro de las configuraciones de Tomcat se puede determinar el usuario que va a tener acceso al manager

del servidor. Para acceder al archivo donde se determina se debe buscar la ruta del directorio de Tomcat y

en el directorio conf se encuentra el archivo tomcat_users.xml.

Si los roles “manager-gui” y “admin-gui” no existen, deben configurarse en el mismo

archivo antes de definir los usuarios para que el sistema identifique que se le dará acceso

al administrador de tomcat a esos usuarios.

Para Windows funciona de manera similar, abrir el archivo users.xml en el bloc de notas

y modificar las líneas de código especificadas en la imagen 12.

4.4 Configurar el puerto para una conexión segura certificada

Para poder realizar la conexión a través de una conexión certificada, se debe realizar una petición para poder

valorar que la página es oficial y segura. Una vez que se cumplen los requisitos para el protocolo https, lo

siguiente es configurar el puerto 8443 dentro de Tomcat para poder acceder de manera protegida.

Lo primero que se debe hacer es acceder al archivo de configuración de las conexiones al servidor, este

archivo es el server.xml, se encuentra en la ruta “[ruta_directorio_tomcat]/conf/”. Una vez dentro, se añade

el código descrito en la imagen 14, el cual cuenta con los atributos de activación de los certificados de

seguridad previamente otorgados. Se debe ingresar antes de la etiqueta <connector> para el Puerto 8443

que se encuentra comentada por defecto.

Imagen 12. Código para habilitar un usuario de acceso al administrador del servidor Tomcat.

Page 74: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Tener en cuenta que cada vez que se modifique alguno de los archivos de configuración

de Tomcat, si este se encuentra en ejecución, se debe reiniciar para que los cambios

generados se vean aplicados.

Para Windows funciona de manera similar, abrir el archivo server.xml en el bloc de notas

y modificar las líneas de código.

5. INSTALACIÓN Y CONFIGURACIÓN DE POSTGRESQL 5.1 Descarga y configuración del software

Imagen 20. Página web instalación de postgres.

Descargar de la página oficial el instalar en el formato correspondiente en

https://www.enterprisedb.com/es/downloads/postgres-postgresql-downloads

Durante la instalación el manager de instalación preguntará si desea instalar “pgAdminIII” darle que si

En Windows se hace el mismo proceso, pero el archivo se llama startup.bat.

Imagen 13. Ingresar al directorio 'conf' y edición del archivo con editor 'nano'.

Imagen 14. Configuración del archivo server.xml para habilitar puerto seguro.

Page 75: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

6.2 Ejecutar el manager y subir archivo del proyecto

Una vez iniciado el servidor, se puede ejecutar el manager de Tomcat siguiente la ruta en cualquier

navegador: http (o https si se cuenta con el certificado) ://[dirección_ip]/manager. Para poder acceder se

deben utilizar las credenciales configuradas previamente (usuario-contraseña).

Imagen 21. Manager del servidor Tomcat.

Ya en el servidor el último paso es subir el archivo con formato Web Application Archive (*.war). Para

esto nos dirigimos al panel Desplegar, y a la opción Seleccionar archivo war a cargar, una vez que se

encuentre el archivo, se da al botón Desplegar, y se espera a que la plataforma confirme que se subió con

éxito.

Imagen 22. Interfaz para el cargue de archivo en formato WAR.

6.3 Montar base de datos en PostgreSQL

Para finalizar con el proceso de configuración de las herramientas, para acceder al aplicativo, se debe

montar el backup de la base de datos suministrado con los archivos del programa.

Ejecutar la consola y dirigirse a la carpeta bin

Psql –U (Nombre de usuario) [Nombre de la base de datos] < C//: ruta de ubicación del archivo/[nombre

del backup]

Page 76: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Luego se deben crear las respectivas variables de entorno:

Ahora se debe conectar a sqlplus con algún perfil creado previamente que tenga los permisos necesarios

para crear una base de datos, para este ejemplo se utilizara “sysdba” e iniciar la instancia ORCL.

Ahora ya está todo listo para crear la base de datos, para ello debemos definir los parámetros, si tiene los

conocimientos técnicos suficientes puede modificar estos valores, de lo contrario sugiere una configuración

predeterminada.

7. INGRESO A LA PLATAFORMA

Una vez que se tiene la configuración completa del servidor y la base de datos, todo está listo

Imagen 26. Interfaz de inicio de la plataforma.

Imagen 24. Esquema de directorios

$export POSTGRESQL_SID=PGSQL

$export POSTGRES_HOME=$POSTGRES/9.3 /bin/

Imagen 25 Comandos Variables de entorno

Page 77: DESARROLLO DE SOFTWARE WEB PARA LA GESTIÓN ...repository.udistrital.edu.co/bitstream/11349/24811/3/...4.3 Configurar los usuarios de acceso al servidor 69 4.4 Configurar el puerto

Referencias

[1] https://javaee.github.io/tutorial/overview001.html#A1046550.

https://javaee.github.io/tutorial/toc.htm.

[2] https://www.ediciones-eni.com/open/mediabook.aspx?idR=a015d481608788b8e1648c4aa0777d00

[3] http://tomcat.apache.org/

[4] https://www.oracle.com/technetwork/es/articles/database-performance/restaurar-recuperar-

tablespaces-2228109-esa.html

[5] https://medium.com/@aarnlpezsosa/instalaci%C3%B3n-de-java-jdk-y-configuraci%C3%B3n-de-java-

home-en-ubuntu-18-04-f3307c07328