Desarrollo e implementación de una aplicación móvil enfocada a la inclusión social

Page 1

PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO

Dirección Académica- Escuela de Sistemas DESARROLLO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL ENFOCADA A LA INCLUSIÓN SOCIAL, QUE BRINDE INFORMACIÓN DEL LUGAR DE SUFRAGIO PARA MEJORAR EL SERVICIO QUE OFRECE EL CONSEJO NACIONAL ELECTORAL EN SANTO DOMINGO; PERÍODO 2016-2017

Trabajo de Titulación previo a la obtención del título de Ingeniera de Sistemas y Computación.

Línea de investigación: Estudio, Diseño e Implementación de Software

Autora: SANDOVAL MONTOYA JENNY GABRIELA

Director: Mg. LUIS JAVIER ULLOA MENESES

Santo Domingo – Ecuador Agosto, 2017


PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO

Dirección Académica- Escuela de Sistemas

HOJA DE APROBACIÓN DESARROLLO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL ENFOCADA A LA INCLUSIÓN SOCIAL, QUE BRINDE INFORMACIÓN DEL LUGAR DE SUFRAGIO PARA MEJORAR EL SERVICIO QUE OFRECE EL CONSEJO NACIONAL ELECTORAL EN SANTO DOMINGO; PERÍODO 2016-2017

Línea de investigación: Estudio, Diseño e Implementación de Software Autora: SANDOVAL MONTOYA JENNY GABRIELA

Luis Javier Ulloa Meneses, Mg.

f. __________________________

DIRECTOR DE TRABAJO DE TITULACIÓN Rodolfo Sirilo Córdova Gálvez, Mg.

f. __________________________

CALIFICADOR Jon Azcona Esteban, Mg.

f. __________________________

CALIFICADOR Margoth Elisa Guaraca Moyota, Mg. DIRECTORA DE LA ESCUELA DE SISTEMAS

f. __________________________

Santo Domingo – Ecuador Agosto, 2017


iii

DECLARACIÓN DE AUTENTICIDAD Y RESPONSABILIDAD

Yo, Jenny Gabriela Sandoval Montoya portadora de la cédula de identidad No. 1721248886 declaro que los resultados obtenidos en la investigación que presento como informe final, previo a la obtención del Grado de Ingeniera en Sistemas y Computación son absolutamente originales, auténticos y personales. En tal virtud, declaro que el contenido, las condiciones y los efectos legales y académicos que se desprenden del trabajo propuesto de la investigación y luego de la redacción de este documento son y serán de mi sola y exclusiva responsabilidad legal y académica.

Jenny Gabriela Sandoval Montoya CI. 172124888-6


iv

AGRADECIMIENTO

En primer lugar, a Dios por permitirme tener el honor de estar rodeada con tan valiosas personas, a quienes agradezco por su aporte que se ve reflejado en la culminación de mi proyecto de Disertación de grado. Son tantas las personas que han forman parte de mi vida académica y que, gracias a su apoyo y consejos he podido llegar hasta estas instancias, a todas ellas deseo agradecerles y de manera especial a mi familia, sobre todo a mi madre por ser aquella persona que ha estado presente en cada paso de mi vida, brindándome todo su cariño. Agradezco también a mis maestros por guiarme en este proceso y brindar todos sus conocimientos, motivarme con su experiencia y paciencia, y estar presentes en las etapas que han comprendido el desarrollo de la presente Disertación. De todo corazón muchas gracias por pertenecer a mi vida y quedarse grabados en mis recuerdos más felices, por todo lo que me han brindado y por sus buenos deseos.


v

DEDICATORIA

Con infinito amor dedico este proyecto de Disertaciรณn a mi madre y todas las personas que con su apoyo me han motivado a seguir adelante y nunca rendirme.


vi

RESUMEN

El principal objetivo de este proyecto de Disertación de Grado se enfoca a dar solución a una necesidad que se venía presentando en el CNE- Santo Domingo desde hace un tiempo atrás, y es la inclusión de los ciudadanos en temas de interés público, sobre todo de aquellas personas que presentan alguna discapacidad y que por su condición no pueden acceder a información con facilidad. Por tal motivo se desarrolló una aplicación móvil que informe a las personas acerca del lugar de votación, permitiendo hacer consultas por medio de voz o texto y dependiendo del tipo de consulta la respuesta se brindará del mismo modo. Esto hace que la aplicación sea de carácter inclusivo. Este proyecto presenta una investigación Aplicada con enfoque mixto y diseño Exploratorio Secuencial de tipo Derivativo. Para el desarrollo de la App se utilizó la metodología XP, por adaptarse a los requerimientos del proyecto. Para reducir costos se empleó herramientas Open Source como Android Studio versión-2.2.3 que incorpora a Java para Android, como lenguaje de programación; como motor de base de datos SQLite versión-3.10.00 y del lado del servidor PHP versión-7.0. Como resultado la aplicación tuvo gran acogida obteniendo más de 12000 descargas en menos de dos meses, por tal motivo Google-Play envía su felicitación indicando que la aplicación, durante los meses de febrero a marzo, se ubicó en el puesto número uno en Ecuador en la categoría Comunicación-Libre y número 28 entre los 30 países del ranquin en el que se encuentra Ecuador.


vii

ABSTRACT

The main objective of this Degree Dissertation project is focused on solving a need that had been presented in the CNE-Santo Domingo for a long time, and is the inclusion of citizens in subjects of public interest, Those people who have a disability and because of their condition can not easily access information. For this reason a mobile application was developed that informs people about the polling place, allowing queries by voice or text and depending on the type of query the answer will be given in the same way. This makes the application an inclusive one. This project presents an Applied research with mixed approach and Sequential Exploratory Design of Derivative type. For the development of the App the methodology XP was used, to adapt to the requirements of the project. To reduce costs we used Open Source tools like Android Studio version-2.2.3 that incorporates Java for Android, as a programming language; Such as SQLite database engine version-3.10.00 and server-side PHP version-7.0. As a result, the application was well received with more than 12,000 downloads in less than two months, so Google-Play sends its congratulations indicating that the application, during the months of February to March, was ranked number one in Ecuador in The CommunicationFree category and number 28 among the 30 countries of the rank where Ecuador is located.


viii

Índice de Contenidos

1.

INTRODUCCIÓN ................................................................................................... 1

2.

PLANTEAMIENTO DEL PROBLEMA .............................................................. 3

2.1.

Antecedentes .......................................................................................................... 3

2.2.

Problema de investigación ..................................................................................... 6

2.3.

Justificación de la investigación ............................................................................ 7

2.4.

Objetivos de la Investigación ................................................................................. 8

2.4.1.

Objetivo General: ............................................................................................... 8

2.4.2.

Objetivos Específicos: ........................................................................................ 8

3.

MARCO REFERENCIAL...................................................................................... 9

3.1.

Esquema de contenidos .......................................................................................... 9

3.2.

DESARROLLO TEMÁTICO ............................................................................. 10

3.2.1.

Ingeniería de Software ..................................................................................... 10

3.2.1.1.

Comunicación ............................................................................................... 10

3.2.1.2.

Planeación ..................................................................................................... 10

3.2.1.3.

Modelado ...................................................................................................... 15

3.2.1.4.

Construcción ................................................................................................. 15

3.2.1.5.

Despliegue .................................................................................................... 16

3.2.2.

Base de Datos ................................................................................................... 16

3.2.2.2.

Sistema Gestor de Base de Datos ................................................................. 17

3.2.2.3.

Modelos de Base de Datos............................................................................ 17

3.2.2.4.

Usuarios de una Base de Datos..................................................................... 19

3.2.2.5.

Motores de una Base de Datos ..................................................................... 20

3.2.3.

Servidor ............................................................................................................ 22

3.2.3.1.

¿Qué es un servidor?..................................................................................... 22

3.2.3.2.

Tipos de servidores ....................................................................................... 22

3.2.4.

Lenguajes de Programación ............................................................................. 23

3.2.4.1.

Lenguajes de Bajo Nivel............................................................................... 23

3.2.4.2.

Lenguajes de Alto Nivel ............................................................................... 23

3.2.5.

Aplicaciones Móviles ....................................................................................... 25

3.2.5.1.

Introducción .................................................................................................. 25

3.2.5.2.

Ciclo de vida de una aplicación Android...................................................... 26


ix

3.2.5.3.

Requerimientos ............................................................................................. 27

3.2.5.4.

Herramientas de desarrollo ........................................................................... 27

3.2.6.

Inclusión Social ................................................................................................ 29

3.2.7.

Sufragios........................................................................................................... 29

4.

METODOLOGÍA DE LA INVESTIGACIÓN ................................................... 32

4.1.

Tipo de investigación ........................................................................................... 32

4.2.

Enfoque de investigación ..................................................................................... 32

4.3.

Diseño de la investigación ................................................................................... 32

4.4.

Población / Universo ............................................................................................ 33

4.4.1. 5.

Población .......................................................................................................... 33

RESULTADOS ...................................................................................................... 41

5.1.

Discusión y Análisis de los resultados ................................................................. 41

5.1.1.

Análisis de las encuestas .................................................................................. 41

5.1.2.

Análisis de la entrevista.................................................................................... 49

5.2.

Desarrollo de la metodología XP para el desarrollo de Software ........................ 53

5.2.1.

Etapa de planeación .......................................................................................... 53

5.2.2.

Etapa de Diseño ................................................................................................ 53

5.2.3.

Etapa de Codificación ...................................................................................... 53

5.2.3.1.

Estructura de Código Fuente ........................................................................ 54

5.2.3.2.

Script de la BDD........................................................................................... 55

5.2.3.3.

Diccionario de Datos .................................................................................... 57

5.2.4.

Etapa de Pruebas .............................................................................................. 58

5.4.

Conclusiones ........................................................................................................ 66

5.5.

Recomendaciones ................................................................................................ 66

6.

LISTA DE REFERENCIAS: ................................................................................ 67

GLOSARIO ................................................................................................................... 72 ANEXOS ........................................................................................................................ 75


x

Índice de Figuras

Figura 1: Estructura orgánica funcional del CNE ...................................................................... 4 Figura 2: Esquema de contenidos .............................................................................................. 9 Figura 3: Modelo de la cascada ............................................................................................... 11 Figura 4: Modelo incremental .................................................................................................. 11 Figura 5: El paradigma de hacer prototipos ............................................................................. 12 Figura 6: Modelo concurrente .................................................................................................. 12 Figura 7: El ciclo de liberación de la programación extrema .................................................. 13 Figura 8: Representación gráfica de una entidad ..................................................................... 18 Figura 9: Representación gráfica de una relación .................................................................... 18 Figura 10: Representación gráfica de una relación con sus atributos ...................................... 19 Figura 11: Logo de MySQL..................................................................................................... 20 Figura 12: Logo de PostgreSQL .............................................................................................. 21 Figura 13: Logo de Oracle ....................................................................................................... 21 Figura 14: Esquema de un Servidor ......................................................................................... 22 Figura 15: Elementos de la plataforma Java ........................................................................... 24 Figura 16: Desarrollo de programas en Java............................................................................ 24 Figura 17: Logo de PHP .......................................................................................................... 25 Figura 18: Ciclo de vida de una actividad. .............................................................................. 26 Figura 19: Logo de Android Studio ......................................................................................... 27 Figura 20: Archivos del proyecto en la vista de Android. ....................................................... 28 Figura 21: Historia de usuario.................................................................................................. 38 Figura 22: Ciclos de desarrollo en cascada e iterativos tradicionales comparados con el de XP. .................................................................................................................................................. 40 Figura 23: Número de horas usando un Smartphone. .............................................................. 41 Figura 24: Elección de aplicaciones. ....................................................................................... 42 Figura 25: Facilidad de uso de aplicaciones móviles............................................................... 43 Figura 26: Inconvenientes con horario de atención del CNE (mesas de información). .......... 44 Figura 27: Necesidad de la existencia de la aplicación móvil. ............................................... 45 Figura 28: Percepción de mejora. ............................................................................................ 46 Figura 29: Concordancia con la idea de mejora....................................................................... 47 Figura 30: Idea de satisfacción con el uso de la aplicación móvil. .......................................... 48


xi

Figura 31: Estructura de Código Fuente. ................................................................................. 54 Figura 32: Estructura de Código Fuente - app ......................................................................... 54 Figura 33: Estructura de Código Fuente – app-main-java/res ................................................. 55 Figura 34: Captura de pantalla de la búsqueda de la aplicación CNE-Consulta Lugar de Votación, en la Play Store ........................................................................................................ 58 Figura 35: Captura de pantalla del inicio de la aplicación CNE-Consulta Lugar de Votación. .................................................................................................................................................. 59 Figura 36: Captura de pantalla de búsqueda por voz en la aplicación CNE-Consulta Lugar de Votación. .................................................................................................................................. 60 Figura 37: Captura de pantalla de búsqueda por voz en la aplicación CNE-Consulta Lugar de Votación. .................................................................................................................................. 60 Figura 38: Captura de pantalla de búsqueda manual en la aplicación CNE-Consulta Lugar de Votación. .................................................................................................................................. 61 Figura 39: Captura de pantalla de búsqueda manual en la aplicación CNE-Consulta Lugar de Votación. .................................................................................................................................. 61 Figura 40: Captura de pantalla de búsqueda manual en la aplicación CNE-Consulta Lugar de Votación. .................................................................................................................................. 62 Figura 41:Captura de pantalla de búsqueda manual en la aplicación CNE-Consulta Lugar de Votación. .................................................................................................................................. 62 Figura 42:Captura de pantalla de búsqueda manual en la aplicación CNE-Consulta Lugar de Votación. .................................................................................................................................. 63 Figura 43: Consola de administración de Google Play ............................................................ 64 Figura 44: Comentarios de usuarios de la App. ....................................................................... 64 Figura 45: Correo de Felicitaciones ......................................................................................... 65


xii

Índice de Tablas

Tabla 1 Comparativa entre Metodologías Tradicionales y ágiles .................................. 35 Tabla 2 Ranquin de agilidad ......................................................................................... 36 Tabla 3 Proceso de software en XP y Scrum ................................................................. 36 Tabla 4 Figura 23: Número de horas usando un Smartphone.. ..................................... 41 Tabla 5 Elección de aplicaciones. ................................................................................. 42 Tabla 6 Facilidad de uso de aplicaciones móviles. ....................................................... 43 Tabla 7 Inconvenientes con horario de atención del CNE (mesas de información). .... 44 Tabla 8 Necesidad de la existencia de la aplicación móvil. .......................................... 45 Tabla 9 Percepción de mejora. ...................................................................................... 46 Tabla 10 Concordancia con la idea de mejora. ............................................................. 47 Tabla 11 Idea de satisfacción con el uso de la aplicación móvil. ................................. 48


xiii

Índice de Anexos

Anexo 1: Carta de Solicitud de acceso a Información para inicio del proyecto ...................... 75 Anexo 2: Acta Entrega recepción ............................................................................................ 76 Anexo 3: Carta de Impacto ...................................................................................................... 77 Anexo 4: Datos estadísticos del INEC sobre el uso de Smartphones a nivel nacional ............ 78 Anexo 5: Formato de encuestas aplicadas a la muestra ........................................................... 82 Anexo 6: Banco de preguntas usado para entrevistar a Funcionario del CNE ........................ 84 Anexo 7: Historias de usuario .................................................................................................. 85 Anexo 8: Diagramas ................................................................................................................ 88 Anexo 9: Diccionario de Datos ................................................................................................ 90 Anexo 10: Manual Técnico ...................................................................................................... 93


1

1. INTRODUCCIÓN La tecnología está avanzando, tanto a nivel de software como de hardware y con el surgimiento de nuevos dispositivos móviles, la comunicación de las personas mejora, cada vez estamos más cerca de la información que necesitamos y es importante que este auge se use de manera eficiente para promover la inclusión de los y las ciudadanas en procesos de interés nacional.

La presente Disertación de grado es un trabajo investigativo que busca apoyar al CNE en el proceso de informar a la ciudadanía de Santo Domingo el lugar donde debe sufragar en las elecciones generales del 2017, enfocado a la inclusión de las personas con discapacidades, que por su condición no pueden acercarse a las mesas de información que el CNE instala oportunamente para que la ciudadanía se informe.

El desarrollo de una aplicación móvil que informe el lugar de sufragio, fomenta significativamente la inclusión de las y los ciudadanos a los procesos de interés público como es el caso de las elecciones generales, además optimiza el tiempo de aquellas personas que por su trabajo o cualquier otra situación no puedan acercarse a las mesas de información pero que al igual que todos necesitan de ésta para poder ejercer su derecho al voto.

Para fundamentar el trabajo investigativo se ha recogido datos que provienen de una bibliografía amplia para abordar temas concernientes con el proceso de desarrollo de aplicaciones móviles y el proceso de ingeniería de software que requiere un proyecto de esta magnitud.

La presente disertación se encuentra estructurada de la siguiente manera, tomando como guía los estándares establecidos por la Pontificia Universidad Católica del Ecuador sede Santo Domingo:

Sección I, Introducción, aquí se presenta el tema de investigación, una visión general en torno a este tema y su importancia, así como las partes que conforman el presente documento. Sección II, Planteamiento del Problema, en este apartado se abordan los antecedentes que giran en torno al tema de estudio, se define con claridad el problema de investigación, se


2

establece la justificación de la investigación y se plantea el objetivo general y los objetivos específicos.

Sección III, Marco Referencial, se hace una recopilación bibliográfica y lincográfica sobre conceptos y temas puntuales que se abordaran en la presente disertación, para esto se ha hecho uso de los libros que se encuentran en la Biblioteca de la PUCE-SD y demás sitios web para la consulta de los mismos.

Sección IV, Metodología de la Investigación, se da a conocer sobre el tipo, enfoque y diseño de investigación que se está utilizando para el desarrollo del proyecto, así como la definición de la población y muestra con la que se trabajara para el desarrollo de la investigación y también se definen las herramientas y técnicas de recogidas de datos y por último en esta sección se da a conocer el tipo de metodología de desarrollo de software que se usara para el desarrollo de la aplicación móvil.

Sección V, Resultados, es el análisis en base a la aplicación de herramientas y técnicas de recogidas de datos que se hace de manera sistemática y minuciosa de acuerdo con la metodología de investigación y desarrollo de software previamente especificadas, además de las conclusiones que se tiene de la presente disertación.

Como parte final de este documento se incluirán anexos y fuentes de referencia que se usaron para el desarrollo de la presente disertación de grado para obtención del título de Ingeniera en Sistemas y Computación.


3

2. PLANTEAMIENTO DEL PROBLEMA

2.1.

Antecedentes

En el 2008, la Asamblea Constituyente de Montecristi decidió crear, con la Constitución en vigencia, dos poderes más dentro de la estructura del Estado: la Función Electoral y la Función de Transparencia. Dentro de la Función Electoral se crearon dos instituciones, el Consejo Nacional Electoral (CNE) y el Tribunal Contencioso Electoral. (Noboa, 2015)

En la actualidad el CNE cuenta con 24 delegaciones provinciales con el objetivo de descentralizar los servicios que ofrece. El Director de la Delegación Provincial Electoral de Santo Domingo de los Tsáchilas es el Dr. Fabián Sotomayor Quezada, quien está al frente de esta delegación que según la información que se anuncia el sitio web oficial, brinda los siguientes servicios a la población de Santo Domingo: - Planificar, dirigir, vigilar y garantizar los procesos electorales de la jurisdicción. - Conocer, resolver e informar, al Consejo Nacional Electoral acerca de los aspectos relativos a la organización y funcionamiento administrativo y financiero de la Delegación Provincial que exceda del ámbito de competencia de la misma. […] - Conocer y resolver los expedientes del gasto electoral de las organizaciones políticas a nivel provincial, cantonal y parroquial. - Elaborar y ejecutar el Plan Operativo Anual (POA). - Receptar Cambios de Domicilio Electoral. (CNE, 2016)

La delegación Santo Domingo, se encuentra ubicada en la Av. Abraham Calazacón y Trujillo atendiendo al público de lunes a viernes, de 08h30 a 17h00, además cuenta con el número de contacto telefónico 022744-906 y su página web: www.cne.gob.ec, también se encuentra en las redes sociales Twitter: @CNESantoDomingo y Facebook: CNE Santo Domingo de los Tsáchilas, para facilitar a la población el acceso a la información que necesite.


4

La institución cuenta con su respectiva misión y visión que se detalla a continuación: Misión El Consejo Nacional Electoral garantiza el ejercicio de los derechos políticos de la ciudadanía y promueve el fortalecimiento de la democracia, mediante la organización de procesos electorales y el apoyo a las organizaciones políticas y sociales; asegurando una participación equitativa, igualitaria, paritaria, intercultural, libre, democrática y justa para elegir y ser elegidos. (CNE, 2016)

Visión “En el año 2017, ser una institución electoral posicionada como referente en los ámbitos nacional e internacional, que innova continuamente sus procesos con el fin de consolidar la democracia representativa, directa y comunitaria”. (CNE, 2016) Organigrama estructural

Figura 1: Estructura orgánica funcional del CNE Fuente: CNE. (Enero de 2015). Estructura orgánica funcional. Recuperado el 10 de Noviembre de 2016, de cne.gob.ec: http://cne.gob.ec/es/transparencia/2015/category/168-a1-estructura-organica-funcional


5

El Concejo Nacional Electoral (CNE) es una institución pública, responsable de la transparencia de los procesos electorales, con 24 delegaciones distribuidas en el país (una en cada provincia) para descentralizar los servicios que brinda. En Santo Domingo de los Colorados contamos con la respectiva delegación.

En la actualidad el CNE se encuentra trabajando arduamente para garantizar la transparencia y democracia de las elecciones de febrero del 2017, motivo por el cual buscan mantener informada a toda la población de Santo Domingo de todo el proceso electoral, para esto se suele colocar mesas de información a las que acuden las personas que quieren saber el lugar exacto en donde deben sufragar, esto genera malestar para quienes no tienen tiempo de acudir a lo largo del día o para las personas con capacidades especiales que por su condición debe permanecer en casa y en ocasiones se ven excluidas de este tipo de información.


6

2.2.

Problema de investigación

Pariendo de la necesidad de informar a todas y todos los votantes de la provincia, se ve la necesidad de incluir a aquellas personas que por su condición de discapacidad no se puedan acercar a las mesas de información que instala el CNE, y se piensa en la manera de buscar la tan anhelada inclusión, y que mejor que haciendo uso de las tecnologías de la información, de las cuales nos vemos rodeados en la actualidad.

Es así, que ante el presente panorama surgen las siguientes interrogantes antes de comenzar con la investigación. 

¿Qué porcentaje de votantes es Santo Domingo presentan capacidades especiales?

¿Cómo ayudaría a la población la implementación de una App que facilite información sobre el lugar de sufragio?

¿Es necesario hacer uso de las TIC para el mejoramiento en la calidad del servicio brindado por las instituciones del sector público?

¿Qué herramientas son adecuadas para el desarrollo de una aplicación móvil?

¿Qué metodología de desarrollo de software, se adapta a los procesos necesarios para el desarrollo de una aplicación para el CNE?


7

2.3.

Justificación de la investigación

Una App es una aplicación móvil que se instala en los dispositivos móviles como celulares y tablets que brinda apoyo a personas que la usa en una determinada tarea, ya sea de carácter laboral, educativo o entretenimiento. En la actualidad se puede ver un creciente uso de los teléfonos inteligentes en la ciudadanía, pues según datos estadísticos del INEC (Instituto Nacional de Estadística y Censos) se puede ver que el uso de Smartphones ha crecido en los últimos años (Ver en Anexo 4).

El uso de una App de carácter informativo sería una solución eficiente para dar a conocer a la población de Santo Domingo el lugar exacto donde tendrán que sufragar en las elecciones generales del 2017, además de que se fomenta la inclusión social debido a que personas con capacidades especiales pueden hacer uso de ella; pues de hecho la motivación de la creación de esta aplicación móvil son precisamente las personas no videntes.

Este proyecto resulta útil, no solamente para personas no videntes que por su condición necesariamente deben escuchar el lugar de votaciones, sino que es de ayuda para todos quienes quieran hacer uso de esta aplicación, generando de esta manera una verdadera inclusión social en Santo Domingo con visión a que se pueda implementar a nivel nacional. Pues además de contribuir con el objetivo 4 del Plan Nacional del Buen Vivir, se ayuda al cumplimiento del objetivo 1 Consolidar el Estado democrático y la construcción del poder popular que tiene como Política y lineamiento estratégico 1.2 Garantizar la prestación de servicios públicos de calidad y con calidez y 1.5. Afianzar una gestión pública inclusiva, oportuna, eficiente, eficaz y de excelencia; contribuyendo de igual manera al cumplimiento de la meta 1.5 Aumentar el índice de percepción de la calidad de los servicios públicos a 8 puntos para el 2017.

Cabe recalcar que el proyecto tiene total aceptación por el CNE pues es una propuesta sugerida por el Coordinador de Procesos Electorales y Participación Política, Ing. Eddy Mesa, quién de manera acertada brindará toda la información para el desarrollo de la App y las facilidades necesarias para que el proyecto culmine con éxito.


8

2.4.

Objetivos de la Investigación

2.4.1. Objetivo General: Implementar una aplicación móvil enfocada a la inclusión social, que brinde información del lugar de sufragio a la población de Santo Domingo de los Tsáchilas, para las elecciones generales del 2017.

2.4.2. Objetivos Específicos: 

Fundamentar estadísticamente la existencia de votantes que presentan capacidades especiales en Santo Domingo.

Desarrollar una aplicación móvil, que permita dar información oportuna a la población de Santo Domingo, sobre el lugar de sufragio para las elecciones generales del 2017, misma que este dirigida a promover la inclusión social en el país.

Establecer las necesidades de requerimientos del CNE Santo Domingo, que le permitan brindar un mejor servicio a la ciudadanía.

Usar las herramientas adecuadas para el desarrollo de una aplicación móvil.

Hacer uso de una metodología de desarrollo de software que se adapte al presente proyecto de Disertación.


9

3. MARCO REFERENCIAL

3.1.

Esquema de contenidos

Figura 2: Esquema de contenidos Fuente: Autor


10

3.2.

Desarrollo temático

A continuación, se hace una revisión bibliográfica de autores relevantes que permiten sustentar la investigación.

3.2.1. Ingeniería de Software La ingeniería de software es una disciplina de la ingeniería que se interesa por todos los aspectos de la producción de software, teniendo como actividades fundamentales la especificación, desarrollo, validación y evaluación del software. (Sommerville, 2011, p. 6). Tomando como base para el proceso de desarrollo de software cinco actividades estructurales genéricas que según Pressman, (2010) son: Comunicación, Planeación, Modelado, Construcción y Despliegue.

3.2.1.1.

Comunicación

Esta es la etapa más importante dentro del desarrollo de un sistema informáticos, la cual se lleva a cabo al inicio de todo el proyecto, es aquí donde el desarrollador entra en contacto por primera vez con el cliente y dependerá de la buena comunicación que exista para que el proyecto tenga éxito al final, durante esta comunicación se reúnen todos los requerimientos de usuario (“características y funcionalidades del software”) y el cliente tiene una visión general de cómo será el trabajo final para que no existan malos entendidos. (Pressman, 2010, p. 13)

3.2.1.2.

Planeación

En este punto es donde a partir de la información obtenida en la comunicación se elabora un plan de proyecto de software que para Pressman, (2010) es como un mapa que guía el camino de todo el proceso de desarrollo del proyecto y sin el cual nos perderíamos. Aquí vamos a describir todas las tareas por realizar, el tiempo que nos vamos a tardar, las herramientas que se van a utilizar y sobre todo analizar los riesgos que se pueden presentar durante el camino. (p. 13) 3.2.1.2.1. Modelos Prescriptivos Dentro de la planeación encontramos a los modelos prescriptivos los cuales según Pressman, (2010) surgen para poner fin al caos del desarrollo de software. (p. 33) La elección de un modelo depende de las características que tiene el proyecto y analizar cuál de todos se adapta mejor a las necesidades únicas del mismo, existen 4 modelos prescriptivos: cascada, incremental, evolutivo y concurrente.


11

Modelo Cascada Este modelo fluye en forma razonablemente lineal, tiene un ciclo de vida clásico y sugiere un enfoque sistemático y secuencial; sus principales debilidades son que en la vida real los proyectos no siguen un proceso lineal debido a que para el cliente es difícil enunciar explícitamente cuáles son sus requerimientos desde el inicio generando así incertidumbre al comienzo del proyecto y resultaría desastroso encontrar un problema ya que hay que retroceder en todo. Por otro lado, es un modelo muy útil cuando los requerimientos son fijos. (Pressman, 2010, pp. 33-34)

Figura 3: Modelo de la cascada Fuente: Pressman, R. S. (2010). Ingeniería de software Un enfoque práctico. México, D. F.: McGraw-Hill Educación. P. 34

Modelo Incremental Está diseñado para producir SW en incrementos susceptibles de entregarse y para dar soluciones rápidas con funcionalidades limitadas que luego se aumenta en entregas posteriores, se aplica una secuencia lineal en forma escalonada a medica del calendario de activadas. Se conoce a cada entrega como incremento y el primero es netamente de pruebas y lleva el nombre versión desnuda, donde los usuarios lo evaluarán para poder realizar mejoras. Este modelo es útil cuando es un proyecto grande y al principio se cuenta con personal reducido, pero con el tiempo se incorpora más personal a trabajar. (Pressman, 2010, p. 36)

Figura 4: Modelo incremental Fuente: Pressman, R. S. (2010). Ingeniería de software Un enfoque práctico. México, D. F.: McGraw-Hill Educación. P. 36


12

Modelo Evolutivo Consiste en hacer prototipos en los cuales el cliente define un conjunto de objetivos generales, pero no identifica claramente los requerimientos por lo que es frecuente que los mismos cambien, con la entrega de los prototipos se mejora la comprensión de los requerimientos y se va evolucionando en función del tiempo pues al igual que el incremental al inicio se entregan versiones limitadas. La principal desventaja de este modelo es que por hacer funcional un producto de SW no se considera la calidad pues en muchas ocasiones los resultados no son óptimos. (Pressman, 2010, pp. 36-37)

Figura 5: El paradigma de hacer prototipos Fuente: Pressman, R. S. (2010). Ingeniería de software Un enfoque práctico. México, D. F.: McGraw-Hill Educación. P. 37

Modelo Concurrente Este modelo permite que múltiples actividades ocurran de manera simultánea desencadenando transiciones de un estado a otro por cada actividad representando elementos interactivos de cualquier modelo de proceso anterior. (Pressman, 2010, p. 42)

Figura 6: Modelo concurrente Fuente: Pressman, R. S. (2010). Ingeniería de software Un enfoque práctico. México, D. F.: McGraw-Hill Educación. P. 42


13

3.2.1.2.2. Desarrollo Ágil Es algo más que una respuesta efectiva al cambio que la economía moderna necesita, pues la fluidez implica cambio y el cambio es costoso para las empresas, en ocasiones al seguir un modelo ágil se olvida la principal falencia y es que los ingenieros no son máquinas y por ende existen errores, en este modelo se adopta al cliente como parte del equipo de desarrollo y es por eso que en el desarrollo ágil se dice que siempre el trabajo es en equipo. (Pressman, 2010, p. 56-57)

3.2.1.2.2.1.

Programación Extrema (XP)

Este es el método ágil más conocido y como afirman Sommerville, (2011) fue introducido con este nombre por Beck (2000) donde los requerimientos se expresan como escenarios llamándose historias de usuario, aquí se trabaja por escenario y se lo desarrolla a cada uno de manera independiente y cuando ya se le hayan realizado todas las pruebas podrá al fin incluirse al sistema como tal. (pp. 64-65). Para llevar a cabo una programación extrema y que esta a su vez tenga éxito es necesario tener presente cinco valores fundamentales que son: comunicación, simplicidad, retroalimentación, valentía y respeto. (Pressman, 2010, p. 61-62)

Figura 7: El ciclo de liberación de la programación extrema Fuente: Sommerville, I. (2011). INGENIERÍA DE SOFTWARE (9 ed.). Naucalpan de Juárez, Estado de México: PEARSON EDUCACIÓN. P. 65

3.2.1.2.2.2.

Scrum

Este es un modelo de desarrollo ágil que lleva ese nombre por una jugada en el rugby (Pressman, 2010, p. 69), se basa en el trabajo en pares y tiene tres etapas: planeación, ciclos sprint (cada sprint es de longitud estable normalmente es de 30 días) y cierre del proyecto. (Sommerville, 2011, p. 73)


14

3.2.1.2.3. Espectro Administrativo El espectro administrativo es importante en el desarrollo de productos de software, pues los aspectos formales de la ingeniería de software deben ser considerados por un gerente de una empresa que se dedique a desarrollo de software y debe tomar en cuenta las cuatro Ps que son el personal, producto, proceso y proyecto; es importante recordar el orden de prioridad siempre pensando que el personal es lo más importante. Aquí se aplican las métricas para evaluar el desempeño de los desarrolladores, estas son las métricas basadas en función (Punto de Función - PF) y métricas orientas a tamaño (Mil Líneas de Código Fuente - KLOC) para en base a esto estimar el tiempo en el que demora el equipo de desarrollo en terminar un proyecto. (Pressman, 2010, pp. 555-577) 3.2.1.2.3.1.

Personal

Para desarrollar software de calidad es importante contar con personal altamente calificado y tener en cuenta que la comunicación dentro del equipo sea bastante fluida porque la falta de comunicación genera retrasos e inestabilidad. Para el líder del equipo el personal es lo más valioso, se considera como personal a todas las personas involucradas: desarrolladores, líderes, gerente, cliente, usuarios finales y otras personas relacionadas. (Pressman, 2010, pp. 555-561) 3.2.1.2.3.2.

Producto

Comienza con la planeación y básicamente un producto de software es aquello que le da solución a un problema y para esto es necesario en la planeación descomponer este problema tomando en cuenta dos aspectos: funcionalidad y contenido de la información y el proceso que se usará para entregarlo. (Pressman, 2010, pp. 555-556) 3.2.1.2.3.3.

Proceso

Consiste en seleccionar el modelo que el equipo someterá a ingeniería y luego se define el plan del proyecto (estimaciones, programación de actividades) y se debe respetar el principio W5HH que consiste en hacerse las preguntas Why, What, When, Who, Where, How y How much. (Pressman, 2010, pp. 564-566) 3.2.1.2.3.4.

Proyecto

Para tener éxito en el proyecto es necesario según Pressman, (2010) tener un orden y compromiso verdadero, pues solo aquellos proyectos que han cumplido a tiempo con su cronograma de actividades son los que han presentado mejores resultados; en ocasiones los líderes de equipo hastiados optan por usar la regla 90-90 que consiste en aplicar el 90% de su energía y concentración en el desarrollo del proyecto y luego de la revisión otro 90% en corrección de errores, todo esto por la mala planificación o la falta de respeto al cronograma. (Pressman, 2010, pp. 564, 567)


15

3.2.1.3.

Modelado

Se trata de elaborar un bosquejo para entender de mejor manera el panorama general del proyecto, dividir responsabilidades entre miembros de equipo y definir detalles que con el tiempo se irán puliendo con la ayuda de la comunicación en conjunto con el cliente. (Pressman, 2010, p. 566) 3.2.1.3.1. Análisis Aquí se habla de la ingeniería de requerimientos, lo que consiste en hacer un estudio minucioso de cuatro tipos de requerimientos: de usuario, de sistema, funcionales y no funcionales. 

Los requerimientos de usuario son planteados por las personas que van a usar el SW y lo hacen en un lenguaje natural directamente comunicándoselo al desarrollador.

Los requerimientos de sistema son descripciones más detalladas delas funciones, servicios y restricciones, también es aquí donde se debe definir con claridad lo que se va a implantar. Un análisis de requerimientos de sistema también conocido como SRS puede formar parte del contrato entre el comprador del sistema informático y el a los desarrolladores.

Los requerimientos funcionales son analizados dentro del SRS y describen lo que el sistema va a hacer como el tipo de SW que se está desarrollando, los usuarios esperados del SW y el enfoque general que adopta la organización

Los requerimientos no funcionales también son analizados en el SRS y son aquellos que no van directamente relacionados con los servicios que el sistema entrega pero que van estrechamente relacionados con los mismos como por ejemplo un servicio puede ser generación de reportes y el requerimiento funcional asociado podría ser el tiempo de respuesta o la disponibilidad.

3.2.1.3.2. Diseño Esta es la parte técnica del proceso de desarrollo de SW y se aplica una vez que ya se ha elegido el modelo de proceso a utilizar (aunque en realidad el modelo de desarrollo es irrelevante para la etapa de diseño) y también cuando ya se ha hecho el respectivo análisis de los requerimientos dejando listo todo para la etapa de construcción. (Pressman, 2014, p. 87) 3.2.1.4.

Construcción

Es la etapa de programación donde como es lógico se combina la acción de generar código con las pruebas para el descubrimiento de los posibles errores y proceder a su corrección. (Pressman, 2010, p. 13)


16

3.2.1.5.

Despliegue

Es la parte final del desarrollo de un proyecto de software que se divide en tres aspectos: entrega, asistencia y retroalimentación; la entrega se la hace al cliente y luego se procede a la asistencia para explicar a los usuarios finales como es el funcionamiento del sistema para que de esa manera puedan tener los resultados esperados (capacitación) y finalmente se procede a evaluar los resultados mediante la retroalimentación. (Pressman, 2010, p. 13)

3.2.2. Base de Datos Una BDD (Base de Datos) es un conjunto de datos que persisten en una memoria física, los cuales constituyen la parte fundamental de los sistemas de información, toda información es un factor relevante y lo más preciado para toda organización por lo que se toman seria medidas de seguridad para salvaguardar los datos que ahí se alojan. Años atrás se hacía uso de sistemas de procesamiento de archivos, lo cual no resultaba nada conveniente por la inconsistencia y aislamiento de los datos, en la actualidad las BDD brindan mayor seguridad. La función básica de una BDD es guardar datos y asegurar la integridad de los mismos y además garantizar a los usuarios que la información requerida estará disponible siempre que sea solicitada, y el SGBD da una visión abstracta de lo que contiene la BDD. (Barroso, Álvarez, Pupo, & Írsula, 2016, pp. 143-144)

3.2.2.1.

Arquitectura de una Base de Datos

El objetivo de los Sistemas Gestores de Bases de Datos, según Piñeiro (2013), es ocultar a los usuarios la forman en que los datos se almacenan dentro de la BDD y para esto se divide a la misma en tres niveles de abstracción. (p. 8) Nivel Físico: Es el nivel más bajo de abstracción y se refiere a cómo van a estar almacenados los datos físicamente (discos duros en donde se aloja la BDD) y describe el tamaño de los bloques, índices, direccionamiento, etc. (Piñeiro, 2013, p. 8) Nivel Lógico o conceptual: describe a la totalidad de los datos que van a ser almacenados en la BDD mediante especificaciones de entidades, atributos, propiedades de entidad, restricciones, etc. Este nivel al igual que el anterior es utilizado solamente por el Administrador de la Base de Datos (ABD). (Piñeiro, 2013, p. 8)


17

Nivel externo o de vista: Es un subconjunto de la estructura lógica global de la BDD, este nivel de abstracción permite a dar a cada usuario una visión de la información que realmente precisa, debido a que un usuario no necesita trabajar con todos los datos de la BDD. (Piñeiro, 2013, p. 9)

3.2.2.2.

Sistema Gestor de Base de Datos

Un Sistema gestor de Base de Datos (SGBD) es un conjunto de programas que controlan todo acceso a la BDD sirviendo como interfaz entre la BDD y el usuario, cumpliendo como lo afirma Piñeiro (2013), con funciones esenciales que son la definición, manipulación y control de la BDD. (p. 9) 

Función de definición DDL Se lleva a cabo mediante el lenguaje de definición de datos (DDL) y permite al diseñador

de la BDD especificar los elementos lógicos que la integran como las entidades, relaciones, restricciones, así como la estructura física y externa. (Piñeiro, 2013, p. 9) De esta manera con la ayuda del DDL un diseñador de BDD puede crear (Create), borrar (Drop) o modificar (Alter) una BDD según su necesidad. 

Función de manipulación DML Esta función debe permitir la inserción, eliminación o actualización de datos dentro de una

base de datos, con la ayudad de un Lenguaje de Manipulación de Datos (DML) que permite el uso de las sentencias Insert, Delete o Update respectivamente para cada necesidad del diseñador de la BDD. (Piñeiro, 2013, p. 9) 

Función de control DCL Se hace uso de un Lenguaje de Control de Datos (DCL) con las sentencias CONNECT,

SELECT, INSERT, UPDATE, DELETE, USAGE para controlar los datos que se alojan en la BDD y las sentencias GRANT y REVOKE para control de usuarios y permisos. Facilitando de esta manera el trabajo del ABD. (Piñeiro, 2013, p. 10)

3.2.2.3.

Modelos de Base de Datos

El modelo de base de datos contiene las entidades con la información más importante de la BDD, este modelo determina la estructura lógica de la BDD y determina el modo de almacenar, organizar y manipular estos datos. Adicionalmente permite la facilidad de búsqueda de datos introducidos al sistema (Brito, Abreu, Bedoya, García, & Brizuela, 2013, p. 25). El proceso de diseño de BDD consiste en elegir el mejor modelo o el que se adapte a las necesidades del


18

sistema, existen diferentes modelos de BDD, pero para el caso exclusivo del sistema de control de personal se usara el modelo Entidad Relación. 

Modelo Entidad Relación Es un modelo desarrollado por P. P. Chen en 1976 para facilitar el diseño de las bases de

datos, los elementos básicos de este modelo son: entidades, relaciones y los atributos. (Piñeiro, 2013, p. 11) Entidad: es cualquier objeto sobre el que se desea almacenar información en la BDD y se representa mediante un rectángulo. En el caso de una BDD de una biblioteca, una entidad podría ser un Libro. (Piñeiro, 2013, p. 67)

Figura 8: Representación gráfica de una entidad Fuente: Piñeiro Gómez, J. M. (2013). Bases de datos relacionales y modelado de datos. España: Paraninfo. P. 67

Relación: Es la asociación o correspondencia entre entidades, tiene un nombre (único en el esquema), grado (número de entidades que participan en la relación) y tipo de correspondencia (número máximo de ocurrencias de una relación). Se representa gráficamente mediante un rombo. En el caso de una base de Datos para un colegio, las entidades pueden ser Director e Instituto y la relación que las une puede ser Dirige. (Piñeiro, 2013, pp. 67 - 69)

Figura 9: Representación gráfica de una relación Fuente: Piñeiro Gómez, J. M. (2013). Bases de datos relacionales y modelado de datos. España: Paraninfo. P. 69gg

Atributos y dominio: los atributos son características de una entidad o relación y el dominio es un conjunto de valores que puede tomar el atributo, en una entidad Libro sus atributos pueden ser Código, Titulo, ISBN, Autor, Editorial, etc. y el dominio del atributo Titulo puede ser Matemáticas, Base de Datos, Economía, etc. Los atributos se representan gráficamente mediante óvalos y una línea debajo del atributo principal (identifica a la entidad). (Piñeiro, 2013, pp. 70 - 71)


19

Código

Titulo

Libro

ISBN

Autor

Editorial

Figura 10: Representación gráfica de una relación con sus atributos Fuente: Autor

3.2.2.4.

Usuarios de una Base de Datos

Existen muchas personas que intervienen en el proceso de creación de una base de datos, desde la obtención de requerimientos hasta la detección de entidades con sus respectivos atributos y relaciones, pero para Reinosa, Maldonado, Muñoz, Damiano, & Abrutsky, (2014) estas personas que intervienen en la etapa previa de la construccion de la BDD no son considerados usuario de la BDD porque no interactuan con el sistema directamente, y proponen una clasificación bastante acertada aunque se reclaca que existen diversas clasificaciones en torno a diferentes puntos de vista. (pp. 5-6) Administrador de Base de Datos (ABD): Debe tener un perfil tecnico de ambiente informático, el cual recibe las especificaciones del equipo de Analisis y Diseño para implementar los requerimientos en el Sistema Gestor de Base de Datos. (Reinosa, Maldonado, Muñoz, Damiano, & Abrutsky, 2014, p. 6) Programador de aplicaciones: Genera aplicaciones necesarias en el sistema haciendo uso de un Lenguaje de programacion de su conocimiento, esta enterado de todos los criterios de analisis y diseño asi como de los prototipos de interfaz y almacenamiento de datos que necesita manipular para construir sus aplicaciones. (Reinosa, Maldonado, Muñoz, Damiano, & Abrutsky, 2014, p. 6) Usuario Final: Es el que menos conocimiento técnico posee e interactua directamente con la aplicaion ya programada por lo que no necesita saber de los detalles técnicos de la BDD. (Reinosa, Maldonado, Muñoz, Damiano, & Abrutsky, 2014, p. 6)


20

3.2.2.5.

Motores de una Base de Datos

Un motor de base de Datos es un conjunto de programas o servicio principal que permite almacenar, manipular y resguardar datos, en otras palabras, es aquel servicio que nos permite crear bases de datos y existe una amplia de variedad adaptados a las necesidades de los ABD tanto en versiones libres como privativas. a) MySQL:

Figura 11: Logo de MySQL Fuente: MySQL. (2016). MySQL Logo Downloads. Recuperado el 2 de Diciembre de 2016, de www.mysql.com: https://www.mysql.com/about/legal/logos.html

Es la base de datos de código abierto más popular del mundo. Con su probado rendimiento, fiabilidad y facilidad de uso-, MySQL se ha convertido en la opción principal base de datos para las aplicaciones basadas en la Web, que se utiliza por sus propiedades web de alto perfil, incluyendo Facebook, Twitter, YouTube, Yahoo y muchos más. (MySQL, 2016)

La siguiente lista describe algunas de las características más importantes del software de base de datos MySQL, tomando como referencia lo anunciado en su sitio web (MySQL, 2016) 

Interioridades y portabilidad -

Escrito en C y en C++

-

Probado con un amplio rango de compiladores diferentes

-

Funciona en diferentes plataformas.

-

Usa GNU Automake, Autoconf, y Libtool para portabilidad.

-

APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl.

-

Proporciona sistemas de almacenamiento transaccional y no transaccional.

-

Relativamente sencillo de añadir otro sistema de almacenamiento.

Tipos de columnas -

Diversos tipos de columnas: enteros con/sin signo de 1, 2, 3, 4, y 8 bytes de longitud, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM, y tipos espaciales OpenGIS.

-

Registros de longitud fija y longitud variable.

Sentencias y funciones

Seguridad


21 

Escalabilidad y límites -

Soporte a grandes bases de datos. Usamos MySQL Server con bases de datos que contienen 50 millones de registros. También conocemos a usuarios que usan MySQL Server con 60.000 tablas y cerca de 5.000.000.000.000 de registros.

-

Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2). Un índice puede usar

prefijos

de

una

columna

para

los

tipos

de

columna CHAR, VARCHAR, BLOB, o TEXT. 

Conectividad

Clientes y herramientas

b) PostgreSQL:

Figura 12: Logo de PostgreSQL Fuente: PostgreSQL. (2016). Postgresql Logo. Recuperado el 2 de Diciembre de 2016, de postgresql.org: https://www.postgresql.org/media/img/layout/hdr_left.png

Es un sistema de base de datos de gran alcance, de código abierto objeto-relacional. Cuenta con más de 15 años de desarrollo activo y una arquitectura probada que se ha ganado una sólida reputación de fiabilidad, integridad de datos y la corrección. Se ejecuta en todos los principales sistemas operativos, incluyendo Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), y Windows. (PostgreSQL, 2016)

c) Oracle:

Figura 13: Logo de Oracle Fuente: Oracle. (2017). Oracle. Recuperado el 4 de Agosto de 2017, de www.oracle.com: https://www.oracle.com/index.html

Es una herramienta cliente/servidor para la gestión de Bases de Datos. Es un producto que se vende en todo el mundo y por su costo elevado es utilizado solamente por grandes empresas, que lo prefieren debido a su gran potencia, aunque no esta tan extendido en el desarrollo de páginas web debido justamente a su alto costo, a diferencia de Access, MySQL, SQL Server, entre otros. (Masip, 2002). Entre las principales características de Oracle según Sigüenza (2015), están las siguientes: Gestión de grandes bases de datos, Usuarios recurrentes, Alto rendimiento en transacciones, Sistema de alta disponibilidad, Gestión de la seguridad, Compatibilidad, Contestabilidad.


22

3.2.3. Servidor 3.2.3.1.

¿Qué es un servidor?

Es un ordenador más potente de lo habitual, que como su nombre lo indica se encarga de suministrar algún tipo de información a otras máquinas de menor potencia que son llamadas clientes.

Figura 14: Esquema de un Servidor Fuente: Aprendeaprogramar. (2016). Qué es un servidor y cuáles son los principales tipos de servidores (proxy,dns, web,ftp,pop3 y smtp, dhcp...). Recuperado el 3 de Diciembre de 2016, de aprenderaprogramar.com: http://www.aprenderaprogramar.com/images/stories/Divulgacion/DV004/DV00408A_2.png

3.2.3.2.

Tipos de servidores

Existen muchos tipos de servidores y como afirma Sierra (2016), entre los más comunes se encuentran: Servidores Proxy: Es el servidor que actúa de intermediario de forma que el servidor que recibe una petición no conoce quién es el cliente que verdaderamente está detrás de esa petición. Servidores de Correo: Es el servidor que almacena, envía, recibe y realiza todas las operaciones relacionadas con el e-mail de sus clientes. Servidores Web: Almacena principalmente documentos HTML (son documentos a modo de archivos con un formato especial para la visualización de páginas web en los navegadores de los clientes), imágenes, videos, texto, presentaciones, y en general todo tipo de información. Además, se encarga de enviar estas informaciones a los clientes. Servidores de Base de Datos: Da servicios de almacenamiento y gestión de bases de datos a sus clientes. Una base de datos es un sistema que nos permite almacenar grandes cantidades de información. Por ejemplo, todos los datos de los clientes de un banco y sus movimientos en las cuentas. Servidores de Clúster: Son servidores especializados en el almacenamiento de la información teniendo grandes capacidades de almacenamiento y permitiendo evitar la pérdida de la información por problemas en otros servidores. Servidores Dedicados: Como ya expresamos anteriormente, hay servidores compartidos si hay varias personas o empresas usando un mismo servidor, o dedicados que son exclusivos para una sola persona o empresa. Servidores de Imágenes: Recientemente también se han popularizado servidores especializados en imágenes, permitiendo alojar gran cantidad de imágenes sin consumir recursos de nuestro servidor web en almacenamiento o para almacenar fotografías personales, profesionales, etc. (p. 5)


23

3.2.4. Lenguajes de Programación Uno de los elementos más importantes dentro del desarrollo de software es el lenguaje de programación por lo tanto es necesario saber elegir el adecuado, aquí una vez más es importante la comunicación con el cliente para verificar la compatibilidad entre el software ya existente con el nuevo y así asegurar que se adapte a la empresa. La utilización del servicio web como correos electrónicos facilita la comunicación entre desarrolladores y el cliente, para de este modo afinar detalles como por ejemplo de diseño y entre desarrolladores podemos hacer revisión de código, facilitando de este modo la interacción entre todas las partes involucradas desde cualquier lugar en el que nos encontremos. (Rincón, Acurero, & Bracho, 2012, pp. 2021)

3.2.4.1.

Lenguajes de Bajo Nivel

Se comunica directamente con el hardware del computador por lo que es más fácil de entender para la máquina, pero más difícil de comprender para el programador. Estos lenguajes por lo regular están condicionados por estructura física que soporta el computador. (Franco & Echeverri, 2016, p. 2) 3.2.4.2.

Lenguajes de Alto Nivel

Son más fáciles de entender por los humanos, pues las sentencias de estos lenguajes en su mayoría están en Ingles lo que facilita la comprensión intuitiva del código, por otro lado, las maquinas tienes que trabajar un poco más para interpretar las instrucciones. La característica de los lenguajes de alto nivel según Franco & Echeverri, 2016 es que se expresan con algoritmos de interfaz gráfica, que resultan adecuados para la capacidad cognitiva de los seres humanos. (p. 2) d) Java Desde el lanzamiento del primer prototipo de Java en 1994 con el nombre de Hot Java, este lenguaje de programación ha tenido mucha acogida y ha ido creciendo desde entonces, para Sánchez, Huecas, Fernández, & Moreno, 2009 Java es más que un lenguaje de programación es todo un conjunto de elementos para el desarrollo de aplicaciones que incluye también muchas bibliotecas para el desarrollo de aplicaciones avanzadas. (p. 4)


24

Figura 15: Elementos de la plataforma Java Fuente: Sánchez, J., Huecas, G., Fernández, T. B., & Moreno, P. (2009). Programación en JAVA (3 ed.). Madrid: McGrawHill. P. 4

Proceso de desarrollo en Java Para desarrollar un programa en Java, como en cualquier otro lenguaje, es necesario seguir un proceso de desarrollo, de manera resumida se dice que hay cinco pasos para el desarrollo de un programa: especificación, diseño, codificación, prueba y mantenimiento. (Sánchez, Huecas, Fernández, & Moreno, 2009, pp. 6-7)

Figura 16: Desarrollo de programas en Java Fuente: Sánchez, J., Huecas, G., Fernández, T. B., & Moreno, P. (2009). Programación en JAVA (3 ed.). Madrid: McGrawHill. P. 7

Los programas deben cumplir con tres aspectos básicos de codificación que son: legibilidad (un programa debe ser fácil de leer), corrección (un programa debe hacer lo que tiene que hacer, no más ni menos) y eficiencia (tiempo que se tarda en ejecutar). (Sánchez, Huecas, Fernández, & Moreno, 2009, p. 8)


25

e) PHP

Figura 17: Logo de PHP Fuente: PostgreSQL. (2016). Postgresql Logo. Recuperado el 2 de Diciembre de 2016, de postgresql.org: https://www.postgresql.org/media/img/layout/hdr_left.png

Es un lenguaje del lado del servidor a diferencial de Java Script que es del lado del cliente, lleva ese nombre por el acrónimo en inglés de Hypertext Preprocessor, es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser incrustado en HTML. Trabajar con PHP es muy ventajoso pues resulta fácil para los principiantes y a la vez tiene características avanzadas que hacen de este lenguaje una buena opción para programar. (PHP, 2016) 3.2.5. Aplicaciones Móviles 3.2.5.1.

Introducción

Con la evolución del hardware y la aparición de teléfonos inteligentes, Google lanzó por primera vez en el 2008 un dispositivo móvil con sistema operativo Android y desde ese día los dispositivos vendidos con ese sistema operativo fueron muchos. (Montero, 2013, p. 11) Android, que apoya su núcleo en Linux, se encuentra en evolución y uno de los motivos por los que se cree que tiene mucha acogida es el hecho de que su código es abierto y además cuenta con el respaldo de Google y una gran comunidad de desarrolladores capaces de crear muchas aplicaciones debido a la simpleza de esta herramienta de programación que usa tecnologías bastante extendidas en el ámbito de la computación, principalmente Java y XML. (Montero, 2013, pp. 12-13) Los elementos que, según Montero (2013), se pueden encontrar en un sistema operativo Android son los siguientes: Accesos directos a las aplicaciones, Widgest, Buscador de Google e Iconos de funcionalidades comunes. Las aplicaciones móviles también llamadas apps están presentes en los teléfonos desde hace mucho tiempo; incluso, antes de que apareciera Android como sistema operativo, pero no eran muy populares por las características de hardware delos dispositivos, hoy en día las pantallas de los Smartphones permiten al usuario interactuar de mejor manera con su dispositivo y por


26

lo tanto sacarles más provecho a las aplicaciones. En esencia, una aplicación no deja de ser un software, es así que para un dispositivo móvil una aplicación viene siendo lo que para una computadora es un programa instalado. (Cuello & Vittone, 2015)

3.2.5.2.

Ciclo de vida de una aplicación Android

El ciclo de vida de una aplicación en Android es bastante diferente a las aplicaciones de otros sistemas operativos, pues de quien depende el ciclo de vida de una aplicación Android no es del usuario sino del sistema. Al momento de ejecutar un servicio se puede diferenciar dos escenarios: el servicio de lanzamiento y posterior detenido a través de los métodos starService() y stopService(), La actividad u otro componente que conecta con el servicio para esto se usa el método bindService().(Montero, 2013, p. 150) Una actividad en Android puede estar Activa (Running), Visible (Paused), Parada (Stopped), Destruida (Destroyed). Cuando una actividad cambia de un estado a otro se generan evantos que son capturados por los metos antes mensionados de la activad. (Tomás, 2015)

Figura 18: Ciclo de vida de una actividad. Fuente: Edx. (30 de Enero de 2013). Ciclo de vida de una actividad. Recuperado el 3 de Diciembre de 2016, de androidcurso.com: http://www.androidcurso.com/images/unidades_android/ciclo1.png


27

3.2.5.3.

Requerimientos

Para desarrollar aplicación móvil, se necesita: -

Un ordenador con cualquier sistema operativo (Windows, Mac o Linux)

-

Un entorno de desarrollo (AndoridStudio, ADT, Basic4Android, AppInventor, LiveCode, etc.)

-

El JDK (Kit de desarrollo de Java)

-

Un dispositivo móvil con Android o un emulador de dispositivos Android

-

Conocimientos de programación POO para Java

3.2.5.4.

Herramientas de desarrollo

Existen diferentes herramientas para el desarrollo de aplicaciones en Android, a continuación, se detalla solamente el uso de dos herramientas que a manera personal son bastante eficientes para el desarrollo de aplicaciones en Android. 

Android Studio

Figura 19: Logo de Android Studio Fuente: Android. (2016). Android Studio Logo. Recuperado el 4 de Diciembre de 2016, de developer.android.com: https://developer.android.com/studio/images/studio-icon.png?hl=es-419

Android Studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de aplicaciones para Android y se basa en IntelliJ IDEA. Además del potente editor de códigos y las herramientas para desarrolladores de IntelliJ, Android Studio ofrece aún más funciones que aumentan tu productividad durante la compilación de apps para Android. (Android, 2016)

Estructura del proyecto Los proyectos en Android Studio, según la información de su sitio web oficial Android, 2016 se componen de Módulos (de código fuente y de recursos) y existen diferentes tipos de módulos entre los que tenemos: -

Módulos de apps para Android

-

Módulos de bibliotecas y


28

-

Módulos de Google App Engine Cada módulo se encuentra organizado en tres carpetas:

-

manifiestos (contiene el archivo AndroidManifest.xml.)

-

java (código fuente de Java, incluido el código de prueba JUnit), y

-

res (contiene todos los recursos, como diseños XML, cadenas de IU e imágenes de mapa de bits).

Figura 20: Archivos del proyecto en la vista de Android. Fuente: Android. (2016). Meet Android Studio. Recuperado el 4 de Diciembre de 2016, de developer.android.com: https://developer.android.com/studio/images/intro/project-android-view_2-1_2x.png?hl=es-419

GenyMotion Es un emulador de dispositivos Android, cuyo trabajo fundamental radica en facilitar el

trabajo del desarrollador de aplicaciones móviles ya que gracias a esta herramienta no se necesita contar con varios dispositivos para probar una aplicación. Para los creadores de GenyMotion esta herramienta es más que un emulador pues afirman que es una potente plataforma de visualización para hacer frente a todas las necesidades profesionales. (Genymotion, 2016) GenyMotion trabaja como máquina virtual y es necesario tener instalado VirtualBox en el ordenador para poder usarlo, además de estar registrados en la página oficial de www.genymotion.com donde se puede descargar una versión gratuita y también existen versiones de pago que cuentan con mayores beneficios, pero por lo regular con las versiones libre es suficiente.


29

3.2.6. Inclusión Social Según datos estadísticos de estudios realizados por la Organización Mundial de la Salud (OMS), el 15% de la población de Latinoamérica cuenta con alguna discapacidad y aunque ha aumentado la inclusión de estas personas en la sociedad es claro que aún se cuenta con algún tipo de discriminación. (OMS, 2016) En el Ecuador es de conocimiento público que se está luchando contra la discriminación y a la vez promoviendo la inclusión social, que es: Incluir y contener a algo o alguien. - Para entender lo que el término inclusión significa, deberíamos empezar por definir la acción de incluir. La misma supone contener o englobar a algo o alguien dentro de otra cosa, espacio o circunstancia específica. Incluir entonces es sumar algo a otra cosa ya existente. Así, el término inclusión hace referencia al acto de incluir y contener a algo o alguien. (DefiniciónABC, 2016)

Es de conocimiento público que en el Ecuador se busca fomentar la inclusión social y para esto se han propuesto una serie de objetivos y se promueve políticas de estado para que así los discapacitados puedan acceder a la educación, salud y al área laboral. La inclusión vista desde el puesto de la sociedad tiene que ver con que las personas de un país no sufran de ningún tipo de violencia, pues no solo las personas discapacitadas pueden sufrir de discriminación ya que muchas minorías son dejadas de lado como es el caso de las etnias; entonces dentro de la inclusión hay que agrupar a todos en las diferentes actividades que se desarrollan dentro de un país. En el Artículo 11, numeral 2, de la Constitución de la República del Ecuador, se establece que todas las personas con iguales y gozan de los mismos derechos y nadie podrá ser discriminado por razones de etnia, lugar de nacimiento, edad, sexo, identidad de género, identidad cultural, estado civil, idioma, religión, ideología, filiación política, pasado judicial, condición socio-económica, condición migratoria, orientación sexual, estado de salud, portar VIH, discapacidad, o diferencia física. (Asamblea Nacional de la República del Ecuador, 2008)

3.2.7. Sufragios Según lo estipulado en la sección primera del Código de la Democracia del Ecuador en el Art. 2, numeral 2, se dice que las ecuatorianas y ecuatorianos gozamos de el derecho de participar en los asuntos de interés público; Mientras que en el Art. 10 de la Sección Tercera con respecto al Sufragio: Derechos y Garantías, se estipula que: La ciudadanía expresa su


30

voluntad soberana, entre otros, por medio del voto popular que será universal, igual, periódico, directo, secreto y escrutado públicamente, que se manifiesta en los tiempos, condiciones y bajo las normas que esta ley señala para garantizar la permanencia y el perfeccionamiento de la democracia. (Asamblea Nacional, 2009)

3.2.7.1. -

Generalidades del proceso Electoral

¿Qué es la Función Electoral? Es una función del Estado Ecuatoriano que según el Art. 217 de la constitución del Ecuador,

garantiza el ejercicio de los derechos políticos que se expresan a través del sufragio, así como los referentes a la organización política de la población ecuatoriana. (Asamblea Nacional de la República del Ecuador, 2008)

-

¿Cómo se conforma la Función Electoral? Según indica el Art. 217 de la Constitución del Ecuador, la función Electoral está

conformada por dos organismos estatales: El Consejo Nacional Electoral y el Tribunal Contencioso Electoral, los cuales se rigen por la autonomía, independencia, transparencia, equidad, interculturalidad, paridad de género, celeridad y probidad. (Asamblea Nacional de la República del Ecuador, 2008)

-

¿Cuáles son las funciones del Consejo Nacional Electoral? Entre otras funciones importantes, las que más destacan son: organizar, dirigir, vigilar y

garantizar de manera transparente los procesos electorales, convocar a elecciones, realizar los cómputos electorales, proclamar resultados, y posesionar a los ganadores de las elecciones, además designar a los integrantes de los organismos electorales desconcentrados. (Asamblea Nacional de la República del Ecuador, 2008, Art. 219, Constitución del Ecuador)

-

¿Qué es una Junta Provincial Electoral? Según el Art. 36 y 37 de la Constitución del Ecuador, es un organismo electoral de carácter

temporal que lo designa el Consejo Nacional Electoral, se encarga de realizar el escrutinio del proceso electoral, entre otras cosas. (Asamblea Nacional de la República del Ecuador, 2008)

-

¿Qué es Proceso Electoral? Es el conjunto de actos, procesos y procedimientos ordenados por la Constitución de la

República del Ecuador y la Ley Orgánica Electoral y de Organizaciones Políticas de la


31

República del Ecuador, Código de la Democracia, realizados por las autoridades electorales, las organizaciones políticas, las ciudadanas y ciudadanos, que tiene como objeto el pronunciamiento de la ciudadanía a través del voto, para la elección de sus representantes. (Tello, y otros, 2016, p. 4)

-

¿Quiénes son Actores Electorales? Son todos los ciudadanos, ciudadanas y ciertas instituciones que están involucradas de

forma directa o indirecta en el desarrollo del proceso electoral. Cumplen un rol importante antes, durante y después del día de las votaciones. (Tello, y otros, 2016, p. 5)

-

¿Quiénes son electores? Son las personas que se encuentran habilitadas para sufragar. (Tello, y otros, 2016, p. 5)

-

¿Qué son Juntas Receptoras del Voto (JRV)? Según lo estipula el Art. 43 del Código de la Democracia, son organismos de gestión

electoral con carácter temporal que se encargan de recibir los sufragios y efectuar escrutinios. (Asamblea Nacional, 2009)

-

¿Qué es un Recinto Electoral? El Código de la Democracia, en su Art. 116 define a un Recinto Electoral como el lugar

donde funciona la JRV y en su interior todas las personas deben acatar las disposiciones que imparten las autoridades y funcionarios electorales. (Asamblea Nacional, 2009)


32

4. METODOLOGÍA DE LA INVESTIGACIÓN

4.1.Tipo de investigación En la investigación científica existen dos grandes ramas en las que se divide: investigación básica o pura e investigación aplicada, en este proyecto el tipo de investigación es aplicada debido a que el conocimiento generado a partir del desarrollo del mismo es aplicado al mundo real.

4.2. Enfoque de investigación Para el desarrollo de este proyecto se ha hecho uso de dos enfoques, el cuantitativo y el cualitativo, haciendo de éste un proyecto con enfoque mixto que según Hernández-Sampieri (2014), no reemplaza a ninguno de los dos enfoques (cuantitativo y cualitativo), sino que utiliza las fortalezas de ambos enfoques y minimiza las debilidades potenciales. (p. 532) El enfoque cualitativo se aplica al momento de recolectar información a través de la aplicación de entrevistas a los funcinarios del CNE con el objetivo de recabar información que será necearia para el planteamiento del problema de invetigación y para identificar los requerimientos de usuario que contribuyen al desarrollo de la aplicación móvil. El enfoque cuantitativo se aplica cuando se analiza los resultados de la tabulación de las encuestas realizados a los usuarios de la aplicación, que en este caso son los electores de Santo Domingo, para la toma de decisiones.

4.3.Diseño de la investigación Este proyecto de disertación tiene un diseño Exploratorio Secuencial (DEXPLOS) que es un diseño propio de las investigaciones con enfoque mixto. Este diseño a la vez se clasifica en dos modalidades: Derivativa y comparativa. Se he elegido para el desarrollo de este proyecto la modalidad Derivativa que según Hernández Sampieri, Fernández Collado, & Baptista Lucio, (2014) “en esta modalidad la recolección y el análisis de los datos cuantitativos se hacen sobre la base de los resultados cualitativos. La mezcla mixta ocurre cuando se conecta el análisis cualitativo de los datos y la recolección de datos cuantitativos” (p. 551).


33

4.4. PoblaciĂłn / Universo 4.4.1. PoblaciĂłn La poblaciĂłn objetivo es un conjunto finito o infinito de elementos que comparten caracterĂ­sticas similares las cuales serĂĄn estudiadas (Arias, 2012, p. 81). La poblaciĂłn para esta investigaciĂłn es el nĂşmero total de electores de la provincia de Santo Domingo de los TsĂĄchilas que segĂşn datos proporcionados por el CNE son 361575 personas.

En esta investigaciĂłn la poblaciĂłn con la que se cuenta es finita, ya que, Sierra (1991), citado por Arias (2012) en su libro titulado El proyecto de InvestigaciĂłn: IntroducciĂłn a la metodologĂ­a cientĂ­fica, afirma que una poblaciĂłn es finita cuando el investigador conoce el nĂşmero total de elementos que conforman la poblaciĂłn de estudio e infinita cuando se desconoce el nĂşmero de elementos que la conforman (p. 82). 4.5.Muestra La fĂłrmula para el cĂĄlculo de la muestra en poblaciones finitas propuesta por Arias (2012) es la siguiente: đ?‘›=

đ?‘ ∗ đ?‘?2 ∗ đ?‘† 2 (đ?‘ ∗ đ?‘’ 2 ) + (đ?‘? 2 ∗ đ?‘† 2 )

Donde: -

n es el tamaĂąo de la muestra (poblaciĂłn a la que se aplicarĂĄ las encuestas)

-

N es el nĂşmero de elementos que conforman la poblaciĂłn (total de electores en Santo Domingo)

-

Z es el nivel de confianza, para un nivel de confianza del 95% el valor de Z es 1.96

-

S es la desviaciĂłn estĂĄndar que en caso de no conocerla tiene un valor de 0.5

-

e es el margen de error aceptable que debe ir entre 1% y 5%

Ahora se aplica la formula en funciĂłn a la poblaciĂłn de esta investigaciĂłn y con un margen de error del 5% y tomando los valores de 1.96 y 0.5 para valores de Z y S respectivamente, tenemos que: đ?‘›=

361575 ∗ 1.962 ∗ 0.52 (361575 ∗ 0.052 ) + (1.962 ∗ 0.52 ) đ?‘› = 383,75

Por lo tanto el nĂşmero muestral de esta investigaciĂłn es de 384 personas.


34

4.6.Instrumentos de recogida de datos 4.6.1. La encuesta Se puede definir la encuesta, siguiendo a Naresh K. Malhotra, citado por Alelú , et al. (2010) como entrevistas con un gran número de personas utilizando un cuestionario prediseñado. Según el mencionado autor, el método de encuesta incluye un cuestionario estructurado que se da a los encuestados y que está diseñado para obtener información específica. (p. 3) Se hace encuestas a la muestra para analizar el impacto que tiene la implementación de una aplicación móvil que informe sobre el lugar de sufragio a los electores de Santo Domingo. Para realizar las encuestas es necesario elaborar cuestionarios con preguntas que se encuentran contenidas en un banco de preguntas, para que la muestra proceda a contestarlos.

4.6.2. La entrevista La entrevista, es la comunicación interpersonal establecida entre el investigador y el sujeto de estudio a fin de obtener respuestas verbales a los interrogantes planteados sobre el problema propuesto. Se considera que este método es más eficaz que el cuestionario, ya que permite obtener una información más completa. Para el desarrollo de una entrevista es necesario elaborar un banco de preguntas para poder guiar la misma. Las entrevistas son usadas para recolección de datos que servirán para el desarrollo de la aplicación móvil a los funcionarios del CNE.

4.7.Técnicas de análisis de datos Una vez concluidas las etapas de colección y procesamiento de datos se inician con una de las más importantes fases de una investigación: el análisis de datos. En esta etapa se determina como analizar los datos y que herramientas de análisis estadístico son adecuadas para éste propósito. En esta etapa del proceso de investigación se procede a racionalizar los datos colectados a fin de explicar e interpretar las posibles relaciones que expresan las variables estudiadas.


35

4.7.1. Análisis estadístico Se lo realiza en base a los datos proporcionados por el CNE, lo que se quiere medir en este análisis es el porcentaje de electores que presentan alguna discapacidad y como ha sido el impacto con respecto a la inclusión social en esta población al igual que en el resto de electores que no tiene discapacidad, debido a la inclusión social se basa en incluir a todos y todas en procesos de interés nacional, por igual. 4.7.2. Análisis cuantitativo La elaboración de cuestionarios que serán respondidos por los usuarios de la aplicación móvil y la tabulación de las respuestas obtenidas contribuyen para poder realizar un análisis cuantitativo de las impresiones de los mismos.

4.8.Metodología de desarrollo de software A continuación, se presentan tablas comparativas para hacer un análisis y elección de la metodología adecuada para el proyecto. Tabla 1 Comparativa entre Metodologías Tradicionales y ágiles Metodología Ágil Pocos Artefactos. El modelado es prescindible, modelos desechables. Pocos Roles, más genéricos y flexibles No existe un contrato tradicional, debe ser bastante flexible Cliente es parte del equipo de desarrollo (además in-situ) Orientada a proyectos pequeños. Corta duración (o entregas frecuentes), equipos pequeños (< 10 integrantes) y trabajando en el mismo sitio La arquitectura se va definiendo y mejorando a lo largo del proyecto Énfasis en los aspectos humanos: el individuo y el trabajo en equipo Basadas en heurísticas provenientes de prácticas de producción de código Se esperan cambios durante el proyecto

Metodología Tradicional

Más Artefactos. El modelado es esencial, mantenimiento de modelos Más Roles, más específicos Existe un contrato prefijado

El cliente interactúa con el equipo de desarrollo mediante reuniones Aplicables a proyectos de cualquier tamaño, pero suelen ser especialmente efectivas/usadas en proyectos grandes y con equipos posiblemente dispersos Se promueve que la arquitectura se defina tempranamente en el proyecto Énfasis en la definición del proceso: roles, actividades y artefactos Basadas en normas provenientes de estándares seguidos por el entorno de desarrollo Se espera que no ocurran cambios de gran impacto durante el proyecto Fuente: Letelier, P., & Penadés, C. (15 de Enero de 2006). Métodologías ágiles para el desarrollo de software: eXtreme Programming (XP). Recuperado el 27 de Diciembre de 2016, de www.cyta.com.ar: http://www.cyta.com.ar/ta0502/v5n2a1.htm


36 Tabla 2 Ranking de agilidad CMM

ASD

Crystal

DSDM

FDD

LD

Scrum

XP

Sistema como algo cambiante

1

5

4

3

3

4

5

5

Colaboración

2

5

5

4

4

4

5

5

Resultados

2

5

5

4

4

4

5

5

Simplicidad

1

4

4

3

5

3

5

5

Adaptabilidad

2

5

5

3

3

4

4

3

Excelencia técnica

4

3

3

4

4

4

3

4

Prácticas de colaboración

2

5

5

4

3

3

4

5

Media CM

2.2

4.4

4.4

3.6

3.8

3.6

4.2

4.4

Media Total

1.7

4.8

4.5

3.6

3.6

3.9

4.7

4.8

Nota: CM: Características de metodología, ASD: Adaptive Software Development, DSDM: Dynamic Systems Development Method, FDD: Feature-Driven Development, LD: Lean Development. Fuente: Letelier, P., & Penadés, C. (15 de Enero de 2006). Métodologías ágiles para el desarrollo de software: eXtreme Programming (XP). Recuperado el 27 de Diciembre de 2016, de www.cyta.com.ar: http://www.cyta.com.ar/ta0502/v5n2a1.htm Tabla 3 Proceso de software en XP y Scrum Proceso de software Proceso de desarrollo

XP

Scrum

1. Lanzamientos breves

1. Equipos Scrum

2. Metáfora

2. Cartera de productos

3. Diseño simple

3. Sprint

4.Testing

4. Revisión de Sprint

5.Refactorización 6. Programación en pareja 7. Propiedad colectiva Integración 8. Continuous 9. Cliente en el sitio 10. Norma de codificación Proceso de Gestión de Proyectos

1. El juego de planificación

1. Maestro Scrum 2. Reunión de planificación de Sprint 3.Reunión de scrum diario

Fuente: Qumer, A., & Henderson-Sellers, B. (2006). COMPARATIVE EVALUATION OF XP AND SCRUM USING THE 4D ANALYTICAL TOOL (4-DAT). In Proceedings of the European and Mediterranean conference on information systems, 1-8.

Por lo antes expuesto se determina que la metodología que mejor se adapta a los requerimientos del presente proyecto de disertación es la metodología ágil XP.


37

4.8.1. Modelo XP En febrero de 2001, tras una reunión celebrada en Utah-EEUU, nace el término “ágil” aplicado al desarrollo de software. En esta reunión participan un grupo de 17 expertos de la industria del software, incluyendo algunos de los creadores o impulsores de metodologías de software. Su objetivo fue esbozar los valores y principios que deberían permitir a los equipos desarrollar software rápidamente y respondiendo a los cambios que puedan surgir a lo largo del proyecto. Se pretendía ofrecer una alternativa a los procesos de desarrollo de software tradicionales, caracterizados por ser rígidos y dirigidos por la documentación que se genera en cada una de las actividades desarrolladas. Tras esta reunión se creó The Agile Alliance, una organización, sin ánimo de lucro, dedicada a promover los conceptos relacionados con el desarrollo ágil de software y ayudar a las organizaciones para que adopten dichos conceptos. El punto de partida es fue el Manifiesto Ágil, un documento que resume la filosofía “ágil”. (Letelier & Penadés, 2006)

4.8.1.1.Valores Xp Comunicación: Muchos de los problemas que existen en proyectos de software (así como en muchos otros ámbitos) se deben a problemas de comunicación entre las personas. La comunicación permanente es fundamental en XP. Dado que la documentación es escasa, el diálogo frontal, cara a cara, entre desarrolladores, gerentes y el cliente es el medio básico de comunicación. Una buena comunicación tiene que estar presente durante todo el proyecto. (Pressman, 2010, p. 61) Simplicidad: XP, como metodología ágil, apuesta a la sencillez, en su máxima expresión. Sencillez en el diseño, en el código, en los procesos, etc. La sencillez es esencial para que todos puedan entender el código, y se trata de mejorar mediante recodificaciones continuas. (Pressman, 2010, p. 61) Retroalimentación: La retroalimentación debe funcionar en forma permanente. El cliente debe brindar retroalimentación de las funciones desarrolladas, de manera de poder tomar sus comentarios para la próxima mejora, y para comprender, cada vez más, sus necesidades. Los resultados de las pruebas hechas por los mismos desarrolladores son también una retroalimentación permanente que tienen los mismos acerca de la calidad de su trabajo. Para el caso de la retroalimentación de los usuarios se hace uso de las historias de usuario. (Pressman, 2010, p. 61) Coraje: Cuando se encuentran problemas serios en el diseño, o en cualquier otro aspecto, se debe tener el coraje suficiente como para encarar su solución, sin importar que tan difícil sea. Si es necesario cambiar completamente parte del código, hay que hacerlo, sin importar cuanto tiempo se ha invertido previamente en el mismo. Aunque Pressman, (2010) prefiere dividir el coraje el Valentía y Respeto, que vienen a ser juntas el Coraje del que se habla en este valor XP. (p. 62)


38

4.8.1.2. Las Historias de Usuario Son la técnica utilizada para especificar los requisitos del software, pues son la única manifestación explicita de los requerimientos en XP. Se trata de tarjetas de papel en las cuales el cliente describe brevemente las características que el sistema debe poseer, sean requisitos funcionales o no funcionales. El tratamiento de las historias de usuario es muy dinámico y flexible. Cada historia de usuario es escrita por el cliente en un lenguaje para nada técnico que es bastante comprensible para cualquier persona que la lea. (Pressman, 2010, p. 66) Beck en su libro presenta un ejemplo historia de usuario (customer story and task card) en la cual pueden reconocerse los siguientes contenidos: fecha, tipo de actividad (nueva, corrección, mejora), prueba funcional, número de historia, prioridad técnica y del cliente, referencia a otra historia previa, riesgo, estimación técnica, descripción, notas y una lista de seguimiento con la fecha, estado cosas por terminar y comentarios.

Figura 21: Historia de usuario Fuente: Joskowicz , J. (10 de Febrero de 2008). Reglas y Prácticas en eXtreme Programming. Recuperado el 20 de Enero del 2017, de iie.fing.edu.uy: https://iie.fing.edu.uy/~josej/docs/XP%20-%20Jose%20Joskowicz.pdf


39

4.8.1.3.Roles XP Los roles de acuerdo con la propuesta original de Beck son: -

Programador. El programador escribe las pruebas unitarias y produce el código del sistema.

-

Cliente. Escribe las historias de usuario y las pruebas funcionales para validar su implementación. Además, asigna la prioridad a las historias de usuario y decide cuáles se implementan en cada iteración centrándose en aportar mayor valor al negocio.

-

Encargado de pruebas (Tester). Ayuda al cliente a escribir las pruebas funcionales. Ejecuta las pruebas regularmente, difunde los resultados en el equipo y es responsable de las herramientas de soporte para pruebas.

-

Encargado de seguimiento (Tracker). Proporciona realimentación al equipo. Verifica el grado de acierto entre las estimaciones realizadas y el tiempo real dedicado, para mejorar futuras estimaciones. Realiza el seguimiento del progreso de cada iteración.

-

Entrenador (Coach). Es responsable del proceso global. Debe proveer guías al equipo de forma que se apliquen las prácticas XP y se siga el proceso correctamente.

-

Consultor. Es un miembro externo del equipo con un conocimiento específico en algún tema necesario para el proyecto, en el que puedan surgir problemas.

-

Gestor (Big boss). Es el vínculo entre clientes y programadores, ayuda a que el equipo trabaje efectivamente creando las condiciones adecuadas. Su labor esencial es de coordinación.

4.8.1.4.Etapas del modelo El ciclo de desarrollo consiste (a grandes rasgos) en los siguientes pasos: 1. El cliente define el valor de negocio a implementar. 2. El programador estima el esfuerzo necesario para su implementación. 3. El cliente selecciona qué construir, de acuerdo con sus prioridades y las restricciones de tiempo. 4. El programador construye ese valor de negocio. 5. Vuelve al paso 1.


40

En todas las iteraciones de este ciclo tanto el cliente como el programador aprenden. No se debe presionar al programador a realizar más trabajo que el estimado, ya que se perderá calidad en el software o no se cumplirán los plazos. De la misma forma el cliente tiene la obligación de manejar el ámbito de entrega del producto, para asegurarse que el sistema tenga el mayor valor de negocio posible con cada iteración. El ciclo de vida ideal de XP consiste de seis fases: Exploración, Planificación de la Entrega (Release), Iteraciones, Producción, Mantenimiento y Muerte del Proyecto.

Figura 22: Ciclos de desarrollo en cascada e iterativos tradicionales comparados con el de XP. Fuente: Joskowicz , J. (10 de Febrero de 2008). Reglas y Prácticas en eXtreme Programming. Recuperado el 28 de Noviembre de 2016, de iie.fing.edu.uy: https://iie.fing.edu.uy/~josej/docs/XP%20-%20Jose%20Joskowicz.pdf


41

5. RESULTADOS 5.1. Discusión y Análisis de los resultados 5.1.1. Análisis de las encuestas En base a las encuestas realizadas usando el cuestionario que se muestra en Anexo 5, se puede realizar el siguiente análisis.

PRIMERA PREGUNTA: ¿Cuántas horas al día hace uso de su Smartphone o dispositivo móvil? Tabla 4 Número de horas usando un Smartphone. Opciones de respuesta

Número de personas

Porcentaje

Menos de 5 horas

107

27,87

Entre 5 y 10 horas

164

42,62

Más de 10 horas

113

29,51

TOTAL

384

100

Fuente: Autor ¿Cuántas horas al día hace uso de su smartphone o dispositivo móvil

28%

29% Menos de 5 horas Entre 5 y 10 horas Más de 10 horas

43%

Figura 23: Número de horas usando un Smartphone. Fuente: Autor

Interpretación: De las personas encuestadas, el 29% indicó que hacen uso de su dispositivo móvil por más de 10 horas; el 28%, que lo usa por menos de 5 horas, mientras que la mayoría de personas, 43%, indico que lo usa entre 5 y 10 horas.


42

Esto quiere decir que existe una concordancia con los datos expuestos en apartados anteriores (marco referencial), donde se habla de la aceptación que han tenido las personas a las nuevas tecnologías en este caso en particular, teléfonos inteligentes y demás dispositivos móviles como tablets. Al tener una población que hace bastante uso de sus dispositivos móviles, se determina en base a esto que sería conveniente desarrollar una aplicación móvil porque facilita su uso al estar siempre presente en el diario vivir de las personas.

SEGUNDA PREGUNTA: En general ¿cómo eliges las aplicaciones que quieres tener? Tabla 5 Elección de aplicaciones. Número de personas

Porcentaje

Las busco personalmente

Opciones de respuesta

189

49,18

Me las recomiendan amigos, conocidos

107

27,87

No las busco, cuando la veo, me la instalo Recomendaciones de las páginas de aplicaciones (tipo Play store, etc…) Otros

38

9,84

44

11,48

6

1,64

384

100

TOTAL Fuente: Autor

En general ¿cómo eliges las aplicaciones que quieres tener?

2% 11%

Las busco personalmente Me las recomiendan amigos, conocidos

10% 49%

No las busco, cuando la veo, me la instalo Recomendaciones de las páginas de aplicaciones (tipo Play store, etc…) Otros

Figura 24: Elección de aplicaciones. Fuente: Autor

28%


43

Interpretación: Con la finalidad de comprender cómo es la forma en que las personas llegan a elegir e instalar una determinada aplicación móvil se realizó esta pregunta, la cual refleja que el 49% de la muestra busca personalmente las aplicaciones, mientras que el 28% indican que las instalan luego de que se las recomendaron amigos o conocidos. El 10% de los encuestados, por otro lado, afirmar que en realidad no buscan aplicaciones y que las instalan porque les llaman la atención a l momento que las ven, el 11% indica que hacen caso de la publicidad de ofrecen los sitios de descarga como Play Store y solo el 2% indica que lo hace por otras causas. Con estos datos se puede planear la manera en la que la aplicación será anunciada una vez que sea desarrollada, y por lo que arrojan estos resultados lo mejor sería informar a la población que esta aplicación existe, o recomendándola a las personas que estén más cerca y estas a su vez la recomendaran a sus amigos, conocidos y familiares y así más personas podrán hacer uso de la misma.

TERCERA PREGUNTA: ¿Le resulta fácil utilizar una aplicación que instala en su dispositivo móvil? Tabla 6 Facilidad de uso de aplicaciones móviles. Opciones de respuesta

Número de personas

Porcentaje

Si

359

93,44

No

25

6,56

TOTAL

384

100

Fuente: Autor ¿Le resulta fácil utilizar una aplicación que instala en su dispositivo móvil? 7% Si No

93%

Figura 25: Facilidad de uso de aplicaciones móviles. Fuente: Autor


44

Interpretación: En vista de que uno de los objetivos del presente proyecto de disertación es fomentar la inclusión social, se desea saber si en realidad resulta fácil para todos y todas, la utilización de las aplicaciones móviles que instalan en sus dispositivos móviles y con esta pregunta se pretende fundamentar este tema. Los resultados reflejan que el 93% de las personas encuestadas no tienen problemas con la utilización de las aplicaciones móviles que tiene instaladas en sus dispositivos móviles, mientras que solamente el 7% dicen tener inconvenientes. En base a estos resultados se puede determinar que resulta acertado el desarrollo de una aplicación móvil, pues la mayor parte de la población resulta beneficiada. CUARTA PREGUNTA: ¿Cree usted que existe inconvenientes, con respecto al horario, para acercarse a las mesas de información que coloca el CNE para informar sobre el lugar de sufragio a los electores? Tabla 7 Inconvenientes con horario de atención del CNE (mesas de información). Número de personas

Porcentaje

Si

Opciones de respuesta

164

42,62

No mucho

170

44,26

No

50

13,11

384

100

TOTAL Fuente: Autor

¿Cree usted que existe inconvenientes, con respecto al horario, para acercarse a las mesas de información que coloca el cne para informar sobre el lugar de sufragio a los electores?

13% Si 43%

No mucho No

44%

Figura 26: Inconvenientes con horario de atención del CNE (mesas de información). Fuente: Autor

Interpretación: Como respuesta a una de las preguntas directrices de la presente disertación, “¿Es necesario el uso de las TICS para el mejoramiento en la calidad del servicio


45

brindado por las instituciones del sector público?”, se realizó esta pregunta a la muestra, para determinar si en realidad existe un inconveniente o malestar para la población de Santo Domingo el tener que acercarse personalmente a las mesas de información que coloca el CNE para informar a la ciudadanía sobre su lugar de sufragio. Los datos muestran que la mayoría de las personas, un 44%, dicen no sentir mucho malestar con esta situación, pero muy de cerca, el 43% de las personas encuestadas creen que en realidad si es un inconveniente acercarse personalmente a hacer este proceso, mientras que solamente el 13% indican que no les representa un inconveniente hacer este proceso personalmente. En vista a estos resultados se determina que en realidad existe inconveniente o malestar que debe será atendido.

QUINTA PREGUNTA: ¿Hace falta una aplicación móvil que informe a la ciudadanía sobre el lugar de sufragio? Tabla 8 Necesidad de la existencia de la aplicación móvil. Opciones de respuesta

Número de personas

Porcentaje

Si

359

93,44

No

25

6,56

TOTAL

384

100

Fuente: Autor ¿Hace falta una aplicación móvil que informe a la ciudadanía sobre el lugar de sufragio?

7%

Si

No

93%

Figura 27: Necesidad de la existencia de la aplicación móvil. Fuente: Autor

Interpretación: El 93% de las personas encuestadas están de acuerdo que con el desarrollo de una aplicación móvil que informe a la ciudadanía sobre el lugar de sufragio, se agilitará el proceso de consulta y por esa razón consideran que en la actualidad hace falta una aplicación que haga este proceso.


46

El 7% de las personas encuestadas consideran que no es necesario o que no hace falta el desarrollo de la aplicación. De los datos se puede deducir que existe una aceptación por la mayor parte de las personas encuestadas para el desarrollo de la aplicación por lo que se considera factible desarrollarla.

SEXTA PREGUNTA: ¿Cree usted que, con el desarrollo de una aplicación móvil que informe a la ciudadanía sobre el lugar de sufragio, mejore el servicio que ofrece el CNE y se fomente la inclusión social? Tabla 9 Percepción de mejora. Opciones de respuesta

Número de personas

Porcentaje

Si

359

93,44

No

25

6,56

TOTAL

384

100

Fuente: Autor

¿Cree usted que, con el desarrollo de una aplicación móvil que informe a la ciudadanía sobre el lugar de sufragio, mejore el servicio que ofrece el CNE y se fomente la inclusión social? 7%

Si No

93%

Figura 28: Percepción de mejora. Fuente: Autor

Interpretación: En respuesta a la pregunta directriz: “Cómo ayudaría a la población la implementación de una App. que facilite información sobre el lugar de sufragio?”, se realizó esta pregunta a la muestra y los resultados reflejan que el beneficio para la población seria que quienes hagan uso de la aplicación móvil recibirán un mejor servicio, en cuanto a comodidad y ahorro de tiempo, además que se fomenta la inclusión social, pues el 93% de las personas encuestadas concuerdan con esta idea.


47

SÉPTIMA PREGUNTA: ¿Está de acuerdo en que se facilitaría el proceso de consulta de lugar de sufragio con el desarrollo e implementación de una aplicación móvil que realice este proceso? Tabla 10 Concordancia con la idea de mejora. Opciones de respuesta

Número de personas

Porcentaje

Si

334

86,89

No mucho

50

13,11

No

0

0,00

384

100

TOTAL Fuente: Autor

¿Está de acuerdo en que se facilitaría el proceso de consulta de lugar de sufragio con el desarrollo e implementación de una aplicación móvil que realice este proceso?

0% 13% Si No mucho No 87%

Figura 29: Concordancia con la idea de mejora. Fuente: Autor

Interpretación: Lo que se espera con el desarrollo de una aplicación móvil que informe a la ciudadanía sobre el lugar de sufragio, es que este proceso, que de manera tradicional se hace en las mesas de información que instala el CNE, se agilite. Con esta pregunta se busca corroborar la necesidad de la aplicación y en base a los resultados se puede afirmar que sí, pues el 87% de las personas encuestadas concuerdan con que esto es correcto, mientras que el 13% piensa que en realidad no se facilitara mucho el proceso antes mencionado y el 0% de los encuestados piensan que no se facilitara el proceso de consulta con el desarrollo de esta aplicación móvil.


48

OCTAVA PREGUNTA: ¿Se encontraría satisfecho/a, si una aplicación móvil que instaló en su celular o dispositivo móvil, le permitiera conocer sobre el lugar de sufragio para las próximas votaciones? Tabla 11 Idea de satisfacción con el uso de la aplicación móvil. Opciones de respuesta

Número de personas

Porcentaje

Si

340

88,52

No mucho

44

11,48

No

0

0,00

384

100

TOTAL Fuente: Autor

¿Se encontraría satisfecho/a, si una aplicación móvil que instaló en su celular o dispositivo móvil, le permitiera conocer sobre el lugar de sufragio para las próximas votaciones? 0% 11% Si No mucho No

89%

Figura 30: Idea de satisfacción con el uso de la aplicación móvil. Fuente: Autor

Interpretación: En base a la aparente aceptación de la aplicación reflejada en las anteriores preguntas, se buscan conocer si las personas que instalen esta aplicación se encontrarían satisfechas al hacer uso de esta. El 89% de las personas encuestadas afirman que se sentiría satisfechas al tener una aplicación en su dispositivo móvil que les informe sobre el lugar de sufragio, mientras que el 11% de los encuestados dice que no se sentirían muy satisfechos y el 0% afirma que no se sentiría satisfecho con la App. Estos datos son bastante alentadores y a vista personal dan el visto bueno para continuar con el proyecto.


49

5.1.2. Análisis de la entrevista La entrevista realizada a Edy Mesa funcionario del CNE dio como resultado lo siguiente. El banco de preguntas usado para esta entrevista puede visualizarse en Anexo 6. -

PRIMERA PREGUNTA ¿Existe una necesidad en el CNE actualmente? Respuesta: Si, de hecho, existen 2 necesidades actualmente, la primera es que se desea el desarrollo de una aplicación móvil que por medio de voz informa el lugar de votación y la segunda es de igual manera el desarrollo de un sitio web que de un recorrido de los recintos o mesas. Para de esta forma ofrecer un mejor servicio a la población de Santo Domingo. (Meza, 2016)

Interpretación: Con estas dos propuestas se realizó la consulta al director de la presente Disertación de Grado, quien de manera puntual recomendó que sería una mejor opción el desarrollo de la aplicación móvil, debido a que fomenta la integración con la comunidad que es lo que busca la universidad con los proyectos de titulación, es de esta manera que se empezó y se dio tema a esta disertación. -

SEGUNDA PREGUNTA ¿Qué inspira a la creación de esta aplicación móvil? Respuesta: Lo que ha inspirado para la idealización de este proyecto es la población que presenta discapacidad visual, que por su condición no pueden leer la dirección del lugar donde tiene que ir a sufragar o se les resulta muy complicado acudir personalmente a las mesas de información, y básicamente lo que se espera con el desarrollo de esta aplicación es que se fomente la inclusión social con estas personas en especial. (Meza, 2016)

Interpretación: Lo que se busca con esta pregunta es básicamente tener una motivación para continuar con el proyecto y poder formar parte de la iniciativa y desarrollar esta aplicación no solamente con el objetivo de tener un tema de disertación, sino que se tenga un real interés por contribuir con algo que brinde satisfacción a quien lo necesite.


50

-

TERCERA PREGUNTA ¿Cree que es posible que el resto de electores que son videntes puedan utilizar la aplicación?

Respuesta: Claro que sí, imagino que las personas que más usen la aplicación serían justamente las personas videntes, lo cual es bueno porque así fomentamos más la inclusión y hace que la ciudadanía perciba por parte del CNE un mejor servicio y sienten que nos preocupamos por siempre mejorar para todos y todas. (Meza, 2016)

Interpretación: De esta manera se idealiza las funcionalidades que tendrá el producto, el diseño y características que se pueden incluir para brindar un valor agregado a lo solicitado por la institución. -

CUARTA PREGUNTA

¿Le parece que esta idea pueda ser usada en el resto del país?

Respuesta: “Básicamente esa es la idea, al tener esto en Santo Domingo podemos ser un ejemplo para el resto de provincias y que promuevan mediante el uso de la tecnología la inclusión social en el país”. (Meza, 2016) Interpretación: En un comienzo se pensó que los datos que se manejarían serian solamente los registros de los votantes de Santo Domingo, y con en base a estas indagaciones se pudo comprender que la BDD que se facilitaría seria la que contiene los datos de todos los votantes a nivel Nacional, por lo que no habría problema en todo caso que, al estar disponible en Play Store, se pueda descargar por todos los ecuatorianos.


51

-

QUINTA PREGUNTA

¿Qué se necesita considerar en la información que reciben los electores con respecto al lugar de sufragio? Respuesta: Datos muy puntuales, lo más esencial posible, o queremos aturdir a los ciudadanos con mucha información, internamente lo que se maneja es una división territorial que se hace de igual manera en todo el país, debido a que existen migrantes, nos encontramos divididos en: países, provincias, cantones, parroquias, zonas, recintos y juntas. Cuando se informa sobre el lugar de votación se da la dirección de la junta receptora del voto y eso es todo, adicionalmente el número de mesa y se especifica de acuerdo al género si va a la mesa Femenina o Masculina. (Meza, 2016)

Interpretación: Esta pregunta se realizó con el fin de identificar entidades que se encuentran dentro de la BDD y así poder avanzar con la creación de la misma, en espera de los datos que irán dentro de ésta y que servirán ya para poder hacer las consultas. -

SEXTA PREGUNTA

¿Cuál es el número de votantes que existen en la provincia de Santo Domingo y de ellos cuántos cuentan con alguna discapacidad? Respuesta: De acuerdo a los datos más recientes contamos registrados en Santo Domingo a 361 575 votantes, de los cuales el 10% presentan alguna discapacidad. (Meza, 2016) Interpretación: Para motivos de la parte de Metodología de la Investigación, es necesario delimitar una población y muestra por lo que es esencial conocer el número de individuos que conforman la población de esta investigación, por lo que se puede determinar que se tiene para este caso una población finita que, si bien es cierto, para algunos autores una población es considerada finita cuando el número de individuos no sobrepasa los 100 000, en esta caso concuerdo con lo que afirma Arias, (1012) quien afirma que una población es finita cuando se conoce el número de individuos que la conforman y este es el caso, así que se aplicó la formula correspondiente para obtener la muestra que resulto ser de 384 personas.


52

-

SÉPTIMA PREGUNTA ¿Existe una política que restrinja el uso de un lenguaje de programación o gestor de BDD? Respuesta: En cuanto a Lenguajes de Programación, No, hay que tener en cuenta la BDD, esta no reposa en estas instalaciones, justamente para este proyecto deberíamos hacer una solicitud a Quito para que nos faciliten la BDD y no sabría decir que sistema gestor está utilizando, así que habría que esperar a fechas posteriores para poder indicarlo de mejor manera. (Meza, 2016)

Interpretación: Para evitar tener inconvenientes futuros se hizo esta pregunta al personal que entiende sobre el área de sistemas del CNE, y luego de esto se pudo empezar con el desarrollo de la aplicación. -

OCTAVA PREGUNTA

¿Para qué fecha se tiene que entregar la aplicación ya en funcionamiento? Respuesta: Se espera que la App. salga de la mano con las mesas de información que colocamos y esto se tiene previsto para aproximadamente el 20 de enero del 2017. (Meza, 2016) Interpretación: En vista del corto plazo, que se esperaba debido a la proximidad de las elecciones, se agilitó el trabajo para poder entregar a tiempo la aplicación y hacer correcciones de ser necesario. -

NOVENA PREGUNTA

¿Cómo se realiza el proceso de búsqueda para dar información a los electores sobre su lugar de sufragio? Respuesta: La persona que hace la consulta ingresa o en este caso, dicta, el nombre completo o número de cedula y luego con esos datos se hace una consulta para arrojar lo que se comentó anteriormente (datos sobre ubicación de la junta receptora del voto).

Interpretación: Esta pregunta busca idealizar la interfaz de la aplicación y del proceso de consulta que se debe hacer en la parte de Back End.


53

5.2.Desarrollo de la metodología XP para el desarrollo de Software Para este proyecto de disertación de grado se usa como metodología de desarrollo de Software, una metodología ágil que es XP, la cual se compone por 4 etapas que se describen a continuación. 5.2.1. Etapa de planeación Esta es la primera etapa del desarrollo ágil, aquí se planifica en base a las historias de usuario. -

Historias de Usuario

Al igual que un SRS en otras metodologías de desarrollo, lo que hacen las historias de usuario es brindar de manera detallada cuales son los requerimientos de usuario, pero en este caso de manera un poco más informal y en términos que son más comprensibles por el cliente. Las historias de usuario se pueden visualizar en el Anexo 7.

5.2.2. Etapa de Diseño En esta etapa se bosqueja la apariencia que presenta App al usuario final, se hacen correcciones en función a requerimientos del cliente y también se procede al modelado de la BDD que se usará para la aplicación móvil, es así que se presenta en el Anexo 8, los diseños: físico, lógico, conceptual, XML y Orientado a Objetos de la representación de aquella BDD que se ha utilizado en la App.

5.2.3. Etapa de Codificación Una vez hecha la Planeación con los requerimientos obtenidos a través de las historias de usuario y definido el diseño de la BDD se continúa con la construcción de la aplicación, usando código fuente. A continuación, se presenta la estructura del código fuente y algunas imágenes que muestran el proceso de codificación.


54

5.2.3.1.Estructura de Código Fuente Android Studio presenta una estructura de proyecto que se representa en la Figura 31, donde figuran las carpetas. gradle, .idea, app, build y otros archivos de configuración.

Figura 31: Estructura de Código Fuente. Fuente: Autor

La carpeta app contiene todo lo relacionado con el proyecto y dentro de ella se encuentra lo siguiente: buil, libs y src junto con más archivos de configuración.

Figura 32: Estructura de Código Fuente - app Fuente: Autor

Normalmente la mayor parte del tiempo y fuerzas se usan en la carpeta src(Source). Dentro de ella se ubica la carpeta main, la cual contiene todos los archivos fuente Java para la aplicación. La carpeta res (Resources) que contiene los recursos del proyecto (iconos, sonido, diseños, etc.) y el archivo AndroidManifest.xml.


55

Figura 33: Estructura de Código Fuente – app-main-java/res Fuente: Autor

5.2.3.2. Script de la BDD A continuación, se presenta un script en MySQL que representa la estructura de la BDD proporcionada por el CNE. /*==============================================================*/ /* DBMS name: MySQL 5.0 */ /* Created on: 11/12/2016 19:41:12 */ /*==============================================================*/ drop table if exists CANTON; drop table if exists JUNTA; drop table if exists PAIS; drop table if exists PARROQUIA; drop table if exists PROVINCIA; drop table if exists RECINTO; drop table if exists VOTANTE; drop table if exists ZONA; /*==============================================================*/ /* Table: CANTON */ /*==============================================================*/


56 create table CANTON ( COD_CAN int not null auto_increment, COD_PRO int, NOM_CAN varchar(50), primary key (COD_CAN) ); /*==============================================================*/ /* Table: JUNTA */ /*==============================================================*/ create table JUNTA ( COD_JUN int not null auto_increment, COD_REC int, NOM_JUN varchar(50), primary key (COD_JUN) ); /*==============================================================*/ /* Table: PAIS */ /*==============================================================*/ create table PAIS ( COD_PAI int not null auto_increment, NOM_PAI varchar(50), primary key (COD_PAI) ); /*==============================================================*/ /* Table: PARROQUIA */ /*==============================================================*/ create table PARROQUIA ( COD_PAR int not null, COD_CAN int, NOM_PAR varchar(50), primary key (COD_PAR) ); /*==============================================================*/ /* Table: PROVINCIA */ /*==============================================================*/ create table PROVINCIA ( COD_PRO int not null auto_increment, COD_PAI int, NOM_PRO varchar(50), primary key (COD_PRO) ); /*==============================================================*/ /* Table: RECINTO */ /*==============================================================*/ create table RECINTO (


57 COD_REC int not null auto_increment, COD_ZON int, NOM_REC varchar(50), primary key (COD_REC) ); /*==============================================================*/ /* Table: VOTANTE */ /*==============================================================*/ create table VOTANTE ( COD_VOT int not null auto_increment, COD_JUN int, CED_VOT varchar(50), NOM_VOT varchar(50), APE_VOT varchar(50), primary key (COD_VOT) ); /*==============================================================*/ /* Table: ZONA */ /*==============================================================*/ create table ZONA ( COD_ZON int not null auto_increment, COD_PAR int, NOM_ZON varchar(50), primary key (COD_ZON) ); alter table CANTON add constraint FK_REFERENCE_2 foreign key (COD_PRO) references PROVINCIA (COD_PRO) on delete restrict on update restrict; alter table JUNTA add constraint FK_REFERENCE_6 foreign key (COD_REC) references RECINTO (COD_REC) on delete restrict on update restrict; alter table PARROQUIA add constraint FK_REFERENCE_8 foreign key (COD_CAN) references CANTON (COD_CAN) on delete restrict on update restrict; alter table PROVINCIA add constraint FK_REFERENCE_1 foreign key (COD_PAI) references PAIS (COD_PAI) on delete restrict on update restrict; alter table RECINTO add constraint FK_REFERENCE_5 foreign key (COD_ZON) references ZONA (COD_ZON) on delete restrict on update restrict; alter table VOTANTE add constraint FK_REFERENCE_7 foreign key (COD_JUN) references JUNTA (COD_JUN) on delete restrict on update restrict; alter table ZONA add constraint FK_REFERENCE_9 foreign key (COD_PAR) references PARROQUIA (COD_PAR) on delete restrict on update restrict;

5.2.3.3. Diccionario de Datos En el Diccionario de datos se encuentra detallado de manera lรณgica algunos componentes del sistema. (ver Anexo 9)


58

5.2.4. Etapa de Pruebas 5.2.4.1.Test de aceptación En base a las historias de usuario se elabora un test con los usuarios para evaluar si existen deficiencias en la aplicación.

Prueba 1: Al abrir Play Store desde los dispositivos móviles Android, se encuentra la aplicación con el nombre “CNE-Consulta Lugar de Votación”, la cual está disponible en su última actualización con compatibilidad para dispositivos Android Marshmallow y versiones anteriores. Link de descarga: https://play.google.com/store/apps/details?id=cne.elecciones.consulta

Figura 34: Captura de pantalla de la búsqueda de la aplicación CNE-Consulta Lugar de Votación, en la Play Store Fuente: Autor


59

Prueba 2: Al abrir la aplicaciรณn se muestra un mensaje en texto, que a la vez se escucha como audio en la primera vez que se abre la aplicaciรณn, en el que explica la manera de utilizar la aplicaciรณn.

Figura 35: Captura de pantalla del inicio de la aplicaciรณn CNE-Consulta Lugar de Votaciรณn. Fuente: Autor


60

Prueba 3: Consulta por voz

Escenario 1: Al presionar el icono del centro de la pantalla un mensaje de voz, pide que se dicte el número de cedula de la persona interesada en conocer su lugar de votación y luego de procesar los datos ingresados se procede a dictar por medio de audio el resultado de la búsqueda.

Figura 36: Captura de pantalla de búsqueda por voz en la aplicación CNE-Consulta Lugar de Votación. Fuente: Autor

Escenario 2: En caso de que se dicte un número de cédula inexistente o de una persona que aún no consta en el padrón electoral (menor de 16 años), se mostrara el siguiente mensaje.

Figura 37: Captura de pantalla de búsqueda por voz en la aplicación CNE-Consulta Lugar de Votación. Fuente: Autor


61

Prueba 4: Consulta por texto Escenario 1: Al presionar el icono en forma de lápiz que se encuentra en la pantalla de inicio de aplicación aparece la interfaz de “Búsqueda manual” donde se puede hacer la consulta de dos formas, una por número de cédula y otra por apellidos y nombres completos. Al presionar el icono de “Mapa” se puede ver la ubicación geográfica del lugar recinto electoral.

Figura 38: Captura de pantalla de búsqueda manual en la aplicación CNE-Consulta Lugar de Votación. Fuente: Autor

Escenario 2: En caso de que se ingrese un número de cédula inexistente se mostrará un mensaje de error como se muestra a continuación.

Figura 39: Captura de pantalla de búsqueda manual en la aplicación CNE-Consulta Lugar de Votación. Fuente: Autor


62

Escenario 3: En caso de que se ingrese un número de cédula valido, pero de una persona que no se encuentre en el padrón electoral, como es el caso de las personas menores de 16 años, se mostrara un mensaje a manera de aviso.

Figura 40: Captura de pantalla de búsqueda manual en la aplicación CNE-Consulta Lugar de Votación. Fuente: Autor

Escenario 4: En caso de que el nombre ingresado en la “Busqueda Manual” sea un nombre inexistente o pertenesca a una persona que no se encuentra registrada en el padrón electoral se mostrará un mensaje de aviso.

Figura 41:Captura de pantalla de búsqueda manual en la aplicación CNE-Consulta Lugar de Votación. Fuente: Autor


63

Prueba 5: Salir Se sale eliminándola de la lista de aplicaciones como se lo haría con cualquier aplicación en Android.

Figura 42:Captura de pantalla de búsqueda manual en la aplicación CNE-Consulta Lugar de Votación. Fuente: Autor

Una vez que se realizaron las respectivas pruebas, se procedió a hacer la entrega de formal de la aplicación desarrollada al CNE (Ver Anexo 2 y 3)


64

5.3.Implementación de aplicación móvil. Luego de lanzar la primera versión de la app el 19 de febrero del 2017, fue descargada por más 12.000 personas hasta el lanzamiento de su segunda versión el 2 de abril del 2017. En la Figura 42 se muestra las estadísticas de descarga de la App.

Figura 43: Consola de administración de Google Play Fuente: Autor

Existió una buena aceptación por parte del usuario final, en la mayoría de los casos, en la Figura 43. Se muestra algunos de los comentarios que dieron a la aplicación y la calificación de la misma a través de Google Play.

Figura 44: Comentarios de usuarios de la App. Fuente: Autor


65

La App tuvo la aprobación por parte del CNE Santo Domingo y se recibieron las felicitaciones de Google Play, pues durante el mes de febrero la App logró situarse como la aplicación Top de Ecuador en descargas, y como resultado al mismo tiempo se situó en el puesto número 28 de las aplicaciones más descargadas de entre los 30 países del ranquin en el que se encuentra Ecuador, dentro de la categoría de Software Libre de Comunicación.

Figura 45: Correo de Felicitaciones Fuente: Autor


66

5.4.Conclusiones -

Se desarrolló e implemento una aplicación móvil que brinda información sobre el lugar de sufragio a la población del Ecuador para las elecciones generales del 2017, para dispositivos Android, misma que se encuentra en Play Store.

-

Existen 361 575 votantes en Santo Domingo de los cuales el 10% presenta algún tipo de discapacidad, con el desarrollo de esta aplicación móvil se ha buscado incluirlos en el proceso electoral del 2017.

-

A través del correcto dialogo e interpretación de requerimientos de usuario, se logró satisfacer las necesidades del cliente.

-

En base a la información recabada en la investigación se logró identificar que el uso de las TICS aporta a brindar un servicio de calidad a la población por parte de las instituciones públicas.

-

Se utilizó herramientas de libres, para el desarrollo de la aplicación móvil, mismas que permitieron reducir el costo de este proyecto, pues no hubo necesidad de comprar licencias.

-

Se utilizó la metodología de desarrollo de software XP, por ser una metodología ágil, ideal para un proyecto que debía ser culminado en un corto plazo de tiempo.

5.5.Recomendaciones -

La comunicación con los usuarios al inicio del proyecto es de vital importancia, pues de esto depende que se comprendan correctamente los requerimientos y poder llegar a satisfacer completamente las necesidades del cliente.

-

Antes de poner a producción cualquier tipo de producto de Software es importante realizar pruebas del producto con el cliente para que dé su punto de vista y analistas las posibles mejoras.


67

6. LISTA DE REFERENCIAS:

Fuentes Bibliográficas Hernández Sampieri, R., Férnandéz, C., & Baptista, M. (2014). Metodología de la investigación. México D.F.: McGraw-Hill. Montero, R. (2013). Android Desarrollo de aplicaciones. Bogotá: Ra-Ma & Ediciones de la U. Recuperado el 23 de Noviembre de 2016 Piñeiro Gómez, J. M. (2013). Bases de datos relacionales y modelado de datos. España: Paraninfo. Recuperado el 6 de Noviembre de 2016 Pressman, R. S. (2010). Ingeniería de software Un enfoque práctico (Séptima edición ed.). México, D. F.: McGraw-Hill Educación. Recuperado el 13 de Noviembre de 2016 Reinosa, E. J., Maldonado, C. A., Muñoz, R., Damiano, L. E., & Abrutsky, M. A. (2014). Bases de Datos. Buenos Aires: Alfaomega. Recuperado el 10 de Noviembre de 2016 Sánchez, J., Huecas, G., Fernández, T. B., & Moreno, P. (2009). Programación en JAVA (3 ed.). Madrid: McGrawHill. Recuperado el 7 de Noviembre de 2016 Sommerville, I. (2011). INGENIERÍA DE SOFTWARE (NOVENA EDICIÓN ed.). Naucalpan de Juárez, Estado de México: PEARSON EDUCACIÓN. Recuperado el 13 de Noviembre de 2016 Tello, D., Maldonado, T., Montero, E., Torres, K., Andrade, E., & Herdoiza, L. (2016). Guía: Miembros de juntas receptoras del voto. CNE Consejo Nacional Electoral. Recuperado el 27 de Diciembre de 2016


68

Fuentes Lincográficas Alelú Hernández, M., Cantín García, S., Abejón López, N., & Rodríguez Zazo, M. (27 de Noviembre de 2010). Estudio De Encuestas. Recuperado el 2 de Noviembre de 2016, de

uam.e:

https://www.uam.es/personal_pdi/stmaria/jmurillo/InvestigacionEE/Presentaciones/C urso_10/ENCUESTA_Trabajo.pdf Android. (2016). Android Studio Logo. Recuperado el 4 de Diciembre de 2016, de developer.android.com:

https://developer.android.com/studio/images/studio-

icon.png?hl=es-419 Android. (2016). Conoce Android Studio. Recuperado el 23 de Noviembre de 2016, de developer.android.com: https://developer.android.com/studio/intro/index.html?hl=es419#estructura_del_proyecto Aprendeaprogramar. (2016). Qué es un servidor y cuáles son los principales tipos de servidores (proxy,dns, web,ftp,pop3 y smtp, dhcp...). Recuperado el 3 de Diciembre de 2016, de aprenderaprogramar.com: http://www.aprenderaprogramar.com/images/stories/Divulgacion/DV004/DV00408A _2.png Asamblea Nacional. (9 de Abril de 2009). LEY ORGANICA ELECTORAL, CODIGO DE LA DEMOCRACIA. Recuperado el 23 de Noviembre de 2016, de www.cpccs.gob.ec: http://www.cpccs.gob.ec/docs/normativaDocs/1408849.pdf Asamblea Nacional de la República del Ecuador. (2008). Constitución de la República del Ecuador.

Quito.

Recuperado

el

26

de

Diciembre

de

2016,

de

http://www.asambleanacional.gob.ec/sites/default/files/documents/old/constitucion_d e_bolsillo.pdf Barroso, Y., Álvarez, M., Pupo, J. C., & Írsula, A. A. (2016). Desarrollo de la base de datos del módulo Civil y familia del. Serie Científica de la Universidad de las Ciencias Informáticas,

9(1),

141-154.

Recuperado

el

12

de

junio

de

2016,

de

http://publicaciones.uci.cu/index.php/SC/article/view/1702/798 Brito, J. C., Abreu, A., Bedoya, J., García, C., & Brizuela, C. E. (2013). Módulo diseñador de modelos para el generador dinámico de. Serie Científica de la Universidad de las


69

Ciencias Informáticas, 6(9), 20-30. Recuperado el 12 de junio de 2016, de http://publicaciones.uci.cu/index.php/SC/article/view/1258/711 CNE. (2016). Actividades que desarrolla la Delegación Provincial de Santo Domingo de los Tsáchilas. Recuperado el 21 de Noviembre de 2016, de delegaciones.cne.gob.ec: http://delegaciones.cne.gob.ec/santo-domingo-de-los-tsachilas#2-3-actividades Cuello, J., & Vittone, J. (2015). Las aplicaciones. Recuperado el 23 de Noviembre de 2016, de appdesignbook.com: http://appdesignbook.com/es/contenidos/las-aplicaciones/ DefiniciónABC. (2016). Definición de Inclusión. Recuperado el 23 de Noviembre de 2016, de www.definicionabc.com: http://www.definicionabc.com/social/inclusion.php Edx. (30 de Enero de 2013). Ciclo de vida de una actividad. Recuperado el 3 de Diciembre de 2016,

de

androidcurso.com:

http://www.androidcurso.com/images/unidades_android/ciclo1.png Franco, J. H., & Echeverri, J. A. (2016). Narrativas Liquidas. Recuperado el 17 de Noviembre de

2016,

de

amazonaws.com:

http://s3.amazonaws.com/academia.edu.documents/38624393/Narrativa_Liquida_.pdf ?AWSAccessKeyId=AKIAJ56TQJRTWSMTNPEA&Expires=1479399740&Signatu re=528AvBSoCbGzlHeVZDi613U9qLA%3D&response-contentdisposition=inline%3B%20filename%3DNarrativas_Liquidas.pdfv Genymotion. (2016). Genymotion. Recuperado el 23 de Noviembre de 2016, de www.genymotion.com: https://www.genymotion.com/ INEC. (2016). Tecnologías de la Información y Comunicación (TIC´S) 2016. Recuperado el Noviembre

2

de

2016,

de

ecuadorencifras.gob.ec:

http://www.ecuadorencifras.gob.ec/documentos/webinec/Estadisticas_Sociales/TIC/2016/170125.Presentacion_Tics_2016.pdf Joskowicz , J. (10 de Febrero de 2008). Reglas y Prácticas en eXtreme Programming. Recuperado

el

20

de

Enero

de

2017,

de

iie.fing.edu.uy:

https://iie.fing.edu.uy/~josej/docs/XP%20-%20Jose%20Joskowicz.pdf Letelier, P., & Penadés, C. (15 de Enero de 2006). Métodologías ágiles para el desarrollo de software: eXtreme Programming (XP). Recuperado el 27 de Diciembre de 2016, de www.cyta.com.ar: http://www.cyta.com.ar/ta0502/v5n2a1.htm


70

Letelier, P., & Penadés, M. C. (2015). Métodologías ágiles para el desarrollo de software: eXtreme Programming (XP). Recuperado el 20 de Noviembre de 2016, de users.dsic.upv.es: http://users.dsic.upv.es/asignaturas/eui/lds/doc/masyxp.pdf Masip, D. (19 de Julio de 2002). Qué es Oracle. Recuperado el 2 de Marzo de 2017, de desarrolloweb.com: https://desarrolloweb.com/articulos/840.php Montero, R. (2013). Android Desarrollo de aplicaciones. Bogotá: Ra-Ma & Ediciones de la U. Recuperado el 23 de Noviembre de 2016 MySQL. (2016). Acerca de MySQL. Recuperado el 16 de Noviembre de 2016, de mysql.com: http://www.mysql.com/about/ MySQL. (2016). MySQL Logo Downloads. Recuperado el 2 de Diciembre de 2016, de www.mysql.com: https://www.mysql.com/about/legal/logos.html Noboa, A. (20 de Enero de 2015). La historia del CNE desde sus inicios en 2008. Recuperado el

23

de

Noviembre

de

2016,

de

www.elcomercio.com:

http://www.elcomercio.com/actualidad/historia-cne-funcion-electoral.html OMS, O. (Noviembre de 2016). Discapacidad y salud. Recuperado el 2 de Marzo de 2017, de www.who.int: http://www.who.int/mediacentre/factsheets/fs352/es/ Oracle. (2017). Oracle. Recuperado el 4 de Agosto de 2017, de www.oracle.com: https://www.oracle.com/index.html PHP. (2016). ¿Qué es PHP? Recuperado el 23 de Noviembre de 2016, de php.net: http://php.net/manual/es/intro-whatis.php PHP. (2016). PHP Logo. Recuperado el 3 de Diciembre de 2016, de php.ne: http://php.net//images/logos/php-med-trans-light.gif PostgreSQL. (2016). About. Recuperado el 7 de Noviembre de 2016, de www.postgresql.org: https://www.postgresql.org/about/ PostgreSQL. (2016). Postgresql Logo. Recuperado el 2 de Diciembre de 2016, de postgresql.org: https://www.postgresql.org/media/img/layout/hdr_left.png Qumer, A., & Henderson-Sellers, B. (2006). COMPARATIVE EVALUATION OF XP AND SCRUM USING THE 4D ANALYTICAL TOOL (4-DAT). In Proceedings of the European and Mediterranean conference on information systems, 1-8


71

Rincón, C., Acurero, A., & Bracho, D. (2012). Aspectos de diseño de un entorno de programación colaborativo. Revista Venezolana de Información, Tecnología y Conocimiento,

5(3),

11-23.

Recuperado

el

12

de

junio

de

2016,

de

http://www.scielo.org.ve/scielo.php?script=sci_arttext&pid=S169075152008000300002&lng=es&tlng=es. Sigüenza, C. d. (2015). Desarrollo de un sistema informático para la gestión estratégica de la subgenerencia de informatica de la empresa municipal de telecomunicacines, agua potable, alcantarillado y saneaminto etapa EP. Recuperado el 2 de Marzo de 2017, de www.dspace.ups.edu.ec: http://www.dspace.ups.edu.ec/bitstream/123456789/7852/6/UPS-CT004690.pdf Tomás, J. (2015). Ciclo de vida de una actividad. Recuperado el 23 de Noviembre de 2016, de www.androidcurso.com:

http://www.androidcurso.com/index.php/tutoriales-

android/37-unidad-6-multimedia-y-ciclo-de-vida/158-ciclo-de-vida-de-una-actividad


72

GLOSARIO

A ABD: Un administrador de base de datos (DBA) dirige o lleva a cabo todas las actividades relacionadas con el mantenimiento de un entorno de base de datos exitoso. Android: Es el nombre de un sistema operativo que se emplea en dispositivos móviles, por lo general con pantalla táctil. De este modo, es posible encontrar tabletas (tablets), teléfonos móviles (celulares) y relojes equipados con Android, aunque el software también se usa en automóviles, televisores y otras máquinas. App: Una App es una aplicación de software que se instala en dispositivos móviles o tablets para ayudar al usuario en una labor concreta, ya sea de carácter profesional o de ocio y entretenimiento, a diferencia de una webapp que no es instalable B BDD: Base de Datos, es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico. Las bases de datos tradicionales se organizan por campos, registros y archivos. Big Endian: En este formato, los bits más significativos se almacenan en la posición más baja de memoria, mientras que los menos significativos se guardan en las más altas consecutivas. C CNE: El Consejo Nacional Electoral, tiene 24 delegaciones Provinciales en cada una de las provincias para desconcentrar los servicios electorales en todo el país. Este organismo conforma, junto al Tribunal Contencioso Electoral, la Función Electoral el cual es una de las cinco funciones del estado ecuatoriano. D DCL: Lenguaje de Control de Datos, es un lenguaje proporcionado por el Sistema de Gestión de Base de Datos que incluye una serie de comandos SQL que permiten al administrador controlar el acceso a los datos contenidos en la Base de Datos. DDL: Lenguaje de Definición de Datos, es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los programadores de la misma llevar a cabo las tareas


73

de definición de las estructuras que almacenarán los datos, así como de los procedimientos o funciones que permitan consultarlos. Disertación: Escrito o exposición oral en que se diserta sobre un asunto. DML: Lenguaje de Manipulación de Datos, es un lenguaje proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos. H HW: Hardware, conjunto de elementos físicos o materiales que constituyen una computadora o un sistema informático. I INEC: Instituto Nacional de Estadística y Censos, es el órgano rector de la estadística nacional y el encargado de generar las estadísticas oficiales del Ecuador para la toma de decisiones en la política pública. K JDK: Java Development Kit, es un software que provee herramientas de desarrollo para la creación de programas en Java. Puede instalarse en una computadora local o en una unidad de red. En la unidad de red se pueden tener las herramientas distribuidas en varias computadoras y trabajar como una sola aplicación. L Little Endian: En este formato, los bits menos significativos se almacenan en la posición más baja de memoria, mientras que los más significativos se guardan en las posiciones altas consecutivas O Open Source: El software de código abierto (en inglés open source software u OSS) es el software cuyo código fuente y otros derechos que normalmente son exclusivos para quienes poseen los derechos de autor, son publicados bajo una licencia de código abierto o forman parte del dominio público.


74

P Play Store: Google Play o Play Store, como también se conoce, es la tienda de aplicaciones creada por Google donde puedes encontrar juegos, películas, música, libros y más. Está disponible para cualquier dispositivo móvil que cuente con sistema operativo Android. PNBV: El Plan Nacional para el Buen Vivir 2013-2017 es nuestro tercer plan a escala nacional. Está nutrido de la experiencia de los dos planes anteriores. Contiene un conjunto de 12 objetivos que expresan la voluntad de continuar con la transformación histórica del Ecuador. POA: El plan operativo es un documento oficial en el que los responsables de una organización (empresarial, institucional, no gubernamental...) o un fragmento de la misma (departamento, sección, delegación, oficina...) enumeran los objetivos y las directrices que deben marcar el corto plazo. Por ello, un plan operativo se establece generalmente con una duración efectiva de un año, lo que hace que también sea conocido como plan operativo anual o POA. S Script: Archivo de órdenes, archivo de procesamiento por lotes o, cada vez más aceptado en círculos profesionales y académicos, guion es un programa usualmente simple, que por lo regular se almacena en un archivo de texto plano. SGBD: Sistema Gestor de Base de Datos, es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. SW: Software, conjunto de programas y rutinas que permiten a la computadora realizar determinadas tareas. T TIC: Tecnologías de la Información y Comunicación, son el conjunto de tecnologías desarrolladas para gestionar información y enviarla de un lugar a otro. Abarcan un abanico de soluciones muy amplio. Incluyen las tecnologías para almacenar información y recuperarla después, enviar y recibir información de un sitio a otro, o procesar información para poder calcular resultados y elaborar informes. X XP: Acrónimo de “eXtreme Programming” o, en idioma español, “Programación extrema”, una metodología creada por Kent Beck para el desarrollo de la ingeniería de software.


75

ANEXOS

Anexo 1: Carta de Solicitud de acceso a Informaciรณn para inicio del proyecto


76

Anexo 2: Acta Entrega recepciรณn


77

Anexo 3: Carta de Impacto


78

Anexo 4: Datos estadĂ­sticos del INEC sobre el uso de Smartphones a nivel nacional


79


80


81


82

Anexo 5: Formato de encuestas aplicadas a la muestra


83


84

Anexo 6: Banco de preguntas usado para entrevistar a Funcionario del CNE


85

Anexo 7: Historias de usuario -

Historia de usuario: Acceso a la aplicación. HISTORIA DE USUARIO

Número: Nombre:

1 Usuario:

Todos los usuarios

Acceso la aplicación.

Modificación de usuario:

Iteración asignada:

Prioridad en negocio:

Puntos estimados:

Riesgo en desarrollo:

Puntos reales:

Descripción: -

La aplicación debe estar disponible para que la comunidad pueda descargarla de manera gratuita.

-

El usuario procede a instalar la aplicación en su dispositivo para poder usarla

Observación:

-

Historia de usuario: Ingreso al sistema HISTORIA DE USUARIO

Número: Nombre:

2 Usuario:

Todos los usuarios

Ingreso al sistema

Modificación de usuario:

Iteración asignada:

Prioridad en negocio:

Puntos estimados:

Riesgo en desarrollo:

Puntos reales:

Descripción: -

El usuario invoca a la aplicación.

-

La aplicación empieza a cargar esperando que el dispositivo se conecte a internet.

-

Si todo va bien la aplicación empieza a funcionar.

Observación:


86

-

Historia de usuario: Consulta de lugar de votación por medio de voz HISTORIA DE USUARIO

Número: Nombre:

3 Usuario:

Todos los usuarios

Consulta de lugar de votación por medio de voz

Modificación de usuario:

Iteración asignada:

Prioridad en negocio:

Puntos estimados:

Riesgo en desarrollo:

Puntos reales:

Descripción: -

El usuario presiona el icono de la aplicación que tiene forma de micrófono

-

La aplicación solicita al usuario que dicte su número de cédula para hacer la consulta o en caso de no saberlo, dictar el nombre completo de la persona que desea hacer la consulta.

-

El usuario procede a dictar los datos antes mencionados.

-

La aplicación emite un mensaje de voz con la dirección exacta en donde tiene que sufragar la persona de la que se ingresó los datos.

Observación:

-

Historia de usuario: Consulta de lugar de votación por medio de texto HISTORIA DE USUARIO

Número: Nombre:

4 Usuario:

Todos los usuarios

Consulta de lugar de votación por medio de texto

Modificación de usuario:

Iteración asignada:

Prioridad en negocio:

Puntos estimados:

Riesgo en desarrollo:

Puntos reales:

Descripción: -

El usuario presiona el icono de la aplicación que tiene forma de lápiz.

-

La aplicación solicita al usuario que escriba su número de cedula para hacer la consulta o en caso de no saberlo, escribir el nombre completo de la persona que desea hacer la consulta.

-

El usuario procede a escribir los datos antes mencionados.

-

La aplicación emite un mensaje de texto con la dirección exacta en donde tiene que sufragar la persona de la que se ingresó los datos.

Observación:


87

-

Historia de usuario: Salida del sistema HISTORIA DE USUARIO

Número: Nombre:

5 Usuario: Salida del sistema

Modificación de usuario:

Iteración asignada:

Prioridad en negocio:

Puntos estimados:

Riesgo en desarrollo:

Puntos reales:

Descripción: -

El usuario presiona el icono de cerrar la aplicación.

-

La aplicación empieza a cerrarse.

-

El usuario sale de la aplicación.

Observación:

Todos los usuarios


88

Anexo 8: Diagramas -

Modelo FĂ­sico

-

Modelo LĂłgico

-

Modelo conceptual


89

-

Modelo XML

-

Modelo Orientado a Objetos


90

Anexo 9: Diccionario de Datos

CNE-Consulta Lugar de votaciรณn Diccionario de Datos

Model: Physical Data _1 Report: Full Physical Report

Author: Jenny Gabriela Sandoval Montoya Version:1.0 Date: 11/12/2016 Summary: Diccionario de Base de datos


91

Listado de contenidos        

canton junta pais parroquia provincia recinto votante zona

Especificaciones CANTON Column name

DataType

PK

FK

NN

COD_CAN

INT(11)

COD_PRO

INT(11)

NOM_CAN

VARCHAR(50)

UQ

BIN

UN

ZF

AI

Default

Comment

NULL NULL

JUNTA Column name

DataType

PK

COD_JUN

INT(11)

COD_REC

INT(11)

NOM_JUN

VARCHAR(50)

FK

NN

UQ

BIN

UN

ZF

AI

Default

Comment

NULL NULL

PAIS Column name

DataType

PK

COD_PAI

INT(11)

NOM_PAI

VARCHAR(50)

FK

NN

UQ

BIN

UN

ZF

AI

Default

Comment

✔ NULL

PARROQUIA Column name

DataType

PK

COD_PAR

INT(11)

COD_CAN

INT(11)

NOM_PAR

VARCHAR(50)

FK

NN

UQ

BIN

UN

ZF

AI

Default

✔ ✔

NULL NULL

Comment


92 PROVINCIA Column name

DataType

PK

COD_PRO

INT(11)

COD_PAI

INT(11)

NOM_PRO

VARCHAR(50)

FK

NN

UQ

BIN

UN

ZF

AI

Default

Comment

NULL NULL

RECINTO Column name

DataType

PK

COD_REC

INT(11)

COD_ZON

INT(11)

NOM_REC

VARCHAR(50)

FK

NN

UQ

BIN

UN

ZF

AI

Default

Comment

NULL NULL

VOTANTE Column name

DataType

PK

FK

NN

UQ

BIN

UN

ZF

COD_VOT

INT(11)

COD_JUN

INT(11)

CED_VOT

VARCHAR(50)

NULL

NOM_VOT

VARCHAR(50)

NULL

APE_VOT

VARCHAR(50)

NULL

AI

Default

Comment

NULL

ZONA Column name

DataType

PK

COD_ZON

INT(11)

COD_PAR

INT(11)

NOM_ZON

VARCHAR(50)

FK

NN ✔

UQ

BIN

UN

ZF

AI

Default

✔ NULL NULL

Comment


93

Anexo 10: Manual Técnico

CNE-Consulta Lugar de Votación - MANUAL TÉCNICO Proyecto: Desarrollo e implementación de una aplicación móvil enfocada a la inclusión social, que brinde información del lugar de sufragio, para mejorar el servicio que ofrece el Consejo Nacional Electoral en Santo Domingo; período 2016-2017


94

FICHA DEL DOCUMENTO


95

CONTENIDO

FICHA DEL DOCUMENTO......................................................................................... ii CONTENIDO ................................................................................................................. iii ÍNDICE DE FIGURAS................................................................................................... v OBJETIVOS................................................................................................................... vi INTRODUCCIÓN ........................................................................................................ vii 1.

REQUERIMIENTOS TÉCNICOS (BACK END) ........................................... 8

1.1.

Requerimientos mínimos de hardware y software ................................................. 8

2.

HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO ..................... 9

2.1.

Android Studio ....................................................................................................... 9

2.2.

PHP ........................................................................................................................ 9

2.3.

SQLite .................................................................................................................... 9

3.

CONFIGURACIÓN DEL SERVIDOR ........................................................... 10

3.1.

Configurar la Base de Datos (config.php) ........................................................... 10

3.2.

Encriptar Datos (crypto.php) ............................................................................... 11

3.3.

Coordenadas para ubicación en el mapa (gPoint.php) ......................................... 11

4.

INSTALACIÓN DE JDK .................................................................................. 12

5.

INSTALACIÓN DE ANDROID STUDIO ...................................................... 13

REFERENCIAS ............................................................................................................ 18


96

ÍNDICE DE FIGURAS

Figura 1: Directorio de archivos del servidor. ................................................................ 9 Figura 2: Script de configuración para conexión a la BDD ............................................ 9 Figura 3: Script de configuración para encriptar datos. ............................................... 10 Figura 4: PHP class to convert Latitude & Longitude coordinates into UTM & Lambert Conic Conformal Northing/Easting coordinates. ........................................................... 10 Figura 5: Descargar el JDK ........................................................................................... 11 Figura 6: Descarga de instalador de Android Studio. ................................................... 12 Figura 7. Paso 2 de la instalación de Android Studio.................................................... 12 Figura 8: Paso 3 de la instalación de Android Studio ................................................... 13 Figura 9: Paso 4 de la instalación de Android Studio ................................................... 13 Figura 10: Paso 5 de la instalación de Android Studio ................................................. 14 Figura 11: Paso 6 de la instalación de Android Studio ................................................. 14 Figura 12: Paso 7 de la instalación de Android Studio ................................................. 15 Figura 13: Paso 8 de la instalación de Android Studio ................................................. 15 Figura 14: Paso 9 de la instalación de Android Studio ................................................. 16 Figura 15: Paso 10 de la instalación de Android Studio ............................................... 16


97

OBJETIVOS

Objetivo general Brindar información necesaria para la administración de la aplicación móvil

Objetivos específicos -

Detallar requerimientos de Hardware y Software para el desarrollo del Back-End

-

Describir las herramientas utilizadas en el diseño y codificación de la app.

-

Dar a conocer elementos importantes que contiene el servidor web de la app.


98

INTRODUCCIÓN

El presente manual describe los pasos necesarios para que cualquier persona con conocimientos relacionados con Sistemas Computacionales pueda administrar la segunda versión de la aplicación móvil “CNE-Consulta Lugar de Votación”, desarrollada para el Consejo Nacional Electoral delegación Santo Domingo de los Tsáchilas, que brinda información a la población sobre el lugar de sufragio para elecciones generales en Ecuador. En este documento se hace mención a los requerimientos mínimos que se necesitaron para el desarrollo de la aplicación, así como el detalle de las herramientas de desarrollo utilizadas y la posterior configuración del servidor para su puesta en marcha.


99

1. REQUERIMIENTOS TÉCNICOS (BACK END) 1.1.Requerimientos mínimos de hardware y software -

Privilegios de administrador (Para poder instalar aplicaciones)

-

Sistema Operativo Windows  Windows 7/8/10 (32 o 64 bits).  2 GB de RAM (8 GB de RAM recomendado).  2 GB de espacio libre mínimo (4 GB recomendado).  Resolución mínima de 1.280 x 800.  Java 8.  64 bits y procesador Intel (emulador).

Mac  Mac OS X 10.8.5 o superior.  2 GB de RAM (8 GB de RAM recomendado).  2 GB de espacio libre mínimo (4 GB recomendado).  Resolución mínima de 1.280 x 800.  Java 6.

Linux  GNOME o KDE Desktop.  Ubuntu…  64 bits / 32 bits.  GNU C (glibc) 2.1 o superior.  2 GB de RAM (8 GB de RAM recomendado).  2 GB de espacio libre mínimo (4 GB recomendado).  Resolución mínima de 1.280 x 800.  Java 8.  64 bits y procesador Intel (emulador).


100

2. HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO 2.1. Android Studio “Android Studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de aplicaciones para Android y se basa en IntelliJ IDEA. Además del potente editor de códigos y las herramientas para desarrolladores de IntelliJ, Android Studio ofrece aún más funciones que aumentan tu productividad durante la compilación de apps para Android”. (Android, 2016)

2.2. PHP Es un lenguaje del lado del servidor, lleva ese nombre por el acrónimo en inglés de Hypertext Preprocessor, es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser incrustado en HTML. “Si el cliente realiza una petición, se ejecuta el intérprete de PHP y se genera el contenido de manera dinámica. Permite conexión con varios tipos de Bases de Datos como: MySql, Oracle, Postgress, SQL Server, etc. permitiendo aplicaciones robustas sobre la WEB. Este lenguaje de programación puede ser ejecutado en la gran mayoría de sistemas operacionales y puede interactuar con Servidores WEB populares”. (Caicedo, 2012, p. 10)

2.3.SQLite “SQLite es un motor de base de datos de SQL incorporado. A diferencia de la mayoría de las otras bases de datos SQL, SQLite no tiene un proceso de servidor separado. SQLite lee y escribe directamente en archivos de disco ordinarios. Una base de datos SQL completa con múltiples tablas, índices, disparadores y vistas, está contenida en un único archivo de disco. El formato de archivo de la base de datos es multiplataforma - puede copiar libremente una base de datos entre sistemas de 32 bits y 64 bits o entre arquitecturas big-endian y little-endian. Estas características convierten a SQLite en una opción popular como formato de archivo de aplicación. Piense en SQLite no como un reemplazo para Oracle, sino como un reemplazo para fopen ()”. (SQLite, 2007)


101

3. CONFIGURACIร N DEL SERVIDOR Existen 3 archivos .php bรกsicos que deben ir en la configuraciรณn del servidor. -

config.php

-

crypto.php

-

gPoint.php

Figura 1: Directorio de archivos del servidor. Fuente: Autor

3.1.Configurar la Base de Datos (config.php)

Figura 2: Script de configuraciรณn para conexiรณn a la BDD Fuente: Autor


102

3.2. Encriptar Datos (crypto.php)

Figura 1: Script de configuraciรณn para encriptar datos. Fuente: Autor.

3.3. Coordenadas para ubicaciรณn en el mapa (gPoint.php)

Figura 2: PHP class to convert Latitude & Longitude coordinates into UTM & Lambert Conic Conformal Northing/Easting coordinates. Fuente: Autor


103

4. INSTALACIÓN DE JDK Primero es necesario instalar el JDK (Java Development Kit) para luego poder instalar Android Studio, así que se debe descargarlo desde la página oficial de Oracle. El proceso es sencillo, una vez que se tiene el instalador solo hay que hacer clic en siguiente, siguiente… y finalizar.

Figura 1: Descargar el JDK Fuente: http://www.oracle.com/technetwork/es/java/javase/downloads/index.html


104

5. INSTALACIÓN DE ANDROID STUDIO Paso 1. descargar la versión más reciente de Android Studio desde la página web principal de desarrolladores de Android.

Figura 1: Descarga de instalador de Android Studio. Fuente: https://developer.android.com/studio/index.html

Paso 2. Ejecutar el instalador y dar click en Next, como lo indica el asistente de instalación.

Figura 2. Paso 2 de la instalación de Android Studio Fuente: http://www.tutorialesprogramacionya.com/javaya/androidya/androidstudioya/imagentema/fo to001.jpg


105

Paso 3. Elegir los componentes que queremos instalar.

Figura 1: Paso 3 de la instalación de Android Studio Fuente: https://www.adslzone.net/app/uploads/2015/02/Android-Studio-Instalacion-Foto-3.png

Paso 4. Aceptar términos de licencia

Figura 2: Paso 4 de la instalación de Android Studio Fuente: http://www.adslzone.net/app/uploads/2015/02/Android-Studio-Instalacion-Foto-4.png


106

Paso 5. Elegir la ruta donde instalaremos nuestro Android Studio. Debemos elegir una ruta para el programa en sí y otra diferente para instalar el SDK, con bastante espacio disponible ya que las descargas y actualizaciones de los componentes de este suelen ocupar bastante espacio.

Figura 1: Paso 5 de la instalación de Android Studio Fuente: http://www.adslzone.net/app/uploads/2015/02/Android-Studio-Instalacion-Foto-5.png

Paso 6. Asignar espacio de memoria para el uso de máquinas virtuales y emuladores de Android.

Figura 2: Paso 6 de la instalación de Android Studio Fuente: http://www.adslzone.net/app/uploads/2015/02/Android-Studio-Instalacion-Foto-6.png


107

Paso 7. Esperar a que se copien archivos al disco duro

Figura 1: Paso 7 de la instalaciรณn de Android Studio Fuente: https://www.adslzone.net/app/uploads/2015/02/Android-Studio-Instalacion-Foto-8.png

Paso 8. Esperar a que se descarguen elementos del SDK necesarios desde Internet

Figura 2: Paso 8 de la instalaciรณn de Android Studio Fuente: https://www.adslzone.net/app/uploads/2015/02/Android-Studio-Instalacion-Foto-9653x500.png


108

Paso 9. Finalizar la instalaciรณn.

Figura 1: Paso 9 de la instalaciรณn de Android Studio Fuente: https://www.adslzone.net/app/uploads/2015/02/Android-Studio-Instalacion-Foto-10653x500.png

Paso 10. Comenzar a trabajar con Android Studio

Figura 2: Paso 10 de la instalaciรณn de Android Studio Fuente: https://camo.githubusercontent.com/3607e36ad40c28cbb0b9d65b3277384467ad4787/68747 4703a2f2f61646f62652d6d61726b6574696e672d636c6f75642e6769746875622e696f2f74617 26765742d696f742d6c61622f6c61622d696d616765732f6c6573736f6e355f696d67372e706e6 7


109

REFERENCIAS

Android. (2016). Conoce Android Studio. Recuperado el 23 de Noviembre de 2016, de developer.android.com: https://developer.android.com/studio/intro/index.html?hl=es419#estructura_del_proyecto Caicedo Colmenares, E. Y. (Agosto de 2012). MANUAL TECNICO - SOFTWARE DE ADMINISTRACIÓN PARA LA GESTIÓN DE CASOS DEL COMITÉ DE ASUNTOS ESTUDIANTILES DE LA UNAD GC-CAE. Recuperado el 12 de Julio de 2017, de repository.unad.edu.co: http://repository.unad.edu.co/bitstream/10596/1784/2/MANUAL%20TECNICO .pdf PHP. (2016). ¿Qué es PHP? Recuperado el 23 de Noviembre de 2016, de php.net: http://php.net/manual/es/intro-whatis.php SQLite. (15 de Noviembre de 2007). About SQLite. Recuperado el 12 de Julio de 2017, de sqlite.org: https://www.sqlite.org/about.html


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.