Está en la página 1de 59

Universidad Mariano Gálvez de Guatemala, Sede escuintla

Ing. Kevin Diaz / Ing. Abner Solorzano

Proyecto de graduación ll

Segunda Entrega

Roberto Estuardo López Rivas

2190-17-9163

Ingeniería en Sistemas Plan Domingo

26 de septiembre 2021
Introducción

En la actualidad la empresa Boutique Joe necesita del uso de las tecnologías de

información que le permitan agilizar y automatizar sus procesos para su desarrollo

debido que les favorecerá el trabajo colaborativo en la organización.

Hoy en día la empresa se está viendo obligada a almacenar, controlar y

administrar su información por medio de un sistema informático debido que los tiempos

de respuestas serian menores y alcanzaran un nivel mayor de rentabilidad y ahorro de

costos en procedimientos operativos y administrativos en cada transacción que se

realiza en el giro del negocio.

Actualmente la empresa se dedica a analizar la información como factor clave

para la toma de decisiones y apoyo para abordar nuevos mercados en las otras áreas

del país.

El alcance del sistema de información web consiste en la implementación

operativa y administrativa donde los colaboradores y propietarios de la empresa

Boutique Joe podrán acceder a la información histórica y actual de una manera eficaz y

rápida para la toma de decisiones y ventas en la organización, por lo cual se

implementaran los módulos de facturación, ventas, compras, inventarios y reporteria

que serán de vital importancia al automatizar sus proceso esenciales durante sus

ejecuciones operativas y administrativas, permitiendo a la empresa tener un control y

administración de sus activos y actividades de sus colaboradores en sus áreas

operativas y administrativas que estos realicen dentro de la empresa utilizando el


sistema de información Web a implementar. El sistema información web mejorar los

tiempos de respuesta de los procesos que actualmente tiene Boutique Joe, así mismo

otorgara un mejor control en las áreas operativas y administrativas de la empresa.


Planteamiento del problema

Boutique Joe dio inicio a sus operaciones como una empresa pequeño

contribuyente en el año dos mil diecinueve (2019) empezando sus actividades en el

municipio de Palín, departamento Escuintla, fue iniciada por un emprendedor que se

encuentra en otro país, el negocio está a cargo de sus familiares quienes son las

personas que lo administran. Boutique Joe inicia sus actividades lucrativas con facturas

que se llenaban de forma manual, por lo cual esto permitía cualquier tipo de alteración

en los datos de parte de los colaboradores de la empresa, No contaban con un registro

de existencias de inventario en sus inicios mucho menos de costos que le tenían cada

artículo comprado y vendido, Por lo cual no tenían información confiable para conocer

el crecimiento que tenía el negocio esto debido que habían facturas que se perdían o

extraviaban de los productos comprados para el negocio, Tampoco llevaban un control

de los egresos de mercadería por lo cual tuvieron perdidas de productos que nunca

supieron los responsables.

Actualmente la empresa Boutique Joe lleva el control de sus compras, ventas y

existencias en un archivo de Excel el cual requiere bastante disciplina estar

actualizando cada vez que se requiere una venta o compra, De igual manera que en el

pasado el propietario no siente confianza en la información debido que esta puede ser

modificada por cualquier usuario y no se logra determinar un responsable de los

hechos, Así mismo se tienen descuadres de stock en los inventarios cíclicos que se

realizan mensualmente donde en facturas de compra se tienen cantidades diferentes a

las del stock en la tienda y ventas realizadas no rebajadas en el sistema, esto también

conllevan a la alteración de información desde los archivos de Excel.


Se desea implementar en la empresa un sistema de información Web que les

permitirá tener el control y administración de las usuarios, compras, inventarios, ventas

y facturación.

El almacenaje de información del sistema Web se realizará con una base de

datos de producción e histórica, la cual nos asegurará el resguardo de la información y

evitar la manipulación de cualquier tipo en los datos de la empresa, Así mismo contar

con una base de datos histórica nos ayuda a realizar depuraciones para mejorar el

rendimiento de la base de datos de producción cuando está ya contenga demasiada

información.

Los usuarios se manejarán por medio de roles de acceso al sistema donde serán

dividas por categorías dependiendo el puesto de cada colaborador y sus permisos en

los diferentes módulos del sistema para tener un mejor control de las actividades que

podrán realizar los usuarios.

El módulo de compras nos servirá para darle ingreso a la mercadería en el

sistema, Permitiéndonos que cuando se realicen compras físicas acá se deberá de

registrar los artículos y cantidades como también datos de la factura de compra y su

debido escaneo como constancia de un correcto ingreso cuando se desee consultar

ambas partes.

Se contará con el módulo de esquema de ventas mostrador el cual nos ayudara

a descontar y visualizar en pantalla lo que se va a vender al cliente final, Así mismo en

este se podrán realizar cotizaciones de mercadería.


Se implementará el módulo de inventarios el cual nos permitirá consultar

existencias, ajustar mercaderías faltantes, sobrantes o en mal estado, También se

podrán hacer inventarios cíclicos desde el sistema para conocer el nivel de exactitud

que se tiene en la tienda.

Se implementará un módulo de reporteria el cual estará restringido para que

únicamente los usuarios con privilegios suficientes puedan consultar estos reportes ya

sean de categoría operativa o administrativa.


Justificación

La falta de confiabilidad y consistencia de los registros en la empresa son de

gran prioridad para evitar pérdidas que podrían afectar gravemente al giro de la

empresa, Por lo cual Boutique Joe debe tener información confiable, consistente e

integral para el desarrollo de sus funciones y la toma de decisiones gerenciales lo cual

le permitirá el crecimiento en sus operaciones.

La implementación de un sistema de información Web le otorgara el control y

administración correcto de procesos de compra, venta, y análisis de información, Así

mismo la implementación de automatización de procesos con el sistema Web ayudara

a reducir costos, perdidas y al extremo de reducir recurso humano debido que se

agilizaran los procesos en el control de inventarios, registro de mercadería, inventarios

cíclicos, cotizaciones, ventas y acceso a la información histórica de forma más

eficiente.
Objetivos

Generales

 Optimizar procesos y tiempos de ejecución mediante la elaboración de un

sistema de información Web que permitirá la administración, control y manejo de

las transacciones de la empresa.

 Establecer consistencia, confiabilidad e integridad en la información para la toma

de decisiones gerenciales y estudio de nuevos mercados.

Específicos

 Implementación de módulo de facturación de las ventas realizadas al cliente de

forma inmediata y ajuste de existencias en el inventario de la empresa.

 Implementación de módulo de compras para evitar perdida de mercadería en los

ingresos así lograr tener la corroboración manual de detalle de factura ingresada

contra factura digital escaneada.

 Implementación de módulo de ventas el cual nos mostrara el detalle de artículos,

datos personales del cliente, datos comerciales de la empresa previo a realizar

la facturación.

 Verificación de conteos cíclicos contra el stock actual de la empresa.


 Accesos de usuarios con privilegios a módulos y reportes acorde a sus

categorías.

Preguntas de investigación

¿Por qué es importante tener información confiable y consiste cuando ya este

implementado el sistema?

¿Cuál será el resultado de llevar el control del inventario y facturaciones en el sistema

Web?

¿Quiénes serán los beneficiados con la optimización de tiempo y costos que proveerá

el sistema?

¿Qué beneficios se obtendrán al manejar un módulo de compras y ventas?

¿A que nos ayudara tener accesos al sistema por privilegios de usuario?


Hipótesis

¿La implementación de un sistema Web de manejo de inventarios, control de

información, compras y ventas sería de gran utilidad para tener confiabilidad e

integridad cuando se tomen decisiones gerenciales y evitaran pérdidas en Boutique

Joe?
Conceptos básicos

2 Capítulo 2

2.1 Marco teórico

En esta sección se presentan las investigaciones, teorías y conceptos en el

cual el presente documento se basa para lograr nuestro objetivo que se

establecieron anteriormente, se detalla la información y las características del

sistema de control y administración de compra-venta de Boutique Joe.

2.2 Definición de Boutique Joe

Boutique Joe se impulsa por la moda en personas jóvenes principalmente

su enfoque es tener clientes de todas las edades, pero sin embargo su principal

fuente de concentración está enfocada en la venta de ropa juvenil. Sus principales

formas son: ofrecer un producto de calidad, cumplir con lo ofrecido, brindar un

buen servicio al cliente, brindar una atención personalizada, brindar una rápida

atención, resolver problemas quejas y reclamos, brindar un servicio extra, estas

siete formas por las cual se caracteriza Boutique Joe. (Arturo K. 2013)
2.3 Procesos del negocio

Los procesos que realiza Boutique Joe para la ejecución de sus

operaciones son los siguientes:

a) La mercadería es comprada y se registra en Excel.

b) La mercadería es ordenada en cualquier ubicación donde se tenga espacio

disponible.

c) La factura la guarda el propietario del negocio donde no se tiene

corroboración que la cantidad de prendas ingresadas en Excel cuadre con

el monto de la factura.

d) Cada venta se realiza de forma manual donde el vendedor tiene que llenar

la factura con los datos del cliente.

e) En cada venta efectuada el vendedor debe de retroalimentar esa

información en Excel donde se llega el registro de ventas.

f) En cada venta el vendedor debe rebajar el stock actual que se tiene en la

tienda.

g) El propietario realiza su inventario cíclico en base a la información

registrada en Excel por los vendedores.

h) El registro de los datos de los empleados nuevos se lleva en un archivo de

Excel donde solo el propietario tiene acceso.


2.4 Red informática

Red informática es una tecnología inalámbrica o alámbrica que permite

tener comunicación con los diferentes nodos para lograr enviar o recibir datos que

los computadores son capaces de interpretar por los diferentes protocolos de red.

Es un conjunto de sistemas que están conectados entre ellos. Son equipos

que en su conjunto crean esa red y permiten, a través de medios de transmisión y

dispositivos de comunicación conectarnos. (Javier Jiménez 2021)

2.4.1 Surgimiento de las redes informáticas

Las redes informáticas surgieron por la necesidad que tenía Estados

Unidos durante la guerra fría para lograr tener la información descentralizada y

no perder sus análisis y estudios ante cualquier ataque militar ruso.

La primera red contaba con el protocolo Arcnet (Attached Resource

Computer Network) la cual funcionaba por medio de cable coaxial y su velocidad

era de 2.5 Mbps, luego se quedo obsoleto este protocolo de red y se creó el

TCP/IP el cual utilizamos en la actualidad.

2.4.2 Evolución de las redes informáticas

La evolución de las redes informáticas a lo largo de la historia ha sido

impulsada a su desarrollo continúa debido a los grandes beneficios que se

obtienen con ella, actualmente se maneja el protocolo TCP/IP el cual es el

sucesor de ARCNET.
2.4.3 Tipos de redes informáticas

Existen diferentes tipos de redes informáticas debido a la necesidad de

cada ambiente cuando se desea tener comunicación con otros dispositivos

conectados en red por medio de los protocolos adecuados, los tipos de redes

son los siguientes:

2.4.3.1 Personal Área Networks (PAN)

Esta es la red que se utiliza para entornos de trabajo personales esta

funciona por medio de cables o inalámbricamente la cual se caracteriza por ser

de uso personal por su limitada capacidad de espacio.

2.4.3.2 Local Área Networks (LAN)

Es la más común y que todos tenemos en nuestros hogares. Es aquella

red que abarca un área reducida, como puede ser una vivienda, una tienda,

edificio, etc. Es, por tanto, la que más utilizamos en nuestro día a día por los

usuarios particulares (Javier Jiménez, 2021).

2.4.3.3 Wireless Local Área Networks (WLAN)

Esta red es la utilizada en las áreas de trabajo pequeñas y hogares

debido que establecen comunicación inalámbrica en un espacio reducido el cual

emite ondas de radiofrecuencia y se encarga de enviar señal de un punto a otro.


2.4.3.4 Metropolitan Área Networks (MAN)

Esta red es de alta velocidad y se caracteriza por su cobertura que posee

debido que es capaz de abarcar grandes zonas geográficas como su nombre lo

indica, tiene la capacidad de cobertura de zonas extensas para la transmisión de

datos, voz y video la cual es de banda ancha por la cantidad de cobertura que

posee.

2.4.3.5 Wireless Local Área Networks (WAN)

Las redes WAN abarcan un área más grande. Es la unión de varias redes

locales, sin necesidad de que todos los dispositivos estén en una misma

ubicación física. Pueden ser para uso privado en empresas u organizaciones, así

como instaladas por los propios proveedores de red. (Javier Jiménez, 2021)

2.5 Internet

Internet es una red gigante de computadoras, en la actualidad esta

expandida por todo el mundo, por lo cual nos permite la inter comunicación en

cualquier lugar del mundo que se tenga acceso a una red. Nos permite obtener

información de cualquier tipo que se encuentre almacenada en otras

computadoras las cuales proporcionan información por los diferentes tipos de

protocolos.

Internet se puede definir como un grupo de redes de ordenadores que se

encuentran interconectadas, pero su funcionamiento no se adapta a un solo tipo

de ordenador, a un medio físico privilegiado, a un tipo de red en concreto y a

ninguna tecnología inclusiva de conexión, ya que se trata de una red dinámica y


flexible, que puede ser adaptada a distintos contextos tecnológicamente

hablando. (Adrián Yirna, 2021)

2.5.1 Como surgió internet

Internet surge por experimentos de laboratorio de la defensa de los

estados unidos debido que ellos necesitaban estar en comunicación en diferentes

partes del país para intercambiar datos militares y científicos, Esta red fue

conocida como Arpanet en el año 1969.

2.5.2 Internet como medio de comunicación

Internet es usado como medio de comunicación entre millones de

ordenadores el cual está conformado por una red enorme que proporcionan

información a todo el mundo, en sus inicios fue utilizado para comunicar

información científica y militar, pero sin embargo en la actualidad este es utilizado

para compartir cualquier tipo de información, jugar, audio y video o es más aun

realizar compras en diferentes partes geográficas.

2.5.3 Servicio World Wide Web

Mas conocido como www es un servicio dentro de una red gigante más

conocida como la gran telaraña debido que en esta se puede buscar cualquier

página de hipertexto o multimedia y es posible acceder a ella por medio de

internet. Este servicio permite hacer consultas de diferentes lugares del mundo

median nodos que nos redireccionan los diferentes puntos de red para acceder a

la información que se desea consultar.


2.5.4 Internet como comercio

El comercio en internet se ha propagado de una manera exponencial

debido que grandes empresas se han visto en la necesidad de poner el practica el

comercio electrónico para aumentar los márgenes de ganancia de sus empresas,

por lo cual el internet como comercio electrónico a sido de vital importancia en los

últimos años por que ejecuta operaciones de compra-venta en cualquier parte

geográfica del mundo que tenga acceso a esta red.

2.5.5 Servicio de Intercambio de archivos P2P

Es un servicio de internet en donde no existe un cliente ni un servidor sino

únicamente nodos de computadoras comunicadas entre sí que tienen la misma

jerarquía de comunicación, P2P significa peer-to-peer, Estas han sido utilizadas

frecuentemente para compartir archivos multimedia entre varias computadoras.

2.5.6 Chats o IRC, videoconferencia, mensajería instantánea y llamadas atreves

de internet.

Es un servicio de internet que permite la comunicación entre millones de

dispositivos informáticos, esto permite chatear a través de la red y tener

conexiones con otros usuarios en tiempo real en cualquier parte del mundo.

Internet Relay Chat es un servicio basado en el modelo cliente-servidor

que permite que múltiples usuarios en red conversen sobre un tema común,

normalmente los temas de discusión dan nombre a los diferentes canales que

ofrece un mismo servidor. (María Jesús Lamarca Lapuente, 2018)


2.5.7 Transferencia de archivos FTP

FTP es un protocolo de transmisión de archivos que permite intercambiar

gráficos, texto y multimedia con otros ordenadores, el modelo de conexión es

acceder al servidor ftp y obtener acceso por medio de credenciales autorizadas

en el servidor. Este protocolo sirve también para publicar páginas web en

internet y que otros usuarios puedan acceder a la página publicada en el

servidor ftp y compartir texto o multimedia.

2.5.8 Telnet

Telnet es un protocolo de comunicación que permite acceder de manera

remota a otros computadores, esto ayuda a que los otros ordenadores puedan

ser manipulados remotamente sin necesidad que el usuario tenga que estar

físicamente en la ubicación del computador para lograr manipular y utilizarlos.

2.6 Base de datos

Es el almacenamiento de información estructurado en un sistema

informático, por lo cual es un conjunto de datos que pueden ser manejados por

medio de gestores, habitualmente la base de datos es controlada y administrada

por un Sistema de Gestión de Base de Base de Datos (DBMS), la información es

almacenada en tablas filas y columnas por lo cual hacen que manipulación sea

mucho más fácil cuando se desee consultar, modificar, eliminar, crear. Esto nos

permite organizar la información de una mejor manera.


2.6.1 SQL

Es un lenguaje de consulta estructurado el cual permite manipular las

bases de datos por medio de código estructurados desarrollados por el usuario.

SQL es utilizado para casi todas las bases de datos relacionales.

2.6.1.1 Lenguaje de Definición de Datos (DDL)

Es un lenguaje de programación para definir estructuras de datos,

proporcionado por los sistemas gestores de bases de datos, para definir las

estructuras disponemos de tres sentencias:

a) Create, se usa para crear una base de datos, tabla, vistas, etc.

b) Alter, se utiliza para modificar la estructura, por ejemplo, añadir o borrar

columnas de una tabla.

c) Drop, con esta sentencia, podemos eliminar los objetos de la estructura,

por ejemplo, un índice o una secuencia. (José Segovia, 2017)

2.6.1.2 Lenguaje de Manipulación de Datos (DML)

DML nos ayuda a manipular la información de la base de datos para

ejecutar consultas, inserciones, actualizaciones o eliminación de atributos en la

base de datos, por lo cual contamos con tres sentencias para estas acciones:

a) Select, se utiliza para ejecutar consultas de la base de datos

b) Insert, se utiliza para realizar inserciones de atributos en una base de

datos

c) Update, se utiliza para hacer modificaciones a la base de datos.


d) Delete, Es utilizado para eliminar atributos de entidades dentro de la base

de datos.

2.6.1.3 Lenguaje de Control de Datos (DCL)

DCL es utilizado para el control dentro del gestos de base datos, este

permite la alteración de accesos, controlar los privilegios que se van a tener en

los diferentes esquemas dentro de la base de datos tenemos dos comandos

para controlar los permisos:

a) Grant, Es utilizado para otorgar permisos dentro de una base de datos.

b) Revoke, Permite eliminar los permisos que habían sido concebidos a un

usuario.

2.6.2 Modelo entidad relación

Entidad relación es la representación de datos en un diagrama en donde

es posible observar la relación que se tienen dentro del esquema de la base de

datos, es decir la forma en que se relacionan entre ellos, están conformados por

entidades y atributos.

2.6.2.1 Entidad

Las entidades representan cosas u objetos (ya sean reales o abstractos),

que se diferencian claramente entre sí. (Pedro Gutiérrez, 2013)


2.6.2.2 Atributo

Los atributos definen o identifican las características de entidad (es el

contenido de esta entidad). Cada entidad contiene distintos atributos, que dan

información sobre esta entidad. Estos atributos pueden ser de distintos tipos

(numéricos, texto, fecha...). (Pedro Gutiérrez, 2013).

2.6.3 Motor de base de datos

Es el componente encargado de administrar la base de datos, por lo cual

en la mayoría de los casos es utilizado para crear, eliminar, leer y modificar

atributos o entidades de la base de datos es más conocido como SGDB,

Sistemas Gestores de Base de Datos.

2.6.4 MariaDB

MariaDB es un sistema de administración de base de datos relacional, es

una versiona gratuita open source de MySQL para el uso de desarrolladores y

estudiantes que deseen aprender de esta herramienta.

2.6.5 Lenguajes de base de datos

Son lenguajes que utiliza el motor de base de datos para manipular y

administrar la información almacenada en la base de datos, así mismo nos

sirven para ejecutar sentencias de programación dentro de la base de datos.

Herramientas de desarrollo
2.6.6 NodeJS

NodeJS es un entorno baso en el lenguaje de programación JavaScript el

cual nos permite desarrollar y ejecutar código fuente en el servidor, es utilizado

como back-end, trabaja de forma asíncrona, cuenta con una estructura orientada

a eventos, así mismo utiliza el motor de Google V8.

2.6.7 Visual Studio Code

Es un editor de código fuente que nos permite compilar múltiples

lenguajes de programación, fue diseñado por Microsoft y fue lanzado al mercado

de forma gratuita, Actualmente es una herramienta con mucho potencial debido

a su entorno amigable al usuario y la facilidad en el uso de la herramienta.

2.6.8 Hypertext Markup Language (HTML)

HTML es utilizado para la elaboración y desarrollo de páginas web, es

una estructura basada en etiquetas y atributos de un sitio web el cual permite

que los diferentes navegadores pueden leer el contenido y mostrarlo al usuario

final de una forma estructurada.

2.6.9 Cascading Style Sheets (CSS)

CSS es un lenguaje de marcas que su enfoque es estilizar y mejorar la

apariencia del código HTML, por lo cual es la capa de estilos y personalización

que se puede aplicar al HTML para que el usuario final observe la pagina web de

una manera más agradable y estilizada.


2.6.10 React JS

Es una biblioteca de JavaScript la cual es utilizada como front-end permite

su fácil desarrollo de interfaces web, esta basada en componentes debido que

permite su desarrollo modular creando así un código mas limpio, este utiliza jxs

para renderizar el HTML.

2.7 Servidores

Es un equipo de computo que proporciona servicios, datos, recursos a sistemas

de cómputo lo cuales comúnmente se le conocen como clientes. Las peticiones

de un sistema de computo a otro viajan atravez de la red en la cual los equipos

tienen que estar conectados alambricamente o inalámbricamente para que las

solicitudes puedan ser procesadas por el servidor y las peticiones por el cliente.

2.7.1 Tipos de servidores

2.7.1.1 Servidor WEB

Es un equipo informático que almacena las páginas web las cuales utiliza para

responder las solicitudes de los clientes y mostrar las páginas que le están

solicitando en el momento de la interacción entre el cliente y el servidor.

2.7.1.2 Servidor dedicado

Estos servidores ser caracterizan por recibir peticiones de un mismo cliente el

cual son utilizados cuando la demanda de transferencia de datos es muy alta.

El beneficio es la capacidad de almacenar datos y la consistencia de responder

solicitudes de un solo cliente.


2.7.1.3 Servidor FTP

Este tipo de servidor permite la transferencia de archivos entre el servidor y el

cliente, es decir el cliente puede subir archivos al servidor y descargar archivos

del mismo.

2.7.1.4 Servidor de impresión

Son utilizados para conectar una impresora a un conjunto de equipos

informáticos, comúnmente es utilizado cuando se tiene un software que se

imprime como destino a una misma impresora y es utilizado por muchos

clientes.

2.7.1.5 Servidor en la nube

Consiste en almacenar información en la nube es decir en internet, el cual

permite acceder a la información desde cualquier equipo informático con

acceso a internet y es capaz de interactuar con el cliente y servidor.

2.8 Hardware

Es la parte física de un equipo de cómputo está conformado por circuitos,

cables, componentes electrónicos, electromecánicos, mecánicos, periféricos

de entrada y salida, así mismo cualquier otro componente físico para que el

hardware funcione correctamente.


2.8.1 Clasificación del hardware

2.8.1.1 Hardware de procesamiento

Es la Unidad Central de Procesamiento (CPU), es la encargada de procesar la

información y operaciones lógicas de la computadora, así mismo este manipula

el resto de componentes para su funcionamiento en base a las tareas lógicas

que se necesiten en el equipo informático.

2.8.1.2 Hardware grafico

Son las tarjetas gráficas que poseen memoria y la unidad central de

procesamiento ellos mismo lo cual permite ejecutar las señales de dedicas de

imagen y video desde la tarjeta gráfica optimizando así el uso de memoria y la

unidad central de procesamiento del equipo informático.

2.8.1.3 Hardware de almacenamiento

Son todos lo componente cuyo objetivo es guardar información a la cual el

usuario podrá acceder a ella en el momento que lo requiera, se tiene el

almacenamiento volátil el cual es resguardado en la memoria RAM y el

almacenamiento no volátil el cual se guarda en memorias secundarias como

discos duros, SSD o incluso memorias USB.

2.8.1.4 Periféricos de entrada y salida

Son los dispositivos que permiten ingresar información a la computadora y

extraer información de la misma.


2.9 Metodología de desarrollo ágil

2.9.1 SCRUM

Es una metodología que se basa en el desarrollo incremental, es decir se puede

trabajar el proyecto por etapas a los cuales se les denomina sprint es decir

entregas regulares y finales del producto parcialmente entregado, lo cual sirve

de gran beneficio para la satisfacción del cliente y la corrección de posibles

errores que se pudieran dar durante la implementación del software, así mismo

se definen prioridades para cada sprint y su nivel de complejidad que conlleva el

desarrollo del mismo.

Referencias Bibliográficas

Javier, J (6 de Abril de 2021). redeszone.net. Obtenido de redeszone.net:

https://www.redeszone.net/tutoriales/redes-cable/tipos-redes-informaticas/

Maria, L.L. (29 de Agosto de 2018). hipertexto.info. Obtenido de hypertexto.info:

http://www.hipertexto.info/documentos/serv_internet.htm#chat
Pedro, G. (05 de Noviembre de 2013). Genbeta.com. Obtenido de Genbeta.com:

https://www.genbeta.com/desarrollo/fundamento-de-las-bases-de-datos-modelo-

entidad-relacion

Marco metodológico
3 Capítulo 3

3.1 Análisis

3.2 Requerimientos

3.2.1 Cliente

Se obtiene información directamente desde el cliente por medio de

entrevistas para la toma de historias de usuario, así mismo se obtuvo

información por los empleados que se encargan de realizar los procesos dentro

de la empresa para conocer las necesidades que se tenían en los procesos y

requerimientos desde diferentes perspectivas.

3.2.2 Requerimientos funcionales

3.2.2.1 Ingreso de compras

Se debe ingresar mercadería al sistema únicamente por medio de

documentos como facturas, traslados y envíos, una vez ingresado el stock con

los artículos deseados se ya no se podrá realizar la anulación del ingreso con

un usuario que tenga rol de tipo estándar, los datos que se ingresaran deben

de ser obligatoriamente el nombre del proveedor, fecha de factura, numero de

factura, nit del proveedor, artículos y cantidad de los artículos a ingresar al

sistema.

Solo el usuario administrador podrá hacer anulaciones de facturas, envió o

traslados.
3.2.2.2 Control de ventas

Se podrá realizar ventas en el sistema si se tiene stock suficiente de dicho

artículo a vender, no se permite sobregirar stock de los artículos, al realizar una

venta el stock debe de ser descontado del inventario actual de la tienda e

imprimir en el formato de la factura la venta y los datos del cliente previamente

ingresados así mismo los artículos, cantidad y monto, también el cajero debe

ingresar el monto de dinero que le está dando el cliente y calcular cuánto le

debe de dar de vuelto en base a lo facturado.

3.2.2.3 Control de inventarios

Únicamente el usuario administrador podrá realizar ajustes de stock

positivos o negativos en el inventario de la empresa, se debe ingresar el

artículo, cantidad y el motivo del porque se realizará el ajuste de stock, una vez

realizado el ajuste este producto debe estar disponible para su venta. Se debe

tener la capacidad de realizar inventarios cíclicos en el sistema y al finalizar el

inventario mostrar las diferencias encontradas de los artículos contados y

teóricos en sistema.

3.2.2.4 Visualización de reporteria

Se debe de contar con reportes que permitan dar visibilidad a la dirección

que lleva la empresa, por lo cual se necesita reportes para visualización de

ventas por año, mes y día. También para visualización de compras por año,

mes y día, así mismo los artículos más vendidos y menos vendidos por año,

mes y día, y por último un reporte que muestre los días que lleva un producto

sin ser vendido.


3.2.3 Requerimientos no funcionales

Los colores de las pantallas de los diferentes módulos deben de ser de los

colores representativos para la empresa.

El software debe de ser capaz de operar sin congelamientos con hasta

500 usuarios concurrentes.

El sistema debe contar con un módulo de ayuda en los diferentes

módulos.

El sistema debe poseer interfaces graficas con colores amigables para la

vista del usuario.

3.3 Delimitaciones

3.3.1 Inicio de sesión

La contraseña debe estar encriptada por la seguridad de la información

del usuario, así mismo cada usuario al ingresar sus credenciales debe ser

redirigido a la próxima pagina que él tenga privilegios.

3.3.2 Categorías de usuario

Cada usuario debe tener los accesos a las diferentes paginas por medio

de su categoría o rol que este tenga asignado, debido que se manejara

seguridad de las diferentes transacciones a realizar dentro de la aplicación.

3.3.3 Interfaz intuitiva

El uso de la aplicación debe ser de uso fácil para los diferentes usuarios,

los usuarios no necesitarían tener conocimientos avanzados en informática para

utilizar la aplicación.
3.3.3.1 Registro de facturas

Cada ingreso deberá de contar obligatoriamente con la siguiente

información:

1. Nombre de proveedor.

2. Nit del proveedor.

3. Fecha de factura.

4. Numero de factura.

5. Artículos.

6. Cantidad de stock.

7. Precio de los artículos.

8. Tipo de pago crédito o contado.

3.3.3.2 Ingreso de envíos o traslados

Cada envió o traslado deberá contar obligatoriamente con la siguiente

información:

1. Nombre de proveedor origen.

2. Numero de documento.

3. Fecha de documento.

4. Artículos.

5. Cantidad de stock.

6. Precio de los artículos.


3.3.3.3 Ventas de mercadería

Al realizar una venta se debe rebajar la cantidad vendida del stock actual

e imprimir los datos en el formato de la factura, los datos que esta contendrá

son:

1. Lugar y fecha

2. Nombre de cliente

3. Nit de cliente

4. Cantidad

5. Descripción

6. Subtotal

7. Total

No se deberá de realizar sobre giros de stock en el sistema, articulo que no

tenga stock no podrá ser vendido.

3.3.3.4 Actualización de stock

Se debe realizar ajustes de stock únicamente con el usuario que tenga el

rol con el acceso a estas funciones. De lo contraria ningún otro usuario con otro

rol deberá ajustar stock.

3.3.3.5 Anulación de facturas, envíos o traslados de mercadería

Únicamente los usuarios con rol de administrador tendrán acceso a

realizar anulaciones de ingresos de stock al sistema.


3.3.3.6 Creación de usuarios

Los usuarios con rol administrador serán los únicos que podrán crear

usuarios nuevos en el sistema.

3.3.3.7 Cambio de roles de usuarios

Los usuarios con rol de administrador serán los únicos con cambiar los

roles o categorías de los usuarios para que estos obtengan más accesos a la

aplicación.

3.3.3.8 Inventarios manuales

Los usuarios con rol de inventario podrán realizar los inventarios

manuales dentro de la aplicación el cual indicar los artículos en donde hubo

diferencia del stock esperado contra el stock contado.

3.3.3.9 Reportes

Los reportes deben de ser visualizados en base al rol que tenga el

usuario, es decir si un reporte necesita que el usuario tenga rol de

administrador únicamente los usuarios con rol de administrador serán capaces

de visualizar este reporte, esto por seguridad a la información de la empresa y

confiabilidad.

3.3.3.10 Reporte de ventas anuales, mensuales y diarias

En este reporte se debe visualizar las ventas por año, mes y día

dependiendo del rango de fechas a consultar.


3.3.3.11 Reporte de compras anuales, mensuales y diarias

En este reporte se debe visualizar las compras por año, mes y día

dependiendo del rango de fechas a consultar.

3.3.3.12 Reporte de artículos menos vendidos

En este reporte se debe visualizar los artículos que menos se han vendido

de orden descendente en referencia al en que se realice la consulta del

reporte.

3.4 Análisis de solución

3.4.1 Arquitecturas de software

3.4.1.1 Arquitectura Modelo, Vista y Controlador (MVC)

Se utilizará la arquitectura modelo vista controlador para la realización del

sistema debido que su desarrollo en esta arquitectura es escalable y se trabaja

de una manera ordenada tanto para el desarrollo del software como para el

para el mantenimiento.

3.4.1.1.1 Modelo

Es la parte donde se contiene la representación de los datos que el

sistema manejara, así mismo contiene toda la parte lógica del software. Este

es el responsable de acceder a los datos de almacenamiento.

3.4.1.1.2 Vista

Es la parte donde se almacenará la interfaz gráfica que se le mostrara al

usuario así mismo se compone de la información que se envía al cliente y los


mecanismos de interacción con el mismo, su función principal es recibir la

información del modelo y presentárselos al usuario.

3.4.1.1.3 Controlador

Es la parte donde se maneja el modelo y vistas dependiendo las

solicitudes o interacciones que tendrá el cliente con el servidor, Es el

intermediario de gestionar la información entre el modelo y la vista con el fin

de adaptar los datos a las necesidades del usuario, su función principal es

recibir todos los eventos de entrada o reglas para interactuar con el modelo y

vista.

3.4.1.2 Base de datos

3.4.1.2.1 MySQL

Se utiliza como base de datos MySQL debido que contiene un motor de

base de datos potente y no se incurrirán en costos de licenciamientos para el

uso de la misma, En esta se almacenara toda la información ingresada por

medio de las interfaces del software para que pueda ser consultada en el

futuro, así mismo se realizara un back up cada 24 horas de la información

generada del giro del negocio. Se utilizará lo siguiente: Lenguaje de

Manipulación de Datos (DML), Lenguaje de Definición de Datos por sus siglas

en ingles DDL, Lenguaje de Control de Datos por sus siglas en ingles DCL y

por ultimo Lenguaje de Control de Transacciones por sus siglas en ingles TCL.

3.4.1.3 Tipo de aplicación a desarrollar

Se desarrollará el software en ambiente web debido que permite

escalabilidad en cualquier momento que incluso pudiese llegar a publicarse en


internet en el futuro. Se utilizará como servidor back-end Node JS el cual se

ejecuta en un entorno de para Javascript construido con el motor V8 de

Chrome y es completamente gratuito lo cual no se incurrirán en costos de

licenciamiento, como front end se utilizará React JS el cual es una biblioteca

completamente gratuita que se ejecuta en el entorno de javascript para

construir las interfaces de usuario.

3.4.2 Infraestructura

3.4.2.1 Disponible

Actualmente solo se cuenta con una computadora portátil la cual se

utilizará para el uso de la aplicación web, red con acceso a internet con

10mb/ps de velocidad, Router para comunicación inalámbrica.

3.4.2.2 Sugerida

Para la implementación de la aplicación web se sugiere optar por un

servidor en la nube con 4GB de RAM, 3 CPU Cores, 100GB SSD de espacio

de almacenamiento, el cual su costo es menor y es completamente adaptable

con las necesidades del usuario, así mismo ofrece escalabilidad de recursos en

cualquier momento, también una conexión a internet de 10 Mb/ps el cual ya se

tiene, un equipo de impresión matricial para imprimir la información en los

formatos de facturas.
3.4.3 Factibilidades

3.4.3.1 Técnica

Se muestra una tabla detallada con los recursos y características de

hardware y software que se necesita para la implementación del aplicativo web,

no se necesita contratar personal para el desarrollo debido que se tiene a la

persona con el conocimiento apto y adecuado para el desarrollo e

implementación en la empresa.
Recursos técnicos para el desarrollo del proyecto
Tipo de recurso Nombre del recurso Descripción Cantidad

Experto en el área Analista 1


de desarrollo Programador 1

Recurso Experto en el área

humano de compras e Encargado de tienda 1


inventarios
Experto en el área
Vendedor cajero 1
de ventas

3 Cores 1

4GB de RAM 1
Servidor virtual
Hardware 100GB almacenamiento de
privado en la nube 1
estado solido
Impresora matricial 1
Linux Sistema operativo 1
Node JS Servidor independiente 1
Software MariaDB Gestor de base de datos 1
Herramienta de código
React JS 1
abierto

HTML Herramienta gratuita 1

CSS Herramienta gratuita 2

Nota: La empresa cuenta con el recurso de personal expertos en compras y


ventas

Ilustración 1. Recursos técnicos.

Muestra el detalle de los recursos técnicos para la aplicación web (fuente

propia).
3.4.3.2 Operativa

El personal que labora actualmente en la empresa tiene la capacidad para

operar dispositivos móviles, cuentan con conocimientos básicos para el uso de

un sistema de cómputo, se necesitara impartir capacitaciones acerca del uso

nuevo sistema para su correcto funcionamiento. Por medio de estudios se

detectó que el personal en hardware no conoce lo suficiente de hardware por lo

cual se les impartirá una pequeña capacitación de como utilizar una impresora

y que distingan las partes básicas de una computadora para que tenga en

control de la misma y se sientan cómodos cuando se este utilizando el sistema

implementado.

¿Considera que la implementación del nuevo sistema beneficiara a

reducir los tiempos operativos en la empresa?

Si, se logran reducir tiempos operativos debido que los procesos serán

automatizados el cual la interacción humana será poca.

3.4.3.2.1 ¿Cuál es el beneficio directo e indirecto de la implantación del nuevo

sistema en la empresa?

El beneficio directo es que se tendrá al alcance la información de la

marcha del giro de la empresa lo cual beneficiara a la toma de decisiones

futuras y el control de los procesos, el beneficio indirecto es para los clientes

debido que se ofrecerá un servicio más rápido y eficiente en la venta de

productos.
3.4.3.2.2 ¿Mejorar la capacidad de atención al cliente el nuevo sistema?

Si definitivamente, debido que ya no se tendrán que hacer los reportes o

cuadres que consumían horas y esto ya se tendrá al alcance con unos

cuantos clics lo cual se le prestara mas atención al cliente en las necesidades

que tenga o ande buscando.

3.4.3.2.3 ¿Considera que la información será más integra y confiable en la

empresa?

Si, debido que se tendrá el control de la información y no cualquier

persona podrá alterarla directamente para perjudicar o beneficias a terceros o

a la propia empresa.

3.4.4 Factibilidad económica

Se logro determinar la cantidad de recursos económicos, humanos y

técnicos para el desarrollo e implementación de la aplicación web, también se

hizo el análisis del desarrollo con el costo menor de desarrollo, sostenibilidad y

manteniendo del aplicativo web para que este sea económico durante su

implementación y ciclo de vida.


Recursos humanos
Puesto Cantidad Costo unitario Total
3.4.5 Factibilidad
Analista ambiental 1 Q 7,000.00 Q 7,000.00
Programador 1 Q 5,000.00 Q 5,000.00
Encargado 1 Q 5,000.00 Q 5,000.00
Vendedor cajero 1 Q 3,000.00 Q 3,000.00
  Total Q 20,000.00
Nota: La boutique cuenta con el personal de compras y ventas por lo cual no
deberá ser contratado, en analista y programador no cobraran por los servicios.
Hardware
Servidor privado virtual
Procesador 3 Cores
Memoria RAM 4GB 1 Q49.00 /mes Q49.00 / mes
SSD 100GB
1 IP dedicada
Impresora matricial 1 Q 850.00 Q 850.00
  Total Q 899.00
Nota: Se necesita comprar los recursos de hardware la empresa no cuenta con
recursos actualmente
Ilustración 2. Factibilidad económica
Muestra el detalle de los recursos económicos a utilizar (fuente propia)

Los procesos utilizados para el desarrollo del aplicativo web únicamente

utilizan papel y tinta para la impresión de facturas, por lo cual se utilizará tinta

ecológica para evitar el daño al medio ambiente.

3.4.6 Factibilidad legal

Se recomienda adquirir todas las licencias de las herramientas de

software de terceros para evitar problemas legales en el futuro, Todas las


herramientas de los softwares para el desarrollo de la aplicación son de uso

gratuito por lo cual no se incurrirá en licenciamiento para estas.

3.5 Fase de desarrollo

3.5.1 Descripción

Para el desarrollo del software se contará con 5 fases primordiales en las

cuales se irán desarrollando los sprint con mayor prioridad para el cliente, en

donde cada fase corresponde a módulos y desarrollo primordial en el software.

3.5.2 Diagrama de Gantt

Se detallan las actividades a realizar en el ciclo de vida del proyecto del

aplicativo web.

DESARROLLO APLICACION
Semanas
WEB BOUTIQUE JOE
Abril Mayo Junio Julio Agosto Octubre
N Actividad 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3
o 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
Levantamiento de idea de
1 software                                                
Planificación de toma de
2 requerimientos                                                
Toma de requerimientos
funcionales y no
3 funcionales                                                
Análisis de propuesta de
software en base a
4 requerimientos                                                
Herramientas para el
5 desarrollo del software                                                
Propuesta de desarrollo al
6 cliente                                                
Configuración del entorno
7 del servidor                                                
Instalación herramientas
necesarias para la
8 aplicación web                                                
Instalación de base de
9 datos                                                
1 Configuración de base de
0 datos                                                
Desarrollo de base de
1 datos y preparación de
1 entorno                                                
1
2 Creación de Login                                                
1 Desarrollo de módulo de
3 compras                                                
1 Desarrollo de módulo de
4 ventas                                                
1 Desarrollo de módulo de
5 inventarios                                                
1 Creación de maestro de
6 artículos                                                
1 Implementación en el
7 servidor en la nube                                                
Pruebas seguridad y
1 rendimiento del sistema
8 en general                                                
1 Implantación en                                                
9 producción

3.5.3 Diseño del sistema

3.5.3.1 UML

Es el modelado del aplicativo web en el cual visualizamos los gráficos

para construir o observar la forma de interactuabilidad entre el usuario y el

software.

3.5.3.2 Entidad relación

Ilustración 3. Entidad relación

Muestra el detalle de la entidad de la base de datos a utilizar (fuente propia)


3.5.3.3 Casos de uso

3.5.3.4 Inicio de sesión

Servidor
Ilustración 4. Caso de uso inicio de sesión
Muestra el detalle de la entidad de la base de datos a utilizar (fuente propia)

3.5.3.5 Inserción de datos en los diferentes módulos


Ilustración 5. Caso de uso inserción de datos en los diferentes modelos.
Muestra la inserción a la base de datos (fuente propia)

3.5.3.6 Selección de módulos

Ilustración 6. Caso de uso menú de módulos


Muestra los módulos disponibles (fuente propia)
3.5.4 Diseño de interfaces

3.5.4.1 Inicio de sesión

Ilustración 7. Pantalla de inicio de sesión


Muestra el log-in del software (fuente propia)

3.5.4.2 Menú principal

Ilustración 8. Pantalla de módulos


Muestra el menú de módulos disponibles (fuente propia)

Capítulo 4

4. Menú principal

4.1. Plataformas utilizadas

4.1.1. Manipulación de base de datos SQL

Se utilizo el gestor de base de datos HeidiSQL el cual es un

administrador que permite ejecutar operaciones DDL, DML, DCL para la

administración de la base de datos MySQL.

4.1.2. Codificación de programación

Se utilizo un editor de texto para la codificación del software, el cual

nos permitió programar para el backend y frontend utilizando la

arquitectura cliente-servidor.

4.1.3. Desarrollo de APIs

Para el desarrollo y pruebas de funcionamiento se utilizó la

herramienta Postman la cual nos permite crear peticiones HTTP sobre

APIs de una manera eficiente y rápida antes de probar las peticiones en

un entorno de desarrollo de frontend o backend.

4.2. Tecnologías y arquitecturas

4.2.1. Estilo de arquitectura de software Modelo Vista Controlador (MVC)

Para la realización de codificación del backend y frontend se utilizo

el patrón de diseño MVC el cual esta basado en la arquitectura de

software que separa los datos de la aplicación, las interfaces de usuario y


la lógica de control para tener un mejor control del funcionamiento de las

APIs e interfaces de usuario.

4.2.2. Base de datos

Se utiliza MySQL para el almacenamiento y la lógica del negocio la

cual en esta se mantendrá la información con disponibilidad inmediata.

4.2.3. Backend

El backend está conformado por Node JS completamente por API

REST ful utilizando JavaScript el cual se encarga de resolver las

peticiones HTTP que le sean solicitadas para procesar o controlar

información el cual utiliza la arquitectura de modelado, control y ruteo de

datos para controlar de una manera mas eficiente los accesos y procesos

a ejecutar.

4.2.4. Frontend

El frontend se encuentra conformado por React JS está basado en

componentes que permite alta disponibilidad a peticiones por los

usuarios. Así mismo este esta diseñado para tener escalabilidad de una

manera eficiente y robusta en el desarrollo de software. El frontend esta

conformado por APIs para manipular partes del canal HTTP como

peticiones y respuestas hacia nuestro backend y renderizar de una

manera eficiente del lado del cliente.

4.2.5. Arquitectura cliente-servidor


Es un modelo de computadores el cual el cliente solicita servicios

hacia la maquina del servidor por medio de mensajes, el servidor es el

encargado de procesar y retornar una respuesta hacia el cliente.

4.2.5.1. Middleware

Se utiliza middlewares para dar accesos a controladores

específicos del servidor, estos fueron desarrolladores en código

JavaScript y ocupa una función importante entre el cliente y el

servidor, es el encargado que permite que un cliente obtenga algún

servicio del servidor si este pasa las validaciones o reglas

establecidas.

4.2.6. Arquitectura de 2 capas

Debido que el desarrollo fue separado en dos partes Backend y

Frontend se implementa la arquitectura de dos capas la cual consta de

separar las cargas de trabajo en dos unidades lógicas diferentes, es decir

en una maquina se puede tener la lógica de procesos de todo el backend

y en otra maquina la presentación y maquetación de interfaces de

usuario.

4.3. Seguridad

4.3.1. Certificado SSL


Por la interacción de peticiones HTTP se utilizará certificado SSL el

cual proporciona encriptación entre la comunicación de las peticiones

enviadas y recibidas entre el cliente y servidor.

4.3.2. JSON Web Token

En cada transacción que el cliente solicite hacer hacia el servidor

se valida por medio de un JWT para que la petición pueda ser enviada a

un controlador y este ejecute los procesos correspondientes, el token es

válido únicamente por 6 horas cuando esta caduca el usuario deberá

iniciar sesión de nuevo con sus credenciales para garantizar su

autenticidad.

4.3.3. Two Factor Authentication

El acceso al sistema de información cuenta con esta seguridad

extra la consta de una autenticación de dos pasos, la primera esta basada

en lo que sabe el usuario es decir sus credenciales privadas usuario y

contraseña, la segunda consta de enviar un código de verificación a su

correo electrónico para garantizar que es el usuario quien que se está

autenticado es quien dice ser y evitar el robo de identidad.

4.3.4. Roles de acceso

Los diferentes módulos del sistema de información cuentan con

diferentes roles de acceso a nivel de usuario, los cuales son permisos

para ejecutar acciones o visualizar información dentro de la aplicación

web

4.3.5. Protección de rutas


Para garantizar la seguridad en la visualización de pantallas y

procesos se cuentan con una ruta publica la cual es el Login y rutas

privadas en el sistema de información, para acceder a estas es necesario

que exista un usuario en la base de datos con privilegios suficientes para

acceder a ellas.

4.4. Codificación

4.4.1. Login

4.4.1.1. Backend
Para acceder al sistema se necesita que el usuario tenga

credenciales validas las cuales constan de un nombre de usuario y

una contraseña privada, como paso adicional este debe tener

acceso a su correo electrónico registrado en el sistema de

información para acceder al código de verificación que le es

enviado por el servidor si sus credenciales son válidas.

4.4.1.1.1. Generación de token

Codificacion de autenticacion de credenciales, validacion de codigo y envio


de e-mail (Fuente propia)
Una vez el usuario se autentico con sus credenciales

correctas se procede a genera un token el cual será utilizará para

las transacciones que el usuario ejecute.

Generación de token (Fuente propia).

4.4.1.1.2. Generación de código de verificación

Cuando el usuario ingresa sus credenciales

correctamente se envía un código de verificación al correo

electrónico registrado con su usuario.

Codificación de generación de código de 8 dígitos (Fuente propia).


4.4.1.2. Frontend
Es el encargado de capturar la información ingresada por el

usuario y mostrar las alertas correspondientes en la pantalla del

cliente, así mismo este envíe los datos hacer el servidor para que

los procese y retorne una respuesta que el frontend pueda

interpretar en base al mensaje JSON devuelto.

Envió de datos ingresados por el cliente hacia el servidor. (Fuente propia).


4.4.2. Funciones principales

4.4.2.1. Clase de ejecución del servidor

El software cuenta con una clase principal que es la

encargada de inicializar todas la rutas, middlewares, servidor y

variables de entorno, así mismo en esta se encuentra la lógica

general de la aplicación desde el llamado de rutas hasta el

levantado del servidor.

Clase principal del software (Fuente propia).


Capitulo 5

5. Implementación

5.1. Cronograma de implementación

Dias
No. Actividad
1 2 3 4
Backend
1 Instalacion de Node JS
2 Despliegue en produccion
Frontend
3 Compilacion y despliegue en produccion

5.2. Descripción de la implementación

5.2.1. Instalación de Node JS

Para una instalación correcta se deben ejecutar los siguientes

comandos desde la terminal de Linux con privilegios de super usuario.

Instalar NodeJS

sudo apt-get install node

sudo apt-get install nodejs

Instalar NPM (Node Package Manager)

sudo apt-get install npm


Instalar express para todos los usuarios del sistema
sudo npm install -g express
5.2.2. Despliegue en producción

Para el despliegue del sistema web se deben ejecutar los

siguientes comandos:

Verificación de módulos de NodeJS, si faltara alguno

automáticamente hace la instalación desde el repositorio oficial del npm.

npm install

Inicializamos el servidor

npm start

5.2.3. Compilación y despliegue en producción frontend

Para poder hacer un despliegue es necesario instalar módulos de

ReactJS, como actualmente se cuenta NodeJS instalado ya no es

necesario hacer la instalación de esté.

Ejecutar desde la terminal de Linux el siguiente comando.

sudo npm install -g create-react-app

Para compilar la aplicación de React es necesario ejecutar el

siguiente comando en el directorio donde se tiene la solución de ReactJS.

npm run build

Para hacer el despliegue en producción ejecutar el siguiente

comando.

npm run start


5.3. Descripción de las pruebas realizadas con usuarios finales

No. Modulo Descripcion Empleado Puesto Firma Resultado Observaciones


Al ingresar el usuario y contraseña deberia de
1 Login aparecer el campo para ingresar el codigo de Julio Mendez Vendedor cajero -
verificacion
Llega rapido el correo lo cual no
2 Login Envio de codigo de verificacion al correo Alvaro Flores Encargado hace que se pierda tiempo
esperandolo
Las respuestas del sistema son
3 Registrar usuario Registrar un nuevo usuario Alvaro Flores Encargado
rapidas
Ingresar con un usuario y contraseña de otro No permite ingresar con otra
4 Login Alvaro Flores Encargado
usuario contraseña

Pruebas de usuario final (Fuente propia).

5.4. Eventualidades ocurridas durante la implementación

Durante la implementación se detectó que no era posible iniciar el

servidor web por medio de NodeJS. Se corrigió el path en donde se

encontraba ubicación el archivo app.js para poder inicializarlo.

También podría gustarte