UNIVERSIDAD POLITÉCNICA SALESIANA SEDE CUENCA - Repositorio Institucional de … · 2020. 1....

117
UNIVERSIDAD POLITÉCNICA SALESIANA SEDE CUENCA CARRERA DE INGENIERÍA DE SISTEMAS PROYECTO TÉCNICO: “ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE FIRMAS ELECTRÓNICAS EN DOCUMENTOS INSTITUCIONALES Y LA VERIFICACIÓN MEDIANTE DIRECCIONAMIENTO CON CÓDIGOS QR PARA LA UNIVERSIDAD POLITÉCNICA SALESIANAAUTORES: DIANA CAROLINA MATOVELLE ROMERO EDWIN GERMÁN SERRANO ESPINOZA TUTOR: ING. MAURICIO SERGIO ORTIZ OCHOA CUENCA ECUADOR 2019 Trabajo de titulación previo a la obtención del título de Ingeniero de Sistemas

Transcript of UNIVERSIDAD POLITÉCNICA SALESIANA SEDE CUENCA - Repositorio Institucional de … · 2020. 1....

UNIVERSIDAD POLITÉCNICA SALESIANA

SEDE CUENCA

CARRERA DE INGENIERÍA DE SISTEMAS

PROYECTO TÉCNICO:

“ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE FIRMAS

ELECTRÓNICAS EN DOCUMENTOS INSTITUCIONALES Y LA

VERIFICACIÓN MEDIANTE DIRECCIONAMIENTO CON

CÓDIGOS QR PARA LA UNIVERSIDAD POLITÉCNICA

SALESIANA”

AUTORES:

DIANA CAROLINA MATOVELLE ROMERO

EDWIN GERMÁN SERRANO ESPINOZA

TUTOR:

ING. MAURICIO SERGIO ORTIZ OCHOA

CUENCA – ECUADOR

2019

Trabajo de titulación previo

a la obtención del título de

Ingeniero de Sistemas

2 |

CESIÓN DE DERECHOS DE AUTOR

Nosotros, Diana Carolina Matovelle Romero con documento de identificación Nº

0301867735 y Edwin Germán Serrano Espinoza con documento de identificación Nº

0302490776, manifestamos nuestra voluntad y cedemos a la Universidad Politécnica

Salesiana la titularidad sobre los derechos patrimoniales en virtud de que somos autores

del trabajo de titulación: “ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE

FIRMAS ELECTRÓNICAS EN DOCUMENTOS INSTITUCIONALES Y LA

VERIFICACIÓN MEDIANTE DIRECCIONAMIENTO CON CÓDIGOS QR

PARA LA UNIVERSIDAD POLITÉCNICA SALESIANA”, mismo que ha sido

desarrollado para optar por el título de Ingeniero de Sistemas, en la Universidad

Politécnica Salesiana, quedando la Universidad facultada para ejercer plenamente los

derechos cedidos anteriormente.

En aplicación a lo determinado en la Ley de Propiedad Intelectual, en nuestra

condición de autores, nos reservamos los derechos morales de la obra antes citada. En

concordancia, suscribimos este documento en el momento que hacemos entrega del

trabajo final en formato digital a la biblioteca de la Universidad Politécnica Salesiana.

Cuenca, noviembre del 2019

__________________________

Diana Carolina Matovelle Romero

C.I: 030186773

__________________________

Edwin Germán Serrano Espinoza

C.I: 0302490776

3 |

CERTIFICACIÓN

Yo, declaro que bajo mi tutoría fue desarrollado el trabajo de titulación:

“ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE FIRMAS ELECTRÓNICAS

EN DOCUMENTOS INSTITUCIONALES Y LA VERIFICACIÓN MEDIANTE

DIRECCIONAMIENTO CON CÓDIGOS QR PARA LA UNIVERSIDAD

POLITÉCNICA SALESIANA”, realizado por Diana Carolina Matovelle Romero y

Edwin Germán Serrano Espinoza, obteniendo el Proyecto Técnico que cumple con

todos los requisitos estipulados por la Universidad Politécnica Salesiana

Cuenca, noviembre del 2019

__________________________

Ing. Mauricio Sergio Ortiz Ochoa

C.I.: 0103667754

4 |

DECLARATORIA DE RESPONSABILIDAD

Nosotros, Diana Carolina Matovelle Romero con documento de identificación Nº

0301867735 y Edwin Germán Serrano Espinoza con documento de identificación Nº

0302490776, autores del trabajo de titulación: “ANÁLISIS, DISEÑO E

IMPLEMENTACIÓN DE FIRMAS ELECTRÓNICAS EN DOCUMENTOS

INSTITUCIONALES Y LA VERIFICACIÓN MEDIANTE

DIRECCIONAMIENTO CON CÓDIGOS QR PARA LA UNIVERSIDAD

POLITÉCNICA SALESIANA”, certificamos que el total contenido del Proyecto

Técnico, es de nuestra exclusiva responsabilidad y autoría.

Cuenca, noviembre del 2019

__________________________

Diana Carolina Matovelle Romero

C.I.: 030186773

__________________________

Edwin Germán Serrano Espinoza

C.I.: 0302490776

5 |

AGRADECIMIENTOS

El primer lugar queremos dar un grato y profundo agradecimiento a la Universidad

Politécnica Salesiana, que como Institución Educativa Superior nos brindó su formación

académica, la cual nos permitió obtener conocimientos y grandes enseñanzas que serán

aplicadas en un futuro. A cada uno de nuestros docentes, quienes día a día compartieron

sus conocimientos, enseñanzas y anécdotas de sus vidas profesionales que nos

permitieron crecer como personas de bien y sobretodo tener una visión de lo que conlleva

la profesión de Ingenieros en Sistemas.

A nuestros compañeros y amigos quienes en conjunto hemos cursado cada uno de las

etapas de nuestra vida universitaria, gracias por el apoyo desinteresado que nos brindaron

en el trascurso de nuestra formación académica.

Un agradecimiento de manera personal al Departamento de TI de la Universidad

Politécnica Salesiana, quienes nos acogieron con los brazos abiertos para el desarrollo de

este proyecto.

De manera especial agradecemos al Ing. Mauricio Ortiz y al Ing. Jorge Cabrera, por

todo el tiempo, saberes y apoyo brindado para la culminación de este proyecto de

titulación; y sobre todo darnos la oportunidad de adquirir nuevos conocimientos que serán

empleados en nuestra vida profesional.

6 |

RESUMEN

En la actualidad, la automatización de los procesos es cada vez más necesaria en las

instituciones, ya que con su implementación buscamos un mejor rendimiento o servicio

brindado, con el objetivo de ofrecer a los usuarios finales herramientas que estén a su

disposición todo el tiempo, a su vez reduciendo tiempos considerables para acceder a

servicios, evitando sobre todo traslados y la interacción con el personal administrativo de

la institución. El uso del sistema está proyectado para los estudiantes que cursan carreras

en línea ofertadas por la institución, las mismas que son cursadas por estudiantes, que su

lugar de residencia es muy distante al de las instalaciones de la Universidad Politécnica

Salesiana cuando requieren realizar trámites académicos o administrativos, sin embargo,

puede ser usado por cualquier estudiante sin importar la modalidad de la carrera en la cual

se encuentre inscrito.

Este proyecto de titulación aporta los distintos beneficios que trae la implementación

de la firma electrónica, proporcionando una base teórica informativa de los distintos

conceptos y herramientas utilizadas para la implementación de esta, en los certificados

emitidos por la Universidad Politécnica Salesiana.

Según la Ley 67, LEY DE COMERCIO ELECTRÓNICO, FIRMAS

ELECTRÓNICAS Y MENSAJES DE DATOS en el Art. 14“La firma electrónica tendrá

igual validez y se le reconocerán los mismos efectos jurídicos que a una firma manuscrita

en relación con los datos consignados en documentos escritos, y será admitida como

prueba en juicio.” Teniendo en cuenta este Art. 14, consideramos que una firma

electrónica asignada a una persona natural o jurídica es totalmente similar a la firma

manuscrita ante la ley. Ya que la firma es totalmente individual y la misma debe estar

vinculada a un solo titular de la firma por seguridad.

7 |

Según lo mencionado con anterioridad la firma electrónica tiene el respaldo suficiente

para confiar en la implementación de ella en documentos institucionales, además de la

implementación de códigos QR para la verificación de los certificados emitidos y sobre

todo para tener conocimiento de la información de la persona a la cual solicitó el

certificado, en este caso, los estudiantes.

Como resultado buscamos mejorar y automatizar la obtención de certificados

académicos por parte de los estudiantes, a través de la implementación de tecnologías que

están presentes y al servicio de todos.

Palabras clave: Firma electrónica, automatización, seguridad, certificación electrónica,

códigos QR.

8 |

ÍNDICE

RESUMEN ....................................................................................................................... 6

INTRODUCCIÓN .......................................................................................................... 12

CAPÍTULO 1. Justificación y Objetivos ....................................................................... 14

1.1 Descripción del problema .......................................................................................... 15

1.1.1 Antecedentes ....................................................................................................................... 15

1.1.2 Importancia y Alcance ........................................................................................................ 15

1.1.3 Delimitación ....................................................................................................................... 16

1.2 Objetivos .................................................................................................................... 17

1.2.1 Objetivos General ............................................................................................................... 17

1.2.2 Objetivos Específicos ......................................................................................................... 17

CAPÍTULO 2. Marco Teórico ....................................................................................... 19

2.1. Fundamentos Teóricos ..................................................................................................... 20

2.1.1. Certificado Electrónico ........................................................................................................... 20

2.1.2. Firma Electrónica .................................................................................................................... 20

2.1.3. Código QR .............................................................................................................................. 26

2.2. Fundamentos Tecnológicos ............................................................................................. 31

2.2.1. SCRUM .................................................................................................................................. 31

2.2.2. Arquitectura N-Capas ............................................................................................................. 33

2.2.3. Wildfly .................................................................................................................................... 34

2.2.4. Servidor Apache...................................................................................................................... 35

2.2.5. Oracle DataBase...................................................................................................................... 35

2.2.6. Bitbucket ................................................................................................................................. 36

9 |

2.2.7. Sourcetree ............................................................................................................................... 36

2.2.8. Jira ........................................................................................................................................... 37

2.2.9. Netbeans .................................................................................................................................. 38

CAPÍTULO 3. Análisis, diseño e implementación ....................................................... 39

3.1. Aprendizaje de las herramientas ...................................................................................... 40

3.2. Metodología ..................................................................................................................... 40

3.3. Levantamiento de requerimientos ................................................................................... 43

3.4. Esquema del proyecto ...................................................................................................... 45

3.5. Desarrollo del Sistema ..................................................................................................... 47

3.5.1. Arquitectura de la aplicación .................................................................................................. 47

3.5.2. Diseño de la base de datos ...................................................................................................... 49

3.5.2. Control de sesión de estudiantes o coordinadores ................................................................... 50

3.5.2. Identificación de Roles............................................................................................................ 51

3.5.4. Creación del Certificado ......................................................................................................... 51

3.5.5. Creación del código QR .......................................................................................................... 52

3.5.5. Incorporación de la Firma Electrónica al documento PDF ..................................................... 53

CAPÍTULO 4. Análisis de Resultados .......................................................................... 57

4.1. Solicitud del certificado .................................................................................................. 58

4.2. Generar Prefectura ........................................................................................................... 61

4.3. Imprimir el certificado ..................................................................................................... 61

4.3.1. Filtrados de Datos ................................................................................................................... 62

4.3.2. Condiciones para reimprimir el Certificado ............................................................................ 63

4.4. Certificados a emitir ......................................................................................................... 64

4.4.1. Certificado de Matrícula ......................................................................................................... 64

4.4.2. Certificado de Calificaciones .................................................................................................. 65

10 |

4.5. Verificar la validez del certificado emitido...................................................................... 66

4.6. Prueba de errores de la Firma Electrónica ...................................................................... 67

4.7. Pruebas realizadas en SonarQube ................................................................................... 68

CAPÍTULO 5. Conclusiones y Recomendaciones ....................................................... 71

REFERENCIAS ............................................................................................................. 74

ANEXOS ........................................................................................................................ 77

11 |

ÍNDICE DE ILUSTRACIONES

Figura 1: Estructura del código QR ................................................................................ 30

Figura 2: Principios de Scrum ........................................................................................ 31

Figura 3: Arquitectura N-Capas ..................................................................................... 33

Figura 4: Tareas en JIRA ................................................................................................ 42

Figura 5: Tareas en SOURCETREE .............................................................................. 43

Figura 6: Esquema del Proyecto ..................................................................................... 46

Figura 7: Arquitectura de la aplicación .......................................................................... 47

Figura 8: Diseño de la base de datos .............................................................................. 49

Figura 9: Código necesario para creación del QR-Code ................................................ 52

Figura 10: Campos necesarios para almacenar las firmas electrónicas en la Base de

Datos ............................................................................................................................... 53

Figura 11: Firma Electrónica incluida en el PDF ........................................................... 55

Figura 12: Propiedades de la Firma Electrónica ............................................................. 56

Figura 13: Ventana principal .......................................................................................... 58

Figura 14: Ventana para solicitar un certificado ............................................................ 59

Figura 15: Ventana para ingresar campos necesarios para la solicitud del certificado .. 59

Figura 16: Ventana de confirmación .............................................................................. 60

Figura 17: Ventana notificación al estudiante de que el certificado fue solicitado ........ 60

Figura 18: Correo que recibe el estudiante ..................................................................... 61

Figura 19: Ventana para reimpresión de certificados ..................................................... 62

Figura 20: Filtrados por tipo de certificado .................................................................... 62

Figura 21: Filtrados por tipo de certificado y periodo emitido ...................................... 63

Figura 22: Descargar archivo ......................................................................................... 63

Figura 23: Certificado de Matrícula ............................................................................... 64

Figura 24: Certificado de Calificaciones ........................................................................ 65

Figura 25: Firma Electrónica y código QR .................................................................... 66

Figura 26: Contenido del certificado al escanear el código QR ..................................... 66

Figura 27: El certificado a excedido la fecha de validez ................................................ 67

Figura 28: Error por la fecha de caducidad de la Firma Electrónica .............................. 67

Figura 29: Error por la contraseña para el uso de Firma Electrónica ............................. 68

Figura 30: Resultado obtenido de Sonarqube ................................................................. 69

Figura 31: Resultado obtenido de Sonarqube ................................................................. 70

Figura 32: Resultado obtenido de Sonarqube ................................................................. 70

Figura 33: Proceso de Pago ............................................................................................ 85

Figura 34: Software a instalar. ........................................................................................ 89

12 |

INTRODUCCIÓN

La implementación de sistemas automatizados de los procesos que se llevan a cabo

dentro de una organización ayudan al aumento de la productividad de los empleados, a la

reducción de costos y como una alternativa para la reducción de errores, pero sobre todo

un aspecto importante que es la reducción de tiempos en buscar la resolución de esos

procesos por parte de los usuarios.

En la actualidad, empresas que no posean herramientas o mecanismos que lleven a la

automatización de procesos y que busquen la facilidad para los usuarios de utilizar esos

servicios, son empresas que no se le ve un futuro próspero, ya que la implementación de

la TI generan una ventaja competitiva para la gestión de volúmenes altos de usuarios.

Ahora, si bien es cierto que la implementación de estos procesos autónomos son de

gran ayuda para la organización, se debe buscar que los mismos no tengan una

complejidad alta para los usuarios finales, con el fin de lograr un ambiente amigable con

el usuario y sobre todo funcional.

A partir de ello, se implementa un sistema que busque la automatización de los

procesos de obtención de certificados emitidos por la Universidad Politécnica Salesiana,

con la finalidad de reducir los tiempos que el personal administrativo y estudiantes tardan

en la obtención de los certificados, esto dejando aparte la incómoda situación de

movilidad hacia la institución para la obtención de documentos por parte de los

estudiantes, para ello, los estudiantes poseerán una adaptación al sistema implementando

la certificación Electrónica.

Otro aspecto importante que hay que tener en cuenta es la validez de los documentos

emitidos, es decir buscar mecanismos innovadores que como objetivo primordial sea la

supresión de tareas manuales como es el caso de una firma manuscrita que actualmente

está siendo sustituida por la firma electrónica que da validez al documento y seguridad

13 |

del emisor de la firma como del que recibe el certificado o la institución a la que va

dirigida.

Finalmente, la implementación de códigos QR en los certificados generados permitirá

corroborar que el certificado materializado fue emitido por la institución y que no está

sujeto a una falsificación o de una alteración por parte de personas inescrupulosas.

14 |

CAPÍTULO 1.

Justificación y

Objetivos

15 |

1.1 Descripción del problema

1.1.1 Antecedentes

Los procesos de emisión de certificados que proporciona la Universidad

Politécnica Salesiana son reportes impresos que deben ser validados mediante una

firma manuscrita, ya sea de la Secretaria de campus o de la Secretaria general. Es

decir, no existe una forma de acceder a estos servicios por parte de los estudiantes

de una manera directa y en línea. Lo que conlleva a la formación de filas de personas

solicitando documentos necesarios para procesos externos que llevan a cabo los

estudiantes fuera de la Universidad, esto genera una pérdida de tiempo tanto del

usuario como de la institución. Cabe recalcar que, en la mayoría de los casos, estos

procesos se retrasan debido a la cantidad de certificados que se tienen que emitir,

generando una carga administrativa importante, debido a que el documento para

que sea legal deberá poseer una firma del representante de la institución.

1.1.2 Importancia y Alcance

La necesidad de fomentar la incorporación de nuevas herramientas tecnológicas

con un alto grado de seguridad ha hecho que se implementen firmas electrónicas en

los documentos, ya que es una de las mejores opciones para evitar la firma

manuscrita, minimizando así el proceso y con ello los usuarios adquirirán confianza

en la realización de trámites.

El manejo de documentos en la organización es significativo ya que firmar

documentos es una de las tareas más comunes. La inclusión de la firma electrónica

dentro de la organización es con el propósito de aumentar el nivel de seguridad y

responsabilidad en los documentos que serán emitidos.

16 |

1.1.3 Delimitación

Los sistemas de certificación electrónica se enfocan en integrar nuevas

metodologías a la Universidad Politécnica Salesiana, validando y automatizando la

emisión de documentos institucionales. Esto mediante la implementación de la

firma electrónica que contenga validez jurídica comprobable, en términos del

aseguramiento de la identidad de quienes firman o emiten dichos documentos.

Además de ser una función importante y novedosa, ayuda a disminuir riesgos

por adulteración de documentos digitales, asegurando a los usuarios finales que esta

metodología de firmas da autenticidad, integridad, no repudio y confidencialidad

en los trámites que realice.

Según (Tecnología, 2005) se especifica en la Ley N° 8454 “Ley de Certificados,

Firmas Digitales y Documentos Electrónicos”

“Todo documento, mensaje electrónico o archivo digital asociado a una firma

digital certificada se presumirá, salvo prueba en contrario, de la autoría y

responsabilidad del titular del correspondiente certificado digital, vigente en el

momento de su emisión. No obstante, esta presunción no dispensa el cumplimiento

de las formalidades adicionales de autenticación, certificación o registro que,

desde el punto de vista jurídico, exija la ley para un acto o negocio determinado.”

Dentro del no repudio tenemos dos aspectos a considerar, el primero es por parte

del usuario, que no puede negar que él realizó una transacción directamente ya que

solo ese usuario posee el certificado digital con la llave privada; otro aspecto que

consideramos es el no repudio del sistema, cabe la posibilidad que el sistema genere

17 |

un recibo firmado digitalmente de la transacción. Este recibo le sirve al usuario o a

la persona que solicite el recibo poder probar que realizó una transacción.

Este proceso de emisión de documentos con firma electrónica actualmente no

está implementado en la Universidad Politécnica Salesiana, lo que buscamos es

incorporar esa función extra para evitar el traslado y acumulación de estudiantes al

momento de solicitar documentos a la institución. Sobre todo aportando una

herramienta útil y necesaria para los estudiantes que cursan carreras en línea. En la

mayoría de los casos el acceso a este tipo de documentación no está a su alcance de

una manera remota, ya que para solicitarlos es necesario acercarse a las

instalaciones de la Universidad.

Al proporcionar o incorporar el sistema a la Universidad Politécnica Salesiana

se verán beneficiados los solicitantes de estos certificados o documentos, que en

este caso serán los estudiantes, y sin lugar a duda también serán beneficiarios las

personas encargadas del área administrativa que no gastan su esfuerzo y sobre todo

tiempo realizando procesos que buscamos automatizar.

1.2 Objetivos

1.2.1 Objetivos General

Desarrollar un sistema que implemente la firma electrónica en documentos emitidos

por la Universidad Politécnica Salesiana, incorporando el código QR para la

verificación del documento.

1.2.2 Objetivos Específicos

Estudiar y conocer el manejo de las herramientas de desarrollo que se

emplearán.

18 |

Desarrollar instructivos que facilitarán el aprendizaje de estas herramientas

que van a ser usadas.

Elaborar y especificar los requerimientos de software dentro de la

Universidad.

Diseñar e implementar el software.

Elaborar, especificar y ejecutar un plan de pruebas donde se resolverán los

conflictos en el software.

Capacitar al personal sobre el manejo de este software, quienes se

encargarán de la explotación y puesta en marcha del sistema.

19 |

CAPÍTULO 2.

Marco Teórico

20 |

2.1. Fundamentos Teóricos

2.1.1. Certificado Electrónico

Según (RAE, 2016) “Un certificado es un documento acreditativo de una situación o

realidad, ordinariamente de hecho, que consta fehacientemente a la entidad que la emite,

sea pública o privada”

Según (RAE, 2019) “Un certificado electrónico reconocido es un documento firmado

electrónicamente por un prestador de servicios de certificación que vincula unos datos

de verificación de firma a un firmante y confirma su identidad”

En la actualidad, cada vez son más las organizaciones que se incorporan al

reclutamiento digital y a la implementación de certificados electrónicos; estos se han

convertido en una herramienta valiosa para desarrollo social y económico tanto en el

ámbito público como en el ámbito privado de los países en desarrollo.

El certificado electrónico avala la información personal del usuario, organismo o

servicio mediante la legalización del documento y su veracidad. Este está vinculado a una

firma electrónica que está compuesta por algoritmos de encriptación que permiten cifrar

y descifrar la información protegiendo la identidad y autoría del firmante, con esto se

garantiza la seguridad, confidencialidad, integridad, transparencia y no repudio en los

procesos electrónicos de la institución. (Palomeque Ávila, 2015)

2.1.2. Firma Electrónica

2.1.2.1. Concepto

La Firma electrónica es un mecanismo técnico emitido por una entidad de certificación

acreditada que permite la transformación de un mensaje utilizando métodos de

criptografía, de tal forma que la persona que reciba el mensaje lo recepta encriptado con

21 |

la clave privada del firmante, y solamente podrá leerlo sí posee la clave pública. (Ordoñez

Guichay, 2010)

Se implementa la firma electrónica en documentos digitales, el cual vincula la firma

electrónica con una persona que solicitó con anterioridad a la entidad certificadora, esta

firma es en su totalidad similar a la firma manuscrita de la persona propietaria de la firma

electrónica, teniendo la misma validez legal.

Otro aspecto por considerar es que los documentos firmados electrónicamente

permiten a las instituciones almacenar de una manera segura la información del

certificado, como también lo puede ser para la facilidad de acceder a ella mediante

sistemas que estén disponibles a todo momento para el servicio de los usuarios.

Los documentos que contengan la firma electrónica tendrán que cumplir con las

siguientes condiciones o satisfacer las necesidades para que el documento posea una

validez legal:

Integridad: Cuando el documento sea generado y firmado electrónicamente, este

no podrá ser modificado o alterado una vez que la firma haya sido impregnada en

el documento.

Autenticidad: El receptor tendrá la certeza que el documento contendrá la firma

de la persona titular a quien le fue solicitado el documento o quien realizó la

emisión de este.

No repudio: Hace referencia al emisor del documento que fue firmado

electrónicamente, el cual no puede negarse haber firmado, ante el receptor del

documento. (Moran, 2011)

Según el Banco Central del Ecuador, el uso de la firma electrónica es vital para el

desarrollo y expansión del comercio electrónico en el país, dotando de una protección

jurídica y técnica a los documentos, sin embargo, no es aplicada solo para lo que es

22 |

transacciones electrónicas, si no que muchos usuarios tendrán la posibilidad de realizar

una amplia gama de trámites, documentos institucionales y demás, sin la molesta

necesidad de desplazarse para legalizar sus operaciones.

A continuación, se podrá ver que la implementación de las firmas electrónicas en

documentos institucionales trae consigo los siguientes beneficios:

Ahorro de dinero y tiempo.

Desarrollo de la Sociedad de la Información, del Comercio Electrónico y el

eGovernment.

Desarrollo Banca en Línea.

Agilizar la tramitología del Estado.

Protección jurídica.

Reducción en volumen de papeleo, correo, fax y otros gastos fijos.

Mejor utilización de espacios físicos.

Reducción en tiempos operativos.

Protección tecnológica.

Desmaterialización de valores y documentos.

Agilitar los negocios y trámites (incrementa productividad).

Disminución considerable de costos (materiales, mano de obra, etc).

Contribuye con el medio ambiente.

Mejorar la competitividad.

Evita las colas y los desplazamientos para realizar ciertas gestiones.

Ahorra costes en el envío de documentos.

Agiliza y disminuye el papeleo.

Protege de posibles suplantaciones de personalidad en la red. (Banco

Central Del Ecuador, 2019)

23 |

2.1.2.2. Entidades certificadoras de información

Las entidades certificadoras son empresas o personas jurídicas que emiten certificados de

firmas electrónicas y pueden prestar otros servicios relacionados con la firma electrónica.

(Rubio, 2015)

En Ecuador existen las siguientes Entidades Certificadoras acreditadas ante el

CONATEL (Consejo Nacional de Telecomunicaciones):

El Banco Central del Ecuador: y Registro Civil: Son Entidades de

Certificación de Información acreditada por el Consejo Nacional de

Telecomunicaciones. Emite certificados digitales de firma electrónica y

otros servicios relacionados con la certificación electrónica para el Sector

Público, Personas Jurídicas y Personas Naturales; garantizando la seguridad

jurídica y tecnológica en entornos electrónicos.

Los certificados de firma electrónica que ofrece son:

Token (Dispositivo seguro USB), ideal para transacciones en donde el

usuario a través de una clave de mínimo 8 dígitos (PIN Token), posee

físicamente dicho dispositivo al momento de hacer cada transacción

funciona en ambientes Windows preferentemente, en otras plataformas es

necesario conocer su compatibilidad de acuerdo al modelo y versión de

sistema operativo.

Archivo, ideal para realizar transacciones de forma masiva, se lo puede

colocar en un servidor o en computador. El usuario debe proteger en todo

momento dicho archivo y las copias que realice del mismo, el certificado

posee una clave de acceso.

24 |

HSM (Hardware Security Module), dispositivo de alta seguridad que

permite realizar varias transacciones por segundo (transacciones de forma

masiva), cumple con altos estándares de seguridad.

ROAMING, le permite realizar operaciones mediante el uso del

applet publicado por la ECIBCE o un aplicativo opcional llamado ESP

(Control de estabilidad). (Banco Central Del Ecuador, 2019)

2.1.2.3. Costo de un Certificado Digital

El Banco Central del Ecuador nos permite elegir cómo deseamos poseer nuestro

certificado para poder realizar las firmas en documentos que emitimos a los usuarios,

teniendo varias opciones y de costos distintos como se muestra a continuación que son

precios oficiales del banco central (Banco Central Del Ecuador, 2019):

TOKEN - vigencia 2 años

Emisión del Certificado de Firma Electrónica (token) $ 30,00 + iva

Dispositivo Portable Seguro - Token $ 26,00 + iva

TOTAL $ 56,00 + iva

Renovación del Certificado (válido por 2 años) $ 15,00 + iva

HSM - vigencia 3 años

Emisión del Certificado de Firma Electrónica (HSM) $ 90,00 + iva

HSM - Puede adquirir a distribuidores locales -----------------

Renovación del Certificado (válido por 3 años) $ 90,00 + iva

Nota: El modelo de HSM debe ser compatible con la plataforma PKI del Banco Central

del Ecuador.

25 |

ARCHIVO - vigencia 1 año

Emisión del Certificado de Firma Electrónica (Archivo) $ 15,00 + iva

TOTAL $ 15,00 + iva

Renovación del Certificado (válido por 1 año) $ 15,00 + iva

ROAMING - vigencia 2 años

Emisión del Certificado de Firma Electrónica (Roaming) $ 30,00 + iva

TOTAL $ 30,00 + iva

Renovación del Certificado (válido por 2 años) $ 15,00 + iva

OTRAS TARIFAS

Aplicativo ESP (Entrust Security Provider) - Opcional

Usuarios Roaming

$ 25,00 + iva

Dispositivo Token ECIBCE $ 26,00 + iva

2.1.2.4. Seguridad de los esquemas de Firma Electrónica

En la firma electrónica, el firmante posee dos llaves, una pública y una privada, además

se requiere de dos procesos uno de cifrado y otro de descifrado. Existen diversos

criptosistemas que se han propuesto para llevar a cabo el proceso de generación y

verificación de firma digital, en los que se definen los algoritmos para generar las llaves

pública/privada y los algoritmos de cifrado/descifrado.

En general, cualquier esquema de firma digital resulta ser lento, ya que los algoritmos

de cifrado, descifrado y generación de llaves pública y privada realizan diversas

operaciones en campos finitos con números de 512, 1024 o 2048 bits, dependiendo del

nivel de seguridad que se maneje y del algoritmo usado.

26 |

Actualmente, existen APIs para la incorporación de estos algoritmos en aplicaciones

para distintas tecnologías (Java, .NET, Web, etc.), pero es necesario un claro

entendimiento de cómo operan los esquemas de firma digital a fin de conseguir no solo

implementaciones eficientes sino también implementaciones seguras. (Miguel Morales

Sandoval, 2013)

Infraestructura de la llave pública

Los certificados digitales son emitidos por una autoridad certificadora, en la cual se

confía y es ella quién verifica que una llave pública particular está asociada con un

individuo específico, quién posee la llave privada con la que éste genera las firmas

digitales.

Los certificados digitales tienen un periodo de validez, aunque también pueden

revocarse. Cuando se verifica una firma digital, se debe garantizar que el certificado

usado en el proceso de verificación es auténtico y no ha sido revocado. La creación y

administración de certificados digitales requiere de una infraestructura, que se conoce

como PKI (Public Key Infraestructure). Una PKI es el conjunto del hardware, software,

recursos humanos, políticas y procedimientos que se necesitan para crear, administrar,

distribuir, usar, almacenar y revocar certificados digitales. (Miguel Morales Sandoval,

2013)

2.1.3. Código QR

Concepto

Un código QR es un código de respuesta rápida que permite almacenar información

en una matriz de puntos bidimensional. La información que puede contener un código

QR es: mensajes de texto, direcciones de Internet, puntos geograficos a modo de

27 |

coordenadas de GPS, tarjetas de visita virtuales (vCard) o incluso tienen la posibilidad de

hacer llamadas o envios de mensajeria SMS a un telefono móvil. (Román, 2012)

El código QR puede estar presente en forma impresa o en una pantalla y para acceder

a la información que almacena, es necesario contar con un telefono móvil que tenga

camara de fotos, instalado un programa lector de códigos QR. El código QR se presenta

de forma cuadrada y puede ser facilmente identificado por su patrón de cuados oscuros y

claros en tres de las esquinas del simbolo. (Huidobro, 2009)

En la actualidad, gracias a la nueva generación de smartphones, se ha podido apreciar

el incremento del uso de estos códigos debido a la facilidad que aporta para los usuarios,

dejando de introducir datos de forma manual a traves del teclado del telefono, por lo que

tambien se abre una puerta muy interesante al campo del acceso a la información rápida

y segura.

Características

Los códigos tienen características tales como: redireccionar a una página web, realizar

una llamada telefónica, mostrar un texto informativo, enviar un mensaje a un número

telefónico, enviar correos y almacenar la información de un contacto: nombre, apellidos,

telefono, pagina web, correo electrónico, dirección postal, etc. (Román, 2012)

Dado que el código QR puede generar diversos tipos de caracteres, se debe realizar un

análisis que permita determinar la información que se desea almacenar. Tiene la función

de corregir errores y se pueden restaurar los datos si la parte del código esta danada o

manchada. Como maximo, se puede restaurar hasta el 30%. (Huidobro, 2009)

28 |

Ventajas principales de los códigos QR

Alta capacidad de codificación de datos: hasta 7.089 caracteres numericos o 2.953

bytes.

Decodificación sencilla y a alta velocidad: desde lectores hardware o aplicaciones

software.

Mayor densidad de datos y poco espacio necesario para impresión del código.

Adaptabilidad del código a los datos: tamano en puntos de la matriz segun

contenido almacenado.

Soporte de multiples lenguajes y códigos de caracteres: numericos, alfanumericos,

binarios, escrituras Kanji, Kana, Hiragana, o cualquier formato de datos mediante

la definición de extensiones.

Facilidad de lectura del código

Confidencialidad: facilidad de cifrado del código QR.

Popularización de su uso gracias a diversos factores: publicación de

especificaciones; gratuidad de uso; integración con dispositivos móviles;

aplicación fuera del entorno indus- trial; robustez; etc. (Huidobro, 2009)

Estructura del código QR

El código QR consta de la siguiente estructura:

Símbolo: Representación bidimensional de un código QR.

Módulos: Cuadros negros o blancos, que representan el 0 y el 1 binario

respectivamente. Los módulos estan ubicados en una estructura cuadrada, que

contiene dos grandes bloques de módulos: los patrones de función y la región de

codificación.

29 |

Patrones de función: Conjunto de módulos que no contienen datos codificados,

sino información necesaria para su decodificación. Son de varios tipos:

1. Patrón de localización: patrón de función que existe por

triplicado en el simbolo, situado en las esquinas superiores y la

inferior izquierda. Sirven para calcular la orientación rotacional

del simbolo.

2. Patrón de alineamiento: secuencia alternada de módulos blancos

y negros que ayuda a calcular las coordenadas de los módulos

del simbolo.

3. Patrón temporizador: patrón de función que permite

resincronizar las coordenadas de mapeo del simbolo ante

posibles distorsiones moderadas.

4. Separador: patrón de función formado por módulos blancos,

cuyo ancho es de un módulo y que separa los patrones

localizadores del resto del símbolo.

Los datos codificados, se agrupan en conjuntos de 8, denominados codewords, que

adoptan diversas formas según su ubicación en la estructura. La región de codificación es

la región del símbolo ocupada por codewords de datos y de corrección de errores, asi

como por la información de formato y versión. (Ordoñez Luque, 2012)

30 |

Figura 1: Estructura del código QR

Aplicaciones de los códigos qr

Los códigos QR son utilizados en diversas áreas ya sea en la industria para gestión de

logistica y en control de inventarios, como en el área de la sociedad, ya sea en publicidad

personalizada y geolocalizada, educación, ocio, arte, etc.

Gracias a la facilidad de decodificación de los simbolos, instalación y uso de software

decodificador de códigos QR en dispositivos móviles con camara, ha permitido que se

extienda las posibilidades de personalización de aplicaciones.

En el campo del arte han creado obras basadas en códigos QR (pinturas, esculturas,

arte funcional). Igualmente tambien se emplean simbolos QR en el campo del ocio,

integrandolos de diversas formas en pasatiempos cotidianos.

La creación de simbolos QR atractivos se ha convertido en una prioridad en las

estrategias de marketing. Existe una gran variedad de generadores de simbolos QR

gratuitos, muchos de ellos utilizables en linea desde cualquier navegador de internet.

(Ordoñez Luque, 2012)

31 |

2.2. Fundamentos Tecnológicos

2.2.1. SCRUM

SCRUM es un proceso de la metodología ágil que tiene la finalidad de crear ciclos

breves para el desarrollo de un proyecto, conmunmente se llama iteraciones en equipo.

Estas iteraciones ayudan a realizar un seguimiento diario de los avances del proyecto,

logrando la productividad y calidad en sus procesos para obtener el mejor resultado

posible de un proyecto.

2.2.1.1. Principios de SCRUM

Figura 2: Principios de Scrum (Salazar, 2016)

Control del proceso empírico

Este el eje principal del marco de trabajo SCRUM y aplica 3 ideas principales:

Transparencia, en SCRUM toda la organización está enterada de lo que

sucede en el proyecto.

Inspección, la información sobre los procesos de retroalimentación y

revisión de las prioridades.

Adaptación, como adaptarse a las mejores formas de trabajo para el

proyecto.

32 |

Auto-organización

Se adopta una forma de trabajo auto-organizada con responsabilidades y compromisos

claros en entregar productos o servicios de valor al cliente.

Colaboración

Basado en el trabajo colaborativo, explota 3 dimensiones básicas:

Conciencia.

Articulación.

Apropiación.

Priorización basada en valor

Trata de crear un producto que entregue el máximo valor al negocio del cliente, de

manera que, todo lo que es prioridad para el negocio del cliente, será lo que tenga mayor

importancia en el desarrollo del proyecto.

Bloque de tiempo

En SCRUM la variable tiempo es sumamente limitante e importante, entendiendo que

su uso adecuado contribuye al cumplimiento de una planificación y ejecución eficaz del

proyecto.

Se compone de elementos como:

Ciclos de desarrollo de trabajo cortos o Sprints.

Reunión diaria del equipo.

Reunión de Planificación del Sprint.

Reunión de revisión del Sprint

Desarrollo iterativo

Este principio se enfoca en saber manejar los cambios a objeto de crear productos que

satisfagan las necesidades del cliente y que le entreguen un verdadero valor a su

organización. (Salazar, 2016)

33 |

2.2.2. Arquitectura N-Capas

La arquitectura N-capas es una arquitectura cliente-servidor que se aplica al desarrollo

web con el objetivo de separar la lógica de negocios de la lógica de diseño.

Con esta arquitectura, se tendrá un panorama más claro de dónde se encuentra cada

componente y tecnología empleada. (Pérez, Rico Moreno, & Gordillo, 2013)

La ventaja principal de esta arquitectura, en el caso que sobrevenga algún cambio, sólo

se ataca al nivel que requiera el cambio, sin tener que revisar entre código mezclado.

Figura 3: Arquitectura N-Capas (López, 2016)

2.2.2.1. Capas

Capa de presentación o de usuario: En esta capa es donde el usuario interactúa

con el sistema, aquí se presenta y se captura la información del usuario. Debe tener

la característica de ser "amigable" (entendible y fácil de usar) para el usuario. Esta

capa se comunica únicamente con la capa de negocio.

Capa de negocio o lógica de negocio: En esta capa se encuentran los procesos que

son ejecutados de acuerdo a las peticiones del usuario y envía respuestas tras el

proceso. En esta capa se establecen todas las reglas que deben cumplirse. Esta

34 |

capa se comunica con la capa de presentación, para recibir las solicitudes y

presentar los resultados, y con la capa de datos, para solicitar al gestor de base de

datos almacenar o recuperar datos de él.

Capa de datos: Es donde se encuentran los datos y es la encargada de acceder a

los mismos. (López, 2016)

2.2.3. Wildfly

WildFly es un servidor de aplicaciones Java de código abierto y multiplataforma,

compatible con cualquier sistema operativo en el que se encuentre disponible la máquina

virtual de Java. Wildfly ofrece una plataforma de alto rendimiento con una arquitectura

orientada a servicios cuyas características principales son:

o Rápida puesta en marcha: Permite una rápida puesta de las aplicaciones,

arrancando los procesos críticos en paralelo, para eliminar las esperas

innecesarias y aprovechar la potencia de los procesadores multi-núcleo.

o Escalabilidad: Dispone de un conjunto de herramientas preparadas para

atender una gran demanda capaz de escalar hasta millones de conexiones.

o Ahorro de memoria: Su gestión de la memoria es capaz de minimizar la

asignación de posiciones, evitando la carga de clases duplicadas y objetos.

o Motor capaz de configurarse a las necesidades: El runtime de Wildfly dispone

de una arquitectura donde se pueden añadir o quitar módulos, lo que puede

reducir o ampliar sus funcionalidades bajo demanda, ayudando a mantener

memoria y espacio en disco ajustado a las necesidades reales.

o Administración unificada: La administración de sus distintos módulos se

puede hacer de manera centralizada y amistosa para el usuario. Además se

dispone de múltiples interfaces para configuración, desde consola, API,

HTTP, etc.

35 |

o Basado en estándares: Aprovecha las últimas mejoras de Java EE7 para

maximizar las capacidades de las aplicaciones y la productividad de los

desarrolladores. Además dispone de una plataforma adaptada a todos los

últimos estándares de la web moderna y el acceso desde dispositivos.

o Modular: Es capaz de usar su propia arquitectura para la creación de módulos

aislados, enlazando únicamente con los JARs cuando la aplicación lo necesita.

(García, 2017)

2.2.4. Servidor Apache

Un servidor web es un programa especialmente diseñado para transferir datos de

hipertexto, es decir, páginas web con todos sus elementos (textos, widgets, banners, etc).

Estos servidores web utilizan el protocolo http, Apache es responsable de garantizar una

comunicación fluida y segura entre las dos máquinas.

Apache no es un servidor físico, sino un software que se ejecuta en un servidor. Su

trabajo es establecer una conexión entre un servidor y los navegadores de los visitantes

del sitio web mientras envían archivos entre ellos (estructura cliente-servidor). Apache es

un software multiplataforma, por lo cual funciona tanto en servidores Unix como en

Windows.

Apache es altamente personalizable, ya que tiene una estructura basada en módulos.

Los módulos le permiten a los administradores del servidor activar y desactivar

funcionalidades adicionales. Apache tiene módulos de seguridad, almacenamiento en

caché, reescritura de URL, autenticación de contraseña y más. (B, 2018)

2.2.5. Oracle DataBase

Oracle es básicamente una herramienta cliente/servidor para la gestión de Bases de Datos.

Es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado

36 |

precio hace que sólo se vea en empresas muy grandes y multinacionales, por norma

general. En el desarrollo de páginas web pasa lo mismo: como es un sistema muy caro no

está tan extendido como otras bases de datos, por ejemplo, Access, MySQL, SQL Server,

etc. (Desarrollo Web, 2002)

2.2.6. Bitbucket

Bitbucket permite a todos los usuarios gratuitos elegir entre utilizar Git o

Mercurial como controlador de versiones a la vez que les ofrece una serie de herramientas

para el control de errores (como Jira), integración con Google Analytics, HipChat como

software de comunicación entre colaboradores y opciones de control de actividad de cada

repositorio en cualquier momento para que el desarrollador no tenga que utilizar

herramientas externas para esto.

Una de las principales ventajas de Bitbucket es que este dispone de un número

ilimitado de repositorios privados para los usuarios gratuitos de manera que cualquier

desarrollador podrá subir a su plataforma sus códigos, establecerlos como privados y no

tener que pagar por ello. A cambio de ello, las versiones gratuitas de Bitbucket limitan a

tan solo 5 colaboradores en cada proyecto y los usuarios que necesiten un mayor número

de estos tendrán que pasarse a un plan de suscripción. (Velasco, 2014)

2.2.7. Sourcetree

SourceTree es uno de los mejores clientes GUI para manejar repositorios Git y

mercurial que existen en la actualidad. A través de esta herramienta se puede realizar

completamente todas las tareas de gestión de un DVCS:

Crear y clonar repositorios de cualquier sitio, tanto Git como Mercurial.

Además de integrarse perfectamente con Bitbucket o Github.

Commit, push, pull y merge de nuestros archivos.

37 |

Detectar y resolver conflictos.

Consultar el historial de cambios de nuestros repositorios. (Rodríguez,

2013)

2.2.8. Jira

JIRA es una aplicación web que permite la organización de proyectos, el seguimiento

de errores y la gestión de incidencias. Desarrollada por Atlassian, la herramienta

JIRA puede convertirse en un mecanismo de procesos útil y moldeable de acuerdo a los

propósitos corporativos.

Su interfaz es sencilla y el manejo de los indicadores a través de sus diferentes vistas

en un dashboard proporciona recursos suficientes, tanto a gerentes como a personal base,

para mantenerse al día de lo que está sucediendo en el proyecto.

Los beneficios de JIRA son:

Administraremos nuestras actividades (issues, proyectos, procesos, tramites…).

Permite adjuntar archivos y documentos.

Recibiremos notificaciones de cambios o modificaciones en nuestros proyectos

vía mail.

Es compatible en prácticamente todas las bases de datos.

Es muy simple, básico y sencillo de utilizar.

Posee un importante sistema de reportes (filtros).

Permite una fácil integración y extensión con otros sistemas.

La herramienta JIRA es accesible en precio y se integra fácilmente con otras

herramientas de desarrollo y gestión de proyectos a través de diversos plugins y

extensiones que están disponibles en Internet. (TIC, 2016)

38 |

2.2.9. Netbeans

NetBeans IDE es un entorno de desarrollo, una herramienta para que los

programadores puedan escribir, compilar, depurar y ejecutar programas. Está escrito en

Java pero puede servir para cualquier otro lenguaje de programación como: Python, C++,

php, HTML, JavaScript, etc. Existe además un número importante de módulos para

extender el NetBeans IDE. NetBeans IDE es un producto libre y gratuito sin restricciones

de uso.

También está disponible NetBeans Platform; una base modular y extensible usada

como estructura de integración para crear grandes aplicaciones de escritorio. Empresas

independientes asociadas, especializadas en desarrollo de software, proporcionan

extensiones adicionales que se integran fácilmente en la plataforma y que pueden también

utilizarse para desarrollar sus propias herramientas y soluciones. (NetBeans, 2018)

39 |

CAPÍTULO 3.

Análisis, diseño e

implementación

40 |

3.1. Aprendizaje de las herramientas

Este proyecto consta de distintas fases, la primera fase comprende el correcto manejo

de las herramientas que vamos van a utilizar para el desarrollo del software, herramientas

como son el Netbeans 8, JDK, configuración de Wildfly, Apache, Sourcetree, Bitbucket,

Oracle SQL Developer, Datamodeler y JSF Print Free Sheet.

Para el correcto funcionamiento de las herramientas no es solo necesario instalarlas,

si no que cada una de ellas tiene su configuración, que es necesaria para la interacción

entre los distintos módulos que van a ser implementados, como es el caso de servidores,

base de datos, herramientas de desarrollo, etc.

Una vez que se llevó a cabo la instalación y la configuración (véase anexo),

procedemos a la capacitación sobre todo para comprender las distintas normas y

procedimientos que se llevan a cabo dentro del equipo de desarrollo de la Universidad.

3.2. Metodología

Para el desarrollo del proyecto se emplea la metodología SCRUM que es un proceso

de la metodología útil que permite trabajar en una serie de interacciones en equipo y

obtener el mejor resultado posible de un proyecto.

En el SCRUM se definirá los siguientes procesos:

Como punto 1, se identificará los roles y las responsabilidades de cada miembro

del equipo de trabajo, los miembros del equipo de trabajo serán los desarrolladores

quienes colaborarán con el proyecto y los integrantes del proyecto. Los

integrantes del proyecto tomarán el rol de miembros del equipo de desarrollo.

41 |

Como punto 2, se desarrollará el sprint, esta es una característica principal dentro

del proyecto, es una simple iteración que se lleva a cabo por los miembros del

equipo. Se definen los eventos Scrum que son:

Planeación del sprint: Los miembros del equipo tendrán reuniones

constantes para decidir los requerimientos, esto para tener una perfecta

distribución de tareas entre los distintos integrantes. Además se otorgará

la asignación de tiempos para la abstracción de requerimientos claros y

concisos, definiendo el tiempo de duración del Sprint.

Reunión del equipo del Scrum: Estas reuniones tienen la finalidad de

presentar los resultados de las tareas asignadas con anterioridad. Con ello

se soluciona posibles problemas o inconvenientes al momento de la

realización de las mismas.

Refinamiento del backlog: En este punto se va esclarecer cualquier duda

que pueda surgir por parte de los desarrolladores y para estimar el tiempo

y esfuerzo de cada requerimiento.

Revisión del Sprint: En este punto se muestra el software completo con

los requisitos finalizados dentro del Sprint.

Retrospectiva del Sprint: Aquí se realizará una retroalimentación sobre el

proceso de creación del software, se tratará temas como: ¿Qué se hizo mal

durante el sprint? ¿Qué se hizo bien? ¿Qué inconvenientes se encontraron?

Como punto 3, se definirá la herramienta sobre la que se realizará el seguimiento

del proyecto, aquí se asignan las tareas de los miembros del equipo, las tareas

presentarán tres estados que son: por hacer, haciendo y terminado.

Las herramientas empleadas durante la realización del proyecto son:

42 |

JIRA: En esta herramienta se planifica, controla y administra el proyecto mediante

la especificación de tareas, donde se puede inspeccionar el avance de la tarea que

se esté realizando en el proyecto.

En la Figura 4 , se muestra las tareas que se han creado, dentro de cada tarea se

especifica lo que se realizará en dicha tarea, además, se podrá observar las fechas

de creación y fecha de finalización de la tarea.

Figura 4: Tareas en JIRA

SOURCETREE: Esta herramienta trabaja directamente con NetBeans, que es el

IDE con el que se está trabajando en el desarrollo del proyecto. Ayuda a gestionar

el versionamiento del sistema mediante funciones como son: crear, clonar,

commit, push, pull, merge con el propósito de crear un ambiente de trabajo en el

que todo el equipo pueda acceder al código fuente del mismo.

En la Figura 4, se puede observar los cambios realizados durante el proceso de

desarrollo detallado en ramas. Se apunta a la rama actual sobre la cual se está

trabajando. Además, se muestra el ciclo de la rama y sus involucrados, que en este

caso son los desarrolladores del sistema que han realizado cambios dentro de la

rama.

43 |

Figura 5: Tareas en SOURCETREE

3.3. Levantamiento de requerimientos

La segunda fase, realizaremos la elaboración y especificación de los requerimientos

de software, pero antes es importante comprender ¿Qué son los requerimientos? Podemos

decir, que un requerimiento son procesos en el cual existe una interacción con los usuarios

que solicitan el desarrollo del software, los mismos que partieron de un problema presente

que definimos con anterioridad. El objetivo de realizar el levantamiento de

requerimientos es tener una visión clara de lo que comprende el sistema, sobre todo

buscando la satisfacción de los usuarios finales y obviamente dando una solución del

problema. Esto lo hacemos sacando la mayor parte de información por parte de los

usuarios, ya que al final será reflejado en la satisfacción del usuario final.

Ahora, ¿Por qué la importancia de los requerimientos? Muchos proyectos de

desarrollo de software llegan o van en dirección del fracaso, por no realizar un correcto

levantamiento de requerimientos o ningún tipo de estudio previo al inicio de desarrollo

del software. Es decir, que los desarrolladores no comprenden y no se involucran en el

problema, lo que conlleva a que los pocos requisitos obtenidos o mucho peor que dichos

requisitos sean asumidos por los desarrolladores, no llegue a ser suficiente y terminemos

44 |

implementando requerimientos incompletos o incorrectos en el sistema; lo cual

culminaría con el incumplimiento de las necesidades de los usuarios.

Una vez teniendo claro el concepto y la importancia realizaremos la elaboración y

especificación de los requerimientos de software, esto lo realizaremos teniendo en cuenta

a todos los Stakeholders de la institución los cuales harán uso del sistema, realizando

reuniones con el personal encargado de emisión del documento, esto para comprender

cómo se lleva el proceso de emisión de un documento.

Con la finalidad de proporcionar un software que cumpla con las principales

propiedades de corrección, usabilidad, integridad, fiabilidad, eficiencia y seguridad, los

Stakeholders definieron con exactitud los requerimientos del software, con esto se

determina la arquitectura que tendrá el nuevo software.

Los requerimientos obtenidos de los usuarios que darán uso al sistema nos permitirá

tener una idea clara del problema que se pretende resolver, lo que nos llevará a un sistema

útil y confiable y sobretodo que cumpla los objetivos planteados con anterioridad.

Es fundamental que el Stakeholder y los que conforman el grupo revisen detalladamente

los requerimientos ya que estos deberán estar claros y concisos.

Durante la toma de los requerimientos se acordó que el sistema tendrá estas

características:

Control de sesión de estudiantes.

Roles. (secretarias y estudiantes)

Búsqueda de estudiantes por número de cédula o nombres.

Listado de todos los certificados que solicita el estudiante.

Estado de certificados que permitirá controlar si el estudiante realizó el pago del

certificado, si el certificado ha caducado o sigue en vigencia, dependiendo de las

fechas de caducidad del certificado.

45 |

Generación de la prefactura del certificado.

Envió al correo del estudiante la factura del certificado.

Generar Pdf.

Generar QR.

Teniendo claro las peticiones por parte de los usuarios es necesario la creación de un

documento, donde se especificara a detalle los puntos que han sido señalados

anteriormente, además de diseños de diagramas de procesos que permitirá a los

desarrolladores y usuarios tener claro los componentes y funciones del sistema a

implementar.

Para visualizar de manera más detallada la descripción del software desarrollado véase

el anexo.

3.4. Esquema del proyecto

La tercera fase, comprende en diseñar e implementar el software, para lo cual, se

tiene que poner en práctica los conocimientos adquiridos en la primera fase que trata del

manejo de herramientas.

Como primer punto, dentro del diseño del software se tiene el diseños de diagrama

UML (Lenguaje Unificado de Modelado) que facilitará la comprensión y las relaciones

entre los distintos componentes del sistema y posteriormente se procede con la etapa de

desarrollo del software.

46 |

Como se puede apreciar en la Figura 6, se muestra de forma general los diferentes

componentes e involucrados que posee el sistema.

En esta situación los involucrados son: Estudiantes o usuarios en general que requieran

un documento de la Universidad, Secretario General o la persona autorizada para firmar

documento que solicita el usuario y una Entidad Certificadora quien es una entidad de

terceros fiable.

Como parte de la presentación, muestra de manera gráfica la forma de acceder a distintas

funcionalidades que tienen el sistema, el sistema que presentamos tendrá acceso mediante

la página WEB, donde el usuario podrá solicitar el documento requerido.

El entorno web está enfocado a la autenticación de los estudiantes o secretarias, también

comprende la sección donde el estudiante podrá visualizar los certificados emitidos,

revisar el estado de los certificados emitidos o generar un nuevo certificado.

Mientras que en la lógica del sistema se presenta la forma en que se gestiona toda la

información para llevar a cabo una tarea específica. En este caso, luego de que el

estudiante se haya autenticado correctamente y haya realizado los procesos o pasos

Figura 6: Esquema del Proyecto

47 |

correspondientes para llegar a imprimir el documento, se procede a la creación del

documento, una vez que el documento este creado con la información necesaria se

procederá a firmar electrónicamente el certificado, utilizando la firma que corresponda al

su respectivo titular que fue otorgado por la entidad certificadora. Luego se procederá a

la implementación de un código QR en el mismo documento, el cual servirá para

comprobar la veracidad del certificado, el cual al ser escaneado con algún tipo de

aplicación móvil procederá al redireccionamiento a una página web, donde se visualizará

el contenido de todo el documento que certifica la autenticidad de este.

El componente mas importante es la Base de Datos, donde encontraremos perfiles e

información personal tanto de los estudiantes como de los documentos, certificados, etc.

3.5. Desarrollo del Sistema

3.5.1. Arquitectura de la aplicación

Figura 7: Arquitectura de la aplicación

48 |

En la Figura 7, se puede apreciar la arquitectura de la aplicación. Se empleó la

arquitectura n-capas, la misma que comprende las siguientes componentes:

Capa Presentación: En esta capa se presenta la interfaz que el usuario va a

visualizar, está elaborada en XHTML y se utilizó la biblioteca de Primefaces para

los componentes que contribuyen a la creación de la aplicación web. Además, se

trabajó con un paquete de clases que son llamadas Controladores. Estas clases son

conectores entre las clases XHTML y la capa de lógica de negocios.

Capa Servicios: Esta capa tiene la funcionalidad de representar la capa de lógica

de negocios como una API. Transforma las entidades, en interfaces para aplicar

en diferentes capas.

Capa Lógica de Negocio: Esta capa es considerada una de las más importantes

dentro de la arquitectura n-capas, debido a que aquí se presenta todas las

funcionalidades del sistema. Se comunica con la capa de acceso de datos, para

recuperar o almacenar la información necesaria, que se aplica en los métodos

generados. En esta capa se encuentran los métodos referentes a la generación de

la Firma Electrónica, la creación del Certificado y QR.

Capa Acceso de datos: En esta capa se encuentran todos los métodos del CRUD

(Crear, Actualizar, Eliminar y Listar) que se conectan directamente con la base de

datos para realizar las consultas.

Entidades: Esta capa hace referencia a las clases que se emplean dentro del

sistema, cada clase contiene anotaciones como:

@Entity: Convierte la clase en una entidad para que JPA pueda identificar qué

clases son entidades. Además, todas las clases consideradas como entidad en el

sistema deben estar en la unidad de persistencia, que se encuentra en el archivo

persistence.xml.

49 |

@Table: Esta anotación mapea las tablas que se encuentran en la base de datos

que hace referencia a dichas entidades.

3.5.2. Diseño de la base de datos

La base de datos que se implementará en el sistema es la base de datos de la

Universidad Politécnica Salesiana, ORACLE DataBase, la cual se está utilizando en la

actualidad para el almacenamiento de toda la información generada dentro de la

institución.

Para el diseño de la BD referente al proyecto se considera las siguientes clases a

interactuar

Como se puede visualizar en la Figura 8, existe una relación entre diversas clases que

se considera importante tanto para la creación del certificado, como para la incorporación

de la firma electrónica. Estas clases son las siguientes:

1. Firma: En esta tabla de la BD se encuentran los atributos referentes a la firma

electrónica otorgada y autorizada por la entidad certificadora.

Ilustración 1:Diseño de Base de datos Figura 8: Diseño de la base de datos

50 |

2. Certificado: Hace referencia a los certificados que han sido solicitados, lleva un

registro de cada uno de los certificados, especialmente a cuál de los estudiantes

pertenece, además, considerando aspectos como fechas de emisión y caducidad

para la posterior descarga del documento por parte del estudiante.

3. Certificado Digital: Esta tabla permite almacenar todos los documentos digitales

en formato .pdf emitidos.

4. Tipo de Certificado: En esta tabla se almacena toda la información referente a los

tipos de certificados que podrán ser emitidos y permitirá también verificar los días

de validez que tendrán cada certificado, para su posterior anulación o bloqueo de

descarga.

5. Código QR: Guarda todos los enlaces generados y especifica a cuál de los

certificados pertenece dicho enlace.

Cabe señalar que, en todas las tablas generadas, existen campos para la auditoría, que

permitirá realizar un seguimiento a las alteraciones o manipulación de la información,

para ello se registra campos como: AUD_ELIMINADO, AUD_ADICIONADO,

AUD_MODIFICADO, AUD_FECHA_MODIFICACION.

3.5.2. Control de sesión de estudiantes o coordinadores

El control de sesión de estudiantes o coordinadores permitirá al estudiante ingresar a

la interfaz donde se visualizará el historial de certificados que han sido emitidos y podrá

crear nuevos certificados.

Para ingresar al sistema de certificación electrónica, el estudiante deberá ingresar

desde la página principal de la Universidad Politécnica Salesiana, a la cuenta principal.

51 |

3.5.2. Identificación de Roles

El sistema está compuesto por roles, los roles permiten mantener un acceso diferente

al usuario y a los coordinadores.

El rol que maneja los coordinadores, se tendrá permisos de crear, eliminar, editar y

listar tablas internas, entre ellas tenemos: tabla Firma y Tabla Tipo Certificado. También

podrán tener acceso a la creación de los certificados en el caso de que el estudiante solicite

el certificado en Secretaría, creará el certificado dado la cédula del estudiante o el nombre.

El rol que maneja los estudiantes tendrá acceso a la tabla Certificado, aquí el estudiante

podrá crear certificados de acuerdo con el tipo de certificado que desea emitir. También

podrá visualizar los certificados que han sido creados, revisar su estado, descargar el

certificado.

3.5.4. Creación del Certificado

Para solicitar el certificado, el estudiante deberá ingresar a su cuenta personal, esto

redireccionará al sistema de Certificado Electrónico. Una vez que ingresa al sistema, el

estudiante tendrá la opción de crear certificados y listar los certificados que han sido

generedos por el estudiante.

En la pantalla de Solicitar Certificado, existirá 3 parámetros que deberá completar el

estudiante, estos parámetros son: Carrera, Tipo de Certificado y Periodo. Estos

parámetros son obtenidos de los esquemas que manejan internamente en la base de datos

al momento de iniciar sesión. En algunos casos, habrá estudiantes que posean 2 carreras,

para ello, se recupera la información según la malla curricular correspondiente a la carrera

que haya seleccionado. Según la carrera que haya seleccionado, se actualizará los

periodos que haya cursado el estudiante.

52 |

El proceso que se realiza internamente cuando el estudiante solicite el certificado es que

en la capa de la lógica de negocios se guarda el certificado, luego de ello, se procede a

generar la prefactura. Después, se obtiene el archivo digital (documento pdf) y por último

se obtiene la firma electrónica.

3.5.5. Creación del código QR

El código QR se genera un link de manera automática y es único para cada certificado

que se van a crear, la aplicación genera este link:

“ http://www.ups.edu.ec/cel/codigoqr/VisualizacionDatosQR.xhtml?codigo=15646&clave=3230”

El link contiene dos parámetros importantes que comprende el código del certificado,

del cual se busca visualizar el contenido y por otra parte como medio de seguridad se

tiene un número aleatorio, este código evitará visualizar otros certificados emitidos

correspondientes a otros usuarios. El código y la clave se generan al momento que se crea

el certificado y deberán ser los mismos códigos registrados en la base de datos para poder

visualizar el contenido del certificado solicitado.

Para generar la imagen con la encriptación del link se utiliza la dependencia

“com.google.zxing”, que permitirá generar el código QR, cabe señalar que la

dependencia también se utiliza en la herramienta iReport-5.6.0.

Figura 9: Código necesario para creación del QR-Code

53 |

En la Figura 9, se puede ver el código fuente que se utiliza en la herramienta de

iReport-5.6.0, lo que se hace es crear una imagen en la cual vamos a codificar un texto

mediante una propiedad llamada “encode()”, este método recibe como parámetro la

cadena de texto que se va a codificar, que en este caso es proporcionado por el sistema

que vendría siendo el link que indicamos con anterioridad, además recibe el formato del

QR-CODE y sus respectivas dimensiones (alto y ancho) de la imagen a generar. Dando

como resultado una imagen del código QR codificada, otorgando la posibilidad de que al

usuario se le redireccione a una página web donde podrá visualizar el certificado.

3.5.5. Incorporación de la Firma Electrónica al documento PDF

Para poder realizar la incorporación de la firma electrónica en el documento creado en

el punto anterior, se utilizará el tipo de firma por certificado o archivo proporcionado por

la entidad certificadora, quien otorgara un archivo. En esta sección entra la funcionalidad

de los distintos roles que posee la institución, esto porque, para agregar los archivos de

las firmas se tendrán acceso solo personal asignado para dicha labor ya que será el

encargado de la manipulación de esa información como es: El certificado de la firma y la

contraseña que se le asignó al titular para que pueda firmar un archivo.

Figura 10: Campos necesarios para almacenar las firmas electrónicas en la Base de

Datos

54 |

En la Figura 10, se puede visualizar los campos que se necesita para registrar las firmas

electrónicas correspondientes a las personas responsables de firmar dichos documentos.

A continuación, se muestra los campos y por qué la utilización de cada uno de ellos:

Titular de la Firma: En este campo se almacena los nombres completos de la

persona titular de firma.

Cargo del titular: Hace referencia al rol que cumple dentro de la institución y

también permite ver qué certificados está autorizado a firmar.

Password: Esta contraseña es utilizada para que el archivo de firma electrónica

otorgada por la entidad certificadora pueda ser usada, desencripta el archivo y la

incorpora al certificado que se pretende firmar.

Correo del titular: Es el correo institucional del titular de la cuenta en caso que se

necesite realizar alguna notificación, como es la renovación de su firma

electrónica.

Estado: Permite ver a nivel de Base de Datos si el certificado de la firma está

Vigente o Caducado.

Sede: Este campo permite identificar o separar las firmas por cada una de las sedes

de la institución, esto por si el certificado corresponde a un estudiante de

CUENCA sea un colaborador de la misma sede quien firme el documento y el

caso es similar en caso de QUITO Y GUAYAQUIL.

Archivo: Es un certificado otorgado al titular de la firma por la entidad

certificadora, utiliza un estándar x.509 en formato p12, que puede ser integrado

en cualquier sistema operativo.

Una vez que los archivos necesarios estén registrados correctamente en la Base de

Datos se procederá hacer la utilización de los mismos, esto para incorporar a los

certificados y que a su vez se genere documentos ya firmados automáticamente.

55 |

Como bien ya lo hemos mencionado en reiteradas ocasiones, se utiliza el

CERTIFICADO de firma electrónica proporcionada por la entidad certificadora, las

misma que se trata de un archivo de formato “PKCS12”.

El formato PKCS12 es de tipo binario que su función principal es guardar claves

privadas con su respectivo certificado de clave pública, ya que utiliza la codificación de

firmado RSA-SHA1, y también posee una llave publica, que conjuntamente se usan para

encriptar y des-encriptar información necesaria.

Para incorporar la firma en el certificado realizamos un método donde recibe como

parámetros:

Certificado de firma electrónica: recuperado de la base de datos.

Clave de Acceso: La clave para poder hacer uso del certificado de la firma.

Documento a firmar: Este sería el documento en el cual vamos a

incorporar la firma que fue creado en el proceso.

Para verificar la firma electrónica, se utiliza la herramienta Adobe Reader donde se

visualiza los datos del firmante, para ello se da clic en el recuadro rojo. (véase Figura 11)

Figura 11: Firma Electrónica incluida en el PDF

56 |

Se desplegará una ventana con todo lo referente a las propiedades de la firma, a

continuación, se procede a ver el certificado del firmante (véase Figura 12)

Figura 12: Propiedades de la Firma Electrónica

57 |

CAPÍTULO 4.

Análisis de

Resultados

58 |

En esta etapa se realiza las pruebas correspondientes para comprobar el

funcionamiento del sistema, con lo cual permitirá tener un enfoque claro de los resultados

que se busca y sobre todo la funcionalidad de los distintos componentes que interactúan

en el sistema, también considerando los múltiples casos que pueden llegar a ocurrir.

4.1. Solicitud del certificado

Figura 13: Ventana principal

Como ya se especificó al inicio de este proyecto y como está estipulado en el

documento referente a la obtención de requerimientos, el estudiante tendrá la opción de

solicitar y reimprimir los certificados, para lo cual se le presentará las dos opciones como

se puede ver en la Figura 11.

59 |

Figura 14: Ventana para solicitar un certificado

Se procede con obtención de parámetros necesarios para la creación de certificado, el

cual comprende CARRERA, TIPO CERTIFICADO A SOLICITAR, PERIODO, como

se muestra en la Figura 12. Cabe recalcar que la información que se presenta

corresponderá a las inscripciones que posea o haya tenido el estudiante el en transcurso

de su vida estudiantil dentro de la institución.

Figura 15: Ventana para ingresar campos necesarios para la solicitud del certificado

60 |

Figura 16: Ventana de confirmación

Ahora que el estudiante haya ingresado correctamente los parámetros del certificado

a solicitar se le presentará una ventana de confirmación informando Figura 13, que el

certificado tendrá un costo (Dependerá del certificado a solicitar).

Figura 17: Ventana notificación al estudiante de que el certificado fue solicitado

Una vez que haya confirmado la solicitud del certificado, se procederá con la creación

de certificado, además se le presentará un cuadro de diálogo que indicará los pasos que

tendrá que seguir para el pago y su posterior reimpresión de documentos Figura 14.

61 |

4.2. Generar Prefectura

Figura 18: Correo que recibe el estudiante

El estudiante que solicitó el certificado recibirá un correo electrónico Figura 16,

indicando el detalle de la factura que se generó con el valor que tendrá que pagar por el

certificado generado.

4.3. Imprimir el certificado

Una vez que el estudiante haya realizado la solicitud de certificados, podrá visualizar

en la opción de “REIMPRIMIR CERTIFICADO” (Figura 11) Donde se presentará todos

los certificados emitidos a su nombre. Indicando campos importantes como son: fechas

de emisión y caducidad que permitirá verificar la validez del certificado, también

considerando el estado de pago del documento solicitado. Estos parámetros nos

permitirán controlar la descarga del documento.

62 |

Figura 19: Ventana para reimpresión de certificados

4.3.1. Filtrados de Datos

Ante el presunto crecimiento que puede tener el sistema, por la cantidad de certificados

que pueden llegar a ser emitidos hacia un estudiante por distintos aspectos, por ejemplo,

si el estudiante posee más de una carrera, en cada una de las carreras, curso un número

determinado de periodos académicos, y cada certificado corresponderá a su respectivo

tipo de certificado. Teniendo presente se considera adecuado realizar filtros para que se

pueda ver la información de una manera más sistemática.

Figura 20: Filtrados por tipo de certificado

63 |

En la Figura 19. Se puede observar la aplicación del filtrado dado por el tipo de

certificado y el periodo emitido.

Figura 21: Filtrados por tipo de certificado y periodo emitido

4.3.2. Condiciones para reimprimir el Certificado

Figura 22: Descargar archivo

Ahora para que el certificado pueda ser visualizado por la persona solicitante tendrá

que cumplir con ciertas restricciones, una de ellas es que el certificado es vigente, es decir,

en la fecha que desee realizar la descarga del escrito, tiene que estar dentro de las fechas

de vigencia, para esto se tiene el campo ESTADO que indica si esta “Vigente” o

“Caducado”. Otra condición a cumplir es el haber realizado el pago por el certificado el

64 |

mismo que se podrá ver en el campo PAGO el cual permitirá indicar si esta “PAGADO”

o “PENDIENTE DE PAGO”. Cumpliendo estas dos condiciones se le habilitara el botón

que le permitirá descargar el archivo.

4.4. Certificados a emitir

Como se especificó en los requerimientos, los documentos a emitir de manera

electrónica fueron certificado de matrícula por periodo y calificaciones por periodo, a

continuación, mostraremos el contenido de cada uno de los certificados:

4.4.1. Certificado de Matrícula

Figura 23: Certificado de Matrícula

65 |

4.4.2. Certificado de Calificaciones

Figura 24: Certificado de Calificaciones

66 |

4.5. Verificar la validez del certificado emitido

Figura 25: Firma Electrónica y código QR

Todo certificado posee un código qr el mismo que al ser escaneado nos proporcionará

un link:

“http://www.ups.edu.ec/cel/codigoqr/VisualizacionDatosQR.xhtml?codigo=21&clave=

3940”

el mismo que nos redirigirá a una página web donde dependiendo del si el ESTADO

del certificado está en VIGENTE se puede ver el contenido del certificado Figura 24,

caso contrario se bloqueará el contenido y se le informará que el certificado ha excedido

su fecha de validez Figura 25.

Figura 26: Contenido del certificado al escanear el código QR

67 |

Figura 27: El certificado a excedido la fecha de validez

4.6. Prueba de errores de la Firma Electrónica

Es importante considerar los errores que los usuarios pueden llegar a cometer, a

continuación, especificamos dos errores que evitarían que los certificados puedan ser

emitidos.

Como primer punto, se tiene el error de fecha de caducidad de la FIRMA

ELECTRÓNICA la cual fue facilitada por la entidad certificadora, en este caso fue el

archivo de la firma el mismo que tiene una validez de un año y tendrá que ser renovada

por el titular de la firma. En la Figura 26, se observa el error que se generará al utilizar

una firma que ya haya excedido las fechas de caducidad.

Figura 28: Error por la fecha de caducidad de la Firma Electrónica

68 |

Como segundo caso, se presenta un error común que puede llegar a pasar, que es una

escritura errónea de la contraseña ingresada al sistema para firmar los documentos, si la

contraseña no es la correcta nos saltara un error y evitará la creación del certificado.

Figura 29: Error por la contraseña para el uso de Firma Electrónica

4.7. Pruebas realizadas en SonarQube

Durante todo este proceso de desarrollo, es muy posible la aparición de bugs o errores

de codificación por parte de los desarrolladores y en busca de un perfecto funcionamiento

del sistema o a su vez la minimización de latencia de ejecución ante procedimientos

innecesarios, procedemos a realizar distintas pruebas mediante la utilización de la

herramienta Sonarqube, quien nos permitirá visualizar un análisis completo del código

fuente, utilizado para el proyecto e identificando los bugs, esto mediante métricas

estipuladas que ayuda a estimar la calidad del código.

En la Figura 28, se obtuvo el primer resultado al cargar el proyecto al programa

Sonarqube, este capturó las siguientes métricas:

Bugs = 27

Vulnerabilidades = 22

Code Smells = 361

69 |

Duplicados = 17.7

Figura 30: Resultado obtenido de Sonarqube

Realizando un primer análisis del código, se observó un número considerable de

irregularidades, que en si no afecta ninguna de las funcionalidades o componentes del

sistema, pero SonarQube nos lo presenta como vulnerabilidades, una vez que se haya

corrigiendo las mismas se pudo apreciar la disminución del nivel de vulnerabilidades a

un total de 6 pero se obtuvo un nuevo bug, el cual se debería de solucionar ya que el error

afecta directamente al funcionamiento del sistema.

70 |

Figura 31: Resultado obtenido de Sonarqube

Realizando un nuevo análisis del sistema en el SonarQube, se puede apreciar

resultados satisfactorios referente a las normas aplicadas para validación de código fuente

(véase Figura 30)

Figura 32: Resultado obtenido de Sonarqube

Interpretando estos resultados, se puede visualizar que el proyecto cumple con los

estándares de calidad en el código. Los valores presentados como resultados iniciales

bajaron considerablemente, al realizar las correcciones en el código, a pesar de que

estos valores no llegan a 0, el sistema cumple con los estándares de calidad.

71 |

CAPÍTULO 5.

Conclusiones y

Recomendaciones

72 |

Dentro de lo que conlleva la firma electrónica y primordialmente su uso dentro

del comercio electrónico, la misma consta con una ley que lo respalda dentro del

Ecuador, que regula su uso y los servicios de certificación, dicha ley que se formó

siguiendo los correctos procedimientos determinados en la ley “Modelo De La

Comisión De Las Naciones Unidas Para El Desarrollo Mercantil Internacional”

(CNUDMI o UNCITRAL). Por lo que, la “Ley De Comercio Electrónico

Ecuatoriano” contempla a la firma electrónica y otorga las mismas atribuciones

de una firma manuscrita impregnada en un documento institucional a una firma

electrónica, sobretodo contemplando autenticidad e integridad del documento

emitido.

Al contemplar un certificado o algún tipo de documento firmado de manera

electrónica y poseer las atribuciones de una firma manuscrita, estas herramientas

de certificación de documentos tienen los mismos efectos jurídicos ante los

documentos emitidos de manera física, eso considerando el aspecto legal. Por

ende, se recomienda el uso de estas herramientas para agilizar los trámites y

gestionar documentación dentro de un establecimiento ya sea público o privado,

por el sencillo hecho de que son herramientas seguras y sobre todo que están al

alcance de todas las personas y organizaciones dentro del Ecuador.

Referente al proyecto realizado y esencialmente a la utilización de las

herramientas para el desarrollo del mismo, fue importante tener un conocimiento

previo y apropiado, además de uso es importante considerar las normas de

desarrollo dentro de un equipo de trabajo, esto ante la implementación de una

estructura en N-Capaz permitiendo a la proyecto que sea escalable y no solo

permita la certificación de los mencionados documentos, si no que caso contrario

73 |

el mismo sea usado para una certificación general y completa de documentos

dentro de la institución.

Se recomienda el correcto uso de las firmas electrónicas y sobre todo el acceso

los archivos que se carguen al sistema, ya que son archivos considerados

personales y corresponden a un solo titular de la firma que fue conferida por la

entidad certificadora, siendo en el encargado y autorizado en el Ecuador el

Registro Civil. Ante la implementación de la firma electrónica en documentos,

recomendamos el uso de algún tipo de verificación del contenido del certificado,

que permita indicar al receptor la certeza de que se le hizo llegar una

documentación con un contenido válido y sin haber sufrido ningún tipo de

alteración en el proceso de emisión, teniendo en cuenta incluso que el documento

firmado posee un respaldo legal.

Se concluye que los códigos QR se consideran una forma de acceder a la

información que permita la verificación del contenido del certificado, ya que es

una herramienta sencilla y que comprende el seguimiento de pocos y sencillos

pasos para la finalidad que buscamos.

74 |

REFERENCIAS

75 |

Quintero, P. (29 de 01 de 2011). La firma electrónica digital en Venezuela. Obtenido de

Red de Revistas Científicas de América Latina y el Caribe, España y Portugal:

http://4www.redalyc.org/articulo.oa?id=18118941022

Guzmán Rodas, M. L. (2011). Análisis del proceso de implementación de la facturación

electrónica en el Ecuador desde el año 2009 . Cuenca.

Pérez, G., Rico Moreno, V., & Gordillo, J. L. (2013). Desarrollo de sistemas web con

n-capas y metodologías ágiles en la universidad tecnológica de Tehuacán.

Guanajuato: ECORFAN.

Ordóñez Guichay, A. L. (2010). Utilización de la firma digital para la protección de

datos personales como medio de seguridad en las transacciones electrónicas.

Cuenca.

Moran, J. I. (2011). Las Firmas Electrónicas como Herramienta Jurídica par el

Desarrollo de la Gestión de Seguros en el Ecuador. Quito.

Rubio, P. (2015). Análisis de la implementación de facturación electrónica en el

Ecuador: ventajas y desventajas frente a la facturación física . Quito.

RAE. (19 de Diciembre de 2016). Certificado. Obtenido de Real Académia Española:

https://dej.rae.es/lema/certificado-electrónico-reconocido

RAE. (2019). Certificado electrónico reconocido. Obtenido de Real Académia

Española: https://dej.rae.es/lema/certificado-electrónico-reconocido

B, G. (31 de 08 de 2018). ¿Qué es Apache? Descripción completa del servidor web

Apache. Obtenido de Tutorial HOSTINGER :

https://www.hostinger.es/tutoriales/que-es-apache/#gref

Banco Central Del Ecuador. (s.f.). Preguntas frecuentes. Obtenido de Certificacion

electrónica - Banco Central del Ecuador: https://www.eci.bce.ec/preguntas-

frecuentes

Desarrollo Web. (19 de Julio de 2002). ¿Qué es Oracle? Obtenido de Desarrollo Web:

https://desarrolloweb.com/articulos/840.php

Francia, J. (25 de 10 de 2017). Scrum, una mejor manera de construir productos.

Obtenido de Scrum.org: https://www.scrum.org/resources/blog/que-es-scrum

García, H. (08 de 03 de 2017). WildFly, el servidor de aplicaciones Java que multiplica

su rendimiento en Cloud. Obtenido de arsys:

https://www.arsys.es/blog/programacion/wildfly-cloud/

López, E. (2016). Arquitectura de n capas. Obtenido de Academia:

https://www.academia.edu/10102692/Arquitectura_de_n_capas

NetBeans. (2018). ¿Qué es NetBeans? Obtenido de NetBeans:

https://netbeans.org/index_es.html

Rodríguez, T. (15 de 02 de 2013). SourceTree, cliente GUI para manejar repositorios

Git o Mercurial, llegará en breve a Windows. Obtenido de GENBETA:

https://www.genbeta.com/desarrollo/sourcetree-cliente-gui-para-manejar-

repositorios-git-o-mercurial-llegara-en-breve-a-windows

Salazar, A. (2 de 10 de 2016). Principios de Scrum. Obtenido de Prozess Group:

http://www.prozessgroup.com/principios-de-scrum/

TIC. (24 de 11 de 2016). Herramienta JIRA, ideal para la gestión de proyectos.

Obtenido de Consultoría Tecnológica:

http://www.solopiensoentic.com/herramienta-jira-gestion-proyectos/

Velasco, R. (27 de 05 de 2014). Bitbucket, una alternativa al conocido controlador de

versiones GitHub. Obtenido de REDES ZONE:

https://www.redeszone.net/2014/05/27/bitbucket-una-alternativa-al-conocido-

controlador-de-versiones-github/

76 |

Palomeque Avila, J. G. (2015). Implementación de certificados y firmas digitales para

sistemas de información transaccionales en una empresa gubernamental.

Guayaquil.

Román, G. (2012). Diseño, elaboración y puesta en práctica de un observatorio virtual

de códigos QR. d'Innovació Educactiva, 9, 1-9.

Huidobro, J. M. (2009). Codigo QR. Bit, 172, 47-49.

Tecnología, M. d. (13 de Octubre de 2005). LEY DE CERTIFICADOS, FIRMAS

DIGITALES Y DOCUMENTOS ELECTRONICOS N°8454. Obtenido de

firmadigital: http://www.firma-

digital.cr/ley_de_certificados_firmas_digitales_documentos_electr.pdf

Ordoñez Luque, J. (2012). Código QR. Dialnet, 9-28.

Sandoval, M. M., Díaz Pérez, A., & Domínguez Pérez, L. J. (2013). Firma electrónica:

concepto y requerimientos para su puesta en práctica. México: CINVESTAV-

Tamaulipas.

77 |

ANEXOS

78 |

Especificación de requerimientos de software

Certificado Electrónico de matrícula y calificaciones del periodo vigente con

código QR.

Universidad Politécnica Salesiana

Coordinación de Desarrollo de Software

Código: DSOF-DOCU-0002- CEL_001- Certificado digital de matrícula del periodo vigente con código QR

Versión: 0.0

Fecha de publicación: 12/12/2018

Creado por: Diana Carolina Matovelle Romero Edwin Germán Serrano Espinoza 3/12/2018

Revisado por: Ing. Mauricio Ortiz Personal de la Coordinación de desarrollo de software 12/12/2018

Aprobado por:

Nivel de confidencialidad: Interno

Cuenca, 12 de 12 de 2018

El dueño del presente documento es el Coordinador de desarrollo de software y es el encargado de su revisión, actualización y de cumplir con las responsabilidades expresadas en el Procedimiento para la elaboración de la especificación de requerimientos de software (DSOF-PRCT-0003) del Departamento de Sistemas de la Universidad Politécnica Salesiana. El documento de especificación de requerimientos de software (DOSF-DOCU-0002- CEL_001) ha sido revisado por la Coordinación de desarrollo de software y aprobado por Lic.Vilma Mena, Secretaria General del departamento de Secretaría de la Universidad Politécnica Salesiana y se emite en forma de versión controlada bajo su firma.

79 |

Sello de aprobación Aprobado por

Nombre Cargo

Elaborado por Revisado por

Carolina Matovele Romero. Edwin Serrano Espinoza.

Mauricio Ortiz Coordinador de Desarrollo de Software

El presente documento se encuentra en formato digital en \\172.16.1.159\Documentacion\CEL-001 Historial de cambios

Versión Motivo del cambio Realizado por Fecha

80 |

Descripción General

Propósito

Independientemente de la informática o de la computación, una especificación es un documento formal que denota todas las características funcionales y de calidad que debe poseer el Sistema de certificado electrónico de matrícula y calificaciones del periodo vigente con código QR. En este marco, se podría definir que el propósito de la presente especificación de requerimientos de software es la presentación ordenada, estandarizada y coherente de los requerimientos del Sistema de certificado electrónico de matrícula y calificaciones del periodo vigente con código QR.

Alcance

El alcance, se relaciona con una identificación somera de las funcionalidades que deben poseer los diferentes productos de software que serán generados a partir de la presente SRS. Audiencia y Responsabilidades

Coordinador de Desarrollo de Software

El Coordinador de Desarrollo de Software asegurará que la presente

especificación servirá para la definición del diseño del sistema.

En la etapa de diseño, se propone la solución que planteada la Coordinación

de Desarrollo en torno a los diferentes problemas, requerimientos o

solicitudes planteadas por el usuario en el presente documento.

Personal de la Coordinación de Desarrollo de Software

Será el documento clave o de referencia cuanto exista la necesidad de

profundizar información que no se haya definido o no se encuentre explícita

en el diseño del Sistema.

Usuario

Desde el punto de vista del usuario, este documento sirve como la parte

contractual en donde el usuario expresa todas las funcionalidades que

requiere por parte del Sistema de firmas electrónicas en documentos

institucionales y la verificación mediante direccionamiento con códigos QR

para la Universidad Politécnica Salesiana

Referencias

Código Descripción

DSOF-PRCT-0003

Procedimiento para la elaboración de la especificación de requerimientos de software

Definiciones

Requerimientos funcionales: Se refiere a las capacidades o funcionalidades

que debe realizar el sistema. Este tipo de requerimientos tienen la capacidad

de ir evolucionando desde descripciones textuales a transformarse en

requerimientos con niveles de detalle como modelos conceptuales complejos,

81 |

diagramas de procesos, diagramas de actividades, casos de uso, referencias a

tipos de datos de atributos, rigurosas especificaciones, etc.

Requerimientos no funcionales: Como su nombre lo indica, son

requerimientos que no están ligados directamente con las funcionalidades o

servicios que se proveerá al usuario, sino más bien a las propiedades

embebidas en un sistema. Por este motivo, más que una definición de

requerimientos no funcionales, su profundización se podría dar mediante una

clasificación de los mismos en requerimientos de seguridad, eficiencia,

rendimiento, usabilidad, espacio, etc.

Fuentes de conocimiento

Entorno organizacional

Dentro del entorno organizacional se pudo determinar 0 documentos referentes a las normativas vigentes dentro del Sistema de certificado electrónico de matrícula y calificaciones del periodo vigente con código QR.

Reglamento 1: N/D

Involucrados

En la Tabla 1 se presenta el conjunto de involucrados en la toma de requerimientos del Sistema de certificado digital de matrícula del periodo vigente con código QR

Tabla 1: Matriz de involucrados

Código Nombre Departamento Cargo Categoría Prioridad

1 William Ladino Secretario técnica

e documentación

Secretario de

documentación

Cliente 1

2 Lic. Vilma Mena Secretaría

General de la

Universidad

Politécnica

Salesiana

Secretaria

General

Cliente 1

Análisis

Definición de estructura arquitectónica funcional

La estructura arquitectónica plantea una descomposición modular; la misma que en esta sección debe ser registrada con el fin de organizar las funcionalidades del sistema. Un primer acercamiento a esta estructura arquitectónica se define en el Documento de análisis de factibilidad DSOF-DOCU-0001 relacionado.

1. Implementación de certificado electrónico de matrícula y calificaciones del

periodo vigente con código QR

a. Parámetros

i. Registrar parámetros por certificado

82 |

ii. Secuencias por certificado

b. Funcionalidades

i. Solicitar certificado

ii. Validar certificado

Requerimientos específicos

Requerimientos Funcionales

Sistema de certificado electrónico de matrícula y calificaciones del

periodo vigente con código QR

Tabla 2: Número de requerimiento funcional

Código: 1001

Descripción:

Sistema de Certificado electrónico de matrícula y calificaciones del periodo vigente con código QR

Descripción Detallada:

Describe el análisis, diseño e implementación de Certificado electrónico de matrícula y calificaciones del periodo vigente con código QR. En la cual se debe registrar el documento donde incluirá la firma de remitente y con su respectivo código QR para la verificación de que ese documento es válido.

Proceso:

Figura 31: Sistema de certificado electrónico de matrícula y calificaciones del periodo vigente con código QR

Reglas de negocio:

A continuación, detallamos el proceso para la implementación de las firmas electrónicas con código QR. Para poder iniciar el proceso, el estudiante deberá ingresar a la cuenta personal y seleccionar la opción de certificado electrónico. El sistema verificará si cumple con estas condiciones para procesar el documento, las condiciones son las siguientes:

El estudiante tiene deudas pendientes: Si el estudiante tiene deudas

pendientes, el sistema enviará un mensaje de confirmación y el proceso

terminará. En caso de que el estudiante no tenga deudas, se pasará a la

siguiente condición.

Tiene un certificado emitido dentro de la fecha válida: Si la fecha del

certificado emitido está dentro del rango válido, el sistema informará al

estudiante que con esta acción se generará una nueva prefectura, si es

que no está dentro del rango válido, el sistema no permitirá al estudiante

descargar el certificado.

83 |

Una vez cumplido con las condiciones el estudiante puede generar el certificado, para ello deberá seleccionar los siguientes parámetros: Carrera, periodo y tipo de certificado. El sistema procederá a generar el código QR, la firma electrónica y el certificado. Enviará un mensaje de aviso al estudiante en el cual avisará que al solicitar el documento se generará una prefectura, si el estudiante acepta se generará el certificado, en caso de que no acepte, el proceso terminará. Luego de realizar el proceso, se enviará un correo al estudiante adjuntando la prefactura generada del certificado y el proceso terminará.

Observaciones: Para las resoluciones se realizará en el sistema SNA

Fuentes: Secretaría General de la Universidad Politécnica Salesiana

Verificación: Revisado por: Ing. Mauricio Ortiz

Aprobado por:

84 |

85 |

Tabla 4: Número de requerimiento funcional

Código: 1001

Descripción:

Sistema de Certificado electrónico de matrícula y calificaciones del periodo vigente con código QR

Descripción Detallada:

Describe el análisis, diseño e implementación de Certificado electrónico de matrícula y calificaciones del periodo vigente con código QR. En la cual se debe registrar el documento donde incluirá la firma de remitente y con su respectivo código QR para la verificación de que ese documento es válido.

Proceso:

Figura 32: Proceso de pago

Reglas de negocio:

A continuación, detallamos el proceso para la realización del pago del certificado que se desea emitir: El estudiante tendrá dos opciones de lugar de pago, el banco o acercarse a tesorería de la Universidad. Si el estudiante desea cancelar en el banco, tendrá un plazo promedio de 24 horas para realizar el pago. Si el estudiante desea cancelar en tesorería, la emisión del documento es inmediata. Una vez realizado el pago por parte del estudiante, se identificará en donde realizo el pago. En caso de haber realizado el pago mediante alguna de las entidades bancarias enlazadas con la Universidad, se deberá esperar 24 horas para la validación del pago y a su vez para la emisión de factura. Caso contrario, si pago realizo en tesorería, se emitirá la factura inmediatamente. Una vez realizada la factura, se procederá a la creación del certificado con los diferentes componentes que este incluye, información del certificado solicitado (matrícula y notas por periodo), firma electrónica y código QR para verificación del certificado. Una vez que se haya creado el certificado, se habilitará el botón de descargar para que el estudiante pueda descargarse el certificado.

Observaciones: Para las resoluciones se realizará en el sistema SNA

Fuentes: Secretaría General de la Universidad Politécnica Salesiana

Verificación: Revisado por: Ing. Mauricio Ortiz

Aprobado por:

Figura 33: Proceso de Pago

86 |

Anexos

87 |

Instructivo de Instalación de Herramientas necesarias para el

desarrollo de software

Universidad Politécnica Salesiana

Desarrollo de Software

Código: DSOF-ITRA-0001

Versión: 1.0

Fecha de publicación 8 de noviembre del 2018

Creado por: Analista Programador Junior 14/01/2016

Revisado por: Coordinador de Desarrollo 14//01/2016

Aprobado por: Secretario Técnico de Tecnologías de la Información 14/01/2016

Nivel de confidencialidad:

Interno

88 |

Cuenca, 14 de ENERO de 2016 El presente documento es propiedad del Área de Tecnologías de la Información y el Coordinador de Desarrollo es el encargado de su revisión, actualización, seguimiento, custodia y de cumplir con las responsabilidades expresadas en el Procedimiento de Control de Documentos del Área de Tecnologías de la Información de la Universidad Politécnica Salesiana El instructivo de Instalación y Configuración de Servidor Apache Tomcat (DSOF-ITRA-0001) ha sido revisado por la Coordinación de Desarrollo y aprobado por la Secretaría Técnica de TI de la Universidad Politécnica Salesiana el 14 de enero del 2016 y se emite en forma de versión controlada bajo su firma.

Sello de aprobación Aprobado por

Secretario Técnico de TI de UPS

Elaborado por Revisado por

Analista Programador Junior

Coordinador de Desarrollo

El presente documento se encuentra en formato digital en el repositorio documental del área de Tecnologías de la Información en la carpeta denominada “Sistema de Gestión de Calidad de TI” creada para tal efecto. Historial de cambios

Versión Motivo del cambio Realizado

por Fecha

1.0 Plantilla de Instructivos Analista Programador Junior

2016/Enero/14

Detalle de Personas Involucradas Ing. Pedro Javier Rodríguez López Analista Programador Junior Desarrollo de Software

89 |

Propósito El presente documento describe el procedimiento para instalar y configurar el servidor Apache Tomcat de manera local, para uso individual. Por tal motivo es importante tenerlo presente. Descripción de los pasos a seguir Requisitos Para proceder con la instalación y configuración del ambiente de desarrollo es necesario contar con el siguiente listado de instaladores, carpetas y archivos de configuración.

Figura 34: Software a instalar.

Instalación JDK 1.8 Ejecutamos el archivo jdk-8u191-windows-x64.exe

90 |

91 |

Instalación Cliente Oracle

92 |

93 |

94 |

Instalar PL/SQL

95 |

Instalación Oracle SQL Developer

Descargar última versión de Oracle SQL Developer, descomprimir en un lugar seguro y

crear acceso directo.

Al abrirlo por primera vez es necesario colocar la ubicación del JDK para que pueda

funcionar normalmente.

Instalación Oracle Datamodeler

Descargar última versión de Oracle Datamodeler, descomprimir en un lugar seguro y

crear acceso directo.

Al abrirlo por primera vez es necesario colocar la ubicación del JDK para que pueda

funcionar normalmente.

96 |

Instalación Netbeans

97 |

98 |

99 |

Instalación Apache

100 |

101 |

102 |

Configuración CAS

103 |

Copiar carpeta “sso” a la dirección: “C:\Program Files\Apache Software

Foundation\Tomcat 8.0\webapps”.

Instalación SourceTree Dentro de la carpeta Git esta el instalador de SourceTree:

Es necesario loguearse en su cuenta

104 |

105 |

106 |

107 |

Configuración Apache Maven

Copiar la carpeta “apache-maven-3.5.0” directamente a la unidad C:

Activar Maven desde Herramientas > Opciones > Java > Maven > Activate

108 |

Modificar el “Maven Home” para que apunte a la dirección:

109 |

Configuración Wildfly

Descomprimir el contenido del archivo “wildfly-13.0.0.Final.zip” y copiarlo

directamente a la unidad C:

Agregar Wildfly a Netbeans:

110 |

111 |

112 |

Importar un proyecto desde bit-bucket

Al dar clic en “Clone in SourceTree” este abrirá automáticamente la aplicación para

clonar el proyecto.

113 |

Seleccionar la ubicación y dar clic en “Clone”

114 |

Abrir NetBeans y abrir el proyecto desde el lugar en donde se descargó:

Dar doble clic en el módulo Web para que se abra como proyecto individual.

115 |

Configuración settings.xml

Luego de haber importado el primer proyecto web, se deberá copiar el archivo

settings.xml a la carpeta “C:\Users\UPS\.m2”

Luego de copiar el archivo, este aparecerá en NetBeans en todos los proyectos abiertos

en la carpeta “Archivos de Proyecto”. En este documento se debera comentar la sección

“proxies” y se deberan colocar cuatro veces los credenciales necesarios en el lugar

correspondiente para que se puedan conectar al repositorio online http://dev-

repository.ups.edu.ec/nexus/ (ver imagen a continuación)

116 |

Configuración DataSource

Abrimos Netbeans os ubicamos en la pestana “Prestaciones”, clic derecho en el servidor

que anteriormente cargamos Wildfly y le damos a la opción “Editar configuración”

Agregamos un nuevo datasource, haciendo referencia a la base de datos que tenemos

creada y con nuestro usuario y contraseña.

117 |