SlideShare una empresa de Scribd logo
1 de 177
Descargar para leer sin conexión
UNIVERSIDAD NACIONAL “PEDRO RUIZ GALLO”
FACULTAD DE INGENIERÍA CIVIL DE SISTEMAS Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
“DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB PARA APOYAR LA
GESTION DE PERMISOS DEL SISTEMA BIOSIS DESARROLLADO POR LA
EMPRESA JUVITEC – CHICLAYO, TOMANDO COMO CASO DE ESTUDIO
LA IMPLEMENTACION REALIZADA EN EL MINISTERIO DE EDUCACION –
SEDE LIMA”
TESIS
PARA OPTAR EL TÍTULO PROFESIONAL DE INGENIERO DE SISTEMAS QUE
PRESENTAN LOS BACHILLERES
ALDO MISAEL JAMANCA CHAVEZ
TITO GABRIEL RIOS DAMIAN
ASESOR
Ing. OSCAR CAPUÑAY UCEDA
LAMBAYEQUE - PERÚ
MARZO, 2019
1
“DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB PARA APOYAR LA
GESTION DE PERMISOS DEL SISTEMA BIOSIS DESARROLLADO POR LA
EMPRESA JUVITEC – CHICLAYO, TOMANDO COMO CASO DE ESTUDIO
LA IMPLEMENTACION REALIZADA EN EL MINISTERIO DE EDUCACION –
SEDE LIMA”
________________________________________
Bach. Aldo Misael Jamanca Chávez
________________________________________
Bach. Tito Gabriel Ríos Damián
_________________________________
Ing. Oscar Efraín Capuñay Uceda
ASESOR
Presentada a la Facultad de Ingeniería Civil, de Sistemas y Arquitectura de la
Universidad Nacional Pedro Ruiz Gallo para optar el Título Profesional de INGENIERO
DE SISTEMAS
Aprobada por:
____________________________________
Ing. Omar Wilton Saavedra Salazar
Presidente
__________________________________
Dr. Ing. Luis Alberto Dávila Hurtado
Miembro
_________________________________
Ing. César Augusto Guzmán Valle
Miembro
Marzo, 2019
2
DEDICATORIA
Dedicamos este trabajo principalmente a Dios, por
habernos dado la vida a través de nuestros padres y
permitirnos el haber llegado con salud hasta este
momento tan importante de nuestra formación
profesional.
A nuestros padres, por ser los pilares más
importantes de nuestras vidas y por demostrarnos
siempre su cariño y apoyo incondicional.
Y a nuestras familias, por siempre estar dispuestos a
escucharnos y apoyarnos en cualquier momento.
3
AGRADECIMIENTO
Agradezco a Dios, por su infinito amor, bendición y
por brindarme la oportunidad de ser paciente en
momentos difíciles.
A nuestras familias, por el esfuerzo hecho para
darnos una profesión y hacer de cada uno de
nosotros personas de bien, gracias por los sacrificios
y la paciencia que demostraron todos estos años, y
sin ellos, no hubiéramos podido alcanzar esta meta.
Agradecemos también de manera especial a nuestro
asesor y amigo, el Ing. Oscar Efraín Capuñay Uceda,
no solo por su valioso tiempo y dedicación, sino
también, por sus conocimientos y experiencias en
nuestra formación profesional.
A mi jurado de tesis por su disposición y ayuda, por
sus observaciones, sugerencias y correcciones
durante mi trabajo de tesis.
A la Universidad Nacional “Pedro Ruiz Gallo” y en
especial a la Facultad de Ingeniería Civil, Sistemas y
Arquitectura por permitirnos ser parte de una
generación de triunfadores y gente productiva para el
país.
Gracias a todas aquellas personas que de una u otra
forma nos ayudaron a crecer como personas y como
profesionales.
4
ÍNDICE DE CONTENIDO
DEDICATORIA .........................................................................................................................2
AGRADECIMIENTO .................................................................................................................3
ÍNDICE DE FIGURAS ...............................................................................................................7
ÍNDICE DE TABLAS .................................................................................................................8
RESUMEN................................................................................................................................9
ABSTRACT.............................................................................................................................10
INTRODUCCIÓN....................................................................................................................11
I. ASPECTOS DE LA INVESTIGACIÓN .............................................................................13
1.1 DESCRIPCIÓN DE LA REALIDAD PROBLEMÁTICA......................................................13
1.2 DESCRIPCIÓN DEL PROYECTO ...................................................................................14
1.3 FORMULACIÓN DE LA PREGUNTA DE INVESTIGACIÓN.............................................15
1.4 HIPÓTESIS.....................................................................................................................15
1.5 OBJETIVOS....................................................................................................................15
1.6 JUSTIFICACIÓN Y VIABILIDAD DEL ESTUDIO..............................................................16
II. MARCO TEÓRICO..........................................................................................................17
2.1 ANTECEDENTES DE LA INVESTIGACIÓN....................................................................17
2.2 BASES TEÓRICAS.........................................................................................................20
2.2.1 MANIFIESTO AGIL..................................................................................................20
2.2.2 MÉTODOS ÁGILES.................................................................................................21
2.2.2.1 METODOLOGÍA SCRUM ........................................................................................21
2.2.2.2 METODOLOGÍA KANBAN.......................................................................................22
2.2.2.3 FEATURE DRIVEN DEVELOPMENT ......................................................................23
2.2.2.4 EXTREME PROGRAMMING (XP) ...........................................................................24
2.2.3 GESTIÓN DE PROCESOS DE NEGOCIO (BPM)....................................................25
2.2.4 LENGUAJE UNIFICADO DE MODELADO (UML) ....................................................27
2.2.5 PATRÓN MODELO VISTA CONTROLADOR (MVC) ...............................................28
2.2.6 TECNOLOGÍAS A USAR EN FRONT END..............................................................29
2.2.6.1 HTML (HyperText Markup Language) ......................................................................29
2.2.6.2 CSS (Cascading Style Sheets).................................................................................31
2.2.6.3 BOOTSTRAP ..........................................................................................................32
2.2.6.4 JAVASCRIPT ..........................................................................................................32
2.2.6.5 ANGULARJS...........................................................................................................33
2.2.7 TECNOLOGÍAS A USAR EN EL BACK END ...........................................................35
2.2.7.1 LENGUAJE DE PROGRAMACIÓN JAVA ................................................................35
2.2.7.2 FRAMEWORK DE DESARROLLLO SPRING ..........................................................36
2.2.7.3 BASE DE DATOS RELACIONAL SQL SERVER......................................................37
2.2.8 SEGURIDAD WEB ..................................................................................................38
2.2.9 CRIPTOGRAFIA (Técnica de cifrado o codificado)...................................................39
2.2.10 AUTORIDAD DE CERTIFICACION (CERTIFICATE AUTHORITY)...........................42
2.2.11 CERTIFICADO DIGITAL..........................................................................................43
2.2.12 CERTIFICATE(PKI) MANAGEMENT TOOL.............................................................44
5
2.2.13 FIRMA DIGITAL.......................................................................................................44
2.2.14 INFRAESTRUCTURA DE CLAVE PUBLICA (PKI)...................................................44
2.2.15 ESTANDARES PARA FIRMA DIGITAL....................................................................45
2.2.16 SELLADO DE TIEMPO (TIMESTAMPING)..............................................................45
2.2.17 FUNCIÓN DE HASH................................................................................................45
III. MARCO METODOLOGICO.............................................................................................47
3.1 TIPO DE INVESTIGACION .............................................................................................47
3.2 VARIABLES E INDICADORES........................................................................................47
3.3 POBLACION Y MUESTRA..............................................................................................49
3.4 ESTRATEGIAS PARA LA DEMOSTRACION DE LA HIPOTESIS....................................49
3.5 MATERIALES, HERRAMIENTAS Y EQUIPOS................................................................49
3.6 TÉCNICAS, FORMATOS Y ENSAYOS PARA LA RECOLECCIÓN DE DATOS ..............50
3.7 ANÁLISIS DE DATOS.....................................................................................................51
IV. PROPUESTA DEL ESTUDIO..........................................................................................52
4.1 DESCRIPCION DE LA PROPUESTA..............................................................................52
4.2 DESARROLLO DE LA PROPUESTA ..............................................................................53
4.2.1 ANALISIS DE LOS PROCESOS DE GESTION DE PERMISOS ..............................53
4.2.1.1 ANALISIS DE PROCESOS ACTUALES ..................................................................55
PS01.1.1.4.1 GESTIONAR COMISIONES DE SERVICIO .......................................................55
PS01.1.1.4.2 GESTIONAR LICENCIAS CON/SIN GOCE........................................................58
PS01.1.1.4.3 GESTIONAR LICENCIAS MEDICAS .................................................................60
PS01.1.1.4.4 GESTIONAR PAPELETAS ................................................................................62
4.2.1.2 PROCESO PROPUESTO ........................................................................................64
PS01.1.1.4 GESTIONAR PERMISOS DE EMPLEADOS.........................................................64
4.2.2 ANALISIS DE REQUERIMIENTOS DEL SISTEMA..................................................66
4.2.2.1 REQUERIMIENTOS FUNCIONALES.......................................................................66
4.2.2.2 REQUERIMIENTOS NO FUNCIONALES ................................................................68
4.2.2.3 RESTRICCIONES O LIMITANTES FUNCIONALES.................................................68
4.2.3 EVALUACION DE LA METODOLOGIA DE DESARROLLO .....................................69
4.2.4 SELECCIÓN DE LA METODOLOGÍA PARA EL DESARROLLO..............................72
4.2.5 IMPLEMENTACIÓN DE LA METODOLOGIA DE DESARROLLO ............................74
4.2.5.1 DEFINICIONES Y DESARROLLO DE LA METODOLOGÍA SCRUM ...........................74
4.2.6 EVALUACION DE PLATAFORMA DE DESARROLLO...........................................101
4.2.7 SELECCIÓN DE LA PLATAFORMA DE DESARROLLO........................................104
4.2.8 EVALUACION DE ARQUITECTURA DE SOFTWARE...........................................104
4.2.9 SELECCIÓN DE LA ARQUITECTURA DE SOFTWARE........................................107
4.2.10 APORTE – FIRMA DIGITAL ..................................................................................108
4.2.10.1 PROPUESTA DE SOLUCION .................................................................................108
4.2.10.2 GESTION DE CERTIFICADOS DIGITALES PARA LA INSTITUCION .....................108
4.2.10.3 PROCESO DE FIRMA DIGITAL..............................................................................109
4.2.11 COMPOSICION DE LOS MÓDULOS DEL SISTEMA.............................................117
4.2.11.1 MODULO DE GESTIÓN DE PERMISOS ...........................................................117
6
4.2.11.2 MODULO DE FLUJO DE APROBACIÓN DE PERMISOS..................................117
4.2.11.3 MÓDULO DE GESTION DE FIRMA DIGITAL ....................................................118
4.2.11.4 MODULO DE GESTIÓN DE EMPLEADOS........................................................118
4.2.11.5 MÓDULO DE MENSAJERÍA..............................................................................119
4.2.11.6 MÓDULO DE REPORTES.................................................................................119
4.2.12 INTERFACES DE USUARIOS...............................................................................119
4.2.13 PRUEBAS DE FUNCIONAMIENTO E INTEGRACION ..........................................134
4.2.13.1 PRUEBAS DE FUNCIONAMIENTO...................................................................134
4.2.13.2 RESULTADOS PRUEBAS DE FUNCIONAMIENTO ..........................................137
4.2.13.3 PRUEBAS DE INTEGRACION...........................................................................138
4.2.13.4 RESULTADOS PRUEBAS DE INTEGRACION..................................................138
V. CONCLUSIONES..........................................................................................................141
VI. RECOMENDACIONES .................................................................................................142
BIBLIOGRAFÍA.....................................................................................................................143
ANEXOS...............................................................................................................................144
ANEXO 1 – DESCRIPCION DE FUNCIONES DE “CERTIFICATE MANAGEMENT APP” .....145
ANEXO 2 – MAPA DE PROCESOS DE MINEDU .................................................................150
ANEXO 3 – ESTRUCTURA DE LA SOLUCION: CASOS DE USO........................................163
ANEXO 4 – ESTRUCTURA DE LA BASE DE DATOS DE “SGP” ..........................................176
7
ÍNDICE DE FIGURAS
Figura 1: Ejemplo de Diagrama de Proceso de Negocio .........................................................................26
Figura 2: Diagrama de casos de uso......................................................................................................27
Figura 3: Interrelación entre los elementos del patrón MVC...................................................................29
Figura 4: Estructura general del código en el lenguaje HTML.................................................................29
Figura 5: Patrón de diseño MVVM en AngularJS....................................................................................33
Figura 6: Descripción general del ámbito de AngularJS..........................................................................34
Figura 7: Sesiones de navegación con seguridad usando TLS/SSL...........................................................39
Figura 8 Criptosistema..........................................................................................................................39
Figura 9: Figura 2.16 Proceso de criptografía simétrica .........................................................................40
Figura 10: Proceso de criptografía asimétrica (usando clave pública para cifrado) ...............................41
Figura 11: Proceso de criptografía asimétrica (usando clave privada para cifrado) ................................41
Figura 12: PROCESO DE SOPORTE PS01. – ADMINISTRAR LOS RECURSOS HUMANOS.............................54
Figura 13: PS01.1.1 CONTROLAR ASISTENCIA DE EMPLEADOS...............................................................54
Figura 14: Situación Actual de los procesos : Flujo de las Solicitudes de permiso ....................................56
Figura 15: PS01.1.1.4.1 GESTIONAR COMISIONES DE SERVICIO..............................................................57
Figura 16: PS01.1.1.4.2 GESTIONAR LICENCIAS CON/SIN GOCE..............................................................59
Figura 17: PS01.1.1.4.3 GESTIONAR LICENCIAS MEDICAS.......................................................................61
Figura 18: PS01.1.1.4.4 GESTIONAR PAPELETAS ....................................................................................63
Figura 19: PS01.1.1.4 GESTIONAR PERMISOS DE EMPLEADOS ...............................................................65
Figura 20: Grupo de procesos de la dirección de proyectos PMBOK 2013...............................................69
Figura 21: El Proceso en la metodología Scrum .....................................................................................70
Figura 22: Screenshot de área de trabajo de SprintTometer...................................................................81
Figura 23: Proceso de firma digital......................................................................................................109
Figura 24: Proceso de comprobación de firma digital ..........................................................................110
Figura 25 : Estructura básica de la firma digital...................................................................................111
Figura 26: Estructura de la etiqueta de firma digital............................................................................112
Figura 27: Archivo XML con la firma digital .........................................................................................114
Figura 28: Archivo XML – Firma digital generada ................................................................................115
Figura 29 : Solicitud de permiso en Formato PDF.................................................................................116
Figura 30: Composición del sistema ....................................................................................................117
Figura 31: Página de inicio de sistema.................................................................................................119
Figura 32: Dashboard de sistema........................................................................................................120
Figura 33: Formulario de registro de solicitudes ..................................................................................120
Figura 34: Formulario de consulta de solicitudes de permiso ...............................................................121
Figura 35: Formulario de envío de solicitudes de permiso ....................................................................121
Figura 36: Bandeja de entrada de mensajes........................................................................................122
Figura 37: Bandeja de salida de mensajes ...........................................................................................122
Figura 38: Formulario para consulta de marcaciones de asistencia......................................................123
Figura 39: Vista inicial de Mantenimiento Usuarios.............................................................................124
Figura 40: Formulario para crear/editar Usuario.................................................................................124
Figura 41: Vista inicial de Mantenimiento Cargos de Empleados..........................................................125
Figura 42: Formulario para crear/editar Cargos ..................................................................................125
Figura 43: Vista inicial de Mantenimiento de Oficinas .........................................................................126
Figura 44: Formulario para crear/editar Oficinas.................................................................................126
Figura 45: Vista inicial de Mantenimiento de Empleados.....................................................................127
Figura 46: Formulario para crear/editar Empleados ............................................................................127
Figura 47: Vista inicial de Mantenimiento de Tipos de permiso............................................................128
Figura 48: Formulario para crear/editar Tipos de permiso ...................................................................128
Figura 49: Vista inicial de Mantenimiento de Flujos de aprobación......................................................129
Figura 50: Formulario para crear/editar Flujos de aprobación (1) ........................................................129
Figura 51: Vista inicial de Mantenimiento de Flujos de aprobación (2).................................................130
Figura 52: Vista detalle de un registro de flujo de aprobación..............................................................131
Figura 53: Vista inicial de “Configuración Keystores”...........................................................................131
Figura 54: Formulario para editar de “Configuración Keystore” ...........................................................132
Figura 55: Vista inicial de “Asignación de Certificados Digitales” .........................................................132
8
Figura 56: Formulario para guardar el certificado digital (.pem) y la llave privada (.key)......................133
Figura 57: Ventana de búsqueda de certificado digital (.pem) y la llave privada (.key) .........................133
Figura 58: Proceso de las pruebas de integración ................................................................................138
Figura 59: Interfaz donde se visualizan los permisos aprobados...........................................................139
Figura 60: Interfaz de creación/modificación de permisos ...................................................................140
ÍNDICE DE TABLAS
Tabla 1: Clasificación de Variables y descripción de indicadores.............................................................47
Tabla 2: Variable Dependiente y variables independientes....................................................................48
Tabla 3: Product Backlog del desarrollo del sistema ..............................................................................78
Tabla 4: Tabla de módulos de la aplicación A- F.....................................................................................79
Tabla 5: Distribución de Sprints de la aplicación ....................................................................................80
Tabla 6: Información detallada Sprint 0.................................................................................................82
Tabla 7: Informe de Reporte Resumen de avance de historias de usuario – Sprint 0 ...............................82
Tabla 8: Informe de Reporte de Resumen de Sprint 0.............................................................................83
Tabla 9: Detalla de Avance de Historias de Usuario – Sprint 0................................................................84
Tabla 10: Información detallada Sprint 1...............................................................................................85
Tabla 11: Informe de Reporte Resumen de avance de historias de usuario – Sprint 1 .............................86
Tabla 12: Informe de Reporte de Resumen de Sprint 1...........................................................................87
Tabla 13: Detalla de Avance de Historias de Usuario – Sprint 1..............................................................88
Tabla 14: Información detallada Sprint 2...............................................................................................90
Tabla 15: Informe de Reporte Resumen de avance de historias de usuario – Sprint 2 .............................91
Tabla 16: Informe de Reporte de Resumen de Sprint 2...........................................................................92
Tabla 17:Detalla de Avance de Historias de Usuario – Sprint 2...............................................................96
Tabla 18: Información detallada Sprint 3...............................................................................................98
Tabla 19: Información detallada Sprint 4...............................................................................................99
Tabla 20: Información detallada Sprint 5.............................................................................................100
9
UNIVERSIDAD NACIONAL “PEDRO RUIZ GALLO”
FACULTAD DE INGENIERÍA CIVIL DE SISTEMAS Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
“DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB PARA APOYAR LA
GESTION DE PERMISOS DEL SISTEMA BIOSIS DESARROLLADO POR LA
EMPRESA JUVITEC – CHICLAYO, TOMANDO COMO CASO DE ESTUDIO
LA IMPLEMENTACION REALIZADA EN EL MINISTERIO DE EDUCACION –
SEDE LIMA”
Autores: Aldo Misael Jamanca Chávez
Tito Gabriel Ríos Damián
Asesor: Ing. Oscar Efraín Capuñay Uceda
RESUMEN
El presente trabajo de investigación tiene por objetivo fundamental desarrollar una aplicación
web para apoyar la gestión de permisos del sistema de control de asistencia “BIOSIS”, tomando
como caso de estudio, la implementación que realizo la empresa “JUVITEC” en el Ministerio de
Educación – Sede Lima. A la aplicación desarrollada se le denominara como “SGP” (Sistema de
Gestión de Permisos). La empresa desarrolladora “JUVITEC”, necesita una aplicación que le
permita mejorar el proceso de control de asistencia que viene funcionando en MINEDU, además
de poder ser usada para otras implementaciones del sistema BIOSIS.
El estudio realizado fue descriptivo. La población está determinada por el personal que labora en
el Ministerio de Educación – Sede Lima, dado que la población es pequeña, se determinó que el
mismo número de elementos que conforman la población, pasan a conformar la muestra. Para
la recolección de datos hemos usado técnicas tales como análisis de documentos sobre procesos
del MINEDU y documentos internos de la Oficina de Gestión del Personal (OGEPER), análisis
de bibliografía brindada por la empresa “JUVITEC”, entrevistas a los empleados encargados de
aprobar las solicitudes de permiso en las distintas oficinas de MINEDU, así como la observación
directa del trabajo realizado por los empleados. El análisis de datos se realizó a través del
modelado BPM de los procesos estudiados empleando la herramienta “Bizagi”, y “Sprintometer”
para gestionar los avances del proyecto mediante la metodología “SCRUM”.
Se concluye que la aplicación web “SGP”, desarrollada en este proyecto, permite mejorar el
proceso de control de asistencia que se viene dando en MINEDU, ya que esta aplicación brinda
soporte para el proceso de “Gestionar permisos de empleados”, permitiendo así, que los mismos
empleados soliciten permisos, y que los superiores designados aprueben las solicitudes, a través
de la firma digital aplicada al permiso aprobado, de esta forma se mejora el trabajo que viene
siendo realizado por la Oficina de Gestión del Personal.
10
UNIVERSIDAD NACIONAL “PEDRO RUIZ GALLO”
FACULTAD DE INGENIERÍA CIVIL DE SISTEMAS Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
“DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB PARA APOYAR LA
GESTION DE PERMISOS DEL SISTEMA BIOSIS DESARROLLADO POR LA
EMPRESA JUVITEC – CHICLAYO, TOMANDO COMO CASO DE ESTUDIO
LA IMPLEMENTACION REALIZADA EN EL MINISTERIO DE EDUCACION –
SEDE LIMA”
Autores: Aldo Misael Jamanca Chávez
Tito Gabriel Ríos Damián
Asesor: Ing. Oscar Efraín Capuñay Uceda
ABSTRACT
The main objective of this investigation project is to develop a web application to support the
management of permits for the "BIOSIS" attendance control system, taking as a case study the
implementation of the "JUVITEC" company in the Ministry of Education - Headquarters Lima. The
developed application will be referred to as "SGP" (Permit Management System). The developer
company "JUVITEC", needs an application that allows it to improve the assistance control process
that has been running in MINEDU, in addition to being able to be used for other implementations
of the BIOSIS system.
The study conducted was descriptive. The population is determined by the personnel that works
in the Ministry of Education - Headquarters Lima, given that the population is small, it was
determined that the same number of elements that make up the population, come to conform the
sample. For the collection of data we have used techniques such as document analysis on
MINEDU processes and internal documents of the Office of Personnel Management (OGEPER),
bibliography analysis provided by the company "JUVITEC", interviews with employees in charge
of approving the permit applications in the different MINEDU offices, as well as direct observation
of the work done by the employees. The data analysis was done through the BPM modeling of
the processes studied using the "Bizagi" tool, and "Sprintometer" to manage the progress of the
project through the "SCRUM" methodology.
It is concluded that the web application "SGP", developed in this project, allows to improve the
assistance control process that has been taking place in MINEDU, since this application provides
support for the process of "Managing employee permits", thus allowing that the same employees
request permits, and that the designated superiors approve the requests, through the digital
signature applied to the approved permit, in this way the work that is being carried out by the
Office of Personnel Management is improved.
11
INTRODUCCIÓN
Hoy en día es importante que cualquier tipo de institución, cuenten con sus procesos definidos,
para que estos permitan a la institución el cumplimiento de sus objetivos a corto y largo plazo.
En dicha tarea, los sistemas de información juegan un rol importante, ya que estos dan el soporte
necesario para que los procesos trabajen de forma óptima y den los resultados esperados.
Uno de los procesos más importantes dentro de cualquier institución son los procesos que
gestionar los recursos humanos, ya que de estos dependen el desarrollo de las actividades de
la institución. Y dentro de estos procesos tenemos los que se encargan de administrar el trabajo
realizado por los recursos humanos de la institución, dicho trabajo debe ser remunerado en la
mayoría de casos, y para tales fines, cada institución cuenta con mecanismos para medir el
trabajo realizado por las personas, así como políticas que indican la forma en que debe
gestionarse el trabajo realizado.
Por ende, la institución debe verificar el cumplimiento del trabajo realizado por las personas, y
por ello se controla la asistencia de las personas a sus centros de trabajo. Este proceso de control
de asistencia, tiene varios subprocesos, entre los cuales se encuentra la gestión de permisos
para empleados, este tiene un papel resaltante, ya que siempre hay necesidad de emitir permisos
para que los empleados puedan ausentarse por un tiempo del trabajo, ya sean por motivos
personal, o por tareas asignadas por la institución en otro establecimiento.
Es por ello que el presente proyecto de investigación tiene como objetivo fundamental el diseño
y desarrollo de una aplicación web (“SGP”), la cual fue desarrollada tomando como caso de
estudio, el proceso de control de asistencia del MINEDU – Sede Lima.
Para esto, la investigación se estructuro en seis capítulos:
En el Capítulo I: Aspectos de la Investigación, se realizó una descripción de la realidad
problemática, descripción del proyecto, se formuló la pregunta de investigación, se formuló una
hipótesis, se establecieron los objetivos de la investigación, así mismo se justificó la realización
del proyecto y se determinó la viabilidad del estudio.
En el Capítulo II: Marco Teórico, se tomaron en cuenta antecedentes de estudios anteriores que
respaldan la presente investigación, luego se mencionaron las bases teóricas de la investigación,
en la cual se detallaron conceptos como metodologías de proyecto agiles, metodologías de
proyecto tradicionales, patrones de diseño, tecnologías de front-end y back-end, seguridad web,
y criptografía.
12
En el Capítulo III: Marco Metodológico, donde se determinó el tipo de investigación, se
identificaron variables e indicadores, también se obtuvo la población y muestra, se establecieron
las estrategias para la demostración de la hipótesis, se detallaron también aquellos materiales,
herramientas y equipos a utilizar, las técnicas, formatos y ensayos empleados para la recolección
de datos, y qué herramientas se utilizaron para el análisis de los datos.
En el Capítulo IV: Propuesta del estudio, se detalló la propuesta de desarrollo para la aplicación
“SGP”, el análisis y modelado de los procesos actuales, diseño y modelado del proceso
propuesto para la gestión de permisos de empleados, elección de la metodología de proyecto
(Scrum vs PMBOK), evaluación de plataforma de desarrollo y arquitectura de software. Se definió
los requerimientos funcionales y no funcionales, se aplicó las principales herramientas de gestión
de Scrum para el planeamiento de desarrollo de la aplicación “SGP”, propuesta de solución de
solicitudes de permiso aplicando firma digital para su aprobación, descripción de las interfaces
de la aplicación y las pruebas de funcionamiento de la aplicación y pruebas de integración con
el sistema de control de asistencia “BIOSIS”.
En el Capítulo V se detallaron las conclusiones a las que se llegan después de haber realizado
la investigación.
Y para concluir el Capítulo VI se realizan las recomendaciones pertinentes a la presente
investigación.
13
I. ASPECTOS DE LA INVESTIGACIÓN
1.1 DESCRIPCIÓN DE LA REALIDAD PROBLEMÁTICA.
El proceso de control de asistencia en las instituciones tanto públicas como
privadas es un proceso vital, pues a través de este proceso se mantiene el
compromiso de cumplimiento de las labores de los empleados, permite aplicar
las sanciones respectivas cuando el empleado comete una falta a las políticas
establecidas (tardanzas, inasistencias injustificadas, salidas sin autorización),
que va desde una leve amonestación, descuentos del salario laboral, hasta la
separación del empleado de la institución.
El Ministerio de Educación (de ahora en adelante MINEDU), realizaba el proceso
de control de asistencia de manera manual, a través de verificación de las firmas
realizadas por los empleados en sus instalaciones. A partir del mes de mayo del
año 2015, MINEDU puso en funcionamiento equipos biométricos en sus sedes
principales (Av. La Arqueología y Calle El Comercio - San Borja y Av. De la
Poesía Nº 155 – San Borja), registrando marcaciones de huellas de los
empleados. Junto con los equipos biométricos, MINEDU adquirió un software de
control de asistencia “BIOSIS” de la empresa “JUVITEC”, el cual se encarga de
realizar las siguientes tareas:
 Ingreso de jornadas laborales, horarios.
 Ingreso de permisos, vacaciones para empleados.
 Procesamiento de las marcaciones de huellas de los empleados realizadas
en equipos biométricos.
 Generación de reportes correspondientes.
Una de las partes importantes en el proceso de control de asistencia que soporta
el sistema “BIOSIS”, es la gestión de los permisos, licencias y vacaciones para
empleados, estas solicitudes pueden ser de los siguientes tipos:
 Papeletas de salida, permiso para salidas de duración de unas pocas horas
a un día como máximo.
 Licencias por comisión de servicios, permiso para justificar inasistencias por
actividades fuera del centro laboral.
 Licencias por descanso médico, permiso dado a los empleados que
presenten documento certificados donde se indique descanso médico.
 Licencias con goce o sin goce, licencias que se otorgan por a pedido
personal del empleado, la licencias con goce permite al empleado recibir su
sueldo por los días que contempla la licencia. La licencia sin goce, permite
al empleado no recibir sanción por los días especificados.
14
 Vacaciones, días correspondientes por derecho a los trabajadores, se
hacen validos cuando el empleado cuenta con más de un año de trabajo en
las instituciones (se ve más en instituciones públicas).
En varias instituciones con gran afluencia de empleados tales como MINEDU, el
uso del sistema “BIOSIS”, presenta algunas complicaciones con respecto a la
gestión de los permisos para los empleados de dicha institución. Debido al
constante ingreso de solicitudes de permiso, se dificulta el ingreso de dichas
solicitudes al sistema, ya que actualmente se ingresa uno por uno en el sistema
“BIOSIS”. Por consiguiente, las solicitudes se acumulan, lo que conlleva a que el
personal encargado de dicha labor realice jornadas extras para cumplir con el
registro de todas las solicitudes, además de la demora en consultar el estado de
trámite del permiso, acumulación de documentos en los respectivos espacios del
personal designado.
1.2 DESCRIPCIÓN DEL PROYECTO
El presente trabajo de investigación propone el desarrollo de una aplicación web
para apoyar la gestión de permisos del sistema de control de asistencia “BIOSIS”
propiedad de la empresa “JUVITEC”. Tomaremos como caso de estudio la
implementación realizada por la empresa JUVITEC en el Ministerio de Educación
– Sede Lima, para estudiar su problemática donde evaluaremos las incidencias
que presenta la gestión de permisos y licencias de los empleados.
Se hará el diagnóstico y análisis de la información suministrada por la empresa
interesada, para que los investigadores tengan conocimiento pleno del proceso
de control de asistencia que realiza el Ministerio de Educación – Sede Lima. Se
analizará y desarrollará una descripción del sistema y de las actividades llevadas
a cabo en él, para luego modelar el proceso y comprender la magnitud,
complejidad y que tan amplio pueda ser la problemática en estudio, de esta
manera proponer la mejora para el proceso de gestión de permisos.
Se realizará reuniones con los responsables de la empresa interesada
(JUVITEC) para definir el alcance y la funcionalidad que brindara la aplicación
web en base a la propuesta mejorada del proceso de gestión de permisos.
Para la elaboración del proyecto realizaremos un análisis de los procesos de
MINEDU, así también una evaluación entre las metodologías de desarrollo de
software más convenientes, y seguiremos las pautas y pasos brindados por la
metodología escogida.
15
A lo largo del desarrollo de la aplicación web, se realizarán pruebas de
integración para probar como es la interacción entre dos o más componente de
software y el resultado de su funcionamiento actuando en conjunto con el
sistema “BIOSIS”.
1.3 FORMULACIÓN DE LA PREGUNTA DE INVESTIGACIÓN
¿Permitirá el desarrollo de la aplicación web mejorar el proceso de gestión de
permisos que brinda el sistema BIOSIS al Ministerio de Educación – Sede Lima?
1.4 HIPÓTESIS
El desarrollo de la aplicación web de gestión de permisos permite la optimización
del proceso de gestión de permisos en conjunto con el sistema “BIOSIS”
1.5 OBJETIVOS
OBJETIVO GENERAL
 Desarrollar una aplicación web para apoyar la gestión de permisos del
sistema de control de asistencia “BIOSIS”, tomando como caso de estudio,
la implementación que realizo la empresa JUVITEC en el Ministerio de
Educación – Sede Lima.
OBJETIVOS ESPECÍFICOS
 Diagnosticar y analizar detalladamente la información actual del proceso de
control de asistencia en la institución del caso de estudio (Ministerio de
Educación – Sede Lima).
 Modelar los procesos de gestión de permisos actual que va hacer soportado
por la alternativa de solución y proponer cambios para su mejora.
 Definir la funcionalidad y el alcance de la aplicación en base a los procesos
de gestión de permisos de la solución propuesta.
 Evaluar y definir la metodología, plataforma de desarrollo y la arquitectura
de software para el desarrollo de la aplicación.
 Diseñar y desarrollar la aplicación web de gestión de permisos en base a la
arquitectura de software, plataforma y metodología de desarrollo
seleccionadas.
 Realizar las pruebas de funcionamiento del software, pruebas de
integración con el sistema “BIOSIS” para verificar la mejora en el proceso
de gestión de permisos.
16
1.6 JUSTIFICACIÓN Y VIABILIDAD DEL ESTUDIO
CONVENIENCIA
El desarrollo de la aplicación web de gestión de permisos, que se propone en
esta investigación beneficiará directamente a la empresa JUVITEC - Chiclayo,
ya que le permitirá dar un mejor servicio en conjunto con el sistema de Control
de Asistencia “BIOSIS”. Asimismo, contará como un activo más para su posterior
explotación.
PARTICIPACIÓN DE LOS EMPLEADOS DE LA INSTITUCIÓN EN EL
SISTEMA
El desarrollo de esta investigación, permitirá a los empleados de las instituciones
donde se implemente la solución, participar activamente en el proceso de control
de asistencia, ya que podrán realizar tareas por sí mismo, las cuales antes solo
podían acceder a través de usuarios directos del sistema “BIOSIS”.
La información fue recopilada a través de entrevistas a los empleados y
experiencias obtenidas.
VIABILIDAD TECNOLOGICA
El desarrollo de esta investigación propone usar tecnologías de desarrollo web
para su elaboración, dado que actualmente las aplicaciones web/móviles brindan
prestaciones similares que las aplicaciones de escritorio (sistema “BIOSIS”), es
conveniente optar por el desarrollo web, ya que permitirá una mejor
escalabilidad, disponibilidad de la aplicación, portabilidad y facilidad para
actualizaciones.
17
II. MARCO TEÓRICO
2.1 ANTECEDENTES DE LA INVESTIGACIÓN
Todo estudio requiere de una revisión de la literatura existente sobre temas
relacionados con el trabajo que se está elaborando. En ese punto, se citan
investigaciones realizadas con anterioridad que apoyan como antecedentes al
desarrollo de una aplicación web para mejorar el proceso(s) de las empresas.
En el ámbito nacional, Karina Arévalo Ramírez Gastón (2015) quien realizó el
estudio “Implementación de un control de citas médicas integrado con una
aplicación móvil que facilite la gestión de búsqueda y reservas en clínicas”.
Propone mediante la creación de una aplicación móvil que optimizará dicho
proceso, funcionando como un motor de búsqueda personalizada y que permitirá
realizar reservas de citas médicas desde cualquier lugar y a cualquier momento.
Adicionalmente los pacientes contarán con un consolidado de información sobre
los médicos del Perú y ver su disponibilidad generará ciertos beneficios.
Los objetivos buscados son los siguientes: (a) Consolidar la información de los
médicos y clínicas disponibles del Perú. (b) Facilitar al usuario la exploración de
búsqueda de un médico que pueda atender sus necesidades. (c) Diseñar un
mecanismo de respuesta para recibir las solicitudes de citas para las clínicas. Los
cuales contribuirán a cumplir con el objetivo general, el cual será la
implementación de un motor de búsqueda y reservas para citas médicas en
clínicas del Perú que se adapte a las necesidades y disposición de pacientes.
El autor concluye que: al desarrollarse un análisis del proceso de negocio de citas
médicas ayudo a reconocer la brecha del proceso actual y del que se propone, el
cual sirvió para plantear los requerimientos de la aplicación, incluyendo que las
pruebas de desarrollo ayudo a demostrar toda la información actualizada de las
clínicas a través de la web services y lectura de datos de la base. Dentro de las
recomendaciones esta que se añada la funcionalidad de poder visualizar las
clínicas que estén más cercanas al usuario, y se complemente con el
almacenamiento histórico de historias médicas virtuales para poder tener una
aplicación más completa e informativa para los pacientes.
18
En el ámbito internacional, existe un trabajo desarrollado por Benítez T. Sergio
(2011) quien realizó el estudio "Sistema Web con software libre para el Control de
Asistencia de Personal de la Dirección Provincial del Ambiente de Imbabura,
mediante un colector de datos biométrico.", donde se propone crear un sistema
web que permita optimizar el control de asistencia de personal de la Dirección
Provincial del Ambiente de Imbabura. Los objetivos buscados son los siguientes:
(a) Determinar los requerimientos y necesidades de la Institución con respecto al
control de la asistencia de personal, (b) Diseñar la arquitectura de los procesos y
funciones del Sistema Web para control de asistencia de personal, (c) Desarrollar
e implementar el Sistema Web para control de asistencia de personal, utilizando
herramientas libres, (d) Realizar pruebas e Implantar el Sistema Web para control
de asistencia de personal en la Dirección Ambiental de Imbabura. El autor
concluye que: con el sistema web se ha solucionado en forma eficiente la consulta
y reporte de la asistencia del personal de la institución, ya que es muy fácil de
manejar, rápido en consultas y reportes, y a medida de los requerimientos de la
institución. Dentro de las recomendaciones esta que se realice una selección
minuciosa para las personas que usaran el sistema web, así como realizar el
proceso de marcaciones de los empleados de manera correcta para que los
reportes se generen correctamente.
Por su lado, Robayo J. (2013) en su tesis titulada: “Desarrollo e Implementación
de un Sistema de Control de Asistencia para los establecimientos educativos de
la zona escolar N° 2 de la UTE N° 1 del Cantón Ambato de la provincia de
Tungurahua”. Esta investigación busca desarrollar una aplicación que utilice la
tecnología existente fusionada con el estudio de la biometría para controlar el
horario de entrada y salida de los docentes a los establecimientos educativos.
Entre los objetivos buscados tenemos: (a) Utilizar un lector de huellas dactilares
digital como medio para el control de identificación autorizado al sistema, (b)
Controlar la asistencia del personal docente y administrativo mediante el registro
de cada una de sus marcaciones correspondientes a la hora de ingreso a la
jornada establecida, (c) Generar reportes entorno al Registro de asistencia de
cada establecimiento para monitorear y controlar la asistencia dentro de las
jornadas establecidas, (d) Realizar pruebas de funcionamiento para cada una de
las interfaces correspondientes a cada usuario. El autor llega a las siguientes
conclusiones: el sistema hizo aporto en tres aspectos distintos, aspecto
tecnológico, al usarse tecnología web con código dinámico y altamente confiable;
aspecto económico, ya que requiere costo reducido y poca infraestructura para su
utilización; aspecto funcional, pues fue desarrollado en base a las necesidades y
requerimientos presentados. Entre las recomendaciones tenemos: Realizar un
correcto análisis de requerimientos no solo para el desarrollo de sistemas de este
19
tipo sino en general, ya que de este procedimiento dependerá el poder cumplir con
los objetivos planteados y por ende se logrará obtener un sistema de calidad.
En la tesis denominada “Implementación de un sistema de control de gestión de
permisos para personal administrativo basado en aplicaciones Cliente - Servidor”,
los autores Marilyn Jiménez Ramírez, María Elena Navarrete, Diana Zúñiga y
Gustavo Galio. Los cuales mencionan que los permisos y licencias laborales son
un derecho de los empleados, por lo que es necesario ofrecer un servicio de
control de estos derechos, en forma confiable y eficiente. Cabe destacar que dicho
proceso lo realizan de manera manual y la constancia está en un libro de registros
los cuales pueden extraviarse, además que el interesado desconoce el estado del
trámite. Ante todo, esto se propone crear un módulo de control de gestión de
permisos para personal, que ayude como soporte a la toma de decisiones para
automatizar la gestión de licencias y permisos, mejorando el rendimiento de
trámites dentro de la empresa.
Entre los objetivos buscados tenemos:
 Permitir controlar eficientemente la solicitud y facilitar el seguimiento en el
proceso de registro de la solicitud de licencia y/o permiso,
 Proporcionar información que sirva de apoyo al proceso de toma de
decisiones
 Contar con una interfaz sencilla, amigable, la cual facilita el proceso de
registro y uso de la información,
 Optimizar el tiempo en el procesamiento de la información.
Los autores concluyen que la solución está orientada a registrar información
referente a la petición, emisión y cumplimiento de los permisos y licencias de los
empleados de las instituciones públicas y privadas, asegurando un manejo
eficiente en su gestión y control del esfuerzo de los miembros de la organización,
produciendo en un menor tiempo mayores resultados, reduciendo así el
descontento en el personal. Dentro de las recomendaciones para lograr la mejora
continua, se contempla la adición de módulos que gestione el departamento de
recursos humanos y el mejorar los tiempos de respuesta, además de realizar el
mantenimiento preventivo cada seis meses, de acuerdo al volumen de información
que maneja la organización.
20
2.2 BASES TEÓRICAS
2.2.1 MANIFIESTO AGIL
El Manifiesto Ágil1
es un conjunto de ideas definidas por personas
relevantes en el mundo del desarrollo de software sobre la industria actual
del desarrollo. Se presentó como una forma de desarrollar proyectos del
momento, sin embargo, fue evolucionando hasta hoy convertirse en base
para una nueva forma de trabajo. La forma ágil de desarrollar proyectos se
fundamenta en cuatro puntos (Álvarez García, de las Heras del Dedo y Lasa
Gómez 2012):
 Valorar a individuos y sus iteraciones, frente procesos y herramientas.
Aunque todas las ayudas para desarrollar un trabajo son importantes,
nada sustituye a las personas, alas que hay que dar toda la importancia y
poner en primer plano.
 Valorar más el software (producto) que funciona, que una documentación
exhaustiva. Porque había llegado un punto en el que documentar el trabajo
había alcanzado tanta importancia como el objeto del trabajo: el producto.
Y ese es un gran error: el foco debe estar siempre en lo que queremos
construir, y todo lo demás es secundario.
 Valorar más la colaboración con el cliente que la negociación de un
contrato. La forma más productiva de sacar adelante un trabajo es
establecer un marco de confianza y colaboración con quien nos lo
encarga. Sin embargo, se estaba poniendo el foco en cerrar un contrato
atado que sirviera ante todo como una herramienta de protección, como
si el cliente y equipo fueran dos partes enfrentadas, cuando en realidad
comparten objetivos e intereses.
 Valorar más la respuesta al cambio que el seguimiento de un plan. Se trata
de apreciar la incertidumbre como un componente básico del trabajo, por
lo que la adaptación y la flexibilidad se convierten en virtudes y no en
amenazas. El seguimiento ciego de un plan lleva, salvo contadas
excepciones, al fracaso si no se puede corregir la dirección ante los
inevitables cambios que van surgiendo.
1
Alvarez Garcia, Alonso, Carmen Lasa Gomez, y Rafael de las Heras del Dedo. «Métodos
ágiles hoy.» Novática, 2012: 45-46.
21
2.2.2 MÉTODOS ÁGILES
Los métodos agiles son una forma de trabajo para tratar enfrentar los
problemas históricos del desarrollo de software, los cuales toman como
base el Manifiesto Ágil. A diferencia de los métodos/metodologías
tradicionales, los métodos agiles se adaptan al cambio y a la incertidumbre.
Los métodos más conocidos son:
2.2.2.1 METODOLOGÍA SCRUM
Propone un marco de trabajo basado en iteraciones llamadas Sprint, y que
se apoya en equipos auto gestionados. Se trata de una de las
metodologías ágiles más difundidas en la actualidad, y eso hace que sus
conceptos, herramientas y prácticas aparezcan en muchos otros métodos
(Alvarez Garcia, Lasa Gomez y de las Heras del Dedo 2012).
 Promueve la organización en torno a pequeños equipos auto
organizado e inter- disciplinares.
 Divide el trabajo en pequeños entregables, priorizados y estimados
en esfuerzo.
 Distribuye el tiempo de trabajo en iteraciones fijas que generan un
producto enseñable a su fin.
 Optimiza el plan de entregas y prioridades de acuerdo con el cliente,
y aprendiendo de las iteraciones.
 Optimiza el proceso por medio de revisiones (retrospectivas) al final
de cada iteración.
Roles del equipo Scrum
Representan una responsabilidad en el proceso y no la posición dentro
de la organización:
 Product Owner o dueño del producto: Es el responsable desde el punto
de vista del negocio.
 Scrum Master. Responsable de que el equipo sea productivo,
ayudándole en todo momento a conseguir el objetivo acordado y de
asegurar que los principios de Scrum se están respetando.
 Equipo: Es el responsable de la construcción del producto.
22
Artefactos de Scrum
 Product Backlog: Es el lugar que contiene los requisitos del cliente
priorizados y estimados. Es gestionado por el Product Owner y usa
lenguaje de negocio.
 Sprint Backlog: Es la selección de requisitos del Product Backlog
negociados para el Sprint y que se ha descompuesto en tareas por el
equipo para expresar los requisitos del cliente en un lenguaje técnico.
 Burndown Chart: Es un gráfico donde se representa el trabajo pendiente
del equipo, tanto dentro el Sprint como en la totalidad del proyecto.
Reuniones en Scrum
 Planificación del Sprint (Sprint Planning): En ella se busca obtener un
objetivo claro y compartido del trabajo que hay que realizar para la
iteración siguiente. El equipo selecciona los ítems del Product Backlog
con los que considera que puede comprometerse a realizar durante el
Sprint y los dividirá de forma colaborativa en tareas.
 Reunión diaria (Daily Meeting). Es el momento de la sincronización del
equipo en el que cada miembro comparte con el resto en qué estado se
encuentra el trabajo que está realizando con qué piensa continuar, y qué
impedimentos hay para continuar. „
 Revisiones Sprint (Sprint Review). Al finalizar el Sprint, el equipo analiza
el estado de su trabajo con el Product Owner y con cualquier otra
persona que pueda aportar información valiosa. Este es el momento de
analizar para mejorar el "qué" se está construyendo.
 Retrospectiva del equipo (Sprint Retrospective). Después de la Review,
el equipo se reunirá para buscar la mejora continua en su trabajo y
analizar los aspectos que le impiden ser más productivo. Es este el
momento de analizar para mejorar "cómo" se está trabajando.
2.2.2.2 METODOLOGÍA KANBAN
Es un método muy útil para gestionar productos cuyos requisitos cambian
constantemente, bien porque aparezcan nuevas necesidades, o bien
porque su prioridad varíe, así como en los casos en los que las
planificaciones o estimaciones de un equipo se alarguen demasiado y
dejen de ser productivas (Alvarez Garcia, Lasa Gomez y de las Heras del
Dedo 2012).
23
De forma simplificada, los pasos que se deben seguir para trabajar con
Kanban son los siguientes:
 Visualizar el flujo de todo el trabajo. En un panel debe estar
representado todo el flujo del trabajo que hay que realizar en el
proyecto, desde el principio hasta el último momento, debe estar
accesible y visible para todos los miembros del equipo.
 El panel cuenta con columnas que permiten mostrar en qué estado del
flujo está cada ítem (donde la primera representa el Backlog del
producto).
 División del trabajo en ítems pequeños que se describen en una tarjeta.
Se priorizan ordenados en la primera columna del tablero. Una buena
práctica es tratar de dividir los ítems de forma que la carga de trabajo
sea similar entre ellos, y de esa forma poder estimar visualmente el
trabajo asociado a cada estado.
 Limitación del trabajo en curso. Esta es una de las claves para que
Kanban funcione. Es imprescindible poner un límite al número de ítems
permitidos en cada columna y de esta forma evitar colapsos, cuellos
de botella y eliminar cuanto antes los impedimentos que surjan y que
impidan trabajar con un ritmo sostenible. Este número (WIP) que indica
el límite permitido en cada columna debe estar visible en la parte
superior de la misma.
 Medición del tiempo empleado en completar un ciclo. Se calcula el
tiempo que se emplea desde que se empieza a trabajar con un ítem o
tarea hasta que se da por cerrado o terminado y se busca la manera
de hacer disminuir este tiempo. Esta práctica ayuda también a ser
predecible y a poder hacer una estimación previa de cuánto tiempo se
empleará en completar cada ítem.
2.2.2.3 FEATURE DRIVEN DEVELOPMENT
El desarrollo orientado a funcionalidad (FDD) es un método ágil que no
cubre todo el proceso de desarrollo de un producto, sino que se centra en
las fases de diseño y construcción. Sus puntos clave son el trabajo en
iteraciones, control continuo, la calidad de lo creado y entregas frecuentes
para poder realizar un seguimiento continuo en colaboración con el cliente
y poder así incorporar sus necesidades en el producto con frecuencia
(Alvarez Garcia, Lasa Gomez y de las Heras del Dedo 2012).
FDD propone seguir unos pasos secuenciales para realizar el diseño y la
implementación del sistema. Estos pasos son:
24
 Crear un modelo global. Un primer paso será tener un conocimiento del
alcance, de los requisitos y del contexto del sistema en el que se va a
construir el producto.
 Crear una lista de funcionalidades. Es necesario plasmar este modelo
global, junto con los demás requisitos del conjunto del sistema, en una
única lista de necesidades o funcionalidades que hay que cubrir.
 Planificar por funcionalidades. Es decir, a la hora de hacer un plan a alto
nivel, debe siempre tenerse en cuenta la prioridad de las funcionalidades
y las dependencias entre ellas, lo que afecta también a los hitos de
entregas.
 Diseñar y construir por funcionalidad. Lo que se hace de forma iterativa
en ciclos que oscilan entre algunos días y dos semanas. Esta etapa de
diseño y desarrollo incluye las actividades de pruebas unitarias, revisión
de código e integración.
2.2.2.4 EXTREME PROGRAMMING (XP)
XP es un método ágil para el desarrollo de software que resulta muy útil a
la hora abordar proyectos con requisitos vagos o cambiantes. Se aplica
muchas veces en combinación con otros métodos como Scrum (Alvarez
Garcia, Lasa Gomez y de las Heras del Dedo 2012).
 Es un método adaptativo que se ajusta muy bien a los cambios.
 Facilita desarrollar código de forma que su diseño, arquitectura y
codificación permitan incorporar modificaciones y añadir
funcionalidad nueva sin demasiado impacto en la calidad del mismo.
 Orientado hacia las personas, tanto a las que están creando el
producto como a los clientes y usuarios finales.
 Proporciona resultados rápidos, gracias a sus pequeñas iteraciones,
se pueden obtener con frecuencia comentarios del cliente para que
el producto final cubra ampliamente sus expectativas y necesidades.
 Las pruebas son la base de la construcción y propone que sean los
desarrolladores los que escriban las pruebas a medida que van
construyendo el código.
 Las pruebas automáticas se realizan de forma constante para poder
detectar los fallos rápidamente.
 Para cada iteración se planifica el trabajo que va a realizarse y a
continuación se realizan de forma simultánea el análisis, el desarrollo,
el diseño y las pruebas del código.
25
XP define prácticas primarias y prácticas corolario, las prácticas primarias
son las siguientes:
 Trabajar con historias de usuario.
 Realizar ciclos semanales de desarrollo.
 Organizar revisiones trimestrales.
 Trabajar con holgura.
 El equipo debe estar próximo físicamente.
 El equipo debe ser completo, es decir, compuesto por todas las
personas necesarias para llevar a cabo el producto con éxito.
 Tener información sobre el proyecto en el puesto de trabajo.
 Mantener la energía en el trabajo ó un ritmo sostenible.
 Realizar con frecuencia la programación en parejas.
 Diseño incremental.
 Realizar las pruebas antes de programar.
 Construir en diez minutos.
 Realizar integración continua.
En cuanto a las prácticas corolario se puede destacar el contar con la
participación real de los clientes, mantener la continuidad de los equipos,
o compartir código.
2.2.3 GESTIÓN DE PROCESOS DE NEGOCIO (BPM)
Se llama Gestión de Procesos de Negocio (Business Process Management
o BPM en inglés) a la metodología empresarial cuyo objetivo es mejorar la
eficiencia a través de la gestión sistemática de los procesos de negocio, que
se deben modelar, automatizar, y optimizar de forma continua.
BPM se apoya en tecnología de información para automatizar tareas y dar
agilidad a los cambios requeridos por la empresa. La tecnología que
posibilita la implantación y adopción de BPM constituye una categoría nueva
de sistemas informáticos denominada Business Process Management
System (BPMS). A diferencia de los sistemas de información tradicionales
basados en la gestión de datos, estos sistemas se especializan en la gestión
de procesos de negocio.
BPMS pueden ser definidos como el conjunto de utilidades de software para
definir, implementar y mejorar procesos de negocio que cumplen con
características técnicas necesarias para aplicar el concepto BPM.
El sistema de gestión por procesos se caracteriza por el entendimiento, la
visibilidad y el control de todos los procesos de una organización por parte
26
de todos los participantes en cada uno de dichos procesos, todo ello con el
fin de aumentar la eficiencia de la empresa y la satisfacción del cliente.
Para soportar esta estrategia es necesario contar con un conjunto de
herramientas que den el soporte necesario para cumplir con el ciclo de vida
de BPM. Este conjunto de herramientas son llamadas Business Process
Management Software (BPMS), y con ellas se construyen aplicaciones
BPM. Normalmente siguen una notación común, denominada Business
Process Modeling Notation (BPMN).
BUSINESS PROCESS MODELING NOTATION
En español Modelo y Notación de Procesos de Negocio, es una notación
gráfica estandarizada que permite el modelado de procesos de negocio.
El principal objetivo de BPMN es proporcionar una notación gráfica
estándar que sea fácilmente legible y entendible por parte de todos los
involucrados e interesados del negocio (stakeholders). Entre estos
interesados están los analistas de negocio (quienes definen y redefinen
los procesos), los desarrolladores técnicos (responsables de
implementar los procesos) y los gerentes y administradores del negocio
(quienes monitorizan y gestionan los procesos).
Figura 1: Ejemplo de Diagrama de Proceso de Negocio
Fuente:Internet,es.wikipedia.org/wiki/Business_Process_Model_and_Notation
27
2.2.4 LENGUAJE UNIFICADO DE MODELADO (UML)
El UML (Unified Modeling Language) es un sistema de notación que se ha
convertido en estándar en el mundo del desarrollo de sistemas. El UML está
constituido por un conjunto de diagramas y proporciona un estándar que
permite al analista de sistemas generar un anteproyecto de varias facetas
que sean comprensibles para los clientes, desarrolladores y todos aquellos
que estén involucrados en el proceso de desarrollo.
Diagramas del UML
El UML está compuesto por diversos elementos gráficos que se
combinan para conformar diagramas. Debido a que el UML es un
lenguaje, se cuenta con reglas para combinar tales elementos. La
finalidad de los diagramas es presentar diversas perspectivas de un
sistema, a las cuales se les conoce como modelo. El modelo UML de un
sistema es similar a un modelo a escala de un edificio junto con la
interpretación del artista del edificio. El modelo UML describe lo que
supuestamente hará un sistema, más no como implementarlo.
 Diagrama de casos de uso
Un diagrama que muestra las relaciones entre los actores y el sujeto
(sistema), y los casos de uso.
Figura 2: Diagrama de casos de uso
Fuente: Internet, https://goo.gl/nGRmoI
28
2.2.5 PATRÓN MODELO VISTA CONTROLADOR (MVC)
El patrón Modelo-Vista-Controlador (MVC) surge con el objetivo de reducir
el esfuerzo de programación, necesario en la implementación de sistemas
múltiples y sincronizados de los mismos datos, a partir de estandarizar el
diseño de las aplicaciones. El patrón MVC es un paradigma que divide las
partes que conforman una aplicación en el Modelo, las Vistas y los
Controladores, permitiendo la implementación por separado de cada
elemento, garantizando así la actualización y mantenimiento del software
de forma sencilla y en un reducido espacio de tiempo. A partir del uso de
frameworks basados en el patrón MVC se puede lograr una mejor
organización del trabajo y mayor especialización de los desarrolladores y
diseñadores (Fernández Romero y Díaz Gonzáles 2012).
Modelo
Es el objeto que representa los datos del programa. Maneja los datos y
controla todas sus transformaciones. El Modelo no tiene conocimiento
específico de los Controladores o de las Vistas, ni siquiera contiene
referencias a ellos. Es el propio sistema el que tiene encomendada la
responsabilidad de mantener enlaces entre el Modelo y sus Vistas, y
notificar a las Vistas cuando cambia el Modelo.
Vista
Es el objeto que maneja la presentación visual de los datos representados
por el Modelo.
Genera una representación visual del Modelo y muestra los datos al usuario.
Interactúa preferentemente con el Controlador, pero es posible que trate
directamente con el Modelo a través de una referencia al propio Modelo.
Controlador
Es el objeto que proporciona significado a las órdenes del usuario, actuando
sobre los datos representados por el Modelo, centra toda la interacción
entre la Vista y el Modelo. Cuando se realiza algún cambio, entra en acción,
bien sea por cambios en la información del Modelo o por alteraciones de la
Vista. Interactúa con el Modelo a través de una referencia al propio Modelo.
29
Figura 3: Interrelación entre los elementos del patrón MVC
Fuente: Revista Telem@tica Vol. 11. No. 1, enero-abril, 2012, p. 47-57
2.2.6 TECNOLOGÍAS A USAR EN FRONT END
2.2.6.1 HTML (HyperText Markup Language)
HTML, acrónimo de Lenguaje de marcado para Hipertextos, es la
herramienta empleada para crear la estructura básica y representar
visualmente una página web, determinando su contenido (texto,
imágenes, videos, juegos, entre otros) mas no su funcionalidad. Es
considerado el lenguaje web más importante siendo su invención crucial
en la aparición, desarrollo y expansión de la World Wide Web(WWW)
(Mozilla Developer Network 2016).
HTML maneja los elementos que construyen la página web a través de
etiquetas, rodeadas de corchetes angulares (Markup), si necesita traer
algún archivo como una imagen o video, se especifica la ubicación del
archivo en la etiqueta correspondiente.
Figura 4: Estructura general del código en el lenguaje HTML
Fuente: Internet, https://goo.gl/UYyoPY
30
HTML está en constante evolución, siendo la última HTML5, la cual
incorpora mejoras al incorporar nuevos elementos, atributos y
comportamientos, así como un conjunto de tecnologías que permite una
mayor diversidad y capacidad a las páginas web y aplicaciones.
Semántica
 Se agregaron nuevas etiquetas para la definición de estructura
de las páginas web, entre las etiquetas se tienen: <section>,
<article>, <nav>, <header>, <footer> y <aside>.
Conectividad
 Se puede crear una conexión permanente entre la página y el
servidor para el intercambio de información no HTML, todo ello a
través de WebSockets.
Offline y almacenamiento
 Las aplicaciones pueden detectar si hay o no conexión activa a
Internet, así como cuando la conexión se levante o cae.
 Uso de IndexedBD, estructura web estándar para el
almacenamiento significativo de data estructurada en el
navegador y de alto rendimiento en búsquedas en esa data a
través de índices.
Multimedia
 Uso de etiquetas <audio> y <video>, que permiten añadir con
facilidad contenido embebido a los documentos HTML.
 Posibilidad de videoconferencia directamente desde el
navegador, sin necesidad de un plugin o aplicación externa,
gracias a WebRTC.
Performance e integración
 Uso de Web Workers, que permite a Javascript evaluar los
subprocesos en segundo plano, para evitar ralentizar los eventos
interactivos.
 Extracción asíncrona de partes de una página, permitiendo
mostrar dinámicamente el contenido, variando acorde al tiempo y
acciones del usuario.
 Drag and drop (arrastar y soltar) elementos dentro y entre
páginas web.
31
Dispositivos de acceso
 Uso, manipulación y almacenamiento de una imagen desde la
cámara de la computadora.
 Manejadores para reaccionar a eventos generados por el usuario
a través de touch screens.
 Uso de geolocalización.
 Detección de orientación del dispositivo.
2.2.6.2 CSS (Cascading Style Sheets)
Es un lenguaje de hojas de estilo usado para describir la representación
de un documento escrito en HTML o XML, CSS describe como debe
renderizarse los elementos en la pantalla, en papel, ser hablados o por
otro medio.
Propone la separación entre la estructura de un documento y su
representación (Mozilla Developer Network 2016).
CSS3 es la última evolución de CSS, y tiene como objetivo ampliar
CSS2.1, aportando:
 Esquinas redondeadas: aplicándose a través de la propiedad “border-
radius”.
 Sombras: se puede aplicar sombrar a los textos y a los elementos, con
los siguientes atributos, “text-shadow” para texto, “box-shadow” para
elementos.
 Gradientes: permite mostrar cambios suaves entre un color a otro, o de
uno a varios, logrando un efecto de degradado.
 Transiciones: permite variar el valor de un atributo suavemente de un
valor a otro durante un tiempo especificado.
 Animaciones: permite añadir animaciones a la mayoría de elementos
HTML sin el uso de Javascript o Flash.
 Multi-Columnas: permite definir múltiples columnas como si fuera un
diario.
 Flexible Box: permite asegurar el comportamiento de los elementos en
el diseño de la página cuando esta se acomoda en diferentes tamaños
de pantallas y dispositivos.
32
2.2.6.3 BOOTSTRAP
Es una biblioteca multiplataforma o conjunto de herramientas de código
abierto para diseño de sitios y aplicaciones web. Contiene plantillas de
diseño con tipografía, formularios, botones, cuadros, menús de
navegación y otros elementos de diseño basado en HTML y CSS, así
como extensiones de JavaScript adicionales. A diferencia de muchos
frameworks web, solo se ocupa del desarrollo front end.
Nos permite crear interfaces con CSS y JavaScript, cuya particularidad es
la de adaptar la interfaz del sitio web al tamaño del dispositivo en el que
se visualice (responsive design).
Bootstrap cuenta con un repertorio amplio de componente reutilizables
que proveen iconografía, menús desplegables, botones, campos de
ingreso, navegación, alertas, paginación, entre otros elementos.
2.2.6.4 JAVASCRIPT
JavaScript es un lenguaje ligero e interpretado, con funciones de primera
clase, más conocido como el lenguaje de script para páginas web, usado
también en muchos entornos sin navegador tales como node.js o
ApacheCouchDB.
Es un lenguaje script multi paradigma, basado en prototipos, dinámico,
soporta estilos de programación funcional, orientada a objetos e
imperativa.
JavaScript puede extender su núcleo (conjunto de librerías) para trabajar
con otros propósitos, por ejemplo:
 Client Side JavaScript: Extiende el lenguaje proporcionando objetos
para controlar un navegador y su modelo de objetos (DOM),
permitiendo agregar nuevos elementos en las páginas web,
controlar eventos (clicks del ratón, presionar teclas) y navegación
de páginas.
 Server Side JavaScript: Extiende el lenguaje proporcionando
objetos para la ejecución de JavaScript en un servidor, permitiendo
comunicación con una base de datos, proporcionar continuidad de
la información de una invocación de la aplicación a otra, o manipular
los archivos en un servidor.
33
2.2.6.5 ANGULARJS
AngularJS es un framework de JavaScript para el desarrollo web Front
End, el cual permite crear aplicaciones SPA (single-page applications).
Este framework pretende hacer que los programadores mejoren el HTML
que realizan, produciendo HTML semántico para su fácil entendimiento
(Basalo y Alvarez 2014).
Propone el uso “directivas” que es código JavaScript que mejora el HTML,
podemos usar las directivas propias de AngularJS o las realizadas por
terceros.
Promueve el uso de patrones de diseño para aplicaciones web,
promoviendo la separación de código de los programas, repartiendo así la
lógica de la programación por capas, lo que resulta muy adecuado para
aplicaciones de negocio. El patrón que usa AngularJS es el patrón MVVM
(Model-View-View Model).
Figura 5: Patrón de diseño MVVM en AngularJS
Fuente: Internet, https://goo.gl/gvSViW
AngularJS está divido en las siguientes áreas:
 Parte del HTML: Parte declarativa, con las vistas, así como las
directivas y filtros que nos provee AngularJS.
 Parte JavaScript: Son los controladores, factorías y servicios.
Two-Way Data Binding
View
Cambios en el
modelo
actualiza la
Vista (View)
Cambios en el
modelo
actualiza la
Vista (View)
Actualizaciones continuas.
El modelo es SSOT (singles
source of truth)
Model
Template
Compila
34
Usaremos un objeto JavaScript que brinda AngularJS, $scope, el cual se
puede extender agregándole funciones. $scope permite unir el
HTML(View) de nuestra página con su controlador (Model), y estará
disponible tanto para el View y el Model.
Figura 6: Descripción general del ámbito de AngularJS
Fuente: Internet, https://goo.gl/U3SJPq
35
2.2.7 TECNOLOGÍAS A USAR EN EL BACK END
2.2.7.1 LENGUAJE DE PROGRAMACIÓN JAVA
Java es un lenguaje de programación creado por la compañía Sun
Microsystems (actualmente Oracle) en el año 1995. Se trata de un
lenguaje que debido a su potencial y robustez se ha extendido
enormemente, tanto en el ámbito de internet como en el ámbito de los
dispositivos electrónicos (Montero Miguel 2014).
Características principales:
 Orientado a objetos: Paradigma de programación que nos permite
descomponer nuestro código en pequeñas unidades lógicas
llamadas objetos. Nos permite simplificar la forma de resolver los
problemas de la vida real a la hora de plasmarlos en código.
 Multiplataforma: Cualquier programa Java podrá ejecutarse en
distintos sistemas operativos con diferentes arquitecturas sin tener
que volverse a compilar. Se entiendo con compilar como la acción
del código del programa a un lenguaje que se capaz de entender
la máquina. Cuando Java compila el programa lo traduce a un
lenguaje intermediario no dependiente de la plataforma, llamado
bytecode. La máquina donde quiera ejecutarse el programa
compilado necesitara un intérprete del código intermedio (byte
code) para que lo traduzca a un lenguaje conocido por la máquina.
 Sencillez: Es un lenguaje de relativa sencillez que permite abordar
problemas complejos, generando código ordenado, estructurado
y de fácil entendimiento.
 Robustez: El desarrollador no tendrá que manejar direcciones de
memoria RAM, esto implica evitar errores de programación en
tiempo de ejecución.
 Seguridad: El lenguaje incorpora multitud de utilidades para
ofrecer la seguridad de ejecución de un programa en todos los
sentidos. El hecho de que no permita manipular direcciones de
memoria, acentúa aún más esta característica, teniendo la certeza
de que ningún programa Java va a poder acceder a una dirección
de memoria fuera de su ámbito de ejecución.
 Multi hilo: Los programas Java pueden ejecutar más de una tarea
a la vez. Por ejemplo, un programa puede estar interactuando con
el usuario, mientras que en background está conectado a un
servidor en busca de nuevas actualizaciones.
36
2.2.7.2 FRAMEWORK DE DESARROLLLO SPRING
Spring es un framework de Java creado por Rod Johnson, se creó para
hacer frente a la complejidad del desarrollo de aplicaciones
empresariales, haciendo posible el uso de JavaBean sencillos para
conseguir objetivos que antes solo eran posibles con EJB (Walls 2015).
Las estrategias que Spring utiliza son:
 Desarrollo ligero y mínimamente con objetos POJO.
 Acoplamiento débil mediante la inyección de dependencias y la
orientación de interfaces.
 Programación declarativa mediante aspectos y convenciones
comunes.
 Reducción del código reutilizable mediante aspectos y plantillas.
Spring está dividido en siete categorías de módulos:
 Contenedor del núcleo de Spring: Gestiona la forma en que los bean
de una aplicación de Spring se crean, configuran y administran. En
este módulo se encuentra la factoría de bean de Spring, que
proporciona la inyección de dependencias. También brinda
servicios empresariales como correo electrónico, acceso JNDI,
integración EJB y programación.
 Módulo de AOP Spring: Spring proporciona una amplia
compatibilidad para la programación orientada a objetos mediante
su módulo AOP. Sirve como base para desarrollar los aspectos
propios de su aplicación Spring. Al igual que la DI, la AOP admite el
acoplamiento débil de objetos de la aplicación. Con AOP las
preocupaciones de aplicación (como las transacciones y la
seguridad) se desacoplan de los objetos a los que se aplican.
 Acceso de datos e integración: Los módulos JDBC y DAO de Spring
permiten abstraer el código repetitivo, de forma que pueda
mantener el código de su base de datos limpio y sencillo, además
de evitar problemas que se produzcan por el cierre de los recursos
de la base de datos.
37
 Cuenta también con un módulo ORM (Object-Relational mapping),
proporcionando conexiones a diferentes framework ORM, como
Hibernate, Java Persistence API, Java Data Objects e iBatis SQL
Maps.
 Web y acceso remoto: El módulo de Web y acceso remoto de Spring
implementa MVC, debido a que es el enfoque aceptado de forma
general para la creación de aplicaciones Web. Promueve las
técnicas de acoplamiento débil de Spring en nivel Web de una
aplicación.
 Las capacidades de acceso remoto de Spring incluyen RMI
(Remote Method Invocation, Invocación de métodos remotos),
Hessian, Burlap, JAX-WS, y el propio invocador HTTP de Spring
también ofrece una elevada compatibilidad para exponer y consumir
API REST.
 Pruebas: En este módulo se encuentran implementaciones de
objetos de prueba para escribir unidades de prueba para el código,
que funcionan con JNDI, servlets y portlets. Para realizar pruebas a
nivel de integración, este módulo permite la carga de un conjunto
de bean2
en un contexto de aplicación de Spring, así como trabajar
con estos en ese contexto.
2.2.7.3 BASE DE DATOS RELACIONAL SQL SERVER
Microsoft SQL Server es un sistema de gestión de bases de datos
relacionales (RDBMS) de Microsoft que está diseñado para el entorno
empresarial desarrollado por Microsoft.
El lenguaje de desarrollo utilizado (por línea de comandos o mediante la
interfaz gráfica de Management Studio) es Transact-SQL, una
implementación del estándar ANSI del lenguaje SQL, utilizado para
manipular y recuperar datos (DML), crear tablas y definir relaciones entre
ellas (DDL).
Se dice que el producto 2005 proporcionó una mayor flexibilidad,
escalabilidad, confiabilidad y seguridad a las aplicaciones de base de
datos, y permitió que fueran más fáciles de crear y desplegar, lo que
reduce la complejidad y el tedio involucrado en la gestión de bases de
datos. SQL Server 2005 también incluía más soporte administrativo.
2
Clase simple en Java que cumple con ciertas normas con los nombres de sus propiedades y
métodos.
38
Actualmente se encuentra en su versión más estable la cual es SQL
Server 2017(14.0) liberada en octubre del 2017.
Dentro de los competidores más destacados de SQL Server
están: Oracle, MariaDB, MySQL, PostgreSQL. SQL Server ha estado
tradicionalmente disponible solo para sistemas operativos Windows de
Microsoft, pero desde 2017 también está disponible para Linux.
2.2.8 SEGURIDAD WEB
Cuando se navega a través de páginas web, se encuentran muchas
vulnerabilidades en las páginas, las cuales son aprovechadas por
personas malintencionadas, para su propio beneficio. Entre las tantas
amenazas que se presentan tenemos al código malicioso (mayormente
conocido como malware), phishing, robo de identidad, sitios web
falsificados (pharming), ataques DOS/DDOS, sniffing entre otras
amenazas (C. Laudon y Guercio Traver 2013).
CIFRADO
El cifrado es el proceso de transformar texto o datos simples en texto
cifrado que no puede ser leído por nadie más que el emisor y el receptor.
El propósito del cifrado es asegurar la información almacenada y asegurar
la transmisión de la información.
Capa de Sockets Seguros (SSL) y Seguridad de la Capa de Transporte
(TLS)
Los protocolos SSL y TLS permiten asegurar los canales de
comunicación. Estos protocolos establecen una sesión negociada segura
entre el cliente y el servidor.
Una sesión negociada segura tiene como función cifrar el URL del
documento solicitado, contenido, contenido de formularios, y las cookies
que se van a intercambiaran.
39
Figura 7: Sesiones de navegación con seguridad usando TLS/SSL
Fuente: C. Laudon, Kenneth, y Carol Guercio Traver. E-commerce Negocios,
tecnología, sociedad.
2.2.9 CRIPTOGRAFIA (Técnica de cifrado o codificado)
Es una técnica que consiste en convertir un determinado texto en claro
(plaintext) en otro llamado criptograma(ciphertext), cuyo contenido es igual
al texto inicial, pero solo lo pueden entender las personas autorizadas, las
cuales saben cómo se ha cifrado el texto y cuentan con la clave para realizar
dicha operación.
Figura 8 Criptosistema
Fuente: propia
Se pueden distinguir tres tipos de criptografía: simétrica, asimétrica e
hibrida:
CanalCanal
DescifradorCifrador
Mensaje cifrado
Mensaje
Transmisor
Medio de
Transmisión
Receptor
40
SIMÉTRICA
Es el tipo de criptografía está basada en el uso de la misma clave para
cifrar y descifrar.
Características:
 La clave es conocida por el emisor y receptor.
 Criptografía de clave secreta.
 La seguridad reside en mantener la clave en secreto.
Desventajas:
 El canal utilizado para el intercambio de claves deber ofrecer un
nivel alto de seguridad.
 Necesitan una cantidad de claves acorde al número de personas
n que necesitan comunicarse entre sí, lo cual vendría a ser n/2
claves para cada pareja de personas.
Figura 9: Figura 2.16 Proceso de criptografía simétrica
Fuente: propia
ASIMÉTRICA
Este tipo de criptografía está basada en el uso de claves distintas para
cifrar y descifrar.
Características:
 Las claves son otorgadas por la autoridad de certificación.
 Ambas claves son propias de cada persona, la clave privada no se
trasmite y se mantiene secreta. La clave pública en cambio puede
estar a disposición de cualquier persona.
 Se puede cifrar el mensaje con la clave pública y descifrar con la
privada, dando confidencialidad al mensaje, ya que solo podrá ser
visto por el usuario con la clave privada.
41
Figura 10: Proceso de criptografía asimétrica (usando clave pública para cifrado)
Fuente: propia
 Otra forma es cifrando el mensaje usando la clave privada y
descifrar con la clave pública, lo cual no proporciona
confidencialidad, pero permite identificar al usuario que realiza el
cifrado al igual que lo hace una firma, y este proceso es conocido
como firma digital.
Figura 11: Proceso de criptografía asimétrica (usando clave privada para cifrado)
Fuente: propia
HÍBRIDA
La criptografía hibrida resuelve los problemas de la criptografía simétrica
(reparto de claves) y criptografía asimétrica(lentitud). Realiza la
negociación de claves simétricas mediante criptografía asimétrica:
 Emplea el cifrado de clave pública para compartir una clave para
el cifrado simétrico.
 El mensaje que se envía en el momento, se cifra usando la clave
privada (cifrado asimétrico) y se envía al receptor.
42
2.2.10 AUTORIDAD DE CERTIFICACION (CERTIFICATE AUTHORITY)
“La Entidad de Certificación cumple con la función de emitir o cancelar
certificados digitales, así como brindar otros servicios inherentes al propio
certificado o aquellos que brinden seguridad al sistema de certificados en
particular o del comercio electrónico en general.” (INDECOPI 2000)
MODO DE FUNCIONAMIENTO
Solicitud de un certificado: La entidad solicitante completa datos
identificativos y genera una pareja de clave pública/privada. Con esa
información se crea un fichero que contiene la petición CSR en formato
PKCS#10 y esta se hace llegar a la CA. La CA luego de verificar la
información de identificación aportada y pago por certificado, envía el
certificado firmado al solicitante, que lo instala en el servidor web del
solicitante.
Jerarquía de la certificación: Las CA cuenta con sus propios certificados
públicos, de las cuales, sus claves privadas son empleadas por las CA
para firmar los certificados que emiten. Un certificado de CA puede estar
auto firmado cuando no cuenta con un CA de rango superior, lo cual se
conoce como certificado raíz de CA (root certificate). La jerarquía de
certificación es una estructura jerárquica de CAs, en que parte de un CA
auto-firmada, y en cada nivel existe una o más CA que pueden firmar
certificados de "entidad final" o bien certificados de otras CA subordinadas.
Confianza de CA: Una de las formas por las cuales se establece la
confianza en una CA para un usuario, es a través de la instalación del
certificado raíz del CA en la computadora del usuario. Este proceso puede
realizarse dando doble click en el fichero que contiene el certificado (en
sistemas operativos Windows) y siguiendo los pasos del "asistente de
importación de certificados", este proceso se repite para cada navegador
que tenga la computadora.
Cuando un CA está instalada en el repositorio de CAs de confianza de
cada navegador, cualquier certificado firmado por dicha CA se podrá
validar, ya que se dispone de la clave pública con la cual se puede verificar
la firma que lleva el certificado.
43
2.2.11 CERTIFICADO DIGITAL
Es un documento electrónico que va a permitir asociar una identidad con
su clave pública.
La veracidad de esta asociación la garantiza la Autoridad de Certificación
(CA).
El certificado contiene la siguiente información:
 Versión.
 Número de serie del certificado.
 Identificador del algoritmo de firma.
 Nombre distinguido del Emisor (Prestador de Servicios de
Certificación).
 Periodo de validez.
 Nombre Distinguido del Sujeto (en formato DNS del Sujeto
certificado).
 Información de clave pública (del Sujeto certificado).
 Identificador Único del Emisor.
 Identificador Único del Sujeto.
 Extensiones (información relacionada al Sujeto certificado).
 Firma del Emisor (CA).
Al día de hoy se usan los siguientes tipos de certificados:
 Certificado de Autoridad de Certificación (CA), los cuales se
usan para emitir certificados para usuarios.
 Certificados personales, emitidos a personas físicas, se usan
para realizar navegación segura, envió de correo firmado y
recibir correo cifrado, inicio de sesión de dominio.
 Certificado de Entidad, emitidos a entidades con o sin persona
jurídica.
 Certificados de Servidores: SSL, VPN, Controlador de dominio.
 Certificados para firmar código y aplicaciones.
Que se valida en un certificado:
 Integridad: la firma es válida.
 Firmado por una CA de confianza.
 Certificado es válida ahora, no antes, no después.
 No esta revocado.
 Su uso es consistente con la política.
44
2.2.12 CERTIFICATE(PKI) MANAGEMENT TOOL
La aplicación gratuita Certificate Management Tool de la empresa Real
Time Logic, nos permite fungir como CA (Certificate Authority), lo cual nos
permite emitir certificados digitales para una institución o persona en
particular.
Nos brinda la siguiente funcionalidad:
 Crear una (o más) base de datos de certificados digitales.
 Crear Certificado Raíz (Root certificate), que identifica a la
institución a la cual queremos validar la identidad, este certificado
se instalara en repositorio de certificados de los navegadores y/o
el repositorio Windows de certificados.
 Crear certificados digitales firmados por el Certificado Raíz del CA
de la institución.
 La gestión de la base de datos de certificados digitales se da a
través de una aplicación web del fabricante, a la cual podemos
acceder luego de la instalación.
2.2.13 FIRMA DIGITAL
“La firma digital es aquella firma electrónica que utiliza una técnica de
criptografía asimétrica, basada en el uso de un par de claves único;
asociadas una clave privada y una clave pública relacionadas
matemáticamente entre sí, de tal forma que las personas que conocen la
clave pública no puedan derivar de ella la clave privada.” (INDECOPI
2000)
La firma digital nos proporciona autenticidad, integridad y no repudio en
los documentos electrónicos. Nos permite además utilizar Internet como
un medio seguro para la administración electrónica y el comercio
electrónico.
2.2.14 INFRAESTRUCTURA DE CLAVE PUBLICA (PKI)
Es un sistema de recursos, políticas y servicios que da soporte al uso del
cifrado de claves públicas para autenticar a las partes que participan en la
transacción.
Aunque no hay estándar individual que defina los componentes de una
infraestructura de clave pública, se cuenta con el estándar X.509 que
45
proporciona la base para la industria estándar de la infraestructura de
clave pública.
En Perú, la institución que se encarga de ser Autoridad Administrativa de
la infraestructura oficial de firma digital es INDECOPI.
2.2.15 ESTANDARES PARA FIRMA DIGITAL
Los estándares de criptografía usados para firma digital, son los PKCS
(Public-Key Cryptography Standars), que fueron concebidos y publicados
por los laboratorios de RSA.
Entre los principales estándares usados tenemos los siguientes:
PKCS#7: Usado para firmar y/o cifrar mensajes en PKI. También se
empleado para la diseminación de certificados.
PKCS#11: Define un API genérico de acceso a dispositivos criptográficos.
PKCS#12: Define un formato de fichero usado comúnmente para
almacenar claves privadas con su certificado de clave pública protegido
mediante clave asimétrica.
2.2.16 SELLADO DE TIEMPO (TIMESTAMPING)
Es un proceso de llevar de manera segura, la cuenta del tiempo tanto de
la creación como la modificación de un documento electrónico. Esto
significa que nadie podría realizar un cambio al sellado de tiempo del
documento una vez que ha sido guardado, debido a la integridad de la
entidad que realiza el proceso.
2.2.17 FUNCIÓN DE HASH
Una función de hash o función de resumen, son funciones que usa un
algoritmo que crea a partir de una entrada, una salida alfanumérica de
longitud normalmente fija que representa un resumen (hash) de toda la
información que se le ha dado.
Entre las características principales de las funciones de hash tenemos:
 Se encargan de representar un archivo o un conjunto de datos
que normalmente es de mayor tamaño que el hash
independientemente del propósito de uso.
46
 Los algoritmos que se usan, aseguran que nunca se podrá saber
cuáles han sido los datos insertados, lo que indica que es una
función unidireccional.
Las funciones de hash son muy usadas en diversas aplicaciones, como
arrays asociativos, firma digital, criptografía y procesamiento de data,
entre otras aplicaciones. Entre los algoritmos empleados para hash
tenemos MD5, SHA-1, SHA-2 como los más populares.
47
III. MARCO METODOLOGICO
3.1 TIPO DE INVESTIGACION
 De acuerdo al fin que se persigue: Aplicada
 De acuerdo a la metodología para demostrar la hipótesis: Descriptiva.
3.2 VARIABLES E INDICADORES
Las dimensiones sobre las que se analizó el objeto de estudio fue principalmente
la de mejorar y optimizar los procesos de gestión de permisos que brinda el
sistema BIOSIS, de las cuales se identificaron la variable dependiente y variables
independientes de nuestra hipótesis.
VARIABLES
CLASIFICACION NOMBRE
DEPENDIENTE Proceso de gestión de permisos.
INDEPENDIENTES
Modelado de procesos.
Funcionalidad del sistema.
Calidad del sistema
Pruebas de funcionamiento e integración.
Tabla 1: Clasificación de Variables y descripción de indicadores
Fuente: Propia
Se identificaron indicadores correspondientes a cada variable independiente
que estaban directamente relacionados con los problemas detectados en la
investigación preliminar.
48
Tabla 2: Variable Dependiente y variables independientes
Fuente: Propia
VARIABLE.
DEP.
VARIABLE INDEPENDIENTE INDICADORES INSTRUMENTOS
Procesodegestióndepermisos
Modelado de procesos
 Documentación existente del sistema.
 Lista de objetivos del proceso(s)
 Diagrama de modelado (diseño y/o rediseño)
 Lista de roles, participantes involucrados
Entrevistas
Observación Directa
Funcionalidad del sistema
 Alcance del sistema.
 Lista de requerimientos funcionales.
 Lista de requerimientos no funcionales.
Calidad del sistema
 Cuadro de cumplimiento de los requisitos
funcionales
 Grado de satisfacción del cliente.
 Consistencia de la interfaz.
Pruebas de funcionamiento e integración  Comprobación de resultados
49
3.3 POBLACION Y MUESTRA
La población de la presente investigación está determinada por el personal que
labora en el Ministerio de Educación – Sede Lima.
Como la población es pequeña, se determinó que el mismo número de
elementos que conforman la población, pasan a conformar la muestra.
3.4 ESTRATEGIAS PARA LA DEMOSTRACION DE LA HIPOTESIS
La naturaleza del proyecto es una investigación por objetivos, por lo que
culminado la ejecución del proyecto se procederá al análisis de los resultados
los cuales se contrastarán con la hipótesis y con los objetivos cumplidos.
En el transcurso de la investigación se utilizarán diversos métodos que nos
permitan evaluar la hipótesis, entre ellos:
 Método inductivo, con el que se utilizará un marco referencial basado en casos
exitosos, de otras empresas u organizaciones, lo que permitirá inducir posibles
soluciones y tener en cuenta posibles inconvenientes a la problemática
encontrada.
3.5 MATERIALES, HERRAMIENTAS Y EQUIPOS
a) Hardware
 02 laptop Intel Core i5 2.4 GHz
 01 impresora EPSON L210 con sistema de tinta continúo.
 01 dispositivo de almacenamiento USB.
 01 disco duro externo TOSHIBA 1 Tb.
b) Software
 Paquete de Microsoft Office 2016.
 Adobe Reader XI.
 Navegadores (Google Chrome)
 IntelliJ IDEA: IDE para el desarrollo de programas informáticos
 SQL Server: Motor de base de datos.
 Bitbucket: Repositorio web para el código.
 JHipster: Generador libre y de código abierto de software para
desarrollar modernas aplicaciones web. JHipster contiene: Yeoman
generator, Spring boot y AngularJS.
c) Acceso a internet.
50
d) Bibliografía.
 La cual será adquirida durante el transcurso de la investigación a través
de libros, documentos electrónicos, manuales y direcciones electrónicas,
fotocopias.
 Se utilizarán un aproximado de 2500 fotocopias entre libros, manuales y
otros durante la investigación.
e) Consumibles.
 Tinta.
 CDs.
f) Útiles de oficina.
 Papel bond A4 80 gramos.
 Lapiceros.
 Grapadora.
 Perforador.
 Fólderes.
3.6 TÉCNICAS, FORMATOS Y ENSAYOS PARA LA RECOLECCIÓN DE DATOS
TÉCNICAS:
Entre las técnicas de recolección de datos utilizadas se tienen:
a) Análisis de documentos:
 Análisis de documentos sobre los procesos de MINEDU.
 Análisis de la bibliografía por la empresa “JUVITEC”.
 Análisis de documentos internos de la Oficina de Gestión del
Personal (OGEPER).
b) Entrevistas:
Entrevistas a coordinadores encargados de aprobar las solicitudes de
permiso de las distintas áreas del ministerio de educación por considerar
que dichos responsables a través de su opinión y su experiencia
realizarán un significativo aporte para el desarrollo del sistema web.
c) Observación directa:
Se aplicó la técnica de observación directa durante las horas en que
labora el personal del ministerio de educación, relacionada a los
procesos en análisis.
.
51
3.7 ANÁLISIS DE DATOS.
Para el análisis de los datos obtenidos mediante las técnicas e instrumentos de
recolección de datos se utilizarán herramientas como:
a) Bizagi: para poder modelar los procesos propuestos de una manera unificada
y estandarizada que va a permitir un mejor entendimiento del problema en
análisis.
b) Sprintometer: herramienta que nos servirá para gestionar el proyecto
mediante la metodología Scrum, mostrando reportes de porcentajes de
avances diarios, semanales y tablas con datos importantes del estado del
proyecto como reportes de informes de historias de usuarios y reportes de
resúmenes de los sprint.
52
IV. PROPUESTA DEL ESTUDIO
El análisis de los resultados obtenidos durante la recolección de la información de la
situación problemática de los procesos actuales, permitió identificar los
requerimientos funcionales y no funcionales para luego desarrollar la aplicación Web
que apoya a la gestión de permisos del sistema de control de asistencia “BIOSIS”,
apoyándonos de una arquitectura de software, plataforma y metodología de
desarrollo.
A continuación, se presenta la propuesta del desarrollo de una Aplicación Web para
apoyar la gestión de permisos del sistema de control de asistencias BIOSIS.
4.1 DESCRIPCION DE LA PROPUESTA
Para el análisis y desarrollo de la aplicación web “SGP”, se realizaron entrevistas
y revisión de documentación de procesos actuales, se obtuvieron los
requerimientos funcionales de las entrevistas realizadas, para luego realizar el
modelado de los procesos propuestos y posteriormente proponer cambios para
su mejora, para la cual se utilizó la herramienta Bizagi,
Se definieron los alcances de la aplicación en base a los procesos modelados
propuestos. Esto sirvió como base para elaborar la información requerida por la
metodología Scrum como el product backlog, historias de usuarios, sprints.
Este proceso de desarrollo se analizó con la herramienta Sprintometer, la cual
nos permitió obtener información relevante de porcentajes de avance de la
aplicación y de esta manera poder reducir y corregir los riesgos que se presentan
en la etapa de planificación, lo que muchas veces son cambiantes, para lo cual
Scrum se adapta muy bien a proyectos flexibles con tiempos de entrega muy
cortos.
Se definieron de la misma manera la plataforma de desarrollo y la arquitectura
de software a utilizar durante el proceso de desarrollo de la aplicación web
“SGP”, se realizó el estudio para el uso de certificados digitales para que las
autoridades designadas por la aplicación, puedan aplicar firma digital a las
solicitudes de permiso aprobadas, de esta forma darle seguridad y validez frente
a cualquier incidencia.
Para finalizar se realizaron las pruebas de funcionamiento del software por
comprobación de resultados, además de las pruebas de integración con el
sistema “BIOSIS” y poder verificar la mejora en el proceso de Gestión de
Permisos.
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian
Bc tes-3410 jamanca chavez - rios damian

Más contenido relacionado

Similar a Bc tes-3410 jamanca chavez - rios damian

BASF-CONCRETO-REFORZADO-CON-MACROFIBRAS-UNAM (1).pdf
BASF-CONCRETO-REFORZADO-CON-MACROFIBRAS-UNAM (1).pdfBASF-CONCRETO-REFORZADO-CON-MACROFIBRAS-UNAM (1).pdf
BASF-CONCRETO-REFORZADO-CON-MACROFIBRAS-UNAM (1).pdfAndresLopez349813
 
Tesis Viviana León
Tesis Viviana LeónTesis Viviana León
Tesis Viviana LeónViviana_87
 
Julca lindley metodología_aup_framework
Julca lindley metodología_aup_frameworkJulca lindley metodología_aup_framework
Julca lindley metodología_aup_frameworkEdgardo Rivera
 
Proyecto cobao
Proyecto cobaoProyecto cobao
Proyecto cobaoYara Anota
 
Sistema nacional y regional de innovación en Chile.
Sistema nacional y regional de innovación en Chile.Sistema nacional y regional de innovación en Chile.
Sistema nacional y regional de innovación en Chile.gastoncito24
 
Estudio de tiempos en agroindustria tomate
Estudio de tiempos en agroindustria tomateEstudio de tiempos en agroindustria tomate
Estudio de tiempos en agroindustria tomateALFREDO ROJAS LEANDRO
 
Heuristic Evaluations
Heuristic EvaluationsHeuristic Evaluations
Heuristic Evaluationslorena_moreno
 
Heuristic evaluations
Heuristic evaluationsHeuristic evaluations
Heuristic evaluationslorena_moreno
 
001 obrashidraulicasii
001 obrashidraulicasii001 obrashidraulicasii
001 obrashidraulicasiiIng. Alberto
 
Tesis i. m. 190 pazmiño paredes jonathan israel
Tesis i. m. 190   pazmiño paredes jonathan israelTesis i. m. 190   pazmiño paredes jonathan israel
Tesis i. m. 190 pazmiño paredes jonathan israelHernán Carrera
 
Diagnostico ambiental de las descargas mineras liquidas y solidas
Diagnostico ambiental de las descargas mineras liquidas y solidasDiagnostico ambiental de las descargas mineras liquidas y solidas
Diagnostico ambiental de las descargas mineras liquidas y solidasVeronica Ordoñez
 
Colmenares Vásquez & Salvador Vasquez.pdf
Colmenares Vásquez & Salvador Vasquez.pdfColmenares Vásquez & Salvador Vasquez.pdf
Colmenares Vásquez & Salvador Vasquez.pdfDiegoPaz79
 
Revista Proyección. Edición especial. JITS 2017
Revista Proyección. Edición especial. JITS 2017Revista Proyección. Edición especial. JITS 2017
Revista Proyección. Edición especial. JITS 2017María Janeth Ríos C.
 
Tesis final2
Tesis final2Tesis final2
Tesis final2xioan
 

Similar a Bc tes-3410 jamanca chavez - rios damian (20)

BASF-CONCRETO-REFORZADO-CON-MACROFIBRAS-UNAM (1).pdf
BASF-CONCRETO-REFORZADO-CON-MACROFIBRAS-UNAM (1).pdfBASF-CONCRETO-REFORZADO-CON-MACROFIBRAS-UNAM (1).pdf
BASF-CONCRETO-REFORZADO-CON-MACROFIBRAS-UNAM (1).pdf
 
Apaza-Chambilla-Oscar.pdf
Apaza-Chambilla-Oscar.pdfApaza-Chambilla-Oscar.pdf
Apaza-Chambilla-Oscar.pdf
 
Tesis Viviana León
Tesis Viviana LeónTesis Viviana León
Tesis Viviana León
 
Tesis vf hospital lazarte final (1)
Tesis  vf   hospital lazarte final (1)Tesis  vf   hospital lazarte final (1)
Tesis vf hospital lazarte final (1)
 
Julca lindley metodología_aup_framework
Julca lindley metodología_aup_frameworkJulca lindley metodología_aup_framework
Julca lindley metodología_aup_framework
 
Proyecto cobao
Proyecto cobaoProyecto cobao
Proyecto cobao
 
Sistema nacional y regional de innovación en Chile.
Sistema nacional y regional de innovación en Chile.Sistema nacional y regional de innovación en Chile.
Sistema nacional y regional de innovación en Chile.
 
Saa s
Saa sSaa s
Saa s
 
Estudio de tiempos en agroindustria tomate
Estudio de tiempos en agroindustria tomateEstudio de tiempos en agroindustria tomate
Estudio de tiempos en agroindustria tomate
 
Cripto de redes
Cripto de redesCripto de redes
Cripto de redes
 
Heuristic Evaluations
Heuristic EvaluationsHeuristic Evaluations
Heuristic Evaluations
 
Heuristic evaluations
Heuristic evaluationsHeuristic evaluations
Heuristic evaluations
 
001 obrashidraulicasii
001 obrashidraulicasii001 obrashidraulicasii
001 obrashidraulicasii
 
Tesis i. m. 190 pazmiño paredes jonathan israel
Tesis i. m. 190   pazmiño paredes jonathan israelTesis i. m. 190   pazmiño paredes jonathan israel
Tesis i. m. 190 pazmiño paredes jonathan israel
 
Tello_SJO-SD.pdf
Tello_SJO-SD.pdfTello_SJO-SD.pdf
Tello_SJO-SD.pdf
 
Diagnostico ambiental de las descargas mineras liquidas y solidas
Diagnostico ambiental de las descargas mineras liquidas y solidasDiagnostico ambiental de las descargas mineras liquidas y solidas
Diagnostico ambiental de las descargas mineras liquidas y solidas
 
Colmenares Vásquez & Salvador Vasquez.pdf
Colmenares Vásquez & Salvador Vasquez.pdfColmenares Vásquez & Salvador Vasquez.pdf
Colmenares Vásquez & Salvador Vasquez.pdf
 
Revista Proyección. Edición especial. JITS 2017
Revista Proyección. Edición especial. JITS 2017Revista Proyección. Edición especial. JITS 2017
Revista Proyección. Edición especial. JITS 2017
 
Tesis final2
Tesis final2Tesis final2
Tesis final2
 
Proyecto de Vida
Proyecto de VidaProyecto de Vida
Proyecto de Vida
 

Más de Ronald Guerra

1110-Article Text-5578-1-6-20210605.docx
1110-Article Text-5578-1-6-20210605.docx1110-Article Text-5578-1-6-20210605.docx
1110-Article Text-5578-1-6-20210605.docxRonald Guerra
 
765-Article Text-3746-1-10-20210512.docx
765-Article Text-3746-1-10-20210512.docx765-Article Text-3746-1-10-20210512.docx
765-Article Text-3746-1-10-20210512.docxRonald Guerra
 
Nm kids-provider-brochure
Nm kids-provider-brochureNm kids-provider-brochure
Nm kids-provider-brochureRonald Guerra
 
Brochure fiestas-infantiles
Brochure fiestas-infantilesBrochure fiestas-infantiles
Brochure fiestas-infantilesRonald Guerra
 

Más de Ronald Guerra (7)

1110-Article Text-5578-1-6-20210605.docx
1110-Article Text-5578-1-6-20210605.docx1110-Article Text-5578-1-6-20210605.docx
1110-Article Text-5578-1-6-20210605.docx
 
765-Article Text-3746-1-10-20210512.docx
765-Article Text-3746-1-10-20210512.docx765-Article Text-3746-1-10-20210512.docx
765-Article Text-3746-1-10-20210512.docx
 
183237808 iso-12207
183237808 iso-12207183237808 iso-12207
183237808 iso-12207
 
Mes de octubre
Mes de octubreMes de octubre
Mes de octubre
 
Trabajo2 proyectos
Trabajo2   proyectosTrabajo2   proyectos
Trabajo2 proyectos
 
Nm kids-provider-brochure
Nm kids-provider-brochureNm kids-provider-brochure
Nm kids-provider-brochure
 
Brochure fiestas-infantiles
Brochure fiestas-infantilesBrochure fiestas-infantiles
Brochure fiestas-infantiles
 

Último

Lucha por la hegemonía y los cambios en.pptx
Lucha por la hegemonía y los  cambios en.pptxLucha por la hegemonía y los  cambios en.pptx
Lucha por la hegemonía y los cambios en.pptxantidoxxeo29
 
Aranceles Bolivia Logico Tarija 2024 Enero 2024
Aranceles Bolivia Logico Tarija 2024 Enero 2024Aranceles Bolivia Logico Tarija 2024 Enero 2024
Aranceles Bolivia Logico Tarija 2024 Enero 2024AngelGabrielBecerra
 
Teoría de la imputación objetiva penal.pptx
Teoría de la imputación objetiva penal.pptxTeoría de la imputación objetiva penal.pptx
Teoría de la imputación objetiva penal.pptxMarianaSunjaylaCardo
 
Protección de Datos Personales sector Educación
Protección de Datos Personales sector EducaciónProtección de Datos Personales sector Educación
Protección de Datos Personales sector EducaciónFundación YOD YOD
 
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.pptBRIANJOFFREVELSQUEZH
 
DERECHO COMERCIAL I - DIAPOSITIVAS (1).pptx
DERECHO COMERCIAL  I - DIAPOSITIVAS (1).pptxDERECHO COMERCIAL  I - DIAPOSITIVAS (1).pptx
DERECHO COMERCIAL I - DIAPOSITIVAS (1).pptxRosildaToralvaCamacl1
 
Mercados financieros y estrategia financiera.pdf
Mercados financieros y estrategia financiera.pdfMercados financieros y estrategia financiera.pdf
Mercados financieros y estrategia financiera.pdfyordahno
 
El Proceso Penal. Mapa Conceptual de Rosa Aguero
El Proceso Penal. Mapa Conceptual de Rosa AgueroEl Proceso Penal. Mapa Conceptual de Rosa Aguero
El Proceso Penal. Mapa Conceptual de Rosa Aguerofreddymendoza64
 
Sistemas jurídicos contemporáneos diapositivas
Sistemas jurídicos contemporáneos diapositivasSistemas jurídicos contemporáneos diapositivas
Sistemas jurídicos contemporáneos diapositivasGvHaideni
 
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdf
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdfLAM Nº 13_2014 (Consejo Municipal de Transporte).pdf
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdfalbinoMamaniCallejas
 
Apelación de Sentencia Alimentos Roger Alvarado
Apelación de Sentencia Alimentos Roger AlvaradoApelación de Sentencia Alimentos Roger Alvarado
Apelación de Sentencia Alimentos Roger AlvaradoMarioCasimiroAraniba1
 
EL PODER PUNITIVO Y EL SISTEMA PENAL EN EL ECUADOR
EL PODER PUNITIVO Y EL SISTEMA PENAL EN EL ECUADOREL PODER PUNITIVO Y EL SISTEMA PENAL EN EL ECUADOR
EL PODER PUNITIVO Y EL SISTEMA PENAL EN EL ECUADORLuisMiguelT4
 
Procesos de jurisdicción voluntaria en Colombia
Procesos de jurisdicción voluntaria en ColombiaProcesos de jurisdicción voluntaria en Colombia
Procesos de jurisdicción voluntaria en Colombiaylbonilla
 
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptx
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptxUD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptx
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptxALICIACAHUANANUEZ
 
Act_3.2_FernandezIzquerrdo_MartinezMillet_RodriguezCarmona_InvestigacionenRec...
Act_3.2_FernandezIzquerrdo_MartinezMillet_RodriguezCarmona_InvestigacionenRec...Act_3.2_FernandezIzquerrdo_MartinezMillet_RodriguezCarmona_InvestigacionenRec...
Act_3.2_FernandezIzquerrdo_MartinezMillet_RodriguezCarmona_InvestigacionenRec...OmarFernndez26
 
CONVENIO SOBRE LA ELIMINACIÓN DE LA VIOLENCIA Y EL ACOSO EN EL MUNDO DEL TRAB...
CONVENIO SOBRE LA ELIMINACIÓN DE LA VIOLENCIA Y EL ACOSO EN EL MUNDO DEL TRAB...CONVENIO SOBRE LA ELIMINACIÓN DE LA VIOLENCIA Y EL ACOSO EN EL MUNDO DEL TRAB...
CONVENIO SOBRE LA ELIMINACIÓN DE LA VIOLENCIA Y EL ACOSO EN EL MUNDO DEL TRAB...Baker Publishing Company
 
Modelos de debate, sus elementos, tipos, etc.pptx
Modelos de debate, sus elementos, tipos, etc.pptxModelos de debate, sus elementos, tipos, etc.pptx
Modelos de debate, sus elementos, tipos, etc.pptxAgrandeLucario
 
LA FAMILIA, LA PROPIEDAD PRIVADA Y EL ESTADO.pptx
LA FAMILIA, LA PROPIEDAD PRIVADA Y EL ESTADO.pptxLA FAMILIA, LA PROPIEDAD PRIVADA Y EL ESTADO.pptx
LA FAMILIA, LA PROPIEDAD PRIVADA Y EL ESTADO.pptxjbernardomaidana
 
Formación Integral - teoría general del derecho, formato PDF
Formación Integral - teoría general del derecho, formato PDFFormación Integral - teoría general del derecho, formato PDF
Formación Integral - teoría general del derecho, formato PDFmilenamora37
 

Último (20)

Lucha por la hegemonía y los cambios en.pptx
Lucha por la hegemonía y los  cambios en.pptxLucha por la hegemonía y los  cambios en.pptx
Lucha por la hegemonía y los cambios en.pptx
 
Aranceles Bolivia Logico Tarija 2024 Enero 2024
Aranceles Bolivia Logico Tarija 2024 Enero 2024Aranceles Bolivia Logico Tarija 2024 Enero 2024
Aranceles Bolivia Logico Tarija 2024 Enero 2024
 
Teoría de la imputación objetiva penal.pptx
Teoría de la imputación objetiva penal.pptxTeoría de la imputación objetiva penal.pptx
Teoría de la imputación objetiva penal.pptx
 
Protección de Datos Personales sector Educación
Protección de Datos Personales sector EducaciónProtección de Datos Personales sector Educación
Protección de Datos Personales sector Educación
 
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt
415277843-DIAPOSITIVAS-ACTO-JURIDICO-ppt.ppt
 
DERECHO COMERCIAL I - DIAPOSITIVAS (1).pptx
DERECHO COMERCIAL  I - DIAPOSITIVAS (1).pptxDERECHO COMERCIAL  I - DIAPOSITIVAS (1).pptx
DERECHO COMERCIAL I - DIAPOSITIVAS (1).pptx
 
Mercados financieros y estrategia financiera.pdf
Mercados financieros y estrategia financiera.pdfMercados financieros y estrategia financiera.pdf
Mercados financieros y estrategia financiera.pdf
 
El Proceso Penal. Mapa Conceptual de Rosa Aguero
El Proceso Penal. Mapa Conceptual de Rosa AgueroEl Proceso Penal. Mapa Conceptual de Rosa Aguero
El Proceso Penal. Mapa Conceptual de Rosa Aguero
 
Sistemas jurídicos contemporáneos diapositivas
Sistemas jurídicos contemporáneos diapositivasSistemas jurídicos contemporáneos diapositivas
Sistemas jurídicos contemporáneos diapositivas
 
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdf
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdfLAM Nº 13_2014 (Consejo Municipal de Transporte).pdf
LAM Nº 13_2014 (Consejo Municipal de Transporte).pdf
 
Apelación de Sentencia Alimentos Roger Alvarado
Apelación de Sentencia Alimentos Roger AlvaradoApelación de Sentencia Alimentos Roger Alvarado
Apelación de Sentencia Alimentos Roger Alvarado
 
EL PODER PUNITIVO Y EL SISTEMA PENAL EN EL ECUADOR
EL PODER PUNITIVO Y EL SISTEMA PENAL EN EL ECUADOREL PODER PUNITIVO Y EL SISTEMA PENAL EN EL ECUADOR
EL PODER PUNITIVO Y EL SISTEMA PENAL EN EL ECUADOR
 
Procesos de jurisdicción voluntaria en Colombia
Procesos de jurisdicción voluntaria en ColombiaProcesos de jurisdicción voluntaria en Colombia
Procesos de jurisdicción voluntaria en Colombia
 
PRESENTACION HABEAS CORPUS Y HABER.pptx ppt
PRESENTACION HABEAS CORPUS Y HABER.pptx pptPRESENTACION HABEAS CORPUS Y HABER.pptx ppt
PRESENTACION HABEAS CORPUS Y HABER.pptx ppt
 
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptx
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptxUD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptx
UD.9_LA PREVENCION DE RIESGOS LEGISLACIÓN Y ORGANIZACION.pptx
 
Act_3.2_FernandezIzquerrdo_MartinezMillet_RodriguezCarmona_InvestigacionenRec...
Act_3.2_FernandezIzquerrdo_MartinezMillet_RodriguezCarmona_InvestigacionenRec...Act_3.2_FernandezIzquerrdo_MartinezMillet_RodriguezCarmona_InvestigacionenRec...
Act_3.2_FernandezIzquerrdo_MartinezMillet_RodriguezCarmona_InvestigacionenRec...
 
CONVENIO SOBRE LA ELIMINACIÓN DE LA VIOLENCIA Y EL ACOSO EN EL MUNDO DEL TRAB...
CONVENIO SOBRE LA ELIMINACIÓN DE LA VIOLENCIA Y EL ACOSO EN EL MUNDO DEL TRAB...CONVENIO SOBRE LA ELIMINACIÓN DE LA VIOLENCIA Y EL ACOSO EN EL MUNDO DEL TRAB...
CONVENIO SOBRE LA ELIMINACIÓN DE LA VIOLENCIA Y EL ACOSO EN EL MUNDO DEL TRAB...
 
Modelos de debate, sus elementos, tipos, etc.pptx
Modelos de debate, sus elementos, tipos, etc.pptxModelos de debate, sus elementos, tipos, etc.pptx
Modelos de debate, sus elementos, tipos, etc.pptx
 
LA FAMILIA, LA PROPIEDAD PRIVADA Y EL ESTADO.pptx
LA FAMILIA, LA PROPIEDAD PRIVADA Y EL ESTADO.pptxLA FAMILIA, LA PROPIEDAD PRIVADA Y EL ESTADO.pptx
LA FAMILIA, LA PROPIEDAD PRIVADA Y EL ESTADO.pptx
 
Formación Integral - teoría general del derecho, formato PDF
Formación Integral - teoría general del derecho, formato PDFFormación Integral - teoría general del derecho, formato PDF
Formación Integral - teoría general del derecho, formato PDF
 

Bc tes-3410 jamanca chavez - rios damian

  • 1. UNIVERSIDAD NACIONAL “PEDRO RUIZ GALLO” FACULTAD DE INGENIERÍA CIVIL DE SISTEMAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS “DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB PARA APOYAR LA GESTION DE PERMISOS DEL SISTEMA BIOSIS DESARROLLADO POR LA EMPRESA JUVITEC – CHICLAYO, TOMANDO COMO CASO DE ESTUDIO LA IMPLEMENTACION REALIZADA EN EL MINISTERIO DE EDUCACION – SEDE LIMA” TESIS PARA OPTAR EL TÍTULO PROFESIONAL DE INGENIERO DE SISTEMAS QUE PRESENTAN LOS BACHILLERES ALDO MISAEL JAMANCA CHAVEZ TITO GABRIEL RIOS DAMIAN ASESOR Ing. OSCAR CAPUÑAY UCEDA LAMBAYEQUE - PERÚ MARZO, 2019
  • 2. 1 “DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB PARA APOYAR LA GESTION DE PERMISOS DEL SISTEMA BIOSIS DESARROLLADO POR LA EMPRESA JUVITEC – CHICLAYO, TOMANDO COMO CASO DE ESTUDIO LA IMPLEMENTACION REALIZADA EN EL MINISTERIO DE EDUCACION – SEDE LIMA” ________________________________________ Bach. Aldo Misael Jamanca Chávez ________________________________________ Bach. Tito Gabriel Ríos Damián _________________________________ Ing. Oscar Efraín Capuñay Uceda ASESOR Presentada a la Facultad de Ingeniería Civil, de Sistemas y Arquitectura de la Universidad Nacional Pedro Ruiz Gallo para optar el Título Profesional de INGENIERO DE SISTEMAS Aprobada por: ____________________________________ Ing. Omar Wilton Saavedra Salazar Presidente __________________________________ Dr. Ing. Luis Alberto Dávila Hurtado Miembro _________________________________ Ing. César Augusto Guzmán Valle Miembro Marzo, 2019
  • 3. 2 DEDICATORIA Dedicamos este trabajo principalmente a Dios, por habernos dado la vida a través de nuestros padres y permitirnos el haber llegado con salud hasta este momento tan importante de nuestra formación profesional. A nuestros padres, por ser los pilares más importantes de nuestras vidas y por demostrarnos siempre su cariño y apoyo incondicional. Y a nuestras familias, por siempre estar dispuestos a escucharnos y apoyarnos en cualquier momento.
  • 4. 3 AGRADECIMIENTO Agradezco a Dios, por su infinito amor, bendición y por brindarme la oportunidad de ser paciente en momentos difíciles. A nuestras familias, por el esfuerzo hecho para darnos una profesión y hacer de cada uno de nosotros personas de bien, gracias por los sacrificios y la paciencia que demostraron todos estos años, y sin ellos, no hubiéramos podido alcanzar esta meta. Agradecemos también de manera especial a nuestro asesor y amigo, el Ing. Oscar Efraín Capuñay Uceda, no solo por su valioso tiempo y dedicación, sino también, por sus conocimientos y experiencias en nuestra formación profesional. A mi jurado de tesis por su disposición y ayuda, por sus observaciones, sugerencias y correcciones durante mi trabajo de tesis. A la Universidad Nacional “Pedro Ruiz Gallo” y en especial a la Facultad de Ingeniería Civil, Sistemas y Arquitectura por permitirnos ser parte de una generación de triunfadores y gente productiva para el país. Gracias a todas aquellas personas que de una u otra forma nos ayudaron a crecer como personas y como profesionales.
  • 5. 4 ÍNDICE DE CONTENIDO DEDICATORIA .........................................................................................................................2 AGRADECIMIENTO .................................................................................................................3 ÍNDICE DE FIGURAS ...............................................................................................................7 ÍNDICE DE TABLAS .................................................................................................................8 RESUMEN................................................................................................................................9 ABSTRACT.............................................................................................................................10 INTRODUCCIÓN....................................................................................................................11 I. ASPECTOS DE LA INVESTIGACIÓN .............................................................................13 1.1 DESCRIPCIÓN DE LA REALIDAD PROBLEMÁTICA......................................................13 1.2 DESCRIPCIÓN DEL PROYECTO ...................................................................................14 1.3 FORMULACIÓN DE LA PREGUNTA DE INVESTIGACIÓN.............................................15 1.4 HIPÓTESIS.....................................................................................................................15 1.5 OBJETIVOS....................................................................................................................15 1.6 JUSTIFICACIÓN Y VIABILIDAD DEL ESTUDIO..............................................................16 II. MARCO TEÓRICO..........................................................................................................17 2.1 ANTECEDENTES DE LA INVESTIGACIÓN....................................................................17 2.2 BASES TEÓRICAS.........................................................................................................20 2.2.1 MANIFIESTO AGIL..................................................................................................20 2.2.2 MÉTODOS ÁGILES.................................................................................................21 2.2.2.1 METODOLOGÍA SCRUM ........................................................................................21 2.2.2.2 METODOLOGÍA KANBAN.......................................................................................22 2.2.2.3 FEATURE DRIVEN DEVELOPMENT ......................................................................23 2.2.2.4 EXTREME PROGRAMMING (XP) ...........................................................................24 2.2.3 GESTIÓN DE PROCESOS DE NEGOCIO (BPM)....................................................25 2.2.4 LENGUAJE UNIFICADO DE MODELADO (UML) ....................................................27 2.2.5 PATRÓN MODELO VISTA CONTROLADOR (MVC) ...............................................28 2.2.6 TECNOLOGÍAS A USAR EN FRONT END..............................................................29 2.2.6.1 HTML (HyperText Markup Language) ......................................................................29 2.2.6.2 CSS (Cascading Style Sheets).................................................................................31 2.2.6.3 BOOTSTRAP ..........................................................................................................32 2.2.6.4 JAVASCRIPT ..........................................................................................................32 2.2.6.5 ANGULARJS...........................................................................................................33 2.2.7 TECNOLOGÍAS A USAR EN EL BACK END ...........................................................35 2.2.7.1 LENGUAJE DE PROGRAMACIÓN JAVA ................................................................35 2.2.7.2 FRAMEWORK DE DESARROLLLO SPRING ..........................................................36 2.2.7.3 BASE DE DATOS RELACIONAL SQL SERVER......................................................37 2.2.8 SEGURIDAD WEB ..................................................................................................38 2.2.9 CRIPTOGRAFIA (Técnica de cifrado o codificado)...................................................39 2.2.10 AUTORIDAD DE CERTIFICACION (CERTIFICATE AUTHORITY)...........................42 2.2.11 CERTIFICADO DIGITAL..........................................................................................43 2.2.12 CERTIFICATE(PKI) MANAGEMENT TOOL.............................................................44
  • 6. 5 2.2.13 FIRMA DIGITAL.......................................................................................................44 2.2.14 INFRAESTRUCTURA DE CLAVE PUBLICA (PKI)...................................................44 2.2.15 ESTANDARES PARA FIRMA DIGITAL....................................................................45 2.2.16 SELLADO DE TIEMPO (TIMESTAMPING)..............................................................45 2.2.17 FUNCIÓN DE HASH................................................................................................45 III. MARCO METODOLOGICO.............................................................................................47 3.1 TIPO DE INVESTIGACION .............................................................................................47 3.2 VARIABLES E INDICADORES........................................................................................47 3.3 POBLACION Y MUESTRA..............................................................................................49 3.4 ESTRATEGIAS PARA LA DEMOSTRACION DE LA HIPOTESIS....................................49 3.5 MATERIALES, HERRAMIENTAS Y EQUIPOS................................................................49 3.6 TÉCNICAS, FORMATOS Y ENSAYOS PARA LA RECOLECCIÓN DE DATOS ..............50 3.7 ANÁLISIS DE DATOS.....................................................................................................51 IV. PROPUESTA DEL ESTUDIO..........................................................................................52 4.1 DESCRIPCION DE LA PROPUESTA..............................................................................52 4.2 DESARROLLO DE LA PROPUESTA ..............................................................................53 4.2.1 ANALISIS DE LOS PROCESOS DE GESTION DE PERMISOS ..............................53 4.2.1.1 ANALISIS DE PROCESOS ACTUALES ..................................................................55 PS01.1.1.4.1 GESTIONAR COMISIONES DE SERVICIO .......................................................55 PS01.1.1.4.2 GESTIONAR LICENCIAS CON/SIN GOCE........................................................58 PS01.1.1.4.3 GESTIONAR LICENCIAS MEDICAS .................................................................60 PS01.1.1.4.4 GESTIONAR PAPELETAS ................................................................................62 4.2.1.2 PROCESO PROPUESTO ........................................................................................64 PS01.1.1.4 GESTIONAR PERMISOS DE EMPLEADOS.........................................................64 4.2.2 ANALISIS DE REQUERIMIENTOS DEL SISTEMA..................................................66 4.2.2.1 REQUERIMIENTOS FUNCIONALES.......................................................................66 4.2.2.2 REQUERIMIENTOS NO FUNCIONALES ................................................................68 4.2.2.3 RESTRICCIONES O LIMITANTES FUNCIONALES.................................................68 4.2.3 EVALUACION DE LA METODOLOGIA DE DESARROLLO .....................................69 4.2.4 SELECCIÓN DE LA METODOLOGÍA PARA EL DESARROLLO..............................72 4.2.5 IMPLEMENTACIÓN DE LA METODOLOGIA DE DESARROLLO ............................74 4.2.5.1 DEFINICIONES Y DESARROLLO DE LA METODOLOGÍA SCRUM ...........................74 4.2.6 EVALUACION DE PLATAFORMA DE DESARROLLO...........................................101 4.2.7 SELECCIÓN DE LA PLATAFORMA DE DESARROLLO........................................104 4.2.8 EVALUACION DE ARQUITECTURA DE SOFTWARE...........................................104 4.2.9 SELECCIÓN DE LA ARQUITECTURA DE SOFTWARE........................................107 4.2.10 APORTE – FIRMA DIGITAL ..................................................................................108 4.2.10.1 PROPUESTA DE SOLUCION .................................................................................108 4.2.10.2 GESTION DE CERTIFICADOS DIGITALES PARA LA INSTITUCION .....................108 4.2.10.3 PROCESO DE FIRMA DIGITAL..............................................................................109 4.2.11 COMPOSICION DE LOS MÓDULOS DEL SISTEMA.............................................117 4.2.11.1 MODULO DE GESTIÓN DE PERMISOS ...........................................................117
  • 7. 6 4.2.11.2 MODULO DE FLUJO DE APROBACIÓN DE PERMISOS..................................117 4.2.11.3 MÓDULO DE GESTION DE FIRMA DIGITAL ....................................................118 4.2.11.4 MODULO DE GESTIÓN DE EMPLEADOS........................................................118 4.2.11.5 MÓDULO DE MENSAJERÍA..............................................................................119 4.2.11.6 MÓDULO DE REPORTES.................................................................................119 4.2.12 INTERFACES DE USUARIOS...............................................................................119 4.2.13 PRUEBAS DE FUNCIONAMIENTO E INTEGRACION ..........................................134 4.2.13.1 PRUEBAS DE FUNCIONAMIENTO...................................................................134 4.2.13.2 RESULTADOS PRUEBAS DE FUNCIONAMIENTO ..........................................137 4.2.13.3 PRUEBAS DE INTEGRACION...........................................................................138 4.2.13.4 RESULTADOS PRUEBAS DE INTEGRACION..................................................138 V. CONCLUSIONES..........................................................................................................141 VI. RECOMENDACIONES .................................................................................................142 BIBLIOGRAFÍA.....................................................................................................................143 ANEXOS...............................................................................................................................144 ANEXO 1 – DESCRIPCION DE FUNCIONES DE “CERTIFICATE MANAGEMENT APP” .....145 ANEXO 2 – MAPA DE PROCESOS DE MINEDU .................................................................150 ANEXO 3 – ESTRUCTURA DE LA SOLUCION: CASOS DE USO........................................163 ANEXO 4 – ESTRUCTURA DE LA BASE DE DATOS DE “SGP” ..........................................176
  • 8. 7 ÍNDICE DE FIGURAS Figura 1: Ejemplo de Diagrama de Proceso de Negocio .........................................................................26 Figura 2: Diagrama de casos de uso......................................................................................................27 Figura 3: Interrelación entre los elementos del patrón MVC...................................................................29 Figura 4: Estructura general del código en el lenguaje HTML.................................................................29 Figura 5: Patrón de diseño MVVM en AngularJS....................................................................................33 Figura 6: Descripción general del ámbito de AngularJS..........................................................................34 Figura 7: Sesiones de navegación con seguridad usando TLS/SSL...........................................................39 Figura 8 Criptosistema..........................................................................................................................39 Figura 9: Figura 2.16 Proceso de criptografía simétrica .........................................................................40 Figura 10: Proceso de criptografía asimétrica (usando clave pública para cifrado) ...............................41 Figura 11: Proceso de criptografía asimétrica (usando clave privada para cifrado) ................................41 Figura 12: PROCESO DE SOPORTE PS01. – ADMINISTRAR LOS RECURSOS HUMANOS.............................54 Figura 13: PS01.1.1 CONTROLAR ASISTENCIA DE EMPLEADOS...............................................................54 Figura 14: Situación Actual de los procesos : Flujo de las Solicitudes de permiso ....................................56 Figura 15: PS01.1.1.4.1 GESTIONAR COMISIONES DE SERVICIO..............................................................57 Figura 16: PS01.1.1.4.2 GESTIONAR LICENCIAS CON/SIN GOCE..............................................................59 Figura 17: PS01.1.1.4.3 GESTIONAR LICENCIAS MEDICAS.......................................................................61 Figura 18: PS01.1.1.4.4 GESTIONAR PAPELETAS ....................................................................................63 Figura 19: PS01.1.1.4 GESTIONAR PERMISOS DE EMPLEADOS ...............................................................65 Figura 20: Grupo de procesos de la dirección de proyectos PMBOK 2013...............................................69 Figura 21: El Proceso en la metodología Scrum .....................................................................................70 Figura 22: Screenshot de área de trabajo de SprintTometer...................................................................81 Figura 23: Proceso de firma digital......................................................................................................109 Figura 24: Proceso de comprobación de firma digital ..........................................................................110 Figura 25 : Estructura básica de la firma digital...................................................................................111 Figura 26: Estructura de la etiqueta de firma digital............................................................................112 Figura 27: Archivo XML con la firma digital .........................................................................................114 Figura 28: Archivo XML – Firma digital generada ................................................................................115 Figura 29 : Solicitud de permiso en Formato PDF.................................................................................116 Figura 30: Composición del sistema ....................................................................................................117 Figura 31: Página de inicio de sistema.................................................................................................119 Figura 32: Dashboard de sistema........................................................................................................120 Figura 33: Formulario de registro de solicitudes ..................................................................................120 Figura 34: Formulario de consulta de solicitudes de permiso ...............................................................121 Figura 35: Formulario de envío de solicitudes de permiso ....................................................................121 Figura 36: Bandeja de entrada de mensajes........................................................................................122 Figura 37: Bandeja de salida de mensajes ...........................................................................................122 Figura 38: Formulario para consulta de marcaciones de asistencia......................................................123 Figura 39: Vista inicial de Mantenimiento Usuarios.............................................................................124 Figura 40: Formulario para crear/editar Usuario.................................................................................124 Figura 41: Vista inicial de Mantenimiento Cargos de Empleados..........................................................125 Figura 42: Formulario para crear/editar Cargos ..................................................................................125 Figura 43: Vista inicial de Mantenimiento de Oficinas .........................................................................126 Figura 44: Formulario para crear/editar Oficinas.................................................................................126 Figura 45: Vista inicial de Mantenimiento de Empleados.....................................................................127 Figura 46: Formulario para crear/editar Empleados ............................................................................127 Figura 47: Vista inicial de Mantenimiento de Tipos de permiso............................................................128 Figura 48: Formulario para crear/editar Tipos de permiso ...................................................................128 Figura 49: Vista inicial de Mantenimiento de Flujos de aprobación......................................................129 Figura 50: Formulario para crear/editar Flujos de aprobación (1) ........................................................129 Figura 51: Vista inicial de Mantenimiento de Flujos de aprobación (2).................................................130 Figura 52: Vista detalle de un registro de flujo de aprobación..............................................................131 Figura 53: Vista inicial de “Configuración Keystores”...........................................................................131 Figura 54: Formulario para editar de “Configuración Keystore” ...........................................................132 Figura 55: Vista inicial de “Asignación de Certificados Digitales” .........................................................132
  • 9. 8 Figura 56: Formulario para guardar el certificado digital (.pem) y la llave privada (.key)......................133 Figura 57: Ventana de búsqueda de certificado digital (.pem) y la llave privada (.key) .........................133 Figura 58: Proceso de las pruebas de integración ................................................................................138 Figura 59: Interfaz donde se visualizan los permisos aprobados...........................................................139 Figura 60: Interfaz de creación/modificación de permisos ...................................................................140 ÍNDICE DE TABLAS Tabla 1: Clasificación de Variables y descripción de indicadores.............................................................47 Tabla 2: Variable Dependiente y variables independientes....................................................................48 Tabla 3: Product Backlog del desarrollo del sistema ..............................................................................78 Tabla 4: Tabla de módulos de la aplicación A- F.....................................................................................79 Tabla 5: Distribución de Sprints de la aplicación ....................................................................................80 Tabla 6: Información detallada Sprint 0.................................................................................................82 Tabla 7: Informe de Reporte Resumen de avance de historias de usuario – Sprint 0 ...............................82 Tabla 8: Informe de Reporte de Resumen de Sprint 0.............................................................................83 Tabla 9: Detalla de Avance de Historias de Usuario – Sprint 0................................................................84 Tabla 10: Información detallada Sprint 1...............................................................................................85 Tabla 11: Informe de Reporte Resumen de avance de historias de usuario – Sprint 1 .............................86 Tabla 12: Informe de Reporte de Resumen de Sprint 1...........................................................................87 Tabla 13: Detalla de Avance de Historias de Usuario – Sprint 1..............................................................88 Tabla 14: Información detallada Sprint 2...............................................................................................90 Tabla 15: Informe de Reporte Resumen de avance de historias de usuario – Sprint 2 .............................91 Tabla 16: Informe de Reporte de Resumen de Sprint 2...........................................................................92 Tabla 17:Detalla de Avance de Historias de Usuario – Sprint 2...............................................................96 Tabla 18: Información detallada Sprint 3...............................................................................................98 Tabla 19: Información detallada Sprint 4...............................................................................................99 Tabla 20: Información detallada Sprint 5.............................................................................................100
  • 10. 9 UNIVERSIDAD NACIONAL “PEDRO RUIZ GALLO” FACULTAD DE INGENIERÍA CIVIL DE SISTEMAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS “DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB PARA APOYAR LA GESTION DE PERMISOS DEL SISTEMA BIOSIS DESARROLLADO POR LA EMPRESA JUVITEC – CHICLAYO, TOMANDO COMO CASO DE ESTUDIO LA IMPLEMENTACION REALIZADA EN EL MINISTERIO DE EDUCACION – SEDE LIMA” Autores: Aldo Misael Jamanca Chávez Tito Gabriel Ríos Damián Asesor: Ing. Oscar Efraín Capuñay Uceda RESUMEN El presente trabajo de investigación tiene por objetivo fundamental desarrollar una aplicación web para apoyar la gestión de permisos del sistema de control de asistencia “BIOSIS”, tomando como caso de estudio, la implementación que realizo la empresa “JUVITEC” en el Ministerio de Educación – Sede Lima. A la aplicación desarrollada se le denominara como “SGP” (Sistema de Gestión de Permisos). La empresa desarrolladora “JUVITEC”, necesita una aplicación que le permita mejorar el proceso de control de asistencia que viene funcionando en MINEDU, además de poder ser usada para otras implementaciones del sistema BIOSIS. El estudio realizado fue descriptivo. La población está determinada por el personal que labora en el Ministerio de Educación – Sede Lima, dado que la población es pequeña, se determinó que el mismo número de elementos que conforman la población, pasan a conformar la muestra. Para la recolección de datos hemos usado técnicas tales como análisis de documentos sobre procesos del MINEDU y documentos internos de la Oficina de Gestión del Personal (OGEPER), análisis de bibliografía brindada por la empresa “JUVITEC”, entrevistas a los empleados encargados de aprobar las solicitudes de permiso en las distintas oficinas de MINEDU, así como la observación directa del trabajo realizado por los empleados. El análisis de datos se realizó a través del modelado BPM de los procesos estudiados empleando la herramienta “Bizagi”, y “Sprintometer” para gestionar los avances del proyecto mediante la metodología “SCRUM”. Se concluye que la aplicación web “SGP”, desarrollada en este proyecto, permite mejorar el proceso de control de asistencia que se viene dando en MINEDU, ya que esta aplicación brinda soporte para el proceso de “Gestionar permisos de empleados”, permitiendo así, que los mismos empleados soliciten permisos, y que los superiores designados aprueben las solicitudes, a través de la firma digital aplicada al permiso aprobado, de esta forma se mejora el trabajo que viene siendo realizado por la Oficina de Gestión del Personal.
  • 11. 10 UNIVERSIDAD NACIONAL “PEDRO RUIZ GALLO” FACULTAD DE INGENIERÍA CIVIL DE SISTEMAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS “DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB PARA APOYAR LA GESTION DE PERMISOS DEL SISTEMA BIOSIS DESARROLLADO POR LA EMPRESA JUVITEC – CHICLAYO, TOMANDO COMO CASO DE ESTUDIO LA IMPLEMENTACION REALIZADA EN EL MINISTERIO DE EDUCACION – SEDE LIMA” Autores: Aldo Misael Jamanca Chávez Tito Gabriel Ríos Damián Asesor: Ing. Oscar Efraín Capuñay Uceda ABSTRACT The main objective of this investigation project is to develop a web application to support the management of permits for the "BIOSIS" attendance control system, taking as a case study the implementation of the "JUVITEC" company in the Ministry of Education - Headquarters Lima. The developed application will be referred to as "SGP" (Permit Management System). The developer company "JUVITEC", needs an application that allows it to improve the assistance control process that has been running in MINEDU, in addition to being able to be used for other implementations of the BIOSIS system. The study conducted was descriptive. The population is determined by the personnel that works in the Ministry of Education - Headquarters Lima, given that the population is small, it was determined that the same number of elements that make up the population, come to conform the sample. For the collection of data we have used techniques such as document analysis on MINEDU processes and internal documents of the Office of Personnel Management (OGEPER), bibliography analysis provided by the company "JUVITEC", interviews with employees in charge of approving the permit applications in the different MINEDU offices, as well as direct observation of the work done by the employees. The data analysis was done through the BPM modeling of the processes studied using the "Bizagi" tool, and "Sprintometer" to manage the progress of the project through the "SCRUM" methodology. It is concluded that the web application "SGP", developed in this project, allows to improve the assistance control process that has been taking place in MINEDU, since this application provides support for the process of "Managing employee permits", thus allowing that the same employees request permits, and that the designated superiors approve the requests, through the digital signature applied to the approved permit, in this way the work that is being carried out by the Office of Personnel Management is improved.
  • 12. 11 INTRODUCCIÓN Hoy en día es importante que cualquier tipo de institución, cuenten con sus procesos definidos, para que estos permitan a la institución el cumplimiento de sus objetivos a corto y largo plazo. En dicha tarea, los sistemas de información juegan un rol importante, ya que estos dan el soporte necesario para que los procesos trabajen de forma óptima y den los resultados esperados. Uno de los procesos más importantes dentro de cualquier institución son los procesos que gestionar los recursos humanos, ya que de estos dependen el desarrollo de las actividades de la institución. Y dentro de estos procesos tenemos los que se encargan de administrar el trabajo realizado por los recursos humanos de la institución, dicho trabajo debe ser remunerado en la mayoría de casos, y para tales fines, cada institución cuenta con mecanismos para medir el trabajo realizado por las personas, así como políticas que indican la forma en que debe gestionarse el trabajo realizado. Por ende, la institución debe verificar el cumplimiento del trabajo realizado por las personas, y por ello se controla la asistencia de las personas a sus centros de trabajo. Este proceso de control de asistencia, tiene varios subprocesos, entre los cuales se encuentra la gestión de permisos para empleados, este tiene un papel resaltante, ya que siempre hay necesidad de emitir permisos para que los empleados puedan ausentarse por un tiempo del trabajo, ya sean por motivos personal, o por tareas asignadas por la institución en otro establecimiento. Es por ello que el presente proyecto de investigación tiene como objetivo fundamental el diseño y desarrollo de una aplicación web (“SGP”), la cual fue desarrollada tomando como caso de estudio, el proceso de control de asistencia del MINEDU – Sede Lima. Para esto, la investigación se estructuro en seis capítulos: En el Capítulo I: Aspectos de la Investigación, se realizó una descripción de la realidad problemática, descripción del proyecto, se formuló la pregunta de investigación, se formuló una hipótesis, se establecieron los objetivos de la investigación, así mismo se justificó la realización del proyecto y se determinó la viabilidad del estudio. En el Capítulo II: Marco Teórico, se tomaron en cuenta antecedentes de estudios anteriores que respaldan la presente investigación, luego se mencionaron las bases teóricas de la investigación, en la cual se detallaron conceptos como metodologías de proyecto agiles, metodologías de proyecto tradicionales, patrones de diseño, tecnologías de front-end y back-end, seguridad web, y criptografía.
  • 13. 12 En el Capítulo III: Marco Metodológico, donde se determinó el tipo de investigación, se identificaron variables e indicadores, también se obtuvo la población y muestra, se establecieron las estrategias para la demostración de la hipótesis, se detallaron también aquellos materiales, herramientas y equipos a utilizar, las técnicas, formatos y ensayos empleados para la recolección de datos, y qué herramientas se utilizaron para el análisis de los datos. En el Capítulo IV: Propuesta del estudio, se detalló la propuesta de desarrollo para la aplicación “SGP”, el análisis y modelado de los procesos actuales, diseño y modelado del proceso propuesto para la gestión de permisos de empleados, elección de la metodología de proyecto (Scrum vs PMBOK), evaluación de plataforma de desarrollo y arquitectura de software. Se definió los requerimientos funcionales y no funcionales, se aplicó las principales herramientas de gestión de Scrum para el planeamiento de desarrollo de la aplicación “SGP”, propuesta de solución de solicitudes de permiso aplicando firma digital para su aprobación, descripción de las interfaces de la aplicación y las pruebas de funcionamiento de la aplicación y pruebas de integración con el sistema de control de asistencia “BIOSIS”. En el Capítulo V se detallaron las conclusiones a las que se llegan después de haber realizado la investigación. Y para concluir el Capítulo VI se realizan las recomendaciones pertinentes a la presente investigación.
  • 14. 13 I. ASPECTOS DE LA INVESTIGACIÓN 1.1 DESCRIPCIÓN DE LA REALIDAD PROBLEMÁTICA. El proceso de control de asistencia en las instituciones tanto públicas como privadas es un proceso vital, pues a través de este proceso se mantiene el compromiso de cumplimiento de las labores de los empleados, permite aplicar las sanciones respectivas cuando el empleado comete una falta a las políticas establecidas (tardanzas, inasistencias injustificadas, salidas sin autorización), que va desde una leve amonestación, descuentos del salario laboral, hasta la separación del empleado de la institución. El Ministerio de Educación (de ahora en adelante MINEDU), realizaba el proceso de control de asistencia de manera manual, a través de verificación de las firmas realizadas por los empleados en sus instalaciones. A partir del mes de mayo del año 2015, MINEDU puso en funcionamiento equipos biométricos en sus sedes principales (Av. La Arqueología y Calle El Comercio - San Borja y Av. De la Poesía Nº 155 – San Borja), registrando marcaciones de huellas de los empleados. Junto con los equipos biométricos, MINEDU adquirió un software de control de asistencia “BIOSIS” de la empresa “JUVITEC”, el cual se encarga de realizar las siguientes tareas:  Ingreso de jornadas laborales, horarios.  Ingreso de permisos, vacaciones para empleados.  Procesamiento de las marcaciones de huellas de los empleados realizadas en equipos biométricos.  Generación de reportes correspondientes. Una de las partes importantes en el proceso de control de asistencia que soporta el sistema “BIOSIS”, es la gestión de los permisos, licencias y vacaciones para empleados, estas solicitudes pueden ser de los siguientes tipos:  Papeletas de salida, permiso para salidas de duración de unas pocas horas a un día como máximo.  Licencias por comisión de servicios, permiso para justificar inasistencias por actividades fuera del centro laboral.  Licencias por descanso médico, permiso dado a los empleados que presenten documento certificados donde se indique descanso médico.  Licencias con goce o sin goce, licencias que se otorgan por a pedido personal del empleado, la licencias con goce permite al empleado recibir su sueldo por los días que contempla la licencia. La licencia sin goce, permite al empleado no recibir sanción por los días especificados.
  • 15. 14  Vacaciones, días correspondientes por derecho a los trabajadores, se hacen validos cuando el empleado cuenta con más de un año de trabajo en las instituciones (se ve más en instituciones públicas). En varias instituciones con gran afluencia de empleados tales como MINEDU, el uso del sistema “BIOSIS”, presenta algunas complicaciones con respecto a la gestión de los permisos para los empleados de dicha institución. Debido al constante ingreso de solicitudes de permiso, se dificulta el ingreso de dichas solicitudes al sistema, ya que actualmente se ingresa uno por uno en el sistema “BIOSIS”. Por consiguiente, las solicitudes se acumulan, lo que conlleva a que el personal encargado de dicha labor realice jornadas extras para cumplir con el registro de todas las solicitudes, además de la demora en consultar el estado de trámite del permiso, acumulación de documentos en los respectivos espacios del personal designado. 1.2 DESCRIPCIÓN DEL PROYECTO El presente trabajo de investigación propone el desarrollo de una aplicación web para apoyar la gestión de permisos del sistema de control de asistencia “BIOSIS” propiedad de la empresa “JUVITEC”. Tomaremos como caso de estudio la implementación realizada por la empresa JUVITEC en el Ministerio de Educación – Sede Lima, para estudiar su problemática donde evaluaremos las incidencias que presenta la gestión de permisos y licencias de los empleados. Se hará el diagnóstico y análisis de la información suministrada por la empresa interesada, para que los investigadores tengan conocimiento pleno del proceso de control de asistencia que realiza el Ministerio de Educación – Sede Lima. Se analizará y desarrollará una descripción del sistema y de las actividades llevadas a cabo en él, para luego modelar el proceso y comprender la magnitud, complejidad y que tan amplio pueda ser la problemática en estudio, de esta manera proponer la mejora para el proceso de gestión de permisos. Se realizará reuniones con los responsables de la empresa interesada (JUVITEC) para definir el alcance y la funcionalidad que brindara la aplicación web en base a la propuesta mejorada del proceso de gestión de permisos. Para la elaboración del proyecto realizaremos un análisis de los procesos de MINEDU, así también una evaluación entre las metodologías de desarrollo de software más convenientes, y seguiremos las pautas y pasos brindados por la metodología escogida.
  • 16. 15 A lo largo del desarrollo de la aplicación web, se realizarán pruebas de integración para probar como es la interacción entre dos o más componente de software y el resultado de su funcionamiento actuando en conjunto con el sistema “BIOSIS”. 1.3 FORMULACIÓN DE LA PREGUNTA DE INVESTIGACIÓN ¿Permitirá el desarrollo de la aplicación web mejorar el proceso de gestión de permisos que brinda el sistema BIOSIS al Ministerio de Educación – Sede Lima? 1.4 HIPÓTESIS El desarrollo de la aplicación web de gestión de permisos permite la optimización del proceso de gestión de permisos en conjunto con el sistema “BIOSIS” 1.5 OBJETIVOS OBJETIVO GENERAL  Desarrollar una aplicación web para apoyar la gestión de permisos del sistema de control de asistencia “BIOSIS”, tomando como caso de estudio, la implementación que realizo la empresa JUVITEC en el Ministerio de Educación – Sede Lima. OBJETIVOS ESPECÍFICOS  Diagnosticar y analizar detalladamente la información actual del proceso de control de asistencia en la institución del caso de estudio (Ministerio de Educación – Sede Lima).  Modelar los procesos de gestión de permisos actual que va hacer soportado por la alternativa de solución y proponer cambios para su mejora.  Definir la funcionalidad y el alcance de la aplicación en base a los procesos de gestión de permisos de la solución propuesta.  Evaluar y definir la metodología, plataforma de desarrollo y la arquitectura de software para el desarrollo de la aplicación.  Diseñar y desarrollar la aplicación web de gestión de permisos en base a la arquitectura de software, plataforma y metodología de desarrollo seleccionadas.  Realizar las pruebas de funcionamiento del software, pruebas de integración con el sistema “BIOSIS” para verificar la mejora en el proceso de gestión de permisos.
  • 17. 16 1.6 JUSTIFICACIÓN Y VIABILIDAD DEL ESTUDIO CONVENIENCIA El desarrollo de la aplicación web de gestión de permisos, que se propone en esta investigación beneficiará directamente a la empresa JUVITEC - Chiclayo, ya que le permitirá dar un mejor servicio en conjunto con el sistema de Control de Asistencia “BIOSIS”. Asimismo, contará como un activo más para su posterior explotación. PARTICIPACIÓN DE LOS EMPLEADOS DE LA INSTITUCIÓN EN EL SISTEMA El desarrollo de esta investigación, permitirá a los empleados de las instituciones donde se implemente la solución, participar activamente en el proceso de control de asistencia, ya que podrán realizar tareas por sí mismo, las cuales antes solo podían acceder a través de usuarios directos del sistema “BIOSIS”. La información fue recopilada a través de entrevistas a los empleados y experiencias obtenidas. VIABILIDAD TECNOLOGICA El desarrollo de esta investigación propone usar tecnologías de desarrollo web para su elaboración, dado que actualmente las aplicaciones web/móviles brindan prestaciones similares que las aplicaciones de escritorio (sistema “BIOSIS”), es conveniente optar por el desarrollo web, ya que permitirá una mejor escalabilidad, disponibilidad de la aplicación, portabilidad y facilidad para actualizaciones.
  • 18. 17 II. MARCO TEÓRICO 2.1 ANTECEDENTES DE LA INVESTIGACIÓN Todo estudio requiere de una revisión de la literatura existente sobre temas relacionados con el trabajo que se está elaborando. En ese punto, se citan investigaciones realizadas con anterioridad que apoyan como antecedentes al desarrollo de una aplicación web para mejorar el proceso(s) de las empresas. En el ámbito nacional, Karina Arévalo Ramírez Gastón (2015) quien realizó el estudio “Implementación de un control de citas médicas integrado con una aplicación móvil que facilite la gestión de búsqueda y reservas en clínicas”. Propone mediante la creación de una aplicación móvil que optimizará dicho proceso, funcionando como un motor de búsqueda personalizada y que permitirá realizar reservas de citas médicas desde cualquier lugar y a cualquier momento. Adicionalmente los pacientes contarán con un consolidado de información sobre los médicos del Perú y ver su disponibilidad generará ciertos beneficios. Los objetivos buscados son los siguientes: (a) Consolidar la información de los médicos y clínicas disponibles del Perú. (b) Facilitar al usuario la exploración de búsqueda de un médico que pueda atender sus necesidades. (c) Diseñar un mecanismo de respuesta para recibir las solicitudes de citas para las clínicas. Los cuales contribuirán a cumplir con el objetivo general, el cual será la implementación de un motor de búsqueda y reservas para citas médicas en clínicas del Perú que se adapte a las necesidades y disposición de pacientes. El autor concluye que: al desarrollarse un análisis del proceso de negocio de citas médicas ayudo a reconocer la brecha del proceso actual y del que se propone, el cual sirvió para plantear los requerimientos de la aplicación, incluyendo que las pruebas de desarrollo ayudo a demostrar toda la información actualizada de las clínicas a través de la web services y lectura de datos de la base. Dentro de las recomendaciones esta que se añada la funcionalidad de poder visualizar las clínicas que estén más cercanas al usuario, y se complemente con el almacenamiento histórico de historias médicas virtuales para poder tener una aplicación más completa e informativa para los pacientes.
  • 19. 18 En el ámbito internacional, existe un trabajo desarrollado por Benítez T. Sergio (2011) quien realizó el estudio "Sistema Web con software libre para el Control de Asistencia de Personal de la Dirección Provincial del Ambiente de Imbabura, mediante un colector de datos biométrico.", donde se propone crear un sistema web que permita optimizar el control de asistencia de personal de la Dirección Provincial del Ambiente de Imbabura. Los objetivos buscados son los siguientes: (a) Determinar los requerimientos y necesidades de la Institución con respecto al control de la asistencia de personal, (b) Diseñar la arquitectura de los procesos y funciones del Sistema Web para control de asistencia de personal, (c) Desarrollar e implementar el Sistema Web para control de asistencia de personal, utilizando herramientas libres, (d) Realizar pruebas e Implantar el Sistema Web para control de asistencia de personal en la Dirección Ambiental de Imbabura. El autor concluye que: con el sistema web se ha solucionado en forma eficiente la consulta y reporte de la asistencia del personal de la institución, ya que es muy fácil de manejar, rápido en consultas y reportes, y a medida de los requerimientos de la institución. Dentro de las recomendaciones esta que se realice una selección minuciosa para las personas que usaran el sistema web, así como realizar el proceso de marcaciones de los empleados de manera correcta para que los reportes se generen correctamente. Por su lado, Robayo J. (2013) en su tesis titulada: “Desarrollo e Implementación de un Sistema de Control de Asistencia para los establecimientos educativos de la zona escolar N° 2 de la UTE N° 1 del Cantón Ambato de la provincia de Tungurahua”. Esta investigación busca desarrollar una aplicación que utilice la tecnología existente fusionada con el estudio de la biometría para controlar el horario de entrada y salida de los docentes a los establecimientos educativos. Entre los objetivos buscados tenemos: (a) Utilizar un lector de huellas dactilares digital como medio para el control de identificación autorizado al sistema, (b) Controlar la asistencia del personal docente y administrativo mediante el registro de cada una de sus marcaciones correspondientes a la hora de ingreso a la jornada establecida, (c) Generar reportes entorno al Registro de asistencia de cada establecimiento para monitorear y controlar la asistencia dentro de las jornadas establecidas, (d) Realizar pruebas de funcionamiento para cada una de las interfaces correspondientes a cada usuario. El autor llega a las siguientes conclusiones: el sistema hizo aporto en tres aspectos distintos, aspecto tecnológico, al usarse tecnología web con código dinámico y altamente confiable; aspecto económico, ya que requiere costo reducido y poca infraestructura para su utilización; aspecto funcional, pues fue desarrollado en base a las necesidades y requerimientos presentados. Entre las recomendaciones tenemos: Realizar un correcto análisis de requerimientos no solo para el desarrollo de sistemas de este
  • 20. 19 tipo sino en general, ya que de este procedimiento dependerá el poder cumplir con los objetivos planteados y por ende se logrará obtener un sistema de calidad. En la tesis denominada “Implementación de un sistema de control de gestión de permisos para personal administrativo basado en aplicaciones Cliente - Servidor”, los autores Marilyn Jiménez Ramírez, María Elena Navarrete, Diana Zúñiga y Gustavo Galio. Los cuales mencionan que los permisos y licencias laborales son un derecho de los empleados, por lo que es necesario ofrecer un servicio de control de estos derechos, en forma confiable y eficiente. Cabe destacar que dicho proceso lo realizan de manera manual y la constancia está en un libro de registros los cuales pueden extraviarse, además que el interesado desconoce el estado del trámite. Ante todo, esto se propone crear un módulo de control de gestión de permisos para personal, que ayude como soporte a la toma de decisiones para automatizar la gestión de licencias y permisos, mejorando el rendimiento de trámites dentro de la empresa. Entre los objetivos buscados tenemos:  Permitir controlar eficientemente la solicitud y facilitar el seguimiento en el proceso de registro de la solicitud de licencia y/o permiso,  Proporcionar información que sirva de apoyo al proceso de toma de decisiones  Contar con una interfaz sencilla, amigable, la cual facilita el proceso de registro y uso de la información,  Optimizar el tiempo en el procesamiento de la información. Los autores concluyen que la solución está orientada a registrar información referente a la petición, emisión y cumplimiento de los permisos y licencias de los empleados de las instituciones públicas y privadas, asegurando un manejo eficiente en su gestión y control del esfuerzo de los miembros de la organización, produciendo en un menor tiempo mayores resultados, reduciendo así el descontento en el personal. Dentro de las recomendaciones para lograr la mejora continua, se contempla la adición de módulos que gestione el departamento de recursos humanos y el mejorar los tiempos de respuesta, además de realizar el mantenimiento preventivo cada seis meses, de acuerdo al volumen de información que maneja la organización.
  • 21. 20 2.2 BASES TEÓRICAS 2.2.1 MANIFIESTO AGIL El Manifiesto Ágil1 es un conjunto de ideas definidas por personas relevantes en el mundo del desarrollo de software sobre la industria actual del desarrollo. Se presentó como una forma de desarrollar proyectos del momento, sin embargo, fue evolucionando hasta hoy convertirse en base para una nueva forma de trabajo. La forma ágil de desarrollar proyectos se fundamenta en cuatro puntos (Álvarez García, de las Heras del Dedo y Lasa Gómez 2012):  Valorar a individuos y sus iteraciones, frente procesos y herramientas. Aunque todas las ayudas para desarrollar un trabajo son importantes, nada sustituye a las personas, alas que hay que dar toda la importancia y poner en primer plano.  Valorar más el software (producto) que funciona, que una documentación exhaustiva. Porque había llegado un punto en el que documentar el trabajo había alcanzado tanta importancia como el objeto del trabajo: el producto. Y ese es un gran error: el foco debe estar siempre en lo que queremos construir, y todo lo demás es secundario.  Valorar más la colaboración con el cliente que la negociación de un contrato. La forma más productiva de sacar adelante un trabajo es establecer un marco de confianza y colaboración con quien nos lo encarga. Sin embargo, se estaba poniendo el foco en cerrar un contrato atado que sirviera ante todo como una herramienta de protección, como si el cliente y equipo fueran dos partes enfrentadas, cuando en realidad comparten objetivos e intereses.  Valorar más la respuesta al cambio que el seguimiento de un plan. Se trata de apreciar la incertidumbre como un componente básico del trabajo, por lo que la adaptación y la flexibilidad se convierten en virtudes y no en amenazas. El seguimiento ciego de un plan lleva, salvo contadas excepciones, al fracaso si no se puede corregir la dirección ante los inevitables cambios que van surgiendo. 1 Alvarez Garcia, Alonso, Carmen Lasa Gomez, y Rafael de las Heras del Dedo. «Métodos ágiles hoy.» Novática, 2012: 45-46.
  • 22. 21 2.2.2 MÉTODOS ÁGILES Los métodos agiles son una forma de trabajo para tratar enfrentar los problemas históricos del desarrollo de software, los cuales toman como base el Manifiesto Ágil. A diferencia de los métodos/metodologías tradicionales, los métodos agiles se adaptan al cambio y a la incertidumbre. Los métodos más conocidos son: 2.2.2.1 METODOLOGÍA SCRUM Propone un marco de trabajo basado en iteraciones llamadas Sprint, y que se apoya en equipos auto gestionados. Se trata de una de las metodologías ágiles más difundidas en la actualidad, y eso hace que sus conceptos, herramientas y prácticas aparezcan en muchos otros métodos (Alvarez Garcia, Lasa Gomez y de las Heras del Dedo 2012).  Promueve la organización en torno a pequeños equipos auto organizado e inter- disciplinares.  Divide el trabajo en pequeños entregables, priorizados y estimados en esfuerzo.  Distribuye el tiempo de trabajo en iteraciones fijas que generan un producto enseñable a su fin.  Optimiza el plan de entregas y prioridades de acuerdo con el cliente, y aprendiendo de las iteraciones.  Optimiza el proceso por medio de revisiones (retrospectivas) al final de cada iteración. Roles del equipo Scrum Representan una responsabilidad en el proceso y no la posición dentro de la organización:  Product Owner o dueño del producto: Es el responsable desde el punto de vista del negocio.  Scrum Master. Responsable de que el equipo sea productivo, ayudándole en todo momento a conseguir el objetivo acordado y de asegurar que los principios de Scrum se están respetando.  Equipo: Es el responsable de la construcción del producto.
  • 23. 22 Artefactos de Scrum  Product Backlog: Es el lugar que contiene los requisitos del cliente priorizados y estimados. Es gestionado por el Product Owner y usa lenguaje de negocio.  Sprint Backlog: Es la selección de requisitos del Product Backlog negociados para el Sprint y que se ha descompuesto en tareas por el equipo para expresar los requisitos del cliente en un lenguaje técnico.  Burndown Chart: Es un gráfico donde se representa el trabajo pendiente del equipo, tanto dentro el Sprint como en la totalidad del proyecto. Reuniones en Scrum  Planificación del Sprint (Sprint Planning): En ella se busca obtener un objetivo claro y compartido del trabajo que hay que realizar para la iteración siguiente. El equipo selecciona los ítems del Product Backlog con los que considera que puede comprometerse a realizar durante el Sprint y los dividirá de forma colaborativa en tareas.  Reunión diaria (Daily Meeting). Es el momento de la sincronización del equipo en el que cada miembro comparte con el resto en qué estado se encuentra el trabajo que está realizando con qué piensa continuar, y qué impedimentos hay para continuar. „  Revisiones Sprint (Sprint Review). Al finalizar el Sprint, el equipo analiza el estado de su trabajo con el Product Owner y con cualquier otra persona que pueda aportar información valiosa. Este es el momento de analizar para mejorar el "qué" se está construyendo.  Retrospectiva del equipo (Sprint Retrospective). Después de la Review, el equipo se reunirá para buscar la mejora continua en su trabajo y analizar los aspectos que le impiden ser más productivo. Es este el momento de analizar para mejorar "cómo" se está trabajando. 2.2.2.2 METODOLOGÍA KANBAN Es un método muy útil para gestionar productos cuyos requisitos cambian constantemente, bien porque aparezcan nuevas necesidades, o bien porque su prioridad varíe, así como en los casos en los que las planificaciones o estimaciones de un equipo se alarguen demasiado y dejen de ser productivas (Alvarez Garcia, Lasa Gomez y de las Heras del Dedo 2012).
  • 24. 23 De forma simplificada, los pasos que se deben seguir para trabajar con Kanban son los siguientes:  Visualizar el flujo de todo el trabajo. En un panel debe estar representado todo el flujo del trabajo que hay que realizar en el proyecto, desde el principio hasta el último momento, debe estar accesible y visible para todos los miembros del equipo.  El panel cuenta con columnas que permiten mostrar en qué estado del flujo está cada ítem (donde la primera representa el Backlog del producto).  División del trabajo en ítems pequeños que se describen en una tarjeta. Se priorizan ordenados en la primera columna del tablero. Una buena práctica es tratar de dividir los ítems de forma que la carga de trabajo sea similar entre ellos, y de esa forma poder estimar visualmente el trabajo asociado a cada estado.  Limitación del trabajo en curso. Esta es una de las claves para que Kanban funcione. Es imprescindible poner un límite al número de ítems permitidos en cada columna y de esta forma evitar colapsos, cuellos de botella y eliminar cuanto antes los impedimentos que surjan y que impidan trabajar con un ritmo sostenible. Este número (WIP) que indica el límite permitido en cada columna debe estar visible en la parte superior de la misma.  Medición del tiempo empleado en completar un ciclo. Se calcula el tiempo que se emplea desde que se empieza a trabajar con un ítem o tarea hasta que se da por cerrado o terminado y se busca la manera de hacer disminuir este tiempo. Esta práctica ayuda también a ser predecible y a poder hacer una estimación previa de cuánto tiempo se empleará en completar cada ítem. 2.2.2.3 FEATURE DRIVEN DEVELOPMENT El desarrollo orientado a funcionalidad (FDD) es un método ágil que no cubre todo el proceso de desarrollo de un producto, sino que se centra en las fases de diseño y construcción. Sus puntos clave son el trabajo en iteraciones, control continuo, la calidad de lo creado y entregas frecuentes para poder realizar un seguimiento continuo en colaboración con el cliente y poder así incorporar sus necesidades en el producto con frecuencia (Alvarez Garcia, Lasa Gomez y de las Heras del Dedo 2012). FDD propone seguir unos pasos secuenciales para realizar el diseño y la implementación del sistema. Estos pasos son:
  • 25. 24  Crear un modelo global. Un primer paso será tener un conocimiento del alcance, de los requisitos y del contexto del sistema en el que se va a construir el producto.  Crear una lista de funcionalidades. Es necesario plasmar este modelo global, junto con los demás requisitos del conjunto del sistema, en una única lista de necesidades o funcionalidades que hay que cubrir.  Planificar por funcionalidades. Es decir, a la hora de hacer un plan a alto nivel, debe siempre tenerse en cuenta la prioridad de las funcionalidades y las dependencias entre ellas, lo que afecta también a los hitos de entregas.  Diseñar y construir por funcionalidad. Lo que se hace de forma iterativa en ciclos que oscilan entre algunos días y dos semanas. Esta etapa de diseño y desarrollo incluye las actividades de pruebas unitarias, revisión de código e integración. 2.2.2.4 EXTREME PROGRAMMING (XP) XP es un método ágil para el desarrollo de software que resulta muy útil a la hora abordar proyectos con requisitos vagos o cambiantes. Se aplica muchas veces en combinación con otros métodos como Scrum (Alvarez Garcia, Lasa Gomez y de las Heras del Dedo 2012).  Es un método adaptativo que se ajusta muy bien a los cambios.  Facilita desarrollar código de forma que su diseño, arquitectura y codificación permitan incorporar modificaciones y añadir funcionalidad nueva sin demasiado impacto en la calidad del mismo.  Orientado hacia las personas, tanto a las que están creando el producto como a los clientes y usuarios finales.  Proporciona resultados rápidos, gracias a sus pequeñas iteraciones, se pueden obtener con frecuencia comentarios del cliente para que el producto final cubra ampliamente sus expectativas y necesidades.  Las pruebas son la base de la construcción y propone que sean los desarrolladores los que escriban las pruebas a medida que van construyendo el código.  Las pruebas automáticas se realizan de forma constante para poder detectar los fallos rápidamente.  Para cada iteración se planifica el trabajo que va a realizarse y a continuación se realizan de forma simultánea el análisis, el desarrollo, el diseño y las pruebas del código.
  • 26. 25 XP define prácticas primarias y prácticas corolario, las prácticas primarias son las siguientes:  Trabajar con historias de usuario.  Realizar ciclos semanales de desarrollo.  Organizar revisiones trimestrales.  Trabajar con holgura.  El equipo debe estar próximo físicamente.  El equipo debe ser completo, es decir, compuesto por todas las personas necesarias para llevar a cabo el producto con éxito.  Tener información sobre el proyecto en el puesto de trabajo.  Mantener la energía en el trabajo ó un ritmo sostenible.  Realizar con frecuencia la programación en parejas.  Diseño incremental.  Realizar las pruebas antes de programar.  Construir en diez minutos.  Realizar integración continua. En cuanto a las prácticas corolario se puede destacar el contar con la participación real de los clientes, mantener la continuidad de los equipos, o compartir código. 2.2.3 GESTIÓN DE PROCESOS DE NEGOCIO (BPM) Se llama Gestión de Procesos de Negocio (Business Process Management o BPM en inglés) a la metodología empresarial cuyo objetivo es mejorar la eficiencia a través de la gestión sistemática de los procesos de negocio, que se deben modelar, automatizar, y optimizar de forma continua. BPM se apoya en tecnología de información para automatizar tareas y dar agilidad a los cambios requeridos por la empresa. La tecnología que posibilita la implantación y adopción de BPM constituye una categoría nueva de sistemas informáticos denominada Business Process Management System (BPMS). A diferencia de los sistemas de información tradicionales basados en la gestión de datos, estos sistemas se especializan en la gestión de procesos de negocio. BPMS pueden ser definidos como el conjunto de utilidades de software para definir, implementar y mejorar procesos de negocio que cumplen con características técnicas necesarias para aplicar el concepto BPM. El sistema de gestión por procesos se caracteriza por el entendimiento, la visibilidad y el control de todos los procesos de una organización por parte
  • 27. 26 de todos los participantes en cada uno de dichos procesos, todo ello con el fin de aumentar la eficiencia de la empresa y la satisfacción del cliente. Para soportar esta estrategia es necesario contar con un conjunto de herramientas que den el soporte necesario para cumplir con el ciclo de vida de BPM. Este conjunto de herramientas son llamadas Business Process Management Software (BPMS), y con ellas se construyen aplicaciones BPM. Normalmente siguen una notación común, denominada Business Process Modeling Notation (BPMN). BUSINESS PROCESS MODELING NOTATION En español Modelo y Notación de Procesos de Negocio, es una notación gráfica estandarizada que permite el modelado de procesos de negocio. El principal objetivo de BPMN es proporcionar una notación gráfica estándar que sea fácilmente legible y entendible por parte de todos los involucrados e interesados del negocio (stakeholders). Entre estos interesados están los analistas de negocio (quienes definen y redefinen los procesos), los desarrolladores técnicos (responsables de implementar los procesos) y los gerentes y administradores del negocio (quienes monitorizan y gestionan los procesos). Figura 1: Ejemplo de Diagrama de Proceso de Negocio Fuente:Internet,es.wikipedia.org/wiki/Business_Process_Model_and_Notation
  • 28. 27 2.2.4 LENGUAJE UNIFICADO DE MODELADO (UML) El UML (Unified Modeling Language) es un sistema de notación que se ha convertido en estándar en el mundo del desarrollo de sistemas. El UML está constituido por un conjunto de diagramas y proporciona un estándar que permite al analista de sistemas generar un anteproyecto de varias facetas que sean comprensibles para los clientes, desarrolladores y todos aquellos que estén involucrados en el proceso de desarrollo. Diagramas del UML El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Debido a que el UML es un lenguaje, se cuenta con reglas para combinar tales elementos. La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a las cuales se les conoce como modelo. El modelo UML de un sistema es similar a un modelo a escala de un edificio junto con la interpretación del artista del edificio. El modelo UML describe lo que supuestamente hará un sistema, más no como implementarlo.  Diagrama de casos de uso Un diagrama que muestra las relaciones entre los actores y el sujeto (sistema), y los casos de uso. Figura 2: Diagrama de casos de uso Fuente: Internet, https://goo.gl/nGRmoI
  • 29. 28 2.2.5 PATRÓN MODELO VISTA CONTROLADOR (MVC) El patrón Modelo-Vista-Controlador (MVC) surge con el objetivo de reducir el esfuerzo de programación, necesario en la implementación de sistemas múltiples y sincronizados de los mismos datos, a partir de estandarizar el diseño de las aplicaciones. El patrón MVC es un paradigma que divide las partes que conforman una aplicación en el Modelo, las Vistas y los Controladores, permitiendo la implementación por separado de cada elemento, garantizando así la actualización y mantenimiento del software de forma sencilla y en un reducido espacio de tiempo. A partir del uso de frameworks basados en el patrón MVC se puede lograr una mejor organización del trabajo y mayor especialización de los desarrolladores y diseñadores (Fernández Romero y Díaz Gonzáles 2012). Modelo Es el objeto que representa los datos del programa. Maneja los datos y controla todas sus transformaciones. El Modelo no tiene conocimiento específico de los Controladores o de las Vistas, ni siquiera contiene referencias a ellos. Es el propio sistema el que tiene encomendada la responsabilidad de mantener enlaces entre el Modelo y sus Vistas, y notificar a las Vistas cuando cambia el Modelo. Vista Es el objeto que maneja la presentación visual de los datos representados por el Modelo. Genera una representación visual del Modelo y muestra los datos al usuario. Interactúa preferentemente con el Controlador, pero es posible que trate directamente con el Modelo a través de una referencia al propio Modelo. Controlador Es el objeto que proporciona significado a las órdenes del usuario, actuando sobre los datos representados por el Modelo, centra toda la interacción entre la Vista y el Modelo. Cuando se realiza algún cambio, entra en acción, bien sea por cambios en la información del Modelo o por alteraciones de la Vista. Interactúa con el Modelo a través de una referencia al propio Modelo.
  • 30. 29 Figura 3: Interrelación entre los elementos del patrón MVC Fuente: Revista Telem@tica Vol. 11. No. 1, enero-abril, 2012, p. 47-57 2.2.6 TECNOLOGÍAS A USAR EN FRONT END 2.2.6.1 HTML (HyperText Markup Language) HTML, acrónimo de Lenguaje de marcado para Hipertextos, es la herramienta empleada para crear la estructura básica y representar visualmente una página web, determinando su contenido (texto, imágenes, videos, juegos, entre otros) mas no su funcionalidad. Es considerado el lenguaje web más importante siendo su invención crucial en la aparición, desarrollo y expansión de la World Wide Web(WWW) (Mozilla Developer Network 2016). HTML maneja los elementos que construyen la página web a través de etiquetas, rodeadas de corchetes angulares (Markup), si necesita traer algún archivo como una imagen o video, se especifica la ubicación del archivo en la etiqueta correspondiente. Figura 4: Estructura general del código en el lenguaje HTML Fuente: Internet, https://goo.gl/UYyoPY
  • 31. 30 HTML está en constante evolución, siendo la última HTML5, la cual incorpora mejoras al incorporar nuevos elementos, atributos y comportamientos, así como un conjunto de tecnologías que permite una mayor diversidad y capacidad a las páginas web y aplicaciones. Semántica  Se agregaron nuevas etiquetas para la definición de estructura de las páginas web, entre las etiquetas se tienen: <section>, <article>, <nav>, <header>, <footer> y <aside>. Conectividad  Se puede crear una conexión permanente entre la página y el servidor para el intercambio de información no HTML, todo ello a través de WebSockets. Offline y almacenamiento  Las aplicaciones pueden detectar si hay o no conexión activa a Internet, así como cuando la conexión se levante o cae.  Uso de IndexedBD, estructura web estándar para el almacenamiento significativo de data estructurada en el navegador y de alto rendimiento en búsquedas en esa data a través de índices. Multimedia  Uso de etiquetas <audio> y <video>, que permiten añadir con facilidad contenido embebido a los documentos HTML.  Posibilidad de videoconferencia directamente desde el navegador, sin necesidad de un plugin o aplicación externa, gracias a WebRTC. Performance e integración  Uso de Web Workers, que permite a Javascript evaluar los subprocesos en segundo plano, para evitar ralentizar los eventos interactivos.  Extracción asíncrona de partes de una página, permitiendo mostrar dinámicamente el contenido, variando acorde al tiempo y acciones del usuario.  Drag and drop (arrastar y soltar) elementos dentro y entre páginas web.
  • 32. 31 Dispositivos de acceso  Uso, manipulación y almacenamiento de una imagen desde la cámara de la computadora.  Manejadores para reaccionar a eventos generados por el usuario a través de touch screens.  Uso de geolocalización.  Detección de orientación del dispositivo. 2.2.6.2 CSS (Cascading Style Sheets) Es un lenguaje de hojas de estilo usado para describir la representación de un documento escrito en HTML o XML, CSS describe como debe renderizarse los elementos en la pantalla, en papel, ser hablados o por otro medio. Propone la separación entre la estructura de un documento y su representación (Mozilla Developer Network 2016). CSS3 es la última evolución de CSS, y tiene como objetivo ampliar CSS2.1, aportando:  Esquinas redondeadas: aplicándose a través de la propiedad “border- radius”.  Sombras: se puede aplicar sombrar a los textos y a los elementos, con los siguientes atributos, “text-shadow” para texto, “box-shadow” para elementos.  Gradientes: permite mostrar cambios suaves entre un color a otro, o de uno a varios, logrando un efecto de degradado.  Transiciones: permite variar el valor de un atributo suavemente de un valor a otro durante un tiempo especificado.  Animaciones: permite añadir animaciones a la mayoría de elementos HTML sin el uso de Javascript o Flash.  Multi-Columnas: permite definir múltiples columnas como si fuera un diario.  Flexible Box: permite asegurar el comportamiento de los elementos en el diseño de la página cuando esta se acomoda en diferentes tamaños de pantallas y dispositivos.
  • 33. 32 2.2.6.3 BOOTSTRAP Es una biblioteca multiplataforma o conjunto de herramientas de código abierto para diseño de sitios y aplicaciones web. Contiene plantillas de diseño con tipografía, formularios, botones, cuadros, menús de navegación y otros elementos de diseño basado en HTML y CSS, así como extensiones de JavaScript adicionales. A diferencia de muchos frameworks web, solo se ocupa del desarrollo front end. Nos permite crear interfaces con CSS y JavaScript, cuya particularidad es la de adaptar la interfaz del sitio web al tamaño del dispositivo en el que se visualice (responsive design). Bootstrap cuenta con un repertorio amplio de componente reutilizables que proveen iconografía, menús desplegables, botones, campos de ingreso, navegación, alertas, paginación, entre otros elementos. 2.2.6.4 JAVASCRIPT JavaScript es un lenguaje ligero e interpretado, con funciones de primera clase, más conocido como el lenguaje de script para páginas web, usado también en muchos entornos sin navegador tales como node.js o ApacheCouchDB. Es un lenguaje script multi paradigma, basado en prototipos, dinámico, soporta estilos de programación funcional, orientada a objetos e imperativa. JavaScript puede extender su núcleo (conjunto de librerías) para trabajar con otros propósitos, por ejemplo:  Client Side JavaScript: Extiende el lenguaje proporcionando objetos para controlar un navegador y su modelo de objetos (DOM), permitiendo agregar nuevos elementos en las páginas web, controlar eventos (clicks del ratón, presionar teclas) y navegación de páginas.  Server Side JavaScript: Extiende el lenguaje proporcionando objetos para la ejecución de JavaScript en un servidor, permitiendo comunicación con una base de datos, proporcionar continuidad de la información de una invocación de la aplicación a otra, o manipular los archivos en un servidor.
  • 34. 33 2.2.6.5 ANGULARJS AngularJS es un framework de JavaScript para el desarrollo web Front End, el cual permite crear aplicaciones SPA (single-page applications). Este framework pretende hacer que los programadores mejoren el HTML que realizan, produciendo HTML semántico para su fácil entendimiento (Basalo y Alvarez 2014). Propone el uso “directivas” que es código JavaScript que mejora el HTML, podemos usar las directivas propias de AngularJS o las realizadas por terceros. Promueve el uso de patrones de diseño para aplicaciones web, promoviendo la separación de código de los programas, repartiendo así la lógica de la programación por capas, lo que resulta muy adecuado para aplicaciones de negocio. El patrón que usa AngularJS es el patrón MVVM (Model-View-View Model). Figura 5: Patrón de diseño MVVM en AngularJS Fuente: Internet, https://goo.gl/gvSViW AngularJS está divido en las siguientes áreas:  Parte del HTML: Parte declarativa, con las vistas, así como las directivas y filtros que nos provee AngularJS.  Parte JavaScript: Son los controladores, factorías y servicios. Two-Way Data Binding View Cambios en el modelo actualiza la Vista (View) Cambios en el modelo actualiza la Vista (View) Actualizaciones continuas. El modelo es SSOT (singles source of truth) Model Template Compila
  • 35. 34 Usaremos un objeto JavaScript que brinda AngularJS, $scope, el cual se puede extender agregándole funciones. $scope permite unir el HTML(View) de nuestra página con su controlador (Model), y estará disponible tanto para el View y el Model. Figura 6: Descripción general del ámbito de AngularJS Fuente: Internet, https://goo.gl/U3SJPq
  • 36. 35 2.2.7 TECNOLOGÍAS A USAR EN EL BACK END 2.2.7.1 LENGUAJE DE PROGRAMACIÓN JAVA Java es un lenguaje de programación creado por la compañía Sun Microsystems (actualmente Oracle) en el año 1995. Se trata de un lenguaje que debido a su potencial y robustez se ha extendido enormemente, tanto en el ámbito de internet como en el ámbito de los dispositivos electrónicos (Montero Miguel 2014). Características principales:  Orientado a objetos: Paradigma de programación que nos permite descomponer nuestro código en pequeñas unidades lógicas llamadas objetos. Nos permite simplificar la forma de resolver los problemas de la vida real a la hora de plasmarlos en código.  Multiplataforma: Cualquier programa Java podrá ejecutarse en distintos sistemas operativos con diferentes arquitecturas sin tener que volverse a compilar. Se entiendo con compilar como la acción del código del programa a un lenguaje que se capaz de entender la máquina. Cuando Java compila el programa lo traduce a un lenguaje intermediario no dependiente de la plataforma, llamado bytecode. La máquina donde quiera ejecutarse el programa compilado necesitara un intérprete del código intermedio (byte code) para que lo traduzca a un lenguaje conocido por la máquina.  Sencillez: Es un lenguaje de relativa sencillez que permite abordar problemas complejos, generando código ordenado, estructurado y de fácil entendimiento.  Robustez: El desarrollador no tendrá que manejar direcciones de memoria RAM, esto implica evitar errores de programación en tiempo de ejecución.  Seguridad: El lenguaje incorpora multitud de utilidades para ofrecer la seguridad de ejecución de un programa en todos los sentidos. El hecho de que no permita manipular direcciones de memoria, acentúa aún más esta característica, teniendo la certeza de que ningún programa Java va a poder acceder a una dirección de memoria fuera de su ámbito de ejecución.  Multi hilo: Los programas Java pueden ejecutar más de una tarea a la vez. Por ejemplo, un programa puede estar interactuando con el usuario, mientras que en background está conectado a un servidor en busca de nuevas actualizaciones.
  • 37. 36 2.2.7.2 FRAMEWORK DE DESARROLLLO SPRING Spring es un framework de Java creado por Rod Johnson, se creó para hacer frente a la complejidad del desarrollo de aplicaciones empresariales, haciendo posible el uso de JavaBean sencillos para conseguir objetivos que antes solo eran posibles con EJB (Walls 2015). Las estrategias que Spring utiliza son:  Desarrollo ligero y mínimamente con objetos POJO.  Acoplamiento débil mediante la inyección de dependencias y la orientación de interfaces.  Programación declarativa mediante aspectos y convenciones comunes.  Reducción del código reutilizable mediante aspectos y plantillas. Spring está dividido en siete categorías de módulos:  Contenedor del núcleo de Spring: Gestiona la forma en que los bean de una aplicación de Spring se crean, configuran y administran. En este módulo se encuentra la factoría de bean de Spring, que proporciona la inyección de dependencias. También brinda servicios empresariales como correo electrónico, acceso JNDI, integración EJB y programación.  Módulo de AOP Spring: Spring proporciona una amplia compatibilidad para la programación orientada a objetos mediante su módulo AOP. Sirve como base para desarrollar los aspectos propios de su aplicación Spring. Al igual que la DI, la AOP admite el acoplamiento débil de objetos de la aplicación. Con AOP las preocupaciones de aplicación (como las transacciones y la seguridad) se desacoplan de los objetos a los que se aplican.  Acceso de datos e integración: Los módulos JDBC y DAO de Spring permiten abstraer el código repetitivo, de forma que pueda mantener el código de su base de datos limpio y sencillo, además de evitar problemas que se produzcan por el cierre de los recursos de la base de datos.
  • 38. 37  Cuenta también con un módulo ORM (Object-Relational mapping), proporcionando conexiones a diferentes framework ORM, como Hibernate, Java Persistence API, Java Data Objects e iBatis SQL Maps.  Web y acceso remoto: El módulo de Web y acceso remoto de Spring implementa MVC, debido a que es el enfoque aceptado de forma general para la creación de aplicaciones Web. Promueve las técnicas de acoplamiento débil de Spring en nivel Web de una aplicación.  Las capacidades de acceso remoto de Spring incluyen RMI (Remote Method Invocation, Invocación de métodos remotos), Hessian, Burlap, JAX-WS, y el propio invocador HTTP de Spring también ofrece una elevada compatibilidad para exponer y consumir API REST.  Pruebas: En este módulo se encuentran implementaciones de objetos de prueba para escribir unidades de prueba para el código, que funcionan con JNDI, servlets y portlets. Para realizar pruebas a nivel de integración, este módulo permite la carga de un conjunto de bean2 en un contexto de aplicación de Spring, así como trabajar con estos en ese contexto. 2.2.7.3 BASE DE DATOS RELACIONAL SQL SERVER Microsoft SQL Server es un sistema de gestión de bases de datos relacionales (RDBMS) de Microsoft que está diseñado para el entorno empresarial desarrollado por Microsoft. El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica de Management Studio) es Transact-SQL, una implementación del estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y definir relaciones entre ellas (DDL). Se dice que el producto 2005 proporcionó una mayor flexibilidad, escalabilidad, confiabilidad y seguridad a las aplicaciones de base de datos, y permitió que fueran más fáciles de crear y desplegar, lo que reduce la complejidad y el tedio involucrado en la gestión de bases de datos. SQL Server 2005 también incluía más soporte administrativo. 2 Clase simple en Java que cumple con ciertas normas con los nombres de sus propiedades y métodos.
  • 39. 38 Actualmente se encuentra en su versión más estable la cual es SQL Server 2017(14.0) liberada en octubre del 2017. Dentro de los competidores más destacados de SQL Server están: Oracle, MariaDB, MySQL, PostgreSQL. SQL Server ha estado tradicionalmente disponible solo para sistemas operativos Windows de Microsoft, pero desde 2017 también está disponible para Linux. 2.2.8 SEGURIDAD WEB Cuando se navega a través de páginas web, se encuentran muchas vulnerabilidades en las páginas, las cuales son aprovechadas por personas malintencionadas, para su propio beneficio. Entre las tantas amenazas que se presentan tenemos al código malicioso (mayormente conocido como malware), phishing, robo de identidad, sitios web falsificados (pharming), ataques DOS/DDOS, sniffing entre otras amenazas (C. Laudon y Guercio Traver 2013). CIFRADO El cifrado es el proceso de transformar texto o datos simples en texto cifrado que no puede ser leído por nadie más que el emisor y el receptor. El propósito del cifrado es asegurar la información almacenada y asegurar la transmisión de la información. Capa de Sockets Seguros (SSL) y Seguridad de la Capa de Transporte (TLS) Los protocolos SSL y TLS permiten asegurar los canales de comunicación. Estos protocolos establecen una sesión negociada segura entre el cliente y el servidor. Una sesión negociada segura tiene como función cifrar el URL del documento solicitado, contenido, contenido de formularios, y las cookies que se van a intercambiaran.
  • 40. 39 Figura 7: Sesiones de navegación con seguridad usando TLS/SSL Fuente: C. Laudon, Kenneth, y Carol Guercio Traver. E-commerce Negocios, tecnología, sociedad. 2.2.9 CRIPTOGRAFIA (Técnica de cifrado o codificado) Es una técnica que consiste en convertir un determinado texto en claro (plaintext) en otro llamado criptograma(ciphertext), cuyo contenido es igual al texto inicial, pero solo lo pueden entender las personas autorizadas, las cuales saben cómo se ha cifrado el texto y cuentan con la clave para realizar dicha operación. Figura 8 Criptosistema Fuente: propia Se pueden distinguir tres tipos de criptografía: simétrica, asimétrica e hibrida: CanalCanal DescifradorCifrador Mensaje cifrado Mensaje Transmisor Medio de Transmisión Receptor
  • 41. 40 SIMÉTRICA Es el tipo de criptografía está basada en el uso de la misma clave para cifrar y descifrar. Características:  La clave es conocida por el emisor y receptor.  Criptografía de clave secreta.  La seguridad reside en mantener la clave en secreto. Desventajas:  El canal utilizado para el intercambio de claves deber ofrecer un nivel alto de seguridad.  Necesitan una cantidad de claves acorde al número de personas n que necesitan comunicarse entre sí, lo cual vendría a ser n/2 claves para cada pareja de personas. Figura 9: Figura 2.16 Proceso de criptografía simétrica Fuente: propia ASIMÉTRICA Este tipo de criptografía está basada en el uso de claves distintas para cifrar y descifrar. Características:  Las claves son otorgadas por la autoridad de certificación.  Ambas claves son propias de cada persona, la clave privada no se trasmite y se mantiene secreta. La clave pública en cambio puede estar a disposición de cualquier persona.  Se puede cifrar el mensaje con la clave pública y descifrar con la privada, dando confidencialidad al mensaje, ya que solo podrá ser visto por el usuario con la clave privada.
  • 42. 41 Figura 10: Proceso de criptografía asimétrica (usando clave pública para cifrado) Fuente: propia  Otra forma es cifrando el mensaje usando la clave privada y descifrar con la clave pública, lo cual no proporciona confidencialidad, pero permite identificar al usuario que realiza el cifrado al igual que lo hace una firma, y este proceso es conocido como firma digital. Figura 11: Proceso de criptografía asimétrica (usando clave privada para cifrado) Fuente: propia HÍBRIDA La criptografía hibrida resuelve los problemas de la criptografía simétrica (reparto de claves) y criptografía asimétrica(lentitud). Realiza la negociación de claves simétricas mediante criptografía asimétrica:  Emplea el cifrado de clave pública para compartir una clave para el cifrado simétrico.  El mensaje que se envía en el momento, se cifra usando la clave privada (cifrado asimétrico) y se envía al receptor.
  • 43. 42 2.2.10 AUTORIDAD DE CERTIFICACION (CERTIFICATE AUTHORITY) “La Entidad de Certificación cumple con la función de emitir o cancelar certificados digitales, así como brindar otros servicios inherentes al propio certificado o aquellos que brinden seguridad al sistema de certificados en particular o del comercio electrónico en general.” (INDECOPI 2000) MODO DE FUNCIONAMIENTO Solicitud de un certificado: La entidad solicitante completa datos identificativos y genera una pareja de clave pública/privada. Con esa información se crea un fichero que contiene la petición CSR en formato PKCS#10 y esta se hace llegar a la CA. La CA luego de verificar la información de identificación aportada y pago por certificado, envía el certificado firmado al solicitante, que lo instala en el servidor web del solicitante. Jerarquía de la certificación: Las CA cuenta con sus propios certificados públicos, de las cuales, sus claves privadas son empleadas por las CA para firmar los certificados que emiten. Un certificado de CA puede estar auto firmado cuando no cuenta con un CA de rango superior, lo cual se conoce como certificado raíz de CA (root certificate). La jerarquía de certificación es una estructura jerárquica de CAs, en que parte de un CA auto-firmada, y en cada nivel existe una o más CA que pueden firmar certificados de "entidad final" o bien certificados de otras CA subordinadas. Confianza de CA: Una de las formas por las cuales se establece la confianza en una CA para un usuario, es a través de la instalación del certificado raíz del CA en la computadora del usuario. Este proceso puede realizarse dando doble click en el fichero que contiene el certificado (en sistemas operativos Windows) y siguiendo los pasos del "asistente de importación de certificados", este proceso se repite para cada navegador que tenga la computadora. Cuando un CA está instalada en el repositorio de CAs de confianza de cada navegador, cualquier certificado firmado por dicha CA se podrá validar, ya que se dispone de la clave pública con la cual se puede verificar la firma que lleva el certificado.
  • 44. 43 2.2.11 CERTIFICADO DIGITAL Es un documento electrónico que va a permitir asociar una identidad con su clave pública. La veracidad de esta asociación la garantiza la Autoridad de Certificación (CA). El certificado contiene la siguiente información:  Versión.  Número de serie del certificado.  Identificador del algoritmo de firma.  Nombre distinguido del Emisor (Prestador de Servicios de Certificación).  Periodo de validez.  Nombre Distinguido del Sujeto (en formato DNS del Sujeto certificado).  Información de clave pública (del Sujeto certificado).  Identificador Único del Emisor.  Identificador Único del Sujeto.  Extensiones (información relacionada al Sujeto certificado).  Firma del Emisor (CA). Al día de hoy se usan los siguientes tipos de certificados:  Certificado de Autoridad de Certificación (CA), los cuales se usan para emitir certificados para usuarios.  Certificados personales, emitidos a personas físicas, se usan para realizar navegación segura, envió de correo firmado y recibir correo cifrado, inicio de sesión de dominio.  Certificado de Entidad, emitidos a entidades con o sin persona jurídica.  Certificados de Servidores: SSL, VPN, Controlador de dominio.  Certificados para firmar código y aplicaciones. Que se valida en un certificado:  Integridad: la firma es válida.  Firmado por una CA de confianza.  Certificado es válida ahora, no antes, no después.  No esta revocado.  Su uso es consistente con la política.
  • 45. 44 2.2.12 CERTIFICATE(PKI) MANAGEMENT TOOL La aplicación gratuita Certificate Management Tool de la empresa Real Time Logic, nos permite fungir como CA (Certificate Authority), lo cual nos permite emitir certificados digitales para una institución o persona en particular. Nos brinda la siguiente funcionalidad:  Crear una (o más) base de datos de certificados digitales.  Crear Certificado Raíz (Root certificate), que identifica a la institución a la cual queremos validar la identidad, este certificado se instalara en repositorio de certificados de los navegadores y/o el repositorio Windows de certificados.  Crear certificados digitales firmados por el Certificado Raíz del CA de la institución.  La gestión de la base de datos de certificados digitales se da a través de una aplicación web del fabricante, a la cual podemos acceder luego de la instalación. 2.2.13 FIRMA DIGITAL “La firma digital es aquella firma electrónica que utiliza una técnica de criptografía asimétrica, basada en el uso de un par de claves único; asociadas una clave privada y una clave pública relacionadas matemáticamente entre sí, de tal forma que las personas que conocen la clave pública no puedan derivar de ella la clave privada.” (INDECOPI 2000) La firma digital nos proporciona autenticidad, integridad y no repudio en los documentos electrónicos. Nos permite además utilizar Internet como un medio seguro para la administración electrónica y el comercio electrónico. 2.2.14 INFRAESTRUCTURA DE CLAVE PUBLICA (PKI) Es un sistema de recursos, políticas y servicios que da soporte al uso del cifrado de claves públicas para autenticar a las partes que participan en la transacción. Aunque no hay estándar individual que defina los componentes de una infraestructura de clave pública, se cuenta con el estándar X.509 que
  • 46. 45 proporciona la base para la industria estándar de la infraestructura de clave pública. En Perú, la institución que se encarga de ser Autoridad Administrativa de la infraestructura oficial de firma digital es INDECOPI. 2.2.15 ESTANDARES PARA FIRMA DIGITAL Los estándares de criptografía usados para firma digital, son los PKCS (Public-Key Cryptography Standars), que fueron concebidos y publicados por los laboratorios de RSA. Entre los principales estándares usados tenemos los siguientes: PKCS#7: Usado para firmar y/o cifrar mensajes en PKI. También se empleado para la diseminación de certificados. PKCS#11: Define un API genérico de acceso a dispositivos criptográficos. PKCS#12: Define un formato de fichero usado comúnmente para almacenar claves privadas con su certificado de clave pública protegido mediante clave asimétrica. 2.2.16 SELLADO DE TIEMPO (TIMESTAMPING) Es un proceso de llevar de manera segura, la cuenta del tiempo tanto de la creación como la modificación de un documento electrónico. Esto significa que nadie podría realizar un cambio al sellado de tiempo del documento una vez que ha sido guardado, debido a la integridad de la entidad que realiza el proceso. 2.2.17 FUNCIÓN DE HASH Una función de hash o función de resumen, son funciones que usa un algoritmo que crea a partir de una entrada, una salida alfanumérica de longitud normalmente fija que representa un resumen (hash) de toda la información que se le ha dado. Entre las características principales de las funciones de hash tenemos:  Se encargan de representar un archivo o un conjunto de datos que normalmente es de mayor tamaño que el hash independientemente del propósito de uso.
  • 47. 46  Los algoritmos que se usan, aseguran que nunca se podrá saber cuáles han sido los datos insertados, lo que indica que es una función unidireccional. Las funciones de hash son muy usadas en diversas aplicaciones, como arrays asociativos, firma digital, criptografía y procesamiento de data, entre otras aplicaciones. Entre los algoritmos empleados para hash tenemos MD5, SHA-1, SHA-2 como los más populares.
  • 48. 47 III. MARCO METODOLOGICO 3.1 TIPO DE INVESTIGACION  De acuerdo al fin que se persigue: Aplicada  De acuerdo a la metodología para demostrar la hipótesis: Descriptiva. 3.2 VARIABLES E INDICADORES Las dimensiones sobre las que se analizó el objeto de estudio fue principalmente la de mejorar y optimizar los procesos de gestión de permisos que brinda el sistema BIOSIS, de las cuales se identificaron la variable dependiente y variables independientes de nuestra hipótesis. VARIABLES CLASIFICACION NOMBRE DEPENDIENTE Proceso de gestión de permisos. INDEPENDIENTES Modelado de procesos. Funcionalidad del sistema. Calidad del sistema Pruebas de funcionamiento e integración. Tabla 1: Clasificación de Variables y descripción de indicadores Fuente: Propia Se identificaron indicadores correspondientes a cada variable independiente que estaban directamente relacionados con los problemas detectados en la investigación preliminar.
  • 49. 48 Tabla 2: Variable Dependiente y variables independientes Fuente: Propia VARIABLE. DEP. VARIABLE INDEPENDIENTE INDICADORES INSTRUMENTOS Procesodegestióndepermisos Modelado de procesos  Documentación existente del sistema.  Lista de objetivos del proceso(s)  Diagrama de modelado (diseño y/o rediseño)  Lista de roles, participantes involucrados Entrevistas Observación Directa Funcionalidad del sistema  Alcance del sistema.  Lista de requerimientos funcionales.  Lista de requerimientos no funcionales. Calidad del sistema  Cuadro de cumplimiento de los requisitos funcionales  Grado de satisfacción del cliente.  Consistencia de la interfaz. Pruebas de funcionamiento e integración  Comprobación de resultados
  • 50. 49 3.3 POBLACION Y MUESTRA La población de la presente investigación está determinada por el personal que labora en el Ministerio de Educación – Sede Lima. Como la población es pequeña, se determinó que el mismo número de elementos que conforman la población, pasan a conformar la muestra. 3.4 ESTRATEGIAS PARA LA DEMOSTRACION DE LA HIPOTESIS La naturaleza del proyecto es una investigación por objetivos, por lo que culminado la ejecución del proyecto se procederá al análisis de los resultados los cuales se contrastarán con la hipótesis y con los objetivos cumplidos. En el transcurso de la investigación se utilizarán diversos métodos que nos permitan evaluar la hipótesis, entre ellos:  Método inductivo, con el que se utilizará un marco referencial basado en casos exitosos, de otras empresas u organizaciones, lo que permitirá inducir posibles soluciones y tener en cuenta posibles inconvenientes a la problemática encontrada. 3.5 MATERIALES, HERRAMIENTAS Y EQUIPOS a) Hardware  02 laptop Intel Core i5 2.4 GHz  01 impresora EPSON L210 con sistema de tinta continúo.  01 dispositivo de almacenamiento USB.  01 disco duro externo TOSHIBA 1 Tb. b) Software  Paquete de Microsoft Office 2016.  Adobe Reader XI.  Navegadores (Google Chrome)  IntelliJ IDEA: IDE para el desarrollo de programas informáticos  SQL Server: Motor de base de datos.  Bitbucket: Repositorio web para el código.  JHipster: Generador libre y de código abierto de software para desarrollar modernas aplicaciones web. JHipster contiene: Yeoman generator, Spring boot y AngularJS. c) Acceso a internet.
  • 51. 50 d) Bibliografía.  La cual será adquirida durante el transcurso de la investigación a través de libros, documentos electrónicos, manuales y direcciones electrónicas, fotocopias.  Se utilizarán un aproximado de 2500 fotocopias entre libros, manuales y otros durante la investigación. e) Consumibles.  Tinta.  CDs. f) Útiles de oficina.  Papel bond A4 80 gramos.  Lapiceros.  Grapadora.  Perforador.  Fólderes. 3.6 TÉCNICAS, FORMATOS Y ENSAYOS PARA LA RECOLECCIÓN DE DATOS TÉCNICAS: Entre las técnicas de recolección de datos utilizadas se tienen: a) Análisis de documentos:  Análisis de documentos sobre los procesos de MINEDU.  Análisis de la bibliografía por la empresa “JUVITEC”.  Análisis de documentos internos de la Oficina de Gestión del Personal (OGEPER). b) Entrevistas: Entrevistas a coordinadores encargados de aprobar las solicitudes de permiso de las distintas áreas del ministerio de educación por considerar que dichos responsables a través de su opinión y su experiencia realizarán un significativo aporte para el desarrollo del sistema web. c) Observación directa: Se aplicó la técnica de observación directa durante las horas en que labora el personal del ministerio de educación, relacionada a los procesos en análisis. .
  • 52. 51 3.7 ANÁLISIS DE DATOS. Para el análisis de los datos obtenidos mediante las técnicas e instrumentos de recolección de datos se utilizarán herramientas como: a) Bizagi: para poder modelar los procesos propuestos de una manera unificada y estandarizada que va a permitir un mejor entendimiento del problema en análisis. b) Sprintometer: herramienta que nos servirá para gestionar el proyecto mediante la metodología Scrum, mostrando reportes de porcentajes de avances diarios, semanales y tablas con datos importantes del estado del proyecto como reportes de informes de historias de usuarios y reportes de resúmenes de los sprint.
  • 53. 52 IV. PROPUESTA DEL ESTUDIO El análisis de los resultados obtenidos durante la recolección de la información de la situación problemática de los procesos actuales, permitió identificar los requerimientos funcionales y no funcionales para luego desarrollar la aplicación Web que apoya a la gestión de permisos del sistema de control de asistencia “BIOSIS”, apoyándonos de una arquitectura de software, plataforma y metodología de desarrollo. A continuación, se presenta la propuesta del desarrollo de una Aplicación Web para apoyar la gestión de permisos del sistema de control de asistencias BIOSIS. 4.1 DESCRIPCION DE LA PROPUESTA Para el análisis y desarrollo de la aplicación web “SGP”, se realizaron entrevistas y revisión de documentación de procesos actuales, se obtuvieron los requerimientos funcionales de las entrevistas realizadas, para luego realizar el modelado de los procesos propuestos y posteriormente proponer cambios para su mejora, para la cual se utilizó la herramienta Bizagi, Se definieron los alcances de la aplicación en base a los procesos modelados propuestos. Esto sirvió como base para elaborar la información requerida por la metodología Scrum como el product backlog, historias de usuarios, sprints. Este proceso de desarrollo se analizó con la herramienta Sprintometer, la cual nos permitió obtener información relevante de porcentajes de avance de la aplicación y de esta manera poder reducir y corregir los riesgos que se presentan en la etapa de planificación, lo que muchas veces son cambiantes, para lo cual Scrum se adapta muy bien a proyectos flexibles con tiempos de entrega muy cortos. Se definieron de la misma manera la plataforma de desarrollo y la arquitectura de software a utilizar durante el proceso de desarrollo de la aplicación web “SGP”, se realizó el estudio para el uso de certificados digitales para que las autoridades designadas por la aplicación, puedan aplicar firma digital a las solicitudes de permiso aprobadas, de esta forma darle seguridad y validez frente a cualquier incidencia. Para finalizar se realizaron las pruebas de funcionamiento del software por comprobación de resultados, además de las pruebas de integración con el sistema “BIOSIS” y poder verificar la mejora en el proceso de Gestión de Permisos.