Está en la página 1de 57

 

Secretaría de Educación Pública


Tecnológico Nacional De México
Instituto Tecnológico de Veracruz
  
“PROYECTO DE RESIDENCIAS FCH WEB INTERNA”
 
TITULACIÓN INTEGRAL
INFORME TÉCNICO DE RESIDENCIA PROESIONAL
 
 
Qué Para Obtener el Título de:
INGENIERO EN SISTEMAS COMPUTACIONALES

 
Presenta:
AVILA LEON LUIS EMMANUEL

COCOLETZI CARVAJAL LUIS ANTONIO

JACOME GOMEZ ANGEL

JIMENEZ RAMIREZ EDGAR IVAN

MAY SOSA MERARI

Asesor:
SENEN JUAREZ TINOCO
 
H. VERACRUZ, VER. NOVIEMBRE 2022
AGRADECIMIENTO

1
RESUMEN

2
[Inicie aquí la redacción de su introducción]

3
ÍNDICE

AGRADECIMIENTO.....................................................................................................................2

RESUMEN.......................................................................................................................................3

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

Capítulo 1. Planteamiento General del Proyecto..........................................................................6


1.1. Descripción General de la Empresa y del Área en Dónde se Realizó la Residencia..............7
1.1.1. Generalidades de la Empresa.....................................................................................7
1.1.2. Descripción del Área en Dónde se Realizó la Residencia..........................................7
1.2. Planteamiento del Proyecto por Realizar o del Problema por Resolver.................................9
1.3. Objetivos.............................................................................................................................11
1.3.1.Objetivo General...........................................................................................................12
1.3.2.Objetivos Específicos....................................................................................................12
1.4. Justificación y Delimitación................................................................................................12
1.4.1.Justificación...................................................................................................................13
1.4.2.Delimitación..................................................................................................................13

Capítulo 2. Fundamento Teórico..................................................................................................14


2.1. Antecedentes del Proyecto...................................................................................................16
2.1.1 Conceptos......................................................................................................................16
2.1.2.Antecedentes.................................................................................................................19
2.2.Marco Teórico......................................................................................................................21

Capítulo 3. Procedimiento y Descripción de las Actividades Realizadas...................................37


3.1.Actividades realizadas..........................................................................................................38
Presentación de fábrica y Proyecto.........................................................................................39
Introducción, Diseño de pantallas y Casos de Uso.................................................................39
Revisión de pantallas y CU....................................................................................................39
Introducción de Cosmic Function Points................................................................................39
Entrega final de pantallas y CU con CFP...............................................................................40
Introducción a la base de datos...............................................................................................40
Introducción a FrontEnd.........................................................................................................40
Introducción a BackEnd.........................................................................................................40
Entrega Final d DB Web Interna............................................................................................41
Revisión de Front End Web Interna.......................................................................................41
Revisión de Back End Web Interna........................................................................................41
Entrega Final de Front End Web Interna................................................................................41
Prueba de sistema...................................................................................................................41
Métricas de calidad.................................................................................................................42
Entrega final del proyecto de la web......................................................................................42
Documentación: Manual de usuario.......................................................................................42

Capítulo 4. Resultados...................................................................................................................42
4
4.1.Producto Final......................................................................................................................43
4.1.1 Pantalla de inicio de sesión................................................................................................44
4.1.1 Página principal.................................................................................................................46
4.2.Impacto en el ambiente laboral.............................................................................................48

CONCLUSIONES, PROPUESTAS DE MEJORA Y EXPERIENCIA PROFESIONAL


ADQUIRIDA.................................................................................................................................49

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

Referencias Bibliográficas.............................................................................................................53

Anexos............................................................................................................................................54

Cuadro 2.1......................................................................................................................................19

Cuadro 2.2......................................................................................................................................20

Cuadro 2.3......................................................................................................................................21

ÍNDICE DE CUADROS

5
CAPÍTULO 1. PLANTEAMIENTO
GENERAL DEL PROYECTO

6
1.1. Descripción General de la Empresa y del Área en Dónde se Realizó la
Residencia

1.1.1. Generalidades de la Empresa

La empresa tiene por nombre oficial Ficachi y Asociados S, C. pero también es conocida como Ficachi
Consultores. Está ubicada en Pizarro No. 21, Fraccionamiento Reforma 91919 Veracruz, Ver. México.

La empresa se describe a sí misma como una firma de contadores públicos y licenciados en derecho
que presta servicios en materia de impuestos, derecho corporativo, auditoria, contabilidad y servicios
de nómina.

En el desarrollo de sus servicios busca identificar todas las áreas de oportunidad que existen en los di -
versos ordenamientos legales y administrativos a fin de capitalizarlos en beneficio de sus clientes. De
acuerdo a su tamaño se puede clasificar como una empresa mediana (no rebasa los 100 trabajadores).

Dentro de la empresa Ficachi, desde hace algunas décadas con la estandarización de los portales en lí-
nea y plataformas web, se ha creado la marca FCH Soluciones como la fábrica de software personal de
la empresa Ficachi que tiene como objetivo crear soluciones informáticas para automatizar los proce -
sos existentes de manera digital a través de soluciones web.

7
1.1.2. Descripción del Área en Dónde se Realizó la Residencia

Es en FCH Soluciones donde se realiza la residencia, siendo este un departamento de la empresa Fica -
chi Consultores con la categoría de submarca. Se define a sí misma como una organización encargada
de desarrollar, implementar, crear y ejecutar soluciones tecnológicas para optimizar las actividades en
los distintos sectores del ámbito laboral. De acuerdo con las necesidades y objetivos de cada cliente, se
han creado soluciones adecuadas, las cuales se desarrollan en aplicaciones web.

Actualmente cuenta con la siguiente estructura organizacional y plantilla de trabajadores que se en-
cuentra de manera listada ante la ausencia de un organigrama.

Director: C.P. Oswaldo de Jesús Ficachi Figueroa


Gerente: LSC. Joaquín Arróniz García
Asesores:
 MSC. José Arcángel Salazar Delgado
 MSI. Esteban Trujillo Jiménez
 MSC. Senén Juárez Tinoco
Equipo de Trabajo:

•Josie Montemayor Fernández


•Brenda Karen Castillo Huerta
Análisis y Diseño •Araceli Belmonte Reyes
•Litzy Carolina Hernández Gutiérrez
•Luz María Núñez Hernández

•Miguel Ángel Lara Méndez


Administración de BD
•Litzy Carolina Hernández Gutiérrez

•Juan Eduardo Licona Guevara


Front End •Eunice Martínez Gómez
•Aaron Jiménez Cortés

•Víctor Daniel Puch Sánchez


•Carlos Álvarez Gonzaga
•Abraham Olvera Santos
Back End
•Fernando Bárcenas Martínez
•Pablo Luis Yépez Campos
•Miguel Ángel Lara Méndez

Servidor •Fernando Bárcenas Martínez

8
9
1.2. Planteamiento del Proyecto por Realizar o del Problema por Resolver

Actualmente, la empresa Ficachi debido al incremento de personal y por ende, el aumento de


concesiones requisitadas por dicho personal, el área de Recursos Humanos, que es el área que
se encarga de atender las solicitudes y concesiones que se le asignen, ha presentado un decai-
miento notable en la atención que debe brindar y esto se ha destacado más en cuánto a las soli-
citudes que el personal de trabajo envía al área de RR.HH, dando como resultado el hecho de
que no se satisfacen de forma correcta y al tiempo oportuno las respuestas a los trabajadores
(en este caso, permisos de trabajo).

Parte del trabajo que efectúan los trabajadores de RR.HH en la empresa es el gestionar la con-
tratación del personal, gestionar el ámbito de las nóminas (prestaciones, salarios y beneficios),
evaluar el desempeño profesional de cada trabajador, gestionar las sanciones por incumpli-
miento de acciones reglamentarias y atender las solicitudes (permisos laborales) de los trabaja-
dores en la empresa.

Para llevar a cabo el proceso de atención y resolución de permisos a los trabajadores de la em-
presa, el área de RR.HH establece comunicación con el personal a través de correos electróni-
cos, para ello el trabajador envía un correo desde cualquier dirección de correo personal que
cuente con un texto sin formato en el que relata su situación y la solicitud para ausentarse en el
trabajo. Este proceso, si bien se puede realizar de manera rápida tanta la solicitud como la res-
puesta dada, el principal problema que se encuentra es el hecho de que el personal de RR.HH
cuente con demasiadas asignaciones dadas y aunado a ello tenga la responsabilidad de filtrar
sus correos para identificar a tiempo aquellos que están relacionados con los permisos solicita-
dos lo cual, ocasiona que en muchos casos los permisos sean autorizados a destiempo o inclu-
sive no sean otorgados debido a que no fue notificado de la solicitud requerida; ya ha sucecido
en más de una ocasión que el personal de trabajo no recibe la respuesta o estatus de su solici-
tud de permiso para ausentarse al trabajo.

La empresa Fichachi y Asociados, S.A. necesita que la o las personas encargadas de autorizar,
denegar, posponer o modificar los permisos a los trabajadores cumpla con su asignación en el

10
tiempo requisitado sin que este sea demasiado tedioso, informal y conlleve desatención plena
o en medida de sus demás responsabilidades.

11
1.3. Objetivos

1.3.1. Objetivo General

Optimizar el proceso de la gestión de permisos laborales por parte del personal de RR.HH en
la etapa de resolución del estatus de los mismos mediante la creación de una aplicación web
integrada dentro de la página principal de acceso del personal que sea capaz de facilitar un ca-
nal de comunicación directo y exclusivo entre el trabajador y el o los encargados del área de
RR.HH, basados en la focalización de todas las solicitudes en un mismo espacio de trabajo
para que así tanto empleado como gestor de RR.HH, sean capaces de atender tanto la solicitud
como la respuesta en tiempo y forma oportunos y de este modo, dar resolución a los proble-
mas de retraso de respuesta u omisión de solicitudes en el personal de trabajo de la empresa.

1.3.2. Objetivos Específicos

 Aumentar a un 50% la cantidad de solicitudes respondidas en un tiempo menor a 24


horas a partir de su elaboración.
 Estandarizar a más de un 60% la gestión de solicitudes por medio de la plataforma en
un lapso aproximado a 6 meses.
 Alcanzar un uso de la aplicación de por lo menos 1 vez por empleado en un lapso de 7
meses.

12
1.4. Justificación y Delimitación

1.4.1. Justificación

A la luz de la situación actual, este trabajo es de fundamental importancia, dado que la crea-
ción de una aplicación web, integrada en la página principal de trabajo de la empresa, posibili-
tará detectar a tiempo y responder de manera oportuna las solicitudes (permisos de ausencia
laboral) que presenten los empleados.

Esto posibilitaría no solo aumentar la eficiencia en relación con la disponibilidad laboral y el


avance de los proyectos asignados, sino también planificar con mejores resultados las estrate-
gias de colaboración y participación en los proyectos que ya se encuentran en curso, así como
perfeccionar los planes de trabajo tomando en cuenta las circunstancias presentadas con o sin
anticipación.

El hecho de que dentro de la empresa se opte por crear y gestionar un canal de comunicación
basado en un esquema de aplicación web integrada permite reducir tiempos, costos y logística
de movimientos debido a que la creación y desarrollo del módulo web se asigna al área de in-
geniería de software de la empresa, la cual ya está familiarizada con el esquema de trabajo y
puede adaptar fácilmente los casos de uso y requisitos funcionales y no funcionales al prototi-
po.

1.4.2. Delimitación

El proyecto denominado FCH Web Interna tiene una duración de 3 a 4 meses aproximadamen-
te en los cuales se realizará la primera versión de dicho sistema en donde se contempla la im-
plementación de módulos que permitan la automatización de los procesos de gestión de solici-
tudes por parte de los colaboradores a RR.HH.

13
El sistema no contempla funciones que no estén intrínsicamente relacionados con la automati-
zación mencionada, pues es clave para solucionar la problemática.

14
CAPÍTULO 2. FUNDAMENTO
TEÓRICO

15
2.1. Antecedentes del Proyecto

2.1.1 Conceptos

La comunicación es un factor importante en los entornos laborales ya que es la base funda-


mental para que las cosas se hagan, es decir, antes de que algo pueda ser elaborado es necesa-
rio tener instrucciones claras y concisas de lo que se desea hacer. Una comunicación errónea,
incompleta o insegura por lo común trae consigo efectos negativos que pueden afectar a la
moral, el enfoque, el rendimiento y los clientes, tomando en cuenta los focos donde se ven
afectados son:

 Moral baja
 Falta de comunicación interna
 Clientes insatisfechos
 Bajo rendimiento

Una mala comunicación empresarial genera un ambiente difícil de trabajar y desmotiva a


los colaboradores. Esto puede ocasionar una merma de su eficiencia para realizar sus activida-
des, lo que impactará automáticamente en la imagen y productividad.

Teniendo esto en cuenta la empresa Ficachi afronta un problema serio con la comunicación te-
niendo en frente el tema de las peticiones y el retardo que tienen estas en llegar a manos de los
superiores, el problema que afronta la empresa es el retardo de respuesta cuando se emite una
petición a RH, este problema surge al pedir la solicitud de falta temporal y peticiones de falta
temporal, así como la respuesta en si. Una vez emitida hay un tiempo considerable de respues-
ta ya que el personal responsable debe estar al pendiente de su correo lo cual hace ineficiente
la comunicación entre los empleados y el personal de RH, por lo que es necesario tener en

16
cuenta los siguientes conceptos para el completo entendimiento de los factores que intervienen
en el problema.

Comunicación efectiva
Túnez y Costa-Sánchez (2015) afirman que la comunicación establece una función fundamen-
tal en la empresa ya que por medio de esta las organizaciones transmiten con más facilidad y
eficacia sus claves estratégicas y fortalecen su capacidad competitiva, también contribuye a la
buena imagen ante los clientes internos y externos.

Elementos de la comunicación

Blanco, Lobato y Lobato (2013) explican que en el intercambio de información existen


diferentes componentes como:
Es un proceso a través del cual se intercambia información y es necesario conocer cuáles son
los aspectos básicos o esenciales para que se de este proceso.

 Emisor. Es quien da marcha al proceso, toma la iniciativa de notificar, genera y envía


el
mensaje, puede ser una persona o un departamento; y para obtener una comunicación
efectiva entonces debe situarse en el lugar de la otra persona y analizar sus características,
las relaciones que mantiene con él, su nivel cultural y lenguaje.
 Receptor. Es la persona o personas que reciben el mensaje y lo interpreta, esta figura es
muy importante en el proceso comunicativo porque el resultado mayor radica en que el
mensaje tenga sentido y en ningún momento se malinterprete.
 Mensaje. Es la información que se transmite, un conjunto de ideas, datos o sentimien-
tos
que se desean difundir, transformado a través de un código que es compartido por el
emisor y el receptor.
 Código. Compuesto por lenguaje, conjunto de señales, normas, símbolos o claves que
son

17
de utilidad para transmitir un mensaje y tienen un significado común para las personas
involucradas.
 Canal. Medio por el cual se difunde el mensaje del emisor al receptor, es específica-
mente
la línea de transmisión.
 Contexto. Referente a la situación o condiciones concretas donde se desarrolla el
intercambio, relaciona características sociales, lugar y momento. Existe diferencia entre
una acción comunicativa entre personas conocidas o entornos familiares a un empresarial.

B. Etapas en el proceso de comunicación


Sin importar el medio o tipo de lenguaje que se utilice, existen ocho pasos para llevar a cabo
el
proceso de comunicación efectivamente:
 Desarrollo. Primer paso que da valor a la comunicación consiste en pensar y desarro-
llar
una idea para que la comunicación tenga sentido, para ello se debe seleccionar el código y
el canal más adecuado a utilizar.

 Codificación. Se basa en la traducción del mensaje es decir transformarlo en un código


que se compartido por el emisor y el receptor ya sea palabras o símbolos entendibles para
los dos; y en este paso se define también el lenguaje a utilizar puede ser oral, escrito, no
verbal y el formato a desarrollar.
 Transmisión o emisión. Ya que está elaborado el mensaje se envía a través de los cana-
les
que se seleccionen, estos actúan como vehículos de transmisión en el lenguaje, se debe
prestar atención a que no existan barreras o inconvenientes.
 Recepción. Permite recibir datos por medio del canal establecido y también existen los
que son naturales como la vista, oído, gusto, olfato y tacto. A través de esto la persona
recibe el mensaje que transmite el emisor.

18
 Decodificación. En esta etapa la persona que recibe el mensaje debe descifrarlo, es de-
cir
interpreta y reconstruye la idea original del mensaje. Se cumple la finalidad si la idea es
semejante a lo que quiso explicar el emisor.
 Aceptación y respuesta. Una vez que se interprete y decodifique un individuo tiene la
posibilidad de aceptarlo o rechazarlo, por supuesto que el efecto deseado para establecer
el proceso comunicativo es que sea recibida dicha información y se genere uso adecuado
de lo recibido.
 Retroalimentación o feedback. Ultimo paso que cierra el ciclo y permite disponer de
una
interacción entre las partes y quiere decir que el mensaje se recopilo, por lo tanto, si este
paso no se cumple totalmente permanecerá como unilateral información sin respuesta.

C. Barreras en la comunicación
Son interferencias que se producen en el proceso comunicativo y que provocan alteración en
el
mensaje o malentendidos entre lo que el emisor quiere decir y lo que se entiende.
14
 Barreras físicas. Derivadas del ambiente en el que se produce la comunicación; carecen
de vínculo personal, pueden reflejarse en los ruidos, interferencias por teléfono, defectos
en navegación por internet, mala iluminación o espacios reducidos.
 Barreras mentales. Funcionan como filtros a los cuales es necesario encontrar medidas
de
control para no deformar el sentido o interpretación del mensaje, muchas veces radican
prejuicios de las personas involucradas.
 Barreras personales. El estado de ánimo de un individuo puede perjudicar la emisión o
recepción de mensajes, pueden generar equivocaciones en el ámbito laboral, la
personalidad del emisor y el puesto que ocupa puede condicionar a los demás. Las
emociones, temperamento, falta de capacidad al escuchar son características que
intervienen.

19
 Barreras semánticas. Provienen de las complicaciones en el lenguaje, significado de los
símbolos para utilizar, cuanto más coincidan las características personales del emisor y el
receptor es probable es que estos símbolos tengan un significado semejante.

2.1.2. Antecedentes

(2017)[Proyecto integrador] - Intertek, Sistema de Peticiones, Quejas, Reclamos y Suge-


rencias, El Sistema de Peticiones, Quejas, Reclamos y Sugerencias (PQRS) es una herramien-
ta que nos permite conocer las inquietudes y manifestaciones que tienen nuestros grupos de in-
terés para que tengamos la oportunidad de fortalecer nuestro servicio y seguir en el camino ha-
cia la excelencia operativa.

Cuadro 2.1

(2017)[Proyecto de TFM]Plan de comunicación de la empresa Cíclika

Un plan de comunicación es el resultado de un trabajo minucioso de investigación, tanto del


entorno de la empresa, como de ella misma. El Plan de Comunicación de Cíclika, en él se ana-
20
liza la empresa y su entorno, qué objetivos se quieren alcanzar con el plan de comunicación,
qué se quiere decir a los públicos estratégicos y que acciones se proponen para llevarlo a cabo.

(2019)[Plataforma de comunicación interna] App de comunicación “DirectOs”

La app de comunicación interna para los colaboradores de Grupo Osborne ha conseguido el


premio a la Mejor herramienta de Comunicación Interna. “DirectOs” es un canal que permite
conectar a todos los empleados, involucrándolos en el desarrollo y crecimiento de la empresa
y reforzando su orgullo de pertenencia.

Esta app se ha convertido en el canal transversal que cuenta con todas las funcionalidades que
permiten el acceso a la información corporativa, fomenta la participación e integra la inteli-
gencia artificial, con un chatbot que acompaña a las nuevas incorporaciones.

Cuadro 2.2

21
2.2. Marco Teórico

De acuerdo con la Real Academia Española (RAE) “Se le llama comunicación a la Transmi-

sión de señales mediante un código común al emisor y al receptor.”. La comunicación es un
componente fundamental para los seres humanos que existe desde hace años, su relevancia ra-
dica en el intercambio de información con un fin en específico. Para que exista una comunica-
ción adecuada debemos tener en cuenta los componentes que afectan a la comunicación y que
tipos de comunicación existen, en la comunicación existen los siguientes factores

Cuadro 2.3

Emisor

El emisor es la persona, organización o tecnología que emite un mensaje, es decir, es la fuente


que genera el mensaje a comunicar.

El emisor emite y transmite el mensaje a través de un canal a un receptor. Si queremos que


tenga éxito la comunicación, el emisor ha de utilizar el mismo código de comunicación y el

22
mismo canal que el receptor. De lo contrario será imposible que se produzca la comunicación
con éxito.

Ejemplo: Una persona que emite un correo electrónico para enviar información a otra.

Receptor

Entre los principales elementos de la comunicación, el receptor es quien recibe e interpreta el


mensaje del emisor. Como mencionaba anteriormente, el receptor ha de conocer el sistema de
código de comunicación empleado por el emisor, sólo así se producirá la comprensión de este.
Una vez ha recibido el mensaje y lo ha decodificado, existe la posibilidad que el receptor res-
ponda, convirtiéndose así en emisor.

Ejemplo: La persona que ha recibido el correo electrónico y lee el contenido del ejemplo ante-
rior.

Código

El código en comunicación es un sistema de señales o signos que se utilizan para poder trans-
mitir un determinado mensaje. Algunos ejemplos son: los diferentes idiomas con sus letras,
signos, ortografía, fonética o su gramática. El código binario utilizado por la computación. Las
señales de tráfico, el sistema braille o el código morse son también otros ejemplos de código
de comunicación.

Ejemplo: el idioma en el que está escrito el correo electrónico que ha enviado el emisor.

Mensaje

El mensaje es el elemento de la comunicacion que contiene la información que manda el emi-


sor al receptor a través de un canal de comunicación. El mensaje traslada una idea o concepto

23
a comunicar a través de un código conocido por ambos. Un mensaje puede ser verbal, no ver-
bal, visual o escrito.

Ejemplo: el contenido que incluye el email, ya sea una noticia, informes, etc.

Canal de comunicación

El canal de comunicación es el medio por el cual se transfiere el mensaje entre el emisor y el


receptor. Existen diferentes canales, por ejemplo el aire en una comunicación oral, el escrito,
soportes visuales, etc. También se consideran canales de comunicación un teléfono, el papel,
la televisión, un email…

Ejemplo: Siguiendo con el ejemplo que nos acompaña a lo largo del artículo, en este caso el
canal de comunicación sería el correo electrónico.

Ruido

El ruido es una interferencia en el proceso de comunicación, la cual puede hacer que no sea
fluida o incluso que la llegue a interrumpir. Existen diferentes tipos de ruidos dentro de los
elementos de la comunicacion, como por ejemplo: música alta en un bar (ruido físico), un des-
piste o distracción (ruido psicológico), problemas técnicos o defectos en la tecnología (ruido
técnico), problemas físicos auditivos (ruido fisiológico), uso de terminología técnica como el
caso de un médico con un determinado paciente (ruido semántico). Por último si alguna de las
partes por su actitud impide el entendimiento, se denomina ruido de influencia.

Ejemplo: un ejemplo de ruido podría ser una distracción a mitad de la lectura del correo elec-
trónico.

Retroalimentación

24
La comunicación es bidireccional, tanto el emisor como el receptor intercambian su papel en
todo el proceso. Cuando el receptor recibe el mensaje del emisor, éste le contesta convirtién-
dose también en emisor.

La retroalimentación ayuda a quién emite el mensaje sepa si el receptor lo ha recibido e inter-


pretado correctamente. Esta situación se da continuamente por ejemplo en conversaciones en-
tre dos personas.

Ejemplo: si el receptor da respuesta enviando una contestación al email que ha recibido se pro-
duciría retroalimentación.

Ahora sabiendo esto debemos tomar en cuenta que necesitamos saber para el correcto desarro-
llo de la solución al problema, la forma en la que podemos desarrollar nuestra solución puede
ser mediante el uso de los artefactos de la ingeniería de software

La ingeniería de software abarca un amplio abanico de campos de la informática y la ciencia


de la computación. Esta tecnología cumple ahora dos funciones. Es el producto, pero también
sirve como vehículo que transporta el producto. Sirve de base de control para el producto
como motor, como un sistema operativo o un sistema de gestión de redes. Esta es una discipli-
na que implica el uso de estructuras, herramientas y técnicas para construir programas infor-
máticos.

Así mismo, incluye el análisis previo de la situación, la redacción del proyecto, la creación del
software y las pruebas necesarias para garantizar el correcto funcionamiento del software antes
de poner el sistema en funcionamiento.
Esta ingeniería aborda todas las fases del ciclo de vida de desarrollo de cualquier tipo de siste-
ma de información y es aplicable a una amplia gama de ámbitos de la informática y la ciencia
de los ordenadores, como el diseño de compiladores, sistemas operativos y tecnologías de In-
tranet/Internet: La empresa, la investigación científica, la medicina, la fabricación, la logística,
la banca, el control del tráfico y la meteorología son sólo algunos de los campos en los que
puede trabajar.

25
Los objetivos de la ingeniería de software son muy diversos, pero podemos destacar los si-
guientes más importantes:

 Crear programas informáticos que satisfagan las necesidades de la sociedad y empre-


sas.
 Guiar y coordinar el desarrollo de una programación difícil.
 Intervenir en el ciclo de vida de un producto.
 Estimar los costos y el plazo de ejecución de un proyecto.
 Actuar como líder del equipo de desarrollo de software.
 Diseño, desarrollo y administración de bases de datos.
 Durante la creación de la aplicación, liderar y dirigir a los programadores.
 Incluir procesos de calidad en las aplicaciones, como la medición de métricas y medi-
das y la evaluación de la calidad del software.

Dentro de la ingeniería de software entendemos que también se encuentra todo el proceso de


elaboración del software, que se denomina ciclo de vida. Está formado por cuatro etapas:

 Concepción. En esta primera fase se desarrolla el modelo de negocio. Es decir,


conocemos las necesidades que debe de tener un software y empezamos a bus-
car las herramientas para cubrirlas.
 Elaboración. Se detalla las características de la estructura del software.
 Construcción. Tal y como su nombre indica en este paso empezamos a elabo-
rar de forma tangible todo aquello que, de momento, solo hemos plasmado en
forma de ideas.
 Transición. Es el momento de la implementación y el desarrollo para los clien-
tes o usuarios. Deben tener tiempo para familiarizarse con el nuevo software.

Una vez se realiza todo este ciclo, entramos en otra fase conocida como mantenimiento. Es
una de las etapas más importantes ya que se solucionan los problemas o errores que puedan
surgir durante su implementación y también su posterior puesta en marcha. Además, se incor-

26
poran actualizaciones teniendo en cuenta los requisitos del cliente con el objetivo de que pue-
dan cumplir la mayor cantidad de tareas.
Relacionado con la ingeniería de software también se encuentra la arquitectura de sistemas.
Consiste en la esquematización de la estructura general del proyecto a desarrollar. El objetivo
de conocer el esqueleto del software es tener la capacidad de señalar y conocer cuáles son los
componentes que son necesarios para llevar a cabo el desarrollo.
Hay que tener en cuenta que existen dos tipos de softwares. Por un lado, destacamos el están-
dar, más generalista y que se puede adaptar a varios modelos de negocio. Mientras que por el
otro lado, tenemos el personalizado. Se trata de un tipo de software que se desarrolla para el
uso exclusivo de un cliente. Se diseña a su imagen y semejanza, por lo que es lógico que sola-
mente sirve para esa empresa, ya que se adapta a las necesidades y características de la compa-
ñía que ha solicitado diseñarlo. A pesar de estas diferencias clave todos los softwares presen-
tan tres elementos que lo caracterizan: Programas y/o algoritmos, Estructura de datos y Docu-
mentos.

Ahora que sabemos en qué consiste la ingeniería de software debemos abordar los tipos de tra-
bajo que existen, es decir, las metodologías de trabajo y los enfoques que llevan
Las metodologías de desarrollo de software se utilizan en el ámbito de la programación, entre otros,
con el objetivo de trabajar en equipo de manera organizada. Estas metodologías han ido evolucionando
a lo largo del tiempo, pasando de ser un mero trámite de organización a ser una base importantísima a
la hora de desarrollar software de una manera productiva y eficaz.

En las últimas décadas, las metodologías ágiles de desarrollo de software se han impuesto sobre las
demás, tal como indica el último estudio de Project Manager Institute (PMI), que señala que el 71 % de
las empresas de ingeniería de software utiliza estas metodologías. Por lo tanto, si quieres dedicar tu ca-
rrera profesional al desarrollo de software, deberás aprender cómo funcionan las metodologías ágiles.

Algunas empresas siguen usando metodologías tradicionales de desarrollo de software, que pueden


seguir siendo válidas en función del proyecto y de la empresa. Sea como sea, emplear metodologías de
desarrollo de software es imprescindibles en el ámbito de la programación y similares para generar so-
ftware de alta calidad.

27
Cuando se trata de desarrollar productos o soluciones para un cliente o mercado concreto, es
necesario tener en cuenta factores como los costes, la planificación, la dificultad, el equipo de
trabajo disponible, los lenguajes utilizados, etc. Todos ellos se engloban en una metodología
de desarrollo que permite organizar el trabajo de la forma más ordenada posible.
El desarrollo de software puede ser un sector especialmente complejo, sobre todo cuando se
trata de grandes aplicativos y equipos de trabajo.
Ponerse a desarrollar un producto sin una metodología clara desembocará en un proceso aún
más complejo, que conducirá a problemas, retrasos, errores y, en definitiva, un mal resultado
final.
El trabajo con una metodología de desarrollo de software permite reducir el nivel de dificul-
tad, organizar las tareas, agilizar el proceso y mejorar el resultado final de las aplicaciones a
desarrollar.

En la actualidad se pueden diferenciar dos grandes grupos de metodologías de desarrollo de


software: las ágiles y las tradicionales. A continuación, se explican las características de cada
una de ellas.

Metodologías de desarrollo de software tradicionales

Las metodologías de desarrollo de software tradicionales se caracterizan por definir total y rí-
gidamente los requisitos al inicio de los proyectos de ingeniería de software. Los ciclos de de-
sarrollo son poco flexibles y no permiten realizar cambios, al contrario que las metodologías
ágiles; lo que ha propiciado el incremento en el uso de las segundas.
La organización del trabajo de las metodologías tradicionales es lineal, es decir, las etapas se
suceden una tras otra y no se puede empezar la siguiente sin terminar la anterior. Tampoco se
puede volver hacia atrás una vez se ha cambiado de etapa. Estas metodologías, no se adaptan
nada bien a los cambios, y el mundo actual cambia constantemente. Las principales metodolo-
gías tradicionales o clasicas son:
 Waterfall (cascada): es una metodología en la que las etapas se organizan de arriba a
abajo, de ahí el nombre. Se desarrollan las diferentes funciones en etapas diferenciadas
y obedeciendo un riguroso orden. Antes de cada etapa se debe revisar el producto para
28
ver si está listo para pasar a la siguiente fase. Los requisitos y especificaciones iniciales
no están predispuestos para cambiarse, por lo que no se pueden ver los resultados hasta
que el proyecto ya esté bastante avanzado.
 Prototipado: se basa en la construcción de un prototipo de software que se construye
rápidamente para que los usuarios puedan probarlo y aportar feedback. Así, se puede
arreglar lo que está mal e incluir otros requerimientos que puedan surgir. Es un modelo
iterativo que se basa en el método de prueba y error para comprender las especificida-
des del producto.
 Espiral: es una combinación de los dos modelos anteriores, que añade el concepto de
análisis de riesgo. Se divide en cuatro etapas: planificación, análisis de riesgo, desarro-
llo de prototipo y evaluación del cliente. El nombre de esta metodología da nombre a
su funcionamiento, ya que se van procesando las etapas en forma de espiral. Cuanto
más cerca del centro se está, más avanzado está el proyecto.
 Incremental: en esta metodología de desarrollo de software se va construyendo el pro-
ducto final de manera progresiva. En cada etapa incremental se agrega una nueva fun-
cionalidad, lo que permite ver resultados de una forma más rápida en comparación con
el modelo en cascada. El software se puede empezar a utilizar incluso antes de que se
complete totalmente y, en general, es mucho más flexible que las demás metodologías.
 Diseño rápido de aplicaciones (RAD): esta metodología permite desarrollar software
de alta calidad en un corto periodo de tiempo. Los costes son mucho más altos y el de-
sarrollo más flexible, aunque requiere una mayor intervención de los usuarios. Por otro
lado, el código puede contener más errores, y sus funciones son limitadas debido al
poco tiempo del que se dispone para desarrollarlas. El objetivo es iterar el menor nú-
mero posible de veces para conseguir una aplicación completa de forma rápida.

Metodologías de desarrollo de software ágiles

Como hemos dicho al principio del artículo, las metodologías ágiles de desarrollo de softwa-
re son las más utilizadas hoy en día debido a su alta flexibilidad y agilidad. Los equipos de tra-
bajo que las utilizan son mucho más productivos y eficientes, ya que saben lo que tienen que

29
hacer en cada momento. Además, la metodología permite adaptar el software a las necesidades
que van surgiendo por el camino, lo que facilita construir aplicaciones más funcionales.
Las metodologías ágiles se basan en la metodología incremental, en la que en cada ciclo de de-
sarrollo se van agregando nuevas funcionalidades a la aplicación final. Sin embargo, los ciclos
son mucho más cortos y rápidos, por lo que se van agregando pequeñas funcionalidades en lu-
gar de grandes cambios.
Este tipo de metodologías permite construir equipos de trabajo autosuficientes e independien-
tes que se reúnen cada poco tiempo para poner en común las novedades. Poco a poco, se va
construyendo y puliendo el producto final, a la vez que el cliente puede ir aportando nuevos
requerimientos o correcciones, ya que puede comprobar cómo avanza el proyecto en tiempo
real. 
Las principales metodologías ágiles son:
 Kanban: metodología de trabajo inventada por la empresa de automóviles Toyota.
Consiste en dividir las tareas en porciones mínimas y organizarlas en un tablero de tra-
bajo dividido en tareas pendientes, en curso y finalizadas. De esta forma, se crea un
flujo de trabajo muy visual basado en tareas prioritarias e incrementando el valor del
producto.
 Scrum: es también una metodología incremental que divide los requisitos y tareas de
forma similar a Kanban. Se itera sobre bloques de tiempos cortos y fijos (entre dos y
cuatro semanas) para conseguir un resultado completo en cada iteración. Las etapas
son: planificación de la iteración (planning sprint), ejecución (sprint), reunión diaria
(daily meeting) y demostración de resultados (sprint review). Cada iteración por estas
etapas  se denomina también sprint. 
 Lean: está configurado para que pequeños equipos de desarrollo muy capacitados ela-
boren cualquier tarea en poco tiempo. Los activos más importantes son las personas y
su compromiso, relegando así a un segundo plano el tiempo y los costes. El aprendiza-
je, las reacciones rápidas y potenciar el equipo son fundamentales.
 Programación extrema (XP): es una metodología de desarrollo de software basada en
las relaciones interpersonales, que se consideran la clave del éxito. Su principal objeti-
vo es crear un buen ambiente de trabajo en equipo y que haya un feedback constante
del cliente. El trabajo se basa en 12 conceptos: diseño sencillo, testing, refactorización
30
y codificación con estándares, propiedad colectiva del código, programación en pare-
jas, integración continua, entregas semanales e integridad con el cliente, cliente in situ,
entregas frecuentes y planificación.

Sabiendo esto también es necesario conocer un poco acerca de las herramientas que tenemos a
nuestra disposición para el desarrollo de la solución, como podemos ver:

Tecnologías frontend o del lado del cliente

En esta tipología de tecnologías para desarrollo web se enmarcan aquellas que son las que se
ocupan de la creación de interfaces de usuario y de establecer comunicaciones con el servidor.

Entre ellas podemos encontrar las siguientes:

JavaScript

Es una de las tecnologías web más usadas. Con este lenguaje de programación multiplatafor-
ma, es posible dar una mayor interactividad y dinamismo a los sitios web. Entre sus distin-
tas funcionalidades, JavaScript permite crear tanto animaciones como objetos, localizar errores
en formularios, cambiar elementos web de manera intuitiva, crear cookies…

Además, también permite desarrollar aplicaciones tan potentes como Facebook o Twitter. Por
esto, JavaScript es una de las mejores tecnologías para desarrollo web de la actualidad.

HTML

HTML es un lenguaje de marcado usado para la creación de sitios web. Consiste en un con-


junto de códigos cortos, que se clasifican como archivos de textos en las etiquetas. Dicho
de otra manera, el texto se guarda en un archivo llamado HTML que se puede encontrar a tra-
vés de los buscadores. Cada una de las etiquetas generadas tiene diferentes funciones.

De forma breve, HTML sirve para describir el contenido de un sitio web, como la información
estructurada de párrafos, imágenes, etc. Por eso, HTML es una de las habilidades indispensa-
bles de un desarrollador web.

31
CSS

CSS es una de las mejores tecnologías para desarrollo web y a la que más recurren los pro-
gramadores gráficos a la hora de desarrollar sus proyectos. Es un lenguaje que sirve, sobre
todo, para indicar la representación visual de las estructuras HTML. De esta manera, el len-
guaje CSS sirve para acotar y trazar el aspecto visual de las etiquetas generadas por el HTML.

Tecnologías backend o del lado del servidor

Las tecnologías backend son las que se ocupan de la implementación de comportamientos de


la web en el servidor. Entre ellas, algunas de las tecnologías para desarrollo web más popula-
res son:

PHP

La característica principal de PHP es que se usa para la comunicación de un sitio web con
un servidor de datos. Gracias a esta funcionalidad es posible crear un contenido dinámico
que permite trabajar con bases de datos como MySQL y con HTML. Con este lenguaje de pro-
gramación de propósito general también es posible proceder a la recopilación de datos de for-
mularios, la modificación de base de datos o la administración de archivos en el servidor.

Python

La popularidad de Python se debe a que, además de tener una gran cantidad de librerías, es to-
talmente gratis. Asimismo, destaca por su sencillez y potencia, ya que usa menos líneas de
código que cualquier otro lenguaje de programación para cualquier aplicación que se ejecu-
te. Esto supone una gran ventaja respecto a otros tipos de lenguajes de programación y la
constituye, sin duda, como una de las tecnologías web más usadas.

Frameworks y librerías

Además de los lenguajes de programación que definen cómo estará escrito el código, es im-
portante destacar la importancia de los frameworks de desarrollo. Son una serie de herramien-
tas y librerías de código ya escrito que facilitan a los desarrolladores las tareas cotidianas o de
uso común para evitar ejecutarlas desde cero.

32
Los frameworks dan un marco de trabajo para programar en un lenguaje y las librerías se en-
cargan de solucionar problemas haciendo el código más legible. Algunas de las más populares
son las siguientes:

Angular

Entre los frameworks más usados se encuentra Angular, perfecto para aplicaciones web.


Además, utiliza HTML para realizar UI y es compatible con las últimas versiones de Chrome,
Firefox, Edge, iOS y Android.

React

React está escrito en código abierto en JavaScript, muy útil para construir las interfaces de
usuario. Es una biblioteca, aunque muchos programadores la consideran un framework por la
excelencia de sus componentes. Asimismo, admite y combina diferentes idiomas y tecnolo-
gías.

Sistemas Gestores de bases de datos Relacionales (SQL)


Desde que se comenzó a usar el modelo de bases de datos relacionales, en 1970, ha ido su-
friendo una serie de transformaciones hasta convertirse, hoy en día, en el modelo más utiliza-
do para administrar bases de datos.
Este modelo se basa fundamentalmente en establecer relaciones o vínculos entre los datos,
imaginando una tabla aparte por cada relación existente con sus propios registros y atributos.
Los principales Sistemas gestores de bases de datos relacionales (SGBD SQL) actualmente
son:

MySQL

Es el sistema gestor de bases de datos relacional por excelencia.

Es un SGBD multihilo y multiusuario utilizado en la gran parte de las páginas web actuales.


Además, es el más usado en aplicaciones creadas como software libre.

33
Se ofrece bajo la GNU GPL aunque también es posible adquirir una licencia para empresas
que quieran incorporarlo en productos privativos (Desde la compra por parte de Oracle se está
orientando a este ámbito empresarial).
Las principales ventajas de este Sistema Gestor de Bases de datos son:
 Facilidad de uso y gran rendimiento
 Facilidad para instalar y configurar
 Soporte multiplataforma
 Soporte SSL
La principal desventaja es la escalabilidad, es decir, no trabaja de manera eficiente con bases
de datos muy grandes que superan un determinado tamaño.

MariaDB
Este SGBD es una derivación de MySQL que cuenta con la mayoría de las características
de este e incluye varias extensiones.
Nace a partir de la adquisición de MySQL por parte de Oracle para seguir la filosofía Open
Source y tiene la ventaja de que es totalmente compatible con MySQL.

Entre las principales características de este Sistema Gestor de Bases de datos se encuen-


tran:
 Aumento de motores de almacenamiento
 Gran escalabilidad
 Seguridad y rapidez en transacciones
 Extensiones y nuevas características relacionadas con su aplicación para Bases de
datos NoSQL.
No tiene desventajas muy aparentes salvo algunas pequeñas incompatibilidades en la migra-
ción de MariaDB y MySQL o pequeños atrasos en la liberación de versiones estables.

SQLite

34
Más que un Sistema Gestor de bases de datos como tal, SQLite es una biblioteca escrita en
C que implementa un SGBD y que permite transacciones sin necesidad de un servidor ni
configuraciones.

Es una biblioteca utilizada en multitud de aplicaciones actuales ya que es open source y las
consultas son muy eficientes.
Las principales características de SQLite son:
 El tamaño, al tratarse de una biblioteca, es mucho menor que cualquier SGBD
 Reúne los cuatro criterios ACID (Atomicidad, Consistencia, Aislamiento y Du-
rabilidad) logrando gran estabilidad
 Gran portabilidad y rendimiento
La gran desventaja de SQLite es la escalabilidad ya que no soporta bases de datos que
sean muy grandes.

PostgreSQL
Este sistema gestor de base de datos relacional está orientado a objetos y es libre, publica-
do bajo la licencia BSD.

Sus principales características son:
 Control de Concurrencias multiversión (MVCC)
 Flexibilidad en cuanto a lenguajes de programación
 Multiplataforma
 Dispone de una herramienta “pgAdmin”, muy fácil e intutiva para la administración
de las bases de datos.
 Robustez, Eficiencia y Estabilidad.
La principal desventaja es la lentitud para la administración de bases de datos peque-
ñas ya que está optimizado para gestionar grandes volúmenes de datos.

Microsoft SQL Server

35
Es un sistema gestor de bases de datos relacionales basado en el lenguaje Transact-
SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de
manera simultánea.

Es un sistema propietario de Microsoft. Sus principales características son:


Soporte exclusivo por parte de Microsoft.
Escalabilidad, estabilidad y seguridad.
Posibilidad de cancelar consultas.
Potente entorno gráfico de administración que permite utilizar comandos DDL y DML.
Aunque es nativo para Windows puede utilizarse desde hace ya un tiempo en otras platafor-
mas como Linux o Docker.
Su principal desventaja es el precio. Cuenta con un plan gratuito (Express) pero lo nor-
mal es la elección de alguno de los planes de pago disponibles (Standard, Developer, En-
terprise o SQL Azure, la versión de SQL Server en la nube).

Oracle
Tradicionalmente, Oracle ha sido el SGBD por excelencia para el mundo empresarial, con-
siderado siempre como el más completo y robusto, destacando por:
 Soporte de transacciones.
 Estabilidad.
 Escalabilidad.
 Multiplataforma.

La principal desventaja, al igual que SQL Server, es el coste del software ya que, aunque
cuenta con una versión gratuita (Express Edition o XE), sus principales opciones son de
pago.
Las opciones de pago disponibles son:
 Standard Edition (SE)
 Standard Edition One (SE1)
 Standard Edition 2 (SE2)

36
 Personal Edition (PE)
 Lite Edition (LE)
 Entreprise Edition (EE)

37
CAPÍTULO 3. PROCEDIMIENTO Y
DESCRIPCIÓN DE LAS
ACTIVIDADES REALIZADAS

38
3.1. Actividades realizadas

A continuación, se realizará un listado de cada actividad realizada, Explicando las necesidades de cada
actividad, el proceso que se siguió para desarrollar las actividades y los resultados obtenidos en cada
una.

Presentación de fábrica y Proyecto

Durante esta actividad se realizó el primer contacto con la empresa, se dio una plática para conocer la
empresa, sus procesos y se conoció al equipo de desarrollo con el que se trabajó y se trató el tema del
proyecto con el que se trabajaría, Ficachi Web Interna es un proyecto para la comunicación de solicitu-
des de faltas programada para facilitar la comunicación entre recursos humanos y los empleados, se ex-
plicó el rol que llevaría el estudiante en el desarrollo y se respondieron las dudas que surgían.

Introducción, Diseño de pantallas y Casos de Uso

Durante esta actividad se llevó a cabo la presentación de las pantallas que se incluirían en la aplicación,
se mostraron los diseños que se implementarían y las tecnologías que se planeaban usar para realizar-
los, además se presentó los casos de uso y las posibles interacciones que el usuario tendría con la apli -
cación, se explicó cómo se deseaba que la aplicación funcionare y se solicitó las pantallas implementa-
das en una aplicación de diseño.

Revisión de pantallas y CU

Durante esta actividad se llevó a cabo una reunión para evaluar las pantallas realizadas buscando cons -
tantemente elementos que mejorar que enriquezcan la experiencia de usuario, durante esos procesos se
atendían las diversas dudas y se anotaban las mejoras a realizar, también se presentaron los casos de
uso asociados a las pantallas para poder tener un control más adecuado de la experiencia del usuario y
se pidió realizar cambios para mejorar este apartado.

39
Introducción de Cosmic Function Points

Durante este proceso se introdujo los puntos cosmic y como la empresa maneja esta metodología, y
como se calcularían en específico para este proyecto, se resaltaron los recursos y tiempos en los que se
esperaba el proyecto fuese concluido y se recalcaba principalmente el flujo de trabajo que se deseaba
tener.

Entrega final de pantallas y CU con CFP

Durante esta actividad se desarrolló la primera reunión de entregables, en esta se incluyó las pantallas
realizadas junto con sus cambios pertinentes, se realizó el estudio de los casos de uso entregados bus-
cando que reflejen la naturaleza de la interacción con el usuario, y finalmente todos estos artefactos se
asociaron a los puntos cosmics para estimar el tiempo de desarrollo y la cantidad de recursos emplea-
dos en cada entregable, finalizando con la entrega de estos artefactos a cada departamento para el ini-
cio del desarrollo.

Introducción a la base de datos

Durante esta actividad sea analizo los requerimientos necesarios para el desarrollo de la base de datos,
se estudió las necesidades del almacenamiento de datos en el proyecto bosquejando las primeras ideas
del diseño de la base de datos. Tras esta reunión se presentó el modelo de base de datos diseñado y las
características que se desean de él. Comenzando con el proceso de desarrollo de base de datos.

Introducción a FrontEnd

Durante esta actividad se introdujo a las herramientas utilizadas para el desarrollo de la interfaz gráfica
de la web interna de ficachi, se presentaron las tecnologías de desarrollo donde se destacaba HTML,
CSS, JavaScript y framworks de desarrollo web, se comenzó a asignar las diversas tareas para cada
miembro y se añadían al repositorio de la empresa y del proyecto.

Introducción a BackEnd

Durante esta actividad se introdujo, las diversas tecnologías de desarrollo backend, donde se ajustaban
los diversos requerimientos de las interacciones y consultas que los usuarios tendrán en el ciclo de vida
de la aplicación, y como conectarían la capa de FrontEnd con la de BackEnd, Finalmente, esta con la

40
capa de Base datos. Además de asignar las diversas tareas a cada miembro del equipo de desarrollo y
añadirlos al repositorio de la empresa y del proyecto.

Entrega Final d DB Web Interna

Durante esta actividad se hizo entrega del modelo de base de datos implementado en mysql, los diver-
sos roles, el diccionario de datos y los triggers y procedimientos almacenados necesarios para el fun -
cionamiento de la web interna.

Revisión de Front End Web Interna

Durante esta actividad se analizaban los avances de forma iterativa para conocer si los requerimientos
solicitados pro ficachi se cumplían como se solicitó y que cambios se podrían dar en pro de mejorar el
producto, además de asignar las nuevas tareas a realizar.

Revisión de Back End Web Interna

Durante esta actividad se analizaban los avances de forma iterativa para conocer si los requerimientos
solicitados pro ficachi se cumplían como se solicitó y que cambios se podrían dar en pro de mejorar el
producto, además de asignar las nuevas tareas a realizar.

Entrega Final de Front End Web Interna

Se entrega el apartado grafico de la web, contando con todas las pantallas con los requerimientos soli-
citados por ficachi, además de contar con todo el soporte para que los usuarios puedan interactuar de
forma sencilla con la web, además de presentar las diversas interacciones en caso de errores o de cam -
bios en el sistema.

Prueba de sistema

Durante esta actividad se implementó la web en un servidor y se ingresó por diversos equipos para pro-
bar el funcionamiento de la web, detectar errores que no se encontraron en producción y asegurar el

41
buen funcionamiento de la web, además de presentar diversas pruebas con usuarios reales para recibir
feedback que ayude a pulir todos los apartados.

Métricas de calidad

En esta actividad en un entorno controlado la web tuvo un periodo de pruebas donde se colocaron di -
versos usuarios finales que probaban la web y generaban diversas consultas, que permitan generar las
métricas de calidad, con esto se podía asegurar el buen desempeño de la web y su uso correcto.

Entrega final del proyecto de la web

En esta actividad se implementó el proyecto en el servidor de Ficachi y se añadió al sistema de aplica-


ciones para los usuarios de la empresa, para que así puedan conectarse desde cualquier equipo de la red
y realizar las peticiones y recibir respuestas de forma constante.

Documentación: Manual de usuario

En esta actividad se hizo entrega del manual a todos los trabajadores y se dio una pequeña charla para
resolver dudas del funcionamiento de la aplicación y como usarla y en qué casos esta les ayudaría, ade -
más de capacitar a recursos humanos para atender las peticiones de los empleados.

42
CAPÍTULO 4. RESULTADOS

43
4.1. Producto Final

El producto que dio como resultado del proyecto en las residencias profesionales fue la herramienta
con la que el departamento de recursos humanos ahora podrá (como primera fase del producto) admi-
nistrar permisos de ausencia de diversos indoles por parte de los empleados y también para gestionar
datos de los empleados o dar de alta a uno. El producto es una aplicación web con un servidor dedicado
dentro de las instalaciones de la empresa, por lo cual es seguro de intrusiones y posee una baja vulnera-
bilidad de datos.

4.1.1 Pantalla de inicio de sesión

Esta pantalla es la misma para todos los roles y posiciones de los trabajadores dentro de la empresa.
Antes de entrar al sitio web, los usuarios deberán crear una contraseña con la cual ingresar junto con su
correo empresarial otorgado por Ficachi.

Dentro de esta pantalla se ingresan los datos anteriormente mencionados para poder acceder a la apli-
cación. En caso de que el usuario haya olvidado la contraseña, este debera ingresar a la opción que se
encuentra debajo del boton de acceso.

44
Dentro de este pequeño formulario, el usuario debe ingresar su correo empresarial con dominio @fica-
chi.com.mx para enviar un link en donde poder crear una nueva contraseña.

Una vez que hayamos ingresado al link enviado a nuestro correo, podemos volver a hacer el fomrulario
para crear una contraseña.

45
4.1.1 Página principal

Dentro de la página principal, dependiendo del rol si se es administrador (recursos humanos) o emplea-
do convencional, tendremos como resultado unas vistas no tan semejantes con funcionalidades clara-
mente diferentes debido a que el producto está en sus primeras fases antes de agregar otras funcionali-
dades para proyectos futuros.

El empleado tiene la posibilidad de ver el historial de los permisos que ha solicitado y su estado de ve-
rificación

En otro apartado se podra hacer la solicitud de permisos detallando su duración en dias habiles el tipo
de permiso y una corta explicación del mismo.

46
En las pantallas de los administradores se tienen mas funcionalidades con la gestion de usuarios.
Como podria ser dar de alta un usuario dentro del sistema

Generar una lista de usuarios especificos o de todos los registrados.

Para la verificación de los permisos, el administrador tiene una lista donde puede ver de primera mano
el tipo de permiso, el nombre del empleado y la duración del permiso.

47
Estos permisos pueden ser filtrados tomando en cuenta su tipo o la fecha de inicio de los mismos.

48
4.2. Impacto en el ambiente laboral

La funcionalidad principal del producto, que es la petición y administración de los permisos ha


sido un proceso muy tardado y algo obtuso. Este trámite no necesita mucho para su documen-
tación y poco trabajo humano, por lo cual su digitalización y automatización era necesaria
para la empresa Ficachi y algo que otras muchas más esperan realizar.

Durante sus primeros días de implementación. esta herramienta ha sido bien aceptada entre la
administración y los empleados. Ha logrado un aumento de eficacia y velocidad en el trámite
de los permisos. Los empleados se han dicho aliviados de evitarse el largo tiempo a esperar o
el rellenamiento de formularios físicos para poder solicitar un permiso simple de mudanza o
uno del fallecimiento de un ser querido. Ficachi espera poder digitalizar otros tramites que de-
bido a su naturaleza simple o por necesidad de ser mas eficaces deban agregarse a este produc-
to de software en un futuro proyecto.

49
CONCLUSIONES, PROPUESTAS DE MEJORA Y EXPERIENCIA
PROFESIONAL ADQUIRIDA

CONCLUSIONES

El proyecto se ha logrado concebir en tiempo y forma, culminando en el entregable de la versión 1.0


del sistema FCH Web Interna. En poco tiempo el sistema se estará subiendo a los servidores de pro-
ducción de la empresa, para su puesta en marcha a nivel de empresa y determinar futuras implementa-
ciones.

Desarrollar un sistema puede llegar a ser complicado en cuanto a estructura, porque más que un siste-
ma lo realizado ha sido todo un proyecto de software. Con esta experiencia queda en evidencia la gran
utilidad de herramientas como la Ingeniería de Software en general, así como también la gestión de
proyectos en base a guías como el PMBOK.

PROPUESTAS DE MEJORA

El entregable en cuestión resulta bastante completo, de momento. En las etapas posteriores a su imple-
mentación, como es el caso del seguimiento del proyecto, se harán evidentes algunas cosas que se pu-
dieran mejorar, corregir (en caso de ser errores o anomalías) o implementar. El siguiente paso en FCH
Web Interna, el cual ya no compete al periodo de tiempo de las residencias, es la implementación de su
versión 2.0 que abordará procesos ligados con los clientes de Ficachi.

A perspectiva personal de los integrantes de la residencia, se considera que podría intentar llevar a
cabo un proyecto orientado a las metodologías ágiles como SCRUM en vez del tradicional modelo en
cascada. Las estrategias para evitar tiempos muertos de actividad laboral en el desarrollo de FCH Web
Interna resultaron efectivas. Sin embargo, al analizar la situación puede verse como hay casos específi -
cos en donde no se puede avanzar más por parte de algunos roles hasta que se termine de completar de
manera adecuada ciertas implementaciones. Esto origina algunas consideraciones como alternar a otra
etapa del desarrollo o reconsideraciones de algunos aspectos. Esto es permisible debido a que el crono -

50
grama del proyecto no es específico a las implementaciones. Las metodologías ágiles le dan la bienve -
nida al cambio, pero en las metodologías clásicas pese a observarse una buena adaptación también se
puede ver la afectación y el descontento. El cambio es como un riesgo o amenaza en el contexto se -
cuencial.

Otro cambio que se podría notar es la elección de herramientas, aunque este es debatible ya que la em -
presa solo maneja el mismo conjunto de tecnologías y sería extremadamente riesgosa su modificación.
Sin embargo, algunas tecnologías usadas en el proyecto se podrían considerar cercanas al legado (que
ya no son tan usadas o se recomienda más usar otras alternativas, pero se puede seguir desarrollando de
forma mantenible). El problema de las tecnologías de legado es la carencia de adaptación tecnológica y
el conocimiento por parte de la comunidad a futuro. Esto afectará a largo plazo a ciertos proyectos y al
crecimiento profesional de la fuerza laboral.

EXPERIENCIA PROFESIONAL ADQUIRIDA

Estar en un proyecto de software a nivel empresarial permite obtener otra visión del desarrollo, enfo -
cándose ya en clientes existentes, procesos que además de cumplir con los requerimientos deben cum -
plir con estándares de calidad y la participación en determinados momentos del desarrollo de acuerdo
con la especialización de los desarrolladores.

En la etapa educativa de la carrera nunca se tienen usuarios para los softwares desarrollados (más que
el mismo programador al testear) y se busca completar un problema determinado mediante un enuncia-
do, que sería similar a tener un solo requerimiento. En este caso se contemplan varias funciones para el
mismo sistema con los estándares de implementación de la industria intentando seguir siempre las me-
jores prácticas y, sobre todo, hacer que el sistema sea escalable. En la carrera, algunos proyectos suelen
estancarse en el final de la asignatura y no tener seguimiento. En el desarrollo profesional hay que te -
ner en cuenta que existirán nuevos proyectos que le darán continuidad al desarrollo previo, estén o no
los mismos participantes.

Otra gran aportación del proyecto son las etapas de pruebas. En la etapa de pruebas normalmente se
idean distintos escenarios para introducir datos al sistema y ver con cuales falla la aplicación al grado
de detenerse o si da valores incorrectos en caso de conocer los que deberían de obtenerse. No es una
idea tan descabellada dicho modus operandi, pero existen herramientas que nos permiten realizar prue-

51
bas a distintos niveles de profundidad en código ya de manera profesional sin tener que pasar horas fin -
giendo ser el usuario.

52
COMPETENCIAS DESARROLLADAS Y/O APLICADAS POR
EL RESIDENTE

 Desarrollo de software del lado del servidor utilizando el lenguaje de programación JAVA me -
diante Spring Framework.
 Desarrollo de software del lado del cliente utilizando el lenguaje de programación JAVA me-
diante ZK Framework.
 Desarrollo de casos de uso a partir de requerimientos.
 Valoración de los casos de uso del proyecto a partir de Cosmic Function Points.
 Diseño de interfaces de usuario interactivas usando Power Point.
 Manipulación y definición de datos estructuradas utilizando el lenguaje SQL y el SGBD MyS-
QL.
 Persistencia de datos utilizando la especificación JPA y el ORM Hibernate.
 Realización de pruebas unitarias utilizando JUnit.
 Revisión de métricas de calidad mediante la plataforma SolarQube.

53
REFERENCIAS BIBLIOGRÁFICAS

Túnez, M. y Costa-Sánchez, C. (2015). Comunicación corporativa: Claves y escenarios. Barcelona:


UOC

Blanco, C, Lobato, F, y Lobato F. (2013) Comunicación y Atención al Cliente. España: Macmillan Ibe-
ria, S.A

Baena, G. y Montero, S. (2014). Ciencias de la comunicación 1. (1ª. ed.) México, D.F: Grupo editorial
Patria.

Fernández, S. (2012). Cómo gestionar la comunicación: en organizaciones públicas y no lucrativas (1ª.


ed.) España: Narcea, S.A

Koontz, H, Weihrich, H y Cannice, M. (2012). Administración: Una perspectiva Global y Empresarial.


(14ª. ed.) México D.F: McGraw Hill

Vásquez, J. (2015). Relación entre la comunicación y la satisfacción laboral. Tesis Inédita, Universidad
Rafael Landívar, Guatemala.

54
ANEXOS

Sistema PQRS (Peticiones, Quejas, Reclamos y sugerencias). (s. f.). https://www.intertek.co-

m.co/sistema-PQRS/

Fernandez, N. B. (2017, 3 julio). Plan de comunicacion de la empresa Cíclika. https://openac-

cess.uoc.edu/bitstream/10609/66586/6/nbarreiraTFM0617memoria.pdf

Gimenez, M. (2021, 26 julio). Los mejores casos de comunicación interna. Blog de Hiberus

Tecnología. https://www.hiberus.com/crecemos-contigo/los-mejores-casos-de-comuni-

cacion-interna/

Elementos de la comunicacion: tipos y ejemplos | Roberto Espinosa. (2020, 15 noviembre).

https://robertoespinosa.es/2020/11/15/elementos-de-la-comunicacion/

Ortigosa, B. (2007) El trabajo en equipo como mejora del trabajo individual. Recuperado de

http://www.rrhhmagazine.com/articulos.asp?id=541

Ingeniería de software: Qué es, Objetivos y Funciones. (2021, 18 agosto). UNIR México.

https://mexico.unir.net/ingenieria/noticias/ingenieria-de-software-que-es-objetivos/

Martín, I. (2021, 22 octubre). ¿Qué es y qué utilidad tiene la Ingeniería de Software? Teknei.

https://www.teknei.com/2021/11/09/que-es-y-que-utilidad-tiene-la-ingenieria-de-so-

ftware/

Success Rates Rise. (2017). https://www.pmi.org/-/media/pmi/documents/public/pdf/learning/

thought-leadership/pulse/pulse-of-the-profession-2017.pdf

55
Santander Universidades. (2022, 16 septiembre). Metodologías de desarrollo software | Blog.

Becas Santander. https://www.becas-santander.com/es/blog/metodologias-desarrollo-

software.html

KeepCoding, R. (2022, 25 agosto). 7 tecnologías para desarrollo web. KeepCoding Tech

School. https://keepcoding.io/blog/7-tecnologias-para-desarrollo-web/

https://www.inesem.es/revistadigital/informatica-y-tics/los-gestores-de-bases-de-datos-mas-

usados/

56

También podría gustarte