universidad de guayaquil facultad de...
Post on 22-Sep-2018
223 Views
Preview:
TRANSCRIPT
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”
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
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
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
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
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
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
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
Se presenta un dialogo indicando la cantidad de registros que se descargaron.
Elaborado: Andrés Loor – Miguel Morocho
Fuente: Datos del proyecto
Elaborado: Andrés Loor – Miguel Morocho
Fuente: Datos del proyecto
Pantalla - Consulta Vivienda
Pantalla para realizar consultas por Filtros.
Pantalla - Consulta de viviendas
Se despliega una lista con todas las viviendas en alquiler que cumplan con el
criterio especificado.
Elaborado: Andrés Loor – Miguel Morocho
Fuente: Datos del proyecto
Elaborado: Andrés Loor – Miguel Morocho
Fuente: Datos del proyecto
Pantalla - Resultado de búsqueda
Pantalla que despliega toda la información de la vivienda en alquiler que se haya
seleccionado en el mapa.
Pantalla - Vivienda publicada
Se habilita una opción para crear la ruta hasta la localización de la vivienda
seleccionada.
Elaborado: Andrés Loor – Miguel Morocho
Fuente: Datos del proyecto
Elaborado: Andrés Loor – Miguel Morocho
Fuente: Datos del proyecto
Pantalla - Localización de Vivienda
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
Se muestra la aplicación de llamadas telefónicas del dispositivo móvil para poder
comunicarse con el oferente de la vivienda en alquiler.
Elaborado: Andrés Loor – Miguel Morocho
Fuente: Datos del proyecto
Elaborado: Andrés Loor – Miguel Morocho
Fuente: Datos del proyecto
Pantalla - Llamada telefónica
Se presenta la aplicación de mensajes de texto SMS del dispositivo móvil.
Pantalla - Notificación SMS
Se muestra la aplicación para enviar un mensaje por correo electrónico.
Elaborado: Andrés Loor – Miguel Morocho
Fuente: Datos del proyecto
Elaborado: Andrés Loor – Miguel Morocho
Fuente: Datos del proyecto
Pantalla - Notificación Correo Electrónico
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
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
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
Se despliega un diálogo indicando que los datos se han subido exitosamente.
Elaborado: Andrés Loor – Miguel Morocho
Fuente: Datos del proyecto
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.
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.
Instalación de componentes y extensiones
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
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 bitso Doble click en “SQLSRV32.EXE” para ejecutar, aceptamos y
después indicamos la ruta donde deseamos guardar las dllo
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
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
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
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; } }
Register.java
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));}}
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 ControlesetCostoInicial = (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 defectoetCostoInicial.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(); } });
}
Publicar.java
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);
}}
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));
ConfigMovilActivity.java
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; }}
}
}
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;
//////
@Overrideprotected 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() {@Overridepublic 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() {@Overridepublic 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(getApplicationContext())
.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() {
@Overridepublic 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 Universidad de Guayaquil
http Protocolo de transferencia de Hyper Texto
Ing. Ingeniero
URL Localizador de Fuente Uniforme
www world wide web (red mundial)
INEC Instituto Nacional de Estadística y Censos
ENALQUI Encuesta Nacional de Alquileres
XXII
SIMBOLOGÍA
s Desviación estándar
e Error
E Espacio muestral
E(Y) Esperanza matemática de la v.a. y
s Estimador de la desviación estándar
e 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: Ing. Verónica Mendoza Morán. M.Sc.
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.
2
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.
8
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.
9
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
10
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.
11
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.
12
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.
13
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).
14
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.
15
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.
16
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)
17
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).
18
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.
19
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
20
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
21
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.
22
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.
23
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
24
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:
25
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.
26
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).
27
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
28
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.
29
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)
30
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)
31
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.
32
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 Finalidad
Android versión 4.4.2 KitKat Sistema Operativo del dispositivo
Móvil.
Api de Google Maps Versión Experimental
v=2
Para georeferenciar las
direcciones de las viviendas en
alquiler
GPS (Sistema de Posicionamiento Global)
Para capturar las coordenadas
(Latitud, Longitud) de su posición
actual
Java Versión 7.0
Lenguaje de programación para
desarrollar cada característica y
funcionalidad del Aplicativo.
Web Services (WSDL) Versión 2.0
Como intermediario para
registrar y consultar los datos de
alquileres desde el dispositivo
móvil hacia la base central y
viceversa.
SQLite Versión 3.10.2
Base de datos móvil usada como
repositorio temporal de la
información de alquileres.
34
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.
38
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:
39
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.
40
Cuadro 7 Requerimientos del proyecto
Id Requerimiento Descripción Pr. Es. Srinpt
R01
Preparación
Servidor Publico
Preparación de Ambiente del
Servidor y creación de base de
datos para Servicio Web
10 6 1
R02 Implementación
de Servicio Web
Implementación y Publicación
de Servicio Web 10 36 1
R03 Arranque del
Sistema
Inicialización del sistema,
preparando el ingreso 9 2 2
R04 Registro de
Usuario
Registro de datos personales
para saber que es un usuario
real
9 12 2
R05 Ingreso al
Sistema
Ingresar credenciales (usuario
y clave) para tener acceso al
sistema
8 6 2
R06
Conexión
Google Maps
Api con Android
Investigación e
Implementación Google Maps
Api en Android.
8 24 2
R07 Pantalla de
Mapa Visualización de Google Maps 7 2 2
R08 Geolocalización
Visual en Mapa
Mostrar punto de
Geolocalización en mapa, vía
GPS
7 4 2
R09 Descarga de
Datos
Descarga de Datos desde el
Servicio Web, Presentación de
Datos de Alquiler en Mapa,
con coordenadas exactas.
6 12 3
R10 Búsqueda de
Datos
Consulta de datos mediante
filtros, como número de
habitaciones, baños, garaje,
patio.
5 15 3
49
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).
59
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
Caso de Prueba: CP01 Autores:
Andrés
Loor
HU001 y HU002
Miguel
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
1
Ingresar a la aplicación móvil
sin disponer de una conexión
a internet.
La aplicación móvil
solo muestra la
pantalla Google
Sign-In Quickstar
La aplicación
móvil solo muestra
la pantalla Google
Sign-In Quickstar
2
Ingresar a la aplicación móvil
disponiendo de una conexión
a internet activa y disponible
La aplicación
continúa con su
curso.
La aplicación
continúa con su
curso.
77
CAPÍTULO IV
Criterios de aceptación del producto o servicio
Para llevar a cabo la ejecución del proyecto de titulación se presenta la siguiente
matriz como verificación de aceptación del producto de acuerdo a la metodología
que se utilizó, técnica de caja negra en la cual en primera instancia, cumple la
función de pruebas de software, mediante casos de prueba cuya función es
certificar su correcto funcionamiento.
Con esta técnica, logramos entonces la construcción de casos prueba por cada
entrada posible, que cubren los aspectos esperados de una prueba de
certificación de software.
La matriz de verificación presentada como criterio de aceptación en base a los
casos de pruebas realizados constituye una técnica fiable para la obtención de la
salida esperada.
78
Cuadro 42 Matriz de aceptación
CRITERIOS PONDERACIÓN
CP01
Cuando se establece la conexión al Servicio Web
100%
Cuando se ejecuta la aplicación 100%
CP02
Cuando se inicia sesión en la App 100%
CP03
Cuando se cargan los mapas de Google 100%
Cuando se navega en los mapas de Google
CP04
Cuando se descargan los datos de viviendas en
alquilerCP05 100%
CP05
Verificar que los criterios de búsqueda que filtran los
datos de alquileres de viviendas muestren la
información completa. 100%
CP06
Verificar que se cree una ruta hasta la localización
de la vivienda deseada. 100%
79
CP07
Verificar los medios de contactar al oferente a través
de la integración de llamadas desde la aplicación y
envío de corro o mensaje de texto. 100%
CP08
Verificación de la publicación de una vivienda en la
aplicación 100%
Elaboración: Andrés Loor – Miguel morocho
80
CONCLUSIONES
Como resultado de la implementación de nuestra aplicación en la Play Store, se
concluye que se tiene a disposición un software 100% gratuito subido a la tienda
virtual Play Store para su descarga y uso en dispositivos móviles con sistema
operativo Android:
Brindará las siguientes facilidades:
Se identificaron proceso de publicación y búsqueda de vivienda a través
del análisis de estudio de documentos publicados en el INEC (Instituto de
estadísticas y Censos) y encuesta realizada en el proyecto de titulación
que usuarios con cuenta Gmail y Smartphone con plan de datos buscan
vivienda con los siguientes criterios; Sector, numero de cuartos, numero
de baños, rango de precios, patio y garaje.
Para el análisis y diseño de la aplicación móvil se utilizó la metodología
Scrum-Bam que a través de los Sprint una metodología ágil y rápida se
completó el desarrollo del proyecto.
Se utilizó un Servidor Web y Base de datos SQL Server 2012 para
almacenar la información publicada por el usuario. Un administrador
genera reportes y da mantenimiento a las publicaciones de los usuarios
que descargan y utilizan la APK.
La aplicación “Kleta App”, con tecnología Java para Android, está dirigida
a usuarios que solo poseen cuenta GMAIL.
En base a la matriz de aceptación del producto y validaciones realizadas
de pruebas de caja negra por usuarios, descargando la aplicación desde
la Play Store y realizando publicaciones y búsquedas realizadas para la
validación de la aplicación se concluye que tiene una aceptación del
100%.
81
RECOMENDACIONES
Se recomienda el uso de la aplicación a todos los usuarios que tengan cuentas
Gmail integradas a la Play Store o en sus dispositivos móviles además que
cuenten con GPS, para su correcto funcionamiento y aprovechar al máximo las
ventajas de la aplicación “Kleta App”, extendemos las siguientes
recomendaciones:
Registrar la aplicación, solo con cuentas de correo electrónico Gmail.
Utilizar solo teléfonos con sistema operativo Android superior a 4.5.
Utilizar teléfonos con GPS integrado y habilitado.
Utilizar teléfono con plan de datos o conectado al Wifi con acceso a
internet.
Para contactar al oferente vía mensaje de texto y llamadas, se debe tener
saldo telefónico.
Para contactar al oferente vía correo electrónico, se debe tener acceso a
internet vía Wifi o con plan de datos.
82
BIBLIOGRAFÍA
Alonso Álvarez García, R. d. (2012). Métodos Ágiles y Scrum. Anaya Multimedia.
C.J.Date. (2001). Introducción a los Sistemas de Bases de Datos.
Gabillaud, J. (2013). SQL Server 2012 - SQL, Transact SQL: Diseño y creación
de una base de datos. Ediciones ENI.
Gersón Beltrán, G. B. (2012). Geolocalización y Redes Sociales. Bubok.
Girones, J. T. (2012). El gran libro de Android. Barcelona: Marcombo S.A.
Govender, S. (18 de Junio de 2014). Comenzando con Android Studio.
Recuperado el 1 de Agosto de 2016, de Comenzando con Android
Studio: http://code.tutsplus.com/es/tutorials/getting-started-with-android-
studio--mobile-22958
Guérin, B.-A. (2014). ASP.NET en C# con Visual Studio 2013. Ediciones ENI.
Guérin, B.-A. (2014). ASP.NET en C# con Visual Studio 2013: diseño y
desarrollo de aplicaciones web. Ediciones ENI.
Guevara Aulestia, D. O. (20113). Aplicación móvil utilizando plataforma Android
para mejorar la calidad del servicio de consulta de información de
consumo eléctrico de la EEASA en la Empresa Besixplus Cia. Ltda.
Ambato: Universidad Técnica de Ambato.
Hernández, M. T. (2015). Symfony Framework. Desarrollo Rápido de
Aplicaciones Web.IT Campus Academy.
James Snell, D. T. (2001). Programming Web Services with SOAP. O'Reilly
Media, Inc.
83
Letham, L. (2001). GPS fácil. Uso del sistema de posicionamiento global.
Editorial Paidotribo.
Luna, F. (2016). Desarrollo web para dispositivos móviles. Buenos Aires,
Argentina: RedUsers.
Michał Ćmil, M. M. (2014). Java EE 7 Development with WildFly. Packt
Publishing Ltd.
Newman, C. (2005). SQLite. Sams.
Ramnath, R. (2011). Android 3 SDK Programming For Dummies. John Wiley &
Sons.
Rojas, O. D. (2008). Metodologia SCRUM.
Rubin, A. (2003). http://www.saberia.com/2014/02/quien-invento-android/.
Svennerberg, G. (2010). Beginning Google Maps API 3. Apress.
Team, M. I. (2009). Internet Information Services (IIS) 6 Resource Kit.Microsoft
Press.
Ullman, L. (2009). Php: paso a paso. Anaya Multimedia-Anaya Interactiva.
Zapata, B. C. (2013). Android Studio Application Development.Packt Publishing
Ltd.
top related