Sei sulla pagina 1di 111

INTRODUCCIÓN

En la actualidad, la necesidad de aplicar nuevas tecnologías a los


procesos empresariales es de vital importancia, ya que de esta manera se
asegura el aumento de la eficiencia de dichos procesos, independientemente
del área al que se le aplique o actualice dicha tecnología, el resultado
siempre será un aumento de eficiencia del proceso de producción, lo que
siempre resulta beneficioso para la empresa, esto puede reflejarse con un
reducción de los costos, por un aumentando de la producción, o por ambos
casos.

Es por esta razón que la empresa, que está al tanto de la necesidad


de estar al día con la tecnología, tomó la iniciativa de crear un nuevo sistema
de intranet, dado que intranet con que cuanta en la actualidad no dispone de
opciones que sirvan de ayuda para el empleado, la misma solo permite la
vistas de los bancos, de algunas planillas y manuales antiguos, lo que la
hace poco útil para uso frecuente de los empleados, quienes optan por no
visitar este sistema de intranet. Para desarrollar está nueva iniciativa se
planteó, como un primer paso, el mejoramiento de los procesos de las
gestiones laborales que ocurren en la Gerencia de Calidad de Vida.

Como es bien sabido por todos, en esa Gerencia existe la


problemática siguiente: todos y cada uno de los procesos de las gestiones
por parte del empleado, son solicitados de manera manual, lo que ha traído
como consecuencia, que en muchas ocasiones ésta gerencia se ha visto
colapsada, por la cantidad trabajo que debe manejar, dado el gran número
de empleados que aquí laboran y que quieren realizar una gestión, y porque
además, en esta gerencia, no solo se trabaja con el fin de atender solicitudes
por parte de los empleados del Consorcio.

1
Debido a ésta problemática se planteó el desarrollo de un aplicativo
web que facilite el proceso de gestión de procesos laborales que tengan que
ver con la Gerencia de Calidad de Vida, de manera que esto permita mejorar
la eficiencia para todos los empleados de la empresa, tanto el que realiza la
solicitud de la gestión, como el encargado de procesarla y aprobarla, además
que permite llevar un mejor control de la gestión por empleado y de manera
más ordenada. Este aplicativo, que será el inicio del nuevo sistema de
intranet, está descrito a detalle en los siguientes cinco capítulos:

Capítulo I: En éste capítulo se da a conocer todo lo referente de la


empresa, sus antecedentes, su misión, su visión y se muestra un
organigrama de cómo está estructurada la misma.

Capítulo II: Aquí se realiza una introspectiva detallada dentro de la


gerencia de Calidad de Vida, donde se da a conocer a detalle, la
problemática que presenta y que solución se propone a la misma. Por otra
parte, se señalan los objetivos, el alcance y las limitaciones del proyecto.

Capítulo III: Este capítulo contiene toda la teoría necesaria para


sustentar al desarrollo del proyecto, con el fin de facilitar un mejor
entendimiento del mismo. De allí su nombre, Marco Teórico.

Capítulo IV: Este capítulo describe el tipo, diseño y nivel de la


investigación, también específica las técnicas e instrumentos de recolección
de datos utilizados. De igual forma, describe la metodología de sistemas de
información que se empleó para el desarrollo de éste proyecto, denominada
Scrum.

Capítulo V: En este capítulo, se muestra de manera detallada las


fases del desarrollo del proyecto con la metodología Scrum aplicada, junto a
sus resultados y análisis de cada fase.

2
CAPÍTULO I

IDENTIFICACIÓN DE LA EMPRESA

En este capítulo se da a conocer la empresa mediante sus


antecedentes, misión, visión y estructura organizativa, siendo en esta última
parte, donde se contempla la división jerárquica de la empresa, tanto de
manera general, como específica, lo que permite la ubicación de la
coordinación donde se desarrolló el presente proyecto.

Antecedentes

Fundada en el año de 1988, Consorcio Credicard, C.A., es la


empresa líder en el procesamiento de medios de pagos para Bancos y otras
Instituciones en Venezuela, que cuenta con el aval y la certificación de las
más prestigiosas franquicias de renombre internacional como
son MasterCard, Visa y Amex, y así ofrecer los mecanismos regulares para
iniciar las operaciones de sus productos: Tarjeta de Crédito, Tarjeta de
Débito y Adquiriencia (Terminales de Puntos de Venta, Solución VPOS,
Solución MultiVPOS, Solución Merchant), todo ello a través de un sistema
tecnológico altamente confiable y ajustado a las normativas nacionales e
internacionales.

Esta empresa es el único y primer procesador de medios de pago en


Venezuela certificado por PCI-DSS (Payment Card Industry Data Security
Standard – Estándar de Seguridad de Datos para la Industria de Tarjeta de
Pago), que acredita y avala la transparencia de las operaciones en las
diversas plataformas electrónicas, a través de un conjunto de medidas,
prácticas y herramientas de seguridad que buscan resguardar la seguridad

3
en el tratamiento de la información asociada a pagos con tarjeta, de
conformidad con los más altos estándares de seguridad internacional que
rigen la materia.

Es así como durante todos los años de trayectoria, se ha desarrollado


como una empresa innovadora, altamente confiable y garante de los
intereses de sus clientes y usuarios, para constituirse en el procesador de
medios de pagos que permitió, permite, y seguirá permitiendo brindar la
asesoría necesaria para la implementación de planes de ejecución que
minimizan los tiempos de arranque y maximizan la inversión a través de una
economía de escala y una operación segura, planificada y sustentable”.

Misión

Mantener el liderazgo en el mercado de procesamiento de medios de


pago, cumpliendo altos estándares de calidad y eficiencia de costos,
garantizando la confidencialidad y seguridad en las operaciones de sus
clientes.

Visión

Ser la empresa globalizada de servicios de vanguardia en Tecnología


Financiera de medios de pagos, con productos innovadores y de calidad, que
generen valor a sus clientes.

4
Estructura Organizativa

General

Figura 1. Estructura Organizativa General del Consorcio Credicard C.A

5
Específica

Figura 2. Estructura Organizativa Específica del Consorcio Credicard C.A

6
CAPÍTULO II

DEFINICIÓN DEL PROYECTO TÉCNICO

Según Díaz (2013) el proyecto técnico es el “medio que reúne todo lo


que se necesita para organizar, administrar y orientar el proceso de
elaboración de objetos o sistemas, que den solución a problemas de
necesidades humanas”.

En este capítulo se plantea el problema, el contexto en que se ubica el


mismo, se dan a conocer los objetivos tanto generales como específicos y las
delimitaciones del proyecto.

Descripción del Entorno o Contexto

Hoy en día, la Empresa Consorcio Credicard C.A. trabaja con


tecnologías que se encuentran desactualizadas, incluyendo en si las
herramientas electrónicas como lo es la intranet de la misma.

La misma decide emprender un proyecto laboral de actualizar su


intranet, proponiendo como primera fase un proyecto para el departamento
de Talento Humano, con el fin de actualizar los métodos que tiene el
empleado de realizar una gestión laboral para con la empresa.

Debido a que es una empresa que trabaja con información


severamente confidencial, todos sus desarrollos tecnológicos trabajan con
unas normas y estándares en donde la seguridad de la información es lo
primordial, por ende, para todos sus proyectos se utilizan servidores internos.

7
Planteamiento del Problema

Hoy en día la mayoría de empresas y organizaciones realizan


procesos automatizados, procesos dinámicos y de muy fácil uso que
garantizan que aumente su productividad. Dichos procesos son elaborados
bajo herramientas tecnológicas de las cuales depende una empresa u
organización, de esta manera, la empresa bajo una serie de procesos que
interactúan entre sí, elaboran un sistema automatizado, con fácil uso, que le
garantice a la misma una correcta y muy eficiente gestión, que puede ser
tanto para sus clientes, como para sus empleados; cabe destacar, que es
necesario que a dichos sistemas se les suministre un mantenimiento
adecuado, y que el mismo con el paso del tiempo se actualice para estar al
margen de los avances tecnológicos del día a día.

El Consorcio Credicard C.A. por ser una empresa de procesamiento


de medios de pagos, debe contar con sistemas que automaticen procesos en
todos sus departamentos. Para tal función cuentan con una Vicepresidencia
de Sistemas, la cual está distribuida por diferentes gerencias. La Gerencia de
Canales Virtuales cuenta con una Coordinación de Servicios Web, la cual es
la encargada de realizar todos los desarrollos que tengan que ver con
Aplicaciones Web tanto internas (Sistemas web de uso interno, personal y
confidencial), como externas (Sistemas web para la gestión y consulta de sus
clientes y productos). El consorcio cuenta con políticas de estandarización en
sus desarrollos, las cuales exigen que por normativas de seguridad y PCI,
todos los sistemas desarrollados en las diferentes áreas de los
departamentos de sistema deben ser realizados en el lenguaje de
programación Java, donde las consultas generadas hacia la base de datos
deben ser por medio de Stored Procedure (Procedimientos Almacenados),
cumpliendo así con las normativas y estándares de seguridad que permiten
que el consorcio se mantenga como el único procesador de medios de pago

8
en Venezuela certificado en PCI (Payment Card Industry Data Security
Standard).

Actualmente, la empresa cuenta con una intranet que no se adapta a


las necesidades de estos tiempos, pues la misma es arcaica y la mayoría de
los procesos dentro de la misma no se ejecutan, por lo que el personal
encargado de trabajar con los mismos prefiere llevarlos de manera manual,
ésta solo dispone de vistas, las cuales muestran su estructura como empresa
y una barra de navegación en la que se muestra el contenido sólo de manera
informativa. No existe un módulo dentro del mismo en el que se realicen
procesos de gestiones laborales; las planillas de permisos Remunerados y
No Remunerados, Reportes de Ausencia, de Retardo, la Solicitud de
Vacaciones, y la Solicitud de Reposos Médicos, no existen dentro de la
intranet, por lo cual el empleado tiene que acudir a las instancias del
departamento de Calidad de Vida, para hacer solicitud del modelo base de la
planilla, para así rellenarlo, firmarlo y que pase por varios procesos de evalúo
con el jefe directo del área en la que se encuentre trabajando dicho
empleado, y de esta forma, luego de que dicha planilla haya sido aprobada y
firmada por el jefe directo, debe ser llevada de nuevo a las instancias del
departamento de Calidad de Vida, con toda la justificación necesaria que
necesite el tramite; toda esta gestión se realiza de manera manual y con el
consiguiente desplazamientos del personal que debe trasladarse de un lado
a otro para realizarlo, malgastando tanto el tiempo laboral del empleado,
como los materiales de oficina que se requieren, como hojas blancas,
impresiones, sin mencionar las que se desechan por que no se elaboraron
de la manera correcta.

Para la gestión de las solicitudes de las Pólizas de Seguros HCM de


Mercantil, la intranet cuenta con una pestaña donde se encuentran enlaces
descargables de todas las planillas de las pólizas en archivos .pdf, los cuales
son descargados, se imprimen y son llenados a mano a las instancias del

9
departamento de Calidad de Vida, pues dichas solicitudes son tramitadas
directamente por la persona encargada en dicho departamento.
Posteriormente de que dicha solicitud sea evaluada y tramitada con la
compañía de seguros y le sea informada a la persona encargada de hacer
los trámites, la respuesta al empleado solicitante de la planilla se hace vía
email. De aquí se puede observar que es un proceso que también dispone
del tiempo laboral del empleado al imprimir y al llenar a mano la planilla, para
luego hacérsela llegar al encargado del departamento.

Por último, con la solicitud de Constancias de Trabajo, los empleados


deben dirigir un correo al encargado de tramitarlas en el departamento de
Calidad de Vida, para que cuando dicha carta haya sido elaborada, le sea
informado al empleado mediante un email, para que se dirija a recoger su
planilla, además de consumir el tiempo laboral del empleado, éste proceso
es muy engorroso y consume mucho tiempo para dar respuesta, ya que la
persona que tramita dicha carta, acude a un programa, el cual maneja
nóminas de todos los empleados del consorcio, para así tomar los datos de
sus sueldos, cargos, horarios, y todo lo que necesite la constancia de trabajo
que se haya solicitado.

Debido a esta gran problemática que se observan cuando se quiere


realizar una gestión laboral dentro de la empresa, se ha planteado la
creación de una intranet nueva, adaptándola a las nuevas tecnologías;
dentro de la misma, se hace la propuesta de desarrollar un sistema de
información para la Vicepresidencia de Talento Humano, que está
conformado por las gestiones que tendrá que elaborar el empleado dentro de
la intranet referentes al Departamento de Calidad de Vida, dichas gestiones
son: Permisos, Retardos y Ausencias Remunerados y No Remunerados,
Solicitud de Vacaciones, Reposos Médicos, Constancias de Trabajo y la
Solicitud de distintas pólizas de Seguros. Éste sistema de información se
originará contando con todas las observaciones que se hagan de parte del

10
Departamento de Calidad de Vida, para así generar un sistema que
estructure y organice todos los procesos de gestiones laborales, y a su vez,
desde el punto de vista del empleado del consorcio, hacer más eficiente
todos los tramites a realizar dentro de la empresa.

Para la realización del mismo se propone una interfaz de usuario y


una vista más moderna e interactiva, que permita realizar una gestión
amigable y eficaz para todas las solicitudes ya antes mencionadas, todo
esto, con el fin de disminuir hasta llegar al punto de evitar el consumo de
material físico, ya que el valor de una impresión se iguala al valor de una
comisión por transacción bancaria.

Objetivos del Proyecto

Objetivo General

Desarrollar un Sistema de Información para la gestión de procesos


laborales dentro de la gerencia de Calidad de Vida en el Consorcio Credicard
C.A.

Objetivos Específicos

 Realizar el levantamiento de información necesario para el sistema de


información de gestiones laborales dentro de la gerencia de Calidad
de Vida en el Consorcio Credicard.
 Identificar y reunir los requerimientos, especificaciones y necesidades
referentes al sistema de información para la gerencia de Calidad de
Vida.
 Diseñar la interfaz gráfica del módulo de Gestiones Laborales en la
intranet y la estructura de la base de datos que cumplan con los
requerimientos del sistema de información de gestiones laborales
dentro de la gerencia de Calidad de Vida en el Consorcio Credicard.

11
 Desarrollar el sistema de información de gestiones laborales dentro
de la gerencia de Calidad de Vida en el Consorcio Credicard bajo los
lenguajes y frames descritos en las delimitaciones.

Justificación del Proyecto

La razón principal de emplear sistemas automatizados es que


aumentan la productividad en una empresa, es decir, el mismo trae consigo
beneficios tales como: reducción de tiempo de trabajo para realizar una
labor, menos uso de espacio físico, y un gran ahorro de material por poder
almacenar toda la información en la memoria de un servidor. Cabe destacar
que el uso de las herramientas tecnológicas con las que cuenta la empresa u
organización es de vital importancia para el desarrollo y manejo de dichos
sistemas.

Este proyecto nace de la necesidad que presenta la empresa


Consorcio Credicard C.A de actualizar, modernizar y hacer dinámico su
sistema de Intranet, por lo que se propone la idea de éste sistema de
información con el fin de aumentar la productividad del empleado, acelerando
el proceso a la hora de realizar una gestión laboral.

Para el desarrollo del sistema de información, es necesario diseñar


una base de datos que contemple en sus tablas, los mismos nombres de las
tablas de una base de datos existente de la nomina de todos los empleados
del consorcio, y dicha base de datos se llenará con información ficticia con el
fin de resguardar la información personal del empleado, hasta que dicho
sistema pase por su proceso de evaluación, y luego se ponga en marcha. El
desarrollo contará con un login de usuario, para garantizar que todos los
usuarios contemplen un acceso propio al sistema, donde serán capaces de
realizar el proceso de solicitud de las planillas antes mencionadas, un
proceso que se caracteriza por el envió de una planilla de la solicitud que se
quiera hacer al encargado en el departamento de Calidad de Vida, que

12
recibirá como notificación dentro de la intranet, y por email antes, durante y
después de su proceso de gestionarse.

El factor más influyente que tiene el desarrollar éste sistema, es que


evitará las interrupciones de la labor de cada empleado del Consorcio
Credicard sede Caracas al tener que realizar una gestión laboral, pues no
tendrán que acudir a la instancia del departamento de Calidad de Vida
solicitándola, para luego, acudir varias veces más para estar al pendiente de
si su solicitud fue procesada y aceptada o si fue rechazada por algún
inconveniente. Con éste sistema, tendrán la facilidad de solicitar una planilla,
con solo un click, llenando los datos restantes a los que ya el sistema tomará
de la base de datos. Y estando al tanto de cómo va su solicitud por
notificaciones que generará el mismo, hasta el punto que la solicitud sea
aceptada y solo tenga que presionar el botón imprimir, o sea rechazada y
tenga que eliminar la misma solicitud.

Alcance del Proyecto

Características Técnicas:

 Base de Datos: MariaDB


 Sistema Gestor de la base de datos: HeidiSQL 10.2
 Sistema Operativo del servidor: CentOS 7
 Lenguajes de programación que se trabajan en el proyecto
- Java
- Javascript
 Framework que se trabajaran en el proyecto:
- Bootstrap 4
 Librerías que se utilizaron en el proyecto:
- jQuery 3.4.2
- jQueryUI (User Interface) 1.12.1

13
- moment.js 2.24.0
- jQuery timepicker.js 1.11.15
 Entorno de desarrollo:
- Eclipse versión 2019-06 con servidor apache Tomcat 9.0
 Editor de texto:
- Sublime Text 3

Este sistema de información se desarrollará y se pondrá a pruebas en


las instalaciones de la torre Credicard, ubicada en la Av. Principal del
Bosque, entre Av. Santa Lucía y Av. Sta Isabel, Torre Credicard, Pisos 18,19
y 20, Chacaíto, Caracas 1050, Venezuela. En un servidor interno de la
empresa. Cabe acotar que el levantamiento de la información también se
realizará dentro de la torre Credicard, piso 20.

Limitaciones del Proyecto

La limitación primordial presente en la elaboración del mismo es que


no se tuvo acceso directo a la data de la base de datos de la nomina de
todos los empleados para la elaboración del sistema, por motivos de
confidencialidad y normativas empresariales y debido a que la misma fue
realizada por una empresa contratista, por esas razones no se puede
presentar un diagrama entidad-relación de la misma, y se tuvo que originar
una base de datos que contemple todo un diagrama empresarial y personal
del usuario en el Consorcio Credicard C.A

Cabe resaltar que la implementación del sistema no forma parte del


proyecto, solamente forma parte el desarrollo del mismo.

14
CAPÍTULO III

MARCO TEÓRICO

Según Arias, F. (2012) el Marco Teórico “es el producto de la revisión


documental–bibliográfica, y consiste en una recopilación de ideas, posturas
de autores, conceptos y definiciones, que sirven de base a la investigación
por realizar” (p. 106).

En este capítulo se contempla los antecedentes del problema, sus


fundamentos teóricos y las definiciones básicas de términos utilizados en el
proyecto.

Antecedentes del Problema

Para este proyecto se tomó en consideración la siguiente


investigación.

Nieto Rodrigo, Jorge (2016). Desarrollo de una aplicación web, con


Front-end y Back-end, para compraventa de segunda mano. Trabajo
Especial de Grado para Optar al Título de Ingeniero de Sistemas en la
Universidad Politecnica de Valencia (España).

Dicho desarrollo es una aplicación web que permite comprar, vender


y/o intercambiar artículos nuevos y de segunda mano, que cuenta con la
ventaja de geolocalización, pues permite buscar y ofrecer productos por
cercanía y por zonas. Donde los usuarios se registran de manera gratuita y
ofertan sus productos.

15
Las tecnologías empleadas de éste desarrollo para el front-end fueron
HTML5, CSS3, Bootstrap y Angular; y en el back-end fueron MongoDB,
Express, NodeJS, utilizando una arquitectura de ingeniería de software MVC
(Modelo Vista-Controlador).

Dicha tesis se tomó en cuenta por el hecho de que el desarrollo de su


aplicación web siguió los lineamientos de la metodología Scrum para
sistemas de información, y se tomó en cuenta la teoría que presenta la
misma sobre dicha metodología.

Fundamentos Teóricos

Sistema de Información

Un sistema de información es un conjunto de datos que interactúan


entre sí mediante un proceso elaborado con un fin en común. En informática,
los sistemas de información ayudan a administrar, recolectar, recuperar,
procesar, almacenar y distribuir información para los procesos funcionales de
cada organización.

Servidor Web

“Un servidor es un programa especialmente diseñado para transferir


datos de hipertexto, es decir, páginas web con todos sus elementos (textos,
widgets, banners, etc). Estos servidores utilizan el protocolo http” (Cases,
2004).

“Los servidores web están alojados en un ordenador que cuenta


conexión a internet. El web server, se encuentra a la espera de que algún
navegador le haga una petición, para así responder a la petición mediante
una transferencia de datos en red” (Cases, 2004).

16
Apache (Servidor HTTP)

“Apache es un servidor web multiplataforma, que permite indexación


de directorios, uso de sobrenombres con las carpetas, informes configurables
sobre errores http, ejecución de programas CGI y que además admite la
última versión del protocolo http/1.1”. (Francisco Javier Egea, 2000).

Es un servidor que se basa en una configuración de un sistema de


ficheros, pues no dispone de interfaz gráfico alguno. El lector conocerá más
adelante que inicialmente este sistema de ficheros ha pasado de tres a un
fichero, lo único que necesitaremos será un editor de textos (sublime, edit,
notepad, etc.).

Una característica importante a señalar es que Apache permite


trabajar con servidores virtuales tanto con direcciones IP así como con
nombres virtuales. También se podría convertir nuestro servidor en un
servidor Proxy.

Figura 3. Logo Apache

Diagrama de Flujo

Los diagramas de flujo usan formas especiales para representar


diferentes tipos de acciones o pasos en un proceso. Las líneas y flechas
muestran la secuencia de los pasos y las relaciones entre ellos. Estos son
conocidos como símbolos de diagrama de flujo.

17
Figura 4. Simbolos para Realizar un Diagrama de Flujo

Aplicación Web

Podemos decir que una aplicación web es aquella página web a la que
se accede desde cualquier navegador utilizando Internet o desde una
intranet. Es un sitio web cuyas páginas son generadas dinámicamente
ejecutado por un código (PHP, Java, etc.) alojado en un servidor, es decir,
que dependiendo de la acción que realice el usuario, se generará una
respuesta desde la misma o desde otra página web, pasando por el ciclo que
se muestra en la figura 5.

18
Figura 5. Ciclo de Una Aplicación web

Front-End

“Dentro del contexto del desarrollo de aplicaciones web, implica el uso


de las tecnologías con las que interactúa directamente el usuario.
Normalmente estas tecnologías son desarrolladas en los lenguajes de HTML,
CSS y Javacript; también se usan las herramientas de diseño gráfico como
Photoshop o Fireworks. El objetivo es desarrollar la interfaz gráfica de
usuario (GUI), buscando una experiencia de uso bien valorada por el usuario
final, siendo en algunos casos necesario hacer investigación, estudios y
pruebas para llegar a este fin. Además, dentro del desarrollo de las
aplicaciones web es posible desarrollar el front-end de la aplicación sin
contar con una aplicación back-end que interactúe con la base de datos.”
(Kavourgias, 2015).

Back-End

“En el contexto del desarrollo de aplicaciones están implicadas las


actividades realizadas del lado del servidor; es decir, las tareas de base de
datos y los servidores de aplicaciones que el usuario no puede visualizar en
el explorador de Internet. Los lenguajes usados comúnmente son PHP, Java,
Ruby, .NET, Python, entre otros, los cuales son los encargados de
interactuar con la base de datos.” (Kavourgias, 2015; Alvarado, 2012).

19
Programación Orientada a Objetos (POO)

Se define como un paradigma que permite realizar una abstracción de


la realidad, que se puede implementar en una aplicación con el fin de
resolver problemas mediante el uso de un lenguaje de programación

El paradigma de orientación a objetos comprende una gran cantidad


de conceptos que permite el desarrollo de aplicaciones robustas

1. Paquete: es un contenedor de clases. Se utiliza para ordenar el


código de forma consistente de acuerdo a los servicios
implementados.

2. Clase: es un tipo abstracto de dato que contiene atributos y métodos.


A través de una clase se implementa un concepto abstraído de la
realidad. En este caso, los atributos son las características que se le
incluye a la clase (mayormente declaraciones de datos o de otras
clases), y los métodos son los servicios que se le incluyen a dicha
clase. En estos métodos se implementa el código necesario que
requiera el proceso.

Java

Java es un lenguaje de propósitos generales, podemos Java como


lenguaje para aplicaciones de escritorio o software como otros lenguajes (C,
C++, Pascal). A su vez, también puede ser utilizado para desarrollar páginas
web. Java se caracteriza por ser un lenguaje totalmente orientado a objetos,
con una sintaxis muy parecida a la del lenguaje C++.

La mayoría de los lenguajes de programación se caracterizan por ser


interpretados o compilados, lo que determina la manera en cómo serán
ejecutados en una computadora.

20
En un lenguaje de programación compilado, el código de dicho
lenguaje es traducido en su totalidad al lenguaje de máquina, generando un
archivo ejecutable directamente por el sistema operativo. A diferencia de un
lenguaje compilado, un lenguaje interpretado es un lenguaje de alto nivel que
está orientado a objetos y eventos cuyo código no necesita ser pre
procesado por un compilador, pues, el ordenador mediante intérpretes
(software o hasta los navegadores web) es capaz de ejecutar en tiempo real
la sucesión de instrucciones generadas por el programador.

Java tiene la característica de ser un lenguaje compilado e


interpretado al mismo tiempo, el compilador es el encargado de convertir el
código fuente de un programa en un código intermedio llamado bytecode,
archivo con extensión .class que independientemente de la plataforma en la
que se trabajó, el archivo será ejecutado por el interprete de Java que
funciona en cualquier sistema operativo o software en el que se encuentre
instalado el Kit de desarrollo de Java (JDK).

Java incluye una gran cantidad de paquetes (árbol de clases) que


provee funcionalidad para casi todo lo que el programador pueda necesitar.
Esto abarca desde el manejo de cadenas de caracteres, hasta Sockets
(redes, comunicaciones), una interfaz gráfica, etcétera.

Para cada ámbito tecnológico se han desarrollado soluciones


personalizadas, dichas soluciones son los entornos en los que se divide
Java:

 JSE (Java Standard Edition): constituye la base del lenguaje de


programación Java sobre el que se desarrollan Java EE y Java ME.
Java JSE está orientado a desarrollar aplicaciones bajo la arquitectura
cliente / servidor, sin que tenga soporte a tecnologías para internet.

21
 JEE (Java Enterprise Edition): básicamente incluye todo lo que tiene
JSE sumado a una biblioteca orientada al desarrollo de aplicaciones
empresariales (bajo éste entorno se desarrollan las aplicaciones web).

 JME (Java Micro Edition): ofrece un entorno flexible y sólido para


aplicaciones que se ejecutan en dispositivos móviles e integrados:
teléfonos móviles, TDT, reproductores Blu-ray, dispositivos multimedia
digitales, módulos M2M, impresoras y mucho más.

Figura 6. Logo de Java

HTML

Las siglas HTML significan HyperText Markup Language (lenguaje de


marcado de hipertexto), es un lenguaje artificial que los ordenadores son
capaces de interpretar y diseñado para que los programadores redacten
instrucciones que los navegadores ejecutan para originar la página web. En
esencia sirve para estructurar documentos (títulos, párrafos, listas, etc.), pero
no describe la apariencia o el diseño de un documento, sino que ofrece las
herramientas necesarias para dar formato, según la capacidad del navegador
y del servidor donde esté alojada dicha página.

22
Figura 7. Logo de HTML

JSP (Java Server Pages)

Se trata de código java insertado dentro de código HTML. Sirve para


crear y gestionar páginas web dinámicas, pues el contenido dinámico se
obtiene gracias a la posibilidad de incrustar dentro de la página código Java
de diferentes formas. Tiene como objetivo principal separar la interfaz
(presentación visual) de la implementación (lógica de ejecución).

Servlets

Son programas Java que se ejecutan en un servidor web, recibe la


petición del cliente (navegador) y realiza una tarea en específico, entre las
cuales pueden ser:

 Generar respuesta HTML o JSP


 Llamar a otros Servlets
 Utilizar cookies o sesiones
 Enlace (Controlado) entre el cliente y la Base de Datos

Básicamente los Servlets son clases normales en Java y son creados


con el fin de generar la lógica en un programa.

23
CSS

Es la abreviatura de Cascading Style Sheet (Hojas de estilo en


cascada). Su finalidad es definir como se han demostrar los elementos HTML
y con qué estilo se han de presentar. En resumen, CSS es como un idioma
utilizado mayormente por diseñadores y programadores para aplicar estilos
(colores, formas, márgenes, posición, etc.) a uno o varios documentos HTML.

Figura 8. Logo de CSS

JavaScript

Es un lenguaje de programación interpretado diseñado directamente


para los creadores de aplicaciones web, con el fin de generar más
interactividad para el usuario. En términos generales, una vez la página web
cargue en el navegador, las líneas del programa se van leyendo y ejecutando
por cada acción o evento que ocurra en dicha página web, es decir, el
interpretador es el navegador web.

24
Figura 9. Logo de JavaScript

Eclipse (Java IDE)

Las siglas IDE quieren decir Integrated Development


Environment (Entorno de Desarrollo Integrado), Eclipse es una aplicación
informática que proporciona servicios (editor de código, un compilador, un
depurador y un constructor de interfaz gráfica) para facilitarle al programador
el desarrollo de su aplicación, de éstos servicios que posee Eclipse, se
destacan complementos, y entre los más resaltantes tomamos en cuenta:

 Editor Inteligente: nos permite ver las clases, los métodos y campos
que soporta un objeto o clase
 Corrección y Compilado Automático: Eclipse compila el código sin
necesidad de solicitarlo y en su consola portable muestra los errores
automáticamente.
 Soporte para Depuración: podemos detener la ejecución sobre la
línea de código que nos interesa. Y se puede avanzar paso a paso el
código, depurar hilos de código, bucles, etc.
 Web: tiene un editor para JSP, permite iniciar, parar y desplegar en
diferentes servidores web y mucho más.

25
Figura 10. Logo de Eclipse

Arquitectura Modelo-Vista-Controlador (MVC)

Es un patrón de diseño ligado a la programación orientada a objetos


(POO) para interfaces graficas de usuario con la finalidad de separar la parte
lógica de la parte visual de los proyectos con aplicaciones web. Ésta
arquitectura divide la aplicación en tres diferentes responsabilidades, que
son:

 Modelo. contiene los objetos de dominio o estructuras de dato que


representan la lógica de negocio y contienen el estado de la
aplicación. Son clases encargadas de consultar a la base de datos, es
decir que por cada tabla tendremos una clase, cada registro en la
base de datos es un objeto, y las consultas que se hacen en dicho
modelo representan al método de esa clase.
 Vista. hace referencia a los componentes graficas (contendido html)
que son la salida de información hacia el usuario de la aplicación. La
vista se actualiza de acuerdo el estado del modelo. Lo que indica que
la vista permanentemente observa al modelo.

26
 Controlador. son controles o acciones que se encuentran disponibles
al usuario mediante la interfaz gráfica. Estos controles los usa el
usuario a través del evento como hacer click a un botón, presionar una
tecla, mover el mouse, etc. El controlador es quien altera al modelo en
el momento de que el usuario realiza el evento. Viéndolo como un
programador, el controlador son clases con métodos que se conectan
con el modelo y con la vista de manera simultánea, con el modelo
para traer el valor del objeto que se consulta y con la vista para darle
una respuesta al usuario de forma gráfica.

Figura 11. Diagrama de MVC con Java

Frameworks

Un Framework es un conjunto de bibliotecas, herramientas y normas a


seguir que ayudan a desarrollar aplicaciones. Los frameworks los desarrollan
os programadores de sistemas, y está compuesto por varios segmentos o
componentes que interactúan los unos con los otros. Las aplicaciones
pueden escribirse de manera más eficaz si utilizamos un framework
adaptado al proyecto en lugar de tener que volver a inventar la rueda cada

27
vez. En proyectos de desarrollo a gran escala y de diseño en equipo, los
Frameworks son muy útiles, incluso imprescindibles. En la actualidad existen
diferentes tipos de Frameworks:

 Los Frameworks de infraestructura de sistema, que permiten


desarrollador sistemas de explotación, herramientas graficas y
plataformas Web.
 Los Frameworks comunicativos (llamados software).
 Los Frameworks de empresa (desarrollos específicos).
 Los Frameworks de gestión de contenido

Los Frameworks son de verdad útiles, pues, permiten la reutilización


de código, la estandarización del desarrollo y la utilización del ciclo de
desarrollo de tipo interactivo.

Bootstrap

Es un Frameworks que ofrece la posibilidad de crear un sitio web


totalmente responsive, mediante el uso de librerías CSS. En estas librerías,
nos podemos encontrar un gran número de elementos ya desarrollados y
listos para ser utilizados como son los botones, menús, cuadros, banners,
collages, e incluso un amplio listado de topografías. Es un framework fácil e
intuitivo, totalmente compatible a todos los navegadores web, y esta
optimizado para dispositivos móviles.

Un sitio web responsive es una vista o interfaz capaz de ser adaptable


a cualquier tipo de dispositivo y pantalla independientemente de su tamaño.

28
Figura 12. Logo de Bootstrap

Librerías de Programación

“El concepto de “librería” es más antiguo que el de Frameworks. Las


librerías consisten en una colección de clases o métodos que proveen
comportamiento a otra aplicación. También se diferencian de los Frameworks
en que no se especializan en un control de flujo de datos interno, uso de
herencia y patrones de diseño. Dentro de estas librerías tenemos por
ejemplo Jquery y Mootools como librerías de Javacript y Twitter Bootstrap
como librería de CSS” (Rotem-Gal-Oz, 2007).

JQuery

JQuery es una librería de JavaScript libre y Open Source, del lado


cliente, que se centra en la interacción entre el mismo código JavaScript,
AJAX y el contenido HTML. El objetivo de esta librería es simplificar los
comandos comunes de JavaScript. De hecho, su lema es “Escribir menos
para hacer más” (Write less, do more).

JQuery posee numerosas especificaciones, pero la principal es


asegurar la flexibilidad que aporta para acceder a todos los elementos del
documento HTML a través de la multitud de selectores que existen.

29
JQueryUI

Es un conjunto de interacciones de usuario, efectos, widgets y temas


creados sobre la biblioteca de JavaScript de jQuery. Ya sea para crear
aplicaciones web altamente interactivas o que en el contenido del sitio web
solo necesite agregar un selector de fecha a un control de un formulario.

Moment.js

Es una librería de JavaScript que gestiona un sólido manejo de las


fechas a diferencia del lenguaje base como tal, puesto a que el propio
lenguaje JavaScript nos proporciona el objeto Date para manipular fechas, y
hacer cálculos y métodos no demasiado complejos, en cambio momento.js
cubre más funcionalidades, entre las que se pueden destacar:

 Obtener fecha actual, y darle formato a esa fecha y hora de multiples


maneras
 Sumar y restar años, meses, días, horas, minutos, segundos en una
fecha dada
 Devolver la diferencia entre dos fechas en años, meses, días, horas,
minutos, segundos.
 Consultar sobre si las fechas cumplen con una condición determinada
(si son iguales, si esta antes o después de otra fecha, si está entre un
rango de fechas determinado, etc.).

Timepicker.js

Es un complemento adicional de jQuery para mejorar los campos de


entrada de formulario, puede analizar las representaciones de tiempo más
utilizadas, lo que le permite al usuario ingresar el tiempo utilizando su forma
escribida para escribirlo, y en caso de preferir una interacción en tiempo real
en las entradas de formularios, en la entrada de datos del formulario con éste
complemento se puede crear un menú desplegable de opciones.

30
Base de Datos

Conjunto estructurado de datos que representa de forma única e


integrada, entidades y sus interrelaciones. También se puede definir como un
fondo común de información almacenada en una computadora o servidor
para que cualquier persona o programa autorizado pueda acceder a ella,
independiente de su procedencia y del uso que haga.

Para elaborar una base de datos que cumpla con las complejidades
del ambiente que se quiere modelar en la misma se debe crear un modelo de
datos, que representa estructuras de datos y sus características, relaciones,
restricciones, transformaciones y otras construcciones con el propósito de
sostener un dominio del problema específico.

Un modelo de datos se divide en 3 fases:

 Modelo Conceptual: parte de la situación actual y de los requisitos


del usuario, describe las características principales de los dato del
sistema a través de entidades, atributos y relaciones de interés para el
área de negocios a representar.

- Entidades: objetos que tienen una existencia propia conforme a


las decisiones de gestión de la empresa. Es aquello de interés
duradero para la empresa, sobre lo cual se pueden almacenar
datos e identificar un modo único.
- Atributo: son características o propiedades de una entidad que
sirven para definir, describir y clasificar.
- Relaciones: representación de asociaciones entre entidades,
acorde con las decisiones de gestión de la empresa. Las
relaciones establecen el grado de asociación entre dos
estructuras de datos diferentes.

31
 Modelo Lógico: aplicación de las reglas de normalización al modelo
conceptual, que derivan en las tablas que representan el modelo
entidad-relación de una base de datos.

- Normalización: proceso sistematizado mediante el cual se


transforman datos complejos a un conjunto de estructura de
datos más pequeñas, que son más simples, más estables y
más fáciles de mantener.

 Modelo Físico: se orientan los componentes del diseño lógico hacia


la configuración y las características de un gestor de base de datos, a
través del lenguaje de definición del gestor o DDL (MySQL, MariaDB,
etc.).

Reglas de la Normalización

 Primera Forma Normal (1FN)

- Unicidad de Campo: todos los atributos son atómicos. Un


atributo es atómico si los elementos del dominio son
indivisibles, mínimos.
- Clave Principal: cada tabla debe contener una llave primaria
única, que este formado por uno o más campos de la tabla,
esto garantiza que el registro sea único y que no se repitan
grupos de datos en las filas.

 Segunda Forma Normal (2FN). La regla de la 2FN establece que


todas las dependencias parciales se deben eliminar y separar dentro
de sus propias tablas. Una dependencia parcial es un término que

32
describe a aquellos datos que no dependen de la llave primaria de la
tabla para identificarlos.

 Tercera Forma Normal (3FN). La 3FN establece que una tabla esta
normalizada en esta forma si todas las columnas que no son llave son
funcionalmente dependientes por completo de la llave primaria y no
hay dependencias transitivas. Una dependencia transitiva es aquella
en la cual existen columnas que no son llave que dependen de otras
columnas que tampoco son llave.

Base de Datos Relacional

Una Base de Datos relacional es una Base de Datos que cumple con
el modelo relacional, el cual es el modelo más utilizado en la actualidad para
implementar Bases de Datos ya planificadas. Permiten establecer
interconexiones (relaciones) entre los datos (que están guardados en tablas),
y a través de dichas conexiones relacionar los datos de ambas tablas, de ahí
proviene su nombre: "Modelo Relacional".

Características:

 Una Base de Datos relacional se compone de varias tablas o


relaciones.
 No pueden existir dos tablas con el mismo nombre ni registro.
 Cada tabla es a su vez un conjunto de registros (filas y columnas).
 La relación entre una tabla padre y un hijo se lleva a cabo por medio
de las claves primarias y ajenas (o foráneas).
 Las claves primarias son la clave principal de un registro dentro de
una tabla y éstas deben cumplir con la integridad de datos.

33
 Las claves ajenas se colocan en la tabla hija, contienen el mismo
valor que la clave primaria del registro padre; por medio de éstas se
hacen las relaciones.

Tipos de Claves de una Base de Datos:

 Clave Única (UNIQUE). Esta clave establece que a cada tabla puede
tener uno o más campos cuyos valores sean identificados de forma
única, es decir, que no existan dos o más registros cuyo valores en
dicho campo sean idénticos.

 Clave Primaria (Primary Key). Esta clave establece que en cada


tabla hay sólo un campo elegido entre todos los candidatos que define
unívocamente a todos los demás atributos de la tabla. Pues dicho
campo especifica los datos que serán relacionados con las demás
tablas. La forma de hacer esto es por medio de claves foráneas.
Ningún campo de dicha que sea clave primaria podrá tener valores
nulos o NULL

 Clave Foránea (Foreign Key). Esta clave establece que en cada


tabla, el valor de un campo es igual al valor de un campo que es clave
primaria de otra tabla, pues la clave foránea es lo que hace la
referencia a otra tabla. No necesitan ser claves únicas en la tabla
donde están, y si a donde están referenciadas.

 Clave Índice. Las claves índices surgen con la necesidad de tener un


acceso más rápido a los datos. Los índices pueden ser creados con
cualquier combinación de campos de una tabla. Las consultas que
filtran registros por medio de estos campos, pueden encontrar los
registros de forma no secuencial usando la clave índice.

34
Procedimientos Almacenados (Stored Procedure)

Es código ejecutable que se asocia y se almacena con la base de


datos. Los procedimientos almacenados usualmente recogen y personalizan
operaciones comunes, como insertar un registro de una tabla, recopilar
información estadística, o encapsular cálculos complejos. Son
frecuentemente usados por una API para seguridad de código o simplicidad.

Los procedimientos almacenados no son parte del modelo relacional,


pero todas las implementaciones comerciales los incluyen.

Sistema Gestor de Base de Datos (SGBD)

Definimos un Sistema Gestor de Bases de Datos o SGBD, también


llamado DBMS (Data Base Managment System) como una colección de
datos relacionas entre sí, estructurados y organizados, y un conjunto de
programas que acceden y gestionan esos datos.

La colección de esos datos se denomina Base de Datos o BD, en


ingles Data Base o DB.

Como objetivos principales de los SGBD constan los siguientes:

 Independencia de Datos: Los programas de aplicación deben verse


afectados lo menos posible por cambios efectuados en datos que no
usan.

 Integridad de los Datos: La información almacenada en la BD debe


cumplir ciertos requisitos de calidad, para ello hace falta, en el
momento de introducirse los valores de los datos, que éstos se
almacenen debidamente, y que posteriormente no se deterioren.

35
 Seguridad de los Datos: A la información almacenada en la BD sólo
pueden acceder las personas autorizadas y de la forma autorizada.

Es entonces deber del SGBD ofrecer los servicios típicos:

 Creación y definición de la base de datos.


 Manipulación de los datos.
 Acceso a los datos.
 Mantener la integridad y consistencia de los datos.
 Mecanismos de copias de respaldo y de recuperación.

MariaDB

MariaDB es un sistema gestor de bases de datos (SGBD)


relacionales, surge a raíz de la compra de la compañía desarrolladora de otro
(SGBD) llamado MySQL, por la empresa Sun Microsystems. El desarrollador
original, decide tomar el código fuente original de MySQL y genera un
derivado con mejoras y cambios a los que llama MariaDB. Entre esas
mejoras podemos destacar:

- Mecanismos de Almacenamiento

- Mejoras de Velocidad. Se completan mejoras que aumentan la


velocidad y el rendimiento, eliminando conversiones de
caracteres innecesarias

- Mejoras en las Pruebas. Reducen en la medida de lo posible


el número de alertas del compilador y también mejoran el
código de programación evitando introducción de nuevos
errores o bugs.

36
- Facilidad de Uso. Introduce actualizaciones del progreso en
acciones como ALTER TABLE y LOAD DATA INFILE.
Comandos como FLUSH y SHOW disponen de opciones para
identificar la causa en la carga del SGBD.

HeidiSQL

Es un software libre que permite ver y editar datos y estructuras desde


computadoras que ejecutan uno de los sistemas de bases de datos MariaDB,
MySQL, Microsoft SQL o PostgreSQL. Entre sus principales características
se encuentran:

 Es gratuito.

 Este software de código abierto permite conectar con una gran selección
de servidores desde una única ventana a través de la línea de
comandos.

 Con HeidiSQL los desarrolladores pueden exportar una determinada


base de datos de un servidor a otro de manera directa.

 El programa permite importar desde archivos de texto de manera rápida


y sencilla.

 Un software mediante el cual se pueden crear y editar tablas, vistas,


procedimientos, citas programadas, etc.

 Se pueden exportar datos del gestor de base de datos en un amplio


abanico de formatos en función de las necesidades y preferencias de los
desarrolladores: CSV, HTML, XML, SQL, LaTeX, Wiki Markup y PHP
Array.

37
Figura 13. Logo de HeidiSQL

Código Abierto

Son aquellas aplicaciones que tienen su código fuente liberado. En


general los programas de código abierto suelen ser libres y gratuitos.

Un código fuente es una serie de instrucciones que componen a un


programa en lenguaje de programación. Pero en este primer estado no es
directamente ejecutable por la computadora, sino que debe ser traducido a
otro lenguaje y de esa forma será más fácil para la maquina interpretarlo y
llevar adelante las instrucciones que el mismo contiene.

38
Definición de Términos Básicos

API

Del inglés “Aplication Programming Interface”, en español sería


Interfaz de Programación de Aplicaciones.una API se compone de un
conjunto de funciones y procedimientos que cumplen una o muchas
funciones con el fin de ser utilizadas por otro software.

Constancia

En general, una constancia es un documento en el que se hace


constar algún hecho, en ocasiones de modo auténtico o fehaciente. Existen
diversos tipos, según qué clase de hecho constaten, el formato, quién lo
constata, entre otros.

Entorno de Desarrollo Integrado (IDE)

Un IDE es un entorno de programación que ha sido empaquetado


como un programa de aplicación, o sea, consiste en un editor de código, un
compilador, un depurador y un constructor de interfaz gráfica.

Pólizas de Seguro

Es un documento que le da validez al contrato de seguro realizado y


firmado en conformidad tanto por el asegurado como por el asegurador, en el
cual se especifican las normas, los derechos y las obligaciones de las partes
involucradas.

Reportes

Es un documento informativo que sirve para comunicar información


que sea relevante, este puede ser un material creado por una empresa,
organización o un trabajo de clases que sirve para dar mayor información
sobre un tema en específico, por otro lado el reporte también la información

39
que se divulga a través de un medio de comunicación, este puede ser visual
o textual.

Software

Es un término informático que hace referencia a un programa


o conjunto de programas de cómputo, así como datos, procedimientos y
pautas que permiten realizar distintas tareas en un sistema informático.
Comúnmente se utiliza este término para referirse de una forma muy
genérica a los programas de un dispositivo informático, sin embargo,
el software abarca todo aquello que es intangible en un sistema
computacional.
Solicitud

Es un documento escrito que va dirigido a un organismo público o a


una autoridad a los que se pide algo o ante los que se plantea una
reclamación con la exposición de los motivos en los que se basan. La mayor
parte de los organismos públicos disponen de impresos destinados a este fin.
Se debe preguntar por su existencia y, si no los hay, se puede hacer la
instancia por uno mismo.

40
CAPÍTULO IV

MARCO METODOLÓGICO

Este capítulo contempla todos los tipos de investigación, las técnicas y


mecanismos utilizados para el análisis de nuestra problemática, a su vez, nos
indica la metodología aplicada para el desarrollo del sistema de información.

Tipo de la Investigación

Según Balestrini (2002, p.9), los proyectos factibles son aquellos


proyectos o investigaciones que proponen la formulación de modelos,
sistemas, entre otros, que dan soluciones a una realidad o problemática real
planteada, la cual fue sometida con anterioridad o estudios de las
necesidades a satisfacer.

De igual forma Hurtado (2008, p.47), define un proyecto factible o


investigación proyectiva como la elaboración de una propuesta, un plan, un
programa o un modelo, como solución a un problema o necesidad de tipo
práctico, ya sea de un grupo social, de una institución o de una región
geográfica, en un área particular del conocimiento, a partir de un diagnóstico
preciso de las necesidades del momento, los procesos explicativos o
generadores involucrados y de las tendencias futuras, es decir, con base a
los resultados de un proceso investigativo.

En este sentido, la UPEL (1998, p.7) define el proyecto factible como


un estudio “que consiste en la investigación, elaboración y desarrollo de una
propuesta de un modelo operativo viable para solucionar problemas,
requerimientos o necesidades de organizaciones o grupos sociales”.

41
Por ende, de todo lo antes mencionado, se puede señalar que el tipo
de investigación aplicada es un proyecto factible o investigación proyectiva,
ya que se define una propuesta tecnológica de desarrollar un sistema de
información que mejore la eficiencia en las gestión de procesos que tengan
que ver con la gerencia de Calidad de Vida que tenga que realizar el
personal trabajador de la empresa Credicard C.A.

Nivel de la Investigación

Según Arias, F. (2006, p. 23) “El nivel de investigación se refiere al


grado de profundidad con que se aborda un fenómeno u objeto de estudio”.

De igual manera, explica que La investigación descriptiva consiste en


la caracterización de un hecho, fenómeno, individuo o grupo, con el fin de
establecer su estructura o comportamiento. Los resultados de este tipo de
investigación se ubican en un nivel intermedio en cuanto a la profundidad de
los conocimientos se refiere (p. 24).

Según Tamayo y Tamayo M. (2002, Pág. 35) “comprende la


descripción, registro, análisis e interpretación de la naturaleza actual, y la
composición o proceso de los fenómenos. El enfoque se hace sobre
conclusiones dominantes o sobre grupo de personas, grupo o cosas, se
conduce o funciona en presente”.

En este orden de ideas, éste proyecto comprende una investigación


descriptiva, ya que estudia el proceso de la realización de cualquier gestión
laboral de un empleado con la gerencia de Calidad de Vida, y de esta
manera, definir la relación y las comparaciones que existe entre el proceso
actual y el proceso luego del desarrollo del sistema de información.

42
Diseño de la Investigación

Según Arias, F (2006, p. 27), “El diseño de investigación es la


estrategia general que adopta el investigador para responder al problema
planteado. En atención al diseño, la investigación se clasifica en:
documental, de campo y experimental”.

Así mismo, Arias define la investigación de campo como “la


recolección de datos directamente de los sujetos investigados, o de la
realidad donde ocurren los hechos (datos primarios), sin manipular o
controlar variable alguna, es decir, el investigador obtiene la información pero
no altera las condiciones existentes”. (p. 31).

Por otra parte, Arias define la investigación documental como “un


proceso basado en la búsqueda, recuperación, análisis, crítica e
interpretación de datos secundarios, es decir, los obtenidos y registrados por
otros investigadores en fuentes documentales: impresas, audiovisuales o
electrónicas. Como en toda investigación, el propósito de este diseño es el
aporte de nuevos conocimientos”. (p. 27).

Con respecto a lo definido anteriormente, tomamos ambos diseños de


investigación (El de campo y el experimental), el diseño de investigación de
campo se debe a que visualizamos la gestión que ocurre cuando un
empleado amerita un Permisos Remunerados y No Remunerados, Solicitud
de Vacaciones, Reposos Médicos, Constancias de Trabajo y la Solicitud de
distintas pólizas de Seguros. Todo con el fin de obtener información de esos
procesos. Y a su vez es de tipo documental porque se obtuvo contenido de
parte de la empresa sobre cómo tienen que estar estructuradas dichas
gestiones, sobre cómo está estructurada la empresa para la base de datos
del empleado, entre otros.

43
Técnicas e Instrumentos de Recolección de Datos

Arias, F. (2006), define técnica de investigación como “el


procedimiento o forma particular de obtener datos o información” (p. 67), y un
instrumento de recolección de datos como “cualquier recurso, dispositivo o
formato (en papel o digital), que se utiliza para obtener, registrar o almacenar
información.” (p. 68). Las técnicas empleadas en el proceso de recolectar
información son la técnica de observación libre y entrevistas no
estructuradas.

Arias, F. (2006) menciona que La observación es una técnica que


consiste en visualizar o captar mediante la vista, en forma sistemática,
cualquier hecho, fenómeno o situación que se produzca en la naturaleza o en
la sociedad, en función de unos objetivos de investigación preestablecidos
(p. 69). Entre los distintos tipos de observaciones, destacamos la
observación libre, ésta se ejecuta en función de un objetivo, pero sin una
guía prediseñada que especifique cada uno de los aspectos que deben ser
observados (p. 70).

Ésta técnica fue ejecutada en el proyecto con el fin de captar los


procesos de gestiones para cada empleado, y de ésta manera encontrar ese
punto donde ése proceso se pueda hacer más eficiente con la elaboración
del desarrollo.

Por otro lado Arias, F. (2006) identifica a La entrevista, más que un


simple interrogatorio, es una técnica basada en un diálogo o conversación
“cara a cara”, entre el entrevistador y el entrevistado acerca de un tema
previamente determinado, de tal manera que el entrevistador pueda obtener
la información requerida (p. 73).

44
La entrevista se clasifica en tres modalidades (estructurada, no
estructurada y semi-estructurada), de las cuales solo resaltaremos a la
entrevista no estructurada.

Dice Arias, que la entrevista no estructurada no dispone de una guía


de preguntas elaboradas previamente. Sin embargo, se orienta por unos
objetivos preestablecidos que permiten definir el tema de la entrevista, de allí
que el entrevistador deba poseer una gran habilidad para formular las
interrogantes sin perder la coherencia. (p. 74).

Con ésta técnica aprovechamos toda la información nos proveyó la


gerente de la gerencia de Calidad de Vida, que contribuyó a aclararnos cada
interrogante de todas las gestiones que se realizan, de cómo se tienen que
estructurar, de que ciertos parámetros debe cumplir el empleado del
consorcio para que puedan hacer la gestión de la misma (validaciones en el
desarrollo), entre otras particularidades. Ésta técnica fue ejecutada de
manera informal, en situaciones peculiares donde existía dicha interrogante
que necesitaba ser aclarada.

Tipo de Metodología

En este proyecto se implementa un tipo de metodología ágil o agile.


Luís Gonçalves (2019) hace mención que “el método Ágil es un proceso que
permite al equipo dar respuestas rápidas e impredecibles a las valoraciones
que reciben sobre su proyecto. Crea oportunidades de evaluar la dirección
de un proyecto durante el ciclo de desarrollo. Los equipos evalúan el
proyecto en reuniones regulares llamadas sprints o iteraciones”.

La metodología ágil ayuda a las empresas a diseñar y crear el


producto idóneo. El proceso de gestión es muy beneficioso para las
compañías de software porque les permite analizar y mejorar su producto
durante el desarrollo del mismo. Esto da a las empresas la capacidad de

45
fabricar un producto valioso, de manera que se mantengan competitivas en
el mercado.

La metodología ágil que se emplea en este proyecto es Scrum.

Scrum

Se define Scrum como una estructura en la que las personas pueden


abordar complejos problemas adaptativos, siendo a la vez productivas y
creativas para entregar productos finales de gran valor. Scrum también
incorpora varios elementos, como que es ligero y fácil de entender. Eso sí, es
difícil de dominar. La estructura está compuesta de Equipos Scrum que
llevan a cabo una serie de funciones, tienen diferentes utensilios y eventos y
siguen una serie de reglas. Cada parte de la estructura tiene un propósito,
que trabaja hacia el éxito de Scrum.

Equipo Scrum (Scrum Team)

Tres miembros componen el Equipo Scrum básico, y son el Product


Owner, el Equipo de Desarrollo y el Scrum Master. Se espera que estos
equipos se auto-organicen y sean multifuncionales. Cuando se auto-
organizan, pueden elegir la mejor manera de finalizar el trabajo y no tener en
cuenta la orientación que puedan dar personas que no sean del equipo.
Como equipos multifuncionales, tienen todas las competencias para para
realizar el trabajo, sin depender de otras personas fuera del equipo. El
objetivo del equipo es optimizar la flexibilidad, la creatividad y la
productividad.

 Product Owner (Dueño del Producto). Es una persona que tiene la


responsabilidad de gestionar una lista ordenada de todas las cosas
que se requieren del producto o sistema de información (Backlog),
ésta gestión incluye:

46
- Expresar claramente los elementos del backlog del producto.
- Ordenar los elementos del backlog del producto para alcanzar
las misiones y los objetivos.
- Optimizar el valor del trabajo que realiza el equipo de
desarrollo.
- Asegurar que el backlog de producto es visible, transparente y
claro.

 Development Team (Equipo de Desarrollo). Es un equipo de


mínimo de 3 miembros, formado por profesionales que trabajan para
entregar un incremento de producto que se pueda lanzar al final de
cada sprint o reunión regular. Solo los miembros de este equipo
pueden crear el incremento. Estos equipos tienen las siguientes
características:
- Se auto-organizan. No reciben instrucciones ni consejo de
nadie sobre cómo convertir el Backlog de producto en
incremento de funcionalidades.
- Son multifuncionales y tienen todas las habilidades necesarias
para crear el incremento de producto.
- Scrum no otorga ningún título al equipo de desarrollo, todo el
mundo es desarrollador, sin importar el trabajo que
desempeñen. Esto se aplica sin excepciones.
- Dentro del equipo de desarrollo, el Scrum reconoce que no hay
sub-equipos.
- Cada miembro del equipo de desarrollo podría tener una
habilidad o zona de confort especial, peri si hablamos de
responsabilidades se considera al equipo como un todo.

 El Scrum Master (Maestro Scrum). Es una sola persona que tiene la


responsabilidad de asegurar que se ha entendido y aprobado el

47
método Scrum. Trabajan con el equipo Scrum por lo que pueden
adherirse a la teoría, prácticas y reglas de Scrum. El Scrum Master es
esencialmente el líder-ayudante del equipo Scrum.

El Servicio del Scrum Master para el Product Owner es:


- Encontrar técnicas para gestionar de manera efectiva el
Backlog de Producto.
- Ayudar al Equipo Scrum a entender la necesidad de tener
elementos claros y concisos en el backlog de Producto.
- Comprensión del planteamiento de producto en un ambiente
empírico.
- Asegurar que el Product Owner conoce la mejor manera de
organizar el backlog de Producto para maximizar el valor.
- Comprensión y práctica de la agilidad.
- Facilitar eventos de Scrum según se requiera.

El servicio del Scrum Master para el Development Team es:


- Actuar de coach en temas de auto-organización y
multifuncionalidad.
- Ayudar al Equipo de Desarrollo a crear productos de alto valor.
- Eliminar los Impedimentos del progreso del Equipo de
Desarrollo.
- Facilitar eventos de Scrum según se requiera.
- Actuar como coach en ambientes de organización donde el
método Scrum no ha sido totalmente adoptado o entendido.

El servicio del Scrum Master para la Organización en General es:


- Liderar al equipo y actuar de coach en la adopción del método
Scrum.
- Planear la implementación de Scrum en la organización.

48
- Ayudar a empleados y partes interesadas a entender el
desarrollo de Scrum y el desarrollo empírico de productos.
- Causar cambios que lleven al incremento de la productividad
del Equipo Scrum.
- Trabajar con otros Scrum Masters para aumentar la efectividad
de la implantación de Scrum en la organización.

Sprint

El corazón de la metodología Scrum es el Sprint, se puede definir


como un proyecto que tiene un periodo de tiempo de un mes o menos en el
que se crea un producto liberable, utilizable y “Finalizado”. Los Sprints
deberían tener duraciones constantes durante todo el desarrollo. Un nuevo
Sprint comienza solo cuando el anterior ha finalizado.

Durante un Sprint:

 No se realizan cambios que puedan afectar al objetivo del Sprint


 Los objetivos de calidad no disminuyen
 El alcance puede clarificarse y renegociarse entre el Product Owner y
el Development Team a medida que se va aprendiendo más.

Cada Sprint puede considerarse un proyecto con un horizonte que no


sea mayor de un mes. Al igual que los proyectos, los Sprints se usan para
lograr algo. Cada Sprint tiene una meta de lo que se construirá, un diseño y
un plan flexible que guiará su construcción, el trabajo del equipo y el
incremento de producto final. Se enfatiza que el Sprint no puede superar el
tiempo límite de un mes ya que si el horizonte de un Sprint es demasiado
grande, la definición de lo que se está construyendo podría cambiar, la
complejidad podría incrementarse y el riesgo podría aumentar.

Cuando el Sprint está en curso, no debería haber ninguna alteración


que pudiera afectar al objetivo del mismo, los objetivos cualitativos no

49
descienden, y el enfoque podría ser aclarado y renegociado entre el Product
Owner y el Equipo de Desarrollo.

 Incremento: Es cuando se considera finalizado y entregable un


Sprint.

Eventos de Scrum

Son normalmente eventos programados que regulan y minimizan la


necesidad de llevar a cabo reuniones no planeadas. Todos estos eventos
son de tiempo limitado. Una vez que un evento comienza, tiene una duración
fija que no puede cambiarse.

Cada evento da la oportunidad de inspeccionar o adaptar algo y han


sido diseñados para permitir una transparencia radical en la elaboración del
producto final. Hay cuatro eventos principales, y uno opcional en la
metodología Scrum que son:

 Planificación del Sprint (Sprint Planning): éste plan se crea


mediante el trabajo colaborativo del Equipo Scrum completo. Planificar
un Sprint tiene un máximo de duración de ocho horas para un Sprint
de un mes. Para Sprints más cortos el evento usualmente es más
corto. El Scrum Master se asegura de que el evento se lleve a cabo y
que los asistentes entiendan su propósito. El Scrum Master enseña al
equipo Scrum a mantenerse dentro del bloque de tiempo.

En la reunión para la planificación del Sprint, el Equipo Scrum


se debe plantear dos cosas indispensables:

- Una proyección de parte del Development Team sobre que se


desarrollará durante el periodo de ese Sprint, para que le quede
claro al Product Owner el o los objetivos que el Sprint debería

50
lograr y de cuáles serían los elementos del backlog del
producto final que se lograran al completar dicho Sprint.

- Ya una vez establecido el objetivo y seleccionado los elementos


del backlog del producto final para el Sprint, el Development
Team conjunto a la ayuda y supervisión del Scrum Master
desarrollan estrategias para construir una lista de pendientes
del Sprint (Sprint Backlog), que no es más que una lista o plan
de trabajo organizado para terminar la lista de los pendientes
seleccionados.

 Scrum Diario (Daily Scrum): El Scrum Diario es una reunión con un


bloque de tiempo de 15 minutos para el Equipo de Desarrollo. El
Scrum Diario se lleva a cabo cada día del sprint. En él, el Equipo de
Desarrollo planea el trabajo para las siguientes 24 horas. Esto
optimiza la colaboración y el desempeño del equipo inspeccionando el
trabajo avanzado desde el último Scrum Diario y haciendo una
proyección del trabajo del Sprint a realizar a continuación. El Scrum
Diario se realiza a la misma hora y en el mismo lugar todos los días
para reducir la complejidad.

 Revisión del Sprint (Sprint Review): se trata de una reunión de un


máximo de tiempo de cuatro horas que se lleva a cabo al finalizar un
Sprint para inspeccionar el Incremento y adaptar el backlog del
producto final de ser necesario. Durante de la revisión del Sprint, el
Equipo Scrum y los interesados colaboran acerca de lo que se realizó
durante el Sprint. El Scrum Master se asegura de que el evento se
lleve a cabo y de que los asistentes entiendan su propósito.

51
 Retrospectiva del Sprint (Sprint Retrospective): es una oportunidad
para el Equipo Scrum de inspeccionarse a sí mismo, y de crear un
plan de mejoras que sean abordadas durante el siguiente Sprint.
Tiene lugar después de la revisión del Sprint y antes de la siguiente
planificación de Sprint. Se trata de una reunión de máximo tres horas.
El Scrum Master se asegura de que el evento se lleve a cabo y que
los asistentes entiendan su propósito.

 Cancelación del Sprint (Opcional): Un Sprint puede cancelarse


antes de que el bloque de tiempo llegue a su fin. Solo el Product
Owner tiene la autoridad para cancelar el Sprint, aunque puede
hacerlo bajo la influencia de los interesados (del Equipo de Desarrollo
o del Scrum Master).

Figura 14. Proceso de la Metodología Scrum.

52
CAPÍTULO V

RESULTADOS

Éste capítulo contempla de manera detallada una explicación del


desarrollo del Sistema de Información, es decir, todas las fases que se
implementaron para el desarrollo de la base de datos y la interfaz con la que
se maneja la misma con la metodología Scrum.

Sprint 0 – Fase Inicial

El Sprint 0 en Scrum describe un paso anticipado al desarrollo de


nuestro proyecto, en la que se establece como contenido una base sobre la
que se trabajará, dichos objetivos comprenden los objetivos específicos
señalados:

1. Realizar el levantamiento de información necesario para el sistema de


información.
2. Identificar y reunir los requerimientos, especificaciones y necesidades
referentes al sistema de información.
3. Diseñar la interfaz gráfica del módulo de Gestiones Laborales en la
intranet y la estructura de la base de datos.

Para cumplir con el primer paso (levantamiento de información), se


aplicó la técnica de la entrevista no estructurada, con la intención de
establecer de forma clara los requerimientos necesarios para el desarrollo del
sistema de información de las gestiones de Solicitud de Vacaciones,
Reportes de Ausencia, de Retaros, Permisos remunerados y no
remunerados, reposos Médicos, las Pólizas HCM, y las Constancias de
Trabajo. Estos requerimientos son:

53
Para la Solicitud de Vacaciones

 Un sistema que reconozca toda la información personal del empleado,


con el fin de que existan datos pre cargados en el formulario y en la
planilla.

 Al llenar en el formulario de su solicitud la fecha desde y hasta, dichos


días se calculen validando si no es fin de semana, o si no es un día
festivo, y dicho sistema debe validar también con la cantidad de días
que tiene cada empleado para solicitar sus vacaciones.

 También debe existir una validación que va en contra de las fechas de


solicitudes que ya están cargadas, dicha validación es sólo para
empleados del mismo departamento o gerencia dependiendo de en
qué cargo se encuentre el empleado solicitante.

 Éste sistema debe operar de tal manera que dicho formulario al


llenarse debe ser enviado al supervisor del empleado que esté
disponible, para que sea evaluado por el mismo y decida si aceptar o
rechazar su solicitud, si la solicitud del empleado ha sido aceptada, el
empleado podrá imprimir ésta solicitud con un formato de documento
que se maneja en la empresa, para luego solicitar las firmas
necesarias que aplique éste documento, en tal caso de que no, el
empleado solo dispone de la capacidad de eliminar su solicitud para
redactar otra. Cabe destacar que al ser enviado al supervisor, se debe
enviar un correo electrónico de que tiene pendiente por evaluar una
solicitud, y a su vez, cuando ingrese al sistema debe mostrársele una
notificación en el menú principal.

 El sistema debe mostrar una pestaña donde el empleado podrá


observar los estatus en el que se encuentra su solicitud, y para cada
cambio de estatus en la solicitud, debe mostrar una notificación en la

54
ventana principal y enviar un correo electrónico al empleado
solicitante, dichos estatus son: “ENVIADO” (si la solicitud se formuló y
se le envió al supervisor), “RECIBIDO” (cuando el supervisor la
visualice), “ACEPTADO” (si el supervisor acepta dicha solicitud) y
“RECHAZADO” (si el supervisor rechaza dicha solicitud).

 En la pestaña antes mencionada, al ser aceptada la solicitud deben


haber 3 opciones: imprimir, Limpiar registro (para poder formular otra
solicitud) y Anular Solicitud (si hubo un error en la elaboración de
dicha solicitud, o si dicha solicitud es rechazada de último momento
por la Gerencia de Calidad de Vida). Por otra parte, si la solicitud es
rechazada solo existirá la opción de Limpiar registro, pues, dicha
solicitud no fue procesada.

Para los Reportes de Ausencia y Retardos, Permisos Remunerados y


No Remunerados y Reposos Médicos

 Un sistema que reconozca toda la información personal del empleado,


con el fin de que existan datos pre cargados en un único formato de
documento predefinido por la empresa que incluye todas estas
gestiones.

 En este sistema, solo los supervisores serán los responsables de


reportar un retardo o ausencia, y verán el historial de reportes que
hayan formulado e impreso. Dichos reportes deben tener tres
opciones: Imprimir, Eliminar y la de Enviar ficha de reporte por correo
a toda la gerencia encargada de procesar los.

 Por otra parte, todos los empleados, sean o no supervisores, tendrán


la capacidad de solicitar permisos por cualquier motivo que justifique
el permiso que solicita, entre esos motivos está “Enfermedad”, y será
como solicitar un reposo medico por parte de la empresa. Dicho

55
permiso debe ser enviado al supervisor del empleado que esté
disponible, para que sea evaluado por el mismo y decida si aceptar o
rechazar el permiso; si el permiso del empleado ha sido aceptado, el
empleado podrá imprimir dicho reporte, para luego solicitar las firmas
necesarias que aplique éste documento, en caso contrario, que no sea
aceptado, el empleado solo dispone de la capacidad de eliminar su
solicitud para redactar otra nueva. Cabe destacar que al ser enviado al
supervisor, se le debe enviar también un correo electrónico
indicándole que tiene pendiente por evaluar el permiso de dicho
empleado, y a su vez, cuando ingrese al sistema, debe mostrársele
una notificación en el menú principal.

 Debe haber una validación, en la que si existe un permiso en proceso


de ser aceptado o rechazado, no se puedan formular permisos
nuevos.

 El sistema debe mostrar una pestaña donde el empleado pueda


observar los estatus en el que se encuentra el permiso solicitado, la
misma, debe mostrar una notificación en la ventana principal para
cada cambio de estatus y a su vez, debe enviar también un correo
electrónico al empleado solicitante; los estatus que deben estar
presentes en la pestaña son: “ENVIADO” (si su permiso se formuló y
se le envió al supervisor), “RECIBIDO” (cuando el supervisor la
visualice), “ACEPTADO” (si el supervisor acepta dicho permiso) y
“RECHAZADO” (si el supervisor lo rechaza.

Para la Constancia de Trabajo

 Un sistema que reconozca toda la información personal del


empleado, y que al llenar el formulario dependiendo del tipo de
constancia que requiera.

56
 Dicha constancia debe tener varias opciones a la que escoger, entre
ellas están: escoger a quien va dirigido, “A quien pueda interesar” o a
algún ente en particular; con sueldo mensual, con sueldo anual o sin
sueldo; con horario o sin horario.

 Ésta constancia debe tener la opción de imprimir bajo un formato de


documento que maneja la empresa, con la firma digital de la
encargada de la gerencia de Calidad de Vida de llevar dichas planillas
para que solo sea sellada bajo el nombre de la empresa.

Para las Pólizas HCM

 Se debe crear un enlace que lleve al empleado a un documento pdf


con un formato editable obtenido de la plataforma web de Seguros
Mercantil, para que el mismo llene su planilla y la imprima, y que la
misma sea firmada y llevada al encargado de las pólizas de seguro en
la Gerencia de Calidad de Vida, sea evaluado, y enviado dicho
documento a la agencia de Seguros Mercantil.

El sistema de información se desarrolló y probó, haciendo uso de las


siguientes tecnologías:

 Sistema Operativo: Windows 10.


 Entorno de Desarrollo Integrado (IDE): Eclipse versión 2019-06
 Editor de texto: Sublime Text v3.0
 Lenguajes de programación: Java y JavaScript.
 Formato de la base de datos: MariaDB
 Gestor de Base de Datos: HeidiSQL
 Framework: Bootstrap 4
 Librerías: jQuery 3.4.2, jQueryUI (User Interface) 1.12.1, moment.js
2.24.0 y jQuery timepicker.js 1.11.15

57
Diseño de Modelo del Sistema de Información

Para diseñar un modelo del sistema de información es necesario


haber hecho estudios previos de las necesidades por parte de la gerencia de
Calidad de Vida y de esta manera, tener definidos los requerimientos antes
planteados. Este sistema está representado por Diagramas de Flujo, que son
una muestra visual de un paso a paso del proceso que se cumple en el
sistema de información para realizar una labor en específico dependiendo
que gestión quiera realizar el empleado. Se modeló el sistema de
información de esta manera, con el fin de que la realización de los diagramas
de flujo sirviera como un apoyo considerable al desarrollo del sistema del
mismo.

Figura 15. Diagrama de Flujo del Módulo de Constancia de Trabajo y Pólizas HCM.

58
Figura 16. Diagrama de Flujo del Módulo de Solicitud de Vacaciones.

59
Figura 17. Diagrama de Flujo del Módulo de Solicitudes y Reporte.
Descripción: Este modulo se basa en el proceso de reportes de ausencia y retardo, los
permisos remunerados y no remunerados y los reposos médicos.

60
Al finalizar la construcción del diagrama de flujos que representa a
cada modulo, se inició con el diseño de las tablas en la base de datos que se
utilizó, pero poco antes de realizar dicho proceso, se elaboró un modelo
entidad-relación con el que se definió la estructura del empleado dentro de la
empresa, con el cual en dicho modelo, se reconoce toda la información
personal y laboral necesaria que complementa a todos los procesos de
gestiones realizados.

Figura 18. Modelo Entidad-Relación de la Estructura del Empleado.

Descripción: Este modelo nos describe toda la información personal y laboral necesaria del
empleado para la elaboración del sistema de información, sumado a la relación de dicho
modelo con las entidades que generan todas las gestiones que la requieran .

En dicho modelo, no se muestra una relación completa de todo el


sistema, es decir, de las tablas que se utilizaron para el proceso de cada
gestión, pues, considerando que estas tablas están relacionadas
directamente a la tabla del empleado “INTRA_EMPLEADOS”, sería poco
probable entender todo el proceso por el cual pasa cada gestión si se

61
añaden estas relaciones; de igual forma, cada tabla que no se haya
mostrado en este modelo tendrá su descripción pertinente (su relación y el
uso de la misma) en la fase del diseño de la base de datos.

Diseño de la Base de Datos del Sistema de Información

Para cumplir con el desarrollo del sistema de información, la empresa


brindó el host de un servidor interno donde estaba creada una base de datos
de tipo relacional llamada “intraccr” (Creada para el entorno de la intranet
que se quiere implementar en la empresa). Dicha base de datos se
encontraba vacía y fue ejecutada bajo el software HeidiSQL para así crear
las tablas pertinentes del sistema de información, empezando por la
estructura principal de nuestro sistema que son las tablas que definen al
empleado.

Figura 19. Tablas Generales del Sistema de Información.

62
Descripción de Cada Tabla de la Base de Datos

Figura 20. Representación de Como se representan los tipos de claves en los campos.

Tabla 1. “intra_pe” de la Base de Datos del Sistema de Información.

Tabla 2. “intra_vpe” de la Base de Datos del Sistema de Información.

Tabla 3. “intra_vp” de la Base de Datos del Sistema de Información.

Tabla 4. “intra_gerencia” de la Base de Datos del Sistema de Información.

63
Tabla 5. “intra_dpto” de la Base de Datos del Sistema de Información.

Tabla 6. “intra_cargo” de la Base de Datos del Sistema de Información.

Tabla 7. “intra_supervisor” de la Base de Datos del Sistema de Información.

64
Tabla 8. “intra_empleado” de la Base de Datos del Sistema de Información.

Tabla 9. “intra_login” de la Base de Datos del Sistema de Información.

Tabla 10. “solicitudes_status” de la Base de Datos del Sistema de Información.

Descripción: En esta tabla están cargados los estatus (ENVIADO, RECIBIDO, ACEPTADO y
RECHAZADO) de las gestiones que la ameritan (Permisos y Solicitud de Vacaciones).

65
Tabla 11. “intra_sdv” de la Base de Datos del Sistema de Información.

Descripción: Esta tabla fue creada con el fin de se cargue cuando el empleado registre la
solicitud que recién se le está enviando al supervisor para su evalúo. En dicha tabla se
controla el estatus de la solicitud. Para cuando en un registro el estatus sea aceptado, se
cargan los datos con el que el empleado irá de vacaciones en otra tabla.

Tabla 12. “intra_vacaciones” de la Base de Datos del Sistema de Información.

Descripción: Esta tabla fue creada con el fin de cargar todas las solicitudes de vacaciones
del empleado que ya fueron aceptadas por su supervisor. Esta es la tabla principal de las
vacaciones del empleado porque de aquí es que salen las validaciones.

66
Tabla 13. “sdv_dias_limite” de la Base de Datos del Sistema de Información.

Descripción: En esta tabla, están la cantidad de días que puede cumplir un empleado en sus
vacaciones, dicha tabla es usada solo con el fin de hacer la validación del empleado cuando
coloque los días en el formulario.

Tabla 14. “sdv_bonos_limite” de la Base de Datos del Sistema de Información.

Descripción: En esta tabla, están la cantidad de bonos vacacionales que brinda la empresa
que tiene disponible un empleado en sus vacaciones, dicha tabla es usada solo con el fin de
hacer la validación luego de realizar el primer registro de la solicitud.

Tabla 15. “reporte_categoria” de la Base de Datos del Sistema de Información.

Descripción: esta tabla aloja las categorías de reporte que se están trabajando: “REPORTE”,
“AUSENCIA”, “PERMISO” y sirve para hacer la validación para que el empleado que no sea
supervisor sólo tenga disponible realizar permisos.

Tabla 16. “reporte_motivo” de la Base de Datos del Sistema de Información.

Descripción: Esta tabla aloja todos los motivos justificados por los que el empleado solicito el
permiso, ausencia o retardo

67
Tabla 17. “reporte_permiso_generico” de la Base de Datos del Sistema de
Información.

Descripción: Esta tabla fue creada con el fin de se cargue cuando el empleado registre el
permiso que recién se le está enviando al supervisor para su evalúo. En dicha tabla se
controla el estatus del permiso, para cuando en un registro el estatus sea aceptado, se
cargan los datos del permiso del empleado en otra tabla.

Tabla 18. “reporte_permiso” de la base de datos del sistema de información.

68
Descripción: Esta tabla fue creada con el fin de cargar todos los permisos del empleado que
ya fueron aceptados por su supervisor. Este es la tabla principal de los permisos.

Tabla 19. “reporte_ausencia” de la base de datos del sistema de información.

Descripción: Esta tabla fue creada con el fin de almacenar el registro de todas las ausencias
que reportan los supervisores al empleado.

Tabla 20. “reporte_retardo” de la base de datos del sistema de información.

Descripción: Esta tabla fue creada con el fin de almacenar el registro de todos los retardos
que reportan los supervisores al empleado.

Diseño de la Interfaz Gráfica del Sistema de Información

Para la elaboración de la interfaz grafica, se tomó en cuenta todas las


sugerencias sobre la vista que tendrá el sistema por parte de la gerencia de

69
calidad de vida, y sobre todo las del departamento encargado donde se
realizó dicho sistema de información “Departamento de Servicios Web”.

Figura 21. Inicio de Sesión del Sistema

En el Inicio de Sesión (Fig 21), se ingresa el usuario preestablecido


que tiene el empleado en la empresa, y la contraseña sólo se modifica
directamente ingresando a la base de datos por motivos de seguridad.

Figura 22. Página Principal del Sistema “Index” para Cada Empleado

70
Figura 23. Menú de Barra Lateral del Sistema con el Desplegable de Gestiones.

Figura 24. Menú de Barra Lateral del Sistema con el Desplegable de Gestiones
Contraído (Función Responsive).

71
Figura 25. Opción de “Solicitud de Vacaciones” Desplegable.

Figura 26. Opción de “Reportes y Solicitudes” desplegable.

72
Figura 27. Formulario para la Solicitud de Vacaciones.

Figura 28. Formulario Cargado de Manera Exitosa.

73
Figura 29. Barra de Estatus de la Solicitud de Vacaciones con Estatus “ENVIADO”

Figura 30. Correo Electrónico Recibido por parte del Supervisor (se recibe cuando se
le envía al supervisor una solicitud de vacaciones o un permiso).

74
Figura 31. Notificación del Supervisor al Ingresar, pueden ser de solicitudes de
Vacaciones o de Permisos.

Figura 32. Vista del Supervisor para Evaluar Solicitud del Empleado

Figura 33. Notificación de Seguridad: si se quiere “Aceptar” o “Rechazar” la Solicitud.

75
Figura 34. Barra de Estatus de la Solicitud de Vacaciones con Estatus “RECIBIDO”.

Figura 35. Correo Electrónico que le llega al Empleado cuando su Solicitud fue
Aceptada o Rechazada.

Figura 36. Pestaña de Notificación del Empleado de cuando su Solicitud ha sido


“RECIBIDA”, “ACEPTADA” o “RECHAZADA”.

76
Figura 37. Barra de Estatus de la Solicitud de Vacaciones con Estatus “ACEPTADO” y
sus botones de Imprimir, Limpiar Registro y Anular Solicitud.

Figura 38. Barra de Estatus de la Solicitud de Vacaciones con Estatus “RECHAZADO”


y con solo el botón de Limpiar Registro.

Figura 39. Planilla pdf para Imprimir de la Solicitud de Vacaciones.

77
Figura 40. Mensaje de Error que Valida la cantidad de días Limites con los días que
está colocando en el formulario de solicitud de vacaciones.

Figura 41. Mensaje de error que Valida un Choque de Fechas entre Empleados.

78
Figura 42. Mensaje de error que Valida Si Tiene una Solicitud de Vacaciones en
Progreso

Figura 43. Formulario de Reportes y Solicitudes.

Figura 44. Formulario con la Opción “RETARDO” Seleccionada.

79
Figura 45. Formulario con la Opción “AUSENCIA” Seleccionada.

Figura 46. Formulario con la Opción “PERMISO” Seleccionada.

Figura 47. Formulario de RETARDO o AUSENCIA Siendo Procesado.

80
Figura 48. Formulario de PERMISO Siendo Enviado al Supervisor.

Figura 49. Lista de Personas que fueron Reportadas con Retardos.

Figura 50. Lista de Personas que fueron Reportadas con Ausencias.

81
Figura 51. Estatus del Permiso del Empleado “ENVIADO”.

Figura 52. Vista de Evaluar Permisos del Supervisor.

Figura 53. Notificación de Seguridad: Si Se quiere “Aceptar” o “Rechazar” el Permiso.

Figura 54. Estado del Permiso del Empleado “RECIBIDO”.

82
Figura 55. Correo Electrónico que Recibe el Empleado Luego de que su Permiso sea
Aceptado o Rechazado.

Figura 56. Pestaña de Notificación del Empleado de Cuando su Permiso ha sido


“RECIBIDO”, “ACEPTADO” o “RECHAZADO”.

83
Figura 57. Estado del Permiso del Empleado “ACEPTADO” Conjunto a los Botones de
Imprimir y Limpiar el Registro.

Figura 58. Estado del Permiso del Empleado “RECHAZADO” Conjunto a Solo el Botón
de Limpiar el Registro.

Figura 59. Formato pdf de los Reportes y del Permiso.

84
Figura 60. Pestaña de Solicitud de Constancia de Trabajo con el Selector “Dirigido a”.

Figura 61. Pestaña de Solicitud de Constancia de Trabajo con el Selector “Modelo de


Constancia”.

Figura 62. Pestaña de Solicitud de Constancia de Trabajo que Incluya Horario.

85
Figura 63. Formato pdf con el que se Imprime la Constancia de Trabajo.

Figura 64. Vista de los Link que lleva al Formato pdf de las Pólizas que Maneja la
Empresa.

86
Figura 65. Formato pdf editable de las Pólizas HCM del Seguro Mercantil.

Desarrollo del Sistema de Información


Este sistema de información fue desarrollado bajo los estándares que
nos brinda la metodología Scrum, por ende se mostrará a detalle el
cumplimiento de cada objetivo planteado en los requerimientos organizados
por los Sprint que se definirán a continuación.

Antes de definir los Sprints, se identificaron los que conforman el


equipo Scrum pertinente para el desarrollo del Sistema de Información.

Tabla 21. Asignación de Roles en el Equipo Scrum

Equipo Scrum
Product Owner Lic. Jean Bautista
Scrum Master Ing. Jennifer Jaimes
Development Team Martínez José

87
Luego de tener claro quiénes son los participantes en el desarrollo del
Sistema de Información, se elabora un Product Backlog (Lista de Producto),
donde se muestran todos los requerimientos del sistema desde el punto de
vista del usuario.

Product Backlog (Lista de Producto)

 Elaborar un formulario de inicio de sesión que valide los datos de cada


empleado que tendrá una cuenta única en el sistema, en este sistema
solo estarán los usuarios que sean empleados de la empresa.

 Elaborar la vista en general del sistema bajo un template (plantilla con


una estructura predefinida) como guía.

 Colocar en la barra lateral del menú el contenido que ameriten las


gestiones que se realizarán.

 Elaborar un formulario para la solicitud de vacaciones que incluya


todos los datos necesarios del empleado. En dicho formulario se debe
validar cuando se coloquen las dos fechas que no se cuente en los
días de vacaciones un sábado o domingo y los días festivos; también
debe validar que no exista un empleado de su mismo departamento,
gerencia o vicepresidencia que tenga vacaciones entre el rango de
fechas que seleccione el usuario; y por último se debe hacer una
validación para que sólo se pueda mantener en gestión una sola
solicitud de vacaciones, hasta que la misma sea aceptada o
rechazada por el usuario supervisor.

 Elaborar notificaciones de cuando la solicitud de vacaciones haya sido


enviada al usuario supervisor, una para ser enviada por correo
electrónico y una notificación en la vista principal del sistema.

88
 Elaborar una vista para mostrar el estatus de la solicitud de
vacaciones del usuario, que cuando la solicitud de vacaciones esté
aceptada, tenga los botones para imprimir y uno para borrar el
registro, por si en algún otro momento el empleado quiere solicitar las
vacaciones de nuevo.

 Elaborar una vista para mostrar en el usuario supervisor todas las


solicitudes de vacaciones que se les hayan enviado, con el fin de que
pueda ver los datos importantes de esa solicitud, y de que pueda
decidir si aceptar o rechazar la misma. Cabe destacar que solo los
usuarios que sean supervisores son los que deben ver ésta pestaña.

 Elaborar notificaciones de cuando la solicitud de vacaciones haya sido


aceptada o rechazada al usuario que la solicitó, una para ser enviada
por correo electrónico y una notificación en la vista principal del
sistema.

 Elaborar una vista de la planilla que será impresa con el formato de la


empresa para cuando se presione la opción de imprimir la solicitud de
vacaciones.

 Elaborar un formulario para los reportes de ausencia, retardo y para


los permisos, en donde tiene que tener una validación que solo los
usuarios supervisores sean los que puedan hacer las tres gestiones,
mientras que aquel usuario que no sea supervisor solo pueda
gestionar un permiso. El formulario de permiso debe tener una
validación de que si hay un permiso siendo procesado, no se pueda
formular uno nuevo.

 Elaborar notificaciones de cuando el permiso haya sido enviado al


usuario supervisor, una para ser enviado por correo electrónico y una
notificación en la vista principal del sistema.

89
 Elaborar una vista para mostrar todos los registros de los reportes de
ausencia y retardo que el usuario supervisor haya elaborado, y a su
vez, en la misma vista, mostrar el estatus del permiso solicitado. Debe
haber una validación en la misma para que los usuarios supervisores
sean los únicos capaces de ver los registros de las ausencias y
retardos; los registros de los reportes de ausencia y retardo se deben
poder imprimir, eliminar y enviárselas vía correo electrónico al correo
“administración.talentohumano@credicard.com.ve”. Mientras tanto la
vista del estatus del permiso solicitado, solo podrá ser impreso o
limpiado el registro, si dicha solicitud ha sido aceptada, porque si es
solo rechazada, sólo tendrá la opción de limpiar el registro.

 Elaborar una vista para mostrar en el usuario supervisor todos los


permisos que se les haya enviado, con el fin de que pueda ver los
datos importantes de esa gestión, y de que pueda decidir si aceptar o
rechazar el mismo. Cabe destacar que solo los usuarios que sean
supervisores son los que deben ver ésta pestaña.

 Elaborar notificaciones de cuando el permiso haya sido aceptado o


rechazado al usuario solicitante, una para ser enviado por correo
electrónico y una notificación en la vista principal del sistema.

 Elaborar una vista de la planilla que será impresa con un formato


preestablecido de la empresa para cuando se presione la opción de
imprimir el reporte (ausencia o retardo) o el permiso.

 Elaborar un formulario para la constancia de trabajo, en la que todo


usuario empleado podrá solicitar imprimir dicha constancia en distintos
modelos, el formulario debe contar con parámetros como: a quien va
dirigido, si quieren su constancia con sueldo mensual, anual o sin
sueldo, si quieren su constancia con horario y sin horario.

90
 Elaborar una vista con todas las pólizas HCM de Mercantil Seguros
con las que trabaje la empresa, ésta vista dispone de un enlace que
redirija a un formato de un formulario pdf editable, que provee
Mercantil Seguros, para que sea llenado e impreso por el usuario.

En base a definir el Product Backlog (Lista de Producto), podemos


definir los Sprints del sistema que fueron planteados por parte del Equipo
Scrum.

Sprint 1 – Inducción al Lenguaje y Frameworks Empleados e Ingreso de


Usuario al Sistema.
En la planificación de este sprint, se acordó que se realizarían los
primeros tres puntos descritos en la lista de productos y se añadiría el tiempo
de aprendizaje empleado para familiarizarse con el lenguaje y Frameworks
empleados.

Duración del sprint 1: 4 semanas.

Lista de Pendientes del Sprint (Sprint Backlog)

 Adaptarse al uso de Java EE para Proyectos Web Dinámicos


mediante videos, documentaciones, principalmente sobre como
declarar sesiones y como autenticarlas con tablas en la base de datos.
 Adaptarse al estructurado visual de la interfaz gráfica con el
Framework Bootstrap.
 Aprender el resto de las funciones relevantes del lenguaje Java que
sirvan para el desarrollo del proyecto.
 Elaborar un formulario de inicio de sesión que valide los datos de cada
empleado que tendrá una cuenta única en el sistema, en este sistema
solo estarán los usuarios que sean empleados de la empresa.
 Elaborar la vista en general del sistema bajo un Template (plantilla con
una estructura predefinida) como guía.

91
 Colocar en la barra lateral del menú el contenido que ameriten las
gestiones que se realizarán.

Luego de realizar una inducción propia al lenguaje en general y de


absorber toda la información indagada sobre el mismo y sobre el framework
Bootstrap se pudo obtener el resultado esperado del inicio de sesión para
cada empleado observado en la Fig. 21.

El sistema verifica en la tabla “intra_login” de la base de datos (Tabla


9), si el usuario y la contraseña coinciden y así permite el acceso a la vista en
general del mismo con su menú desplegable que se pueden observar de la
Fig. 22 a la Fig. 26.

Sprint 2 – Solicitud de Vacaciones, Procesos del Usuario.

En la reunión para planificar dicho Sprint, se acordó elaborar todos los


ítems del Product Backlog que tengan que ver con la Solicitud de Vacaciones
cuando el usuario las solicita.

Duración del sprint 2: 4 semanas.

Lista de Pendientes del Sprint (Sprint Backlog)

 Adaptarme al uso de las librerías jQuery para un manejo más sencillo


de las sentencias en JavaScript, jQueryUI para dar formato a los input
de forma de calendario y MomentJS para hacer cálculos de manera
más sencilla con datos de tipo DATE o fechas. Todo esto para las
validaciones pertinentes en el siguiente ítem.

 Elaborar un formulario para la solicitud de vacaciones que incluya


todos los datos necesarios del empleado. En dicho formulario se debe
validar cuando se coloquen las dos fechas que no se cuente en los
días de vacaciones, un sábado o domingo y los días festivos; también
debe validar que no exista un empleado de su mismo departamento,

92
gerencia o vicepresidencia que tenga vacaciones entre el rango de
fechas que seleccione el usuario; y por último se debe hacer una
validación para que sólo se pueda mantener en gestión una sola
solicitud de vacaciones, hasta que la misma sea aceptada o
rechazada por el usuario supervisor.

 Familiarizarse con el uso de la librería interna que posee el IDE


Eclipse llamada JavaMail, para el envío de correos electrónicos
desarrollados bajo código Java.

 Elaborar notificaciones de cuando la solicitud de vacaciones haya sido


enviada al usuario supervisor, una para ser enviada por correo
electrónico y una notificación en la vista principal del sistema.

 Elaborar una vista para mostrar el estatus de la solicitud de


vacaciones del usuario, que cuando la solicitud de vacaciones esté
aceptada tenga los botones para imprimir y uno para borrar el registro
por si en algún otro momento el empleado quiere solicitar las
vacaciones de nuevo.

 Elaborar una vista de la planilla que será impresa con el formato de la


empresa para cuando se presione la opción de imprimir.

El programa se encarga de leer todos los datos necesarios del


empleado en el formulario para que el usuario tenga que llenar los campos
mínimos posibles visto en la Fig. 27. Y luego de presionar la tecla enviar se
visualiza la Fig. 28 (si los datos han sido llenados de manera correcta o si no
muestra un error por una validación).

Para las validaciones pertinentes de dicho sistema, se utilizó la librería


Moment.js, que hace el cálculo de los días entre el rango de fechas que se
coloca en los input donde se muestra el calendario gracias a la librería
JQueryUI. Esta validación de días surge cuando hacemos un simple

93
condicional de si el número de días calculados es menor o igual al número
de días existente en la tabla “sdv_dias_limite” (Tabla 13) del usuario
solicitante, a su vez, se hace una validación previa de que en los días no se
incluya ningún fin de semana y ningún día feriado. Vista de las validaciones
de que excede el límite de fechas en la Fig. 40.

Por otra parte, la validación de fechas con un usuario de su mismo


departamento, gerencia o vicepresidencia que ya tenga registrada sus
vacaciones en un rango de fechas que choque con las que se está
formulando, se elabora gracias a que se hace una consulta en la que se
busca en la tabla “intra_vacaciones” (Tabla 12) un usuario que esté ligado a
su puesto en el departamento o gerencia con un condicional que involucre
que el rango de los campos “fecha_desde” y “fecha_hasta” estén entre las
fechas que coloca el usuario en su solicitud, si ésta consulta no me devuelve
ningún registro, la solicitud es enviada, si no, retorna un mensaje de error.
Vista del mensaje de error con el choque de fechas en la Fig. 41.

Como ultima validación, en la vista principal del sistema, se hace una


consulta en donde si existe un registro en la tabla “intra_sdv” (Tabla 11), al
seleccionar la pestaña de Solicitar, lanzará un mensaje de error. Vista del
mensaje de error por la validación en la Fig. 42.

El envío de correos para notificar al supervisor es responsable gracias


a que se toman los datos pertinentes del email del supervisor en la tabla
“intra_empleados” (Tabla 8). El mensaje es enviado por código Java bajo el
protocolo “SMTP” de envío de correos electrónicos, utilizando el host y el
usuario y la contraseña de un correo genérico de la empresa llamado
intranetccr@credicard.com.ve. Vista del mensaje de correos electrónicos en
la Fig. 30.

El envío de notificaciones para cuando el supervisor ingrese al sistema


se elabora haciendo una consulta de que si el mismo tiene un registro de una

94
solicitud que se le ha sido enviada en la tabla “intra_sdv”, se escribirá la
notificación y brillará un punto rojo en la campana. Véase en la Fig. 31

El usuario tiene una vista del estatus de su solicitud que se filtra


también por la tabla “intra_sdv” antes mencionada, y que va variando el
estatus dependiendo de las acciones que tome el usuario supervisor, si la
misma es aceptada, tendrá la opción de imprimirla en un formato y eliminar el
registro, y si es rechazada solo podrá eliminar el registro. Vista de todo el
proceso en las Figuras 29, 34, 37, 38 y 39.

Sprint 3 – Solicitud de Vacaciones, Procesos del Supervisor.

En la reunión para planificar dicho Sprint, se acordó elaborar todos los


ítems del Product Backlog que tengan que ver con la Solicitud de Vacaciones
cuando son gestionadas por el supervisor al que el empleado se la envió.

Duración del sprint 3: 4 semanas.

Lista de Pendientes del Sprint (Sprint Backlog)

 Elaborar una vista para mostrar en el usuario supervisor todas las


solicitudes de vacaciones que se les hayan enviado, con el fin de que
pueda ver los datos importantes de esa solicitud, y de que pueda
decidir si aceptar o rechazar la misma. Cabe destacar que solo los
usuarios que sean supervisores son los que deben ver ésta pestaña.
 Elaborar notificaciones de cuando la solicitud de vacaciones haya sido
aceptada o rechazada al usuario que la solicitó, una para ser enviada
por correo electrónico y una notificación en la vista principal del
sistema.

Luego de ser enviado y notificado por correo y por el sistema del


supervisor (Sprint 2), el sistema tendrá una pestaña llamada “Evaluar
Solicitudes” a la que solo puede ingresar un supervisor, ya que se elabora

95
una consulta en la tabla “intra_supervisor” (Tabla 7) de que si existe un
empleado registrado en esta tabla si pueda visualizar dicha pestaña.

Al acceder a la pestaña, se filtra en la tabla “intra_sdv” de la base de


datos (Tabla 11) los registros de todas las solicitudes de vacaciones que
tiene pendiente por evaluar el usuario supervisor, es decir, las solicitudes que
estén en el estatus “ENVIADO” o “RECIBIDO”. Véase en las Figuras 32 y 33.

Al ser aceptada la solicitud por el usuario supervisor, además de poder


imprimir la solicitud con una planilla del formato que preestableció la
empresa, los datos de “intra_sdv” como se observa en el Sprint 2, dicha
solicitud carga de manera más resumida en la tabla “intra_vacaciones”,
(Tabla 12), para que el registro de la tabla “intra_sdv” quede como un registro
que puede ser eliminado para futuras solicitudes. Además se hace una
validación de la cantidad de los bonos que tiene la persona solicitante, con el
fin de validar si ya se los consumió en su totalidad, para así registrarlo en la
planilla a imprimir de que no tiene bonos, dicha validación se hace
consultando en la tabla “sdv_bonos_limite” (Tabla 14) la cantidad de bonos
que le queda al usuario solicitante.

Por otra parte, si el supervisor decide rechazar la solicitud, el usuario


solo tendrá la opción de limpiar el registro pues no se elabora ningún proceso
extra.

El envío de correos para notificar al usuario si su solicitud fue


aceptada o rechazada es gracias a que se toman los datos pertinentes del
email del usuario en la tabla “intra_empleados” (Tabla 8). El mensaje es
enviado por código Java bajo el protocolo “SMTP” de envío de correos
electrónicos utilizando el host y el usuario y la contraseña de un correo
genérico de la empresa llamado intranetccr@credicard.com.ve. Vista del
mensaje de correos electrónicos en la Fig. 35.

96
El envío de notificaciones para cuando el usuario ingrese al sistema se
elabora haciendo una consulta de que si el mismo tiene un registro de una
solicitud que tiene como estatus “RECIBIDO”, “ACEPTADO” O
“RECHAZADO” en la tabla “intra_sdv”, se escribirá la notificación y brillará un
punto rojo en la campana. Véase en la Fig. 36.

Sprint 4 – Reportes y Solicitudes

En la reunión de planificación se estableció que éste sprint tendrá los


ítems del Product Backlog referentes a los reportes de ausencia, retardo y a
la solicitud de permisos para cada usuario.

Duración del sprint 4: 4 semanas.

Lista de Pendientes del Sprint (Sprint Backlog)

 Adaptarse a la librería timepicker de javascript para establecer en la


vista del formulario de retardo un input que muestre las horas de
manera más adecuada, conjunto a que muestre el tiempo que tardó la
persona en su retardo.

 Elaborar un formulario para los reportes de ausencia, retardo y para


los permisos, en donde tiene que tener una validación que solo los
usuarios supervisores sean los que puedan hacer las tres gestiones,
mientras que aquel usuario que no sea supervisor solo pueda
gestionar un permiso. El formulario de permiso debe tener una
validación de que si hay un permiso siendo procesado, no se pueda
formular uno nuevo.

 Elaborar notificaciones de cuando el permiso haya sido enviado al


usuario supervisor, una para ser enviado por correo electrónico y una
notificación en la vista principal del sistema.

97
 Elaborar una vista para mostrar todos los registros de los reportes de
ausencia y retardo que el usuario supervisor haya elaborado, y a su
vez, en la misma vista, mostrar el estatus del permiso solicitado. Debe
haber una validación en la misma para que los usuarios supervisores
sean los únicos capaces de ver los registros de las ausencias y
retardos; los registros de los reportes de ausencia y retardo se deben
poder imprimir, eliminar y enviárselas vía correo electrónico al correo
“administración.talentohumano@credicard.com.ve”. Mientras tanto, la
vista del estatus del permiso solicitado solo podrá ser impreso o
limpiado el registro si dicha solicitud ha sido aceptada, porque si es
solo rechazada sólo tendrá la opción de limpiar el registro.

 Elaborar una vista para mostrar en el usuario supervisor todos los


permisos que se les haya enviado, con el fin de que pueda ver los
datos importantes de esa gestión, y de que pueda decidir si aceptar o
rechazar el mismo. Cabe destacar que solo los usuarios que sean
supervisores son los que deben ver ésta pestaña.

 Elaborar notificaciones de cuando el permiso haya sido aceptado o


rechazado al usuario solicitante, una para ser enviado por correo
electrónico y una notificación en la vista principal del sistema.

 Elaborar una vista de la planilla que será impresa con un formato


preestablecido de la empresa para cuando se presione la opción de
imprimir el reporte (ausencia o retardo) o el permiso.

Se usó la librería de JavaScript timepicker en el formulario de reportes


de retardo, para que exista un input en donde se coloque el rango de horas
en las que se ausentó el empleado, para el reporte de ausencias y permisos
se usó la librería antes mencionada JQueryUI para que se muestre un
calendario al llenar los parámetros de fechas en el formulario.

98
Al seleccionar la pestaña de “Formular”, se mostrará una vista en la
que se pueda llenar los formularios de retardo, ausencia y permiso. Solo los
supervisores tendrán acceso a llenar los formularios de retardo y ausencia, el
método empleado para que no aparecieran los retardos y las ausencias en la
vista de un usuario que no es supervisor es similar al del Sprint 2.

En el formulario de reportes y ausencias al ser procesados, se carga


en las tablas de la base de datos llamadas “reporte_retardo” (Tabla 20) y
“reporte_ausencia” (Tabla 19) la información pertinente que se formula para
cada reporte. En el formulario de permisos se realiza de forma similar a una
solicitud de vacaciones, el permiso se carga en una tabla llamada
“reporte_permiso_generico” (Tabla 17) con todos los datos pertinentes del
usuario solicitante, y es enviado a un usuario supervisor vía correo
electrónico y por notificación cubriendo los mismos procesos que se ejecutan
en el Sprint 2 para ambos.

Y luego de que llega al supervisor, el decide si aceptar o rechazar la


solicitud, y si dicha solicitud es aceptada, el permiso se carga en una base de
datos donde están los reportes que si son aceptados “reporte_permiso”
(Tabla 18) de manera más resumida.

Habrá una pestaña de “Ver Reportes” en donde se visualizan todos los


registros de los reportes de ausencia y retardos formulados por el usuario
supervisor que ingrese a ésta pestaña, los reportes tienen la opción de enviar
por correo electrónico a talento humano y también tendrán las opciones de
imprimir y limpiar el registro.

También, en el selector se creó la opción de permisos, que muestra el


estatus de los permisos según las acciones que va tomando el usuario
supervisor al que se le envió, si el permiso es aceptado tiene la opción de
imprimir en un formato predefinido por la empresa y limpiar el registro
(eliminar registro de la tabla “reporte_permiso_generico”), y si es rechazado,

99
solo podrá limpiar dicho registro. Cabe destacar, que habrá notificaciones por
cada cambio de estatus del permiso en el ingreso del sistema del usuario
solicitante, igual al proceso del Sprint 2.

Todo el flujo del proceso que se cumplen en el sprint de “Reportes y


Solicitudes” se pueden observar desde la Fig. 43 hasta la Fig. 58.

Sprint 5 – Constancia de Trabajo y Pólizas HCM.

En la reunión para planificar dicho Sprint, se acordó elaborar todos los


ítems del Product Backlog finales para cumplir con todo el proceso del
sistema de información.

Duración del sprint 5: 3 semanas.

Lista de Pendientes del Sprint (Sprint Backlog)

 Elaborar un formulario para la constancia de trabajo, en la que todo


usuario empleado podrá solicitar, imprimir dicha constancia en
distintos modelos, el formulario debe contar con parámetros como: a
quien va dirigido, si quieren su constancia con sueldo mensual, anual
o sin sueldo, si quieren su constancia con horario y sin horario.
 Elaborar una vista con todas las pólizas HCM de Mercantil Seguros
con las que trabaje la empresa, ésta vista dispone de un enlace que
redirija a un formato de un formulario pdf editable, que provee
Mercantil Seguros, para que sea llenado e impreso por el usuario.

Para la elaboración de éste sprint fue necesario que se reconozca la


información necesaria del usuario que accede a ésta pestaña, y que al
solicitar el modelo que requiera de su constancia de trabajo, se coloque en el
formato a imprimir toda esa información en conjunto a la que se completó en
el formulario al abrir esta pestaña. Para recolectar toda la cantidad de

100
información necesaria fue necesario usar todas las tablas del modelo
entidad-relación que define la estructura del empleado mostrado en la fig. 17.

Y para finalizar, al presionar la pestaña “Pólizas HCM” dirige al usuario


a una vista que muestra los links que redirigen a las planillas en formato pdf
editables que provee Mercantil Seguros, alojadas en el servidor de desarrollo
del sistema de información.

Pruebas del Sistema de Información

Se fueron realizando pruebas por cada Sprint finalizado, observando si


se cumplía cada ítem o requerimiento del Sprint Backlog hasta obtener un
correcto funcionamiento del mismo y así al finalizar el último sprint, obtener
un producto final culminado de manera satisfactoria. Dichas pruebas fueron
realizadas en un servidor local de la PC donde se desarrolló que provee el
IDE Eclipse, con datos de prueba cargados en las tablas de la base de datos.

101
CONCLUSIONES

En base al desarrollo del proyecto, se generó una comparación en


cuanto a la mejora de la eficiencia del empleado en el Consorcio Credicard al
momento de realizar cualquier gestión laboral de la Gerencia de Calidad de
Vida, en dicha comparación resaltamos cuatro puntos clave.

En primer lugar, se generó un sistema con una interfaz amigable y


fácil de manejar por el usuario, para que una vez esté implementado en la
fase inicial de la nueva plataforma de intranet funcione de manera requerida,
opacando la intranet antigua que no posee ningún servicio automatizado
para el empleado.

En segundo lugar, se redujo el costo de material de oficina,


específicamente de hojas blancas y tinta para impresión, pues, con el uso del
sistema sólo se tendrá que imprimir un documento final generado de manera
automática, el uso del mismo elimina la impresión de una planilla que es
desechada por un error de redacción, un error en fechas y horas (en el caso
de los Reportes o Solicitudes), o que el supervisor la rechace luego de que
ya esté impresa (en caso las Solicitudes). Se estima que dicho costo se
reduce un 40% al costo de cuando se ejecuta el proceso manual.

Por último, se redujo el tiempo del personal empleado para realizar


una gestión laboral, ya que el empleado no tendrá que acudir a la instancia
de la Gerencia de Calidad de vida para recibir un formato de la planilla,
llenarla a mano, y luego, en casos de que la planilla sea una Solicitud de
Vacaciones o de Permisos, tampoco tendrá que acudir a su supervisor a ser
evaluada. Con el desarrollo del sistema de información, se lograron
automatizar éstos procesos, con el fin de que el empleado luego de que haya
gestionado cualquier documento sentado en su puesto de trabajo, sólo tenga

102
que entregar el resultado final del mismo. A raíz de esto, también se logró
crear una estabilidad laboral en la Gerencia de Calidad de Vida, ya que
anteriormente, si llegaba un flujo considerable de empleados queriendo
emprender un proceso de gestión laboral, la misma se veía colapsada. Con
el desarrollo del sistema de información, la Gerencia de Calidad de Vida sólo
se verá en obligación de recibir el documento de una gestión finalizada (En
caso de ser una Solicitud o Póliza), o de recibir un Reporte por correo
electrónico, y no emitirá más Constancias de Trabajo debido a que dicho
proceso se solicita de manera automática en el sistema. Por ende podemos
estipular un aumento de eficiencia empleado – gerencia encargada
considerable de un 80% a como se realizaba el proceso anteriormente.

103
RECOMENDACIONES

De acuerdo con el desarrollo del Sistema de Información, y de que el


mismo funciona como una iniciativa de proyecto de una nueva intranet en la
empresa, se plantean las siguientes recomendaciones:

 Implementar de manera correcta el sistema de información para


hacerla funcionar a todo el personal empleado del Consorcio
Credicard C.A.

 Generar un Manual de Usuario con las especificaciones de cómo


trabaja este sistema, para tener documentado el funcionamiento del
mismo.

 Brindar un Mantenimiento Regular a esta plataforma, para asegurar su


óptimo y eficiente funcionamiento.

 Continuar con la iniciativa de mejorar la intranet del Consorcio


Credicard C.A. añadiendo nuevos proyectos de distintas áreas.

104
GLOSARIO DE TÉRMINOS Y ACRÓNIMOS

Apache: Software de servidor web gratuito y de código abierto.

Aplicación Web: Conjunto de páginas web alojadas en un servidor con un


funcionamiento dinámico.

Archivo pdf: Un archivo en formato pdf es utilizado para presentar e


intercambiar documentos de forma fiable, independiente del software, el
hardware o el sistema operativo.

Back End: Capa de acceso a datos de un software o cualquier dispositivo,


que no es directamente accesible por los usuarios, además contiene la lógica
de la aplicación que maneja dichos datos.

Base de Datos: Sistema formado por un conjunto de datos almacenados en


discos que permiten el acceso directo a ellos.

Bootstrap: Framework que utiliza HTML, CSS y JavaScript para dar estilos y
funciones dinámicas a un sitio web.

Consorcio: Asociación de empresas o entidades con intereses comunes


para participar conjuntamente en un proyecto o negocio importante.

Controlador: Recibe órdenes del usuario y se encarga de llevar a cabo las


acciones necesarias.

CSS: Cascading Style Sheets (Hojas de estilo cascada).

Diagrama de Flujos: Es un diagrama que describe un proceso, sistema o


algoritmo informático.

Framework: Estructura software compuesta de componentes


personalizables e intercambiables para el desarrollo de una aplicación.

105
Front end: Parte visual de un programa o dispositivo a la que un usuario
puede acceder directamente.

HTML: HyperText Markup Language (Lenguaje de marcado de Hipertexto).

IDE: Integrated Development Environment (Entorno de Desarrollo Integrado).

Intranet: Es una plataforma digital cuyo objetivo asistir a los trabajadores de


una empresa, poniendo a su disposición activos como contenidos, archivos,
procesos de negocio y herramientas; facilitando la colaboración y
comunicación entre las personas y los equipos.

Java: Lenguaje de programación que puede ser compilado e interpretado


que dispone de varios entornos, el utilizado para el sistema de información
es el entorno para proyectos web dinámicos.

JavaScript: Lenguaje de programación interpretado que se utiliza


principalmente para crear páginas web dinámicas.

JSP: Java Server Pages.

JQuery: Librería de JavaScript que permite trabajar con la parte dinámica de


un sistema.

MariaDB: Es un sistema gestor de bases de datos que toma el código fuente


original de MySQL y genera un derivado con mejoras y cambios.

Modelo: Se encarga de obtener los datos pedidos por el controlador,


generalmente de una base de datos. Visto por el programador es la parte en
donde se realiza la lógica del desarrollo.

MVC: (Modelo Vista Controlador). Es una arquitectura de desarrollo que


utiliza estos tres componentes para definir una estructura y funcionalidad
estandarizada de un sistema.

POO: Programación Orientada a Objetos.

106
Scrum: Es una metodología de adaptación, iterativa, rápida, flexible y eficaz,
diseñada para ofrecer un valor significativo de forma rápida en todo el
proyecto.

Servidor: Un servidor basado en hardware es una máquina física que


funciona como 'host' o anfitrión para alojar archivos y está integrado en una
red informática.

Sistema de Información: Es un conjunto de datos que interactúan entre sí


con un fin común y ayuda a administrar, recolectar, recuperar, procesar,
almacenar y distribuir información relevante para los procesos fundamentales
y las particularidades de cada organización.

Stored Procedure: En español “Procedimientos Almacenados”, es código


ejecutable que se asocia y se almacena con la base de datos.

Sprint: Fase o evento de un desarrollo del proyecto en donde, al culminarse,


se entrega una parte del producto funcional. El Sprint se emplea gracias a la
metodología Scrum.

SQL: Structured Query Language o Lenguaje de consulta estructurada, es


un lenguaje de programación diseñado para administrar bases de datos
relacionales.

Vista: Es la representación visual de los datos en un sistema.

107
REFERENCIAS BIBLIOGRÁFICAS

AcensTechnologies. Bootstrap, un framework para diseñar portales web.


[Documento en Línea]. Disponible: https://www.acens.com/wp-
content/images/2016/10/bootstrap-framework-acens-wp.pdf

Alvarado, L. (2014) ¿Qué es front-end y back-end en la programación web?


[Blog en Línea]. Disponible: https://serprogramador.es/que-es-frontend-
y-backend-en-la-programacion-web/

Arias, F. (2012). El proyecto de investigación. Introducción a la metodología


científica (6ta edición). Caracas, Venezuela: Ed. Episteme.

Díaz, D. (2013). Proyecto Técnico. [Blog en línea] Disponible en:


http://tecnologia7cm.blogspot.com/2013/02/proyecto-tecnico.html

Editorial Vértice. (2019). Diseño Básico de páginas web en HTML. [Libro


Digital] Disponible:
https://books.google.co.ve/books?id=Q4VL8Tiy7gcC&printsec=frontcov
er&dq=que+es+lenguaje+html&hl=es&sa=X&ved=0ahUKEwjg1Jnk9orlA
hWvtVkKHSlsDggQ6AEITjAG#v=onepage&q=que%20es%20lenguaje%
20html&f=false

Edu4java. Instalar Eclipse IDE para Java. [Página web] Disponible:


http://www.edu4java.com/es/java/instalar-eclipse-ide-java.html

Egea, F. (2000). Servidores para Internet con Apache HTTPServer.


[Documento en Línea]. Disponible:
https://biblio.securityhacklabs.net/Programacion/Apache/Eidos%20-
%20Apache%20Httpserver.pdf

Fernández, L. (2015). Java Script, Ejercicios Prácticos Tutorizados. [Libro


Digital] Disponible: https://books.google.co.ve/books?id=S-
YdEd09dMgC&pg=PA3&dq=javascript&hl=es&sa=X&ved=0ahUKEwioy

108
sXzg47lAhXDrFkKHf-
yDoMQ6AEILTAB#v=onepage&q=javascript&f=false

Flores, H. (2012). Programación orientada a objetos usando Java. [Libro


Digital] Disponible:
https://books.google.co.ve/books?id=6dc3DgAAQBAJ&printsec=frontco
ver&dq=Programacion+orientada+a+objetos&hl=es&sa=X&ved=0ahUK
Ewj4y_Kp54rlAhVFj1kKHUM2BQUQ6AEILjAB#v=onepage&q=JEE&f=f
alse

Flores, H (2012). Programación orientada a objetos usando Java. [Libro


Digital] Disponible:
https://books.google.co.ve/books?id=6dc3DgAAQBAJ&printsec=frontco
ver&dq=modelo+vista+controlador&hl=es&sa=X&ved=0ahUKEwjUoIP8
oY_lAhXkqFkKHaxMBYYQ6AEIRjAF#v=onepage&q=modelo%20vista%
20controlador&f=false

Flores, H (2017). Programación orientada a objetos usando Java. [Libro


Digital] Disponible:
https://www.freelibros.me/programacion/programacion-orientada-a-
objetos-usando-java-hector-arturo-florez-fernandez

Fumás Cases, E (2014). Apache HTTP Server: ¿Qué es, cómo funciona y
para qué sirve?. [Blog en línea] Disponible en:
https://www.ibrugor.com/blog/apache-http-server-que-es-como-
funciona-y-para-que-sirve/

Goncalves, L (2019). Qué es la Metodología Ágil. [Blog en línea] Disponible


en: https://luis-goncalves.com/es/que-es-la-metodologia-agil/

Goncalves, L (2019). Qué es la Metodología Scrum, Todo lo que necesitas


saber. [Blog en línea] Disponible: https://luis-goncalves.com/es/que-es-
la-metodologia-scrum/

109
jQuery (2019). ¿Qué es jQuery?. [Página web]. Disponible:
https://jquery.com/

jQuery user interface. (2019). ¿Qué hay de nuevo en jQuery UI 1.12?.


[Página web] Disponible: https://jqueryui.com/

Kavourgias, C. (2015) What’s the Difference Between the Front-End and


Back-End?. [Blog en Línea]. Disponible:
http://blog.digitaltutors.com/whats-difference-front-end-backend/.

Lafosse, J. (2010). Struts 2. El framework de desarrollo de aplicaciones Java


EE. [Libro Digital] Disponible:
https://books.google.co.ve/books?id=96HHRq6g5x8C&pg=PA11&dq=qu
e+es+un+framework&hl=es&sa=X&ved=0ahUKEwiqrLrsqo_lAhVux1kK
HY3UD_4Q6AEIRjAF#v=onepage&q=que%20es%20un%20framework
&f=false

Lijó, Ó. (2018). Aprende a usar moment.js. [Página web] Disponible:


https://www.oscarlijo.com/blog/aprende-a-usar-moment-js/

Melgarejo,Á. Sistemas Gestores de Bases de Datos. [Documento en Línea].


Disponible:http://gplsi.dlsi.ua.es/bbdd/bd1/lib/exe/fetch.php?media=bd1:
0910:trabajos:aimsgbd.pdf

Nieto Rodrigo, J. (2016). Desarrollo de una aplicación web, con Front-end y


Back-end, para compraventa de segunda mano. Trabajo Especial de
Grado para Optar al Título de Ingeniero de Sistemas en la Universidad
Politecnica de Valencia (España). [Documento en Línea]. Disponible:
https://riunet.upv.es/bitstream/handle/10251/75120/NIETO%20-
%20Desarrollo%20de%20una%20aplicaci%C3%B3n%20web%2C%20c
on%20Front-end%20y%20Back-
end%20para%20compraventa%20de%20segunda%20mano.pdf?seque
nce=1&isAllowed=y

110
Ramos, A. (2014) Aplicaciones Web. [Libro Digital] Disponible:
https://books.google.co.ve/books?id=43G6AwAAQBAJ&printsec=frontco
ver&dq=que+es+una+aplicaci%C3%B3n+web&hl=es&sa=X&ved=0ahU
KEwjEz7K3worlAhUnwlkKHRZAAwoQ6AEILDAB#v=onepage&q=que%
20es%20una%20aplicaci%C3%B3n%20web&f=false

Scrum Guides (2018).Qué es el Scrum. [Página web] Disponible:


https://www.scrumguides.org/

Smartdraw. (2019). Símbolos de Diagrámas de Flujos. [Página web]


Disponible: https://www.smartdraw.com/flowchart/simbolos-de-
diagramas-de-flujo.htm

Suarez, E. (2008). ¿Qué es una base de datos relacional?. [Documento en


Línea]. Disponible:
https://cesdasite.files.wordpress.com/2017/10/base-de-datos-
relacional.pdf

Sznajdleder, P. (2013). Java a fondo. [Libro Digital] Disponible:


https://books.google.co.ve/books?id=WcL2DQAAQBAJ&pg=PT114&dq
=que+es+java&hl=es&sa=X&ved=0ahUKEwjV9sKzu4rlAhVhzlkKHSjrBf
gQ6AEIQjAE#v=onepage&q&f=false

Valdivia, C. (2017). Informática Industrial. [Libro Digital] Disponible:


https://books.google.co.ve/books?id=heOMDgAAQBAJ&pg=PA58&dq=
que+es+codigo+abierto+en+informatica&hl=es-
419&sa=X&ved=0ahUKEwiNt_XE6ZvlAhUDnq0KHRt7A3UQ6AEIJzAA#
v=onepage&q=que%20es%20codigo%20abierto%20en%20informatica
&f=false

Vega, W. jQuery Timepicker. [Página web] Disponible: https://timepicker.co/

111

Potrebbero piacerti anche