UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

Documentos relacionados
ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE

FIRMA ELECTRÓNICA INSTALACIÓN Y USO DE CERTIFICADOS EN ARCHIVO PKCS#12 MANUAL DE USUARIO V1.1 14/07/2015

Manual de Usuario. HISMINSA Sistema de Gestión Asistencial (Versión Offline para XP) Ministerio de Salud del Perú Todos los Derechos Reservados

Laboratorio. Instalación de Visual Studio Community. Back To Basics Instalando Visual Studio Community. Versión: 1.0.

Manual de Instalación para el óptimo funcionamiento de la Firma Electrónica Avanzada

PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Problema:

Descarga e Instalación de Java Development Kit (JDK)

MCVS-O MANUAL DE INSTALACIÓN Y CONFIGURACIÓN

Ejercicio 16. Mejora de Notificaciones en Android. Android Con Java. Ejercicio 16. Mejora de Notificaciones en Android. Curso de Android con Java

BANCO CENTRAL DEL ECUADOR ENTIDAD DE CERTIFICACIÓN DE INFORMACIÓN

Es importante que todas las herramientas sean de la misma arquitectura: 32bits ó 64bits acorde al sistema operativo al que se esté instalando.

Ejercicio 18. Configuración de Widgets en Android. Android Con Java. Ejercicio 18. Configuración de Widgets en Android. Curso de Android con Java

ANEXO 2: Código fuente de la aplicación

Manual de descarga: de material bibliográfico electrónico en computador Windows/Mac. Modalidad Abierta y a Distancia

Introducción. Requisitos para el inicio. Derechos de acceso. Elaboración de informes. Information Server Instrucciones de uso.

ServiceTonic. Guía de instalación

PROCEDIMIENTO IMPLANTACION SISTEMA GESTION INFORMACION TECNICA

MANUAL DE INSTALACIÓN SIGGA LABORAL VERSION EVALUATIVA

INSTALACIÓN Y CONFIGURACIÓN DEL SERVIDOR MCAFEE Guía paso a paso

MINISTERIO DE SALUD Y PROTECCIÓN SOCIAL BOGOTÁ, AGOSTO DE 2015

LINEAMIENTOS ESPECÍFICOS PARA EL USO DE LA FIRMA ELECTRÓNICA AVANZADA EN LOS OFICIOS DEL ESTADO DEL EJERCICIO DEL INSTITUTO NACIONAL ELECTORAL

Taller de TeamViewer. Manual De TeamViewer

Para tener en cuenta

MANUAL MIGRACION CORREO A WINDOWS LIVE ESQUIPOS MOVILES

MANUAL DE INSTALACION Y CONFIGURACION ANTAMEDIA HOTSPOT

Instructivo de instalación del lector de cédula electrónica. Portal de la Asociación Española

Manual de Usuario SIBE Sistema de Bitácora Electrónica

Guía de inicio rápido. PC, Mac, ios y Android

Manual de usuario de configuración de Navegadores para Sede Electrónica del SEPE

GUÍA DE INSTALACIÓN PARA RISK SIMULATOR 2016

Temas. CopyRight emmmnmmma - All rights reserved 2

Instalación de sistemas Gálac Software Standalone

TOMO II. Línea de Investigación. Redes y Sistema Operativo. Nombre del egresado. Antonio Nicolás Rodríguez Andrade.

ONEDRIVE EN OFFICE 365 MANUAL DE USUARIO ONEDRIVE EN OFFICE 365 MANUAL DE USUARIO

Requisitos Técnicos. net cash

Instalación, ingreso y manejo de la aplicación móvil Coonfie. (COONFIMOVIL APP) para las cuentas de asociados adultos.

Manual para configurar el correo electrónico institucional

Requisitos de Instalación

ACTIVACIÓN DE MICROSOFT OFFICE 2013 PRO

Nota Técnica Configuración SQL Server

BARRANCO-CHORRILLOS-SURCO

Ejercicio 3. Manejo de la Vista y Eventos en Android Ejercicio 3 Curso de Android con Java Derechos Res Dere e c rvados hos Res Gl e obal rva

Manual. de Instalación. Franklin USB Modem CDU-680.

MANUAL DE DESCARGA DE CERTIFICADO DIGITAL EN FORMATO PKCS#12 POR SSPS

Manual de instalación AutoFirma 1.4.3

Ejercicio 20. SQLite en Android. Android Con Java. Ejercicio 20. Uso de SQLite en Android. Curso de Android con Java

Guía de Creación de Usuarios

CANTABRIA GOBIERNO DE

MANUAL DE INSTALACIÓN

Validación De Certificados - Autoridad De Registro 01/ Configuraciones Previas:

Instrucciones para obtener el certificado electrónico de la FNMT

INSTALACIÓN DEL SOFTWARE DE FIRMA DIGITAL REFIRMA

Agente de Comunicaciones Manual de Usuario

CONTRALORÍA GENERAL DE LA REPÚBLICA Versión: 1.0

Material para Entidades Servicios tecnológicos para una vida más fácil. Servicios tecnológicos para una vida más fácil.

1. Introducción Generalidades Configuración del Equipo Instalación de Java... 3


MANUAL DE INSTALACIÓN

Cómo instalar Estudio One SQL versión 2.40

Manual de usuario Servicio de Gestión de Control Escolar. para padres de familia y/o representantes

Guía de instalación del navegador Mozilla Firefox

CODIGO PROYECTO: AppPixelproServicioWeb Proyecto Android - Servicio Web

Ejercicio 4. Manejo de Layouts en Android. Android Con Java. Ejercicio 4. Manejo de Layouts en Android. Curso de Android con Java

MANUAL PARA EL USO DEL Y PROTOTIPO DE UN GESTOR DE CONTENIDOS PARA PÁGINAS WEB CARLOS ALBERTO LONDOÑO LOAIZA JOHN ALEXANDER CALDERON HERANANDEZ

Documentación para desarrolladores

Instructivo: Instalación del Lector de Tarjetas Inteligentes

Guía rápida de ONYX. onyxgfx.com

UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE JURISPRUDENCIA Y CIENCIAS SOCIALES CARRERA DE TRABAJO SOCIAL

Android Manejo de Eventos. Rogelio Ferreira Escutia

MANUAL DE INSTALACIÓN DEL MEGA RETO. Requisitos del Sistema. Sistema Operativo Windows 7 Windows 8 o Superior. Equipo y procesador.

Manual de Instalador DEC. Requerimientos Técnicos

MANUAL DE CONFIGURACION DE ADOBE PARA LA VALIDACION DE LA FIRMA DE UN DOCUMENTO

Ubuntu Server HOW TO : SERVIDOR DE IMPRESORAS

Noticias RED Remisión electrónica de documentos

GI-A.10.1-SA-07 GUIA RÁPIDA COMPRAR EN LÍNEA. Código: GI-A.10.1-SA-07 GUÍA RÁPIDA COMPRAR EN LÍNEA. Revisión:1 MANUAL

LABORATORIO Nº 3 GUIA DE INSTALACIÓN DE OFFICE 2013

MANUAL PARA EL CARGUE DE REPORTES POR FTP

Guía de Inicio Rápido Mac Respaldo en línea

TALLER DE PROGRAMACION I

CUTCSA INFO Manual del Usuario

CONFIGURACIÓN DE FIRMA DIGITAL EN WORD 2013

PASO A PASO DEL USUARIO SIGEP DAR DE ALTA (Artículo 227, Decreto Ley 019 de 2012)

Cómo puede SmartMonitor Instalar la Base de Datos en. el dispositivo NAS a través de iscsi?

MANUAL DE INSTALACIÓN DEL SIAHM 2014 EN EQUIPOS TERMINALES

Creapedidos Software para gestionar pedidos online y desde dispositivos móviles.

Manual de conexión de datos para KYOCERA KX18. Gerencia de Desempeño o de Productos y Servicios CR

Firma y validación de ficheros PDF con Acrobat 8

Programa de ayuda Modelos Fiscales

Manual de instalación AutoFirma 1.4.2

Requisitos técnicos para el uso de firma electrónica

LCE Escritorio Manual de Instalación

Actualización FX Store

PRIMEROS PASOS EN SIGETT

SAER v2.0 Guías. Guía para generar Certificados Digitales ikey Guía para generar Certificados Digitales Iam.

LIBRO DE CLASES ELECTRÓNICO Curso Introductorio Unidad II - Instalación de componentes

Cómo instalar Estudio One SQL versión 2.30 en Sistema Operativo Windows de 64 bits

Manual de Actualización del Componente JAVA para Firma Electrónica Avanzada

Actualizar ActiveRunt TRANSV

Manual de usuario para instalación de impresora Mitsubishi CP- K60DW

Transcripción:

UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID Y GEOLOCALIZACIÓN QUE PERMITA OFRECER Y SOLICITAR SERVICIOS DE ALQUILER DE CASAS CON UBICACIÓN EXACTA Y A LA VEZ SUGIERA LAS MÁS CERCANAS A LA UBICACIÓN ACTUAL EN CUALQUIER PARTE DE GUAYAQUIL. MANUAL DE USUARIO AUTORES: LOOR VILLAMAR ANDRÉS DAVID MOROCHO RAMOS MIGUEL ANGEL TUTORA: ING. VERÓNICA MENDOZA MORÁN. M.SC. GUAYAQUIL ECUADO 2016

Ingresamos a la Aplicación Kleta App Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Google Sign-In QuickStart Se presenta la pantalla de inicio de sesión Pantalla - Inicio de sesión Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto

Si el dispositivo móvil no tiene habilitado el GPS, se muestra un mensaje indicando "Habilite el GPS" Pantalla - Habilitar GPS Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Pantalla para seleccionar de una lista la cuenta con la que accederá a la aplicación. Pantalla - Selección de cuenta para registro Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto

Cuando el inicio de sesión sea exitoso, se presenta un botón para "Continuar" en el sistema y un botón para cerrar la sesión "SING OUT". Pantalla - Sesión Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Pantalla para realizar una vista ampliada para mostrar las viviendas disponibles en el mapa. Pantalla principal - Búsqueda Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto

Se presenta automáticamente la posición actual con un punto color azul. Pantalla - Posición actual Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuando se navega en el mapa y pierde la visión de la ubicación actual, se muestra una opción que lo vuelve a ubicar en la ubicación actual según el GPS. Pantalla - Ubicación GPS Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Se presenta un dialogo indicando la cantidad de registros que se descargaron.

Pantalla - Consulta Vivienda Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Pantalla para realizar consultas por Filtros. Pantalla - Consulta de viviendas Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Se despliega una lista con todas las viviendas en alquiler que cumplan con el criterio especificado.

Pantalla - Resultado de búsqueda Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Pantalla que despliega toda la información de la vivienda en alquiler que se haya seleccionado en el mapa. Pantalla - Vivienda publicada Elaborado: Andrés Loor Miguel Morocho Se habilita una opción para crear ruta hasta la localización de la vivienda Fuente: Datosladel proyecto seleccionada.

Pantalla - Localización de Vivienda Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Se abre la aplicación original de mapas de Google, para mostrar las rutas hasta la localización de la vivienda requerida. Pantalla - Ruta más corta hacia la vivienda seleccionada Elaborado: Andrés Loor Miguel Morocho Se muestra la aplicación de llamadas telefónicas Fuente: Datos del proyecto del dispositivo móvil para poder comunicarse con el oferente de la vivienda en alquiler.

Pantalla - Llamada telefónica Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Se presenta la aplicación de mensajes de texto SMS del dispositivo móvil. Pantalla - Notificación SMS Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Se muestra la aplicación para enviar un mensaje por correo electrónico.

Pantalla - Notificación Correo Electrónico Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuando se marque una ubicación en el mapa, se crea un punto (marca) visible sobre el mismo al momento de querer publicar alquiler. Pantalla - Ubicación de mapa Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto

Al seleccionar el botón de publicar alquiler y no ha creado un punto en el mapa, se despliega un mensaje indicando que "No podrá publicar hasta que cree un punto en el mapa. Pantalla - Publicación de vivienda Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuando se selecciona el botón de publicar alquiler y ya ha creado un punto en el mapa, se presenta una pantalla para definir los detalles de la publicación. Pantalla - Ingreso de información publicación Elaborado: Andrés Loor Miguel Morocho Se despliega un diálogo indicando que los datos se han subido exitosamente. Fuente: Datos del proyecto

Pantalla - Subida de publicación Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto

UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID Y GEOLOCALIZACIÓN QUE PERMITA OFRECER Y SOLICITAR SERVICIOS DE ALQUILER DE CASAS CON UBICACIÓN EXACTA Y A LA VEZ SUGIERA LAS MÁS CERCANAS A LA UBICACIÓN ACTUAL EN CUALQUIER PARTE DE GUAYAQUIL. MANUAL TÉCNICO AUTORES: LOOR VILLAMAR ANDRÉS DAVID MOROCHO RAMOS MIGUEL ANGEL TUTORA: ING. VERÓNICA MENDOZA MORÁN. M.SC. GUAYAQUIL ECUADO 2016 Instalación de la plataforma de desarrollo Para la creación del aplicativo se realizaron diferentes configuraciones en la máquina de entrono de desarrollo:

Instalación del Visual Studio 2013 Entorno de desarrollo que incluye una variedad de herramientas de productividad para los desarrolladores entre ellos tenemos F#, Visual C++, Visual Basic, Server Data Tools, y SDK para móviles de multiplataforma. Instalación de SQL Server 2008 R2 El SQL Server 2008 R2 permite el manejo de bases de datos de modelos relacional conectándose con el servidor por medio Transact-SQL desarrollando

la creación y modificación de esquemas, datos así también con la administración del servidor como tal. Instalar Java JDK El instalador del JDK se lo encuentra en el sitio de descargas de Oracle. Se debe descargar la versión correspondiente al sistema operativo de la pantalla que se muestra a continuación. Instalación de Android Studio Es un entorno de desarrollo integrado para crear aplicaciones para dispositivos móviles que tengan sistema operativo Android.

La descarga de Android Studio se hace desde el sitio oficial de desarrolladores de Google. Una vez descargado el instalador, se lo ejecuta y aparece la pantalla a continuación y se sigue las instrucciones en pantalla.

Para que Android Studio tenga acceso a las librerías de JAVA es necesario modificar las variables del entorno para definir su ruta en el sistema. Se necesita configurar una variable llamada JAVA_HOME que tenga en el valor la ruta al Java JDK que se instaló en el ordenador.

Una vez que hemos instalado y configurado los componentes anteriores, debemos descargar e instalar el SDK y los componentes de Android Studio. Debemos aceptar los términos de licencia y a continuación se muestra la siguiente imagen para poder empezar con la descarga. Instalación de componentes y extensiones Una vez finalice el proceso los elementos estarán en nuestro disco duro, dentro de la carpeta SDK que hayamos configurado durante la instalación, y listos para ser utilizados. Administrador de Internet Information Services (IIS) Configuramos el servidor web con la herramienta IIS para poder alojar el proyecto de la aplicación Kleta_sw.

Asignación de Controles Damos clik en Asignaciones de Controladores:

Control: ExtensionIessUrlHandler-Integrated-4.0 Configuramos el controlador: Control: WebDAV Configuramos el controlador:

Creación del Servidor Windows Server 2012 Plataforma Microsoft Azure para la creación de la máquina virtual Máquina Virtual Kletapp2012 Activación del puerto 80 en la máquina virtual: HTTP (TCP/80)

Accediendo a la máquina virtual Windows Server 2012 Ingreso a la máquina virtual Windows Server 2012

Ingreso al Servidor de Sql Server 2012

Servicio Web en IIS para la aplicación KLETA APP

Levantamiento del Sitio Web para la aplicación KLETA APP Sitio Web Administrador KLETA APP

Reporte Exportado a Excel

CONECTAR PHP CON SQL SERVER Versiones: - Laptop: Windows 10, 64 bits Base de Datos: Sql Server 2012 wampserver3.0.4_x86_apache2.4.18_mysql5.7.11_php5.6.19 Se instala wampserver para 32 bits, ya que el de 64 bits da problemas - Se descargan las dll sqlsrv para 32 bits o Doble click en SQLSRV32.EXE para ejecutar, aceptamos y después indicamos la ruta donde deseamos guardar las dll o En el archivo versión según versión de php.txt podemos ver cual versión de dll se debe coger Cogemos la versión 56 ya que la versión de php que se instala con el wampserver es php5.6.19

La versión la podemos ver en phpinfo Copiamos las dll y las pegamos en la siguiente ruta: C:\wamp\bin\php\php5.6.19\ext

Ahora debemos agregar al final de los archivos php.ini las referencias a las librerías [PHP_SQLSRV] extension=php_sqlsrv_56_ts.dll [PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_56_ts.dll En la primera ruta: C:\wamp\bin\php\php5.6.19

En la segunda ruta: C:\wamp\bin\apache\apache2.4.18\bin

Notas: Con esta configuración ya no debe salir el error la función sqlsrv_connect no está definida al momento de probar en una página que se quiere conectar a SQL. Además se soluciona el error al iniciar el WampServer que la dll php_sqlsrv_56_ts.dll no es una aplicación de 32 bits valida Finalmente en phpinfo ya se muestran las referencias a las librerías sqlsrv Después Sale El Siguiente Error: Me fui a la URL indicada para bajar el driver: http://go.microsoft.com/fwlink/?linkid=163712 En la siguiente página verifico la versión que debo descargar según mi versión de php

Bajo en la misma página y doy click en el link Microsoft ODBC Driver 11 for SQL Server page en la sección de la versión 3.2 or 3.1 Se abre la siguiente página y damos click en el botón Download

En la siguiente página seleccionamos el driver según la versión de SO que tengamos 32 o 64 bits. Probé instalando la versión de 32 pero no me permitió instalarla porque mi Windows es a 64 bits, por lo que tuve que descargar la versión de 64 bits Se descargó el siguiente archivo Damos doble click y en la instalación se sigue los pasos indicados y listos Pasamos a probar la conexión desde una página php

Código php para probar <?php $server='rolando'; echo "<br/>got server name"; $connectinfo=array("database"=>"bdaya","uid"=>"sa", "PWD"=>"sqltttt"); //connect to DB echo "<br/>got db name"; $db=sqlsrv_connect($server,$connectinfo); echo "<br/>got connection"; if($db) { echo "<br/>connection established. "; } else { echo "<br/>connection couldn't be established. "; die(print_r( sqlsrv_errors(), true)); }?>

Subiendo la aplicación Kleta App en la cuenta de Google Play Developer Console Ingreso de los datos para la respectiva publicación

Creación de las claves para el proyecto Kleta App Creación del clave API para el proyecto Kleta App

Aplicación KletaApp publicada en el Google Play

UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID Y GEOLOCALIZACIÓN QUE PERMITA OFRECER Y SOLICITAR SERVICIOS DE ALQUILER DE CASAS CON UBICACIÓN EXACTA Y A LA VEZ SUGIERA LAS MÁS CERCANAS A LA UBICACIÓN ACTUAL EN CUALQUIER PARTE DE GUAYAQUIL. CÓDIGO FUENTE AUTORES: LOOR VILLAMAR ANDRÉS DAVID MOROCHO RAMOS MIGUEL ANGEL TUTORA: ING. VERÓNICA MENDOZA MORÁN. M.SC. GUAYAQUIL ECUADO 2016

Estructura del Proyecto KALETA APP: Android Studio:

Clases de Java más Importantes: Login.java package com.integradora. kaletaapp; import android.app.alertdialog; import android.content.intent; import android.os.bundle; import android.support.v7.app.actionbaractivity; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.textview; public class Login extends ActionBarActivity implements View.OnClickListener { Button blogin; TextView registerlink; EditText etusername, etpassword; UserLocalStore userlocalstore; @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_login); blogin = (Button) findviewbyid(r.id.blogin); etusername = (EditText) findviewbyid(r.id.etusername); etpassword = (EditText) findviewbyid(r.id.etpassword); registerlink = (TextView) findviewbyid(r.id.tvregisterlink); blogin.setonclicklistener(this); registerlink.setonclicklistener(this); userlocalstore = new UserLocalStore(this); }

@Override public void onclick(view view) { switch (view.getid()) { case R.id.bLogin: String username = etusername.gettext().tostring(); String password = etpassword.gettext().tostring(); User user = new User(username, password); authenticate(user); break; case R.id.tvRegisterLink: Intent registerintent = new Intent(Login.this, Register.class); startactivity(registerintent); break; } } private void authenticate(user user) { ServerRequests serverrequest = new ServerRequests(this); serverrequest.fetchuserdataasynctask(user, new GetUserCallback() { @Override public void done(user returneduser) { if (returneduser == null) { showerrormessage(); } else { loguserin(returneduser); } } }); } private void showerrormessage() { AlertDialog.Builder dialogbuilder = new AlertDialog.Builder(Login.this); dialogbuilder.setmessage("incorrect user details"); dialogbuilder.setpositivebutton("ok", null); dialogbuilder.show(); } private void loguserin(user returneduser) { userlocalstore.storeuserdata(returneduser); userlocalstore.setuserloggedin(true); startactivity(new Intent(this, MapsActivity.class)); } } blogin.setonclicklistener(this); registerlink.setonclicklistener(this); userlocalstore = new UserLocalStore(this); } @Override public void onclick(view view) { switch (view.getid()) { case R.id.bLogin: String username = etusername.gettext().tostring(); String password = etpassword.gettext().tostring(); User user = new User(username, password); authenticate(user); break; case R.id.tvRegisterLink: Intent registerintent = new Intent(Login.this, Register.class); startactivity(registerintent); break; } }

private void authenticate(user user) { ServerRequests serverrequest = new ServerRequests(this); serverrequest.fetchuserdataasynctask(user, new GetUserCallback() { @Override public void done(user returneduser) { if (returneduser == null) { showerrormessage(); } else { loguserin(returneduser); } } }); } private void showerrormessage() { AlertDialog.Builder dialogbuilder = new AlertDialog.Builder(Login.this); dialogbuilder.setmessage("incorrect user details"); dialogbuilder.setpositivebutton("ok", null); dialogbuilder.show(); } private void loguserin(user returneduser) { userlocalstore.storeuserdata(returneduser); userlocalstore.setuserloggedin(true); startactivity(new Intent(this, MapsActivity.class)); } } Register.java package com.integradora.kaletaapp; import android.content.intent; import android.os.bundle; import android.support.v7.app.actionbaractivity; import android.view.view; import android.widget.button; import android.widget.edittext; public class Register extends ActionBarActivity implements View.OnClickListener{ EditText etname, etage, etusername, etpassword; Button bregister; @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_register); etname = (EditText) findviewbyid(r.id.etname); etage = (EditText) findviewbyid(r.id.etage); etusername = (EditText) findviewbyid(r.id.etusername); etpassword = (EditText) findviewbyid(r.id.etpassword); bregister = (Button) findviewbyid(r.id.bregister); bregister.setonclicklistener(this); }

package com.integradora.kaletaapp; import android.content.intent; import android.os.bundle; import android.support.v7.app.actionbaractivity; import android.view.view; import android.widget.button; import android.widget.edittext; public class Register extends ActionBarActivity implements View.OnClickListener{ EditText etname, etage, etusername, etpassword; Button bregister; @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_register); etname = (EditText) findviewbyid(r.id.etname); etage = (EditText) findviewbyid(r.id.etage); etusername = (EditText) findviewbyid(r.id.etusername); etpassword = (EditText) findviewbyid(r.id.etpassword); bregister = (Button) findviewbyid(r.id.bregister); bregister.setonclicklistener(this); } @Override public void onclick(view v) { switch (v.getid()) { case R.id.bRegister: String name = etname.gettext().tostring(); String username = etusername.gettext().tostring(); String password = etpassword.gettext().tostring(); int age = Integer.parseInt(etAge.getText().toString()); User user = new User(name, age, username, password); registeruser(user); break; } } private void registeruser(user user) { ServerRequests serverrequest = new ServerRequests(this); serverrequest.storeuserdatainbackground(user, new GetUserCallback() { @Override public void done(user returneduser) { Intent loginintent = new Intent(Register.this, Login.class); startactivity(loginintent); } }); } }

BuscarAlquiler.java package com.integradora.kaletaapp; import android.content.intent; import android.os.bundle; import android.support.v7.app.actionbaractivity; import android.text.editable; import android.view.view; import android.widget.button; import android.widget.checkbox; import android.widget.edittext; import android.widget.numberpicker; import android.widget.textview; /** * Created by Miguel Morocho on 30/07/2016. */ public class BuscarAlquiler extends ActionBarActivity { EditText etcostoinicial, etcostofinal, etcuartos, etbanos, etsector; CheckBox chgaraje, chpatio; Button btbuscar; Button btcuartosup,btbanosup,btcuartosdown,btbanosdown; Button btcostoiup,btcostofup,btcostoidown,btcostofdown; NumberPicker npcosto1; int costoi=0, costof=0, cuartos=0, banos=0, garaje=0, patio=0; String sector=""; @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.buscar_alquiler); costoi = getintent().getintextra("costoi",0); costof = getintent().getintextra("costof",0); cuartos = getintent().getintextra("cuartos",0); banos = getintent().getintextra("banos", 0); garaje = getintent().getintextra("garaje", -1); patio = getintent().getintextra("patio", -1); sector = getintent().getstringextra("sector"); //Inicializacionde Controles etcostoinicial = (EditText)findViewById(R.id.etCosto1); etcostofinal = (EditText)findViewById(R.id.etCosto2); etcuartos = (EditText)findViewById(R.id.etCuartos_); etbanos = (EditText)findViewById(R.id.etBanos_); chgaraje = (CheckBox)findViewById(R.id.chGaraje_); chpatio = (CheckBox)findViewById(R.id.chPatio_); etsector = (EditText)findViewById(R.id.etSector_); //Setaer Valores por defecto etcostoinicial.settext(string.valueof(costoi)); etcostofinal.settext(string.valueof(costof)); etcuartos.settext(string.valueof(cuartos)); etbanos.settext(string.valueof(banos)); if(garaje==1) chgaraje.setchecked(true); else chgaraje.setchecked(false); etsector.settext(sector);

etbanos.settext(string.valueof(banos)); btcuartosup = (Button)findViewById(R.id.btCuartosUp); btcuartosup.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { String valor = etcuartos.gettext().tostring(); if (valor.equals("")) { etcuartos.settext("0"); } else { valor = etcuartos.gettext().tostring(); Integer cuantos = Integer.parseInt(valor); cuantos++; etcuartos.settext(string.valueof(cuantos)); } } }); btcuartosdown = (Button)findViewById(R.id.btCuartosDown); btcuartosdown.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { String valor = etcuartos.gettext().tostring(); if (valor.equals("")) { etcuartos.settext("0"); } else { if (!valor.equals("0")) { valor = etcuartos.gettext().tostring(); Integer cuantos = Integer.parseInt(valor); cuantos--; etcuartos.settext(string.valueof(cuantos)); } } } }); btbanosup = (Button)findViewById(R.id.btBanosUp); btbanosup.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { String valor = etbanos.gettext().tostring(); if (valor.equals("")) { etbanos.settext("0"); } else { valor = etbanos.gettext().tostring(); Integer cuantos = Integer.parseInt(valor); cuantos++; etbanos.settext(string.valueof(cuantos)); } } }); btbanosdown = (Button)findViewById(R.id.btBanosDown); btbanosdown.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { String valor = etbanos.gettext().tostring(); if (valor.equals("")) { etbanos.settext("0"); }

else { if (!valor.equals("0")) { valor = etbanos.gettext().tostring(); Integer cuantos = Integer.parseInt(valor); cuantos--; etbanos.settext(string.valueof(cuantos)); } } } }); btcostoiup = (Button)findViewById(R.id.btCostoIUp); btcostoiup.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { String valor = etcostoinicial.gettext().tostring(); if (valor.equals("")) { etcostoinicial.settext("0"); } else { valor = etcostoinicial.gettext().tostring(); Integer cuantos = Integer.parseInt(valor); cuantos=cuantos+50; etcostoinicial.settext(string.valueof(cuantos)); } } }); btcostoidown = (Button)findViewById(R.id.btCostoIDown); btcostoidown.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { String valor = etcostoinicial.gettext().tostring(); if (valor.equals("")) { etcostoinicial.settext("0"); } else { if (!valor.equals("0")) { valor = etcostoinicial.gettext().tostring(); Integer cuantos = Integer.parseInt(valor); cuantos=cuantos-50;; etcostoinicial.settext(string.valueof(cuantos)); } } } }); btcostofup = (Button)findViewById(R.id.btCostoFUp); btcostofup.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { String valor = etcostofinal.gettext().tostring(); if (valor.equals("")) { etcostofinal.settext("0"); } else { valor = etcostofinal.gettext().tostring(); Integer cuantos = Integer.parseInt(valor); cuantos=cuantos+50; etcostofinal.settext(string.valueof(cuantos)); } } });

btcostofdown = (Button)findViewById(R.id.btCostoFDown); btcostofdown.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { String valor = etcostofinal.gettext().tostring(); if (valor.equals("")) { etcostofinal.settext("0"); } else { if (!valor.equals("0")) { valor = etcostofinal.gettext().tostring(); Integer cuantos = Integer.parseInt(valor); cuantos=cuantos-50;; etcostofinal.settext(string.valueof(cuantos)); } } } }); btbuscar = (Button)findViewById(R.id.btBuscar); btbuscar.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { if(!etcostoinicial.gettext().tostring().equals("")) costoi=integer.parseint(etcostoinicial.gettext().tostring()); else costoi=0; if(!etcostofinal.gettext().tostring().equals("")) costof=integer.parseint(etcostofinal.gettext().tostring()); else costof=0; if(!etcuartos.gettext().tostring().equals("")) cuartos=integer.parseint(etcuartos.gettext().tostring()); else cuartos=0; if(!etbanos.gettext().tostring().equals("")) banos=integer.parseint(etbanos.gettext().tostring()); else banos=0; if(chgaraje.ischecked()) garaje=1; else garaje=-1; if(chpatio.ischecked()) patio=1; else patio=-1; if(!etsector.gettext().tostring().equals("")) sector= etsector.gettext().tostring(); else sector=""; MapsActivity.SetearValoresFiltros(costoi, costof, cuartos, banos, garaje, patio,sector); finish(); } }); }

private void LlamarResultadoBusqueda() { Intent ibuscaractivity = new Intent(getBaseContext(), ResultadoBusqueda.class); //intentmng.putextra("clienteid", clienteid); //ibuscaractivity.putextra("costoi", costoi); ibuscaractivity.putextra("costoi", costoi); ibuscaractivity.putextra("costof", costof); ibuscaractivity.putextra("cuartos", cuartos); ibuscaractivity.putextra("banos", banos); ibuscaractivity.putextra("garaje", garaje); ibuscaractivity.putextra("patio", patio); ibuscaractivity.putextra("sector", sector); startactivityforresult(ibuscaractivity, 2); } } Publicar.java package com.integradora.kaletaapp; import android.app.activity; import android.os.bundle; import android.support.v7.app.actionbaractivity; /** * Created by Andres Loor on 30/07/2016. */ public class Publicar extends ActionBarActivity { @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.buscar_alquiler); } }

ResultadoBusqueda.java package com.integradora.kaletaapp; import android.app.loadermanager; import android.app.progressdialog; import android.content.intent; import android.content.loader; import android.database.cursor; import android.os.bundle; import android.support.v7.app.actionbaractivity; import android.view.view; import android.widget.adapterview; import android.widget.button; import android.widget.checkbox; import android.widget.edittext; import android.widget.listview; import android.widget.toast; import com.google.android.gms.maps.model.marker; import com.integradora.renthouse.db.sqlite; /** * Created by Miguel Morocho on 02/08/2016. */ public class ResultadoBusqueda extends ActionBarActivity { EditText etcostoinicial, etcostofinal, etcuartos, etbanos, etsector; CheckBox chgaraje, chpatio; Button btbuscar; int costoi=0, costof=0, cuartos=0, banos=0, garaje=0, patio=0; String sector=""; BusquedaCursorAdapter madapter; ProgressDialog progressdialog; String Latitud; String Longitud; private String lenguajeprogramacion[]=new String[]{"Java","PHP","Python","JavaScript"}; private Integer[] imgid={ R.drawable.homeicon, R.drawable.home_pin1, R.drawable.home_pin2, R.drawable.pinlocal }; private ListView lista; private SQLite sqlite; @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.resultado_busqueda); //costoi = getintent().getintextra("costoi",0);

costoi = getintent().getintextra("costoi",0); costof = getintent().getintextra("costof",0); cuartos = getintent().getintextra("cuartos",0); banos = getintent().getintextra("banos", 0); garaje = getintent().getintextra("garaje", -1); patio = getintent().getintextra("patio", -1); sector = getintent().getstringextra("sector"); //Inicializacionde Controles //etcostoinicial = (EditText)findViewById(R.id.etCosto1); sqlite = new SQLite( this ); sqlite.abrir(); Cursor cursor; cursor = sqlite.getregistros(costoi, costof, cuartos, banos, garaje, patio, sector); this.madapter = new BusquedaCursorAdapter(this, R.layout.fila_lista, cursor, new String[] { "FOTO2", "SECTOR", "COSTO" }, new int[] { R.id.image_casa, R.id.texto_principal, R.id.texto_secundario }, 0); //DireccionCP antes Direccion del Cliente lista=(listview)findviewbyid(r.id.lvresultados); lista.setadapter(madapter); //rutero_lsv_listaclientes.setadapter(madapter); //ListaAdapter adapter=new ListaAdapter(this,lenguajeProgramacion,imgid); //lista=(listview)findviewbyid(r.id.lvresultados); //lista.setadapter(adapter); lista.setonitemclicklistener(new AdapterView.OnItemClickListener() { @Override public void onitemclick(adapterview<?> parent, View view, int position, long id) { Cursor cursor = (Cursor) madapter.getitem(position); // String Latitud = cursor.getstring(13); // String Longitud = cursor.getstring(14); // // MapsActivity.ActualizarCoordenadaVistaActual(Latitud, Longitud); LlamarDetalleAlquiler(cursor); //finish(); } }); } private void LlamarDetalleAlquiler(Cursor cursor) { try { Intent i = new Intent(getBaseContext(), DetalleAlquilerActivity.class); //i.putextra("foto1", "http://www.thebiblescholar.com/android_awesome.jpg"); Latitud = cursor.getstring(13); Longitud = cursor.getstring(14); i.putextra("nombre", cursor.getstring(1)); i.putextra("email", cursor.getstring(17)); i.putextra("sector", cursor.getstring(9)); i.putextra("costo",cursor.getstring(3)); i.putextra("descripcion", cursor.getstring(10)); i.putextra("telefono",cursor.getstring(2)); i.putextra("cuartos", cursor.getstring(4)); i.putextra("banos", cursor.getstring(5));

i.putextra("garaje", cursor.getstring(6)); i.putextra("patio", cursor.getstring(7)); i.putextra("latitud", cursor.getstring(13)); i.putextra("longitud", cursor.getstring(14)); i.putextra("foto1", cursor.getstring(19)); i.putextra("foto2",cursor.getstring(20)); i.putextra("sincronizado", cursor.getstring(15)); startactivityforresult(i, 1); } catch (Exception e) { } } @Override protected void onactivityresult(int requestcode, int resultcode, Intent data) { super.onactivityresult(requestcode, resultcode, data); if (requestcode == 1) { if(resultcode==2) { MapsActivity.ActualizarCoordenadaVistaActual(Latitud, Longitud); finish(); }else { return; } } } } ConfigMovilActivity.java package com.integradora.kaletaapp; import android.app.activity; import android.app.dialog; import android.bluetooth.bluetoothadapter; import android.content.intent; import android.content.sharedpreferences.editor; import android.os.bundle; import android.preference.preferencemanager; import android.util.log; import android.view.layoutinflater; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; import android.widget.imagebutton; import android.widget.radiobutton; import android.widget.textview; _btn_servidor = (ImageButton) findviewbyid(r.id.configmovil_btn_servidor);

package com.integradora.kaletaapp; import android.app.activity; import android.app.dialog; import android.bluetooth.bluetoothadapter; import android.content.intent; import android.content.sharedpreferences.editor; import android.os.bundle; import android.preference.preferencemanager; import android.util.log; import android.view.layoutinflater; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; import android.widget.imagebutton; import android.widget.radiobutton; import android.widget.textview; public class ConfigMovilActivity extends Activity { EditText configmovil_et_rutaservidor; ImageButton configmovil_btn_servidor, configmovil_btn_impresora; public static final int REQUEST_ENABLE_BT = 100; public static final int REQUEST_CONNECT_DEVICE = 200; private String TAG = "Configuracion del Sistema"; //05-08-2016 private String rutaexterna= "http://181.198.6.138:3027/swrh"; private String rutainterna= "http://192.168.0.116/kleta_sw"; RadioButton rb_rutainterna, rb_rutaexterna; ////// @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_config_movil); inicializar(); } private void inicializar() { configmovil_et_rutaservidor = (EditText) findviewbyid(r.id.configmovil_et_rutaservidor); configmovil_btn_servidor = (ImageButton) findviewbyid(r.id.configmovil_btn_servidor); rb_rutaexterna = (RadioButton) findviewbyid(r.id.ip_externa); rb_rutainterna = (RadioButton) findviewbyid(r.id.ip_interna); } });

rb_rutaexterna.setonclicklistener(new OnClickListener() { @Override public void onclick(view v) { configmovil_et_rutaservidor.settext(rutaexterna); Editor editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit(); editor.putstring("servidor", rutaexterna); editor.commit(); } }); rb_rutainterna.setonclicklistener(new OnClickListener() { @Override public void onclick(view v) { configmovil_et_rutaservidor.settext(rutainterna); Editor editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit(); editor.putstring("servidor", rutainterna); editor.commit(); } }); configmovil_et_rutaservidor.settext(preferencemanager.getdefaultsharedpreferences(getapplicationc ontext()).getstring("servidor", "").trim()); if(configmovil_et_rutaservidor.gettext().tostring().tolowercase().equals(rutaexterna.tolowercase())) { rb_rutaexterna.setchecked(true); } if(configmovil_et_rutaservidor.gettext().tostring().tolowercase().equals(rutainterna.tolowercase())) { rb_rutainterna.setchecked(true); } if(configmovil_et_rutaservidor.gettext().tostring().trim().length() > 7) { } else { configmovil_et_rutaservidor.settext("http://181.198.6.138:3027/swrh"); Editor editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit(); editor.putstring("servidor", "http://181.198.6.138:3027/swrh"); editor.commit(); } configmovil_btn_servidor.setonclicklistener(new OnClickListener() { @Override public void onclick(view arg0) { Editor editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit(); editor.putstring("servidor", configmovil_et_rutaservidor.gettext().tostring()); editor.commit();

UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID Y GEOLOCALIZACIÓN QUE PERMITA OFRECER Y SOLICITAR SERVICIOS DE ALQUILER DE CASAS CON UBICACIÓN EXACTA Y A LA VEZ SUGIERA LAS MÁS CERCANAS A LA UBICACIÓN ACTUAL EN CUALQUIER PARTE DE GUAYAQUIL. PROYECTO DE TITULACIÓN Previa a la obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES AUTORES: LOOR VILLAMAR ANDRÉS DAVID MOROCHO RAMOS MIGUEL ANGEL TUTORA: ING. VERÓNICA MENDOZA MORÁN. M.SC. GUAYAQUIL ECUADOR 2016

REPOSITORIO NACIONAL EN CIENCIA Y TECNOLOGÍA FICHA DE REGISTRO DE TESIS TÍTULO Y SUBTÍTULO: Desarrollo e implementación de un aplicativo para dispositivos móviles con sistema operativo Android y geolocalización que permita ofrecer y solicitar servicios de alquiler de casas con ubicación exacta y a la vez sugiera las más cercanas a la ubicación actual en cualquier parte de Guayaquil. AUTOR: Andrés David Loor Villamar Miguel Angel Morocho Ramos TUTOR: Ing. Verónica Mendoza Morán, M.Sc. REVISORES: Lcdo. Ricardo Ramírez Veliz, M.Sc. Ing. César Eras Guamán, M.Sc. INSTITUCIÓN: Universidad de Guayaquil FACULTAD: Ciencias Matemáticas y Físicas CARRERA: Ingeniería en Sistemas Computacionales FECHA DE PUBLICACIÓN: No. DE PÁGS: 82 TÍTULO OBTENIDO: Ingeniero en Sistemas Computacionales ÁREAS TEMÁTICAS: Sistemas, Ingeniería de Software, Desarrollo de Aplicación PALABRAS CLAVE: Geolocalización, Buscador, Publicación. RESUMEN: Dentro del déficit de vivienda y el crecimiento urbano en Guayaquil, muchos habitantes buscan departamentos o viviendas en alquiler, por esa razón se ha implementado una aplicación Kleta App en la Play Store con la finalidad de que este APK permita encontrar viviendas de alquiler publicadas con geolocalización el cual establezca rutas más cortas hacia la vivienda, dirigido a usuarios que tengan cuenta Gmail y dispositivos móviles con GPS e internet. No. DE REGISTRO (en base de datos): No. DE CLASIFICACIÓN: DIRECCIÓN URL (tesis en la web): ADJUNTO PDF: x SI NO CONTACTO CON AUTOR/ES Teléfono: 0993741188 0992014588 E-mail: andres.loorv@ug.edu.ec miguel.morochor@ug.edu.ec CONTACTO EN LA INSTITUCIÓN: Nombre: Secretaría de la Facultad Teléfono: (03)2848487 Ext. 123 E-mail: fca@uta.edu.ec

II APROBACIÓN DEL TUTOR En mi calidad de Tutora del trabajo de titulación, DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID Y GEOLOCALIZACIÓN QUE PERMITA OFRECER Y SOLICITAR SERVICIO DE ALQUILER DE CASAS CON UBICACIÓN EXACTA Y A LA VEZ SUGIERA LAS MÁS CERCANAS A LA UBICACIÓN ACTUAL EN CUALQUIER PARTE DE GUAYAQUIL elaborado por el SR. LOOR VILLAMAR ANDRÉS DAVID y el SR. MIGUEL ANGEL MOROCHO RAMOS, Alumnos no titulados de la Carrera de Ingeniería en Sistemas Computacionales, Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil, previo a la obtención del Título de Ingeniero en Sistemas, me permito declarar que luego de haber orientado, estudiado y revisado, la apruebo en todas sus partes. Atentamente Ing. Verónica Mendoza Morán, M.Sc. TUTOR

III DEDICATORIA Este proyecto de titulación se lo dedico en primer lugar a Dios quien supo guiar a mis padres para darme la mejor herencia que es la confianza en seguir adelante en la educación y de manera especial a mis pilares que hoy en día son mi esposa e hijo que supieron comprenderme y brindarme su tiempo para los estudios. A mis hermanos, profesores y amigos que de una u otra manera me apoyaron a mirar al frente para culminar la carrera. Loor Villamar Andrés David

IV DEDICATORIA Este proyecto de titulación se lo dedico en primer lugar a Dios y a mis padres por haberme permitido culminar la universidad, a mis hermanas y familia en general que siempre ha estado a mi lado en todos los momentos de mi vida. Morocho Ramos Miguel Angel

V AGRADECIMIENTO Agradezco a Dios que me permite día a día despertarme por las mañanas, y por tener de una u otra manera a personas que me alientan a culminar esta etapa de mi vida. Agradezco a mi madre, padre, hermanos esposa e hijos que siempre ayudaron cuando los necesite. Loor Villamar Andrés David

VI AGRADECIMIENTO Agradezco a Dios que me permite día a día despertarme por las mañanas, y por tener de una u otra manera a personas que me alientan a culminar esta etapa de mi vida. Agradezco a mi madre, padre, hermanas que siempre me ayudaron cuando los necesite. Morocho Ramos Miguel Angel

VII TRIBUNAL PROYECTO DE TITULACIÓN Ing. Eduardo Santos Baquerizo, M.Sc. DECANO DE LA FACULTAD CIENCIAS MATEMÁTICAS Y FÍSICAS Ing. Roberto Crespo Mendoza, Mgs. DIRECTOR DE CARRERA INGENIERÍA EN SISTEMAS COMPUTACIONALES Lcdo. Ricardo Ramírez Veliz, M.Sc. PROFESOR REVISOR DEL ÁREA TRIBUNAL Ing. César Eras Guamán, M.Sc. PROFESOR REVISOR DEL ÁREA TRIBUNAL Ing. Verónica Mendoza Morán, M.Sc. PROFESOR DIRECTOR DEL PROYECTO DE TITULACIÓN Ab. Juan Chávez Atocha Esp. SECRETARIO

VIII DECLARACIÓN EXPRESA La responsabilidad del contenido de este Proyecto de Titulación, nos corresponden exclusivamente; y el patrimonio intelectual de la misma a la UNIVERSIDAD DE GUAYAQUIL LOOR VILLAMAR ANDRÉS DAVID C.I 092555246-5 MOROCHO RAMOS MIGUEL ANGEL C.I 092881946-5

IX UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID Y GEOLOCALIZACIÓN QUE PERMITA OFRECER Y SOLICITAR SERVICIOS DE ALQUILER DE CASAS CON UBICACIÓN EXACTA Y A LA VEZ SUGIERA LAS MÁS CERCANAS A LA UBICACIÓN ACTUAL EN CUALQUIER PARTE DE GUAYAQUIL. Proyecto de Titulación que se presenta como requisito para optar por el título de: INGENIERO EN SISTEMAS COMPUTACIONALES Autores: Loor Villamar Andrés David C.I. 0925552465 Morocho Ramos Miguel Angel C.I. 0928819465 Tutora: Ing. Verónica Mendoza Morán. M.Sc. Guayaquil, Diciembre de 2016

X CERTIFICADO DE ACEPTACIÓN DEL TUTOR En mi calidad de Tutor del proyecto de titulación nombrado por el Consejo Directivo de la Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil. CERTIFICO: Que he analizado el Proyecto de Titulación presentado por los estudiantes ANDRÉS DAVID LOOR VILLAMAR y MIGUEL ANGEL MOROCHO RAMOS, como requisito previo para optar por el título de Ingeniero en Sistemas Computacionales cuyo problema es: DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID Y GEOLOCALIZACIÓN QUE PERMITA OFRECER Y SOLICITAR SERVICIOS DE ALQUILER DE CASAS CON UBICACIÓN EXACTA Y A LA VEZ SUGIERA LAS MÁS CERCANAS A LA UBICACIÓN ACTUAL EN CUALQUIER PARTE DE GUAYAQUIL. Considero aprobado el trabajo en su totalidad. Presentado por: LOOR VILLAMAR ANDRÉS DAVID MOROCHO RAMOS MIGUEL ANGEL C.I N 0925552465 C.I N 0928819465 Tutora: Ing. Verónica Mendoza Morán. M.Sc. Guayaquil, Diciembre de 2016.

XI UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES Autorización para Publicación de Proyecto de Titulación en Formato Digital 1. Identificación del Proyecto de Titulación Nombre Alumno: Loor Villamar Andrés David Dirección: Florida Norte Coop. Patria Nueva Mz. 353 S 27 Teléfono:042264436 E-mail: andres.loorv@ug.edu.ec Nombre Alumno: Morocho Ramos Miguel Angel Dirección: Duran Los Helechos Mz. 36 Vll 11 Teléfono:042807501 E-mail: miguel.morochor@ug.edu.ec Facultad: Ciencias Matemáticas y Físicas Carrera: Ingeniería en Sistemas Computacionales Proyecto de titulación al que opta: Ingeniero en Sistemas Computacionales Profesor tutor: Ing. Verónica Mendoza Morán. M.Sc. Título del Proyecto de titulación: Desarrollo e Implementación de un aplicativo para dispositivos móviles con sistema operativo Android y geolocalización que permita ofrecer y solicitar servicios de alquiler de casas con ubicación exacta y a la vez sugiera la más cercana a la ubicación actual en cualquier parte de Guayaquil.

XII Tema del Proyecto de Titulación: Desarrollo e Implementación de una aplicación en la Play Store. 2. Autorización de Publicación de Versión Electrónica del Proyecto de Titulación A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de este Proyecto de titulación. Publicación electrónica: Inmediata X Después de 1 año 3. Forma de envío: El texto del proyecto de titulación debe ser enviado en formato Word, como archivo.doc. O.RTF y. Puf para PC. Las imágenes que la acompañen pueden ser:.gif,.jpg o.tiff. DVDROM CDROM X Firma de Alumnos:

XIII ÍNDICE GENERAL APROBACIÓN DEL TUTOR... II DEDICATORIA... III DEDICATORIA... IV AGRADECIMIENTO... V AGRADECIMIENTO... VI TRIBUNAL PROYECTO DE TITULACIÓN... VII CERTIFICADO DE ACEPTACIÓN DEL TUTOR... X ÍNDICE GENERAL... XIII ÍNDICE DE CUADROS... XVII ÍNDICE DE GRÁFICOS... XIX ABREVIATURAS... XXI SIMBOLOGÍA... XXII RESUMEN... XXIV ABSTRACT... XXVI INTRODUCCIÓN... 2 CAPÍTULO I... 3 EL PROBLEMA... 3 PLANTEAMIENTO DEL PROBLEMA... 3 Ubicación del problema en un contexto... 3 Situación conflicto nudos críticos... 8 Causas y consecuencias del problema... 8 Delimitación del problema... 8 Formulación del problema... 9 Evaluación del problema... 9 OBJETIVOS... 10 OBJETIVO GENERAL... 10

XIV OBJETIVOS ESPECÍFICOS... 11 ALCANCES DEL PROBLEMA... 11 JUSTIFICACIÓN E IMPORTANCIA... 12 METODOLOGÍA DEL PROYECTO:... 13 CAPÍTULO II... 15 MARCO TEÓRICO... 15 ANTECEDENTES DEL ESTUDIO... 15 FUNDAMENTACIÓN TEÓRICA... 16 El gran libro de Android... 16 Desarrollo Web para dispositivos móviles... 17 Android... 18 Android Studio... 18 Base de datos... 18 SCRUM... 19 FUNDAMENTACIÓN LEGAL... 20 Ley de comercio electrónico, firmas electrónicas y mensajes de datos.... 20 SECCIÓN OCTAVA... 21 Ciencia, tecnología, innovación y saberes ancestrales.... 21 Ley derecho de autor y derecho conexos... 22 De los Programas de Ordenador... 23 De la infraestructura tecnológica.... 24 Condiciones del Servicio de Google Play... 25 Régimen Del Buen Vivir... 26 Inclusión Y Equidad... 26 Preguntas Científica a Contestarse... 27 Definiciones Conceptuales... 27 CAPÍTULO III... 31 PROPUESTA TECNOLÓGICA... 31 Análisis de factibilidad... 31 Factibilidad operacional... 31

XV Factibilidad legal... 33 Factibilidad económica... 34 Tiempo y costo de desarrollo... 35 Costo de personal... 35 Costo de hardware... 36 Costos de Software... 37 Etapas de la metodología del proyecto... 38 Metodología utilizada... 38 Identificación de requerimientos... 38 Ámbito del sistema... 38 Lista de requerimientos... 39 Análisis... 42 Historias de usuarios... 42 Diseño... 47 Arquitectura... 47 Modelo Entidad Relación... 48 Configuración del Web Services... 49 Configuración de la Base de datos... 49 Blacklog SCRUM... 49 Pruebas... 52 Criterios de Aceptación... 52 Entregables del proyecto... 59 CRITERIOS DE VALIDACIÓN DE LA PROPUESTA... 59 Técnica de Caja Negra... 59 Resultados de los criterios de aceptación... 66 CAPÍTULO IV... 77 Criterios de aceptación del producto o servicio... 77 CONCLUSIONES... 80 RECOMENDACIONES... 81 BIBLIOGRAFÍA... 82

XVI Anexo 1... 1 Formato de encuesta... 1 Resultado por cada pregunta... 1 Análisis... 2 Análisis... 3 Análisis... 3 Análisis... 4 Análisis... 5

XVII ÍNDICE DE CUADROS CUADRO 1 VIVIENDAS PARTICULARES ARRENDADAS... 3 CUADRO 2 VIVIENDAS ARRENDADAS POR TIPO... 4 CUADRO 3 TECNOLOGÍAS INFORMÁTICAS DEL PROYECTO... 32 CUADRO 4 DETALLES DEL COSTO DEL PROYECTO... 35 CUADRO 5 DETALLES DEL COSTO DEL PROYECTO HARDWARE... 36 CUADRO 6 DETALLES DEL COSTO DEL PROYECTO SOFTWARE... 37 CUADRO 7 REQUERIMIENTOS DEL PROYECTO... 40 CUADRO 8 HISTORIA DE USUARIO DEL PROYECTO - HU001... 42 CUADRO 9 HISTORIA DE USUARIO DEL PROYECTO - HU002... 42 CUADRO 10 HISTORIA DE USUARIO DEL PROYECTO - HU003... 43 CUADRO 11 HISTORIA DE USUARIO DEL PROYECTO - HU004... 43 CUADRO 12 HISTORIA DE USUARIO DEL PROYECTO - HU005... 43 CUADRO 13 HISTORIA DE USUARIO DEL PROYECTO - HU006... 44 CUADRO 14 HISTORIA DE USUARIO DEL PROYECTO - HU007... 44 CUADRO 15 HISTORIA DE USUARIO DEL PROYECTO - HU008... 44 CUADRO 16 HISTORIA DE USUARIO DEL PROYECTO - HU009... 45 CUADRO 17 HISTORIA DE USUARIO DEL PROYECTO - HU010... 45 CUADRO 18 HISTORIA DE USUARIO DEL PROYECTO - HU011... 45 CUADRO 19 HISTORIA DE USUARIO DEL PROYECTO - HU012... 46 CUADRO 20 HISTORIA DE USUARIO DEL PROYECTO - HU013... 46 CUADRO 21 HISTORIA DE USUARIO DEL PROYECTO - HU001... 52 CUADRO 22 HISTORIA DE USUARIO DEL PROYECTO - HU002... 52 CUADRO 23 HISTORIA DE USUARIO DEL PROYECTO - HU003... 53 CUADRO 24 HISTORIA DE USUARIO DEL PROYECTO - HU004... 53 CUADRO 25 HISTORIA DE USUARIO DEL PROYECTO - HU005... 54 CUADRO 26 HISTORIA DE USUARIO DEL PROYECTO - HU006... 54 CUADRO 27 HISTORIA DE USUARIO DEL PROYECTO - HU007... 55 CUADRO 28 HISTORIA DE USUARIO DEL PROYECTO - HU008... 56 CUADRO 29 HISTORIA DE USUARIO DEL PROYECTO - HU009... 56 CUADRO 30 HISTORIA DE USUARIO DEL PROYECTO - HU010... 56 CUADRO 31 HISTORIA DE USUARIO DEL PROYECTO - HU011... 57

XVIII CUADRO 32 HISTORIA DE USUARIO DEL PROYECTO - HU012... 57 CUADRO 33 HISTORIA DE USUARIO DEL PROYECTO - HU013... 58 CUADRO 34 CASO DE PRUEBA - CP01... 59 CUADRO 35 CASO DE PRUEBA - CP02... 60 CUADRO 36 CASO DE PRUEBA - CP03... 61 CUADRO 37 CASO DE PRUEBA - CP04... 62 CUADRO 38 CASO DE PRUEBA - CP05... 63 CUADRO 39 CASO DE PRUEBA - CP06... 64 CUADRO 40 CASO DE PRUEBA - CP07... 64 CUADRO 41 CASO DE PRUEBA - CP08... 65 CUADRO 42 MATRIZ DE ACEPTACIÓN... 78

XIX ÍNDICE DE GRÁFICOS GRÁFICO 1 PREFERENCIAS DE APLICACIONES EN EL MERCADO... 5 GRÁFICO 2 CELULARES ACTIVOS... 6 GRÁFICO 3 USO DE INTERNET... 6 GRÁFICO 4 PERSONAS QUE TIENEN SMARTPHONE... 7 GRÁFICO 5 USUARIOS CON INTERNET MÓVIL Y FIJO... 7 GRÁFICO 6 ARQUITECTURA DEL PROYECTO... 47 GRÁFICO 7 MODELO ENTIDAD RELACIÓN DEL PROYECTO... 48 GRÁFICO 8 METODOLOGÍA SCRUM BAM... 50 GRÁFICO 9 SPRINT DEL PROYECTO... 51 GRÁFICO 10 PANTALLA - INICIO DE SESIÓN... 66 GRÁFICO 11 PANTALLA - HABILITAR GPS... 67 GRÁFICO 12 PANTALLA - SELECCIÓN DE CUENTA PARA REGISTRO... 67 GRÁFICO 13 PANTALLA - SESIÓN... 68 GRÁFICO 14 PANTALLA PRINCIPAL - BÚSQUEDA... 68 GRÁFICO 15 PANTALLA - POSICIÓN ACTUAL... 69 GRÁFICO 16 PANTALLA - UBICACIÓN GPS... 69 GRÁFICO 17 PANTALLA - CONSULTA VIVIENDA... 70 GRÁFICO 18 PANTALLA - CONSULTA DE VIVIENDAS... 70 GRÁFICO 19 PANTALLA - RESULTADO DE BÚSQUEDA... 71 GRÁFICO 20 PANTALLA - VIVIENDA PUBLICADA... 71 GRÁFICO 21 PANTALLA - LOCALIZACIÓN DE VIVIENDA... 72 GRÁFICO 22 PANTALLA - RUTA MÁS CORTA HACIA LA VIVIENDA SELECCIONADA... 72 GRÁFICO 23 PANTALLA - LLAMADA TELEFÓNICA... 73 GRÁFICO 24 PANTALLA - NOTIFICACIÓN SMS... 73 GRÁFICO 25 PANTALLA - NOTIFICACIÓN CORREO ELECTRÓNICO... 74 GRÁFICO 26 PANTALLA - UBICACIÓN DE MAPA... 74 GRÁFICO 27 PANTALLA - PUBLICACIÓN DE VIVIENDA... 75 GRÁFICO 28 PANTALLA - INGRESO DE INFORMACIÓN PUBLICACIÓN... 75 GRÁFICO 29 PANTALLA - SUBIDA DE PUBLICACIÓN... 76 GRÁFICO 30 ENCUESTA FORMATO... 1 GRÁFICO 31 ENCUESTA - 1ERA PREGUNTA... 2

XX GRÁFICO 32 ENCUESTA 2DA PREGUNTA... 2 GRÁFICO 33 ENCUESTA 3ERA PREGUNTA... 3 GRÁFICO 34 ENCUESTA - 4TA PREGUNTA... 4 GRÁFICO 35 ENCUESTA - 4.1 PREGUNTA... 4 GRÁFICO 36 ENCUESTA - 5TA PREGUNTA... 5

XXI ABREVIATURAS UG http Ing. URL www INEC ENALQUI Universidad de Guayaquil Protocolo de transferencia de Hyper Texto Ingeniero Localizador de Fuente Uniforme world wide web (red mundial) Instituto Nacional de Estadística y Censos Encuesta Nacional de Alquileres

XXII SIMBOLOGÍA s e E E(Y) s e Desviación estándar Error Espacio muestral Esperanza matemática de la v.a. y Estimador de la desviación estándar Exponencial

XXIII UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID Y GEOLOCALIZACIÓN QUE PERMITA OFRECER Y SOLICITAR SERVICIOS DE ALQUILER DE CASAS CON UBICACIÓN EXACTA Y A LA VEZ SUGIERA LAS MÁS CERCANAS A LA UBICACIÓN ACTUAL EN CUALQUIER PARTE DE GUAYAQUIL. Autores: Andrés David Loor Villamar Miguel Angel Morocho Ramos Tutor: Ing. Verónica Mendoza Morán. M.Sc

XXIV RESUMEN La tecnología avanza a pasos agigantados, y los teléfonos se convierten en parte esencial de nuestras vidas ya sea para mantenernos comunicados o aprovechar las nuevas propuestas tecnológicas que se ofrecen a través de él. Dentro del déficit de vivienda y el crecimiento urbano en Guayaquil, muchos habitantes buscan departamentos o viviendas en alquiler, dado la necesidad de no tener un lugar en donde habitar, por esa razón se ha implementado una aplicación Kleta App en la Play Store con la finalidad de que este APK permita encontrar viviendas de alquiler publicadas con geolocalización el cual establezca rutas más cortas hacia la vivienda, dirigido a usuarios que tengan cuenta Gmail y dispositivos móviles con GPS e internet cuya finalidad es aportar con una alternativa de búsqueda de viviendas gratuita. Este proyecto de titulación está enmarcado en la metodología Scrum-Bam una metodología de desarrollo rápido y flexible; adicional se emplearon una serie de técnicas e instrumentos de recolección de datos, para la elaboración de la aplicación y el cumplimiento de los objetivos planteados, desarrollado en Android Studio la aplicación y el administrador web en PHP con base de datos SQL Server sobre un Web Server IIS. De esta manera se pudo concluir que con la implantación de esta nueva aplicación ayudara a este sector que busca y ofrece viviendas en alquiler. Palabras Claves: Georeferencia, geolocalización, alquiler, publicación

XXV UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID Y GEOLOCALIZACIÓN QUE PERMITA OFRECER Y SOLICITAR SERVICIOS DE ALQUILER DE CASAS CON UBICACIÓN EXACTA Y A LA VEZ SUGIERA LAS MÁS CERCANAS A LA UBICACIÓN ACTUAL EN CUALQUIER PARTE DE GUAYAQUIL. Autores: Andrés David Loor Villamar Miguel Ángel Morocho Ramos Tutor: M.Sc. Ing. Verónica Mendoza Morán.

XXVI ABSTRACT Technology advances by leaps and bounds, and phones become an essential part of our lives whether to keep communicated or take advantage of new technological approaches offered through it. Within the housing deficit and urban growth in Guayaquil, many people look for apartments or houses for rent, given the need not have a place to live, for that reason has implemented a "Kleta App" app in the Play Store with the purpose of this APK allow find rental housing published with geolocation which set shorter routes to housing, aimed at users who have an account Gmail and mobile devices with GPS and internet whose purpose is to provide an alternative search of free housing. This titling project is framed in the methodology Scrum-Bam methodology fast and flexible development; Additional a number of techniques and tools for data collection for the preparation of the application and compliance with the objectives, developed in Android Studio application and web administrator PHP-based SQL Server database on a Web were used Server IIS. Thus it was concluded that with the implementation of this new application will help this sector that seeks and offers rental housing.

INTRODUCCIÓN En Guayaquil la ciudad más poblada del Ecuador con más de 2 millones de habitantes, abre sus puertas a propios y extraños que se adapta a los cambios tecnológicos, habiendo varios puntos Wifi de Internet gratis que ofrece a los usuarios que deseen conectarse; así resulta ser una ventana en pleno siglo XXI donde los teléfonos inteligentes (Smartphone) están en su apogeo ya que integra aplicaciones, juegos, redes sociales, cámara, video, reproductores de música y varios servicios sin contar que hoy en día tener un teléfono es una necesidad la cual nos mantiene comunicados. Mediante el uso de tiendas virtuales (Play Store, Galaxy Apps, etc.), para su descarga de aplicaciones gratuitas y pagadas, donde los Smartphone proceden al uso de las APK de acuerdo a sus necesidades o gustos, donde tenemos un sin número de APK para su elección como son juegos, redes sociales, ventas, servicios bancarios, mapas y navegación etc. Actualmente un estudio de vivienda en Guayaquil por parte del Instituto Nacional de Estadísticas y Censos(INEC), nos indica que hay un déficit de vivienda en la ciudad, que nos permite ver una situación un porcentaje de la población de la ciudad alquila algún lugar para habitar, mediante este estudio nos permite considerar la importancia de las personas que buscan u ofrecen viviendas en alquiler, en la cual se busca aprovechar los recursos y tendencias tecnológicas que están en el mercado, hoy por hoy, se cuenta con portales web para la búsqueda o publicación de viviendas de manera informativa sin mostrarnos una ubicación visual y exacta de lo que se está buscando. Así fue como surge la idea de la implementación de una aplicación para dispositivos móviles que cubra esta necesidad en el campo inmobiliario.

El presente trabajo de titulación, se estructuro en 4 capítulos los cuales son: Capítulo I El problema, donde se realiza el planteamiento analizándolo, situación de conflicto nudos críticos, causas consecuencias, delimitaciones, formulación y evaluación del problema, definiendo para su resolución un objetivo general, varios específicos también los alcances, justificación e importancia y qué tipo de metodología se aplicara al proyecto. Capítulo II Marco Teórico Referencial, aquí se contemplan los antecedentes de estudios previos de la investigación, fundamentación teórica y legal, así mismo se puntualizan algunas consideraciones teóricas convenientes para el abordaje de la misma con una reflexión crítica, sus definiciones conceptuales y pregunta científica en base al planteamiento de la solución de la problemática. Capítulo III Propuesta tecnológica, se pauta la metodología que será empleada para el desarrollo e implementación del proyecto de titulación, así también el análisis de factibilidad, operacional, técnica, legal y económica. También se desarrolla la metodología escogida para la implementación del proyecto y se especifican los entregables del mismo y los criterios de validación. La aplicación para dispositivos móviles con Sistema operativo Android y un portal Web para su administración. Capítulo IV Criterios de aceptación del producto o servicio, donde se mide y decide la calidad y el rendimiento del proyecto en base a las conclusiones y recomendaciones obtenidas a lo largo del proyecto de titulación. 2

CAPÍTULO I EL PROBLEMA PLANTEAMIENTO DEL PROBLEMA Ubicación del problema en un contexto En la ciudad de Guayaquil, actualmente habitan personas que no poseen una vivienda propia y se ven en la necesidad de alquilar una, según los resultados de los datos del INEC encuesta nacional de alquileres ENALQUI 2013 en el Ecuador. Cuadro 1 Viviendas particulares arrendadas Viviendas particulares arrendadas en las ciudades de investigación, de tipo casa, departamento y cuarto en casa de inquilinato - ENALQUI 2013 Tipo de vivienda Número Porcentaje válido Casa o villa 5656 21,1 Departamento 16224 60,5 Cuarto en casa de inquilinato 3992 14,9 Otros* 964 3,6 Total 26836 100,0 Elaborado: Andrés Loor Miguel Morocho Fuente: INEC Año: 2013 3

Cuadro 2 Viviendas arrendadas por tipo Viviendas arrendadas, de tipo casa, departamento y cuarto, según años de ocupación. Frecuencia Porcentaje Porcentaje válido Porcentaje acumulado Menos de 1 año 30,96% 31,0 31,0 31,0 De 1 a 5 años 53,06% 53,1 53,1 84,0 De 6 a 10 años 11,06% 11,1 11,1 95,1 De 11 a 15 años 2,64% 2,6 2,6 97,7 De 16 a 20 años 1,32% 1,3 1,3 99,0 De 21 a 25 años 0,48%,5,5 99,5 De 26 a 30 años 0,28%,3,3 99,8 Más de 30 años 0,21%,2,2 100,0 No informa 0,00%,0,0 100,0 Total 00,00% 100,0 100,0 Elaborado: Andrés Loor Miguel Morocho Fuente: INEC Año: 2013 Cualquiera que sea el motivo por el cual estas personas prefieran alquilar una vivienda antes que comprarla, actualmente tienen las siguientes alternativas al momento de buscar un lugar donde vivir: Pueden pedir referencias a sus amigos (no tiene costo) Pueden comprar el periódico (tiene costo) Pueden consultar las agencias (tiene costo) Pueden salir y aventurarse a recorrer sector por sector, buscando en cada puerta un letrero que diga SE ALQUILA ESTA CASA (tiene costo) Usar una de las aplicaciones para este fin que actualmente existen en la web 4

Se realizó el análisis del aplicativo de dos empresas (Ver Anexo 1) que ofrecen el mismo servicio y se encontraron las siguientes diferencias. (Ver Gráfico 1) Gráfico 1 Preferencias de aplicaciones en el mercado 30 25 20 22 25 15 10 5 8 10 0 Sea de fácil uso No tenga costo Envié notificaciones automáticamente Realizar llamadas o enviar mensaje al oferente Elaborado: Andrés Loor Miguel Morocho Fuente: Encuesta Anexo 1 Por los motivos antes mencionados y aprovechando estos tiempos de crecimiento tecnológico en el país, según reportes del Instituto Nacional de Estadísticas y Censos INEC en los cuales indica que en una encuesta realizada del año 2013 en la ciudad de Guayaquil el 54% de la población posee un celular activado (Ver Gráfico 2) y el 54 % de la población de la ciudad hace uso de internet en sus dispositivos móviles o celulares (Ver Gráfico 3). 5

Gráfico 2 Celulares activos Cuenca Machala Guayaquil Quito Ambato 377.995 225.077 2.131.530 1.516.835 192.359 Personas Personas Personas Personas Personas Elaborado: Andrés Loor Miguel Morocho Fuente: INEC Gráfico 3 Uso de Internet Año: 2013 Cuenca Machala Guayaquil Quito Ambato 377.995 225.077 2.131.530 1.516.835 192.359 Personas Personas Personas Personas Personas Elaborado: Andrés Loor Miguel Morocho Fuente: INEC Año: 2013 También tenemos que el porcentaje de personas que tienen teléfono Inteligente Smartphone (Ver Gráfico 4) se han incrementado en los hogares ecuatorianos. 6

Gráfico 4 Personas que tienen Smartphone Elaborado: Andrés Loor Miguel Morocho Fuente: INEC Año: 2013 Además, según indica en su sitio Web la Agencia de Regulación y Control de las Telecomunicaciones Supertel hasta el año 2014 el 61% de los ecuatorianos usaba Internet (Ver Gráfico 5). Gráfico 5 Usuarios con internet móvil y fijo Elaborado: Andrés Loor Miguel Morocho Fuente: INEC Año: 2013 Basándonos en los reportes emitidos por estas dos agencias del gobierno y por los resultados de la encuesta que realizamos se ha pensado en desarrollar un aplicativo para móviles que posean sistema operativo Android, que a más de permitir ofrecer y solicitar viviendas en alquiler con una ubicación exacta, sugiera de manera visual en un mapa, las que estén cercanas a la ubicación actual de la persona interesada en alquilar. 7

Situación conflicto nudos críticos El problema surge por satisfacer la necesidad de las personas que buscan la independencia en sus vidas. Generalmente desde que se cumple la mayoría de edad, la juventud se interesa mucho en empezar a tomar sus propias decisiones; decisiones que involucran una carrera, una pareja, o simplemente, alejarse de sus padres. Por otro lado, si ya eres una persona adulta y realizada, lo que te ha permitido tener una casa amplia con varios departamentos para alquilarlos y ampliar tus entradas de dinero, también tienes la necesidad que las demás personas encuentren y elijan tu casa como un lugar para vivir. Causas y consecuencias del problema Como causa fundamental es el crecimiento y desarrollo desmesurado de nuestra urbe porteña Guayaquil y con tasas de ascensos en la población que conllevan al asentamiento de invasiones y al alquiler de viviendas por parte de sus habitantes, por tener un déficit habitacional. Como consecuencia esta la necesidad de encontrar un lugar donde vivir que en la actualidad se lo realiza por referencias a sus amigos, anuncios en los periódicos locales la cual llega a generar costo y tiempo. Delimitación del problema Campo: Tecnología móvil Área: Desarrollo de aplicaciones Aspecto: Ingreso y Consulta de información Tema: Utilización de un aplicativo móvil en la plataforma Android, la cual se publicará y consultará información de las viviendas en alquiler que beneficiará a todas las personas que utilicen el servicio dentro de la ciudad de Guayaquil. 8

Formulación del problema Cómo una aplicación móvil de búsqueda de viviendas en alquiler podrá beneficiar a las personas y al sector inmobiliario dentro de la ciudad de Guayaquil? Evaluación del problema Delimitado: Podemos contar con una gran cantidad de usos a futuro sobre la manipulación de registros en dispositivos móviles, pero en nuestro caso la utilizaremos para la creación del Buscador de Viviendas en Alquiler y en cuanto a los dispositivos a usar trabajaremos con simuladores de marcas reconocidas Samsung, LG para la implementación de la aplicación. Claro: Por medio de este documento va ser fácil entender e implementar nuevos proyectos que puedan valerse de las bases de este desarrollo, ya que vamos a utilizar varias tecnologías como es programación J2Me, librería grafica características para usar Layouts, ComboBox, TablePanel. Evidente: Los resultados del estudio podrán ser visibles a lo largo del documento, se utilizarán cuadros estadísticos cuando sea relevante y se documentarán las demostraciones prácticas para facilitar la comprensión. Concreto: El usuario va a poder publicar y acceder a la información de las viviendas en alquiler desde su celular en menos tiempo y en línea. Relevante: Porque el uso que se le dé a la aplicación móvil hará que el sector inmobiliario pueda mejorar sus retos y oportunidades con el fin de crear un impacto rentable. Original: Este tema de tesis es novedoso porque brindamos la oportunidad a las personas de manipular la información según sea su conveniencia desde un 9

dispositivo móvil. La funcionalidad va ser fácil e intuitivo de comprender para el usuario. Contextual: En esta era tecnológica es imprescindible aprovechar los beneficios que nos ofrece la misma, la cual está al alcance de nuestras manos y sin tener que salir a ningún lado, para publicar o buscar viviendas en alquiler. Factible: El actual proyecto es factible por los cambios tecnológicos actuales en los dispositivos móviles, se están usando nuevas características para la interface gráfica (Geolocalización) la cual va a permitir dar mayor flexibilidad al usuario, al no ser una aplicación muy pesada para su dispositivo móvil. Identifica los productos esperados: El resultado del estudio busca demostrar de manera objetiva las capacidades de la aplicación móvil, Contrastarlo con otras que compiten en el mismo mercado. Variables: Tenemos las siguientes variables: Variables Independientes: Desarrollo de una aplicación móvil de alquiler de viviendas. Variables Dependientes: Proceso de gestión de datos de viviendas en alquiler cercanas a un punto de geolocalización. OBJETIVOS OBJETIVO GENERAL Implementar un aplicativo para dispositivos móviles con sistema operativo Android y Geolocalización que permita ofrecer y solicitar servicio de alquiler de casas con ubicación exacta y a la vez sugiera las más cercanas a la ubicación actual en cualquier parte de Guayaquil. 10

OBJETIVOS ESPECÍFICOS Identificar los requerimientos y procesos, para publicar y buscar en internet una casa en alquiler. Analizar y diseñar los procesos para alquileres mediante metodología Scrum-Bam. Diseñar el repositorio de datos, para la publicación de alquiler de casas. Desarrollar una aplicación para usuarios Gmail, para publicar alquileres especificando criterios de búsqueda. Realizar pruebas de registro y búsqueda de alquiler utilizando la Play Store. ALCANCES DEL PROBLEMA El aplicativo permitirá publicar o solicitar alquileres de viviendas por medio de sus diferentes opciones: Opción - Registro de usuario En esta sección se presentan las pantallas y Acceso al aplicativo usando una cuenta de Gmail. Opción - Búsqueda de publicaciones de alquiler de viviendas Opción que permitirá realizar la búsqueda de viviendas en alquiler por medio de filtros: Sector, número de cuartos, número de baños, rango de precio, garaje o patio. Se desplegará una lista con todas las viviendas en alquiler que cumplan con el criterio especificado. Se habilitará una opción para crear la ruta hasta la localización de la vivienda seleccionada. 11

Opción para comunicarse con el oferente por medio de llamada, envió de mensaje de texto, correo electrónico. La cual permitirá publicar los datos de alquileres para que estén disponibles para los solicitantes. Opción - Mantenimiento de la publicación del alquiler de vivienda La siguiente opción permitirá actualizar los datos de alquiler de vivienda que el usuario público en la aplicación móvil. Opción - Descarga de datos y ubicación de alquileres en el dispositivo Esta opción permitirá actualizar y mostrar la información de las ubicaciones de alquileres en el dispositivo móvil por medio del GPS. Opción - Alertas automáticas En este módulo se enviarán notificaciones automáticas que van a llegar por correo electrónico cuando se ha publicado una propiedad que cumpla con los parámetros buscados del usuario, ósea por los filtros en la opción Búsqueda: Sector, número de cuartos, número de baños, rango de precio, garaje o patio. Opción - Administración WEB Este módulo permitirá a los administradores acceder desde una página web, logearse por medio de su clave y contraseña, el cual le permitirá gestionar la aplicación ya que contendrá vistas de reportaría y mantenimiento de publicaciones en donde se inactivará obedeciendo a una fecha de caducidad mayor a 3 meses. JUSTIFICACIÓN E IMPORTANCIA Se propone el desarrollo de una aplicación para dispositivos móviles con sistema operativo Android y Geolocalización, el cual llamaremos KLETA APP, cuyo fin es ayudará a las personas a publicar y buscar viviendas en alquiler. 12

El aplicativo permitirá visualizar las viviendas en alquiler, además según la posición actual del interesado sugiere viviendas en alquiler que estén cercanas a él con el GPS. Se cuenta también con una base de datos para almacenar toda la información, la cual se encontrará configurada en un Servidor Web al que se accede por medio de un Web Services. Las viviendas en alquiler publicadas se presentan en el mapa donde el usuario puede seleccionar la que más se ajuste a sus necesidades. También dispone de la opción de enviar un mensaje personalizado o realizar una llamada telefónica al dueño de la vivienda que publicó el alquiler. En caso de que se desee publicar un alquiler, puede realizarlo ubicando la localización de la vivienda en el mapa para posteriormente proceder a ingresar los datos, tales como nombre de contacto, teléfono, correo electrónico, el sector, imágenes de la vivienda, número de cuartos, baños, si tiene o no garaje, patio, costo del alquiler y una observación en la cual pueda indicar alguna otra información que crea que los demás interesados deben saber sobre la vivienda. KLETA APP, es una aplicación móvil que permitirá a las personas encontrar una vivienda a donde vivir. METODOLOGÍA DEL PROYECTO: Para gestionar cada fase del proyecto se dispuso de la metodología Ágil de Desarrollo de Software llamada Scrum para de esta forma alcanzar los objetivos propuestos y llegaremos a tener un excelente producto. Esta metodología permite trabajar a un grupo de desarrolladores de sistemas de manera colaborativa para poder obtener un mejor resultado y minimizar los riesgos de algún proyecto. Además el cliente puede realizar la priorización de las actividades y recibir parcialmente avances del sistema (producto). 13

Participantes: Product Owner: El product owner escribe buenas historias de usuarios y decide que construir y que no y fija los criterios de aceptación. Scrum Master: Es el facilitador de un equipo de desarrollo ágil, Es una metodología que permite auto-organizarse equipo de trabajo y lidera las reuniones y ayuda al equipo para cumplir el objetivo del Sprint. Scrum Team: Integrantes que crean una forma profunda de camaradería para el desarrollo y cumplimiento que les asigna el Product Owner. Cliente: Es quien recibe el requerimiento final del producto y así influir en el procedimiento, entregando sus comentarios del desarrollo. 14

CAPÍTULO II MARCO TEÓRICO ANTECEDENTES DEL ESTUDIO En nuestra urbe porteña Guayaquil y Ecuador en general habitan personas que carecen de una vivienda y optan o se ven en la necesidad de alquilar una casa, departamento, villa o simplemente vivir con sus padres, algún familiar o conocido que les brinde un techo en donde residir temporal o permanentemente, en Guayaquil, una ciudad con más de dos millones de habitantes, la escasez de vivienda representa un problema crítico que provoca el hacinamiento familiar para muchos ciudadanos. En la actualidad habitan muchas personas que no poseen una vivienda propia y se ven en la necesidad de alquilar, ya sea para residir con sus familias o tener su propia independencia cualquiera que sea el motivo, por lo general solicitan información a conocidos, familiares de lugares en donde están alquilando una vivienda o simplemente van a recorrer los sectores en donde están interesados alquilar una vivienda. Hoy en día las tendencias en el desarrollo de aplicaciones móviles están dadas por Android estas aplicaciones desarrolladas para dispositivos móviles optan por formas mucho más simples, colores planos y el aprovechamiento de las pantalla táctil de los dispositivos móviles, en algunos casos dirigidos a un público muy específico con necesidades muy concretas. Con la creciente evolución tecnológica de dispositivos móviles en esta última década todas estas se pueden asemejar más a modas y usos, por ejemplo, el auge los servicios de mensajería instantánea, video-chat o las aplicaciones que integran geolocalización hasta aplicaciones con realidad aumentada. 15

FUNDAMENTACIÓN TEÓRICA En el presente trabajo de titulación se aplican diversos conceptos que se detallan a continuación. El gran libro de Android En un estudio del libro de (Girones, 2012), habla sobre los avances de los teléfonos móviles que están cambiando a nuestra sociedad. Así también es una muy buena guía para internarse a programar en Android ya que en libro se presentan ejemplos sencillos a lo largo de los capítulos, modelos para incluir geolocalización, multimedia, servicios web entre otros temas, así también como poder publicar en la Play Store en caso de publicar una aplicación. También nos recomienda sobre el tema de actualizaciones que es uno de los elementos diferenciales de Android con respecto al resto de sistemas operativos móviles en la cual los usuarios finales terminan valorándolo. En los últimos años, los teléfonos móviles están transformando la forma en que las personas se comunican. Los nuevos terminales ofrecen unas capacidades similares a las de un ordenador personal. Un teléfono móvil siempre está en el bolsillo del usuario, esto le convierte en un nuevo ordenador personal del XXI. Android es la plataforma libre para el desarrollo de aplicaciones móviles creada por Google. En la actualidad se ha convertido en la plataforma líder frente a otras como iphone o Windows pone. Las aplicaciones Android están ampliando su rango de influencia de nuevos dispositivos tales como tabletas, net-books o Google TV. (Girones, 2012) 16

Desarrollo Web para dispositivos móviles En el libro reciente (Luna, 2016), la Geolocalización se refiere al posicionamiento con el que se define la localización de un objeto en un sistema de coordenadas. Los teléfonos móviles, computadoras y tablets acceden a la web a través de tecnologías 4G o 3G en la cual permite triangular una ubicación mucho más precisa de las coordenadas, lo cual ayuda a obtener un mejor resultado. Los navegadores web actualmente incluyen una función de geolocalización, lo cual nos ayuda a obtener las coordenadas de la posición en la que se encuentra la estación de trabajo o equipo. Dentro de la visión que le da el autor del libro, está el creciente cambio del panorama móvil con la reaparición en el ámbito comercial con un diferente formato y con las Apps Stores o tiendas de aplicaciones la cual amplia mercados en las empresas desarrolladoras de software o a desarrolladores independientes el cual pueden tener otro ingreso adicional. En el libro también nos ayuda con algo de introducción de historia sobre los sistemas operativos Windows pone, RIM, Android entre otros sistemas operativos como para resumir nos enfocaremos en Android el cual en la actualidad es propiedad de Google y se encuentra en su versión 4.4 Kit Kat destaca algunas buenas prácticas en el mundo del desarrollo como Responsive Web Design el cual se trata de un mecanismo que permite crear un solo sitio web que se muestra adaptado a la plataforma desde donde accedemos. Aun así, no siempre es conveniente aplicar esta técnica, debido a una cuestión de performance. (Luna, 2016). 17

Android Es un sistema operativo basado en el núcleo Linux. Fue diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes, Tablet o teléfonos, también para Smart watches, televisores. Inicialmente fue desarrollado por Android Inc. (Guevara Aulestia, 20113) Android Studio Es un entorno de desarrollo para que sea utilizado por cualquier programador, que trabaja con un JDK que nos ayuda a mejorar el entorno de desarrollo Android; como lo cita (Govender, 2014) en la página oficial de Android Studio lo siguiente: Android Studio se basa en IntelliJ IDEA, un IDE que también nos ofrece un buen entorno de desarrollo Android. Base de datos "Un sistema de base de datos es básicamente un sistema computarizado para llevar registros. Es posible considerar a la propia base de datos como una especie de armario electrónico para archivar: es decir, un depósito o contenedor de una colección de archivos de datos computarizados."(c.j.date, 2001) Una base de datos o también conocida como DB por, es un conjunto de tablas, las mismas que almacenan información en forma de registros. Una base de datos está compuesta por una o varias tablas, las cuales pueden estar relacionadas entre sí. Entre las características principales de una base de datos tenemos las siguientes: Integridad de los datos. Seguridad a accesos y registro de auditoría. 18

Redundancia mínima. Independencia lógica y física de los datos. Respaldo y recuperación de los datos. Consultas complejas optimizadas. Acceso concurrente de múltiples usuarios De esta manera, una base de datos posee el siguiente orden jerárquico: Tablas Registros Campos Lenguaje SQL SCRUM Es un método de gestión de proyectos ha existido y usado con éxito durante los últimos años y es frecuentemente usado en proyecto con un rápido cambio en sus requisitos. El desarrollo de software se realiza mediante iteraciones, denominadas Sprint, con una duración de 30 días. El resultado de cada Sprint es un incremento ejecutable que se muestra al cliente. La segunda característica importante son las reuniones a lo largo del proyecto, entre ellas destaca la reunión diaria de 15 minutos del equipo de desarrollo para coordinación e integración. (Rojas, 2008) Es el resultado de combinar prácticas de Scrum con Kanban. Sería más ortodoxo decir que es la combinación de Scrum (puro) con Kanban pero la realidad es que no son muchos casos en los que organizaciones o equipos aplican Scrum al pie de la letra y no es porque no exista voluntad de hacerlo, sino porque la realidad de muchos proyectos lo impide. (Rojas, 2008) La cita anterior menciona como son realizadas las actividades en el desarrollo en la la metodología SCRUM para la entrega de sofwtare funcional al cliente. Los beneficios de SCRUM son: Beneficios de la metodología Scrum-Bam 19

Permite conocer en estado real el proceso de ejecución del proyecto que introduce soluciones oportunas ante eventuales errores permitiendo un mayor análisis de tareas realizadas con mejora la interacción entre los miembros de un grupo en las reuniones periódicas aumentando la productividad de proyectos complejos o multiproyectos favoreciendo una mayor exigencia del proyecto y adaptabilidad de las herramientas. FUNDAMENTACIÓN LEGAL Ley de comercio electrónico, firmas electrónicas y mensajes de datos. Artículo. 1.- Objeto de la Ley.- Esta Ley regula los mensajes de datos, la firma electrónica, Los servicios de certificación, la contratación electrónica y telemática, la prestación de Servicios electrónicos, a través de redes de información, incluido el comercio Electrónico y la protección a los usuarios de estos sistemas. Artículo. 4.- Propiedad Intelectual. - Los mensajes de datos estarán sometidos a las leyes, Reglamentos y acuerdos internacionales relativos a la propiedad intelectual. Artículo 5.- Confidencialidad y reserva. - Se establecen los principios de confidencialidad y reserva para los mensajes de datos, cualquiera sea su forma, medio o intención. Toda violación a estos principios, principalmente aquellas referidas a la intrusión electrónica, transferencia ilegal de mensajes de o violación del secreto profesional, será sancionada conforme a lo dispuesto en esta Ley y demás normas que rigen la materia. Artículo 9.-Protección de datos. - Para la elaboración, transferencia o utilización de bases de datos, obtenidas directa o indirectamente del uso o transmisión de mensajes de datos, se requerirá el consentimiento expreso del 20

titular de éstos, quien podrá seleccionar la información a compartirse con terceros. La recopilación y uso de datos personales responderá a los derechos de privacidad, intimidad y confidencialidad garantizados por la Constitución Política de la República y esta Ley, los cuales podrán ser utilizados o transferidos únicamente con autorización del titular u orden de autoridad competente. No será preciso el consentimiento para recopilar datos personales de fuentes accesibles al público, cuando se recojan para el ejercicio de las funciones propias de la administración pública, en el ámbito de su competencia, y cuando se refieran a personas vinculadas por una relación de negocios, laboral, administrativa o contractual y sean necesarios para el mantenimiento de las relaciones o para el cumplimiento del contrato. El consentimiento a que se refiere este artículo podrá ser revocado a criterio del titular de los datos; la revocatoria no tendrá en ningún caso efecto retroactivo. SECCIÓN OCTAVA Ciencia, tecnología, innovación y saberes ancestrales. Art. 385.- El sistema nacional de ciencia, tecnología, Innovación y saberes ancestrales, en el marco del respeto al ambiente, la naturaleza, la vida, las culturas y la soberanía, tendrá como finalidad: a) Generar, adaptar y difundir conocimientos científicos y tecnológicos. b) Desarrollar tecnologías e innovaciones que impulsen la producción nacional, eleven la eficiencia y productividad, mejoren la calidad de vida y contribuyan a la realización del buen vivir. 21

Art. 386.- El sistema comprenderá programas, políticas, recursos, acciones, e incorporará a instituciones del Estado, universidades y escuelas politécnicas, institutos de investigación públicos y privados, empresas públicas y privadas, organismos no gubernamentales y personas naturales o jurídicas, en tanto realizan actividades de investigación, desarrollo tecnológico, innovación El Estado, a través del organismo competente, coordinará el sistema, establecerá los objetivos y políticas, de conformidad con el Plan Nacional de Desarrollo, con la participación de los actores que lo conforman. Art. 71.- Principio de igualdad de oportunidades. -El principio de igualdad de oportunidades consiste en garantizar a todos los actores del Sistema de Educación Superior las mismas posibilidades en el acceso, permanencia, movilidad y egreso del sistema, sin discriminación de género, credo, orientación sexual, etnia, cultura, preferencia política, condición socioeconómica o discapacidad. Las instituciones que conforman el Sistema de Educación Superior propenderán por los medios a su alcance que, se cumpla en favor de los migrantes el principio de igualdad de oportunidades. Se promoverá dentro de las instituciones del Sistema de Educación Superior el acceso para personas con discapacidad bajo las condiciones de calidad, pertinencia y regulaciones contempladas en la presente Ley y su Reglamento. El Consejo de Educación Superior, velará por el cumplimiento de esta disposición. Ley derecho de autor y derecho conexos Art. 5. El derecho de autor nace y se protege por el solo hecho de la creación de la obra, independientemente de su mérito, destino o modo de expresión. Se protegen todas las obras, interpretaciones, ejecuciones, producciones o emisión radiofónica cualquiera sea el país de origen de la obra, la nacionalidad o el domicilio del autor o titular. Esta protección también se reconoce cualquiera que sea el lugar de publicación o divulgación. 22

El reconocimiento de los derechos de autor y de los derechos conexos no está sometido a registro, depósito, ni al cumplimiento de formalidad alguna. El derecho conexo nace de la necesidad de asegurar la protección de los derechos de los artistas, intérpretes o ejecutantes y de los productores de fonogramas. Art. 6. El derecho de autor es independiente, compatible y acumulable con: La propiedad y otros derechos que tengan por objeto la cosa material a la que esté incorporada la obra; Los derechos de propiedad industrial que puedan existir sobre la obra; y, Los otros derechos de propiedad intelectual reconocidos por la ley. Art. 10. El derecho de autor protege también la forma de expresión mediante la cual las ideas del autor son descritas, explicadas, ilustradas o incorporadas a las obras. No son objeto de protección: a. Las ideas contenidas en las obras, los procedimientos, métodos de operación o conceptos matemáticos en sí; los sistemas o el contenido ideológico o técnico de las obras científicas, ni su aprovechamiento industrial o comercial; y, b. Las disposiciones legales y reglamentarias, las resoluciones judiciales y los actos, acuerdos, deliberaciones y dictámenes de los organismos públicos, así como sus traducciones oficiales De los Programas de Ordenador Art. 28. Los programas de ordenador se consideran obras literarias y se protegen como tales. Dicha protección se otorga independientemente de que hayan sido incorporados en un ordenador y cualquiera sea la forma en que estén expresados, ya sea en forma legible por el hombre (código fuente) o en forma legible por máquina (código objeto), ya sean programas operativos y programas 23

aplicativos, incluyendo diagramas de flujo, planos, manuales de uso, y en general, aquellos elementos que conformen la estructura, secuencia y organización del programa. Art. 29. Es titular de un programa de ordenador, el productor, esto es la persona natural o jurídica que toma la iniciativa y responsabilidad de la realización de la obra. Se considerará titular, salvo prueba en contrario, a la persona cuyo nombre conste en la obra o sus copias de la forma usual. Dicho titular está además legitimado para ejercer en nombre propio los derechos morales sobre la obra, incluyendo la facultad para decidir sobre su divulgación. El productor tendrá el derecho exclusivo de realizar, autorizar o prohibir la realización de modificaciones o versiones sucesivas del programa, y de programas derivados del mismo. Las disposiciones del presente artículo podrán ser modificadas mediante acuerdo entre los autores y el productor. Art. 32. Las excepciones al derecho de autor establecidas en los artículos 30 y 31 son las únicas aplicables respecto a los programas de ordenador. Las normas contenidas en el presente Parágrafo se interpretarán de manera que su aplicación no perjudique la normal explotación de la obra o los intereses legítimos del titular de los derechos. De la infraestructura tecnológica. Art. 31. Para la implementación de programas con apoyo de las TICs es obligatorio contar con equipamiento que cumpla con especificaciones técnicas idóneas y que garantice el buen funcionamiento de los recursos informáticos. Estos equipos, al menos deben ser los siguientes: 24

a) Aquellos donde se alojan los programas virtuales y la plataforma de administración de los mismos (equipos de tipo servidor para almacenamiento); b) Aquellos recursos con los que el profesor actúa directamente ( software ), donde realiza las diferentes actividades que requiere un curso o asignatura; y, c) Aquellos que el centro de educación superior debe facilitar a los estudiantes para el acceso a la plataforma virtual (computadores con acceso a Internet). La institución debe disponer de una red que interconecte todos los equipos entre sí y éstos a Internet. Art. 33. La evaluación del aprendizaje es el proceso de valoración sistemático y continuo que permite obtener información de carácter cualitativo y cuantitativo, respecto del desempeño, avance, rendimiento, grado de cumplimiento y logro de los alumnos que cursen estudios en educación con apoyo de las TICs; Condiciones del Servicio de Google Play Para acceder a ciertos servicios de Google Play, puede que se te solicite proporcionar información sobre ti como tu nombre, dirección, y detalles de facturación. Las Políticas de Google explican cómo tratamos tus datos personales y protegemos tu privacidad al usar Google Play. Aceptas que la información que proporcionas a Google siempre será precisa, correcta y actualizada. Acceso no autorizado a cuentas. Debes mantener seguros tus detalles de usuario y no debes compartirlos con nadie más. No debes recopilar ni recoger cualquier dato personal de cualquier usuario de Google Play, incluidos los nombres de cuentas. 25

Cuentas inhabilitadas. Si Google inhabilita el acceso a tu cuenta, puede que no se te permita acceder a Google Play, a detalles de tu cuenta o a cualquier archivo o a otros Productos almacenados en tu cuenta. Productos gratuitos. Google puede permitirte descargar o usar Productos sin costo alguno. Cualquiera de los términos y condiciones que se aplican a los Productos comprados se aplicará a los Productos gratuitos, a excepción de los asuntos relacionados con pagos (por ejemplo, las disposiciones relacionadas con los reembolsos de estas Condiciones no se aplican a los Productos gratuitos). Google puede imponer limitaciones al acceso y uso que hagas de ciertos Productos gratuitos. Infracción de las Condiciones de la Licencia. Si infringes cualquiera de los términos y condiciones de las Condiciones, tus derechos bajo esta licencia terminarán inmediatamente y Google podrá cancelar tu acceso a Google Play Régimen Del Buen Vivir Inclusión Y Equidad Art. 343: El sistema nacional de educación tendrá como finalidad el desarrollo de capacidades y potencialidades individuales y colectivas de la población, que posibiliten el aprendizaje, la generación y utilización de conocimientos, técnicas, saberes, artes y cultura. El sistema tendrá como centro al sujeto que aprende, y funcionará de manera flexible y dinámica, incluyente, eficaz y eficiente. (Constitución de la República del Ecuador, 2008). Art. 344: El sistema nacional de educación comprenderá las instituciones, programas, políticas, recursos y actores del proceso educativo, así como acciones en los niveles de educación inicial, básica y bachillerato, y estará articulado con el sistema de educación superior. (Constitución de la República del Ecuador, 2008). 26

Preguntas Científica a Contestarse Cómo lograr que las personas puedan publicar y buscar en internet sus casas en alquiler? Cómo facilitar la búsqueda de casas en alquiler, desde y en cualquier parte de Guayaquil? Cómo agilitar la comunicación entre el ofertante y el solicitante de la casa en alquiler, logrando así que la transacción se lleve a cabo? Definiciones Conceptuales Android versión 4.4.2 Kit Kat.- Una nueva actualización en la que encontrábamos mejoras estéticas, un cambio en el sistema de escritorios, importante, pero que por dentro lleva bastantes novedades que poco a poco se fueron desvelando y haciendo de Android 4.4 Kit Kat una versión mucho más interesante (Rubin, 2003) Api de Google Maps Versión Experimental.- Las API de Google Places ofrecen acceso ilimitado a la base de datos mundial de Google para su aplicación, con más de cien millones de fichas de empresas y lugares de interés. (Svennerberg, 2010) GPS (Sistema de Posicionamiento Global).- Es un sistema que permite determinar en toda la Tierra la posición de un objeto (una persona, un vehículo) con una precisión de hasta centímetros (si se utiliza GPS diferencial), aunque lo habitual son unos pocos metros de precisión (Letham, 2001) Java Versión 7.0.- La plataforma java se distingue por el hecho de que solo se compone de una parte de software que se ejecuta en numerosas plataformas físicas y diferentes sistemas operativos (Thierry Groussard, 2014) Web Services (WSDL) Versión 2.0.-Es un protocolo basado en XML que describe los accesos al Web Service. Podríamos decir que es el manual de operación del mismo, porque nos indica cuáles son las interfaces que provee el 27

Servicio web y los tipos de datos necesarios para su utilización (James Snell, 2001) SQLite Versión 3.10.2.- Es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña (~275 kib) 2biblioteca escrita en C. SQLite es un proyecto de dominio público, En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo BLOB(Newman, 2005) SQL Server 2012 Estándar Edition.-SQL Server es un sistema de gestión de bases de datos relacionales (RDBMS) de Microsoft que está diseñado para el entorno empresarial. SQL Server se ejecuta en T-SQL (Transact -SQL), un conjunto de extensiones de programación de Sybase y Microsoft que añaden varias características a SQL estándar, incluyendo control de transacciones, excepción y manejo de errores, procesamiento fila, así como variables declaradas. (Gabillaud, 2013) Framework Symfony.- Es un completo framework diseñado para optimizar el desarrollo de las aplicaciones web basado en el patrón Modelo Vista Controlador. Para empezar, separa la lógica de negocio, la lógica de servidor y la presentación de la aplicación web (Hernández, 2015) PHP.- Es un lenguaje de programación muy potente que, junto con html, permite crear sitios web dinámicos. Php se instala en el servidor y funciona con versiones de Apache, Microsoft IIs, Netscape Enterprise Server y otros. La forma de usar php es insertando código php dentro del código html de un sitio web (Ullman, 2009) Android Studio.- Es un entorno de desarrollo integrado (IDE), basado en IntelliJ IDEA de la compañía JetBrains, que proporciona varias mejoras con respecto al plugin ADT (Android Developer Tools) para Eclipse. Android Studio utiliza una licencia de software libre Apache 2.0, está programado en Java y es multiplataforma (Zapata, 2013) Geolocalización.- Es la capacidad para obtener la ubicación geográfica real de un objeto, como un radar, un teléfono móvil o un ordenador conectado a Internet. 28

La geolocalización puede referirse a la consulta de la ubicación, o bien para la consulta real de la ubicación. El término geolocalización está estrechamente relacionado con el uso de sistemas de posicionamiento (Gersón Beltrán, 2012) Internet Information Services (IIS).- Es un servidor web y un conjunto de servicios para el sistema operativo Microsoft Windows. Originalmente era parte del Option Pack para Windows NT. Luego fue integrado en otros sistemas operativos de Microsoft destinados a ofrecer servicios, como Windows 2000 o Windows Server 2003. Windows XP Profesional incluye una versión limitada de IIS. Los servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS(Team, 2009) Metodología Scrumban.-Se origina de la combinación de principios de los métodos ágiles de gestión de proyectos en la actualidad: Scrum y Kanban. En el principio pueden parecer iguales, estas dos estrategias de gestión tienen diferencias al ejecutar el proyecto. Es por eso el plan Scrumban se encarga de fusionar aquellos elementos que resultan complementarios. Un ejemplo, una de las combinaciones más usadas en el plano empresarial, es la de gestionar con el método Scrum las tareas previstas y con el método Kanban planificar los errores (Alonso Álvarez García, 2012) Microsoft Visual Studio 2013.- Es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas operativos Windows. Soporta múltiples lenguajes de programación tales como C++, C#, Visual Basic.NET, F#, Java, Python, Ruby, PHP; al igual que entornos de desarrollo web como ASP.NET MVC, Django, etc., a lo cual sumarle las nuevas capacidades online bajo Windows Azure en forma del editor Monaco. Visual Studio permite a los desarrolladores crear sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma.net (a partir de la versión.net 2002). Así se pueden crear aplicaciones que se comuniquen entre estaciones de trabajo, páginas web, dispositivos móviles, dispositivos embebidos, consolas, etc. (Guérin, ASP.NET en C# con Visual Studio 2013, 2014) 29

Visual Studio Online.- Es un entorno que integra Team System Foundation, el motor de aplicación de Visual Studio. Esta herramienta esta, en lo sucesivo, disponible gratuitamente para aquellos equipos de hasta cinco personas y ofrece una solución de gestión de código fuente perfectamente integrada en los procesos de desarrollo. En la primera ejecución de Visual Studio 2013, se sugiere al usuario crear o informar una cuenta de Visual Studio Online. La puesta en marcha, que no toma más que unos pocos instantes, requiere una dirección de correo electrónico valida. SDK.- son las siglas de Software Development Kit, lo que traduciéndolo a nuestro idioma sería un Kit de Desarrollo de Software. Mediante éste kit podemos desarrollar aplicaciones y ejecutar un emulador de la versión de Android (o de lo que sea). En Android todas las aplicaciones se ejecutan en Java (Ramnath, 2011) 30

CAPÍTULO III PROPUESTA TECNOLÓGICA Análisis de factibilidad La aplicación móvil se basa en la visualización de viviendas en los mapas de Google Maps, a partir de una base de datos en producción; que utiliza servicios de API s de Google Maps; el mismo que se declara como una aplicación factible. En el proceso del desarrollo de la aplicación para demostrar la funcionalidad que posee la geolocalización, se cuenta con la información recopilada de las fuentes de información que en este caso han sido el sitio web de Google y el de Microsoft. Factibilidad operacional El desarrollo de la aplicación para dispositivos móviles con sistema operativo Android, el cual llamaremos KALETA APP, tiene como fin ayudar a las personas a publicar y buscar viviendas en alquiler. Los solicitantes y oferentes para poder ingresar a la aplicación KLETA APP deben tener una cuenta activa de Gmail también deben de contar con un dispositivo móvil, mínimo con un plan de datos básico de cualquier operadora en el mercado ecuatoriana (Claro, Movistar, CNT, Tuenti) o una conexión a Wireless y tener habilitado la opción de GPS en el móvil. Sera de fácil uso para publicar viviendas en alquiler y así también la persona que lo solicita puesto que es una aplicación intuitiva y gráficamente amigable. 31

Factibilidad técnica Para el desarrollo de la aplicación móvil se requerirá las siguientes tecnologías Informáticas Cuadro 3 Tecnologías informáticas del proyecto Tecnología Android versión 4.4.2 KitKat Api de Google Maps Versión Experimental v=2 GPS (Sistema de Posicionamiento Global) Java Versión 7.0 Web Services (WSDL) Versión 2.0 SQLite Versión 3.10.2 Finalidad Sistema Operativo del dispositivo Móvil. Para georeferenciar las direcciones de las viviendas en alquiler Para capturar las coordenadas (Latitud, Longitud) de su posición actual Lenguaje de programación para desarrollar cada característica y funcionalidad del Aplicativo. Como intermediario para registrar y consultar los datos de alquileres desde el dispositivo móvil hacia la base central y viceversa. Base de datos móvil usada como repositorio temporal de la información de alquileres. 32

SQL Server 2012 Estándar Edition PHP Base de Datos Central que sirve como repositorio principal de toda la información generada desde el aplicativo. Lenguaje de Programación que se desarrollara la página web para la administración de la aplicación. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto La aplicación móvil KLETA APP para los solicitantes y ofertantes de viviendas en alquiler de Guayaquil deberán tener un Smartphone con sistema operativo Android desde su versión 4.4 kitkat hasta 5.1 Lollipop con un plan de datos básico que actualmente nos brinda las operadoras en el mercado ecuatoriana (Claro, Movistar, CNT, Tuenti). Factibilidad legal El desarrollo de la aplicación ya sean librerías de programación, bases de datos, elementos gráficos, etc. son Open Source. En este caso el servidor y base de datos SQL Server se tiene el licenciamiento de Microsoft de dichos recursos que utilizamos en la implementación. El desarrollo total del sistema se ampara bajo las leyes de desarrollo de Software Libre Open Source debido a que todas las herramientas utilizadas para su desarrollo se basan en dicha ley. La palabra "libre" en nuestro nombre no se refiere al precio; se refiere a la libertad. Primero, a la libertad de copiar y redistribuir un programa a tus vecinos, 33

para que ellos al igual que tú, lo puedan usar también. Segundo, a la libertad de cambiar un programa, así podrás controlarlo en lugar que el programa te controle a ti; para esto, el código fuente tiene que estar disponible para ti. En referencia a la utilización de Código Libre, tenemos en el Ecuador la siguiente ley: Decreto NO 1014 firmado el 10 de abril del 2008 por el Presidente del Ecuador Rafael Correa Delgado decreta: Art1. Establecer como política pública para las Entidades de la Administración Pública Central la utilización de Software Libre en sus sistemas y equipamientos informáticos. Art2. Se entiende por Software Libre, a los programas de computación que se pueden utilizar y distribuir sin restricción alguna, que permitan su acceso a los códigos fuentes y que sus aplicaciones puedan ser mejoradas. Estos programas de computación tienen las siguientes libertades: a) Utilización del programa con cualquier propósito de uso común b) Distribución de copias sin restricción alguna. c) Estudio y modificación del programa (Requisito: código fuente disponible) d) Publicación del programa mejorado (Requisito: código fuente disponible). Factibilidad económica La instalación y uso de la aplicación no va a tener precio alguno para la persona que quiera hacer uso de este, ya que teniendo un plan de datos o conexión a Wireless lo podrá descargar desde la tienda de Google (Play Store) de manera gratuita. 34

Tiempo y costo de desarrollo El tiempo de desarrollo del aplicativo será de dos meses y se estableció los siguientes costos: Costo de personal En esta sección se va a especificar los costes asignados a personal del desarrollo de la aplicación. Las dos personas involucradas en la realización de esta aplicación serán los que asuman todos los roles especificados a continuación para la realización de las diversas tareas: Cuadro 4 Detalles del costo del proyecto Tarea Rol Costo Número Costo de Horas Total Elección de tecnologías Desarrollador $ 0.00 8 $ 0.00 Diseño de BBDD Desarrollador $ 0.00 12 $ 0.00 Implementación del $ 0.00 18 $ 0.00 Desarrollador servidor Implementación de la $ 0.00 272 $ 0.00 Desarrollador aplicación Android Pruebas y correcciones Desarrollador $ 0.00 20 $ 0.00 Revisión Desarrollador $ 0.00 6 $ 0.00 TOTAL 336 $ 0.00 Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 35

Costo de hardware En esta sección se mostrarán los gastos de la aplicación imputables a elementos hardware imprescindible para la realización del mismo, como son el ordenador portátil utilizado para el desarrollo y el Smartphone Android usado principalmente para las pruebas del sistema: Cuadro 5 Detalles del costo del proyecto Hardware Concepto Costo % Uso dedicado Dedicació n Período depreciació Costo Imputable proyecto (meses) n (meses) DELL Inspiron 1200 100 2 60 $ 40 15 5000 Series Samsung 350 100 2 60 $ 11.66 Galaxy S4 (SGH-I337) TOTAL $ 51.65 Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Fórmula de amortización: Figura 1 Formula de amortización Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 36

Costos de Software En esta sección se mostrarán los gastos debidos a licencias de software necesario para el desarrollo de la aplicación. Se ha desarrollado sobre Windows 10 con licencia original. Cuadro 6 Detalles del costo del proyecto Software Concepto Costo Licenciamiento de Android Studio $ 0.00 Licenciamiento de PHP $ 0.00 Licenciamiento de SQL Server 2012 Estándar Edition Prueba (180 días) Hosting y alojamiento web: (anual) PHP $ 0.00 $ 60.00 Publicación en Play Store (anual) $ 25.00 Servidor Virtual Privado (anual) $ 500.00 Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto TOTAL $ 585.00 El coste total del proyecto es de $ 636.65 (seiscientos treinta y seis dólares con 65/100). 37

Etapas de la metodología del proyecto Metodología utilizada Para la gestión del desarrollo de cada fase del proyecto se eligió de la metodología Ágil de desarrollo de Software llamada Scrum-Bam esta forma nos permitirá alcanzar los objetivos propuestos y llegar a tener un producto de calidad. Se desarrolló los siguientes puntos: Identificación de requerimientos Ámbito del sistema Las viviendas en alquiler publicadas que se presenten en el mapa donde el usuario podrá seleccionar la que más se ajuste a sus necesidades. También dispondrá de la opción de enviar un mensaje personalizado o realizar una llamada telefónica al dueño de la vivienda que publicó el alquiler. En caso de que se desee publicar un alquiler, puede realizarlo ubicando la localización de la vivienda en el mapa para posteriormente proceder a ingresar los datos, tales como nombre de contacto, teléfono, correo electrónico, el sector, imágenes de la vivienda, número de cuartos, baños, si tiene o no garaje, patio, costo del alquiler y una observación en la cual pueda indicar alguna otra información que crea que los demás interesados deben saber sobre la vivienda. Durante la investigación hemos seleccionado las variables que son parte fundamental del proyecto a continuación hablaremos de cada una de ellas: 38

Coordenadas de Puntos de GPS. Para localizar un punto sobre la superficie de la Tierra y trasladarlo en un mapa, es necesario conocer primero las coordenadas donde se encuentra ubicado ese punto, es decir, la latitud y la longitud. Conocer el valor de las coordenadas es imprescindible para poder ubicar la posición de la vivienda. Información recopilada en Base de Datos. Los valores conocidos como latitud, longitud y de más información que será enviada por la aplicación y serán recibidos y almacenados en tiempo real en el servidor de la base de datos SQL Server. Herramienta Web para la administración de las publicaciones con la cual se interpretará la información de las coordenadas y otros parámetros almacenados en la base de datos para la manipulación y visualización en los mapas de Google Maps. Lista de requerimientos Contiene las funcionalidades del producto las funciones están listadas según las prioridades del negocio. 39

Cuadro 7 Requerimientos del proyecto Id Requerimiento Descripción Pr. Es. Srinpt R01 R02 R03 R04 R05 R06 R07 R08 R09 R10 Preparación Servidor Publico Implementación de Servicio Web Arranque del Sistema Registro de Usuario Ingreso al Sistema Conexión Google Maps Api con Android Pantalla de Mapa Geolocalización Visual en Mapa Descarga de Datos Búsqueda de Datos Preparación de Ambiente del Servidor y creación de base de datos para Servicio Web 10 6 1 Implementación y Publicación de Servicio Web 10 36 1 Inicialización del sistema, preparando el ingreso 9 2 2 Registro de datos personales para saber que es un usuario 9 12 2 real Ingresar credenciales (usuario y clave) para tener acceso al sistema 8 6 2 Investigación e Implementación Google Maps 8 24 2 Api en Android. Visualización de Google Maps 7 2 2 Mostrar punto de Geolocalización en mapa, vía 7 4 2 GPS Descarga de Datos desde el Servicio Web, Presentación de Datos de Alquiler en Mapa, con coordenadas exactas. 6 12 3 Consulta de datos mediante filtros, como número de habitaciones, baños, garaje, 5 15 3 patio. 40

R11 Resultado de Búsqueda Presentar un listado con los datos obtenidos en la búsqueda 5 15 3 Detalle de Consulta de datos de la R12 Vivienda en vivienda en alquiler que se 4 12 4 Alquiler selecciono Creación de Ruta en Mapa, R13 Ruta en Mapa desde mi ubicación hasta la localización del inmueble 4 3 4 deseado. R14 Llamada Telefónica al oferente del alquiler Proceso de marcación al número telefónico del oferente de la casa. 3 12 4 Envío de R15 mensaje al oferente del Proceso de envío de mensaje al oferente 3 15 5 alquiler R16 Mensajes Recibidos Consultas los mensajes que se han recibido sobre las publicaciones. 2 12 5 R17 Publicación de Alquiler Registrar los datos de la casa en alquiler 2 15 6 R18 Subir Datos Subir los datos al Servicio Web 1 12 6 Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 41

Análisis Historias de usuarios Representan lo que las personas necesitarán hacer para registrar o consultar información de alquileres. A continuación, se presentan cada una de las Historias de Usuarios del proyecto desde el cuadro 8 hasta el cuadro 20: Cuadro 8 Historia de Usuario del Proyecto - HU001 Código Nombre Actor Descripción HU001 Conexión a Servicio Web en Servidor Público Usuario Final Sprint 1 Se necesitará de un Servicio Web que conectara entre la base de datos y la app para luego registrar o consultar los datos de las casas en alquiler. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 9 Historia de Usuario del Proyecto - HU002 Código Nombre Actor Abrir el Sistema Usuario Final HU002 Sprint 2 Descripción Se requerirá abrir la aplicación para utilizar cada una de las opciones que se indicaron en el alcance. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 42

Cuadro 10 Historia de Usuario del Proyecto - HU003 Código Nombre Actor Iniciar Sesión Usuario Final HU003 Sprint 2 Descripción Se necesitará acceder a la aplicación con mis credenciales para utilizar sus funciones. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 11 Historia de Usuario del Proyecto - HU004 Código Nombre Actor Mapa de Google Maps Usuario Final HU004 Sprint 2 Descripción Se requerirá de Google Maps para publicar las casas en alquiler en la dirección correcta. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 12 Historia de Usuario del Proyecto - HU005 Código Nombre Actor Ubicación en el mapa Usuario Final HU005 Sprint 2 Descripción Se requerirá ver mi posición actual en el mapa. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 43

Cuadro 13 Historia de Usuario del Proyecto - HU006 Código Nombre Actor Descarga de Datos Usuario Final HU006 Sprint 3 Descripción Se requerirá descargar los datos de alquiler de viviendas de todos los ofertantes para realizar una búsqueda actualizada. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 14 Historia de Usuario del Proyecto - HU007 Código Nombre Actor HU007HU008 Consultar Datos con Filtro Cuartos Usuario Final Sprint 3 Descripción Se requerirá ver las casas en alquiler con un número específico de habitaciones. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 15 Historia de Usuario del Proyecto - HU008 Código Nombre Actor Detalle de vivienda en alquiler Usuario Final HU08 Sprint 4 Descripción Se requerirá ver el detalle de una vivienda en alquiler seleccionada. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 44

Cuadro 16 Historia de Usuario del Proyecto - HU009 Código Nombre Actor HU009 Ruta hasta el punto seleccionado Usuario Final Sprint 4 Descripción Se necesitará saber que ruta debo tomar para llegar desde mi ubicación hasta la vivienda seleccionada. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 17 Historia de Usuario del Proyecto - HU010 Código Nombre Actor Llamada al postulante Usuario Final HU010 Sprint 4 Descripción Se requerirá la posibilidad de realizar una llamada al oferente de la vivienda en alquiler. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 18 Historia de Usuario del Proyecto - HU011 Código Nombre Actor Mensaje al postulante Usuario Final HU011 Sprint 5 Descripción Se requerirá la posibilidad de enviar un mensaje al oferente de la vivienda en alquiler. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 45

Cuadro 19 Historia de Usuario del Proyecto - HU012 Código Nombre Actor Publicar casa en alquiler Usuario Final HU012 Sprint 6 Descripción Se necesitará ofrecer una vivienda en alquiler. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 20 Historia de Usuario del Proyecto - HU013 Código Nombre Actor Subida de Datos Usuario Final HU013 Sprint 6 Descripción Se necesitará subir los datos de alquiler pendientes para ponerlos a disposición de los solicitantes. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 46

Diseño Arquitectura Gráfico 6 Arquitectura del proyecto Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 47

Modelo Entidad Relación Gráfico 7 Modelo entidad relación del proyecto Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 48

Configuración del Web Services El Web Services será publicado sobre un servidor Windows Server 2012 que tenga instalado el Internet Information Service 6.0 Configuración de la Base de datos La base de datos que se usará para el proyecto es SQL Server 2012 que estará instalada sobre un servidor Windows Server 2012. Blacklog SCRUM Para llevar un control eficaz de las tareas del proyecto se usa una plataforma web llamada Visual Studio Online que permite ver las actividades que se tienen pendientes, en proceso y las finalizadas (Ver Gráfico 8). 49

Gráfico 8 Metodología Scrum Bam Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 50

Gráfico 9 Sprint del proyecto Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 51

Pruebas Criterios de Aceptación Permiten establecer que el producto desarrollado en base a la historia de usuario relacionado este acuerdo con el resultado. A continuación, se detalla cada uno de los Criterios de Aceptación para cada historia de usuario desde el cuadro 20 hasta el cuadro 32: Cuadro 21 Historia de Usuario del Proyecto - HU001 HU Condición Resultado HU001 Cuando se establece la conexión al Servicio Web El dispositivo móvil si tiene una conexión a internet mediante datos o wifi se visualizara la pantalla de inicio de sesión. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 22 Historia de Usuario del Proyecto - HU002 HU Condición Resultado HU002 Cuando se ejecuta la aplicación Se valida la conexión a internet de manera continua, en caso de pérdida de conexión se presenta la pantalla de inicio de sesión. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Si el dispositivo móvil no tiene habilitado el GPS, se muestra un mensaje indicando "Habilite el GPS". 52

Cuadro 23 Historia de Usuario del Proyecto - HU003 HU Condición Resultado HU003 Cuando se inicia sesión en Se debe tener una cuenta de correo la App de Google. Muestra una lista para seleccionar la cuenta con la que accede a la aplicación. Si no posee una cuenta de Google se muestra una opción para añadir una cuenta. Cuando el inicio de sesión sea exitoso, se presenta un botón para "Continuar" en el sistema y un botón para cerrar la sesión "SING OUT" Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 24 Historia de Usuario del Proyecto - HU004 HU Condición Resultado HU004 Cuando se cargan los mapas de Google. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Al seleccionar algún lugar del mapa, se realiza una vista ampliada para mostrar a detalle dicha ubicación. 53

Cuadro 25 Historia de Usuario del Proyecto - HU005 HU Condición Resultado HU005 Cuando se navega en los mapas de Google Se presenta automáticamente la posición actual con un punto color azul. Cuando se navega en el mapa y pierde la visión de la ubicación actual, se muestra una opción que lo vuelve a ubicar en la ubicación actual según el GPS. Se presentan en el mapa las viviendas en alquiler cercanas a la posición actual Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 26 Historia de Usuario del Proyecto - HU006 HU Condición Resultado HU006 Cuando se descargan los Se presenta un dialogo indicando la datos de viviendas en cantidad de registros que se alquiler descargaron. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 54

Cuadro 27 Historia de Usuario del Proyecto - HU007 HU Condición Resultado HU007 Cuando se filtran los datos Se despliega una lista con todas de alquileres de viviendas las viviendas en alquiler que por número de cumplan con el criterio de número habitaciones, costo, de habitaciones indicado. posean garaje, posean patio, tengan baño, sector Se presenta una lista con todas las viviendas cuyo costo de alquiler este en el rango ingresado. Se presenta una lista con todas las viviendas en alquiler que tengan garaje. Se muestra una lista con todas las viviendas en alquiler que tengan patio. Se muestra una lista con todas las viviendas en alquiler que tengan la cantidad especificada de baños. Se muestra una lista con todas las viviendas en alquiler que estén en dicho sector. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 55

Cuadro 28 Historia de Usuario del Proyecto - HU008 HU Condición Resultado HU008 Cuando se consulta la información completa de las viviendas en alquiler. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Se despliega toda la información de la vivienda en alquiler que se haya seleccionado en el mapa. Cuadro 29 Historia de Usuario del Proyecto - HU009 HU Condición Resultado HU009 Cuando se crea una ruta hasta la localización de la vivienda deseada. Elaborado: Andrés Loor Miguel Morocho Fuente: Andrés Loor Miguel Morocho Se habilita una opción para crear la ruta hasta la localización de la vivienda seleccionada. Se abre la aplicación original de mapas de Google, para mostrar las rutas hasta la localización de la vivienda requerida. Cuadro 30 Historia de Usuario del Proyecto - HU010 HU Condición Resultado HU010 Cuando se realiza una llamada telefónica al oferente de una vivienda en alquiler Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Se muestra la aplicación de llamadas telefónicas del dispositivo móvil para poder comunicarse con el oferente de la vivienda en alquiler. 56

Cuadro 31 Historia de Usuario del Proyecto - HU011 HU Condición Resultado HU011 Cuando se envía un Se presenta la aplicación de mensaje SMS al oferente mensajes de texto SMS del de una vivienda en alquiler dispositivo móvil. Se muestra la aplicación para enviar un mensaje por correo electrónico. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 32 Historia de Usuario del Proyecto - HU012 HU Condición Resultado HU012 Cuando se marque una ubicación en el mapa, se crea un punto (marca) visible sobre el mismo. Al seleccionar el botón de publicar alquiler y no ha creado un punto en el mapa, se despliega un mensaje indicando que "No podrá publicar hasta que cree un punto en el mapa. Cuando se publica una casa en alquiler. Cuando se selecciona el botón de publicar alquiler y ya ha creado un punto en el mapa, se presenta una pantalla para definir los detalles de la 57

publicación. Si el dispositivo móvil no tiene internet en el momento de realizar la publicación, puede registrarla localmente en la aplicación, para enviarla cuando tenga conexión. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 33 Historia de Usuario del Proyecto - HU013 HU Condición Resultado HU013 Cuando se suben los datos al servidor web para que estén disponibles para los solicitantes Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Se despliega un diálogo indicando que los datos se han subido exitosamente. 58

Entregables del proyecto Lo siguientes entregables de la aplicación tenemos: - Manual Técnico - Manual de Usuario - Código Fuente - Video de uso de la App CRITERIOS DE VALIDACIÓN DE LA PROPUESTA Técnica de Caja Negra Cuadro 34 Caso de Prueba - CP01 Andrés Caso de Prueba: CP01 Loor Autores: Miguel HU001 y HU002 Morocho Propósito: Cuando se establece la conexión al Servicio Web Cuando se ejecuta la aplicación Descripción de las acciones y/o condiciones para las pruebas N.- Acciones Salida Esperada Salida Obtenida Ingresar a la aplicación móvil 1 sin disponer de una conexión a internet. Ingresar a la aplicación móvil La aplicación móvil La aplicación solo muestra la móvil solo muestra pantalla Google la pantalla Google Sign-In Quickstar Sign-In Quickstar La aplicación La aplicación continúa con su continúa con su 2 disponiendo de una conexión curso. curso. a internet activa y disponible 59

3 Dar click en iniciar sesión La aplicación móvil muestra las cuentas de Gmail guardadas en el Smartphone. La aplicación móvil muestra las cuentas de Gmail guardadas en el Smartphone. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 35 Caso de Prueba - CP02 Caso de Prueba: CP02 Propósito: HU003 Autores: Andrés Loor Miguel Morocho Cuando se inicia sesión en la App Descripción de las acciones y/o condiciones para las pruebas N.- Acciones Salida Esperada Salida Obtenida 1 Ingreso a la aplicación móvil 2 Intentar publicar una nueva vivienda en alquiler 3 Consultar las publicaciones realizadas por el usuario La Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto aplicación confirma el ingreso exitoso, y muestra el menú principal El ingreso de los datos específicos de la vivienda Listado de las viviendas publicadas por el usuario. La confirma aplicación el ingreso exitoso, y muestra el menú principal El ingreso de los datos específicos de la vivienda Listado de las viviendas publicadas por el usuario. 60

Cuadro 36 Caso de Prueba - CP03 Caso de Prueba: CP03 Propósito: HU004 y HU005 Cuando se cargan los mapas de Google Cuando se navega en los mapas de Google Autores: Andrés Loor Miguel Morocho Descripción de las acciones y/o condiciones para las pruebas N.- Acciones Salida Esperada Salida Obtenida 1 Verificar el despliegue de los botones que contiene cada opción de la aplicación 2 Tocar elemento del listado 3 4 Navegar por todos los puntos de geolocalización accediendo y saliendo de ellas. Crear un punto de referencia en el mapa de google Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Correcto despliegue de los puntos de referencia de las viviendas vista Detalle de la información de la vivienda en alquiler Posibilidad de observar la ruta más corta desde la localización de la vivienda hacia su ubicación actual Latitud y longitud de la ubicación de la vivienda Correcto despliegue de los puntos de referencia de las viviendas vista Detalle de la información de la vivienda en alquiler Posibilidad de observar la ruta más corta desde la localización de la vivienda hacia su ubicación actual Latitud y longitud de la ubicación de la vivienda 61

Cuadro 37 Caso de Prueba - CP04 Caso de Prueba: CP04 Propósito: HU006 Autores: Cuando se descargan los datos de viviendas en alquiler Andrés Loor Miguel Morocho Descripción de las acciones y/o condiciones para las pruebas N.- Acciones Salida Esperada Salida Obtenida 1 2 3 Dar click en la opción de descarga Dar click en el GPS Dar click en la opción de Publicaciones Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto La aplicación móvil muestra un mensaje donde se confirma que la información ha sido descargada Muestra automáticamente la posición actual del usuario La aplicación móvil muestra el listado de las publicaciones de viviendas en alquiler actualizadas La aplicación móvil muestra un mensaje donde se confirma que la información sido descargada Muestra automáticamente ha la posición actual del usuario La aplicación móvil muestra el listado de las publicaciones viviendas alquiler actualizadas de en 62

Cuadro 38 Caso de Prueba - CP05 Propósito: Caso de Prueba: CP05 HU007 y HU008 Autores: Andrés Loor Miguel Morocho Verificar que los criterios de búsqueda que filtran los datos de alquileres de viviendas muestren la información completa. Descripción de las acciones y/o condiciones para las pruebas N.- Acciones Salida Esperada Salida Obtenida 1 2 3 4 El botón que identifica la búsqueda es fácil de reconocer en la aplicación. Los criterios para la búsqueda como sector, # de cuartos, # de baños, rango de precios, garajes y patios son fáciles de reconocer de comprender. La datos arrojados después de a consulta son los solicitados. La información buscada está acorde a lo solicitado en los criterios de búsqueda. Fácil de reconocer porque se sigue un estándar de figuras, como la lupa, para buscar. Es sencilla para comprender funcionamiento Muestra su los resultados de la búsqueda de acurdo a lo consulado Los Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto datos consultados se listan de acuerdo a lo buscado. Se reconoce rápido la opción de búsqueda de la aplicación. Es fácil de usar los criterios de búsqueda Muestra lo que solicite buscar Muestra lo que se buscó en los filtros. 63

Cuadro 39 Caso de Prueba - CP06 Caso de Prueba: CP06 Propósito: HU009 Autores: Andrés Loor Miguel Morocho Verificar que se cree una ruta hasta la localización de la vivienda deseada. Descripción de las acciones y/o condiciones para las pruebas N.- Acciones Salida Esperada Salida Obtenida 1 La acción de marcar una ruta desde la posición actual hasta la vivienda consultada en la aplicación. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Muestra la ruta desde la localización de la vivienda. Se obtiene la ruta más corta al punto consultado. Cuadro 40 Caso de Prueba - CP07 Caso de Prueba: CP07 Andrés Loor Autores: HU010, H011 y H013 Miguel Morocho Propósito: Verificar los medios de contactar al oferente a través de la integración de llamadas desde la aplicación y envió de corro o mensaje de texto. Descripción de las acciones y/o condiciones para las pruebas N.- Acciones Salida Esperada Salida Obtenida Se realiza una 1 Realiza una llamada llamada al número Si, se contacta al telefónica al oferente de una que se encuentra oferente vivienda en alquiler registrado en la publicación 2 Realiza el envío de mensajes Se envía el SMS al de texto al oferente oferente Se envía SMS 64

Se abre un correo 3 Realiza el envío de correo electrónico al oferente electrónico, para enviarlo a través de la cuenta registrada Se envía correo al oferente. GMAIL 4 Se notifica cuando se sube una publicación en la aplicación Muestra un Popup, indicando el estado de la subida de publicación. Muestra una notificación cuando se publica una vivienda. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuadro 41 Caso de Prueba - CP08 Caso de Prueba: CP08 Andrés Loor Autores: HU013 Miguel Morocho Propósito: Verificación de la publicación de una vivienda en la aplicación Descripción de las acciones y/o condiciones para las pruebas N.- Acciones Salida Esperada Salida Obtenida 1 Cuando se marque una ubicación en el mapa, se crea un punto (marca) visible sobre el mismo. Se crea un punto de referencia para marcar la posición. Si hay marca visible, para la publicación. Al seleccionar el botón de publicar alquiler y no ha creado un punto en el mapa, Se notifica la 2 se despliega un mensaje indicando que "No podrá obligatoriedad, de colocar el punto de No, perite la publicación. publicar hasta que cree un geolocalización punto en el mapa. 65

Cuando se selecciona el 3 botón de publicar alquiler y ya ha creado un punto en el mapa, se presenta una pantalla para definir los detalles de la publicación. Muestra la información solicitada para la publicación. Hay que llenar la información solicitada para su publicación. Si el dispositivo móvil no tiene internet en el momento de Se guarda la 4 realizar la publicación, puede registrarla localmente en la aplicación, para enviarla publicación, hasta que se establezca una conexión Se guarda la notificación. cuando tenga conexión. internet. Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Resultados de los criterios de aceptación Se valida la conexión a internet de manera continua, en caso de pérdida de conexión se presenta la pantalla de inicio de sesión (Ver Gráfico10). Gráfico 10 Pantalla - Inicio de sesión Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 66

Si el dispositivo móvil no tiene habilitado el GPS, se muestra un mensaje indicando "Habilite el GPS" (Ver Gráfico11). Gráfico 11 Pantalla - Habilitar GPS Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Pantalla para seleccionar de una lista la cuenta con la que accederá a la aplicación. (Ver Gráfico12) Gráfico 12 Pantalla - Selección de cuenta para registro Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 67

Cuando el inicio de sesión sea exitoso, se presenta un botón para "Continuar" en el sistema y un botón para cerrar la sesión "SING OUT" (Ver Gráfico13) Gráfico 13 Pantalla - Sesión Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Pantalla para realizar una vista ampliada para mostrar las viviendas disponibles en el mapa (Ver Gráfico14). Gráfico 14 Pantalla principal - Búsqueda Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 68

Se presenta automáticamente la posición actual con un punto color azul (Ver Gráfico15). Gráfico 15 Pantalla - Posición actual Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuando se navega en el mapa y pierde la visión de la ubicación actual, se muestra una opción que lo vuelve a ubicar en la ubicación actual según el GPS (Ver Gráfico16). Gráfico 16 Pantalla - Ubicación GPS Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 69

Se presenta un dialogo indicando la cantidad de registros que se descargaron (Ver Gráfico17). Gráfico 17 Pantalla - Consulta Vivienda Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Pantalla para realizar consultas por Filtros. (Ver Gráfico18) Gráfico 18 Pantalla - Consulta de viviendas Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 70

Se despliega una lista con todas las viviendas en alquiler que cumplan con el criterio especificado. (Ver Gráfico 19) Gráfico 19 Pantalla - Resultado de búsqueda Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Pantalla que despliega toda la información de la vivienda en alquiler que se haya seleccionado en el mapa. (Ver Gráfico20) Gráfico 20 Pantalla - Vivienda publicada Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 71

Se habilita una opción para crear la ruta hasta la localización de la vivienda seleccionada. (Ver Gráfico21) Gráfico 21 Pantalla - Localización de Vivienda Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Se abre la aplicación original de mapas de Google, para mostrar las rutas hasta la localización de la vivienda requerida. (Ver Gráfico22) Gráfico 22 Pantalla - Ruta más corta hacia la vivienda seleccionada Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 72

Se muestra la aplicación de llamadas telefónicas del dispositivo móvil para poder comunicarse con el oferente de la vivienda en alquiler. (Ver Gráfico23) Gráfico 23 Pantalla - Llamada telefónica Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Se presenta la aplicación de mensajes de texto SMS del dispositivo móvil. (Ver Gráfico24) Gráfico 24 Pantalla - Notificación SMS Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 73

Se muestra la aplicación para enviar un mensaje por correo electrónico. (Ver Gráfico25) Gráfico 25 Pantalla - Notificación Correo Electrónico Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuando se marque una ubicación en el mapa, se crea un punto (marca) visible sobre el mismo al momento de querer publicar alquiler. (Ver Gráfico26) Gráfico 26 Pantalla - Ubicación de mapa Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 74

Al seleccionar el botón de publicar alquiler y no ha creado un punto en el mapa, se despliega un mensaje indicando que "No podrá publicar hasta que cree un punto en el mapa. (Ver Gráfico27) Gráfico 27 Pantalla - Publicación de vivienda Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto Cuando se selecciona el botón de publicar alquiler y ya ha creado un punto en el mapa, se presenta una pantalla para definir los detalles de la publicación. (Ver Gráfico28) Gráfico 28 Pantalla - Ingreso de información publicación Elaborado: Andrés Loor Miguel Morocho Fuente: Datos del proyecto 75