UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES
“UNIANDES”
FACULTAD DE SISTEMAS MERCANTILES
CARRERA DE SISTEMAS
PROYECTO DE INVESTIGACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO
DE INGENIERO EN SISTEMAS E INFORMÁTICA.
TEMA:
“APLICACIÓN MÓVIL PARA APOYAR LA PROTECCIÓN DE DERECHOS
DEL CONSEJO NACIONAL PARA LA IGUALDAD INTERGENERACIONAL
DEL CANTÓN TISALEO”
AUTOR: SILVA SOLIS GALO ALEJANDRO
ASESOR: ING. BAÑO NARANJO FREDDY PATRICIO
AMBATO - ECUADOR
APROBACIÓN DEL ASESOR DEL TRABAJO DE TITULACIÓN
CERTIFICACIÓN:
Quien suscribe, legalmente CERTIFICA QUE: El presente Trabajo de Titulación
realizado por el señor Silva Solis Galo Alejandro, estudiante de la Carrera de Sistemas, Facultad de Sistemas Mercantiles, con el tema “APLICACIÓN MOVIL
PARA APOYAR LA PROTECCIÓN DE DERECHOS DEL CONSEJO NACIONAL
PARA LA IGUALDAD INTERGENERACIONAL DEL CANTÓN TISALEO”, ha
sido prolijamente revisado, y cumple con todos los requisitos establecidos en la
normativa pertinente de la Universidad Regional Autónoma de los Andes
-UNIANDES-, por lo que apruebo su presentación.
Ambato, Agosto de 2017
Ing. Baño Naranjo Freddy Patricio
ASESOR
DECLARACIÓN DE AUTENTICIDAD
Yo, Galo Alejandro Silva Solis estudiante de la Carrera de Sistemas, Facultad de
Sistemas Mercantiles, declaro que todos los resultados obtenidos en el presente
trabajo de investigación, previo a la obtención del título de INGENIERIA EN
SISTEMAS E INFORMATICA, son absolutamente originales, auténticos y
personales; a excepción de las citas, por lo que son de mi exclusiva
responsabilidad.
Ambato, Agosto 2017
Sr. Galo Alejandro Silva Solis
CI. 1804373734
DERECHOS DE AUTOR
Yo, Galo Alejandro Silva Solis, declaro que conozco y acepto la disposición
constante en el literal d) del Art. 85 del Estatuto de la Universidad Regional
Autónoma de Los Andes, que en su parte pertinente textualmente dice: El
Patrimonio de la UNIANDES, está constituido por: La propiedad intelectual sobre
las Investigaciones, trabajos científicos o técnicos, proyectos profesionales y
consultaría que se realicen en la Universidad o por cuenta de ella;
Ambato, Agosto 2017
_
Sr. Galo Alejandro Silva Solís
CI.1804373734
DEDICATORIA
Dedico el presente trabajo a Dios por haberme permitido llegar hasta este punto
y haberme dado salud para lograr mis objetivos, además de su infinita bondad y
amor, a mi hija que es el motivo de lucha del día a día, a mi madre por haberme
apoyado en todo momento, por sus consejos, sus valores, por la motivación
constante que me ha permitido ser una persona de bien, pero más que nada por
su amor, a mi padre por los ejemplos de perseverancia y constancia que lo
caracterizan y que me ha infundado siempre, por el valor mostrado para salir
adelante y por su amor, a mi hermano que siempre ha estado junto a mí y
brindándome su apoyo muchas veces en las buenas y malas.
AGRADECIMIENTO
Fraterna gratitud a la Universidad Autónoma de los Andes, facultad de Sistemas
Mercantiles, por la oportunidad de acogerme en sus aulas y forjar un profesional
eficiente y efectivo al servicio de la sociedad.
Agradecimiento a todos los docentes de la carrera que impartieron sus
conocimientos, en especial al Ingeniero Freddy Baño mi asesor de tesis, quien
con sus conocimientos supo orientar el trabajo de investigación.
Al personal administrativo del Consejo Cantonal de protección de derechos del
cantón Tisaleo por la colaboración, quienes fueron apoyo decidido para poder
cumplir con la investigación en sus diferentes procesos
Índice general
APROBACIÓN DEL ASESOR DEL TRABAJO DE TITULACIÓN DECLARACION DE AUTENTICIDAD
DERECHOS DE AUTOR DEDICATORIA
AGRADECIMIENTO RESUMEN EJECUTIVO ABSTRACT
INTRODUCCIÓN... 1
Antecedentes de la Investigación ... 1
Situación Problémica ... 3
Problema Científico ... 4
Línea de Investigación ... 4
Objetivos ... 5
Objetivo General... 5
Objetivos Específicos... 5
Idea Defender… ... 5
Justificación….. ... 5
CAPITULO I ... 7
1. MARCO TEÓRICO ... 7
1.1. SISTEMA OPERATIVO ANDROID ... 7
1.1.1. Definición ... 7
1.1.2. Historia. ... 8
1.1.3. Versiones ... 10
1.1.4. Características... 12
1.1.4.1 Android soporta las siguientes características:... 12
1.2. PHP ... 12
1.2.1. Definición ... 12
1.2.2. Funcionamiento de PHP ... 14
1.3. Programación Orientada a Objetos ... 16
1.3.1. Introducción ... 16
1.3.2. Origen.. ... 16
1.3.2.1 Objeto ... 17
1.3.2.2 Clase: ... 18
1.3.2.3 Encapsulación: ... 18
1.3.2.4 Abstracción: ... 18
1.4. JAVA... 19
1.4.2. Definición ... 20
1.5. Desarrollo de aplicaciones móviles en Android ... 21
1.5.1. Desarrollo desde Android Studio... 21
1.5.2. SDK…… ... 22
1.5.3. Mysql…. ... 24
1.5.3.1 Definición ... 24
1.5.3.2 Características ... 24
1.5.3.2.1. Ventajas ... 25
1.5.3.2.2. Desventajas ... 25
1.5.4. Servicio web apache ... 26
1.5.4.1 Servicio Web... 26
1.5.4.2 Arquitectura del Servidor Web ... 26
1.5.4.3 Objetivos del Servidor Web ... 27
1.5.4.4 Esquema ... 28
1.5.4.5 Apache ... 29
1.5.5. JSON…. ... 29
1.6. Derechos ... 30
1.6.1. Definición ... 30
1.6.2. Protección de Derechos Humanos ... 31
1.6.3. Grupos Vulnerables ... 31
1.6.3.1 Introducción ... 31
CAPITULO II ... 34
2. MARCO METODOLÓGICO ... 34
2.1. Caracterización del Sector ... 34
2.1.1. Consejo Nacional para la Igualdad Intergeneracional del cantón Tisaleo34 2.1.2. Misión…... 34
2.1.3. Visión… ... 35
2.1.4. Organigrama ... 35
2.2. Descripción del procedimiento Metodológico ... 36
2.2.1. Modalidad de la investigación ... 36
2.2.2. Tipo de investigación... 36
2.2.3. Población ... 36
2.2.4. Métodos, Técnicas e Instrumentos ... 37
2.3. Análisis e interpretación de resultados ... 38
2.3.1. Análisis de las entrevistas ... 42
2.3.2. Análisis de las Guías de Observación ... 43
2.4. Propuesta del Investigador ... 44
2.5. Conclusiones parciales del capítulo ... 44
CAPITULO III ... 46
3. MARCO PROPOSITIVO... 46
3.1. Tema ... 46
3.2. Objetivos ... 46
Objetivos Específicos... 46
3.3. Desarrollo de la Propuesta... 47
3.3.2. Análisis ... 47
3.3.2.1 Especificación de requerimientos de Software ... 48
3.3.3.1.1. Requerimiento Funcionales... 48
3.3.3.1.2. Requerimientos No Funcionales ... 50
3.3.2.2 Alcance ... 51
3.3.2.3 Requisitos comunes de las interfaces... 51
3.3.2.4 Diagramas Caso de Uso ... 53
3.3.3.1.3. Diagrama de caso de uso principal de la aplicación... 53
3.3.2.5 Diagrama de Secuencias ... 55
3.3.3. Diseño... 57
3.3.3.1 Diseño de la base de datos ... 57
3.3.3.2 Diagrama de Clases ... 58
3.3.3.3 Diseño de Interfaz ... 59
3.3.3.1.4. Actividad Login ... 59
3.3.3.1.5. Actividad Menú ... 59
3.3.3.1.6. Actividad Línea Base ... 60
... 60
3.3.4. Desarrollo ... 60
3.3.4.1 Formulario de Ingreso al Sistema ... 61
3.3.4.2 Formulario menú... 65
3.3.4.3 Formulario registro de línea base ... 68
3.3.4.4 Formulario Planificación Mensual ... 74
3.3.5. Pruebas ... 80
3.3.5.1 Pruebas caja blanca ... 80
3.3.5.2 Pruebas caja Negra ... 81
3.3.6. Implementación ... 81
3.3.6.1 Requerimientos... 81
3.3.6.2 Proceso ... 82
CONCLUSIONES ... 84
RECOMENDACIONES ... 85
BIBLIOGRAFÍA... 86
ÍNDICE DE TABLAS
Tabla 1 Versiones Android... 11
Tabla 2 Población ... 37
Tabla 3 Requerimientos Funcionales ... 48
Tabla 4 Requerimientos Funcionales ... 48
Tabla 5 Requerimientos Funcionales ... 49
Tabla 6 Requerimientos Funcionales ... 49
Tabla 7 Requerimientos No Funcionales ... 50
Tabla 8 Requerimientos No Funcionales ... 50
Tabla 9 Requerimientos No Funcionales ... 51
Tabla 10 Características Hardware ... 52
Tabla 11 Características software ... 52
ÍNDICE DE GRÁFICOS
Figura 1 Sistema de capas de Android ... 9
Figura 2. Código PHP ejemplo ... 13
Figura 3 PHP ... 14
Figura 4 Android Studio ... 21
Figura 5. Servicio web ... 28
Figura 6 Organigrama fuente ... 35
Figura 7 Ciclo de Vida en Cascada ... 47
Figura 8 Diagrama Caso De Uso... 53
Figura 9 Caso De Uso Administración ... 53
Figura 10 Caso De Uso Secretaria Ejecutiva ... 54
Figura 11 Caso De Uso Encuestado ... 54
Figura 12 Diagrama Secuencias Administrador ... 55
Figura 13 Diagrama Secuencias Encuestador ... 55
Figura 14 Diagrama Secuencias Secretaria Ejecutiva ... 56
Figura 15 Diseño Base De Datos ... 57
Figura 16 Diseño de clases ... 58
Figura 17 Actividad Login Interfaz ... 59
Figura 18 Actividad Menú Interfaz ... 59
Figura 19 Actividad Línea Base Interfaz... 60
Figura 20 Desarrollo login ... 61
Figura 21 Desarrollo menú ... 65
Figura 22 Desarrollo Línea base ... 68
Figura 23 Desarrollo Planificación Mensual ... 74
Figura 24 Pruebas... 80
Figura 25 Panel de Descarga ... 80
Figura 26 Instalación App Móvil... 80
RESUMEN EJECUTIVO
El presente trabajo está dividido en varios capítulos, tendientes al desarrollo
organizado y secuencial del mismo. A continuación, se da a conocer el aporte
de cada uno de los capítulos.
Dentro de su primera parte se ha especificado sus antecedentes planteamiento
y formulación, delimitación del problema donde se brinda un panorama de la
realidad que se ve en el cantón Tisaleo por parte de los Adolescentes, personas
mayores, personas con discapacidad y las mujeres.
Se presenta una introducción referente al problema fundamental de investigación
sobre el proyecto a realizarse, además se establecen los demás aspectos, tales
como: objetivos y justificación del problema.
En el primer capítulo se desarrolla el marco teórico donde abarca todos los
elementos que se utilizarán en el desarrollo de la aplicación móvil y a su vez
información sobre los derechos de cada una de las personas de la sociedad.
En el segundo capítulo se establece la metodología y técnicas de análisis a fin
de obtener una propuesta calificada.
Finalmente, en el tercer capítulo se desarrolla el esquema de la propuesta, el
cual consiste en la evaluación y diseño del presente tema de tesis con la ayuda
de la previa investigación realizada. Además, se incorpora conclusiones
ABSTRACT
The following research project is divided in various chapters based on sequential
and organized development of it. As follows we will give information of each one.
Within its first part the following antecedents have been specified: concept and
research of the problem, delimitation of the problem where we may find it at the
parish of Tisaleo within the Council for the Protection of Rights. This institution
works for the rights for teenagers, the elderly, disabled people, and women of the
parish.
In the first chapter the theoretical framework is developed where every element
used in the development of the mobile application is explained and at the same
time the information on the rights of each person in society.
In the second chapter we establish the methodology and research techniques
that we used in order to obtain a clear vision of the problem and a perspective to
solve it.
Finally in the third chapter we developed the proposal. This one consists in the
implementation of a mobile application to support the protection of rights in the
Council for an equal generation use at the parish of Tisaleo. The app will be
developed in base of the standards from software engineering. Finally, we
1 INTRODUCCIÓN
Antecedentes de la Investigación
La presente Investigación se focalizará en los y las adolescentes del cantón
Tisaleo con la finalidad de apoyar la protección de los derechos de los mismos,
sin embargo, es necesario conocer el índice poblacional de adolescentes al igual
que lo que representa esta etapa de la vida, El Consejo Nacional de Igualdad
Intergeneracional menciona lo siguiente:
En el Ecuador los y las adolescentes son los ciudadanos y ciudadanas entre los
12 y 17 años de edad y según el censo de 2010 este grupo poblacional era de
1.753.333 lo que representaba el 12,3% de la población total y para el 2017 se
estima que serán 1.610.235 lo que representará el 9,6% de la población total del
país. La adolescencia es parte del ciclo de vida, en este período permanecen
aún las cualidades y necesidades de la niñez, como la protección y atención
prioritaria, así como también aparecen elementos de la juventud como la
necesidad personal de participar en las reivindicaciones sociales, culturales,
políticas, ambientales, expectativas propias de los adolescentes. En la
adolescencia las personas afianzan su identidad, es característica la
construcción de su autonomía y se vuelve fundamental esbozar su proyecto de
vida. Estos cambios personales propician su forma diferente de concebir el
mundo y, por tanto, el relacionamiento con la familia y la sociedad imprime
profundas transformaciones físicas y psicológicas. Es un momento de búsqueda,
experimentación, riesgos y crisis, están en búsqueda de referentes personales y
sociales para sostener y transitar hacia la juventud. Cumplir con sus
expectativas, satisfacer sus necesidades, escuchar y tomar en cuenta su voz por
parte de los adultos significativos, hará una gran diferencia en el presente y
futuro del Ecuador. (Consejo Nacional de Igualdad Intergeneracional, 2014)
Como se menciona en la cita tomada la adolescencia es un período muy
complicado para la sociedad ya que en este se da una serie de riesgos los cuáles
necesario velar por los derechos y el bienestar de los mismos al igual que por
las mujeres y adultos mayores es decir grupos vulnerables, para lo cual se busca
el emplear una aplicación móvil y de esta manera lograr el objetivo planteado.
En referencia al tema de Aplicación Móvil, se puede mencionar que es aquella
que únicamente se puede dar uso en un dispositivo móvil debido a que gracias
a su diseño la capacidad de almacenamiento al igual que de procesamiento es
menor por lo tanto resulta viable la realización de la misma para así velar por los
derechos de los grupos vulnerables.
La actual investigación tiene como propósito establecer la importancia de las
aplicaciones móviles y su relación con la protección de derechos para el CNII del
cantón de Tisaleo, por consiguiente, se ha tomado como referencia
investigaciones preliminares realizadas en la Universidad Técnica de Ambato y
Escuela Politécnica Nacional, a continuación, se presentan algunas relacionadas
con las variables de estudio:
Según (Supe, 2016) en su trabajo de investigación titulado “Aplicaciones móviles
y su relación con la difusión de información institucional de la Facultad de
Ciencias Humanas y de la Educación de la Universidad Técnica de Ambato cantón Ambato provincia de Tungurahua”, concluye que las aplicaciones móviles
brindan grandes beneficios al ámbito educativo, la difusión de la información de
la Facultad de Ciencias Humanas y de la Educación.
De igual manera Báez Vega & Meneses Zambrano, (2015) en su trabajo de investigación titulado “Desarrollo de una aplicación mixta (móvil-web) para apoyo
a la administración de mercadeo de productos y/o servicios para la empresa Clearminds-IT”, concluye que las aplicaciones móviles brindan apoyo a la
administración de mercadeo de productos.
El siguiente trabajo de investigación titulado “Desarrollo de un sistema de encuestas basado en dispositivos de telefonía móvil”, concluye que el desarrollo
3
sociedad. (Escobar Coral & Masapanta Guilcamaigua, 2007).
Situación Problémica
En el Ecuador el Consejo Nacional para la Igualdad Intergeneracional es la
encargada de proteger los derechos de las personas que han tenido algún tipo
de vulnerabilidad. Gracias al CNII se ha logrado proteger a todos los seres
humanos que residen en Ciudades, Cantones, Parroquias entre otras.
Dentro del cantón de Tisaleo existe un alto índice de adolescentes y mujeres que
debido a una carencia de recursos económicos se dedican a la realización de
actos delictivos, esta situación se da debido a que por falta de información y
control es difícil cambiar la forma de pensar de cada uno de los individuos, de
igual manera en el caso de los adultos mayores y discapacitados por la falta de
preocupación del medio en el que se desenvuelven se encuentran en una
situación de vulnerabilidad y tienden a sufrir ataques violentos en reiteradas
ocasiones.
Se puede apreciar varias anomalías como las que se nombran a continuación:
Uno de los principales temas por abordar es la pobreza ya que es uno de los
indicadores más altos que se puede apreciar el cual trae consigo consecuencias
como el robo, de igual manera no se obtiene un servicio de salud adecuado es
por ello que las personas buscan otras alternativas para obtener la ayuda
necesitada.
Alrededor del 20% de adolecentes no tienen acceso a una educación básica y
bachillerato adecuado ya sea por carencia de recursos económicos o por
violencia intrafamiliar y ausencia de apoyo lo que conlleva a un incremento en el
analfabetismo de la población de Tisaleo.
Las malas condiciones laborales y de seguridad social son uno de los factores
principales para que tanto adolescentes como mujeres y adultos mayores se
Sumándole a la problemática ya mencionada los adolescentes tienen acceso
libre a Internet el cual no es controlado por una persona adulta y no se logra la
supervisión de las páginas web que se visita, por lo tanto, se puede mencionar
que existe un índice muy elevado de adolescentes que no poseen una guía
adecuada.
La protección y respeto de los derechos es un factor muy importante para todas
las personas sean niños, adolescentes, mujeres, adultos mayores o
discapacitados.
Problema Científico
¿Cómo apoyar la protección de derechos a los adolescentes del cantón Tisaleo?
Objeto de Investigación
Desarrollo de Software
Campo de Acción
Aplicación Móvil
Línea de Investigación
El presente trabajo investigativo se encuentra en la línea denominada:
5 Objetivos
Objetivo General
Implementar una Aplicación Móvil como apoyo a la protección de derechos para el CNII del cantón Tisaleo.
Objetivos Específicos
Fundamentar científicamente las aplicaciones móviles, sus herramientas de desarrollo y la protección de derechos.
Identificar los procesos de aplicación para la protección de derechos por parte del Consejo Nacional para la igualdad intergeneracional del cantón
de Tisaleo
Diseñar una aplicación móvil como soporte a la protección de derecho en el cantón Tisaleo
Validar la propuesta.
Idea Defender
Con la implementación de una aplicación móvil Android se apoyará la protección
de derechos del cantón de Tisaleo, permitiendo así que los adolescentes tengan
de forma clara cuáles son sus derechos y asegúrales un mejor futuro. Además
de aportar con tecnología y eficiencia para preservar su información.
Justificación
Debido a la problemática existente en Tisaleo en referencia a la vulnerabilidad y
violación de los derechos de los individuos pertenecientes a este cantón se ha
decidido el buscar medios a través de los cuales se pueda velar por los intereses
de los individuos que conforman parte de la población de dicho cantón.
se ha considerado que es la creación de una aplicación móvil que se enfoque en
administrar de mejor manera la información que se envía y se recibe por parte
de los individuos que han sido víctimas de una vulneración a sus derechos ya
que por la falta de herramientas para poder comunicar dichas violaciones no se
ha podido tomar cartas en el asunto.
La propuesta del presente proyecto es el realizar un diseño e implementación de
una aplicación de tipo Android como una herramienta adecuada para brindar
grandes aportes y ayudas para los grupos vulnerables para así poder disminuir
la violación de derechos humanos dentro del cantón.
7 CAPITULO I
1. MARCO TEÓRICO
1.1. SISTEMA OPERATIVO ANDROID
1.1.1. Definición
Han pasado décadas desde la creación de los teléfonos móviles o celulares
mediante los cuales las personas pueden comunicarse a cualquier hora del día
en cualquier lugar solo con la utilización de llamadas o mensajes de texto, sin
embargo, en los últimos años se ha evidenciado una gran evolución en dichos
artefactos ya que hoy en día se cuenta con versiones nuevas y actualizadas que
permiten el uso de internet para la comunicación lo que conlleva a la creación de
aplicaciones móviles y sistemas operativos adecuados.
El libro titulado Android Guía de desarrollo de aplicaciones Java para
Smartphones y Tabletas menciona lo siguiente:
Hace todavía poco tiempo, el sistema Android solo estaba presente en algunos
smartphones. En la actualidad, tabletas, relojes, televisores con conexión a
Internet, coches, cámaras fotográficas, etc., están equipados con el sistema
operativo de Google, hasta el punto de convertirse en el primer sistema operativo
diseñado para la movilidad. Muchos son los motivos de este éxito. Uno de ellos
es, sin duda, la amplia oferta de aplicaciones disponibles para su descarga (más
de un millón), que permiten a cualquiera personalizar su dispositivo Android.
(Hebuterne, 2016)
Como se puede observar en la cita tomada con anterioridad un claro ejemplo de
sistema operativo con gran acogimiento a nivel mundial es Android debido a su
amplia gama de opciones en aplicaciones para la configuración de dispositivos
El artículo titulado Introducción a Android menciona lo siguiente:
Android permite programar en un entorno de trabajo (framework) de Java,
aplicaciones sobre una máquina virtual Dalvik (una variación de la máquina de
Java con compilación en tiempo de ejecución). Además, lo que le diferencia de
otros sistemas operativos, es que cualquier persona que sepa programar puede
crear nuevas aplicaciones, widgets, o incluso, modificar el propio sistema
operativo, dado que Android es de código libre, por lo que sabiendo programar
en lenguaje Java, va a ser muy fácil comenzar a programar en esta plataforma.
(Báez, et al., n.d.)
Con lo expuesto anteriormente, se puede considerar que Android Studio es un
sistema muy eficaz y fácil de usar y por el mismo motivo que está realizado el
Linux es totalmente gratuito y libre de usar, es importante recalcar que es un
sistema libre es decir cualquier persona puede programar y configurar sus
necesidades dentro del mismo.
1.1.2. Historia
Como la mayoría de sistemas operativos, Android era completamente
desconocido, como lo menciona el siguiente libro digital:
Android era un sistema operativo para móviles prácticamente desconocido hasta
que en 2005 lo compro Google. En noviembre de 2007 se creó la Open Handset
Aliance, que agrupo a muchos fabricantes de teléfonos móviles, procesadores y
Google. Este año se lanzó la primera versión de Android, junto con el SDK (del
inglés, Software Development Kit, que significa Kit del desarrollo del software)
para que los programadores empezaran a crear sus aplicaciones para este
sistema operativo. El despegue del sistema operativo fue lento porque se lanzó
antes el sistema operativo que el primer terminal móvil, aunque rápidamente se
ha colocado como el sistema operativo de móviles más vendido del mundo. En
febrero de 2011 se anunció la versión 3.0 de Android, cuyo nombre en clave es
9
móviles (Robledo Sacristán & Robledo Fernández, n.d.)
Como se puede observar Android empezó de cero siendo un sistema operativo
desconocido, pero fue gracias a Google que ha mejorado ya que dentro de esta
empresa se ha publicado la mayor parte del código fuente, ya que el sistema
operativo Android se encuentra basado en el núcleo principal de Linux se puede
dar un acceso a recursos como la cámara, memoria, controladores de pantalla
entre otras.
En la Figura 1, se muestran las capas que conforman el sistema operativo Android
Como se puede observar en la imagen presentada se distinguen claramente
cada una de las capas: la que forma parte del propio Kernel de Linux, gracias a
este sistema, Android tiene acceso a una serie de controladores, de igual manera
se puede evidenciar librerías establecidas para el desarrollo de aplicaciones, la
tercera capa se enfoca en la organización de los administradores de recursos,
finalmente, la capa de las aplicaciones móviles a las que tiene acceso como son
contactos, navegador, entre otros.
Figura 1 Sistema de capas de Android
Con lo expuesto anteriormente, es importante mencionar que el sistema
operativo Android, tiene mayores ventajas a diferencia de otros sistemas
operativos esto se debe a su libertad de uso, ya que para realizar aplicaciones
como para usarlo en un dispositivo móvil no es necesario realizar ningún pago,
además su ventaja principal es el que se encuentra basado en Linux, un sistema
operativo con un gran renombre y de caracterización libre ya que es desarrollado
en JAVA lo que hace que su uso sea más rápido y fácil.
1.1.3. Versiones
El sistema operativo Android, al igual que los dispositivos móviles, con el pasar
del tiempo han ido evolucionado rápidamente, almacenando una gran cantidad
de versiones, desde la más básica conocida como la versión 1.0 hasta la más
avanzada y actualizada que es la versión 5.0 que acaba de ser lanzada al
mercado entre las principales se pueden mencionar las siguientes:
Nombre Versión
Tipo Versión
Características
Cupcake Android
Versión 1.5
Widgets
Teclado QWERTY virtual.
Copy & paste. Captura de vídeos y poder subirlos a YouTube directamente
Donut Android
Versión 1.6
Añade a la anterior la mejoría de la interfaz de la cámara.
Búsqueda por voz. Navegación en Google Maps.
Eclair Android
Versión 2.0/2.1
Mejoras en Google Maps.
Salvapantallas animado.
11
Froyo Android
Versión 2.2
Incluye hostpot Wifi.
Mejora de la memoria. Microsoft Exchange. Video-llamada Ginger Bread Android Versión 2.3
Mejoras del
consumo de batería. El soporte de vídeo online.
Teclado virtual. Incluye soporte para pagos mediante NFC2.
Honey Comb Android Versión 3.0/3.4
Mejoras para tablets. Soporte Flash y Divx. Integra Dolphin, multitarea pudiendo cambiar de aplicación dejando las demás en espera en una columna. Widgets y homepage personalizable Ice Cream Sandwich Android
Versión 4.0
Multiplataforma (tablets, teléfonos móviles y netbooks). Barras de estado. Pantalla principal con soporte para 3D. Widgets
redimensionables. Soporte USB para teclados.
Reconocimiento facial. Controles para PS3.
Tabla 1 Versiones Android
Fuente: (Báez, et al., n.d.)
Como se puede apreciar en la tabla presentada las primeras versiones de
Android fueron muy básicas, esto se debía a que eran los inicios de dicho
sistema, sin embargo, con el avance de la tecnología Android se vio en la
necesidad de mejorar y seguir dando mejores características a su sistema
1.1.4. Características
1.1.4.1 Android soporta las siguientes características:
Al igual que otros sistemas operativos, Android tiene características que lo hacen
ser una gran opción para todos aquellos usuarios del mismo, dentro de las
principales características obtenidas de la página web de Android se pueden
nombrar las siguientes:
Código abierto, núcleo basado en el Kernel de Linux, adaptable a muchas
pantallas y resoluciones, utiliza SQLite para el almacenamiento de datos, ofrece
diferentes formas de mensajería, navegador web basado en Web Kit incluido,
soporte de Java y muchos formatos multimedia, soporte de HTML, HTML5,
Adobe Flash Player, etc. Incluye un emulador de dispositivos, herramientas para
depuración de memoria y análisis del rendimiento del software. Catálogo de
aplicaciones gratuitas o pagas en el que pueden ser descargadas e instaladas
(Google Play), bluetooth, Google Talk desde su versión Honeycomb, para
realizar video llamadas, multitarea real de aplicaciones. (Android OS, 2012)
Como se observa en la cita tomada Android es un sistema operativo abierto en
donde cualquier persona puede programar y configurarlo a sus necesidades, de
igual manera como se mencionó dicho sistema ofrece una variedad de opciones
que les permite a los usuarios tener una experiencia buena al utilizarlo
1.2. PHP
1.2.1. Definición
Según Sæther Bakken, et al., 2001, se puede mencionar lo siguiente “PHP
(acrónimo de "PHP: Hypertext Preprocessor") es un lenguaje interpretado de alto nivel embebido en páginas HTML y ejecutado en el servidor” como se observa
13
por su estructura es utilizado en el desarrollo de las diferentes aplicaciones ya
que está orientado a objetos y es un lenguaje open source.
Un claro ejemplo de PHP se lo presenta a continuación:
Como se muestra en la figura 2. PHP está concentrado en la programación de
scripts en la parte del servidor. La ventaja de la utilización de PHP es por su
código se torna muy sencillo para principiantes, pero a su vez brinda una serie
de características avanzadas para el caso de programadores profesionales.
Según EL Manual de Programación en PHP se puede mencionar lo siguiente:
El lenguaje PHP es un lenguaje de programación de estilo clásico, es decir que
es un lenguaje de programación con variables, sentencias condicionales, bucles,
funciones, etc. No es un lenguaje de etiquetas como podría ser HTML, XML o
WML. Está más cercano a JavaScript o a C, para aquellos que conocen estos
lenguajes. Pero a diferencia de Java o JavaScript que se ejecutan en el
navegador, PHP se ejecuta en el servidor, por eso nos permite acceder a los
recursos que tenga el servidor como por ejemplo podría ser una base d datos.
(Rosselott, 2003)
El programa PHP es ejecutado en el servidor y el resultado enviado al
navegador. El resultado en normalmente una página HTML pero igualmente
podría ser una página WML. (Rosselott, 2003)
Como se menciona con anterioridad al ser PHP un lenguaje que se establece en
el servidor, no es imprescindible que el navegador lo aguante debido a que
totalmente independiente del navegador, no obstante, para que las páginas PHP
tengan un funcionamiento adecuado, el servidor donde se encuentran debe
tener soporte PHP.
Con lo expuesto anteriormente se puede considerar que PHP es un lenguaje de
programación muy fácil para su utilización debido a que no cuenta con bucles o
sentencias por el contrario cuenta con un lenguaje de etiquetas que puede ser
ejecutado en un servidor.
1.2.2. Funcionamiento de PHP
PHP puede hacer cualquier cosa que se pueda hacer con un script CGI (Interfaz
de Entrada Común), como procesar la información de formularios, mandar y
recibir cookies o generar páginas con contenidos dinámicos y no es todo ya que
15
Existen dos campos en los se utilizan scripts escritos en PHP.
Scripts en la parte del servidor. Este es el campo más tradicional y el principal campo de trabajo debido a que se necesitan tres entes para que
esto funcione. Primero el CGI, un servidor web y un navegador, a partir
de este se necesita correr el servidor web con PHP instalado finalmente
el resultado del programa PHP se puede obtener a través del navegador,
conectando con el servidor web.
Scripts en línea de comandos. Es posible crear un script PHP y correrlo sin ningún servidor web o navegador. Para lo cual solo es necesario PHP
para ser usado de esta manera.
Thomson, 2003 en su libro Desarrollo web con PHP y MYSQL menciona lo
siguiente:
PHP puede ser utilizado en cualquiera de los principales sistemas operativos del
mercado, incluyendo Linux, muchas variantes Unix (incluyendo HP-UX, Solaris
y OpenBSD), Microsoft Windows, Mac OS X, RISC OS y probablemente alguno
más. PHP soporta la mayoría de servidores web de hoy en día, incluyendo
Apache, Microsoft Internet Information Server, Personal Web Server, Netscape
e iPlanet, OreillyWebsite Pro Server, Caudium, Xitami, OmniHTTPd y muchos
otros. PHP tiene módulos disponibles para la mayoría de los servidores. Con
PHP no se encuentra limitado a resultados en HTML. Entre las habilidades de
PHP se incluyen: creación de imágenes, archivos PDF y películas Flash (usando
libswf y Ming) sobre la marcha. También puede presentar otros resultados, como
XHTM y archivos XML. PHP puede autogenerar estos archivos y almacenarlos
en el sistema de archivos en vez de presentarlos en la pantalla. La interpretación
y ejecución de los scripts PHP se hacen en el servidor, el cliente (un navegador
que pide una página web) solo recibe el resultado de la ejecución y jamás ve el
código PHP.
serie de opciones al cliente debido a que gracias a sus habilidades no solo se
puede crear imágenes o archivos en PDF, también se puede autogenerar
archivos y de esa manera almacenarlos en un sistema de archivos, de igual
manera se tiene la opción de usar programación de procedimientos o
programación orientada a objetos.
1.3. Programación Orientada a Objetos
1.3.1. Introducción
Para poder tratar el tema de OOP es necesario dar una breve introducción sobre
este tema, el libro Introducción a la OOP menciona lo siguiente:
La Programación Orientada al Objeto (POO o también del inglés OOP = Object
Oriented Programming) Ya que la OOP no es un lenguaje de programación,
puede aplicarse a cualquier lenguaje, y de hecho hoy en día está disponible en
mayor o menor medida en todos los lenguajes tradicionales (C se ha convertido
en C++, Pascal en Delphi, VB incorpora parte de la OOP) y no aparece un
lenguaje nuevo sin que incluya OOP (como es el caso de Java). (Morero, 2000)
Como se observa en el apartado ya mencionado la programación orientada a
objetos no es solo un lenguaje de programación debido a que puede aplicarse a
cualquier lenguaje para su uso.
1.3.2. Origen
Según la Universidad Nacional Experimental del Táchira la programación
orientada a objetos o más conocida como OOP tiene cuatro etapas que hablan
sobre su desarrollo, las cuáles se las menciona a continuación:
Primera Etapa. Lenguajes Ensambladores. La unidad de programación es la instrucción, compuesta de un operador y los operandos. El nivel de
17
Segunda Etapa. Lenguajes de Programación: Fortran, Algol, Cobol. Los objetos y operaciones del mundo real se podían modelar mediante datos
y estructuras de control separadamente. En esta etapa el diseño del
software se enfoca sobre la representación del detalle procedimental y en
función del lenguaje elegido. Conceptos como: refinamiento progresivo,
modularidad procedimientos y programación estructurada son conceptos
básicos que se utilizan en esta etapa existe mayor abstracción de datos.
(UNET,2013)
Tercera Etapa. Se introducen en esta etapa los conceptos de abstracción y ocultación de la información. Programación Orientada a objetos.
(UNET,2013)
Cuarta Etapa. A partir de los años setenta se trabaja sobre una nueva clase de lenguajes de simulación y sobre la construcción de prototipos
tales como Simula-70 y basados en parte de éste, el Smalltalk. En estos
lenguajes, la abstracción de datos tiene una gran importancia y los
problemas del mundo real se representan mediante objetos de datos a los
cuales se les añade el correspondiente conjunto de operaciones
asociados a ellos. Términos como Abstracción de datos, objeto,
encapsulación entre otros, son conceptos básicos sobre la que se
fundamenta la POO. (UNET,2013)
Como se puede observar en la cita tomada los orígenes de la programación
orientada a objetos eran muy bajos por lo que no se necesitaba mayor esfuerzo,
sin embargo, dado el avance tecnológico en la cuarta etapa de desarrollo de
dicha programación se vio necesario el mejorar los códigos para así poder
representar los problemas del mundo real en objetos de datos.
1.3.2.1 Objeto
Dentro de la programación el elemento básico o principal para la realización del
En programación orientada a objetos un objeto no es solamente una descripción
mediante un conjunto de datos. Los objetos, además puede hacer cosas por
ellos mismos. Es decir, son unas entidades que tienen unos atributos, o
información, y pueden hacer son cosas cuando se les ordena que hagan algo.
Un objeto puede enviar, a su vez, otros mensajes a otros objetos.
Como se menciona en la cita tomada en lo que se basa el trabajo de la OOP es
en el objeto ya que es el elemento principal para realizar la programación.
1.3.2.2 Clase:
Podemos considerar una clase como una colección de objetos que poseen
características y operaciones comunes. Según el Libro Introducción a la OPP se puede mencionar lo siguiente “En OOP existe otro concepto muy importante
asociado al de clase, el de "clase abstracta". Una clase abstracta es aquella que
construimos para derivar de ella otras clases, pero de la que no se puede instanciar” (Morero, 2000) es decir una clase contiene toda la información
necesaria para crear nuevos objetos.
1.3.2.3 Encapsulación:
Es una técnica que esconde o disimula los datos del código según el libro
Programación Orientada a Objetos con JAVA se puede mencionar lo siguiente “Permite ofrecer a los usuarios una visión de caja negra, de forma que solo se
exporte la interfaz del usuario, esta aproximación, estrechamente ligada con la ocultación de información, permite empaquetar la funcionalidad de un objeto”
(Durán, Gutiérrez & Pimentel, 2007) como se puede observar gracias a la
encapsulación se pueden mantener a salvo detalles del comportamiento de los
objetos.
1.3.2.4 Abstracción:
19
siguiente concepto “La abstracción, permite extraer las propiedades más
importantes de un objeto, dejando los detalles para el diseño detallado. Estas propiedades verán en función de los que un usuario espera de un objeto.”
(Durán, Gutiérrez & Pimentel, 2007) como se observa la abstracción es una
representación de manera concisa a una idea u objeto complicado.
1.4. JAVA
1.4.1. Introducción
Para conocer el funcionamiento del lenguaje JAVA es necesario conocer sus
inicios y como se ha desarrollado a lo largo de los años con los avances
tecnológicos, el artículo titulado Desarrollo de Aplicaciones con JAVA cuenta la
siguiente reseña.
Java surgió en 1991 cuando un grupo de ingenieros de Sun Microsystems
trataron de diseñar un nuevo lenguaje de programación destinado a
electrodomésticos. La reducida potencia de cálculo y memoria de los
electrodomésticos llevó a desarrollar un lenguaje sencillo capaz de generar
código de tamaño muy reducido. Debido a la existencia de distintos tipos de
CPUs y a los continuos cambios, era importante conseguir una herramienta independiente del tipo de CPU utilizada. Desarrollaron un código “neutro” que no dependía del tipo de electrodoméstico, el cual se ejecutaba sobre una “máquina hipotética o virtual” denominada Java Virtual Machine (JVM). Era la JVM quien
interpretaba el código neutro convirtiéndolo a código particular de la CPU
utilizada. Esto permitía lo que luego se ha convertido en el principal lema del lenguaje: “Write Once, Run Everywhere”. A pesar de los esfuerzos realizados
por sus creadores, ninguna empresa de electrodomésticos se interesó por el
nuevo lenguaje. Como lenguaje de programación para computadores, Java se
introdujo a finales de 1995. La clave fue la incorporación de un intérprete Java
en la versión 2.0 del programa Netscape Navigator, produciendo una verdadera
revolución en Internet. Java 1.1 apareció a principios de 1997, mejorando es
como Java 2, nació a finales de 1998. Al programar en Java no se parte de cero. Cualquier aplicación que se desarrolle “cuelga” (o se apoya, según como se
quiera ver) en un gran número de clases preexistentes. Algunas de ellas las ha
podido hacer el propio usuario, otras pueden ser comerciales, pero siempre hay
un número muy importante de clases que forman parte del propio lenguaje (el
API o Application Programming Interface de Java). Java incorpora en el propio
lenguaje muchos aspectos que en cualquier otro lenguaje son extensiones
propiedad de empresas de software o fabricantes de ordenadores (threads,
ejecución remota, componentes, seguridad, acceso a bases de datos, etc.). Por
eso muchos expertos opinan que Java es el lenguaje ideal para aprender la
informática moderna, porque incorpora todos estos conceptos de un modo
estándar, mucho más sencillo y claro que con las citadas extensiones de otros
lenguajes. Esto es consecuencia de haber sido diseñado más recientemente y
por un único equipo. El principal objetivo del lenguaje Java es llegar a ser el “nexo universal” que conecte a los usuarios con la información, esté ésta situada
en el ordenador local, en un servidor de Web, en una base de datos o en
cualquier otro lugar. (Terreno & Paredes, n.d.)
Como se puede observar Java se creó con el objetivo de crear un lenguaje para
electrodomésticos, pero dada la capacidad de almacenamiento de los mismos
se logró desarrollar un lenguaje muy reducido, el cual hoy en día ayuda a la
programación en todo tipo de dispositivos.
1.4.2. Definición
Java es un lenguaje desarrollado por un grupo de ingenieros de Sun con el fin
de crear todo tipo de aplicaciones, Giménez 2016 menciona lo siguiente:
Cuando se escribe en la mayor parte de los lenguajes de programación, es
necesario decidir el sistema operativo en los que ejecutará el programa.
Entonces se incluyen las bibliotecas necesarias asociadas al sistema. Por
21
C++). Pero si la máquina en la que se tiene que ejecutar es un Macintosh, se utilizarán librerías distintas.
Con lo expuesto anteriormente java es un lenguaje independiente para cualquier
plataforma que puede ser usado tanto como cliente y servidor.
1.5. Desarrollo de aplicaciones móviles en Android
Existen varias alternativas para desarrollar aplicaciones Android, podemos
mencionar: Android Studio 2.1, SDK de Android todas estas desde una PC o
directamente en un dispositivo móvil.
1.5.1. Desarrollo desde Android Studio
El desarrollo desde Android Studio es el mecanismo más habitual por lo que es
necesario contar con una serie de herramientas las cuales se detalla a
continuación:
Java Development Kit (JDK). Android Studio 2.1. o posterior.
Android Standard Development Kit (SDK). Plugin Android Developer Tools.
Uno o más dispositivos para ejecutar la aplicación que Pueden ser: Dispositivo real
Figura 4 Android Studio
Android Virtual Devices (AVD)
Android x86
Para su instalación y configuración es recomendable seguir los pasos dados por
el sitio de desarrolladores Android, debido a que las versiones van cambiando y
por lo tanto se puede modificar la forma de instalación, más en forma general se
puede determinar los siguientes pasos para su instalación:
Descargar la JDK desde el website de Oracle e instalar. Descargar Android Studio 2.1.
Descargar la SDK de Android e instalar, lo cual también nos facilitará las opciones para descargar los AVDs
1.5.2. SDK
Un SDK (Software Development Kit), o kit de desarrollo de software, es un
conjunto de herramientas que ayudan a la programación de aplicaciones, por lo
citado en el libro Android: Programación de dispositivos móviles a través de
ejemplos (Amaro, 2011) define como:
Un Software Development Kit o kit de Desarrollo de Aplicaciones, este software
permite desarrollar aplicaciones para dispositivos móviles, ya que todas las
aplicaciones de Android están desarrolladas en el lenguaje Java mediante este
kit, además permite ejecutar un emulador propio de Android o se puede ejecutar
desde un dispositivo móvil, siempre que este sea configurado desde la versión
de Android. Por sus características como: por tener un entorno rápido de
desarrollo, fiabilidad, facilidad de configuración y ejecución, libre y gratuito hace
que sea un complemento importante de Android, herramienta que hoy en día es
una de las más utilizadas por los desarrolladores de aplicaciones para
dispositivos móviles.
Como se puede observar las aplicaciones desarrolladas sobre el SDK estarán
23
videojuegos o paquete de software en especial. Son muchos los recursos que
puede contener un SDK. Detallemos algunos de ellos:
Una interfaz de programación de aplicaciones (API). Puede verse como una abstracción del funcionamiento interno del entorno sobre el que trabajará. Se
trata de un conjunto de funciones, rutinas, estructuras de datos, clases y
variables que nos permiten manipular el mecanismo de la plataforma sin
conocerlo internamente. (4r, 2013)
Un entorno de desarrollo integrado (IDE). Un editor que ayuda a escribir fácilmente el código fuente del programa. Generalmente, también brinda una
interfaz amigable para dos aplicaciones fundamentales: Debugger permite
testear el programa en cada paso de su ejecución y compilador traduce el
código fuente a lenguaje de máquina, obteniendo así un programa ejecutable.
(4r, 2013)
Código de ejemplo y otra documentación. Como punto de partida para empezar a desarrollar aplicaciones. (4r, 2013)
Un emulador del entorno. Por ejemplo, si desarrollamos una aplicación para móviles desde una computadora de escritorio, nos permite saber cómo la
vería el usuario final. (4r, 2013)
Hoy en día plataformas con sistemas operativos como Android, iOS y Windows
Phone brindan kits para desenvolver software que trabaje sobre sus medios, y
muchas redes sociales tienen SDK específicos para de esa manera poder
1.5.3. Mysql
1.5.3.1 Definición
MySQL se lo conoce como un sistema de gestión de base de datos, Cyril
Thibaud menciona en su libro lo siguiente:
Es un sistema de administración de bases de datos relacionales (SGBDR)
rápido, robusto y fácil de usar. Se adapta bien a la administración de datos en
un entorno de red, especialmente en arquitecturas cliente/servidor. Se
proporciona con muchas herramientas y es compatible con muchos lenguajes
de programación. (Thibaud, 2006)
Como se menciona en la cita tomada dicho sistema operativo es un software de
código abierto por lo que es muy conocido y su uso es muy recurrente dado que
tiene una gran simplicidad.
1.5.3.2 Características
MySQL tenía varios elementos que reemplazaban y complementaban sus
deficiencias, estos eran su rapidez y su simplicidad que hacían que los
desarrolladores de páginas web opten por dicho sistema a pesar de ciertas
carencias.
Sin embargo, a través del avance que cada uno de los sistemas operativos se
ven obligados a tener MySQL ha necesitado realizar lo mismo y complementar
su sistema de la tal manera que ahora es uno de los más utilizados.
El libro titulado MySQL 5 Instalación, Implementación, Administración y
Programación menciona las siguientes características:
Está escrito en C/C++ y probado con numerosos compiladores, funciona en
25
Eiffel, Python, Java, Tcl, dispone de un driver ODBC (Open DataBase
Connectivity) para Windows lo que le aporta compatibilidad con la mayoría de
lenguajes disponibles en este sistema operativo, dispone de un sistema de
administración de la memoria extremadamente potente, entre otras. (Thibaud,
2006)
Como se menciona con anterioridad MySQL es compatible con la mayoría de
lenguajes disponibles para su programación lo que aporta de manera positiva
debido a que por su sencillez es muy utilizado.
1.5.3.2.1. Ventajas
Dentro de las principales ventajas que ofrece este Sistema Fossati, 2014
menciona lo siguiente:
Por ser cliente servidor puedes crear respaldos sin tener que cerrar todos los
objetos bloqueados por usuarios, Access no soporta tablas de más de 4GB,
MySQL hasta de 1 Terabyte, es multiplataforma, hay muchos más ejemplos de
acceso a la DB con JSP o Servlets en la red, su configuración es simple,
aprovecha la potencia de sistemas multiprocesador, gracias a su
implementación de multihilos, lo cual lo hace una base de datos muy veloz, soporta gran cantidad de tipos de datos para las columnas, dispone de API’s de gran cantidad de lenguajes (PHO, C++, PERL, JAVA…), gran compatibilidad
entre sistemas, soporta hasta 32 índices por tabla, gestión de usuarios y
contraseñas, manteniendo un muy buen nivel de seguridad en los datos.
Como se menciona en la cita tomada dentro de las ventajas de este sistema se
encuentra principalmente la compatibilidad con una variedad de lenguajes y
sistemas.
1.5.3.2.2. Desventajas
Los procedimientos almacenados fueron implementados a partir de la versión 5,
la cual no se considera muy estable, si vas a ingresar datos desde la página
tienes que chequear la integridad ya que MySQL en antiguas versiones no lo
hace, subconsultas: tal vez esta sea una de las características que más se echan
de menos, aunque gran parte de las veces se necesitan, es posibles de
reescribirlas de manera que no sean necesarias, no posee Triggers, ya que
reducen de forma significativa el rendimiento de la base de datos, incluso en
aquellas consultas que no lo activan.
1.5.4. Servicio web apache
1.5.4.1 Servicio Web
Existe una serie de conceptos sobre que es un servicio web, sin embargo, el libro Sistemas Interactivos y Colaborativos en la Web menciona lo siguiente “El
concepto inherente es el de funcionalidades que se encapsulan y se publican,
para ser accedidas por otras aplicaciones, mediante una serie de protocolos basados en XML” (Bravo Santos & Redondo Duque, 2005) como se puede
observar en la cita tomada con anterioridad un servicio web se enfoca en dar
cierta funcionalidad para así poder acceder a todas las aplocaciones posibles.
1.5.4.2 Arquitectura del Servidor Web
Sobre la arquitectura de un servidor web el artículo menciona lo siguiente:
La arquitectura utilizada es cliente/servidor, es decir, el equipo cliente hace una
solicitud o petición al equipo servidor, y éste atiende dicha solicitud. En el equipo
cliente se ejecuta una aplicación llamada 'navegador o cliente web' que:
Sirve de interfaz con el usuario: atiende sus peticiones, muestra los
resultados de las consultas y proporciona al usuario un conjunto de
27
Se comunica con el servidor web: transmite las peticiones de los usuarios (Talón, n.d.)
Como se menciona en la cita tomada el servidor web atiende y transmite las
peticiones de los clientes, de igual manera brinda un servicio de comunicación
entre el cliente y el servidor por lo que facilitan su trabajo.
En el equipo servidor la única tarea es: atender las peticiones recibidas desde
los navegadores o clientes web y hacerlo de forma eficiente y segura. Este es el
caso de los servidores web seguros que solicitan un nombre de usuario y una
contraseña para permitir el acceso sólo a usuarios registrados y, por tanto, con
permiso para visualizar la página/s. (Talón, n.d.) como se puede observar dentro
del equipo el servidor web se encrga unicamnet de atender las peticiones de los
clientes para de esa manera brindar una experiencia eficiente y segura.
Un paso más en la seguridad proporcionada por los servidores web se basa en
el establecimiento de conexiones cifradas con el navegador. Este nivel de
seguridad es básico, por ejemplo, para las transacciones comerciales realizadas
desde Internet. (Talón, n.d.) como se menciona ya el servidor web debe otorgar
seguridad adecuada ya que en varias ocasiones se realizan transacciones en
linea por lo que es necesario realizar conexios cifradas para velar por la
seguridad tanto del cliente como de la tienda.
1.5.4.3 Objetivos del Servidor Web
El objetivo principal de todo servidor web es entregar o suministrar páginas web
a los clientes o navegadores que las solicitan de manera inmediata
Ejemplo:
Un usuario desde el navegador Firefox, al hacer 'click' sobre un enlace a una
página web está enviando una solicitud al servidor web que aloja dicha página
encuentra la envía y si no la encuentra devuelve al cliente un mensaje de error.
El cliente cuando recibe la página web interpreta el código HTML mostrando las
fuentes, colores, imágenes que la componen, etc, de forma correcta. Pero el
servidor web, además de servir páginas web HTML estáticas, también permite
la ejecución de una serie scripts en diferentes lenguajes de programación, que
proporcionan dinamismo a las páginas web. Estos lenguajes son: PHP, CGI,
applets de Java, etc. (Talón, n.d.)
Como se mencionó en la cita tomada al momento en el que un clien te solicita
ingresar a una pagina en linea, el servidor envia dicha informacion y como
respuesta entrega la pagina solicita, sin embargo, si la solicitud esta escrita de
una manera iandecuada no se podrá dar una resuesta efectiva y eficaz a la
petición del cliente.
1.5.4.4 Esquema
En la siguiente figura obtenida del libro Ingeniería de Software se puede apreciar el esquema de funcionamiento de un servidor web, “En ella observamos los tres
elementos básicos que componen las peticiones web dinámicas: el cliente que
hace la petición el servidor que atiende la petición y los datos solicitados mediante la petición” (SOMERVILLE, 2005)
Figura 5. Servicio web
29 1.5.4.5 Apache
Apache al ser del tipo universal funciona en todas las plataformas virtuales, pero
que lo que le diferencia y lo hace tan utilizado, en el libro Mantenimiento de
Portales de Información se menciona lo siguiente:
Apache es una tecnología gratuita de código fuente abierto, el hecho de ser
gratuita es importante pero no tanto como de que se trate de código fuente
abierto. Esto le da una transparencia a este software de manera que si queremos
ver qué es lo que estamos instalando como servidor, lo podemos saber, sin
ningún secreto. Apache es un servidor muy configurable de diseño modular,
autenticación de diferentes tipos, respuestas personalizadas ante errores del
servidor, creación de contenidos dinámicos, alta configurabilidad en la creación
y gestión de logs, gran escalabilidad y negociación de contenido. (Quero
Catalinas, García Román, & Peña Rodríguez, 2007)
Como se menciona en la cita tomada Apache es una tecnología de código fuente
abierto al igual que se encuentra en constate evolución y de esa manera se logra
obtener productos de gran calidad por tal razón dicho servidor es tan utilizado y
reconocido a nivel mundial.
1.5.5. JSON
Con el incremento en la popularidad en los últimos años de los servicios Web,
XML se ha logrado convertido prácticamente en el estándar para transmisión
de datos, sin embargo es necesario transmitir a través de la web un sinnúmero
más de bytes de información.
En el artículo en línea del sobre ¿Qué es y para qué sirve JSON? Se menciona
lo siguiente:
para identificar y gestionar los datos. JSON nació como una alternativa a XML,
el fácil uso en JavaScript ha generado un gran número de seguidores de esta
alternativa. Una de las mayores ventajas que tiene el uso de JSON es que puede
ser leído por cualquier lenguaje de programación. Por lo tanto, puede ser usado
para el intercambio de información entre distintas tecnologías. (Rodríguez, n.d.)
Como se menciona en la cita presentada JSON se encarga de gestionar e
identificar datos, al igual que su principal ventaja por lo que es muy conocido es
el tipo de lenguaje que tiene ya que es muy sencillo y puede ser leído por
cualquiera a la hora de programar.
1.6. Derechos
1.6.1. Definición
El ser humano al ser un individuo biopsicosocial tiene características únicas que
los distinguen de sus pares, sin embargo, coinciden en la misma posesión de
derechos y obligaciones que exige la sociedad.
Alvarado, 2013 da la siguiente definición sobre el derecho:
La palabra derecho proviene del término latino directum, que significa “lo que está conforme a la regla”. El derecho se inspira en postulados de justicia y
constituye el orden normativo e institucional que regula la conducta humana en
sociedad. La base del derecho son las relaciones sociales, las cuales determinan
su contenido y carácter. Dicho de otra forma, el derecho es un conjunto de
normas que permiten resolver los conflictos en el seno de una sociedad.
Como se observa en la cita tomada con anterioridad la base del derecho y en lo
que se fundamenta son las relaciones sociales ya que a partir de estas se puede
entablar una sociedad sólida en donde cada uno de los individuos que la
31 1.6.2. Protección de Derechos Humanos
Los acontecimientos dados en los últimos años han puesto en duda el tema de
derechos humanos debido a que se han suscitado grandes guerras por
cuestiones de poder en donde lo último que se toman en cuenta es la vida de las
personas y es la violación más grande y el atentando más grave a la sociedad,
por lo que muchos se preguntan si en realidad los seres humanos son portadores
de derechos.
La ONU ha tenido una lucha constante día a día en donde busca velar por el
bienestar de cada uno de los seres que conforman este planeta, sin embargo,
no son los únicos responsables de hacer valer los derechos de las personas, ya
que cada uno es responsable de hacer respetar su bienestar al igual que cada
persona debe respetar al otro.
1.6.3. Grupos Vulnerables
1.6.3.1 Introducción
Dentro de los grupos vulnerables se encuentra una amplia cantidad de individuos
ya que al hablar de dichos grupos se puede mencionar que son personas con
características que los vuelven vulnerables ante situaciones como violencia
física, pobreza, discriminación, entre otros.
Según el Consejo Nacional de Igualdad Intergeneracional se puede mencionar
lo siguiente acerca de los adolescentes:
En el Ecuador los y las adolescentes son los ciudadanos y ciudadanas entre los
12 y 17 años de edad y según el censo de 2010 este grupo poblacional era de
1.753.333 lo que representaba el 12,3% de la población total y para el 2017 se
estima que serán 1.610.235 lo que representará el 9,6% de la población total del
país. La adolescencia es parte del ciclo de vida, en este período permanecen
prioritaria, así como también aparecen elementos de la juventud como la
necesidad personal de participar en las reivindicaciones sociales, culturales,
políticas, ambientales, expectativas propias de los adolescentes. (Consejo
Nacional de Igualdad Intergeneracional, 2014)
Se puede recalcar que los adolescentes es uno de los principales grupos
vulnerables ya que al encontrarse dentro de un periodo de susceptibilidades
debido a sus cambios físicos y hormonales es un tanto más riesgoso que se
desvíen del camino adecuado por amistades negativas, de igual manera al tener
cierta ambivalencia dentro de su desarrollo por los cambios ya mencionados se
ven en la necesidad de buscar una imagen a seguir que pueda brindarles
seguridad, en el caso de tener un hogar funcional serán menos propensos a caer
en actos delictivos caso contrario tienden a buscar amistades malsanas.
Otro de los grupos prioritarios son las mujeres ya que a pesar de conformar gran
parte del territorio ecuatoriano son en varios de los casos violentas de varias
maneras, no es un secreto que dentro del país se ha dado un porcentaje muy
elevado de casos de femicidio en los últimos años esto se debe ya que al ser el “sexo débil” como se lo conoce las personas en especial hombres jóvenes creen
poder tratar a las mujeres como un objeto por lo que al presentar resistencia se
cometen delitos y violaciones contra sus derechos.
De igual manera los adultos mayores dado su condición física al no poder
defenderse ante las violaciones de sus derechos son grupos vulnerables debido
a que en varias ocasiones han sido víctimas de robos, agresiones físicas incluso
agresiones sexuales, sin embargo, por su temor a ser agredidos nuevamente no
realizan las denuncias respectivas y dichos casos no son sancionados.
Dentro de los principales derechos y él más importante que gozan los seres
humanos y se debe respetar son el derecho a la vida, ningún ser humano puede
atentar contra la misma ya que estaría sus propios derechos, de igual manera
33
libertad de expresión sin importar raza, género o cultura por lo que es necesario
aprender a respetar y valorar a cada individuo.
1.7. Conclusiones Parciales del Capítulo
Se puede concluir que Android a pesar de haber sido solo creado para
smartphones, hoy en día es un sistema operativo que se encuentra presente
tanto para celulares como relojes, tablets e incluso televisores, esto se debe
propiamente al diseño del sistema debido a que presenta una amplia cantidad
de aplicaciones para personalizar cada uno de los dispositivos.
Una vez estudiado el sistema operativo de Google se puede concluir que es una
tecnología que brinda un código fuente abierto el cual otorga transparencia al
sistema, de igual manera dicha empresa dada su credibilidad y estructura sus
proyectos son reconocidos a nivel mundial.
Se puede concluir que los grupos vulnerables son grupos formados por
individuos que se encuentran en situaciones de riesgo, dado los peligros del
entorno social en que habitan, dentro de dichos grupos se encuentran los
adolescentes, mujeres, adultos mayores, personas con capacidades especiales,
que por sus características sus derechos son en muchas ocasiones violentados.
Los derechos humanos son beneficios para cada una de las personas, que todo
individuo debe respetar y hacer cumplir, sin embargo, dada la problemática
social en la que se encuentra hoy en día el mundo dichos beneficios se han visto
violentados y hasta cierto punto olvidados debido a las ambiciones de poder por