Está en la página 1de 63

Secretaría de Educación Pública

Tecnológico Nacional De México


Instituto Tecnológico de Veracruz

“DESARROLLO DE UNA APLICACIÓN E-COMMERCE


ENFOCADA EN VENTA DE PRODUCTO CON ALTA
INTERACTIVIDAD DE LOS USUARIOS FINALES DE
LA EMPRESA CAFES FINOS DE CORDOBA S.A DE
C.V”

TITULACIÓN INTEGRAL
INFORME TÉCNICO DE RESIDENCIA PROFESIONAL

Qué Para Obtener el Título de:


INGENIERO EN SISTEMAS COMPUTACIONALES
Presenta:
ISRAEL DE JESUS REYES RAMIREZ
Asesor:
MC.CARLOS LEY BORRAZ

H. VERACRUZ, VER. DICIEMBRE DEL 2022

DEDICATORIA

Este trabajo está dedicado

a todos aquellos que

formaron parte importante en mi educación ;

todos son los que alguna vez vieron a un niño,

joven y adulto haciendo un barco.

RESUMEN

El trabajo presente, es una propuesta tecnológica de una aplicación web para la venta de los
productos de la empresa CAFES FINOS DE CORDOBA S.A DE CV, esta propuesta surge de la
necesidad de la empresa de crear alta interactividad en los pedidos de los cliente, los cuales han
ido creciendo considerablemente a lo largo de los últimos meses, haciendo que a su vez varios
clientes desistan de hacer la compra en la empresa por el motivo de que el tiempo de espera es
muy largo y la perdida de estos clientes reflejandose en las pérdidas en la empresa.

Con la entrega de este proyecto se adjunta la aplicación web para así responder a la necesidad de
mejorar estos procesos dentro de la empresa y así pueda atraer y retener clientes, de esa forma
generar mayores ingresos, también contiene un botón de recepción de pagos a través de PayPal
el cual ayudara a que los clientes puedan hacer directamente sus pedidos a través de la aplicación
web. Con el desarrollo de la aplicación web y la implementación de la misma lo que se busca es
mejorar los tiempos de entrega, mejorar procesos de los productos del cafe, gestionar los pedidos
de venta y tomar decisiones en base a reportes gráficos que contendrá la aplicación.

Palabras clave: aplicación web, gestionar, procesos, desarrollo.


ÍNDICE

ÍNDICE...............................................................................................................................................4

ÍNDICE DE ILUSTRACIONES Y TABLAS ..................................................................................5


ILUSTRACIONES .........................................................................................................................5
TABLAS .........................................................................................................................................5

Capitulo 1. Planteamiento general del proyecto ...........................................................................6


1. Descripción general de la empresa y del departamento en donde se realizó la residencia .....7
1. Descripción general de la empresa ..................................................................................7
2. Descripción del departamento en donde se realizó la residencia ....................................9
2. Descripción de la problemática ..............................................................................................9
3. Objetivos ..............................................................................................................................10
1.3.1. Objetivo general .............................................................................................................10
1.3.2. Objetivos específicos ......................................................................................................10
4. Justificación ..........................................................................................................................11

Capitulo 2. Fundamento teórico.....................................................................................................12


2.1. Antecedentes del proyecto .....................................................................................................13
2.2. Marco teórico.........................................................................................................................14

Capitulo 3. Procedimiento y descripción de las actividades realizadas ......................................44


3.1. Cronograma de actividades ...................................................................................................45

Capitulo 4. RESULTADOS .............................................................................................................55


4.1. Aplicación web realizada para la empresa CAFES FINO DE CORDOBA S.A DE C.V .....56

CONCLUSIONES, PROPUESTAS DE MEJORA Y EXPERIENCIA PROFESIONAL ADQUIRIDA 60

COMPETENCIAS DESARROLLADAS Y/O APLICADAS POR EL RESIDENTE ..............61

Referencias Bibliográ cas...............................................................................................................62





fi






ÍNDICE DE ILUSTRACIONES Y TABLAS

ILUSTRACIONES

Ilustración 1. Proceso de venta de productos a CAFINCO .................................................13


Ilustración 2. Proceso de venta de productos CAFINCO a tiendas mayoristas ............14
Ilustración 3. Indicadores de calidad de software .................................................................31
Ilustración 4. Metodología ágil de desarrollo .........................................................................35
Ilustración 5. Metodología robusta o tradicional ...................................................................39
Ilustración 6. Flujo de procesos para la recepción de pedidos .........................................46
Ilustración 7. Casos de uso mantenimiento aplicación web ..............................................47
Ilustración 8. Modelo entidad-relación .....................................................................................55
Ilustración 9. Pantalla principal ..................................................................................................59
Ilustración 10. Pantalla menu Productos .................................................................................59
Ilustración 11. Pantalla menu Proveedores. ............................................................................60
Ilustración 12 Pantalla menu Categorías .................................................................................60
Ilustración 13. Pantalla menu Admin.........................................................................................61
Ilustración 14. Pantalla menu Pedidos .....................................................................................61
Ilustración 15. Login ......................................................................................................................62
Ilustración 16. Carrito ....................................................................................................................62
Ilustración 17. Inicio de sesión (Cliente o Administrador) ..................................................63
Ilustración 18. Proceso propuesto mediante la implementación de la aplicación web64

TABLAS

Tabla 1. Diferencia entre las metodologías ágiles y las metodologías tradicionales ..40
Tabla 2. Caso de uso para el mantenimiento de Productos ...............................................48
Tabla 3. Caso de uso de la opción Proveedores ....................................................................49
Tabla 4. Caso de uso de la opción Categorías .......................................................................50
Tabla 5. Caso de uso de la opción Admin ................................................................................51
Tabla 6. Caso de uso de la opción Pedidos ............................................................................52
Tabla 7. Descripción de la base de datos ................................................................................54

CAPITULO 1. PLANTEAMIENTO GENERAL DEL


PROYECTO

1. Descripción general de la empresa y del departamento en donde se realizó


la residencia

1. Descripción general de la empresa

Con mas de un siglo de tradición cafetalera, es una industria pionera y líder a nivel nacional en la
industrialización y comercialización del café de México, con el objetivo primordial de crearle valor
al café, contando con modernas y amplias instalaciones en Córdoba, Veracruz, lugar que además
de ser la cuna de la cafeticultura en nuestro país, se encuentra localizada estratégicamente a tan
sólo 110 km del puerto de Veracruz y 270 km de la Ciudad de México.

Desde finales del siglo XIX, el café de altura de Córdoba Veracruz ha permanecido como una de
las mas sólidas tradiciones cafetaleras en México. Se origina desde la siembra, recolección y
comercialización de los granos del café cereza hasta su procesamiento e industrialización para
llevarlo al paladar de nuestros consumidores. CAFINCO a través de alianzas estratégicas con
diversos socios comerciales, cuenta con presencia en toda la República Mexicana así como en el
extranjero. Desde 1968, nos hemos consolidado como una prestigiosa compañía cafetalera, seria
y comprometida con la calidad, orgullosamente mexicana.

Contando con certificaciones de procesos: SQF, SMETA. Certificaciones de agricultura


sustentable: UTZ, Rain Forest, USDA, FairTrade. Certificaciones globales: Kosher, Halal, FDA.
Dentro de sus principales productos desatacan:

• Café tostado

• Extracto de café

• Café soluble

• Café soluble liofilizado

• Capuchinos

• Visión: Ser siempre una organización emprendedora, creativa, competitiva y confiable, con
productos de café de la más alta calidad..

• Misión: Producir y comercializar productos de café para satisfacer a nuestros clientes, creando
valor a nuestra comunidad y a nuestros socios comerciales.

• Valores: Transparencia,Trabajo en equipo, lealtad, empatía y excelencia

• Son gente: Son lo parte fundamental de su organización.

• Sueñan en Grande: Los motiva alcanzar sus metas.

• Piensan como Dueños: Se involucran en el negocio y entregan resultados.

• Dan Resultados: Superan desafíos ambiciosos para un mejor futuro.

• Son Auténticos: Viven con naturalidad y nos expresan con transparencia y honestidad.

• No Toman Atajos: Eligen el camino correcto, no el más fácil.

Certificaciones:

• Safe Quality food

• Agricultura Sustentable

• Comunidad Global

• FDA

Relación de la empresa con la sociedad: Crearle el valor al cafe por medio del trabajo colectivo exis-
tente por parte de los colaboradores de tal medida creando oportunidades de trabajo para el desarrollo y el
bienestar de Cafinco ofertando un medio sustentable con escalabildad de todos aquellos que forman parte
de la comunidad de Cafinco

Agricultura Sustentable: Cafinco en su afán de ofrecer cafés sustentables a sus clientes, conta-
mos con las certificaciones Rainforest Alliance, USDA Organic y Fair Trade. Entendemos que la
sustentabilidad no sólo se logra cuidando el medio ambiente y trabajando bajo mejores estándares
sociales, sino también apoyando a los productores a ser más eficientes, incrementando la produc-
tividad y calidad de sus cosechas, y asegurando una relación justa entre productores y consumi-
dores desde el inicio de la cadena productiva, lo que conllevará a mejorar su nivel de vida..

2. Descripción del departamento en donde se realizó la residencia

El Departamento de informática tiene como objetivos:

• Mantener un control de todos los archivos digitales que maneja la compañía.

Además de ello se tiene las siguientes funciones:

• Supervisar los trabajos encargados de acuerdos a las demás áreas.

• Mantener un control de toda la información que entra y sale de la empresa.

• Registro de los empleados.

2. Descripción de la problemática

Actualmente la empresa CAFES FINOS DE CORDOBA S.A DE C.V no cuenta con sistemas de
informaci n o nuevos modelos de negocio que le permitan vender sus productos y ofertarlos en la
web, para incrementar sus ventas frente a su competencia. El modo de competitividad que tienen
frente a su competencia est enfocada en metodolog as de publicidad dirigida a un p blico muy
reducido como lo son p ginas amarillas, siendo que en la actualidad no son medios capaces de
llegar a un sector competitivo en el mercado. Otro de los hechos que suceden en la empresa es
que los productos que llegan no son registrados en un sistema de informaci n que brinde la posi-
bilidad de consultar si se cuenta con un determinado producto; por el contrario solo es contada y
revisada de lo cu l no se tiene el control de las entradas y las salidas de los mismo.

CAFES FINOS DE CORDOBA S.A DE C.V utiliza un método que consiste en que el cliente se
acerque a la empresa, el cliente realiza su pedido, luego se retira de la empresa y después de un
par de días, nuevamente el cliente se acerca para retirar su pedido.

Durante todo este proceso, el tiempo que le toma a un cliente desde que llega al local, hasta que
recibe su pedido, transcurre entre 1 y 7 días aproximadamente. Teniendo en cuenta el tiempo
aproximado que toma despachar a un solo cliente, existen varios clientes que para no perder tanto
tiempo, desisten de comprar en el local y compran en otros lugares lo cual para la empresa repre-
senta perdida tanto de clientes como de ganancias.







De igual manera existen otros problemas dentro de la empresa, entre los cuales se pueden
resaltar el abastecimiento de algunos productos, en este caso se refleja en las ganancias de la
empresa, porque no tienen un debido control de los productos y las ventas, la empresa se abaste-
ce de materia prima sin saber cuándo se venderán los productos.

Estos problemas que se encontraron en la empresa son tan relevantes como para hacer que la
empresa quiebre, de igual manera deben ser solucionados ya que existe la posibilidad de que en
un futuro se establezca otra empresa que preste mejor servicio a sus clientes inclusivamente
reduzca considerablemente sus tiempos de espera de forma que hará que los clientes sus pedidos
a la competencia.

Por lo tanto, la problemática actual de la empresa es el tiempo, ya que para atender a un solo
cliente, suelen tomar de 1 a 7 días por lo máximo, se le asigna mucho tiempo a un solo cliente y
esto le hace tener una desventaja competitiva contra las demás empresas. También el tema del
abastecimiento de productos, ¿Cuál se vende más?, ¿Cuál se vende menos?,¿ Por qué no abas-
tecerse de los productos que más se venden de los que menos se venden? Este es otro problema
a resolver. Se necesita gestionar los pedidos de venta de lácteos y así se pueda tomar decisiones
certeras en base a reportes de venta.

3. Objetivos

1.3.1. Objetivo general

Diseñar y desarrollar una aplicación E-COMMERCE para la comercialización de los productos


manejados en la empresa CAFES FINOS DE CORDOBA S.A DE C.V. que permita manejar las
transacciones y trazabilidad de ventas efectuadas por los clientes, así como también el control del
inventario en una interfaz web con una interactividad visual agradable al usuario.

1.3.2. Objetivos específicos

1. Solicitar los requisitos del sistema a desarrollar.

2. Realizar el respectivo análisis sobre la situación o el estado actual de la empresa para es-
tudiar alternativas de solución.

3. Investigar sobre la arquitectura cliente-servidor.

10

4. Investigar los conceptos referentes al desarrollo web(HTTP,HTTPS, microservicios, APIs).

5. Investigar los nuevos modelos de negocio para la fase de implementación.

6. Analizar el sistema actual de manejo de datos para lograr un posible resultado.

7. Diseñar y realizar una base de datos la cuál contenga el inventario que maneja la empresa.

8. Investigar el uso de estilos de imágenes tridimensionales.

9. Diseñar la aplicación con el modelo E-COMMERCE.

10. Diseñar las interfaces gráficas para el E-COMMERCE.

11. Desarrollar la aplicación con el modelo E-COMMERCE.

4. Justificación

El presente proyecto se justifica porque permitirá resolver el problema de gestión y ventas de


productos de cafe mediante el desarrollo de una aplicación web a la empresa CAFES FINOS DE
CORDOBA S.A DE C.V.

Con ayuda de la aplicación web podrá dicho cliente hacer el pedido por la aplicación y ahorrarse
ese par de días de espera, para que solo llegue a la empresa, reciba su pedido y de la misma
manera pueda retirarse.

Este proyecto también se justifica porque nace como fruto de los requerimientos de la
comercializadora CAFES FINOS DE CORDOBA S.A DE C.V. con una evaluación y reflexión de las
acciones desarrolladas desde años atrás con fundamentos en actualización logrando llevar un me-
jor control de su sistema de datos actual. El nuevo modelo de negocio a implementar va dar la fa-
cilidad de tener una disminución de los costos, la calidad de los bienes, servicios y un soporte que
le permita a los clientes tener una confirmación de sus productos a través de los sistemas de tra-
zabilidad; por otro parte estas nuevas tecnologías se soportan en modelos orientados en prototi-
pos que van a permitir un funcionamiento limitado en cuanto a capacidades, confiabilidad y efi-
ciencia.

CAPITULO 2. FUNDAMENTO TEÓRICO

12

2.1. Antecedentes del proyecto

Jean Nicolás Pantoja Castillo (2020); con el trabajo de investigación: “Desarrollo de una
aplicación web para la gestión de inventarios” presentado en la Empresa Solutions S.A.S en
Huancayo-Perú.

Para el desarrollo del trabajo, la metodología de investigación determinada fue de tipo inductivo-
deductivo, el cual permitió dos enfoques, uno general y otro específico, los cuales permitieron
abarcar el tema de estudio completamente.

Se determinó la población en 90 pedidos de productos para el indicador Tiempo de Entrega y 200


artículos de la empresa para el indicador Pérdida Desconocida. La muestra se tomó en base a 73
pedidos para el indicador Tiempo de Entrega, los cuales se midieron en cuatro semanas, y 132
artículos para el indicador Pérdidas Desconocida, estratificados en 33 tipos de artículos por mes.
El muestreo realizado es del tipo probabilístico. La técnica de recolección de datos fue la observa-
ción estructurada y el instrumento las fichas de observación. La implementación de la aplicación
web para la Gestión de Inventarios determinó una disminución del 3,42% a 0,77% para el indica-
dor Pérdida Desconocida; y de 1,82 días a 0,79 días con respecto al indicador de Plazo de Entre-
ga. Por lo tanto, se concluye que la aplicación web mejoró la gestión de Inventarios en la empresa
Solutions S.A.C.

Jorge Jeancarlo Ponce Acuña (2017); con la tesis de grado: "Propuesta tecnológica de una
aplicación web multiplataforma para la gestión de pedidos en la microempresa Finca Cafe-
talera Acuña" presentado en la Microempresa Finca Cafetalera Acuña en Guayaquil-Ecua-
dor.

En esta propuesta tecnológica se realizó una aplicación web que contiene un botón de recepción
de pagos a través de PayPal en el cual ayudo a que los clientes puedan pedir directamente sus
pedidos a través de la página. Con el desarrollo de la aplicación web y la implementación de la
misma lo que se busco es automatizar algunos procesos, gestionar los pedidos, tomar decisiones
en base a reportes e incluso vender a través de la misma. Se aplicó la metodología del ciclo de
vida de los sistemas de aplicación, es decir considerando las etapas de análisis, desarrollo, prue-
ba, implementación y mantenimiento. El desarrollo de este trabajo está basado en tecnologías
multiplataforma; se hizo uso de lenguajes de programación como el HTML, JavaScript y PHP, así
como Hojas de Estilos (CSS). Como servidor web se utilizó el Apache y como gestor de bases de

datos el MySQL, para crear y editar las páginas se recurrió al Dreamweaver CS5. Además, como
metodología de desarrollo Extreme Programming (XP).

Joseph Antony Mendoza Santos (2018); con la tesis de grado: "Aplicación web para la me-
jora de gestión de ventas de bebidas" presentado en la Empresa Bradon en Lima-Perú.

Se realizó una aplicación para la optimización del proceso de ventas y control de stock de produc-
tos. Se concluyó la importancia de un sistema de gestión de ventas, que agilizara los productos de
ventas y mantenimiento de stock, ya que el mismo evita la pérdida de información dado que estará
almacenada en una base de datos confiable que permitirá centralizar toda la información.

El trabajo de investigación realizado presento el desarrollo de una aplicación web de ventas para
la mejora de la gestión de ventas de bebidas. Para su desarrollo se utilizó la metodología de Pro-
ceso Racional Unificado (RUP), el cual tiene como objetivo asegurar que la producción del softwa-
re sea de alta calidad y satisfaga las necesidades de los trabajadores en la empresa Brandon.

2.2. Marco teórico

Este capítulo contiene todos las teorías que consultaron para el desarrollo del presente trabajo;
encontrando una gran variedad de fuentes que generaron ideas de investigación; así como los
conceptos que sustentan el tema principal, en tesis, libros, revistas científicas por mencionar algu-
nas.

2.2.1 ¿Qué es una empresa?

En palabras de Sánchez Galán (2019) él dice que una empresa es:

Una organización de personas y recursos que buscan la consecución de un beneficio económico


con el desarrollo de una actividad en particular. Esta unidad productiva puede contar con una sola
persona y debe buscar el lucro y alcanzar una serie de objetivos marcados en su formación.
(párr. 1)

Clasificación de las empresas

De acuerdo con los colaboradores de los proyectos Wikimedia (2003) dicen que la clasificación de
las empresas es de la siguiente forma:

14

a. Según las relaciones que mantengan con otras empresas y con otros clientes

• Empresas aisladas o de lazo cerrado.

• Redes de empresas o empresas de lazo abierto.

b. Según el sector de la actividad

• Empresas del sector primario.

• Empresas del sector secundario.

• Empresas del sector terciario.

• Empresas del sector cuaternario.

c. Una clasificación alternativa seria

• Industriales.

• Comerciales.

• Servicio.

d. Según la forma jurídica

• Empresas individuales.

• Empresas societarias o sociedades.

• Las corporativas u otras organizaciones de economía social.

e. Según su tamaño

• Microempresa.

• Pequeña empresa.

• Mediana empresa.

• Gran Empresa.

f. Según su ámbito de actuación

• Empresas locales.

• Empresas nacionales.

• Empresas multinacionales o empresas internacionales.

• Empresas Transnacionales.

g. Según la cuota de mercado que poseen las empresas

• Empresa aspirante.

• Empresa especialista.

2.2.2 ¿Qué es la logística?

En palabras de Sevilla Arias (2019) dice que la logística “son todas las operaciones llevadas a
cabo para hacer posible que un producto llegue al consumidor desde el lugar donde se obtienen
las materias primas, pasando por el lugar de su producción” (párr. 1).

2.2.3 ¿Qué es la gestión de inventarios?

En palabras de Westreicher (2019) se dice que “la gestión de inventarios es el administración res-
pecto al ingreso y salida de insumos, productos terminados o semiterminados, bienes auxiliares y
herramientas que posee una empresa” (párr. 1).

2.2.4 Procesos de la empresa para atender un pedido

2.2.5 Proceso de venta de productos Cafinco

Ilustración 1. Proceso de venta de


productos CAFINCO
Elaboración propia (2022)

16

2.2.6 Proceso de venta de productos CAFINCO a tiendas mayoristas y minoristas

Ilustración 2. Proceso de venta de productos CAFINCo tiendas mayoristas


Fuente: Elaboración propia (2022)

2.2.7 Internet y la web

Internet y la web han influido enormemente tanto en el mundo de la informática como en la socie-
dad en general. Si hablamos de la web, en poco menos de 10 años ha transformado radicalmente
los sistemas informáticos rompiendo las barreras físicas (en relación a distancia), económicas y
lógicas y ha abierto un mundo de nuevas posibilidades.

2.2.8 Tipos de e-commerce

Entre los modelos más utilizados se puede destacar:

Tiendas virtuales

Consiste en abrir una empresa o establecimiento a través de la red y que pueda tener como
objetivo promocionar a la compañía, sus productos o servicios (Modelo de ventas Business to
Consumer-B2C). La compañía mediante este tipo de negocio no sólo establece un medio global
de contacto con sus clientes, sino una nueva forma de establecer transacciones comerciales con
clientes finales.

Permite la tramitación de información a clientes, pedidos y sus cobros a través de lo que se


denomina Terminal Punto de Venta Virtual (TPV-Virtual) que tramita el pago con tarjetas de crédito
y en algunos casos débito, añadiéndoles otras modalidades de pago tradicionales como son la
transferencia y el contra reembolso, en última instancia se están incluyendo sistemas de pagos

vinculado a la telefonía móvil. En este punto una característica fundamental es la generación de


confianza a los usuarios para la inclusión de números de tarjeta, en sistemas seguros y en
interfaces de la propia entidad bancaria.

Los principales beneficios para las empresas de este tipo de negocio son el aumento de la de-
manda de los clientes, Globalización del negocio y el acceso a nuevos mercados con una peque-
ña inversión, ya sea aprovechando un desarrollo estándar realizado para otra tienda virtual o a
medida, permitiendo la venta de los productos con inventarios mínimos, en el caso de bienes físi-
cos, o sin inventarios en el caso de bienes digitales.

E-Procurement o aprovisionamientos electrónicos

También llamados buysite, consiste en el aprovisionamiento, o suministro de productos o servicios,


donde grandes, medianas empresas o autoridades públicas, reúnes a grandes cantidades de
empresas suministradoras, aprovechando la competencia generada entre éstos para reducir.
costes, mejorar la calidad y velocidad del servicio.

Para los proveedores se traduce en una mayor oportunidad de negocio, menor coste de
presentación de ofertas y posibilidad de acceder a compañías que hasta la fecha quedaban fuera
de su alcance.

Subasta electrónica

El mecanismo es similar al tradicional; pero permite un seguimiento al momento, visualizar los


objetos mediante presentaciones multimedia y el acceso a un mercado global. La fuente de.
ingresos viene del cobro de comisiones, la publicidad y la posible venta de la plataforma.
tecnológica para la realización de este tipo de operaciones. Para el comprador y el vendedor se
presenta como un incremento en la agilidad, eficiencia del mercado y ahorro considerable de
tiempo, no es necesario desplazarse hasta que el acuerdo haya sido cerrado.Los beneficios para
el vendedor se traducen en una salida a los excedentes de stocks, mejor utilización de la
capacidad de producción y una reducción de los costes de venta. En algunos casos, supone un
riesgo para el propietario del sitio web, ya que se han dado casos de subastas de bienes ilegales
perseguidos por la ley. Para el comprador los beneficios son la reducción del coste de adquisición
de los productos o servicios comprados.

18

Centro comercial virtual

El Centro Comercial Virtual o e-mail está enfocado a consumidores y básicamente compuesto por
un gran número de tiendas virtuales que se asocian bajo unas características comunes, tales
como una marca o un sector del mercado. De esta forma pueden generar servicios adicionales,
tales como sistemas de ayudas, foros de debate, charlas de usuarios.

Los beneficios del promotor del e-mail pueden venir por la venta de la tecnología, comisión por
ventas realizadas, venta de espacios publicitarios, tráfico de red de tiendas, alojamiento, etc.

Mercado electrónico

El Mercado Electrónico, “marketplace” o “e-market” es un mercado en plena emergencia y consiste


fundamentalmente en ceder servicios a terceros.

Es muy parecido al modelo de negocio anterior pero enfocado al B2B (Modelo de ventas
Business-to-Business). El principal interés viene por parte de bancos, proveedores de acceso a
Internet (ISP) y otros proveedores de servicios. Un “marketplace” es un mercado virtual que, como
mercado tradicional, está formado por compradores y vendedores. La diferencia es que, gracias a
la transmisión electrónica de los datos, todo el proceso se ve mejorado por la mayor información
que tienen los compradores y vendedores; además, se obtienen beneficios en los costes, y el
encuentro entre oferta y demanda es más ágil.

Un mercado virtual es una plataforma “on-line” en la que se cruzan las demandas y ofertas de
compradores y vendedores. El mercado virtual actúa de intermediario entre las dos partes,algunos
de ellos incorporan la posibilidad de firmar las operaciones teniendo la misma validez de la firma
manuscrita.

2.2.9 Aplicaciones web

El concepto de aplicación web no es nuevo, en sí, uno de los primeros lenguajes de programación
para el desarrollo de aplicaciones web es “Perl” el cual fue inventado por:

Larry Wall en 1987. Pero fue en 1995 cuando el programador Rasmus Lerdorf puso a disposición
el lenguaje PHP con lo que el desarrollo de aplicaciones web realmente despego. A partir de ahí

empezaron a aparecer nuevos lenguajes como JavaScript o HTML, etc. Según Strapp Inc (2019)
“Una aplicación web es un tipo de software que se codifica en un lenguaje que pueda ser
soportado y ejecutado por los navegadores de Internet o por una intranet o red local” (párr. 1).

2.2.10Aplicaciones web multiplataforma

Las aplicaciones web suelen ser descritas como multiplataforma, ya que, idealmente, se puede
acceder desde cualquier navegador web en diferentes Sistemas Operativos. Este tipo de aplica-
ciones por lo general usan una arquitectura cliente-servidor, y pueden variar en complejidad y fun-
cionalidad dependiendo del navegador web que sea ejecutada. Una gran ventaja de crear aplica-
ciones multiplaforma es para aquellos que vienen del desarrollo web, el programador web puede
utilizar su experiencia para introducirse en el desarrollo de este tipo de aplicaciones de forma rápi-
da y sencilla.

2.2.11 Tecnologías web

En palabras de Pérez Capdevila (2007) él dice que:

Las tecnologías web sirven para acceder a los recursos de conocimiento disponibles en internet o
en las intranets utilizando un navegador. Están muy extendidas por muchas razones: facilitan el
desarrollo de sistemas de Gestión del Conocimiento (en lo adelante GC), su flexibilidad en térmi-
nos de escalabildad, es decir, a la hora de expandir el sistema; su sencillez de uso y que imitan la
forma de relacionarse de las personas, al poner a disposición de todo el conocimiento de los de-
más, por encima de jerarquías, barreras formales u otras cuestiones. Estas tecnologías pueden
llegar a proporcionar recursos estratégicos, pero, evidentemente, no por la tecnología en sí mis-
ma, que está disponible ampliamente, sino por lo fácil que es personalizarla y construir con ella
sistemas de GC propietarios de la empresa. (párr. 3)

Internet, intranets o extranet permiten a los usuarios el acceso a una gran cantidad de información:
leer publicaciones periódicas, buscar referencias en bibliotecas, realizar paseos virtuales por mu-
seos, compras electrónicas y otras muchas funciones. Gracias a la forma en que está organizada
la Word Wide Web (WWW), los usuarios pueden saltar de un recurso a otro con facilidad (Pérez
Capdevila, 2007, párr.4).A continuación, se detallan fundamentos básicos de las tecnologías web:

20

HTML5

En palabras de Pérez Valdés (2007) dice que “HyperText Markup Language (HTML) es el lenguaje
utilizado para describir y definir el contenido de una página web en un formato bien estructurado”
(párr. 3).

Ventajas

• Sencillo que permite describir hipertexto.

• Texto presentado de forma estructurada y agradable.

• No necesita de grandes conocimientos cuando se cuenta con un editor de páginas web o WY-
SIWYG.

• Archivos pequeños.

• Despliegue rápido.

• Lenguaje de fácil aprendizaje.

• Lo admiten todos los exploradores.

Desventajas

• Lenguaje estático.

• La interpretación de cada navegador puede ser diferente.

• Guarda muchas etiquetas que pueden convertirse en “basura” y dificultan la corrección.

• El diseño es más lento.

• Las etiquetas son muy limitadas.

CSS3

De acuerdo con Pérez Valdés (2007) el cual dice que:

Las hojas de estilo en cascada, en inglés Cascading Style Sheets (CSS), fueron diseñadas y
desarrolladas por la world wide web Consortium (W3C). Una hoja de estilos CSS es el tipo de
documento que utiliza un navegador web para redefinir las propiedades de los distintos elementos
y las etiquetas en el código HTML. Permite dar formato a los documentos de forma global.
Proporciona al diseñador de páginas web definir un conjunto de ampliaciones HTML especiales y
aplicarlas al documento. Provee la especificación e intercambio de los fondos para textos y
documentos, así como sus tipos y tamaños de fuente. Las definiciones del formato de un.
documento se pueden colocar en archivos separados y aplicarlas a un grupo de documentos.
Posibilitan además aplicar un formato modificado a documentos HTML ya existentes. Con los CSS
se puede aplicar a un documento diferentes estilos de orígenes (párr. 10).

Los CSS constituyen una herramienta poderosa para el diseño de documentos HTML, pues.
permiten modificar la representación del documento mediante la asignación de un nuevo estilo.
Cascading Style Sheets (CSS) u Hojas de estilo en cascada se utiliza para describir el aspecto o
presentación del contenido en una página web (Pérez Valdés, 2007, párr. 11).

JavaScript

Como dice Pérez Valdés (2007) “JavaScript es el lenguaje de programación que se ejecuta en el
navegador y que se utiliza para crear sitios web interactivos y aplicaciones avanzadas, para que
sean ejecutadas de modo seguro en el navegador” (párr. 6).

Ventajas

• Lenguaje de scripting seguro y fiable.

• Los scripts tienen capacidades limitadas, por razones de seguridad.

• El código JavaScript se ejecuta en el cliente.

Desventajas

• Código expuesto al usuario y se puede descargar totalmente.

• Se expone al peligro la seguridad del sitio web, con el problema llamado XSS (Cross Site Scrip-
ting).

22

AJAX

En palabra de B (2022) dice que “AJAX significa JavaScript asíncrono y XML (Asynchronous
JavaScript and XML). Es un conjunto de técnicas de desarrollo web que permiten que las aplica-
ciones web funcionen de forma asíncrona, procesando cualquier solicitud al servidor en segundo
plano” (párr. 1).

PHP

En palabras de Pérez Valdés (2007) dice que:

PHP, siglas recursivas en inglés de Hypertext Preprocessor (procesador de hipertexto), es un


lenguaje de programación de propósito general de código del lado del servidor originalmente
diseñado para el desarrollo web de contenido dinámico. Es considerado como uno de los
originarios lenguajes para la programación de parte del servidor que se incrustaban en un archivo
de HTML y ya no era necesario llamar a un archivo externo. El código fuente es interpretado por
en el lado del servidor que genera la página web que se visualizará. PHP ha evolucionado por lo
que ahora incluye también una interfaz de línea de comandos que puede ser usada en aplicacio-
nes gráficas independientes. Puede ser usado en la mayoría de los servidores web al igual que en
casi todos los sistemas operativos y plataformas sin ningún costo (párr. 15).

Ventajas

• Muy fácil de aprender.

• Es un lenguaje muy rápido.

• Soporta en parta la programación orientación a objeto.

• Es multiplataforma y libre.

• Se conecta fácilmente con MySQL, PostgreSQL, Oracle, SQL Server, etc.

• Capacidad de expandir su potencial utilizando módulos.

• Cuenta con documentación en su página oficial.

• Posee muchas funciones.

Desventajas

• Se necesita instalar un servidor web.

• Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto, puede ser más ineficiente a
medida que las solicitudes aumenten de número.

• La legibilidad del código puede verse afectada al mezclar sentencias HTML y PHP.

• La programación orientada a objetos es aún muy deficiente para aplicaciones grandes.

• Dificulta la modularización.

• Dificulta la organización por capas de la aplicación.

MySQL

En palabras de Robledano (2019) dice que:

MySQL es un sistema de gestión de bases de datos que cuenta con una doble licencia. Por una
parte es de código abierto, pero por otra, cuenta con una versión comercial gestionada por la
compañía Oracle. Las versiones Enterprise, diseñadas para aquellas empresas que quieran
incorporarlo en productos privativos, incluyen productos o servicios adicionales tales como herra-
mientas de monitorización y asistencia técnica oficial. (párr. 3-4)

Características de MySQL

MySQL presenta algunas ventajas que lo hacen muy interesante para los desarrolladores. La más
evidente es que trabaja con bases de datos relacionales, es decir, utiliza tablas múltiples que se
interconectan entre sí para almacenar la información y organizarla correctamente. Al ser basada en
código abierto es fácilmente accesible y la inmensa mayoría de programadores que trabajan en
desarrollo web han pasado usar MySQL en alguno de sus proyectos porque al estar ampliamente
extendido cuenta además con una ingente comunidad que ofrece soporte a otros usuarios. Pero es-
tas no son las únicas características como veremos a continuación:

24

• Arquitectura Cliente y Servidor: MySQL basa su funcionamiento en un modelo cliente y servidor.


Es decir, clientes y servidores se comunican entre sí de manera diferenciada para un mejor rendi-
miento. Cada cliente puede hacer consultas a través del sistema de registro para obtener datos,
modificarlos, guardar estos cambios o establecer nuevas tablas de registros, por ejemplo. (Roble-
dano, 2019, párr. 7)

• Compatibilidad con SQL: SQL es un lenguaje generalizado dentro de la industria. Al ser un están-
dar MySQL ofrece plena compatibilidad por lo que si has trabajado en otro motor de bases de datos
no tendrás problemas en migrar a MySQL. (Robledano, 2019, párr. 8)

• Vistas: Desde la versión 5.0 de MySQL se ofrece compatibilidad para poder configurar vistas per-
sonalizadas del mismo modo que podemos hacerlo en otras bases de datos SQL. En bases de da-
tos de gran tamaño las vistas se hacen un recurso imprescindible. (Robledano, 2019, párr. 9)

• Procedimientos almacenados: MySQL posee la característica de no procesar las tablas directa-


mente sino que a través de procedimientos almacenados es posible incrementar la eficacia de
nuestra implementación. (Robledano, 2019, párr. 10)

• Desencadenantes: MySQL permite además poder automatizar ciertas tareas dentro de nuestra
base de datos. En el momento que se produce un evento otro es lanzado para actualizar registros u
optimizar su funcionalidad. (Robledano, 2019, párr. 11)

• Transacciones: Una transacción representa la actuación de diversas operaciones en la base de


datos como un dispositivo. El sistema de base de registros avala que todos los procedimientos se
establezcan correctamente o ninguna de ellas. En caso por ejemplo de una falla de energía, cuando
el monitor falla u ocurre algún otro inconveniente, el sistema opta por preservar la integridad de la
base de datos resguardando la información. (Robledano, 2019, párr. 12)

2.2.11 Servidores web

(de la cruz Villar, 2006) sostiene que los servidores web vienen hacer un programa que utiliza los pro-
tocolos de transferencia de hipertextos, HTTP, para servir los archivos que forman páginas web a los
usuarios, en respuesta a sus solicitudes, que son reenviados por los clientes HTTP de sus compu-
tadoras. Así mismo, las computadoras y dispositivos dedicados también se les pueden denominar
servidores web.

a.Servicios

Internet: Internet es el conjunto o la unión de todas las redes y computadoras que se encuentran dis-
tribuidas por todo el mundo y ofrecen múltiples servicios como: mensajería o correo electrónico, co-
municación asíncrona y síncrona, diversión, ocio, etc.

Página web: Viene hacer la información que se muestra en la web en formato HTML conteniendo
enlaces a otras páginas.

Navegador web: Cuando se desea ingresar a una página web o establecer conexión a un servidor
web para obtener información y servicios es necesario utilizar los navegadores web los cuales deben
estar instalados en la computadora del cliente.

Servidor: El servidor es un software especial que se encarga de suministrar servicios a los clientes
que solicitan (de la Cruz Villar, 2006).

b. Protocolos del Servidor Web

Los protocolos vienen hacer un conjunto de reglas que rigen o administran el intercambio de datos
entre los componentes y equipos de cómputo de una red de datos, es decir, es la forma de comuni-
cación “que utilizan” los ordenadores para comunicarse entre sí. En la actualidad, hay mucha varie-
dad de protocolos bien definidos como: HTTP, FTP, POP3, SMTP, ICMP, etc.

• Protocolo HTTP: Permite la transferencia de archivos en formato HTML mediante una cadena de
caracteres denominado dirección URL.

• Protocolo FTP: Es uno de los protocolos más antiguos y más usados en la web. Permite la transfe-
rencia de archivos entre los equipos de una red, sin necesidad de que el usuario inicie una sesión
en el host remoto. (de la Cruz Villar, 2006).

26

2.2.12 Base de datos

En palabras de Blázquez Ochando (2014) dice que:

Una base de datos es una colección de contenidos textuales, alfanuméricos o numéricos altamente
estructurados y organizados para su almacenamiento. Las bases de datos ofrecen la posibilidad de
inferir en la edición, inserción, eliminación, actualización y creación de tablas, campos, registros y
datos mediante un lenguaje de programación, consulta o recuperación. (párr. 1)

Como dice Blázquez Ochando (2014) que:

El lenguaje de inferencia en base de datos tiene como finalidad declarar el objetivo, declarar la
operación que se pretende realizar, qué información se debe seleccionar y con qué especificaciones.
Por otra parte, permiten la concurrencia de múltiples usuarios en la manipulación y edición de los
contenidos. Lo anterior significa que están diseñadas para ordenar las peticiones y operaciones de
los mismos, estableciendo una prioridad en su resolución. Las bases de datos se caracterizan por la
independencia de los datos que en principio permite la interoperabilidad de la información entre
diversos sistemas de BD, denominándose a esta propiedad, la capacidad de migración de datos. Una
base de datos reduce la posibilidad de redundancia o duplicación de los datos, mejorando el aprove-
chamiento del espacio y la inconsistencia de la información almacenada, ayudando a facilitar su
normalización y sistematización. (párr. 1)

Una base de datos es un almacén que tiene las características de ser:

• Compartido: Varios usuarios pueden tener acceso a la vez a éste.

• Integrado: Es visto como una unidad, aun cuando esté formado por varios archivos de diferentes
tipos de datos.

• Proporciona independencia de datos y de programas: Por este concepto se entiende que la


modificación de la distribución y la organización física de los datos no afectan ni la estructura lógica
general ni los programas de aplicación.

Según Alvarez (2007) dice que una base de datos puede ser utilizada por varias aplicaciones y
usuarios. Toda base de datos debe permitir insertar, modificar y borrar datos por lo que en las bases
de datos se guarda información de dos tipos:

• Los datos de usuarios (datos usados por las aplicaciones).

• Los datos de sistema (datos que la base de datos utiliza para su gestión).

Para considerar a una base de datos organizada debe cumplir los siguientes objetivos:

• Tiene que ser versátil: Esto quiere decir que, dependiendo de los usuarios o las aplicaciones,
puedan hacer diferentes cosas o traten a los datos de formas distintas.

• Tiene que atender con la rapidez adecuada a cada aplicación o empresa, atendiendo a lo que se la
requiera.

• Tiene que tener un índice de redundancia lo más bajo posible.

• Tener una alta capacidad de acceso para ganar el mayor tiempo posible en la realización de consul-
tas.

• Tener un alto índice de integridad, esto significa que al tener muchos usuarios atacando a una mis-
ma base de datos no puede haber fallos en la inserción de datos, errores por redundancia o lenta
actualización.

• Por supuesto tienen que tener un nivel altísimo de seguridad y privacidad ya que los datos que se
pueden almacenar en una base de datos pueden ser altamente confidenciales o importantes.

28

De acuerdo con Blázquez Ochando (2014):

Las bases de datos se componen a partir de tablas que son estructuras compuestas por filas y co-
lumnas. Las columnas representan los campos de la descripción de un registro. El registro de la
tabla queda localizado en las filas de la tabla. De esta forma la tabla contiene todos los aspectos
de la descripción de un ítem u objeto de descripción mediante la definición de los campos o meta-
datos especializados. Por ejemplo, un libro puede ser descrito a partir de una serie de elementos
denotativos y connotativos que se denominan áreas de descripción y asientos bibliográficos. Entre
ellos se encuentran los campos de título, subtítulo, título paralelo, otras formas del título, autorida-
des personales, autoridades corporativas, autoridades familiares, autoridades geográficas, autori-
dades editoriales, edición, mención de edición, serie, número de serie, fecha de publicación, nú-
mero de páginas, dimensiones del documento, signatura topográfica, clasificación decimal, clasifi-
cación por tesauro, etiquetas, puntos de acceso, palabras clave, resumen, sumario, índice, texto
completo, dirección URL del documento original, etc. Todos los aspectos señalados permiten la
descripción del documento a partir de ciertos datos identificables en el documento, que lo convier-
ten en un ejemplar único en la tabla y en la base de datos. (párr. 3)

2.2.13 Sistema de Gestión de Base de Datos (SGBD)

Según Blázquez Ochando (2014) dice que:

Se le denomina SGBD al sistema que permite la manipulación de las bases de datos mediante
una interfaz que compone las sentencias de consultas y edición de dicha base de datos. Este sis-
tema evita gestionar los componentes de la base de datos, facilitando su diseño, construcción de
las tablas, campos y características. (párr.2)

a. Características de un SGBD

• Abstracción de la información: Los SGBD ahorran a los usuarios detalles acerca del almace-
namiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos,
este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.

• Independencia: La independencia de los datos consiste en la capacidad de modificar el esque-


ma (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que
se sirven de ella.

• Redundancia mínima: Un buen diseño de una base de datos logrará evitar la aparición de in-
formación repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstan-
te, en algunos casos la complejidad de los cálculos hace necesaria la aparición de redundancias.

• Consistencia: En aquellos casos en los que no se ha logrado esta redundancia nula, será nece-
sario vigilar que aquella información que aparece repetida se actualice de forma coherente, es
decir, que todos los datos repetidos se actualicen de forma simultánea.

• Seguridad: La información almacenada en una base de datos puede llegar a tener un gran valor.
Los SGBD deben garantizar que esta información se encuentra segura frente a usuarios malin-
tencionados, que intenten leer información privilegiada; frente a ataques que deseen manipular o
destruir la información; o simplemente ante las torpezas de algún usuario autorizado pero despis-
tado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos
de usuarios, que permiten otorgar diversas categorías de permisos.

• Integridad: Se trata de adoptar las medidas necesarias para garantizar la validez de los datos
almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos
por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la información al-
macenada.

• Respaldo y recuperación: Los SGBD deben proporcionar una forma eficiente de realizar copias
de respaldo de la información almacenada en ellos, y de restaurar a partir de estas copias los da-
tos que se hayan podido perder.
30

• Control de la concurrencia: En la mayoría de entornos (excepto quizás el doméstico), lo más


habitual es que sean muchas las personas que acceden a una base de datos, bien para recupe-
rar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen
de forma simultánea. Así pues, un SGBD debe controlar este acceso concurrente a la informa-
ción, que podría derivar en inconsistencias.

b. Ventajas de un SGBD
• Reutilización de datos y programas.

• Control de redundancia.

• Estandarización.

• Es posible equilibrar las cargas de los requerimientos.

• Integridad.

• Seguridad.

• Rapidez de desarrollo.

• Mantenimiento y reingeniería: Cambios en la estructura de datos sin cambiar los programas


que lo usan.

c. Desventajas de un SGBD
• Tamaño.

• Susceptibilidad de fallas.

• Compatibilidad en la recuperación a fallas.

• Puede llegar a trabajar en forma “lenta” debido a la cantidad de verificaciones que debe hacer.

14. Calidad del Producto

a. Estándar ISO/IEC 9126-1:2001

Martínez et al., (2015) Transcribe: “Es un estándar internacional que evalúa la calidad del softwa-
re, los atributos que un software debe poseer para que podamos decir que es de calidad son los
siguientes” (párr. 309).

1. Funcionalidad

Martínez et al., (2015) Transcribe: “Un conjunto de atributos que se relacionan con la existencia de
un conjunto de funciones y sus propiedades específicas. Las funciones son aquellas que satisfa-
cen las necesidades implícitas o explicitas.”

• Adecuación: Capacidad del producto software para proporcionar un conjunto apropiado de fun-
ciones para tareas y objetivos de usuario especificados.

• Exactitud: Capacidad del producto software para proporcionar los resultados o efectos correctos
o acordados, con el grado necesario de presión.

• Interoperabilidad: Capacidad del producto software para interactuar con uno o más sistemas
especificado.

• Seguridad: Capacidad del producto software para proteger información y datos de tal manera
que las personas o sistemas no autorizados no puedan leerlos o modificarlos

• Cumplimiento funcional: Capacidad del producto software para adherirse a normas, conven-
ciones o regulaciones en leyes y prescripciones similares relacionadas con funcionalidad.

2. Fiabilidad

Martínez et al., (2015) Transcribe: “Mientras esté en funcionamiento, se determina que sea tole-
rante a fallos y que su recuperación sea posible, fácil y rápido si en caso se produzca.” (párr. 140).

• Madurez: Capacidad del producto software para evitar fallar como resultado de fallos en el soft-
ware.

32

• Tolerancia a fallos: Capacidad del software para mantener un nivel especificado de funciona-
miento de prestaciones en caso de fallos o de infringir sus interfaces especificados.

• Capacidad de recuperación: Capacidad del producto software para reestablecer un nivel de


prestaciones y recuperar datos afectados directamente en caso de fallo.

• Cumplimiento de la fiabilidad: Capacidad del producto software para adherirse a normas, con-
venciones o regulaciones propias.

3. Usabilidad

Martínez et al., (2015) Transcribe:

Su uso debe ser fácil de usar, su manejo sea sencillo de aprender, operativo con una interfaz intui-
tiva, esa facilidad está conectada directamente a comprensibilidad, a la facilidad de aprendizaje, a
cuanto el usuario se sienta atraído por el sistema y a la simpatía de estándares de usabilidad ca-
racterísticas del atributo. (párr. 313)

• Capacidad para ser entendido: Capacidad del producto software que permite al usuario enten-
der si el software es adecuado y cómo puede ser usado para unas tareas o condiciones de uso
particulares.

• Capacidad para ser operado: Permite al usuario operarlo y controlarlo.

• Capacidad de atracción: Importancia del software para ser atractivo al usuario.

• Cumplimiento de la usabilidad: La importancia del software para adherirse a normas o con-


venciones determinadas.

4. Eficiencia

Moliner López (2006) Transcribe: “Capacidad del software para proporcionar un rendimiento ade-
cuado, según la cantidad de recursos utilizados, bajo las condiciones establecidas.” (párr. 64)

• Comportamiento temporal: Proporciona tiempos de respuesta, tiempos de proceso, bajo con-


diciones determinadas.

• Utilización de recursos: Capacidad del producto software para usar las cantidades y tipos de
recursos adecuados cuando el software lleva a cabo su función bajo condiciones determinadas.

• Cumplimiento de la eficiencia: Capacidad del producto software para adherirse a normas o


convenciones relacionadas con la eficiencia.

5. Mantenibilidad

Moliner López (2006) Transcribe: “Las modificaciones pueden incluir correcciones, mejoras o
adaptaciones del software a cambios en el entorno, en los requerimientos o especificaciones fun-
cionales.” (párr. 64).

• Capacidad para ser analizado: Es la capacidad del producto software para detectar deficien-
cias o causas de fallos en el software, o para detectar las partes que han de ser modificadas.

• Capacidad para ser cambiado: Capacidad del producto software que permite que una determi-
nada modificación sea implementada.

• Estabilidad: Capacidad del software para evitar efectos inesperados debido a modificaciones.

• Capacidad para ser probado: Capacidad del software que permite que el software modificado
sea validado.

• Cumplimiento de la mantenibilidad: Facilidad del software para adherirse a normas o conven-


ciones relacionadas con la mantenibilidad.

6. Portabilidad

Martínez et al., (2015) Transcribe: “Capacidad del producto para ser transferido de un entorno a
otro. Atributo único de adaptación necesaria para que el sistema tenga sus requisitos o entorno de
modificación, pudiendo ser el entorno del software, de hardware u organizacional.”

• Adaptabilidad: Facilidad del software para ser adaptado en diferentes entornos especificados,
sin aplicar acciones o mecanismos.

• Instabilidad: Capacidad del software para ser instalado en un entorno especifico.

• Coexistencia: Disponibilidad del software de coexistir con otro software independiente, compar-
tiendo recursos comunes.

34

• Capacidad para reemplazar: Capacidad del software para ser usado en lugar de otro producto
de software, ya sea para el mismo propósito, en el mismo entorno.

Calidad externa e interna

Funcionalidad Fiabilidad Usabilidad Eficiencia Mantenibilidad Portabilidad

Capacidad
para ser
Adecuación Madurez
entendido Comportamie
exactitud tolerancia Capacidad para
capacidad nto temporal Adaptabilidad
interoperabilid fallos de ser analizado
para ser utilización de instalabilidad
ad seguridad capacidade capacidad para
aprendido recursos coexistencia
de acceso recuperación ser cambiado
capacidad cumplimiento para ser
cumplimiento Cumplimient estabilidad para
para ser de la reemplazado
de la o de la ser aprobado
operado eficiencia
funcionalidad fiabilidad
capacidad
de atracción

Ilustración 3. Indicadores de calidad de software


Fuentes: Elaboración propia (2022)

2.2.15 Metodologías de desarrollo de software más utilizadas

En palabras de Hosting (2016) dice que:

Una Metodología de desarrollo de software, consiste principalmente en hacer uso de diversas he-
rramientas, técnicas, métodos y modelos para el desarrollo. Regularmente este tipo de metodolo-
gía, tienen la necesidad de venir documentadas, para que los programadores que estarán dentro
de la planeación del proyecto, comprendan perfectamente la metodología y en algunos casos el
ciclo de vida del software que se pretende seguir. (párr. 4)

Metodologías Ágiles

De acuerdo con EcuRed (2019) las Metodologías Ágiles:

Se caracterizan por hacer énfasis en la comunicación cara a cara, es decir, se basan en una fuerte
y constante interacción, donde clientes desarrolladores y desarrolladores trabajan constantemente
juntos, estableciéndose así una estrecha comunicación. Estas metodologías están orientadas al
resultado del producto y no a la documentación; exige que el proceso sea adaptable, permitiendo
realizar cambios de último momento. (párr. 2)

a. Extreme Programming (XP)

Como lo dijo EcuRed (2019) la Metodología Extreme Programming (XP):

Es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el
éxito en desarrollo de software, promoviendo el trabajo en equipo, preocupándose por el
aprendizaje de los desarrolladores, y propiciando un buen clima de trabajo. XP se basa en la.
realimentación continua entre el cliente y el equipo de desarrollo, comunicación fluida entre todos
los participantes, simplicidad en las soluciones implementadas y coraje para enfrentar los cam-
bios. XP se define como especialmente adecuada para proyectos con requisitos imprecisos y muy
cambiantes, y donde existe un alto riesgo técnico. (párr. 3).

b. Metodología Kanban

En palabras de Hosting (2016) la Metodología Kanban:

36

Se trata de una metodología japonesa, la cual consiste en ir etiquetando con tarjetas cada uno de
los procesos que se deben llevar a cabo, también se le ha denominado como “Un sistema de pro-
ducción de alta efectividad y productividad”. De hecho, empresas como la marca de autos Toyota,
fueron una de las primeras en implementarla para acelerar los procesos de producción. (párr. 86).

La palabra Kanban, en japonés significa “tarjetas visuales” y es precisamente lo que se maneja en


ella. Algunos la trabajan con lo que son tarjetas virtuales o bien simulando que se pueden ver las
tarjetas, sin embargo, una forma correcta de hacerlo es con tarjetas físicas, que el equipo pueda
ver y sentir para tener mayor efectividad. (Hosting, 2016, párr. 87)

Una de las principales ventajas de Kanban, es que además de ser una metodología Ágil, también
es muy fácil de usar e implementar, sobre todo porque el equipo de trabajo se unirá y empezarán
a trabajar a la par en diferentes aspectos del desarrollo. (Hosting, 2016, párr. 88).

c. Crystal Methodologies

En palabras de EcuRed (2019) la Metodología Crystal Methodologies:

Se trata de un conjunto de metodologías para el desarrollo de software caracterizadas por estar


centradas en las personas que componen el equipo (de ellas depende el éxito del proyecto) y la
reducción al máximo del número de artefactos producidos. Han sido desarrolladas por Alistair
Cockburn. El desarrollo de software se considera un juego cooperativo de invención y comunica-
ción, limitado por los recursos a utilizar. El equipo de desarrollo es un factor clave, por lo que se
deben invertir esfuerzos en mejorar sus habilidades y destrezas, así como tener políticas de traba-
jo en equipo definidas. Estas políticas dependerán del tamaño del equipo, estableciéndose una
clasificación por colores, por ejemplo, Cristal Clear (3 a 8 miembros) y Crystal Orange (25 a 50
miembros). (párr. 5)

d. Desarrollo Lean

De acuerdo con Grifol (2018) la metodología de Desarrollo Lean:

Lean Software Development, también conocido como Lean Programming es un conjunto de técni-
cas que engloban una metodología de desarrollo ágil de software orientado a conseguir exacta-
mente lo que necesita el cliente. Es una evolución del Método Toyota de Producción aplicado al
desarrollo y que está muy de moda entre los equipos de desarrollo en startups. Principalmente

consiste en ciclos de evolución de software incrementales en los que se posponen las decisiones
lo más posible hasta haber obtenido un feedback del cliente y así reaccionar lo más rápido y efi-
cazmente posible a sus necesidades. Se fundamenta en tener un equipo potente y comprometido
y el principio de aprendizaje continuo sobre el producto. (Grifol, 2018, párr. 8)

El Desarrollo Lean una metodología fantástica para startups que están desarrollando un software
orientado a tener éxito en el mercado, como desarrolladores de videojuegos o apps para móviles
(Grifol, 2018, párr. 9).

e. Scrum

En palabras de EcuRed (2019) la metodología de Desarrollo Scrum:

Desarrollada por Ken Schwaber, Jeff Sutherland y Mike Beedle. Define un marco para la gestión
de proyectos, que se ha utilizado con éxito durante los últimos 10 años. Está especialmente indi-
cada para proyectos con un rápido cambio de requisitos, sus principales características se pueden
resumir en dos”. “El desarrollo de software se realiza mediante iteraciones, denominadas sprints,
con una duración de 30 días. El resultado de cada sprint es un incremento ejecutable que se
muestra al cliente”, la otra característica importante son las reuniones a lo largo proyecto. Éstas
son las verdaderas protagonistas, especialmente la reunión diaria de 15 minutos del equipo de
desarrollo para coordinación e integración. (párr. 4)

Ilustración 4. Metodología ágil de desarrollo


Fuente: (Samarco Web Engineering, 2018)

Metodologías Robustas o Tradicionales

38

En palabras de Ecured (2019) las Metodologías Robustas o Tradicionales se dice que “están guia-
das por una fuerte planificación. Centran su atención en llevar una documentación exhaustiva de
todo el proceso de desarrollo y en cumplir con un plan de proyecto, definido en la fase inicial del
mismo” (párr. 6).

a. El modelo en espiral WinWin

Como dice HananTek (2010) El Modelo En Espiral conocido también como Win Win dice que:

Esta es una adaptación del modelo de espiral que se hace hincapié explícitamente situados en la
participación del cliente en un proceso de negociación en la génesis del desarrollo de productos.
Idealmente, el desarrollador simplemente preguntar al cliente lo que se requiere y el cliente pro-
porcionaría el suficiente detalle para proceder. Por desgracia esto rara vez sucede y negociacio-
nes significativas entre ambas partes son necesarias para equilibrar la funcionalidad, rendimiento,
etc. con los costos y de salida al mercado razones de tiempo. (párr. 10)

El modelo “Win-Win” deriva su nombre del objetivo de estas negociaciones, es decir, de "ganar-
ganar". El cliente recibe el producto que satisface la mayoría de sus necesidades, y el desarrolla-
dor trabaja para alcanzar presupuestos y fechas de entrega. Para lograr este objetivo, el modelo
define un conjunto de actividades de negociación al principio de cada paso alrededor de la espiral.
En vez de una sola actividad de los clientes de comunicación las actividades se definen los si-
guientes:

• Identificación de los actores del sistema.

• Determinación de las partes interesadas de "ganar" condiciones

• Las negociaciones de la victoria de las condiciones de las partes interesadas a que reconciliarlos
en un conjunto de condiciones de ganar-ganar para todos los interesados. (HananTek, 2010,
párr. 12)

b. Microsoft Solution Framework (MSF)

Esta es una metodología flexible e interrelacionada con una serie de conceptos, modelos y prácti-
cas de uso, que controlan la planificación, el desarrollo y la gestión de proyectos tecnológicos.

MSF se centra en los modelos de proceso y de equipo dejando en un segundo plano las eleccio-
nes tecnológicas. Dentro de sus principales características se tiene que es:

• Adaptable: Es parecido a un compás, usado en cualquier parte como un mapa, del cual su uso
es limitado a un específico lugar.

• Escalable: Puede organizar equipos tan pequeños entre 3 o 4 personas, así como también, pro-
yectos que requieren 50 personas a más.

• Flexible: Es utilizada en el ambiente de desarrollo de cualquier cliente.

• Tecnología Agnóstica: Porque puede ser usada para desarrollar soluciones basadas sobre
cualquier tecnología.

MSF se compone de varios modelos encargados de planificar las diferentes partes implicadas en
el desarrollo de un proyecto: Modelo de Arquitectura del Proyecto, Modelo de Equipo, Modelo de
Proceso, Modelo de Gestión del Riesgo, Modelo de Diseño de Proceso y finalmente el modelo de
Aplicación. La Metodología MSF se adapta a proyectos de cualquier dimensión y de cualquier tec-
nología. (EcuRed, 2019, párr. 7)

c. Metodología ICONIX
“ICONIX es un proceso simplificado en comparación con otros más tradicionales, que unifica un
conjunto de métodos de orientación a objetos con el objetivo de abarcar todo el ciclo de vida de un
proyecto” (Metodología Iconix, 2014, párr. 4).

Es una metodología pesada-ligera de Desarrollo del Software que se halla entre RUP (Rational
Unified Process) y XP (eXtreme Programming), unifica un conjunto de métodos de orientación a
objetos con el objetivo de tener un control estricto sobre todo el ciclo de vida del producto a reali-
zar. (Metodología Iconix, 2014, párr. 5)

Fue elaborado por Doug Rosenberg y Kendall Scott a partir de una síntesis del proceso unificado
de los “tres amigos” Booch, Rumbaugh y Jacobson y que ha dado soporte y conocimiento a la
metodología ICONIX desde 1993. Presenta claramente las actividades de cada fase y exhibe una
secuencia de pasos que deben ser seguidos (Metodología Iconix, 2014, párr. 6).

40

d. Métrica 3
MÉTRICA es una metodología de planificación, desarrollo y mantenimiento de sistemas de infor-
mación. Ofrece a las Organizaciones un instrumento útil para la sistematización de las actividades
que dan soporte al ciclo de vida del software dentro del marco que permite alcanzar los siguientes
objetivos:

• Proporcionar o definir Sistemas de Información que ayuden a conseguir los fines de la Organiza-
ción mediante la definición de un marco estratégico para el desarrollo de los mismos.

• Dotar a la Organización de productos software que satisfagan las necesidades de los usuarios
dando una mayor importancia al análisis de requisitos.

• Mejorar la productividad de los departamentos de Sistemas y Tecnologías de la Información y las


Comunicaciones, permitiendo una mayor capacidad de adaptación a los cambios y teniendo en
cuenta la reutilización en la medida de lo posible.

• Facilitar la comunicación y entendimiento entre los distintos participantes en la producción de


software a lo largo del ciclo de vida del proyecto, teniendo en cuenta su papel y responsabilidad,
así como las necesidades de todos y cada uno de ellos.

• Facilitar la operación, mantenimiento y uso de los productos software obtenido. (EcuRed, 2019,
párr. 8)

Esta metodología tiene un enfoque orientado al proceso, ya que la tendencia general en los es-
tándares se encamina en este sentido y por ello, se ha enmarcado dentro de la norma ISO 12.207,
que se centra en la clasificación y definición de los procesos del ciclo de vida del software. Como
punto de partida y atendiendo a dicha norma, MÉTRICA Versión 3 cubre el Proceso de Desarrollo
y el Proceso de Mantenimiento de Sistemas de Información. MÉTRICA Versión 3 ha sido conce-
bida para abarcar el desarrollo completo de Sistemas de Información sea cual sea su complejidad
y magnitud, por lo cual su estructura responde a desarrollos máximos y deberá adaptarse y di-
mensionarse en cada momento de acuerdo a las características particulares de cada proyecto.
(EcuRed, 2019, párr. 9)

e. Proceso Racional Unificado (RUP)

RUP es un proceso para el desarrollo de un proyecto de software que define claramente quien,
cómo, cuándo y qué debe hacerse en el proyecto. La versión de RUP que se ha estandarizado vio
la luz en 1998 y se conoció en sus inicios como Proceso Unificado de Rational 5.0; de ahí las si-
glas con las que se identifica a este proceso de desarrollo. Dicho proceso tiene tres características
fundamentales. La primera es que está dirigido por casos de uso, es decir, que en el proyecto se
orientan a la importancia que tiene para el usuario lo que el producto debe hacer. También es un
proceso centrado en la arquitectura ya que relaciona la toma de decisiones que indican cómo tiene
que ser constituido el sistema y en qué orden se debe hacer. Es iterativo e incremental, divide el
proyecto en mini proyectos donde los casos de usos y la arquitectura cumplen sus objetivos de
manera más depurada. RUP se encarga de unificar todo el equipo de desarrollo de software,
además de optimizar su comunicación. (EcuRed, 2019, párr. 1)

Para esto provee a cada miembro del proyecto una aproximación al desarrollo de software con
una base de conocimiento de acuerdo con las necesidades específicas del proyecto. No es sim-
plemente un proceso, sino que es un marco de trabajo extensible que puede ser adaptado a orga-
nizaciones o proyectos específicos. Generalmente es aplicado a grandes proyectos de desarrollo
de software. Dentro de sus disciplinas gestiona el control de cambios, que permite mantener al
equipo trabajando en los mismos artefactos, en cualquier momento del desarrollo del producto.
RUP define como sus principales elementos a los trabajadores, las actividades, los artefactos y los
flujos de actividades. (EcuRed, 2019, párr. 1)

Los trabajadores son los propietarios de elementos o artefactos y se encargan de realizar las acti-
vidades, las cuales se describen como una tarea que es realizada por un trabajador. Los artefac-
tos constituyen los productos tangibles del proyecto que son producidos, modificados y usados por
las actividades. El flujo de actividades se describe cuando estas son realizadas por trabajadores y
produce un resultado de valor observable (EcuRed, 2019, párr. 1)

Ilustración 5. Metodología robusta o tradicional


Fuente: (Rodriguez, 2015) 42

Tabla 1. Diferencia entre las metodologías ágiles y las metodologías tradicionales

Metodologías Ágiles Metodologías Tradicionales


Basadas en heurísticas provenientes de prácti- Basadas en normas provenientes de estándares
cas de producción de código. seguidos por el entorno de desarrollo.
Especialmente preparados para cambios durante Cierta resistencia a los cambios.
el proyecto.
Impuestos internamente (por el equipo). Impuestas externamente.
Proceso menos controlado, con pocos principios. Proceso mucho más controlado, con numerosas
políticas/normas.
No existe contrato tradicional o al menos es bas- Existe un contrato prefijo
tante flexible.
El cliente es parte del equipo de desarrollo. El cliente interactúa con el equipo de desarrollo
mediante reuniones.
Grupos pequeños (<10 integrantes) y trabajando Grupos grandes y posiblemente distribuidos.
en el mismo sitio.
Pocos artefactos. Más artefactos
Pocos roles. Más roles
Menos énfasis en la arquitectura del software La arquitectura del software es esencial y se ex-
presa mediante modelos

CAPITULO 3. PROCEDIMIENTO Y DESCRIPCIÓN


DE LAS ACTIVIDADES REALIZADAS

44

3.1. Cronograma de actividades

El cronograma de actividades para el desarrollo de este proyecto quedó de la siguiente manera:

EJECUCIÓN 3.7
3.7.1

3.7.2

3.7.3

3.7.4

Las actividades realizadas en el cronograma de actividades correspondientes a las fases o ciclo


de vida del proyecto fueron las siguientes:
1 FASE DE INICIO

1.1 Entrevista con el asesor interno


Una vez que fue aprobado el proyecto, envié un correo electrónico solicitando una sesión en lí-
nea u otra alternativa de cualquier otro medio de comunicación ya sea electrónica o virtual. Dentro
de la sesión se estableció con el asesor interno cuál sería el método de trabajo para dar
seguimiento puntual a todo el proyecto.

1.2 Entrevista con el asesor externo


Posteriormente después de tener aprobado el proyecto, nuevamente envié un correo electrónico
para solicitar una sesión en línea u otra alternativa de cualquier otro medio de comunicación ya
sea electrónica o virtual. Dentro de la sesión se estableció con el asesor externo cuál sería el mé-
todo de trabajo para dar seguimiento puntual a todo el proyecto.

1.3 Integración al área de trabajo


Durante mi primer día dentro de la empresa CAFES FINO DE CORDOBA S.A DE C.V se realizó
una reunión con todo el personal y encargados de distintas áreas; en el inicio de la reunión me
dieron la oportunidad de presentarme a lo que conté que era residente del Instituto Tecnológico De
Veracruz, seguido de mi breve presentación tocó el turno de los encargado y algunos
colaboradores donde se fueron presentando, hicieron mención de su área de trabajo y su respec-
tivo cargo que tenían, posteriormente me explicaron cómo funciona la empresa, y para finalizar
tuve la oportunidad de tener un recorrido por toda la empresa.

2 PLANEACIÓN

3 FASE DE DESARROLLO

3.1 Levantamiento de requerimientos del proyecto

Esta aplicación debía de estar encargada de optimizar la gestión y venta de productos a través de
una aplicación web que permitiera automatizar procesos para brindar un mejor servicio a los
clientes. Por lo cual se estableció una primera reunión con el director de proyecto, para que nos
contara cuales eran los requisitos fundamentales del proyecto, y así poder realizar el
levantamiento de requisito. A partir de ella se plasmarían ideas principales del sistema, que
probablemente se deberían de resolver y cuáles serían las funciones que se llevarían a cabo.

Opciones de la aplicación web:

Inicio: Dentro de esta opción se encontrara en primer lugar la presentación con una barra de
menús, aquí se puede realizar compras, ver detalles de los productos, también contiene un
acceso directo a la pantalla de registro en caso de que quiera registrarse en la aplicación web
como cliente.
46

Productos: En esta opción se encontraran todos los productos que posee la página, se puede
obtener detalles de cada producto de forma individual, añadirlos al carrito, y filtrarlos por categoría
si se desea.

Registro: En esta pantalla se podrán registrar como clientes de la aplicación web, para poder
realizar compras y poder pagarlas si así se desea. Para poder completar el registro tendrán que
proporcionar datos personales como nombres, apellidos, número de teléfono, dirección, correo
electrónico, etc.

Carrito de compras: En esta opción se verá todos los productos que el cliente o usuario de la
aplicación añadió previamente a su carrito y contara con dos opciones, la primera será confirmar
pedido, para la cual se tendrá que haber iniciado sesión o le conducirá a una página para poder
hacerlo y la segunda que permitirá vaciar el carrito.

Login: En esta opción se podrá iniciar sesión como cliente o como administrador, si se inicia como
cliente permitirá realizar compras, también se ocultará la opción registro y se mostrará la opción
pedidos, que permite ver los pedidos realizados y si se inicia como administrador se ocultará el
botón de registro y se nos mostrará la opción de administración.

Pedidos: En esta opción permitirá que el cliente que haya iniciado sesión pueda ver los pedidos
que ha realizado.

Administración: Esta opción cuenta con un submenú dentro de las cuales se encuentran
diferentes opciones, como:

• Productos: En esta opción se podrán agregar nuevos productos, también se podrán modificar y
eliminar los productos.

• Proveedores: En esta opción se podrán agregar nuevos proveedores, también se podrán


modificar y eliminar los proveedores previamente agregados.

• Categorías: Al igual que las opciones anteriores en esta opción podrán crear nuevas categorías,
también se podrán modificar y eliminar las categorías ya creadas.

• Admin: En esta opción se podrán crear cuentas para nuevos administradores y también eliminar
uno ya creado.

• Pedidos: En esta opción se podrán ver todos los pedidos, y podrán actualizar el estado en el
que se encuentran.

Flujo de procesos

A continuación, será detallado el flujo de proceso de la compra de productos por el cliente por el
que está compuesta la aplicación web propuesta:

Diseño detallado de pantallas (Capturar y


precisar los requerimientos de aplicación
web)Cuando ya se tenía un conocimiento
total sobre la idea a desarrollar, las
diferentes funcionalidades y características
que debía tener la aplicación, en esta
actividad fue la ocasión ideal para
comenzar con el diseño detallado de
pantallas.

En un primer momento se
elaboró un wireframe donde se
pudiera visualizar cómo
quedarían las diferentes
pantallas de la aplicación, antes
de comenzar a diseñar. Así, se
pudo ver si era necesario
realizar alguna modificación con
anterioridad a la creación de la
aplicación web.El director del
proyecto nos comentó que era
conveniente realizar un test con
diferentes usuarios que se
encontraran en nuestro público
objetivo, ya que ellos nos darían
las claves sobre si teníamos
que añadir o eliminar alguno de
los elementos establecidos en el
diseño de las pantallas.
48

3.1 Modelado de los casos de uso

Ilustración 7. Casos de uso mantenimiento aplicación web


Fuente: Elaboración propia (2022)

Los casos de uso que realice, serán útiles para capturar requerimientos, ayudar a definir la
arquitectura, establecer las pautas para el diseño y las pruebas funcionales. Originarán una guía
de los elementos que serán incluidos en la documentación final de la aplicación web, así como la
forma en cómo éstos deben ser empleados.

Tabla 2. Caso de uso para el mantenimiento de Productos

Caso de uso Productos

El administrador selecciona la opción productos en el menú, en esta opción tendrá


Descripción diferentes opciones en la cual podrá realizar diferentes acciones.

Protagonistas Administrador.

Condiciones El administrador debe tener su usuario y contraseña para ingresar al sistema.

Acciones

• Ingresa al sistema con su usuario y contraseña.

• Elegir la página administración en el panel de navegación.


Secuencia Normal
• Selecciona la opción productos en el panel de navegación.

• Agregara, modificara o eliminara productos.

• Guarda cambios.

Acciones
Excepciones • No podrá acceder al sistema como administrador con un usuario y contraseña
de cliente

Tabla 3. Caso de uso de la opción Proveedores

Caso de uso Proveedores


Descripción El administrador selecciona la opción proveedores en el menú, en esta opción
tendrá diferentes opciones en la cual podrá realizar diferentes acciones.
Protagonistas Administrador.

Condiciones El administrador debe tener su usuario y contraseña para ingresar al sistema.


Secuencia Normal Acciones

• Ingresa al sistema con su usuario y contraseña.

• Elegir la página administración en el panel de navegación.

• Selecciona la opción proveedores en el panel de navegación.

• Agregara, modificara o eliminara proveedores.

• Guarda cambios.
Excepciones Acciones
50
• No podrá acceder al sistema como administrador con un usuario y contra-
seña de cliente

Tabla 4. Caso de uso de la opción Categorías

Caso de uso Categorías

El administrador selecciona la opción categorías en el menú, en esta opción tendrá


Descripción diferentes opciones en la cual podrá realizar diferentes acciones.

Protagonistas Administrador.

Condiciones El administrador debe tener su usuario y contraseña para ingresar al sistema.

Acciones

• Ingresa al sistema con su usuario y contraseña.

• Elegir la página de administración en el panel de navegación.


Secuencia Normal
• Selecciona la opción categorías en el panel de navegación.

• Agregara, modificara o eliminara categorías.

• Guarda cambios.

Acciones
Excepciones • No podrá acceder al sistema como administrador con un usuario y contraseña
de cliente

Tabla 5. Caso de uso de la opción Admin

Caso de uso Admin


Descripción El administrador selecciona la opción Admin en el menú, en esta opción tendrá
diferentes opciones en la cual podrá realizar diferentes acciones.
Protagonistas Administrador.

Condiciones El administrador debe tener su usuario y contraseña para ingresar al sistema.


Secuencia Normal Acciones

• Ingresa al sistema con su usuario y contraseña.

• Elegir la página administración en el panel de navegación.

• Selecciona la opción Admin en el panel de navegación.

• Agregara, o eliminara administradores secundarios.

• Guarda cambios.
Excepciones Acciones

• No podrá acceder al sistema como administrador con un usuario y contraseña de


cliente

Tabla 6. Caso de uso de la opción Pedidos

Caso de uso Pedidos

Descripción El administrador selecciona la opción pedidos en el menú, en esta opción tendrá


diferentes opciones en la cual podrá realizar diferentes acciones.

Protagonistas Administrador.

Condiciones El administrador debe tener su usuario y contraseña para ingresar al sistema.

Secuencia Normal Acciones

• Ingresa al sistema con su usuario y contraseña.

• Elegir la página administración en el panel de navegación.

• Selecciona la opción pedidos en el panel de navegación.

• Cambiará el estado o eliminará pedidos.

• Generará reportes.

• Guarda cambios.
Excepciones Acciones

• No podrá acceder al sistema como administrador con un usuario y contraseña


de cliente

3.2 Proceso de medición (Puntos Cosmic)


En esta actividad realice el método Prde medición COSMIC, el cual es un conjunto de reglas y
procedimientos que se aplican para determinar el valor de las partes de un software y estos son
expresados en puntos de función COSMIC. ¿Por qué hice esto? Para saber el tamaño de nuestro
proyecto de software, en este caso una aplicación web, el tamaño de un software es la principal
variable necesaria para determinar el esfuerzo de desarrollo que se deberá de invertir para imple-
mentarlo.
3.3 Estudios de las tecnologías a utilizar en el proyecto
En este punto estudie las tecnologías a utilizar en el proyecto tales fueron: HTML 5, CSS3,
JavaScript, AJAX, PHP y MySQL.

3.4 Entrega de 1° Reporte De Residencia al Instituto Tecnológico De Veracruz En esta ac-


tividad entregue mi primer reporte de residencia al Instituto Tecnológico De Veracruz.

3.7 EJECUCIÓN

3.7.1Desarrollo de la Base de Datos

52

- Diseño de la base de datos

Tabla 7. Descripción de la base de datos

Tablas Descripción

Producto Se registrará el código de producto, nombre de producto, código de catego-


ría, precio, modelo, marca, stock, número de identificación del proveedor,
imagen del producto. Esta tabla tiene relación con las tablas detalle, catego-
ría, proveedor y administrador.

Categoría Se registrará el código de la categoría, el nombre de la


categoría, y la descripción.
Proveedor Se registrará el número de identificación del proveedor, el nombre del pro-
veedor, dirección del proveedor, teléfono y pagina web. Esta tabla tiene rela-
ción con la tabla producto.

Cliente Se registrará el número de identificación del cliente, el nombre (usuario), el


nombre completo, apellidos, clave, dirección, teléfono y e-mail. Esta tabla
tiene relación con la tabla venta.

Detalle Se registrará el número de pedido, el código del producto, y la


cantidad de productos. Esta tabla tiene relación con la tabla
producto y la tabla venta.

Venta Se registrará el número de pedido, la fecha, número de


identificación del cliente, en caso de poseer algún descuento
también se lo registra, el total a pagar y el estado del pedido. Esta
tabla tiene relación con la tabla detalle y la tabla cliente.
Administrador Se registrará el nombre de usuario del administrador y la
clave. Esta tabla tiene relación con la tabla producto.

Modelo entidad-relación

Ilustración 8. Modelo
entidad-relación

3.7.2 Desarrollo de la Interfaz Grafica

En esta fase se implementó toda la funcionalidad de la base de datos y toda la funcionalidad


expuesta en los casos de uso, se siguió fielmente la especificación de requisitos, para que la
aplicación desarrollada se adecuara a las solicitudes que hizo el director de proyecto en un inicio.
Una vez finalizada esta fase, se realizó una reunión con el cliente o en este caso con el director de
proyecto para presentarle una primera versión de la aplicación y que este pudiera dar su opinión al
respecto.

Generalmente en las presentaciones a un cliente de una primera versión de cualquiera aplicación,


aparecen nuevas peticiones y sugerencias de modificaciones. En este punto debemos de dejar
muy en claro el coste adicional que conlleva modificar un proyecto en fase de desarrollo y que
como cliente puede solicitar alguna ampliación o mejora, siempre y cuando sea validada por el
desarrollador de la aplicación, pero siempre hay que decirle al cliente que una gran modificación
podría tener consecuencias catastróficas. En este caso no fue así.

3.7.3 Desarrollo lógico de la aplicación web

Se crearon herramientas a las que los usuarios pueden acceder a través de Internet de tal manera
que en la aplicación web podremos obtener información o interactuar con elementos que nos per-
mitan la comunicación entre la empresa y los clientes, se ocupó phpMyadmin.

3.7.4 Entrega de 2°Reporte de residencias


En esta actividad entregue mi segundo reporte de residencia al Instituto Tecnológico De Veracruz.

3.1.5 Pruebas y verificaciones


En esta fase se hizo un “Testeo” de todo lo anterior desarrollado para comprobar que la
aplicación funcionara a la perfección, en esta fase el objetivo era detectar todos los posibles
“Bugs” en el caso de que existieran. Para un correcto “Testeo” se utilizó los casos de uso y se si-
guieron cada uno de ellos paso a paso, marcando todo lo que se iba “Testeando” y a la vez se
veía que funcionara correctamente, para asegurarse de que no se olvidara de “Testear” ninguna
funcionalidad.

3.1.6 Fase de cierre


Como se pudo observar este proyecto comenzó a principios de Febrero de 2022 y se terminó a
principios de Junio 2022. Para finalizar se hizo entrega de la aplicación al director del proyecto
para que determinara si el proyecto había llegado a los objetivos marcados de la manera más efi-
ciente. Afortunadamente fue así y se implanto en el servidor de la Empresa CAFES FINO DE
CORDOBA S.A DE C.V y se dio una formación básica a los usuarios de la empresa que harán uso
de ella para el correcto manejo de la aplicación, aunque durante un corto periodo de tiempo se les
dará soporte y seguimiento como cualquier software desarrollado.

54

CAPITULO 4. RESULTADOS

4.1. Aplicación web realizada para la empresa CAFES FINO DE CORDOBA S.A
DE C.V

Pantalla principal de la aplicación web, cuenta con una vista rápida de los menús que contiene la
aplicación.

Ilustración 9. Pantalla principal


Fuente: Elaboración propia (2022)

En esta opción se podrá agregar nuevos productos, también se podrá modificar y eliminar los pro-
ductos.

En esta opción se podrá agregar nuevos proveedores, también se podrá modificar y eliminar los
proveedores previamente agregados.

Ilustración 10. Pantalla menú Productos.


Fuente: Elaboración propia (2022) 56

Ilustración 11. Pantalla menú Proveedores.


Fuente: Elaboración propia (2022)

Al igual que las opciones anteriores en esta opción se podrá crear nuevas categorías, también se
puede modificar y eliminar las categorías ya creadas.En esta opción se podrá crear cuentas para
nuevos administradores y también eliminar uno ya creado.

Ilustración 12 Pantalla menú Categorías


Fuente: Elaboración propia (2022)

En esta opción se podrá ver todos los pedidos, y se podrá actualizar el estado en el que se en-
cuentra.

En esta opción podremos iniciar sesión como cliente o nos podremos registrar para ser un nuevo
cliente , si se inicia como cliente nos permitirá realizar compras, también se ocultará la opción re-
gistro y se mostrará la opción pedidos que nos permite ver los pedidos realizados.En esta opción
veremos todos los productos que hemos añadido previamente a nuestro carrito y contaremos con
dos opciones, la primera será confirmar pedido, para la cual tendremos que haber iniciado sesión
o nos conducirá a una página para poder hacerlo y la segunda que nos permitirá vaciar el carrito.

58

4.1.1 Proceso propuesto mediante implementación de la aplicación web

CONCLUSIONES, PROPUESTAS DE MEJORA Y EXPERIENCIA PROFESIONAL ADQUIRIDA

Conclusiones

De los objetivos planteados al inicio del presente trabajo, y los correspondientes resultados obte-
nidos, se tiene las siguientes conclusiones. La aplicación web para la gestión y venta de productos
derivados del cafe en CAFES FINOS DE CORDOBA S.A DE C.V influyo satisfactoriamente, en
ese sentido se concluye en relación a los siguientes indicadores:

La funcionalidad de la aplicación web concluyo en los procesos de gestión y venta ya que llegó a
cubrir y satisfacer los requerimientos funcionales de los usuarios y administradores, característi-
cas que definen a este indicador de calidad.La eficiencia de la aplicación web influyo satisfacto-
riamente en el proceso de gestión y venta al tiempo de respuesta de peticiones de los usuarios,
características que definen a este indicador de calidad.

La usabilidad de la aplicación web influyo satisfactoriamente en el proceso de gestión y venta a


través de su facilidad de compra y gestión de los procesos, facilidad de navegación y atractiva in-
terfaz de contenido, características que definen a este indicador de calidad.

Propuesta de mejora

Se recomienda agregar más formas de pago a parte de PayPal, Apple Card, Mercado pago y
Criptomonedas para abarcar un mayor número de clientes.

Se recomienda agregar una aplicación móvil para que aumente el volumen de ventas. Ya se tiene
la aplicación web.Se recomienda agregar proceso que notifique automáticamente a los clientes
cuando se tiene ofertas de productos

Experiencia profesional adquirida

Durante mis residencias en la empresa CAFES FINOS DE CORDOBA S.A DE C.V, la empresa
siempre mostró su interés por su personal. Me mostró el ambiente laborar actual y me permitieron
desarrollarme profesional y personalmente, aprendí diversas tecnologías que se usan en la parte
tanto de front-end y back-end, siempre recibí la ayuda tanto de mi equipo de trabajo tanto del di-
rector de proyecto, fue una gran experiencia en mi vida, me abrió más la visualización que tenía a
esta rama del desarrollo web.

60

COMPETENCIAS DESARROLLADAS Y/O APLICADAS POR EL RESIDENTE

Durante la estancia como residente en la empresa CAFES FINO DE CORDOBA S.A DE C.V se
desarrollaron competencias, donde se lograron experiencias importantes en mi desarrollo
profesional, también se logró reforzar mis fortalezas, lo cual facilitó el proceso de residencias.

• El trabajo en equipo.

• La organización como persona.

• La capacidad de análisis de datos.

• Mejorar en la toma de decisiones.

• Orientación al equipo de trabajo.

• Mejora de la comunicación efectiva.


REFERENCIAS BIBLIOGRÁFICAS

Alvarez, S. (2007, 7 de mayo). Introducción a las bases de datos. Home de DesarrolloWeb.com.


https://desarrolloweb.com/articulos/introduccion-base-datos.html

B, G. (2022, 22 de marzo). ¿Qué es AJAX y cómo funciona? Tutoriales Hostinger. https://www.hos-


tinger.mx/tutoriales/que-es-ajax?msclkid=d7d7a22fb6cf11ecbcae00fa643b1804

Blázquez Ochando, M. (2014, 11 de febrero). Concepto, definición y aspectos básicos. Fundamen-


tos y Diseño de Bases de Datos. http://ccdoc-basesdedatos.blogspot.com/2014/02/concep-
to-definicion-y-aspectos-basicos.html

Colaboradores de los proyectos Wikimedia. (2003, 30 de agosto). Empresa - Wikipedia, la enciclo-


pedia libre. Wikipedia, la enciclopedia libre. https://es.wikipedia.org/wiki/
Empresa#:~:text=Una%20empresa%20es%20una%20organización%20o%20institución%2
0dedicada,necesidades%20de%20bienes%20o%20servicios%20de%20la%20sociedad.?
msclkid=a41948ccb6a511ec93aa5491509c6cf2

EcuRed. (2019, 6 de julio). Metodologías de desarrollo de Software. https://www.ecured.cu/Meto-


dologias_de_desarrollo_de_Software

Grifol, D. (2018). Metodologías ágiles de desarrollo de software. Daniel Grifol. http://danielgrifol.es/


metodologias-agiles-de-desarrollo-de-software/

Hosting, O. (2016). Metodologías del desarrollo de software. OK HOSTING. https://okhosting.com/


blog/metodologias-del-desarrollo-de-software/#En_que_consisten_las_Metodologias_de_-
Desarrollo_de_Software

Metodología iconix. (2014, 16 de febrero). Metodología Iconix. https://metodologiaiconix.blogspot.-


com/

Morales, E., Yarif, J., Vértiz, C., Larry y Pérez Kuzma, R. (2010, 20 de octubre). ISO/IEC 9126 –
evaluación del producto software. Estándares del Software. https://estandarsw.wordpress.-
com/2010/05/20/isoiec-9126-evauacion-del-producto-software/

62

Pantoja Castillo, J. N. (2020). Desarrollo de una aplicación web para la gestión de inventarios de la
empresa [Trabajo de investigación no publicado]. Universidad Continental. Facultad de In-
geniería.

Pérez Capdevila, J. (2007). Las tecnologías web para la gestión del conocimiento. Sociedad de la
Información. http://www.sociedadelainformacion.com/12/tecnologiasweb.pdf

Pérez Valdés, D. (2007, 2 de noviembre). Los diferentes lenguajes de programación para la web.
Maestros del Web. http://www.maestrosdelweb.com/los-diferentes-lenguajes-de-programa-
cion-para-la-web/

Ponce Acuña, J. J. (2017). Propuesta tecnológica de una aplicación web multiplataforma para la
gestión de pedidos en la microempresa Finca Cafetalera Acuña [Trabajo de titulación no
publicado]. Universidad de Guayaquil - Facultad de Ciencias Administrativas.

Robledano, A. (2019, 24 de septiembre). Qué es MySQL: Características y ventajas. OpenWebi-


nars.net. https://openwebinars.net/blog/que-es-mysql/?msclkid=7915c0a7b6d611ec976-
fedcdb17130dd

Sánchez Galán, J. (2019). Empresa. Economipedia. https://economipedia.com/definiciones/em-


presa.html?msclkid=db767db4b69f11ec982dd1d962fcca1a

Sevilla Arias, A. (2019). Logística. Economipedia. https://economipedia.com/definiciones/logisti-


ca.html?msclkid=edb6656db6a711ec9766dcd19f651dda

Strapp Inc. (2019, 30 de julio). ¿Qué es una aplicación web? Desarrollo de Software y Consultoría
Tecnológica. https://www.strappinc.com/blog/strapp-datos/que-es-una-aplicacion-web?mscl-
kid=e14d481fb6ac11ecb0e99c17ea38b8e6

Westreicher, G. (2019). Gestión de inventarios. Economipedia. https://economipedia.com/definicio-


n e s / g e s t i o n - d e -
inventarios.html#:~:text=La%20gestión%20de%20inventarios%20es%20el%20administra-
ción%20respecto,fundamental%20para%20optimizar%20las%20operaciones%20de%20la
%20compañía.?msclkid=16b8b13db6a911eca7143baf84f0bdb8

También podría gustarte