0% encontró este documento útil (0 votos)
19 vistas148 páginas

Aplicación Web de Alquileres con Web Scraping

Este documento trata sobre el desarrollo de una aplicación web para el alquiler de bienes inmuebles utilizando la técnica de web scraping. El proyecto incluye el análisis de la situación actual del mercado inmobiliario, los requerimientos funcionales y no funcionales, y el plan de desarrollo de la aplicación.

Cargado por

Jossé Rodriguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas148 páginas

Aplicación Web de Alquileres con Web Scraping

Este documento trata sobre el desarrollo de una aplicación web para el alquiler de bienes inmuebles utilizando la técnica de web scraping. El proyecto incluye el análisis de la situación actual del mercado inmobiliario, los requerimientos funcionales y no funcionales, y el plan de desarrollo de la aplicación.

Cargado por

Jossé Rodriguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ESCUELA MILITAR DE INGENIERÍA

“Mcal. Antonio José de Sucre”


BOLIVIA

PROYECTO DE GRADO TÉCNICO

APLICACIÓN WEB DE ALQUILERES PARA BIENES


INMUEBLES APLICANDO LA TÉCNICA DE WEB SCRAPING

EST. ALVARO CHOQUE COLQUEHUANCA

LA PAZ, 2023
ESCUELA MILITAR DE INGENIERÍA
“Mcal. Antonio José de Sucre”
BOLIVIA

PROYECTO DE GRADO TÉCNICO

APLICACIÓN WEB DE ALQUILERES PARA BIENES


INMUEBLES APLICANDO LA TÉCNICA DE WEB SCRAPING

Modalidad: Proyecto de Grado


Técnico, presentado como
requisito para optar al Grado
Académico de Técnico Superior en
Informática

TUTOR: ING. JULIO JHONATHAN COLQUE ALCÓN

LA PAZ, 2023
DEDICATORIA

Es mi deseo, como un humilde gesto de gratitud, dedicar el presente Proyecto de


Grado Técnico a:

Dios quien ha sido mi compañero constante,


levantándome de mis tropiezos y siendo mi
guía y fortaleza en todo momento.

Mis padres, cuyo amor, apoyo y sacrificio han


sido una fuente inagotable de inspiración en
mi vida. Su ejemplo y orientación han sido
fundamentales para mi formación académica
y personal, y sin ellos no estaría donde estoy
hoy.

Mis queridos amigos, quienes han sido como


hermanos para mí, quiero dedicarles este
Proyecto de Grado Técnico como muestra de
agradecimiento por su apoyo incondicional y
comprensión.
AGRADECIMIENTOS

A: Mis seres queridos, quienes han depositado su confianza en nosotros, nos han
brindado comprensión y ha sido un apoyo incondicional en cada etapa de nuestras
vidas.

Al: Ing. Julio Jhonthan Colque Alcón, quien con gran dedicación y disposición actuó
como tutor de Proyecto de Grado Técnico, brindando orientación y dedicando su
valioso tiempo para la realización de este proyecto.

A: Mis docentes por la dedicación y el tiempo que han invertido en cada sesión de
enseñanza.

A: Nuestros compañeros de estudio, con quienes hemos compartido innumerables


momentos memorables a lo largo de todos estos años, creando recuerdos muy
gratos. Agradezco de corazón por su apoyo y amistad.
ÍNDICE
ÍNDICE

Pág.
CAPÍTULO 1. GENERALIDADES
INTRODUCCIÓN........................................................................................ 1

ANTECEDENTES ...................................................................................... 2

Antecedentes académicos ......................................................................... 2

PLANTAMIENTO DEL PROBLEMA ........................................................... 4

Identificación del problema ......................................................................... 4

Formulación del problema .......................................................................... 5

OBJETIVOS ............................................................................................... 5

Objetivo general ......................................................................................... 5

Objetivo especifico ..................................................................................... 5

JUSTIFICACIÓN ........................................................................................ 6

Justificación técnica.................................................................................... 6

Justificación social ...................................................................................... 7

LÍMITES ..................................................................................................... 7

ALCANCES ................................................................................................ 7

Alcance geográfico ..................................................................................... 8

Alcance temporal ........................................................................................ 8

CAPÍTULO 2. MARCO TEORICO


INGENIERÍA DE SOFTWARE.................................................................... 9

METODOLOGÍAS DE DESARROLLO ..................................................... 10

Modelo ágil ............................................................................................... 11

Programación extrema XP ....................................................................... 12

Fases de XP ............................................................................................. 13

i
BASE DE DATOS..................................................................................... 14

Base de datos relacional .......................................................................... 14

Características de base de datos relacional ............................................. 15

MySQL ..................................................................................................... 15

Características de MySQL ........................................................................ 15

WEB SCRAPING...................................................................................... 16

Funcionamiento de Web Scraping............................................................ 17

Usos de Web Scraping ............................................................................. 17

Técnicas para el Web Scraping ................................................................ 18

APLICACIÓN WEB................................................................................... 20

Introducción a internet .............................................................................. 20

Fundamentos de la web ........................................................................... 20

Historia de las aplicaciones web............................................................... 21

LENGUAJE DE PROGRAMACIÓN .......................................................... 21

JavaScript ................................................................................................. 22

CSS .......................................................................................................... 22

HTML........................................................................................................ 22

FRAMEWORKS DE DESARROLLO WEB ............................................... 23

Angular ..................................................................................................... 23

Axios ......................................................................................................... 23

Cheerio ..................................................................................................... 24

[Link] ............................................................................................... 24

API............................................................................................................ 24

BIENES INMUEBLES............................................................................... 25

PRUEBAS ................................................................................................ 25

ii
Las pruebas manuales ............................................................................. 25

Las pruebas automatizadas ..................................................................... 26

CAPÍTULO 3. MARCO PRACTICO


PLAN DE DESARROLLO DE SOFTWARE ............................................. 27

ANÁLISIS DE LA SITUACIÓN ACTUAL .................................................. 30

Recopilación de la información del mercado de bienes inmuebles .......... 30

Criterios de evaluación ............................................................................. 30

Descripción de los procesos actuales ...................................................... 33

[Link] Proceso de adquisición de bienes inmobiliarios ....................................... 33

ANÁLISIS DE SISTEMA ........................................................................... 36

Análisis de procesos y módulos que tendrá el sistema ............................ 36

Identificación los requerimientos .............................................................. 44

Requerimientos funcionales ..................................................................... 45

Requerimientos no funcionales ................................................................ 46

Identificación de los actores del sistema .................................................. 47

Asignación de roles .................................................................................. 48

Plan de entregas ...................................................................................... 48

Ciclo de vida de la aplicación web ............................................................ 49

Primera iteración ...................................................................................... 49

Segunda iteración..................................................................................... 55

Tercera iteración....................................................................................... 61

Identificar la técnica más apropiada de Web Scraping ............................. 65

DISEÑO DEL SISTEMA ........................................................................... 67

Diseño basado en comportamientos ........................................................ 67

Diagramas de casos de uso ..................................................................... 67

iii
Diagramas de secuencias ........................................................................ 69

Diseño de la arquitectura de software ...................................................... 72

Diagrama de componentes ...................................................................... 72

Diagrama de clases .................................................................................. 73

Diseño de la base de datos ...................................................................... 74

Diagrama de entidad relación ................................................................... 74

Modelo conceptual ................................................................................... 75

Modelo lógico ........................................................................................... 76

Modelo físico ............................................................................................ 77

Diseño de la navegación del sistema ....................................................... 78

Diseño de la interfaz grafica ..................................................................... 80

DESARROLLO DEL SISTEMA ................................................................ 84

Creación de la base de datos ................................................................... 84

Desarrollo del api aplicando la técnica Web Scraping .............................. 85

Desarrollo de la interfaz y presentación de la información inmobiliaria .... 88

VALIDACIÓN Y PRUEBAS ...................................................................... 91

Pruebas unitarias de la aplicación web .................................................... 92

EVALUACION TÉCNICA .......................................................................... 98

Funcionalidad ........................................................................................... 98

Usabilidad ............................................................................................... 101

Mantebilidad ........................................................................................... 103

Portabilidad ............................................................................................ 105

Calidad total ........................................................................................... 106

COSTOS ................................................................................................ 106

Costos fijos ............................................................................................. 107

iv
[Link] Compra de equipo .................................................................................. 107

[Link] Licencia de software ............................................................................... 108

[Link] Desarrollo de software............................................................................ 108

Costos variables ..................................................................................... 111

[Link] Recopilación de la información ............................................................... 111

[Link] Costo total del proyecto .......................................................................... 112

CAPÍTULO 4. CONCLUSIONES Y RECOMENDACIONES


CONCLUSIONES ..................................................................................... 90

RECOMENDACIONES ............................................................................ 91

BIBLIOGRAFIA

GLOSARIO

ANEXOS

v
ÍNDICE DE FIGURAS
Pág.

Figura 1 :Procesos del modelo de software .............................................................. 10


Figura 2 :Modelos de desarrollo de software............................................................. 11
Figura 3 :Metodologías de desarrollo ágil más conocidas ......................................... 12
Figura 4 :Fases de la metodología XP ...................................................................... 14
Figura 5: Usos de Web Scraping............................................................................... 18
Figura 6 :Diagrama de casos de uso del proceso actual ........................................... 34
Figura 7 :Diagrama de flujo del proceso actual ......................................................... 35
Figura 8 :Comparativa de las técnicas de Web Scraping .......................................... 65
Figura 9 :Diagrama de casos de uso del sistema...................................................... 67
Figura 10 :Diagrama de casos de uso iniciar sesión usuario común ........................ 68
Figura 11 :Diagrama de casos de uso de iniciar sesión administrador ..................... 69
Figura 12 :Diagrama de secuencia de iniciar sesión usuario común......................... 70
Figura 13 :Diagrama de secuencia de iniciar sesión administrador .......................... 71
Figura 14 :Diagrama de componentes del sistema ................................................... 72
Figura 15 :Diagrama de clases del sistema............................................................... 73
Figura 16 :Diagrama de presentación de registro de usuario .................................... 74
Figura 17 :Modelo conceptual del sistema ................................................................ 75
Figura 18 :Modelo lógico del sistema ........................................................................ 76
Figura 19 :Modelo físico del sistema ......................................................................... 77
Figura 20 :Diagrama de navegación del sistema ...................................................... 78
Figura 21 :Diagrama de navegación del usuario común ........................................... 79
Figura 22 :Diagrama de navegación del administrador ............................................. 79
Figura 23 :Mockup (Pantalla muerta) de Acceso....................................................... 80
Figura 24 :Mockup (Pantalla muerta) de Inicio de sesión .......................................... 81
Figura 25 :Mockup (Pantalla muerta) de Registro de usuario ................................... 82
Figura 26 :Mockup (Pantalla muerta) visualización de inmuebles ............................. 83
Figura 27 :Base de datos físico del sistema .............................................................. 84
Figura 28 :Maquetación de la api .............................................................................. 85

vi
Figura 29 :Estructura de la api Web Scraping ........................................................... 86
Figura 30 :Extracción de información utilizando API y técnicas de Web Scraping .... 87
Figura 31 :Interfaz de acceso a la aplicación web ..................................................... 88
Figura 32 :Interfaz de pantalla iniciar sesión ............................................................. 88
Figura 33 :Interfaz de seguridad con captcha ........................................................... 89
Figura 34 :Interfaz de registro de usuario .................................................................. 89
Figura 35 :Interfaz menú de lista de inmobiliarias ..................................................... 90
Figura 36 :Interfaz de actualizar y búsqueda de inmuebles ..................................... 90
Figura 37 :Interfaz de visualización de Inmuebles ..................................................... 91

vii
ÍNDICE DE TABLAS

Pág.
Tabla 1: Herramientas para el desarrollo de la aplicación web ................................... 6
Tabla 2: Programación extrema y sus características ............................................... 13
Tabla 3: Planificación de la metodología XP ............................................................. 27
Tabla 4 :Mejores inmobiliarias en la ciudad de La Paz ............................................. 33
Tabla 5 :Historia de usuario 1-Registro de usuario ................................................... 36
Tabla 6 :Historia de usuario 2-Seguridad con CAPTCHA ......................................... 37
Tabla 7 :Historia de usuario 3- Acceso de Usuario ................................................... 38
Tabla 8 :Historia de usuario 4-Cerrar sesión ............................................................. 39
Tabla 9 :Historia de Usuario 5-Seleccionar página inmobiliaria ............................... 40
Tabla 10 :Historia de usuario 6-Visualización de inmuebles ..................................... 41
Tabla 11 :Historia de usuario 7-Búsqueda de inmuebles .......................................... 42
Tabla 12 :Historia de usuario 8-Actualizar inmobiliaria .............................................. 43
Tabla 13 :Tabla de categoría de funciones ............................................................... 44
Tabla 14 :Requerimientos funcionales ...................................................................... 45
Tabla 15 :Requerimientos no funcionales ................................................................. 46
Tabla 16 :Descripción de los actores ........................................................................ 47
Tabla 17 :Asignación de roles del proyecto ............................................................... 48
Tabla 18 :Plan de entregas ....................................................................................... 49
Tabla 19 :Cronograma de actividades ....................................................................... 49
Tabla 20 :Tarea por historia de usuario 1 .................................................................. 50
Tabla 21 :Tarea configuración de un entorno de desarrollo web............................... 50
Tabla 22 :Tarea diseño de la interfaz gráfica ........................................................... 51
Tabla 23 :Tarea Mapeo objeto –relacional entidad usuario ....................................... 51
Tabla 24 :Tarea de creación de controladores .......................................................... 52
Tabla 25 :Historia 2 Acceso de usuario ..................................................................... 52
Tabla 26 :Diseño de interfaz gráfica para acceso ..................................................... 53
Tabla 27 :Creación de función en el controlador ....................................................... 53
Tabla 28 :Historia usuario 3 Cerrar sesión ................................................................ 54

viii
Tabla 29 :Diseño de interfaz gráfica para cerrar sesión ........................................... 54
Tabla 30 :Creación de función en el controlador. ..................................................... 55
Tabla 31:Cronograma de actividades ........................................................................ 55
Tabla 32 :Tarea por historia de usuario 5 .................................................................. 56
Tabla 33 :Tarea instalación y configuración de paquetes ......................................... 56
Tabla 34 :Tarea Mapeo de extracción de datos inmobiliarios ................................... 57
Tabla 35 :Tarea de creación de funciones en controlador. ....................................... 57
Tabla 36 :Tarea diseño de la interfaz páginas........................................................... 58
Tabla 37 :Tarea por historia de usuario 6 .................................................................. 58
Tabla 38 :Tarea Instalación y configuración para Front end ..................................... 59
Tabla 39 :Tarea conexión de la Api Web Scraping con el Front end ......................... 59
Tabla 40 :Tarea de creación de componentes .......................................................... 60
Tabla 41 :Tarea de diseño de interfaz grafica ........................................................... 60
Tabla 42 :Cronograma de actividades ....................................................................... 61
Tabla 43 :Tarea por historia de usuario 7 .................................................................. 61
Tabla 44 :Tarea de creación de componente búsqueda .......................................... 61
Tabla 45 :Tarea creación de funciones para búsqueda ............................................ 62
Tabla 46 :Tarea de diseño de la interfaz gráfica ....................................................... 62
Tabla 47 :Tarea por historia de usuario 8 .................................................................. 63
Tabla 48 :Tarea creación del componente actualizar ................................................ 63
Tabla 49 :Tarea creación de la función actualizar ..................................................... 64
Tabla 50 :Tarea diseño de la interfaz gráfica ............................................................ 64
Tabla 51 :Escenario de plan de pruebas ................................................................... 91
Tabla 52 :Prueba unitaria de inicio de sesión ............................................................ 92
Tabla 53 :Prueba unitaria de seguridad con captcha ............................................... 93
Tabla 54 :Prueba unitaria de registro de sesión ........................................................ 94
Tabla 55 :Prueba unitaria de salir sesión .................................................................. 95
Tabla 56 :Prueba unitaria de selección de inmobiliaria ............................................. 96
Tabla 57 :Prueba unitaria de búsqueda de inmuebles .............................................. 97
Tabla 58 : Calculo Punto de Función ........................................................................ 99
Tabla 59 : Valores de Ajustes de complejidad........................................................... 99

ix
Tabla 60: Ajuste de complejidad ............................................................................. 100
Tabla 61 :Escala de ajustes de usabilidad .............................................................. 102
Tabla 62: Cuestionario de usabilidad ...................................................................... 102
Tabla 63: Mantebilidad del sistema ......................................................................... 104
Tabla 64: Portabilidad ............................................................................................. 105
Tabla 65: Resultados calidad total .......................................................................... 106
Tabla 66: Costos fijos y variables ............................................................................ 107
Tabla 67: Factor LDC/PF de lenguajes de programación ....................................... 108
Tabla 68: Costo de recopilación de información (expresado en Bs.) ...................... 112
Tabla 69: Costo total del proyecto (expresado en Bs) ............................................. 112

x
INDICE DE ECUACIONES

Ecuación 1:Puntos de función ajustada .................................................................. 100


Ecuación 2 :Hallar la usabilidad del software .......................................................... 102
Ecuación 3 :Índice de madurez del software ........................................................... 103
Ecuación 4 :Hallar líneas de código ........................................................................ 109
Ecuación 5 :Hallar el esfuerzo ................................................................................. 110
Ecuación 6 :Hallar el tiempo .................................................................................... 110

xi
INDICE DE ANEXOS
Pág.
ANEXO A: Árbol de problemas

ANEXO B: Árbol de objetivos

xii
RESUMEN
EJECUTIVO
RESUMEN EJECUTIVO

El objetivo central de este proyecto es brindar a los usuarios una solución que
concentre la información de inmuebles disponibles en el mercado de alquiler,
anticrético y compra. Para lograrlo, se emplea la metodología XP y técnicas de Web
Scraping para recopilar datos de diversas páginas inmobiliarias, evitando así la
necesidad de consultar múltiples fuentes de información. La aplicación resultante
permite a los usuarios acceder a una amplia gama de opciones inmobiliarias en un
solo lugar, simplificando su búsqueda y optimizando su tiempo.

Para alcanzar el objetivo propuesto, se ha dividido el presente documento en cuatro


capítulos principales.

En el primer capítulo, denominado "Generalidades", se establecieron los problemas y


objetivos del proyecto basados en un análisis detallado y coherente de las condiciones
actuales en la búsqueda de alquiler, anticrético y venta de bienes inmuebles. Además,
se destacó la importancia del desarrollo del sistema, así como su alcance y la
contribución que se espera brindar.

En el segundo capítulo, titulado "Marco Teórico", se presenta la fundamentación


teórica que sustenta el proyecto, proporcionando los conceptos y la orientación
metodológica necesarios para respaldar el desarrollo del sistema propuesto.

En el tercer capítulo, denominado "Marco Práctico", se expone de manera detallada y


concreta el desarrollo del proyecto, el cual ha sido organizado y ejecutado siguiendo
la metodología XP. Se describen las etapas clave del desarrollo del sistema, que
incluyen la planificación, el diseño, la codificación y las pruebas.

El cuarto capítulo, denominado “Conclusiones y Recomendaciones”, se detalla las


conclusiones extraídas tras finalizar el Proyecto de Grado Técnico y las sugerencias
sobre la funcionalidad del sistema.
CAPÍTULO 1
GENERALIDADES
CAPÍTULO 1

GENERALIDADES

INTRODUCCIÓN

El enorme desarrollo tecnológico resultante se está moviendo a un ritmo vertiginoso, y


con esto ha surgido la necesidad de manejar cantidades de dato, los cuales nos
ayudan en todos los ámbitos, especialmente en la toma de decisiones, los sistemas
de información ayudan bastante en el manejo de los datos y de esta manera se
volvieron imprescindibles en todo ámbito, actualmente las aplicaciones se extendieron
en todas las áreas.

Así mismo se identifica una técnica que aplica la Web Scraping para la extracción de
ofertas de alquiler de bienes inmuebles, el cual tiene herramientas definidas por
lenguajes de programación y aplicaciones que intervienen en el manejo de la
información que se extrae y clasifica de una manera más organizada y limpia, para
darle el uso adecuado en la búsqueda de arrendamientos de viviendas, departamentos
o habitaciones que necesite el usuario.

Por tal razón se ha tomado la decisión de realizar una aplicación web de alquileres
para bienes inmuebles, el cual pueda mostrar información confiable de diferentes sitios
web de alquiler de la ciudad de La Paz-Bolivia. Para la elaboración del presente
Proyecto de Grado Técnico se utilizará la metodología de desarrollo ágil que está
conformado por las fases de planeación, diseño, codificación y pruebas los cuales
permiten realizar un trabajo confiable al utilizar metodologías como XP que facilita el
enfoque en el usuario final.

1 - 112
ANTECEDENTES

A continuación, presentaremos los antecedes académicos sobre los cuales se rige el


presente Proyecto de Grado.

Antecedentes académicos

De acuerdo a la revisión bibliográfica, los Trabajos de Grado, tanto en algunas


universidades del medio como en internet, tienen similitud al presente proyecto.

“SISTEMA WEB ORIENTADO A LA RECOLECCIÓN DE INFORMACIÓN DE


MEDIOS DIGITALES MEDIANTE TÉCNICAS DE WEB SCRAPING CASO: AGETIC-
HEMEROTECA”, realizado por el ingeniero Roger Iván Aroa Miranda, de la Carrera
de Ingeniería de Sistemas en la Universidad Pública de el Alto, en el año 2020, cuyo
propósito fue: “Desarrollar un sistema web que pueda obtener de las noticias del día a
día de fuentes digitales legalmente establecidas y guardarlos en el sistema, para luego
poner la información a disponibilidad de la población . ”, (Aroa, 2020).

La diferencia con el presente Proyecto de Grado, reside en la obtención de avisos de


alquiler, anticrético y venta de bienes inmuebles de diversas páginas web locales y
legalmente establecidas. Posteriormente se procede a la incorporación de dicha
información en una API y finalmente, se pone a disposición del usuario a través de una
aplicación web.

“DESARROLLO DE UN PROTOTIPO DE APLICACIÓN WEB QUE PERMITA LA


EXTRACCIÓN DE LAS OFERTAS LABORALES DE LAS PRINCIPALES
PLATAFORMAS QUE POSTULAN EMPLEOS EN LA REGION CARIBE USANDO
LA TÉCNICA WEB SCRAPING.”, realizado por el ingeniero Víctor Mauricio Orozco
Puello, de la Carrera de Ingeniería de Sistemas en la Universidad del Sinú Elías
Bechara Zainum Seccional Cartagena, en el año 2019, cuyo propósito fue: “Desarrollar
un prototipo de aplicación web que permita la extracción de las ofertas laborales de
las principales plataformas que ofertan empleos en la región caribe usando la técnica
Web Scraping”, (Orozco, 2019).

2 - 112
La diferencia con el presente Proyecto de Grado, radica en que la aplicación web
posibilita la obtención de ofertas de alquiler de propiedades inmobiliarias de diversas
páginas web locales en el departamento de La Paz, Bolivia, utilizando la técnica de
Web Scraping.

“DISEÑO Y DESARROLLO DE UNA APLICACIÓN WEB SCRAPING DE


EXTRACCIÓN DE ENLACES DE TIENDAS WEB.”, realizado por el ingeniero Pablo
Dolz del Castellar Gonzales Cela, de la Carrera de Ingeniería Electrónica de
Comunicaciones en la Escuela Superior de Ingeniería y Sistemas de
Telecomunicación, en el año 2019, cuyo propósito fue: “Desarrollar una aplicación Web
Scraping de extracción de enlaces de tiendas web”, (Gonzales, 2019).

La diferencia con el presente Proyecto de Grado, es que la aplicación web está


diseñada para la extracción de avisos de inmobiliarios en alquiler, anticrético, venta de
las diferentes páginas web en Internet. Al abarcar múltiples inmobiliarias el software
proporcionara una mayor diversidad de opciones que facilitara a los usuarios.

“SOFTWARE PARA WEB SCRAPING DESDE LAS APIS DE REPOSITORIOS DE


CÓDIGO.”, realizado por el ingeniero Wilmer Fabián Pianchiche de la Cruz, de la
Carrera de Ingeniería de Sistemas de la Universidad Católica del Ecuador, en el año
2020, cuyo propósito fue: “Desarrollar una aplicación web para extraer información
desde la API de un repositorio de código utilizando la técnica de Web Scraping”,
(Pianchiche, 2020).

La diferencia con el Proyecto de Grado es la similitud de extracción de información


desde la API de un repositorio de código, en cambio la aplicación propuesta obtendrá
datos utilizando la técnica de Web Scraping de diferentes páginas inmobiliarias para
mejorar la búsqueda extensa de información inmobiliaria.

3 - 112
PLANTAMIENTO DEL PROBLEMA

En la actualidad hay diversas formas de obtener información sobre alquiler, anticrético


así también la venta de bienes inmuebles, y es precisamente Internet el medio por el
cual se tiene acceso a los datos, con diferentes sitios web y medios de difusión que
ofrecen este servicio. Así también, las personas que buscan información inmobiliaria
terminan visitando múltiples páginas web, redes sociales o anuncios que generalmente
están en los lugares que existe mayor afluencia de gente, lo que genera una pérdida
de tiempo consultando cada una de ellas; adicionalmente se desconoce si estos sitios
web permanecen actualizados, o contienen información segura y confiable, haciendo
que se tengan dudas sobre la información presentada, ocasionando que se llegue a
adquirir anuncios de tiendas comerciales y periódicos provocando un costo adicional
a la búsqueda de información inmobiliaria.

Identificación del problema

 Las personas que buscan información inmobiliaria terminan visitando múltiples


páginas web y redes sociales, lo que genera una pérdida de tiempo consultando
cada una de ellas.

 La gran cantidad de información inmobiliaria en redes sociales, ocasiona confusión


a los usuarios al momento de buscar un bien inmueble para los usuarios.

 El incremento de información inmobiliaria descentralizada que existe en internet,


ocasiona dificultad en los usuarios al decidir que páginas web consultar.

 Obtener información inmobiliaria (alquileres, anticréticos o compra y venta) en


tiendas comerciales y periódicos, ocasiona un costo adicional de dinero para los
usuarios.

 Falta de aplicaciones web que centralicen los anuncios de información inmobiliaria


de las diferentes páginas web en internet.

4 - 112
Formulación del problema

La gran cantidad de información inmobiliaria existente en Internet, que debe ser


revisada, al momento de buscar un alquiler, anticrético o venta de inmueble ocasiona
pérdida de tiempo y una mala toma de decisiones al momento de adquirir uno de estos
servicios para las personas.

OBJETIVOS

Objetivo general

Desarrollar una aplicación web que obtenga datos de bienes inmuebles, de diferentes
páginas, utilizando Web Scraping para que el usuario consiga información centralizada
de alquileres, anticréticos y venta de inmuebles sin necesidad de que se realice la
búsqueda extensa en diferentes páginas.

Objetivo especifico

 Analizar la situación actual del mercado de prestación de servicios de alquiler,


anticrético, compra de bienes inmuebles para identificar los requerimientos
funcionales y no funcionales que debe contar la aplicación web.

 Seleccionar la técnica más apropiada de Web Scraping, mediante un análisis


comparativo de las diferentes técnicas para la extracción de información
inmobiliaria.

 Generar el modelo de base de datos, la estructura de la aplicación web, la interfaz


amigable para el despliegue y la presentación de la información de bienes
inmuebles.

 Desarrollar una Api aplicando la técnica Web Scraping para la obtención de


información inmobiliaria que se muestre en la aplicación web.

5 - 112
 Realizar las pruebas unitarias y de integración de los diferentes módulos
generados, para verificar el correcto funcionamiento de la aplicación web.

JUSTIFICACIÓN

Las justificaciones del presente Proyecto de Grado se sustentan en los puntos que a
continuación se detallan.

Justificación técnica

Para el desarrollo del presente Proyecto de Grado Técnico se utilizará el framework


Angular para el diseño de la interfaz, se hará uso de las librerías de JavaScript, como
Cheerio, Express, Axios para la extracción de datos de las diferentes paginas
inmobiliarias, de igual manera se utilizará el motor de base de datos relacional MySQL
para el almacenamiento de los datos registrados de los usuarios y con respecto a la
metodología de trabajo, se empleará XP para el desarrollo de la aplicación web.

Tabla 1: Herramientas para el desarrollo de la aplicación web

Stack de herramientas para el desarrollo de la aplicación web

Front end Versiones Back end Versiones Base de datos Metodología

Angular V 13 Express V 4.17.1 MySQL XP

[Link] V Lts Cheerio V 1.0.0-rc.10

Axios V 0.24.0

Fuente: Elaboración propia

6 - 112
Justificación social

La aplicación web, al ser de acceso público beneficiará a nuestros usuarios en el


ahorro de tiempo sin ningún tipo de costo, mejorando la búsqueda extensa de
información inmobiliaria de diferentes fuentes, sin la necesidad de recurrir a múltiples
páginas web, así mismo al ser intuitiva y amigable estará disponible a cualquier usuario
con pocos o nulos conocimientos de informática, simplemente con una conexión a
internet.

LÍMITES

El presente Proyecto de Grado Técnico no contemplara los siguientes puntos:

 Se aplicará Web Scraping a las diferentes páginas web de bienes inmuebles


seleccionadas por el usuario.

 No se contemplan páginas que prohíban la extracción de datos con Web Scraping.

 La funcionalidad abarca todos los navegadores que soporten HTML 5 estándar.

 El presente proyecto se enfocará en información de alquileres, anticréticos o venta


de bienes inmuebles.

ALCANCES

El presente Proyecto de Grado Técnico tiene el fin de recopilar información de bienes


inmuebles obtenidos de diferentes páginas web, por lo cual se pretende desarrollar
una aplicación web progresiva, utilizando la técnica de Web Scraping para
proporcionar información inmobiliaria a nuestros usuarios.

7 - 112
Alcance geográfico

El presente trabajo se llevará a cabo en el Tecnológico de la Escuela Militar de


Ingeniería y su alcance geográfico abarcará toda la ciudad de La Paz.

Alcance temporal

El presente Trabajo de Grado se realizara de acuerdo con el calendario académico


de la Escuela Militar de Ingeniería Sede La Paz, correspondiente a la gestión 2022,
donde se encuentran marcadas las fechas de presentación y defensa del Proyecto de
Grado.

8 - 112
CAPÍTULO 2
MARCO TEÓRICO
CAPÍTULO 2

MARCO TEORICO

INGENIERÍA DE SOFTWARE

La ingeniería de software es un enfoque sistemático y disciplinado para el desarrollo


de software. Aplica los principios y prácticas tanto en ciencias de la computación y de
ingeniería para la creación, operación y mantenimiento de sistemas informáticos. La
ingeniería de software cubre no sólo los aspectos técnicos de la construcción de
sistemas de software, sino también temas de manejo, tales como el direccionamiento
de equipos de programación, planeación y el presupuesto. Desarrollo de
procedimientos y sistemas de aplicaciones que se utilizan en máquinas electrónicas.
Ingeniería de software incorpora diversas metodologías aceptadas para diseñar
software. Este tipo particular de ingeniería tiene que tener en cuenta qué tipo de
software se utilizará en una máquina, cómo será el trabajo del software con la máquina,
y qué elementos necesitan ser puestos en marcha para garantizar la fiabilidad. La
ingeniería de software es la práctica de utilizar técnicas de proceso seleccionados para
mejorar la calidad de un esfuerzo de desarrollo de software. Esto se basa en un
enfoque metódico para resultados de desarrollo de software con menos defectos,
proporciona tiempos de entrega más cortos y una mejor relación entre calidad y precio.
La colección documentada de políticas, procesos y procedimientos utilizados por un
equipo u organización de desarrollo para la ingeniería de software se llama modelos
de desarrollo o ciclos de vida del desarrollo de software. (Sommeville, 2005).

Entonces la ingeniería de software es una disciplina formada por herramientas


llamados modelos de desarrollo o ciclos de vida para poder desarrollar ciertos
softwares.

9 - 112
METODOLOGÍAS DE DESARROLLO

Las metodologías de desarrollo de software son los diversos procesos que son
seleccionados, para el progreso de un proyecto en función de sus objetivos y metas,
hay muchas metodologías de ciclo de vida de desarrollo que se han estudiado con el
fin de conseguir diferentes objetivos requeridos, que especifican las diferentes etapas
del proceso y el orden en que se llevan a cabo. Estos marcos de trabajo consisten en
una filosofía de desarrollo de programas la cual debe de contar con las herramientas
necesarias para la asistencia del proceso de desarrollo (Noriega, 2013).

Por lo tanto, se convierte en una cuestión de organización de esos pasos. Aunque hay
varios modelos por lo general se sigue los siguientes procesos:

Figura 1 :Procesos del modelo de software

El reconocimiento de Analisis de
Estudio de viabilidad
un problema requerimientos

Despligue Mantenimiento Diseño de sistema

Implementacion Pruebas

Fuente: Noriega, 2013

Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo


de software, cada uno de los cuales describe un enfoque diferente para diferentes
actividades que tienen lugar durante los procesos (Sornoza, 2017)

10 - 112
Existen los siguientes modelos de desarrollo de software:

Para el desarrollo del presente Proyecto de Grado se utilizará el modelo ágil ya que
permiten adecuar la forma de trabajo a los entornos del proyecto, consiguiendo
flexibilidad e inmediatez.

Figura 2 :Modelos de desarrollo de software

Modelo de V
verificacion y
validacion

Modelo Modelo agil


espiral

Modelo rad(modelo
Modelo
rapio de desarrollo de
cascada
aplicaciones )

Modelo Modelo
incremental iterativo

Fuente: Sornoza, 2017

Modelo ágil

Los modelos ágiles son técnicas de desarrollo de software que se basan en un


desarrollo iterativo e incremental en ciclos muy cortos. Surgieron a raíz de que los
modelos tradicionales no están preparados para hacer frente a los cambios rápidos en
los requerimientos. El objetivo principal de los modelos ágiles es minimizar el costo de
los cambios en los requerimientos. (Mesa, 2018).
11 - 112
Para el desarrollo del presente Proyecto Grado se utilizará el modelo ágil, ya que tiene
la intención de ser capaz de liberar un nuevo software al final de cada iteración,
además que este modelo ágil minimiza el riesgo mediante la producción de software
en tiempos cortos.

Las metodologías agiles de desarrollo de software más conocidas son las siguientes:

Figura 3 :Metodologías de desarrollo ágil más conocidas

Design Sprint
metodologia de Agile Inception Scrum
google

Extreme
Lean software Kanban
Programming
development (development)
(XP)

Fuente: Ambler, 2012

Para el desarrollo de la aplicación web utilizara la metodología XP con el objetivo crear


aplicaciones de calidad, basados en una estrecha interacción con los clientes, pruebas
constantes y ciclos de desarrollo cortos.

Programación extrema XP

La programación extrema (XP) es un método para equipos pequeños y medianos. XP


propone 12 prácticas (reglas) que tienen como objetivo reducir el costo del cambio. La
esencia de la programación extrema consiste en la adopción de las mejores
metodologías y ciclos de vida de desarrollo de software y aplicarlos de forma dinámica,
según las exigencias y características de cada parte (componente, funcionalidad, fase,
etc.) del proyecto que se está desarrollando. En otras palabras, la programación
extrema propone no adoptar una única metodología o ciclo de vida de desarrollo de
software durante todo el desarrollo del proyecto de software, sino que el modelo de
12 - 112
desarrollo propuesto cambie de forma dinámica según las características del proyecto
(Ambler, 2012)

Tabla 2: Programación extrema y sus características

Valores Características fundamentales Roles Las reglas y


prácticas de XP

-simplicidad. -Desarrollo iterativo e incremental. -Programador. -Planificación.


-comunicación. -Pruebas unitarias continuas. -Cliente. -Diseño.
-Realimentación. -Programación en parejas. -Tester. -Desarrollo del
-Coraje o Valentía. -Frecuente integración del equipo -Tracker. código.
-Respeto. de programación con el cliente o -Entrenador
usuario. (Coach).
-Corrección de todos los errores -Consultor.
antes de añadir nueva -Gestor (Big
funcionalidad. boss).
-Refactorización del código, es decir
reescribir ciertas partes del código.
-Simplicidad en el código

Fuente: Elaboración propia

Fases de XP

El ciclo de vida de XP se enfatiza en el carácter iterativo e incremental del desarrollo,


una iteración de desarrollo es un período de tiempo en el que se realiza un conjunto
de funcionalidades determinadas que en el caso de XP corresponden a un conjunto
de historias de usuarios, el uso de esta metodología supone, para muchos teóricos,
una aproximación a la calidad óptima del producto, ya que, durante el ciclo de vida del
software, ocurren cambios naturales. Es más, cuanto más cambio, puede que más
cerca estemos del mejor resultado que espera nuestro cliente. Por eso, este cambio
constante en el proyecto se llega a considerar como favorable, existe una fase de
análisis inicial orientada a programar las iteraciones de desarrollo y cada iteración
incluye diseño, codificación y pruebas, fases superpuestas de tal manera que no se
separen en el tiempo (Sinnaps, 2020).
13 - 112
Para el desarrollo del presente Proyecto de Grado se utilizarán siguientes fases de la
metodología XP Planificación, diseño, codificación, pruebas y lanzamiento.

Figura 4 :Fases de la metodología XP

Fuente: sinnaps, 2020


BASE DE DATOS

Base de datos relacional

Una base de datos relacional es un conjunto de tablas que contienen datos provistos
en categorías predefinidas. Cada tabla contiene una o más categorías de datos en
columnas. Cada fila contiene una instancia única de datos para las categorías
definidas por las columnas. Por ejemplo, una base de datos típica de ingreso de
solicitudes de negocio incluiría una tabla que describiera a un cliente con columnas
para el nombre, dirección, número de teléfono, y así sucesivamente. Otra tabla
identificaría el pedido: producto, cliente, fecha, precio de venta, y así sucesivamente.
Un usuario de la base de datos podría obtener una vista de la base de datos que se
ajuste a sus necesidades. Por ejemplo, un gerente de sucursal podría preferir una vista
14 - 112
o informe sobre todos los clientes que han comprado productos después de una fecha
determinada. Un gerente de servicios financieros en la misma empresa podría, desde
las mismas tablas, obtener un informe sobre las cuentas que deben ser pagadas. Al
crear una base de datos relacional, se puede definir el dominio de posibles valores de
una columna de datos y restricciones adicionales que pueden aplicarse a ese valor de
dato. Por ejemplo, un dominio de posibles clientes podría permitir un máximo de diez
posibles nombres de clientes, pero estar compilado en una tabla que permita que sólo
tres de estos nombres de clientes puedan ser especificados (Sanchez, 2004)

Características de base de datos relacional

Las bases de datos relacionales buscan almacenar la información en cantidades


pequeñas que tienen una relación entre ellas mediante indicadores. Las bases de
datos relacionales suelen ser más robustas y menos vulnerables. Algunas de sus
características son: Atomicidad, consistencia, aislamiento y durabilidad. Además, los
perfiles son más baratos pues son bases de datos que están en el mercado desde
hace mucho tiempo y cuentan, además, con mejor soporte, suites de productos y
tienes mayor compatibilidad estas (Sanchez, 2004)

MySQL

Es un sistema de gestión de bases de datos que cuenta con una doble licencia. Por
una parte, es de código abierto, pero por otra, cuenta con una versión comercial
gestionada por la compañía Oracle para el desarrollo de proyecto se utilizará MysQL
para el almacenamiento de información (Robledano, 2019)

Características de MySQL

 Arquitectura Cliente y Servidor: MySQL basa su funcionamiento en un modelo


cliente y servidor. Es decir, clientes y servidores se comunican entre sí de manera
diferenciada para un mejor rendimiento.

15 - 112
 Compatibilidad con SQL: SQL es un lenguaje generalizado dentro de la industria.
Al ser un estándar MySQL ofrece plena compatibilidad por lo que si has trabajado
en otro motor de bases de datos no tendrás problemas en migrar a MySQL.

 Vistas: Desde la versión 5.0 de MySQL se ofrece compatibilidad para poder


configurar vistas personalizadas del mismo modo que podemos hacerlo en otras
bases de datos SQL. En bases de datos de gran tamaño las vistas se hacen un
recurso imprescindible.

 Procedimientos almacenados: MySQL posee la característica de no procesar las


tablas directamente, sino que a través de procedimientos almacenados es posible
incrementar la eficacia de nuestra implementación.

 Desencadenantes: permite además poder automatizar ciertas tareas dentro de


nuestra base de datos.

 Transacciones: Una transacción representa la actuación de diversas operaciones


en la base de datos como un dispositivo. El sistema de base de registros avala que
todos los procedimientos se establezcan correctamente o ninguna de ellas
(Robledano, 2019)

WEB SCRAPING

Web Scraping es el proceso de recolectar datos contenidos en páginas web mediante


técnicas automatizadas. Lo distintivo del web Scraping es que en principio los datos
parecen poco estructurados. Corresponde por tanto al analista de datos idéntica cuál
es el patrón que siguen los datos, para luego crear y ejecutar un algoritmo
de extracción y procesamiento de los mismos. En la práctica lo que se hace es escribir
un programa que envía consultas a un servidor web, recibe las respuestas usualmente
en forma de páginas web y examina los datos para extraer la información necesaria es
la solución intermedia entre la recolección manual de datos (marcando, copiando y
pegando textos) y el acceso automatizado a los mismos con base en un protocolo

16 - 112
predeterminado (una interfaz de programación, API). Se aplica cuando tales protocolos
no están disponibles y la cantidad de datos que se desea extraer es demasiado grande
para que pueda ser realizada en forma Manual (Mitchell, 2015).

Esta técnica tiene el objetivo de realizar un análisis de datos o realizar procesos Web
automatizados, el presente proyecto utilizará esta herramienta para que la aplicación
web obtenga información inmobiliaria de alquiler, anticrético de manera automática.

Funcionamiento de Web Scraping

El funcionamiento de Web Scraping consiste en una simulación de la navegación, que


una persona realizaría, ya sea implementado a bajo nivel, como en HTTP (Protocolo
de Transferencia de Hipertexto), o incluido en ciertos navegadores web. Ésta
simulación se realiza mediante programas denominados “bots”, que crean una
clonación del cliqueo, la lectura y el “copiar y pegar”, automatizando la tarea de
búsqueda y de recolección de datos. De modo que, Web Scraping se centra en la
transformación del contenido no estructurado, por lo general en formato HTML, en
datos estructurados que pueden ser almacenados y analizados (Atevenio, 2018).

En el marco de este Proyecto de Grado Técnico, se utilizará la técnica de Web


Scraping con el propósito de extraer de forma automatizada datos relacionados con el
sector inmobiliario. Esta información se encuentra en formato HTML, pero será
transformada a formato JSON para que pueda ser consumida por el frontend. De esta
manera, se podrá acceder a los datos de manera estructurada y utilizarlos en el
desarrollo del proyecto.

Usos de Web Scraping

El uso de Web Scraping para empresas o personas son muchos, ya que cada empresa
o individuo tiene su propia necesidad específica de recolección de datos. Algunos de
estos usos son los siguientes:

17 - 112
Figura 5: Usos de Web Scraping

Algunos usos de Web Scraping

Recolección de noticias,
artículos, blogs, etc.

Inteligencia de precios.

Monitoreo de noticias y
contenido.
comparacion de precios en
linea
Datos alternativos para las
finanzas.

Investigación de mercado.

Fuente: Galiana, 2021

Técnicas para el Web Scraping

Las técnicas para Web Scraping varían ampliamente en el esfuerzo y la complejidad.


Estos métodos son principalmente técnicas especiales utilizadas para encontrar y
aislar los elementos de datos dentro del código HTML de una página web. Estas
técnicas son realizadas por muchas empresas, aunque algunos consumen mucho
tiempo en ser desarrollados y son difíciles de mantener siguiendo en la temática del
presente Proyecto de Grado se realizara una selección de las diferentes técnicas de
extracción de información.

• Recolección manual: es quizás el más conocido y sencillo, consiste simplemente


en copiar la información que nos interesa de un sitio web y pegarla. Esta tarea puede
resultar un trabajo cansado y tedioso ya que si, en vez de tener que realizarlo en
una página, debemos de hacerlo en miles o millones de páginas web sería
imposible.

18 - 112
• Uso de expresiones regulares: una posible vía para extraer información de
páginas webs pueden ser las expresiones regulares, aunque comúnmente no se
recomienda utilizarlas para parsear el formato HTML.

• Protocolo HTTP: páginas webs estáticas y dinámicas pueden ser obtenidas


haciendo peticiones HTTP al servidor remoto utilizando sockets, etc.

• Algoritmos de minería de datos: muchos sitios webs tienen grandes colecciones


de páginas generadas dinámicamente a partir de una base de datos. Datos de la
misma categoría aparecen usualmente en páginas similares mediante un script o
una plantilla.

• Parsers de HTML: Algunos lenguajes, como XQuery y HTQL pueden ser utilizados
para parsear documentos, recuperar y transformar el contenido de documentos
HTML.

• Aplicaciones para web scraping: Estas aplicaciones podrían reconocer


automáticamente la estructura de cierta página o brindar una interfaz al usuario
donde este pudiera seleccionar los campos que son de interés dentro del
documento. De esta forma no es necesario escribir manualmente código para
realizar estas tareas.

• Reconocimiento de información semántica: las páginas que son analizadas


podrían incluir metadatos o cierta información semántica como anotaciones o
comentarios, los cuales pueden ser usados comúnmente. Si estas anotaciones
están en las mismas páginas, como sucede con los micro formatos, estas podrían
ser de utilidad cuando parseamos el DOM del documento (Hernandez, 2014).

Para asegurar el correcto funcionamiento de la aplicación web, se emplearán diversas


técnicas de Web Scraping seleccionadas de manera adecuada. Estas técnicas serán
aplicadas de manera precisa y cuidadosa para extraer la información necesaria de
manera automatizada.

19 - 112
APLICACIÓN WEB

Introducción a internet

Internet, la red de redes, nace a mediados de la década de los setenta, bajo los
auspicios de DARPA, la Agencia de Proyectos Avanzados para la Defensa de Estados
Unidos. DARPA inició un programa de investigación de técnicas y tecnologías para
unir diversas redes de conmutación de paquetes, permitiendo así a los ordenadores
conectados a estas redes comunicarse entre sí de forma fácil y transparente. De estos
proyectos nació un protocolo de comunicaciones de datos, IP o Protocolo de internet,
que permitía a ordenadores diversos comunicarse a través de una red, Internet,
formada por la interconexión de diversas redes (Mateu, 2004).

Para asegurar el correcto funcionamiento de la aplicación web, será fundamental


contar con una conexión a Internet, ya que esto permitirá mostrar la información
relacionada con el sector inmobiliario. La aplicación dependerá de la conexión a
Internet para acceder y visualizar los datos relevantes en tiempo real.

Fundamentos de la web

El éxito espectacular de la web se basa en dos puntales fundamentales: el protocolo


HTTP y el lenguaje HTML. Uno permite una implementación simple y sencilla de un
sistema de comunicaciones que nos permite enviar cualquier tipo de ficheros de una
forma fácil, simplificando el funcionamiento del servidor y permitiendo que servidores
poco potentes atiendan miles de peticiones y reduzcan los costes de despliegue. El
otro nos proporciona un mecanismo de composición de páginas enlazadas simple y
fácil, altamente eficiente y de uso muy simple (Mateu, 2004).

Para desarrollar la aplicación web de manera efectiva, es esencial comprender los


principios fundamentales de la web, ya que el uso de Web Scraping implica el manejo
de verbos HTTP que son clave para enviar y recibir datos.

20 - 112
Historia de las aplicaciones web

Inicialmente la web era simplemente una colección de páginas estáticas, documentos,


etc., que podían consultarse o descargarse. El siguiente paso en su evolución fue la
inclusión de un método para confeccionar páginas dinámicas que permitiesen que lo
mostrado fuese dinámico (generado o calculado a partir de los datos de la petición).
Dicho método fue conocido como CGI (common Gateway interface) y definía un
mecanismo mediante el cual podíamos pasar información entre el servidor HTTP y
programas externos. Los CGI siguen siendo muy utilizados, puesto que la mayoría de
los servidores web los soportan debido a su sencillez.

Además, nos proporcionan total libertad a la hora de escoger el lenguaje de


programación para desarrollarlos(Mateu, 2004).

LENGUAJE DE PROGRAMACIÓN

Un lenguaje de programación es un lenguaje de computadora que los programadores


utilizan para comunicarse y para desarrollar programas de software, aplicaciones,
páginas webs, scripts u otros conjuntos de instrucciones para que sean ejecutadas por
los ordenadores.

Así como los idiomas que utilizan los humanos para comunicarse, los ordenadores
tienen sus propios lenguajes de programación. Cada lenguaje de programación tiene
un conjunto único de palabras clave (palabras que entiende) y una sintaxis especial
para organizar las instrucciones del programa específico de programación.

Estos lenguajes de programación vienen en forma de instrucciones o secuencias de


órdenes en forma de algoritmos con el fin de controlar el comportamiento físico o lógico
del ordenador, de manera que se puedan obtener diversas clases de datos o ejecutar
determinadas tareas.(Wild code school, 2021).

Para la implementación de la aplicación, se emplearán lenguajes de programación


adecuados que permitan la automatización y extracción de datos.
21 - 112
JavaScript

Es un lenguaje interpretado usado para múltiples propósitos, pero solo considerado


como un complemento hasta ahora. Una de las innovaciones que ayudó a cambiar el
modo en que vemos JavaScript fue el desarrollo de nuevos motores de interpretación,
creados para acelerar el procesamiento de código. La clave de los motores más
exitosos fue transformar el código en recopilación máquina para lograr velocidades de
ejecución similares a aquellas encontradas en aplicaciones de escritorio. Esta
mejorada capacidad permitió superar viejas limitaciones de rendimiento y confirmar el
lenguaje como la mejor opción para la web, desarrollar aplicaciones móviles para
scripting del lado del cliente (Gauchat, 2012).

Para el desarrollo de la aplicación web, se empleará el lenguaje de programación


JavaScript debido a su naturaleza de interpretación y su amplia aplicación en el
desarrollo web.

CSS

Es un lenguaje de hojas de estilo, es decir, te permite aplicar estilos de manera


selectiva a elementos en documentos HTML cabe recalcar que no es un lenguaje de
programación como tal. Se hará el uso de css para presentar la interfaz amigable e
intuitiva, dar estilo a los botones, brindando la experiencia agradable visualmente al
usuario (Gauchat, 2012).

Para crear la interfaz gráfica, se utilizará CSS, un lenguaje de hojas de estilo que nos
permitirá diseñar una interfaz amigable e intuitiva para los usuarios.

HTML

Es un Lenguaje de Marcado de Hipertexto es el código que se utiliza para estructurar,


desplegar una página web y sus contenidos de la misma manera no es un lenguaje de
programación, permitiendo mostrar archivos de manera estructurada, e incluir
imágenes, sonidos, videos, gráficos y otros archivos multimedia actualmente está en
la versión HTML5 (Gauchat, 2012).
22 - 112
FRAMEWORKS DE DESARROLLO WEB

Angular

Es una plataforma que permite desarrollar aplicaciones web en la sección cliente


utilizando HTML y JavaScript para que el cliente asuma la mayor parte de la lógica y
descargue al servidor con la finalidad de que las aplicaciones ejecutadas a través de
Internet sean más rápidas. El hecho de estar mantenido por Google, así como una
serie de innumerables razones técnicas, ha favorecido su rápida adopción por parte
de la comunidad de desarrolladores. Permite la creación de aplicaciones web de una
sola página (SPA:single-page application) realizando la carga de datos de forma
asíncrona (Gutiérrez, 2022).

Para desarrollar la interfaz gráfica y presentar la información inmobiliaria desde el lado


del cliente, se utilizará el framework Angular. Este marco es capaz de desarrollar
aplicaciones web de una sola página (SPA) y cuenta con el respaldo y soporte de
Google.

Axios

Axios tiene la facultad de ejecutarse en el navegador, configurar y realizar solicitudes


a un servidor para recibir sus respuestas, cuenta con una única API para gestionar las
solicitudes Ajax, gestiona el consumo de servicio web API REST efectivamente, a
pesar de su potencia es muy ligero, pesa poco más de 10KB y es compatible con todos
los navegadores actuales, el cual se hará uso de esta herramienta para desarrollar la
Api de Web Scraping (Sevilla, 2022)

Para implementar el desarrollo del API, se utilizará el paquete Axios, el cual


proporciona una interfaz sencilla para realizar peticiones HTTP. Este paquete se
utilizará para enviar solicitudes al servidor y recibir las respuestas correspondientes.
Axios simplifica el proceso de comunicación entre el cliente y el servidor, permitiendo
realizar operaciones como obtener datos, enviar formularios, actualizar información,
entre otras, de manera eficiente y confiable.

23 - 112
Cheerio

Es una implementación rápida, flexible y ligera que se podría ver como una
actualización de JQuery, utiliza su mismo core. Cheerio analiza el DOM y proporciona
una manera operable de modificar la información resultante, Esta herramienta será
utilizada para desarrollar la API utilizando la técnica de Web Scraping, lo cual permitirá
obtener datos relacionados con el sector inmobiliario. Al emplear el Web Scraping, se
podrán extraer de forma automatizada los datos necesarios desde diferentes fuentes
web, como sitios de inmobiliarias, para luego utilizarlos en la API. Esto facilitará la
obtención y actualización de información inmobiliaria de manera eficiente y en tiempo
real. (Sevilla, 2022)

[Link]

Este framework que proporciona herramientas robustas y simplificadas para Nodejs.


Permite estructurar una aplicación de una manera ágil, añadiendo funcionalidades
como enrutamiento, gestión de sesiones y cookies entre otro.

Para el desarrollo de la API y la obtención de información, se empleará Express JS


como framework. Express JS se utilizará específicamente para crear y gestionar las
rutas y endpoints de la API, permitiendo recibir y enviar solicitudes HTTP para obtener
la información necesaria. Este framework es conocido por su simplicidad y flexibilidad,
lo que facilita el desarrollo rápido y eficiente de la API. Con Express JS, se podrá definir
de manera clara y estructurada cómo interactuar con la API y obtener la información
requerida de forma segura y confiable. (Sevilla, 2022).

API

El término API interfaz de programación de aplicaciones, se e trata de un conjunto de


definiciones y protocolos que se utiliza para desarrollar e integrar el software de las
aplicaciones, permitiendo la comunicación entre dos aplicaciones de software a través
de un conjunto de reglas, así pues, podemos hablar de una API como una
24 - 112
especificación formal que establece cómo un módulo de un software se comunica o
interactúa con otro para cumplir una o muchas funciones, se utilizara una API para la
comunicación de la base de datos con el diseño de la aplicación web y el Web Scraping
así poder mostrar información de bienes inmuebles (Chiyana, 2021).

BIENES INMUEBLES

Los bienes inmuebles son aquellos que no pueden trasladarse de un lugar a otro,
como, por ejemplo, una casa o un lote de terreno. Al respecto el Código Civil Boliviano
establece que la tierra y todo lo que esta adherido a ella natural o artificialmente es
considerada bien inmueble. En esta definición también se encuentran las minas,
yacimientos de hidrocarburos, lagos, manantiales y corrientes de agua. (Los bienes
inmuebles, a diferencia de sus pares muebles, deben ser inscritos en Derechos Reales
a efectos de acreditar el derecho propietario de su titular, ya que la Ley otorga la
preferencia sobre un derecho a aquella persona que haya registrado el mismo. (Ref.
Art. 1545 C.C.) (Paredes, 2022)

PRUEBAS

De manera general, lo primero que debemos tener en cuenta es que existen pruebas
de software manuales y pruebas de software automatizadas.

Las pruebas manuales

Son llevadas a cabo por personas, quienes navegan e interactúan con el software
usando herramientas adecuadas para cada caso. Estas pruebas resultan costosas, ya
que se requiere contar con un profesional encargado de esta labor; para configurar un
entorno y así mismo ejecutar las pruebas. Como es de esperarse, estas pruebas están
expuestas a errores humanos: por ejemplo, se pueden cometer errores tipográficos u
omitir pasos durante la prueba (Jess, 2018).

25 - 112
Las pruebas automatizadas

Por el contrario, son realizadas por máquinas, que ejecutan un "test script" que ya ha
sido escrito previamente, estas pruebas pueden variar mucho en cuanto a complejidad:
Desde verificar que el método de una clase específica funcione correctamente, Hasta
asegurar que unas secuencias de acciones complejas.

Estas pruebas son más rápidas y confiables que las que se llevan a cabo
manualmente, pero la calidad de estas pruebas automatizadas depende de qué tan
bien escritos se encuentren los "tests scripts" y de esta forma asegurar que el sistema
rinda a su mejor capacidad y realice su funcionamiento correctamente para la
devolución de resultados esperados.(Jess, 2018).

26 - 112
CAPÍTULO 3
MARCO PRÁCTICO

29 - 112
CAPÍTULO 3

MARCO PRÁCTICO

PLAN DE DESARROLLO DE SOFTWARE

El propósito de un plan de desarrollo de software es definir de las actividades en


términos de las fases y las iteraciones necesarias para la implementación de un
servicio, debido a la escala del presente Trabajo de Grado, a desarrollar, requiere
analizar la situación actual, comprender y abstraer e identificar el entorno, se
estableció en las primeras etapas de la metodología XP.

Tabla 3: Planificación de la metodología XP

TEMARIO METODOLOGIA TAREA PRODUCTO


ENTREGABLE

Recopilación de la Tabla de los mejores


ANÁLISIS DE LA SITUACIÓN ACTUAL

información del páginas web


mercado de bienes inmobiliarias .
inmuebles en la
actualidad.
Diagrama de casos de
uso del proceso
actual.
Descripción de los
procesos actuales.
Diagrama de flujo del
proceso actual.

/…
27 - 112
…/
Análisis de procesos Historia de usuarios
y módulos que tendrá
el sistema
Tabla de
Identificación de Requerimientos
requerimientos funcionales
Tabla de
requerimientos no
ANÁLISIS DEL SISTEMA

funcionales
Identificación de Tabla de descripción
actores del sistema de los actores
Asignación de roles. Tabla de asignación
de roles del proyecto.
Tabla de entregas del
Plan de entregas
proyecto.
Ciclo de vida de la Desarrollo de
aplicación web. iteraciones de la
aplicación.
Identificar la técnica Tabla comparativo de
más apropiada de las diferentes
Web Scraping técnicas.
Diseño basado en
Diagrama de casos de
comportamientos.
uso.
Diagrama de
DISEÑO DEL SISTEMA

secuencias
Diseño de la
Diagrama de
DISEÑO arquitectura de
componentes
software

Diagrama de
despliegue
Diseño de la base de
Diagrama de entidad
datos
relación

/…

28 - 112
…/

Modelo conceptual

Modelo lógico

Modelo físico

Diagrama de
Diseño de la
navegación
navegación del
sistema

Pantallas muertas.
Diseño de la interfaz
grafica

Creación de la base Captura de diagrama


de datos. físico.
DESARROLLO DEL SISTEMA

Desarrollo del api Maquetación de


DESARROLLO aplicando Web backend
Scraping

Capturas de front end


Desarrollo de la
interfaz amigable y la
presentación de la
información
inmobiliaria

Pruebas unitarias

PRUEBAS Aseguramiento de la
VALIDACIÓN

PRUEBAS

calidad. Pruebas de
aceptación
y

/…

29 - 112
Nota …/
de
Implementar

IMPLEMENTACIÓN DEL
implementación de la
aplicación a la web.
aplicación web.
LANZAMIENTO

SISTEMA

Fuente: Elaboración Propia.

ANÁLISIS DE LA SITUACIÓN ACTUAL

Se llevó a cabo el análisis de la situación actual, el cual brinda una comprensión de las
actividades y procesos relacionados con la adquisición de propiedades inmobiliarias,
así como la forma en que los usuarios obtienen información inmobiliaria en la ciudad
de La Paz. Para ello, se utilizaron métodos de entrevistas para identificar las páginas
o medios de información más frecuentados por los usuarios. De esta manera, se
obtuvo información relevante sobre las preferencias y hábitos de los usuarios al buscar
información inmobiliaria en la ciudad.

Recopilación de la información del mercado de bienes inmuebles

En la ciudad de la paz actualmente existen alrededor de 400 inmobiliarias, pero la


mayoría de ellas son informales, pequeñas, o incluso estafas ante esta situación puede
ser difícil elegir o saber cuáles son las mejores inmobiliarias de la ciudad de La Paz.
(CasaBolivia,2020)

Criterios de evaluación

Los criterios de evaluación que se usaron para elegir las mejores inmobiliarias en La
Paz.

30 - 112
 Registro en fundempresa

Solo las empresas registradas en fundempresa, están habilitados para realizar


operaciones comerciales en Bolivia, cualquier empresa que no este registro se
denomina informal y sus actividades de comercio son ilegales(CasaBolivia,2020).

 Años de operación

Mientras más antigua sea una empresa inmobiliaria más fuerte es existen empresas
inmobiliarias que están más de 30 años en el rubro. Los años de operación son un
buen indicador de la solidez de una inmobiliaria, así como de su especialización y
conocimiento del rubro(CasaBolivia,2020).

 Aprobación de clientes

Uno de los aspectos más importantes a la hora de elegir una inmobiliaria, ya que tiene
que haber mantenido historial de buen servicio a sus clientes, durante al menos los
últimos años. Mientras más satisfechos están los clientes pasados,
mejor(CasaBolivia,2020).

 Solidez de marca

Mientras más conocida la marca de una inmobiliaria mejor, ya que indica que está
inmobiliaria es conocida, ha tenido muchos clientes y, además, es una inmobiliaria que
ha demostrado estabilidad a lo largo del tiempo, logrando un nombre
reconocido(CasaBolivia,2020).

 Grado de actividad actual

Existen empresas inmobiliarias que tuvieron mucha actividad en el pasado, pero


actualmente casi no tienen actividad, lo cual es de tomar en cuenta, ya que mientras
más actividad reciente, más probabilidades de que la empresa brinde un mejor
servicio(CasaBolivia,2020).

31 - 112
 Cuenta con oficinas

Existen muchas inmobiliarias legales (y casi todas las informales) que no cuentan con
oficinas reales y solamente son personas o grupo de personas que atienden desde
teléfonos celulares(CasaBolivia,2020).

 Cuenta con teléfono fijo

Muchas inmobiliarias legales, y casi todas las informales, solamente atienden desde
teléfonos celulares, lo cual es también muy poco profesional, e indica que la
inmobiliaria no es estable o que no es una empresa establecida(CasaBolivia,2020).

 Cuenta con sitio web

Aunque no es un requisito tan importante como los anteriores, contar con un sitio web
le permite una inmobiliaria comunicarse con sus clientes y ofrecerles información
(CasaBolivia,2020).

Estos criterios permitieron identificar y seleccionar las mejores inmobiliarias en la


ciudad de La Paz en función de su legalidad, experiencia, satisfacción del cliente y
solidez de marca.

El objetivo de este enfoque fue identificar las fuentes de información más utilizadas y
confiables, a fin de seleccionar las mejores inmobiliarias en base a los criterios de
calidad y satisfacción de los usuarios. Mediante el análisis de los datos recopilados, se
pudo obtener una visión clara de las preferencias y comportamientos de los usuarios
en relación a la adquisición de bienes inmobiliarios en la ciudad.

En la tabla Nro. 4 muestra las inmobiliarias con su respectiva posición, nombre,


indicación de si están registradas en Fundempresa, aprobación del cliente en forma
de calificación, años de operación, solidez de la marca, grado de actividad, si cuentan
con oficinas, sitio web y número de teléfono fijo.

32 - 112
Tabla 4 :Mejores inmobiliarias en la ciudad de La Paz

Pos Nombre Funde Aprobación Años Solidez Grado de Con Sitio Teléfon
mpresa Del cliente operación marca actividad oficinas web o fijo

1 Infocasa Si 4,8 /5 28 21 años Alto Alto Si Si Tiene


revisiones
Bolivia 4,5 / 5 13
2 Si 4 años en Alto Alto Si Si Tiene
Bienes revisiones
Bolivia
online

3 Mercado Si 4,1 /5 32 40 años Alto Alto Si Si Tiene


prop revisiones

4 Bolivian Si 4,0 / 5 2 30 años Medio Medio Si Si Tiene


RE revisiones

5 Ultracasa Si 3,5 / 5 13 7 años Medio Medio Si Si Tiene


revisiones

6 Firma Si 4,5 / 5 15 5 años Medio Medio Si Si Tiene


revisiones

Fuente: Elaboración Propia.

Descripción de los procesos actuales

La información obtenida de los procesos actuales que desarrolla usuario que adquiere
servicio de una inmobiliaria la información fue extraída de las entrevistas que se
realizaron a los usuarios.
[Link] Proceso de adquisición de bienes inmobiliarios

La manera de obtener información inmobiliaria se lo realiza en las diferentes páginas


inmobiliarias que brindan este servicio ya sea para el usuario común u el usuario
arrendador que publica su propiedad.

33 - 112
Figura 6 :Diagrama de casos de uso del proceso actual

Fuente: Elaboración Propia.

Como se puede apreciar en la figura Nro.6 representa la manera en que los usuarios
utilizan Internet para obtener información relacionada con la publicación, búsqueda y
venta de propiedades inmobiliarias. Esto se evidencia a través de la utilización de
diferentes páginas web y redes sociales como medios de acceso a dicha información.

34 - 112
Figura 7 :Diagrama de flujo del proceso actual

Fuente: Elaboración Propia

35 - 112
ANÁLISIS DE SISTEMA

El Análisis del sistema es una de las fases en la construcción de un sistema donde se


determinan los objetivos de un software señala la direccionalidad que se debe llevar
para el logro de los objetivos propuestos.

Análisis de procesos y módulos que tendrá el sistema

A continuación, se muestra los procesos que tendrá el sistema en las siguientes tablas:

Tabla 5 :Historia de usuario 1-Registro de usuario

Historia de Usuario

Numero:1 Usuario: Usuario

Nombre historia: Registro de usuario.

Prioridad en negocio: Alta Riesgo en desarrollo : Medio

Puntos estimados: 1 Iteración asignada : 1

Responsable: Alvaro Choque Colquehuanca

Descripción:
El usuario tendrá acceso a un formulario de registro, en el cual llenara los datos que se le piden
La pantalla tendrá las siguientes características
-Un formulario de registro, campos de texto con una breve descripción de la información a
ingresarse, un campo PASSWORD que permita el ingreso de la contraseña.
Eventos al presionar el botón Registrar.
−Se verificará que todos los campos de texto estén llenos, caso contrario la aplicación mostrará un
mensaje de alerta, correspondiente al campo requerido sin afectar los campos llenos.
−Si todos los datos que se piden al usuario son correctos, se le direccionara a la página principal.

Observaciones:
Deberá ingresarse a la dirección de la aplicación web.

Fuente: Elaboración Propia.

36 - 112
Tabla 6 :Historia de usuario 2-Seguridad con CAPTCHA

Historias de Usuario

Numero:2 Usuario: Usuario

Nombre historia: Registro de usuario con CAPTCHA para mayor seguridad

Prioridad en negocio: Alta Riesgo en desarrollo : Media

Puntos estimados: 3 Iteración asignada : 1

Responsable: Alvaro Choque Colquehuanca

Descripción:
El usuario podrá registrarse con mayor seguridad utilizando un CAPTCHA. Se debe implementar
un formulario de registro que solicite los datos necesarios para el registro y además incluya un
campo para resolver un CAPTCHA.
−Un campo para resolver el CAPTCHA que garantice la seguridad del registro.
Eventos al presionar el botón Registrar.
−Se validará la respuesta del CAPTCHA para asegurar que el registro lo está realizando un
humano y no un programa automatizado.
−Si todos los datos y el CAPTCHA son correctos, se re direccionará al usuario a la página principal
de la aplicación web.

Observaciones:
Deberá llenar los campos solicitados de seguridad.

Fuente: Elaboración Propia

En la tabla Nro. 6 se describe la historia de usuario 2, que se centra en brindar al


usuario un registro con una prueba de verificación humana para garantizar una mayor
seguridad. En el formulario de inicio de sesión, se requerirá resolver una prueba de
seguridad para asegurarse de que no se trata de un robot. Si tanto los datos como el
CAPTCHA son verificados correctamente, el usuario será redirigido automáticamente
a la página principal de la aplicación web.

37 - 112
Tabla 7 :Historia de usuario 3- Acceso de Usuario

Historia de Usuario

Numero: 3 Usuario: Usuario

Nombre historia: Acceso de Usuario.

Prioridad en negocio: Alta Riesgo en desarrollo : Media

Puntos estimados: 1 Iteración asignada : 1

Responsable: Alvaro Choque Colquehuanca

Descripción:
El usuario tendrá acceso a un formulario LOGIN, el cual comprobara, si los datos introducidos
corresponden al usuario.
La pantalla tendrá las siguientes características
−Un formulario LOGIN
−Campos de texto con una breve descripción, de la información a ingresarse
−Un campo PASSWORD donde se muestren puntos en lugar de caracteres reales.
Eventos al presionar el botón Entrar
−Se verificará que todos los campos de texto estén llenos, caso contrario la aplicación mostrará un
mensaje de alerta, correspondiente al campo requerido sin afectar los campos llenos.
Observaciones:
Deberá registrarse en la aplicación web.

Fuente: Elaboración Propia

En la tabla Nro. 7 describe la historia de usuario 3, se trata de proporcionar al usuario


acceso a un formulario de inicio de sesión. El formulario de inicio de sesión deberá
verificar si los datos introducidos corresponden a un usuario registrado. La pantalla de
inicio de sesión incluirá campos de texto con descripciones breves de la información
requerida y un campo de contraseña donde se mostrarán puntos en lugar de
caracteres reales. Al presionar el botón "Entrar", se verificará que todos los campos de
texto estén llenos. En caso de que falte algún campo, se mostrará un mensaje de alerta
correspondiente sin afectar los campos que ya están llenos. Además, se menciona una
observación que indica que el usuario deberá registrarse en la aplicación web.

38 - 112
Tabla 8 :Historia de usuario 4-Cerrar sesión

Historia de Usuario

Numero: 4 Usuario: Usuario

Nombre historia: Cerrar sesión

Prioridad en negocio: Alta Riesgo en desarrollo : Media

Puntos estimados: 1 Iteración asignada : 1

Responsable: Alvaro Choque Colquehuanca

Descripción:
Después de iniciar sesión en la aplicación web, el usuario contará con la opción de cerrar sesión
mediante un botón designado para tal fin.
La pantalla tendrá las siguientes características
−Un botón Cerrar sesión.
Eventos al presionar el botón Cerrar sesión.
−Se cerrará la sesión iniciada y se direccionará a la página de inicio.

Observaciones:
El usuario deberá iniciar sesión

Fuente: Elaboración Propia

La Tabla Nro. 8 presenta la historia de usuario número 4, titulada "Cerrar sesión". El


objetivo de esta historia es permitir al usuario finalizar su sesión en la aplicación web
después de haber iniciado sesión previamente.

Una vez que el usuario ha iniciado sesión en la aplicación, se le proporcionará una


opción claramente identificada para cerrar su sesión. Al hacer clic en el botón "Cerrar
sesión", se realizarán las siguientes acciones: se cerrará la sesión actual del usuario,
lo que implica eliminar las credenciales de acceso y finalizar la sesión en la aplicación.
Además, el usuario será redirigido a la página de inicio, que es la pantalla principal de
la aplicación.

39 - 112
Tabla 9 :Historia de Usuario 5-Seleccionar página inmobiliaria

Historias de Usuario

Numero: 5 Usuario: Usuario

Nombre historia: Seleccionar información de página inmobiliaria

Prioridad en negocio: Alta Riesgo en desarrollo : Media

Puntos estimados: 1 Iteración asignada : 1

Responsable: Alvaro Choque Colquehuanca

Descripción:
El usuario podrá seleccionar páginas de inmuebles a las que se extraerá la información.
La pantalla tendrá las siguientes características
−Una lista de páginas web inmobiliarios disponibles para seleccionar.
Eventos al presionar el botón Entrar
−Se registrará las páginas a las que se seguirá.

Observaciones:
El usuario deberá iniciar sesión

Fuente: Elaboración Propia

La Tabla Nro. 9 presenta la historia de usuario número 5, titulada "Seleccionar


información de página inmobiliaria" se trata de permitir al usuario seleccionar páginas
web de inmuebles de las cuales se extraerá información. La pantalla correspondiente
a esta funcionalidad incluirá una lista de páginas web inmobiliarios disponibles para
que el usuario las seleccione.

Cuando el usuario presione el botón "Entrar", se llevará a cabo el registro de las


páginas seleccionadas a las cuales se seguirá extrayendo información. Se menciona
una observación adicional que indica que el usuario debe iniciar sesión previamente
para poder acceder y utilizar esta funcionalidad.

40 - 112
Tabla 10 :Historia de usuario 6-Visualización de inmuebles

Historias de Usuario

Numero: 6 Usuario: Usuario

Nombre historia: Visualización de avisos inmobiliarias nuevas

Prioridad en negocio: Alta Riesgo en desarrollo : Media

Puntos estimados: 1 Iteración asignada : 1

Responsable: Alvaro Choque Colquehuanca

Descripción:
El usuario podrá revisar si existen avisos nuevos en la página que sigue.
La pantalla tendrá las siguientes características
−Un botón de actualizar
Eventos al presionar el botón Actualizar.
−Se actualizará la información nueva de la página inmobiliaria que sigue, mostrándose en la
pantalla.
Observaciones:
Debe seleccionar una página inmobiliarias de la lista.

Fuente: Elaboración Propia

La Tabla Nro. 10 presenta la historia de usuario número 6, titulada "Visualización de


avisos inmobiliarios nuevos". En el caso de la historia de usuario 6, se trata de permitir
al usuario visualizar los avisos inmobiliarios nuevos. La pantalla correspondiente a esta
funcionalidad incluirá un botón de "Actualizar”.

Cuando el usuario presione el botón "Actualizar", se llevará a cabo la actualización de


la información nueva de la página inmobiliaria que sigue. La información actualizada
se mostrará en la pantalla para que el usuario pueda revisar los avisos inmobiliarios
nuevos. Se menciona una observación adicional que indica que el usuario debe
seleccionar una página inmobiliaria de la lista antes de poder visualizar los avisos
nuevos.

41 - 112
Tabla 11 :Historia de usuario 7-Búsqueda de inmuebles

Historias de Usuario

Numero: 7 Usuario: Usuario

Nombre historia: Búsqueda de inmuebles

Prioridad en negocio: Alta Riesgo en desarrollo : Alta

Puntos estimados: 1 Iteración asignada : 1

Responsable: Alvaro Choque Colquehuanca

Descripción:
El usuario podrá realizar búsqueda de inmuebles mediante el título, descripción, locación y precio.
La pantalla tendrá las siguientes características
−Un botón de búsqueda que realice filtros de búsqueda.
Eventos al presionar el botón Búsqueda.
−Se filtrara la información de la página inmobiliaria según el filtro de búsqueda ya sea precio,
locación, título del inmueble, mostrándose en la pantalla.

Observaciones
Se deberá realizar los filtros de búsqueda con palabras claves.

Fuente: Elaboración Propia

En la Tabla Nro.11 se describe la historia de usuario 7, titulada "Búsqueda de


inmuebles". El objetivo es proporcionar al usuario la capacidad de realizar filtros de
búsqueda en la aplicación web utilizando palabras claves como el título, descripción,
locación y precio como criterios de búsqueda.

Al presionar el botón "Buscar", se aplicará el filtro a la información a la página


inmobiliaria de acuerdo con los criterios de búsqueda seleccionados, lo que resultará
en la visualización en pantalla de los inmuebles que cumplen con dichos criterios.

42 - 112
Tabla 12 :Historia de usuario 8-Actualizar inmobiliaria

Historias de Usuario
Numero: 8 Usuario: Usuario

Nombre historia: Actualizar inmobiliaria

Prioridad en negocio: Alta Riesgo en desarrollo : Alta

Puntos estimados: 1 Iteración asignada : 1

Responsable: Alvaro Choque Colquehuanca

Descripción:
El usuario tendrá la capacidad de actualizar o refrescar la aplicación web para poder ver los nuevos
anuncios de propiedades que han sido agregados recientemente en la página inmobiliaria en la
que se está extrayendo la información.
−Un botón que permita actualizar la página inmobiliaria.
Eventos al presionar el botón Actualizar.
− Se realizará una solicitud de actualización de la página inmobiliaria.
− Se recopilará la información más reciente de los nuevos avisos de propiedades.
− Los nuevos avisos serán cargados y actualizados en la interfaz de la aplicación.
− Los usuarios podrán visualizar los últimos avisos inmobiliarios que se hayan subido.
− Se podrán aplicar filtros y realizar búsquedas con la información actualizada.
− Los resultados de búsqueda se ajustarán según los nuevos avisos disponibles.

Observaciones
Para realizar una actualización de debe tener acceso a internet.

Fuente: Elaboración Propia

La Tabla Nro. 12 presenta la historia de usuario 8, titulada "Actualizar inmobiliaria". El


objetivo principal es permitir al usuario actualizar o refrescar una página inmobiliaria
para visualizar los avisos más recientes de propiedades. Además, se brindará la
posibilidad de realizar búsquedas con la información actualizada, ajustando los
resultados de búsqueda según los nuevos avisos disponibles.

43 - 112
Identificación los requerimientos

A continuación, se muestra cada uno de los requerimientos que fueron descritos por
el cliente y los futuros usuarios de la aplicación web.

Tabla 13 :Tabla de categoría de funciones

Categoría de la función Significado

Evidente Debe realizarse y los usuarios están conscientes de


que se ha realizado.

Oculto Debe realizarse, aunque no es visible para los


usuarios. Esto se aplica a muchos servicios técnicos
subyacentes, por ejemplo, guardar información en un
mecanismo persistente de almacenamiento.

Superflua Opcionales, su inclusión no repercute de forma


significativa en costo ni otras funciones.

Fuente: Larman, 1999.

En la Tabla Nro. 13 ayuda a comprender y evaluar las funciones de un sistema en


función de su visibilidad, importancia y necesidad de implementación. Las funciones
evidentes son esenciales y visibles para los usuarios, las funciones ocultas son
necesarias, pero no visibles directamente, y las funciones superfluas son opcionales y
no tienen un impacto significativo en el sistema. Esta clasificación proporciona una
guía útil para priorizar y tomar decisiones relacionadas con las funcionalidades a
implementar en la aplicación web, teniendo en cuenta su relevancia y visibilidad para
los usuarios finales.

44 - 112
Requerimientos funcionales

Tabla 14 :Requerimientos funcionales

Referencia Función Categoría

R.1.1 Acceder a la aplicación web por Evidente


un rol único (usuario)

R.1.2 Seleccionar inmobiliarias Evidente


Digitales.

R.1.3 Recuperar de forma automática Oculto


información inmobiliaria.

R.1.4 Recuperar de forma automática Oculto


el título, ubicación, descripción,
imagen del inmueble, precio.

R.1.5 Inicio y Cierre de la aplicación Evidente

R.1.6 Acceso a la información Evidente


proporcionada de la aplicación
web con autenticación.

R.1.7 Mostrar los avisos encontrados Evidente


por inmobiliaria.

R.1.8 La aplicación debe contar con Evidente


un botón de actualización de
nuevos avisos inmobiliarios.

Fuente: Elaboración Propia.

45 - 112
Requerimientos no funcionales

Tabla 15 :Requerimientos no funcionales

Referencia Función Categoría

R.1.1 La aplicación debe visualizarse Evidente


y funcionar correctamente en
cualquier navegador Mozilla,
Chrome u opera.

R.1.2 Soporte y mantenimiento Evidente


periódico para asegurar el buen
rendimiento de la aplicación
web.

R.1.3 Se deberá contar con un Evidente


dispositivo móvil u ordenador
con acceso a internet

R.1.4 Se debe implementar un Evidente


sistema de seguridad basada e
CAPTCHA para proteger la
aplicación contra accesos no
autorizados.

Fuente: Elaboración Propia


.

46 - 112
Identificación de los actores del sistema

La Tabla Nro. 16 describe dos roles distintos en relación a una aplicación web para
bienes inmuebles. El primero es el Administrador, quien es responsable de manejar
las páginas inmobiliarias desde donde se extrae información para la aplicación web.
Además, tiene la capacidad de ver los usuarios clientes que se han registrado en la
aplicación. El segundo rol es el de una persona que busca información sobre bienes
inmuebles específicamente en la ciudad de La Paz.

Tabla 16 :Descripción de los actores

ACTORES DESCRIPCIÓN

Administrador, persona encargado de gestionar


las páginas inmobiliarias a seguir de donde se
extraerá la información dentro de la aplicación
web, también podrá visualizar los usuarios
Administrador clientes registrados.

Persona que necesita informarse sobre bienes


inmuebles dentro de la ciudad de La paz.

Usuario Persona

Fuente: Elaboración Propia

47 - 112
Asignación de roles

La Tabla Nro. 14 presenta la asignación de roles de cada miembro del equipo durante
el desarrollo del proyecto.

Tabla 17 :Asignación de roles del proyecto

Roles Asignado a:

Programador Alvaro Choque Colquehuanca

Cliente Alvaro Choque Colquehuanca

Encargado de pruebas (Tester) Alvaro Choque Colquehuanca

Encargado de seguimiento(Tracker) Alvaro Choque Colquehuanca

Entrenador (Coach) Alvaro Choque Colquehuanca

Consultor Alvaro Choque Colquehuanca

Gestor (Big Boss) Alvaro Choque Colquehuanca

Fuente: Elaboración propia

Plan de entregas

El plan de entregas establece un cronograma que indica cuándo se espera comenzar


y finalizar cada historia de usuario, así como la duración estimada de cada una. Esto
proporciona una guía temporal para el desarrollo y la entrega de las funcionalidades
del proyecto, permitiendo una mejor organización y seguimiento del progreso. En base
a las historias de usuario, se ha elaborado un plan de entregas que establece las
fechas de inicio, finalización y duración de cada historia de usuario. A continuación, se
presenta el contenido de la Tabla Nro. 18, que muestra el plan de entregas:

48 - 112
Tabla 18 :Plan de entregas

Nro Historias de usuario Inicio Final Duracion

1 Registro de usuario 01/12/2022 06/12/2022 6 dias

2 Seguridad con CAPTCHA 06/12/2022 06/12/2022 1 dia

3 Acceso de usuario 06/12/2022 09/12/2022 4 dias

4 Cerrar sesion 10/12/2022 12/12/2022 3 dias

3 Selección paginas inmobiliarias 13/12/2022 22/12/2022 1 semana y 3 dias

4 Visualizacion de informacion 23/12/2022 26/12/2022 4 dias


inmobiliaria.
5 Actualizar informacion inmobiliaria 27/12/2022 29/12/2022 3 dias

6 Búsqueda de inmuebles 30/12/2022 10/01/2023 1 semana

Fuente: Elaboración Propia.

Ciclo de vida de la aplicación web

Primera iteración

Tabla 19 :Cronograma de actividades

1 iteracion Historias de usuario Inicio Final Duracion

1 Historia 1: Registro de usuario 01 /12 /2022 06 /12 /2022 6 dias

1 Historia 2 :Seguridad con CAPTCHA 06 /12 /2022 06 /12 /2022 1 dia

1 Historia 3: Acceso de usuario 06 /12 /2022 09 /12 /2022 4 dias

1 Historia 4: Cerrar sesion 10/12 /2022 12/10 /2022 3 dias

Fuente: Elaboración Propia.

49 - 112
La Tabla Nro. 20 presenta la tarea por historia de usuario correspondiente a la primera
iteración del proyecto, la cual es el Registro de Usuario. Esta tarea se divide en cuatro
sub-tareas específicas: la Configuración del Entorno de Desarrollo Web, el Diseño de
la Interfaz Gráfica para el Registro, el Mapeo Objeto-Relacional de la Entidad Usuario
y la Creación de Controladores.

Tabla 20 :Tarea por historia de usuario 1

Historia 1: Registro de usuario


Numero Nombre Tiempo estimado
1 Configuración de un entorno de desarrollo web. 8 horas

2 Diseño de la interfaz gráfica para el registro. 8 horas


3 Mapeo objeto-relacional entidad usuario. 8 horas
4 Creacion de controladores. 8 horas

32 horas

Fuente: Elaboración propia

Tabla 21 :Tarea configuración de un entorno de desarrollo web

Numero tarea: 1 Numero historia : 1


Nombre tarea: configuración de un entorno de desarrollo web
Tipo de tarea: General Tiempo estimado: 8 horas
Fecha inicio: 01 /12 /2022 Fecha fin : 01 /12 /2022
Descripción:
La presente tarea describe el proceso de instalación y configuración de un entorno de desarrollo web,
utilizando software libre.
Componentes a implementarse:
Base de datos : myqsl, Framefork de desarrollo angular 13 ,express, cherrio, axios

Fuente: Elaboración propia


.
La Tabla Nro. 22 se detalla la tarea de diseño de la interfaz gráfica para el registro,
que está relacionada con la historia de usuario número 1 que implica crear estilos
visuales atractivos y funcionales utilizando CSS y JS, y aprovechar las capacidades
del framework Angular para mejorar la experiencia de usuario en el formulario de
registro.
50 - 112
Tabla 22 :Tarea diseño de la interfaz gráfica

Numero tarea: 2 Numero historia : 1

Nombre tarea: Diseño de interfaz gráfica para el registro

Tipo de tarea: Diseño y maquetado Tiempo estimado: 8 horas

Fecha inicio: 01 /12 /2022 Iteración asignada : 02 /12 /2022

Descripción:
La presente tarea describe el proceso de diseño, para el formulario de registro, mediante la
construcción de hojas de estilo CSS y archivos JS, además utilizamos el framework Angular para
mejorar el diseño de nuestros componentes HTML

Fuente: Elaboración propia

En la Tabla Nro. 23 muestra la tarea de mapeo objeto-relacional para la entidad


"usuario", la cual está relacionada con la historia de usuario número 1.

Tabla 23 :Tarea Mapeo objeto –relacional entidad usuario

Numero tarea: 3 Numero historia : 1

Nombre tarea: Mapeo objeto-relacional entidad usuario

Tipo de tarea: Programación Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el proceso de mapeo de la entidad usuario, aplicando el paradigma de
programación orientada a objetos .

Fuente: Elaboración propia

La Tabla Nro. 24 muestra la tarea de creación de controladores, la cual está


relacionada con la historia de usuario número 1 implica desarrollar los archivos que
serán responsables de manejar la lógica y la interacción de la aplicación web.

51 - 112
Tabla 24 :Tarea de creación de controladores

Numero tarea: 4 Numero historia :1

Nombre tarea: Creación de controladores

Tipo de tarea: Programación Tiempo estimado: 8 horas

Fecha inicio: 04 /12 /2022 Iteración asignada : 04 /12 /2022

Descripción:
La presente tarea describe el proceso de creación archivos controladores .

Fuente: Elaboración propia

En la Tabla Nro. 25 presenta la descomposición de la Historia de Usuario 1: Acceso


de usuario se divide en dos tareas: el diseño de la interfaz gráfica y la creación de la
función en el controlador. Ambas tareas tienen un tiempo estimado de 8 horas y 16
horas respectivamente, sumando un total de 24 horas estimadas para completar la
historia de usuario.

Tabla 25 :Historia 2 Acceso de usuario

Historia 2: Acceso de usuario

Numero Nombre Tiempo estimado

1 Diseño de interfaz gráfica para el usuario. 8 horas

2 Creación de función en el controlador. 16 horas

24 horas

Fuente: Elaboración propia

En la Tabla Nro. 26 indica que la tarea número 1 consiste en el diseño de la interfaz


gráfica para el formulario de acceso. Se llevará a cabo mediante la creación de hojas
de estilo CSS, archivos JS y la utilización del framework Angular.

52 - 112
Tabla 26 :Diseño de interfaz gráfica para acceso

Numero tarea: 1 Numero historia :2

Nombre tarea: Diseño de interfaz gráfica para acceso

Tipo de tarea: Diseño y maquetado Tiempo estimado: 8 horas

Fecha inicio: 06/12 /2022 Iteración asignada : 06 /12 /2022

Descripción:
La tarea para el proceso de diseño, para el formulario de acceso, mediante la construcción de hojas
de estilo CSS y archivos JS, además utilizamos el framework Angular para mejorar el diseño de
nuestros componentes HTML.

Fuente: Elaboración propia

La Tabla Nro. 27 indica que se llevará a cabo la creación de una función en el


controlador. Esta función permitirá imprimir información del servidor en el lado del
cliente y se utilizará en relación con los formularios previamente diseñados.

Tabla 27 :Creación de función en el controlador

Numero tarea: 2 Numero historia :2


Nombre tarea: Creación de función en el controlador

Tipo de tarea: Programación Tiempo estimado: 16 horas


Fecha inicio: 07/12 /2022 Iteración asignada : 08 /12 /2022

Descripción:
La presente tarea describe el proceso de creación de funciones en el controlador, que permitirá
imprimir información del servidor en el lado del cliente .utilizando los formulario ya diseñados , en el
área de diseño y maquetado.

Fuente: Elaboración propia

La Tabla Nro. 28 presenta la descomposición de la Historia de Usuario 3: Cerrar sesión


de usuario se divide en dos tareas: el diseño de la interfaz gráfica para el registro y la
creación de la función en el controlador. Ambas tareas tienen un tiempo estimado de
8 horas y 18 horas respectivamente, sumando un total de 16 horas estimadas para
completar la historia de usuario.
53 - 112
Tabla 28 :Historia usuario 3 Cerrar sesión

Historia 3: Cerrar sesion

Nombre Tiempo estimado

Diseño de interfaz gráfica para el registro 8 horas

Creación de función en el controlador 8 horas

16 horas

Fuente: Elaboración propia

La Tabla Nro. 29 presenta el diseño de interfaz gráfica para el formulario de cerrar


sesión el cual se hará uso de hojas de estilo y archivos JS, además se utilizará el
framework Angular para la mejora del diseño en componentes HTML.

Tabla 29 :Diseño de interfaz gráfica para cerrar sesión

Numero tarea: 1 Numero historia :3

Nombre tarea: Diseño de interfaz gráfica para cerrar sesión.

Tipo de tarea: Diseño y maquetado Tiempo estimado: 8horas

Fecha inicio: 09/12 /2022 Iteración asignada : 10 /12 /2022

Descripción:
La tarea para el proceso de diseño, para el formulario de acceso, mediante la construcción de hojas
de estilo CSS y archivos JS, además utilizamos el framework Angular para mejorar el diseño de
nuestros componentes HTML.

Fuente: Elaboración propia

En la Tabla Nro. 30 se encuentra detallada la información sobre la tarea número 2, que


se refiere a la "Creación de función en el controlador". Esta tarea está directamente
relacionada con la historia de usuario número 3, que describe el proceso de creación
de funciones en el controlador.

54 - 112
Tabla 30 :Creación de función en el controlador.

Numero tarea: 2 Numero historia :3

Nombre tarea: Creación de función en el controlador.

Tipo de tarea: Programación Tiempo estimado: 8 horas

Fecha inicio: 11/12 /2022 Iteración asignada : 11/12 /2022

Descripción:
La presente tarea describe el proceso de creación de funciones en el controlador, que permitirá
imprimir la información del servidor en el lado del cliente ,utilizando los formularios ya diseñados.

Fuente: Elaboración propia

Segunda iteración

Tabla 31:Cronograma de actividades

2 iteracion Historias de usuario Inicio Final Duracion

2 Historia 5 : Seleccionar pagina 13/12/2022 22/12/2022 1 semana


inmobiliaria. y 3 dias

2 Historia 6 : Visualización de 23 /12 /2022 26 /12 /2022 4 dias


información inmobiliaria.

Fuente: Elaboración Propia.

La Tabla Nro. 32 presenta la tarea por historia de usuario 5 correspondiente a la


segunda iteración del proyecto, la cual es Seleccionar página inmobiliaria. Esta tarea
se divide en cuatro sub-tareas específicas: Instalación y configuración de paquetes
para Web Scraping, Mapeo de extracción de datos inmobiliarios, Creación de
controladores y diseño de interfaz Para cada sub-tarea se estima un tiempo de ocho
horas.

55 - 112
Tabla 32 :Tarea por historia de usuario 5

Historia 5: Seleccionar pagina inmobiliaria


Numero Nombre Tiempo estimado

1 Instalación y configuración de paquetes para 8 horas


Web Scraping en Node. Js con Express

2 Mapeo extracción de datos inmobiliarios de 8 horas


diferentes páginas web.

3 Creación de funciones en controlador. 8 horas

4 Diseño de la interfaz gráfica . 8 horas

32 horas

Fuente: Elaboración propia

La Tabla Nro. 33 indica la tarea de instalación y configuración de paquete para el


funcionamiento Web Scraping implementando Cheerio, Express y Axios.

Tabla 33 :Tarea instalación y configuración de paquetes

Numero tarea: 1 Numero historia : 5


Nombre tarea: Instalación y configuración de paquetes para Web Scraping en Node. Js con Express
Tipo de tarea: Programacion Tiempo estimado: 8 horas
Fecha inicio: 01 /12 /2022 Fecha fin : 01 /12 /2022
Descripción:
La presente tarea describe el proceso de instalación y configuración para implementar Web Scraping
para el seguimiento de las páginas web.
Componentes a implementarse:
Cheerio, Express y Axios.

Fuente: Elaboración propia

La Tabla Nro.34 presenta la información correspondiente a la tarea el cual describe el


proceso de extracción de información inmobiliaria de las diferentes páginas web.

56 - 112
Tabla 34 :Tarea Mapeo de extracción de datos inmobiliarios

Numero tarea: 2 Numero historia : 5

Nombre tarea: Mapeo extracción de datos inmobiliarios de diferentes páginas web.

Tipo de tarea: Programación Tiempo estimado: 8 horas


Fecha inicio: 01 /12 /2022 Iteración asignada : 02 /12 /2022

Descripción:
La presente tarea describe el proceso de extracción de información inmobiliaria de las diferentes
páginas web para la implementación de Web Scraping aplicando técnicas de extracción.

Fuente: Elaboración propia

La Tabla Nro. 35 presenta la información de la tarea creación de funciones en el


controlador, que permitirá obtener datos de las paginas inmobiliarias de la Api en el
lado del cliente, utilizando Web Scraping.

Tabla 35 :Tarea de creación de funciones en controlador.

Numero tarea: 3 Numero historia : 5

Nombre tarea: Creación de funciones en controlador.

Tipo de tarea: Programación Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el proceso de creación de funciones en el controlador, que permitirá
obtener información de las paginas inmobiliarias de la Api en el lado del cliente, utilizando funciones
para Web Scraping aplicando las técnicas más apropiadas de extracción.

Fuente: Elaboración propia

La Tabla Nro. 36 presenta la información de la tarea diseño de la interfaz gráfica el


cual describe el proceso y diseño para la selección de páginas inmobiliarias de
diferentes fuentes, mediante desarrollo Front end con el framework Angular.

57 - 112
Tabla 36 :Tarea diseño de la interfaz páginas

Numero tarea: 4 Numero historia : 5

Nombre tarea: Diseño de la interfaz gráfica.

Tipo de tarea: Diseño y maquetado Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el proceso y el diseño, para la selección de páginas inmobiliarias de
diferentes fuentes, mediante desarrollo Front end con Angular a base de componentes utilizando
hojas de estilo Css y Js, además se hará uso de Bootstrap, para mejorar el diseño de los
componentes HTML.

Fuente: Elaboración propia

Tabla 37 :Tarea por historia de usuario 6

Historia 6 : Visualización de información inmobiliaria

Numero Nombre Tiempo estimado


1 Instalación y configuración de Framework 8 horas
Angular para Front end.
2 Conexión de la api Web Scraping con el Front 8 horas
end.
3 Creación de componentes. 8 horas

4 Diseño de la interfaz gráfica . 8 horas

32 horas

Fuente: Elaboración propia

La Tabla Nro. 38 presenta la tarea de instalación y configuración para el Front end,


donde se describe el proceso de interacción con la API desde el lado del cliente. Esta
tarea se enfoca en los pasos necesarios para establecer la conexión y configurar
adecuadamente el Front end con la API.

58 - 112
Tabla 38 :Tarea Instalación y configuración para Front end

Numero tarea: 1 Numero historia : 6

Nombre tarea: Instalación y configuración de Framework Angular Front end .

Tipo de tarea: Programación Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el proceso de instalación de Angular para interactuar con la aplicación
web del lado del cliente.

Fuente: Elaboración propia

La tabla número 39 muestra información sobre la tarea de "Conexión de la API de Web


Scraping con el Front end". Esta tarea describe el proceso de consumir los datos
extraídos por el Backend, que en este caso se trata de una API que utiliza Web
Scraping. El objetivo es mostrar esa información en la aplicación web.

Tabla 39 :Tarea conexión de la Api Web Scraping con el Front end

Numero tarea: 2 Numero historia : 6

Nombre tarea: Conexión de la Api Web Scraping con el Front end.

Tipo de tarea: Programación Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el proceso consumir los datos extraidos por parte del Backend que en
este caso se lo considera como Api el cual utiliza Web Scraping , permitiendo mostrar la información
en la aplicación web.

Fuente: Elaboración propia

La Tabla Nro.40 presenta información sobre la tarea de "Creación de componentes".


Esta tarea está relacionada con la historia de usuario número 6. El cual implica el
proceso de desarrollo de los componentes que formarán parte de la aplicación web.

59 - 112
Algunos ejemplos de estos componentes son el registro de usuario, el acceso de
usuario y la visualización de información inmobiliaria.

Tabla 40 :Tarea de creación de componentes

Numero tarea: 3 Numero historia : 6

Nombre tarea: Creación de componentes.

Tipo de tarea: Programación Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el proceso de desarrollo de los componentes que tendrá la aplicación
web tales como el registro de usuario, acceso de usuario, visualizar información inmobiliaria etc.

Fuente: Elaboración propia

La Tabla Nro. 41 presenta información sobre la tarea de "Diseño de la interfaz gráfica”.


Esta tarea está relacionada con la historia de usuario número 6.

Tabla 41 :Tarea de diseño de interfaz grafica

Numero tarea: 4 Numero historia : 6

Nombre tarea: Diseño de la interfaz gráfica.

Tipo de tarea: Diseño y maquetado Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el proceso y el diseño, para la visualización de inmuebles de diferentes
fuentes, mediante desarrollo Front end con Angular a base de componentes utilizando hojas de
estilo Css y Js, además se hará uso de Bootstrap, para mejorar el diseño de los componentes HTML.

Fuente: Elaboración propia

60 - 112
Tercera iteración

Tabla 42 :Cronograma de actividades

3 iteracion Historias de usuario Inicio Final Duracion

3 Historia 7 : Busqueda de inmuebles. 13/12/2022 22/12/2022 1 semana


y 3 dias

3 Historia 8 : Actualizar información 23 /12 /2022 26 /12 /2022 4 dias


inmobiliaria.

Fuente: Elaboración propia

Tabla 43 :Tarea por historia de usuario 7

Historia 7 : Búsqueda de inmuebles


Numero Nombre Tiempo estimado

1 Creación del componente búsqueda. 8 horas

2 Creación de funciones para búsqueda en Angular. 8 horas

4 Diseño de la interfaz gráfica . 8 horas

32 horas

Fuente: Elaboración propia

Tabla 44 :Tarea de creación de componente búsqueda

Numero tarea: 1 Numero historia : 7

Nombre tarea: Creación del componente búsqueda.

Tipo de tarea: Programación Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe la creación de componente de búsqueda, e importar los módulos
correspondientes y con las respectivas librerías que necesitara este evento.

Fuente: Elaboración propia

61 - 112
La Tabla Nro. 45 presenta información sobre la tarea de "Creación de funciones para
búsqueda en Angular". Esta tarea está relacionada con la historia de usuario número
7 el cual indica que implica el proceso de desarrollo de funciones necesarias para el
componente de búsqueda en Angular. Estas funciones permitirán realizar búsquedas
utilizando palabras clave en campos como título, precio, descripción y ubicación.

Tabla 45 :Tarea creación de funciones para búsqueda

Numero tarea: 2 Numero historia : 7

Nombre tarea: Creación de funciones para búsqueda en Angular.

Tipo de tarea: Programación Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el proceso de desarrollo de funciones que serán necesarios para el
componente búsqueda, el cual se realizar funciones para buscar con título, precio, descripción y
locación con palabras claves.

Fuente: Elaboración propia

Tabla 46 :Tarea de diseño de la interfaz gráfica

Numero tarea: 4 Numero historia : 6

Nombre tarea: Diseño de la interfaz gráfica.

Tipo de tarea: Diseño y maquetado Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el proceso y el diseño, para la búsqueda y visualización de inmuebles
de diferentes fuentes, mediante desarrollo Front end con Angular a base de componentes utilizando
hojas de estilo Css y Js, además se hará uso de Bootstrap, para mejorar el diseño de los
componentes HTML.

Fuente: Elaboración propia

62 - 112
La Tabla Nro.47 presenta información sobre la historia de usuario número 8, que es
Actualizar información inmobiliaria. La historia de usuario se divide en tres tareas,
Creación del componente actualizar, Creación de función actualizar, Diseño de la
interfaz gráfica, Se estima que esta tarea tomará aproximadamente 8 horas. En total,
las tres tareas suman 32 horas de trabajo estimadas para completar la historia de
usuario.

Tabla 47 :Tarea por historia de usuario 8

Historia 8 : Actualizar información inmobiliaria

Numero Nombre Tiempo estimado

1 Creación del componente actualizar. 8 horas

2 Creación de función actualizar. 8 horas

4 Diseño de la interfaz gráfica . 8 horas

32 horas

Fuente: Elaboración propia

Tabla 48 :Tarea creación del componente actualizar

Numero tarea: 1 Numero historia : 8

Nombre tarea: Creación del componente actualizar.

Tipo de tarea: Programación Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el desarrollo del componente actualizar e importar los módulos
correspondientes y librerías necesarias para este evento.

Fuente: Elaboración propia

63 - 112
La Tabla Nro.49 presenta información sobre la tarea de Creación de la función
actualizar relacionada con la historia de usuario número 8. El cual implica el proceso
de desarrollo de la función de actualizar necesaria para el componente de
actualización. Esta función permitirá actualizar la página del inmueble seleccionado y
mostrar la información más reciente.

Tabla 49 :Tarea creación de la función actualizar

Numero tarea: 2 Numero historia : 8

Nombre tarea:Creación de la función actualizar

Tipo de tarea: Programación Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el proceso desarrollo de la función de actualizar que serán necesarios
para el componente actualizar, el cual se realizar funciones actualizar la pagina inmobiliaria
seleccionada y poder visualizar información reciente.

Fuente: Elaboración propia

La tabla 50 presenta la tarea diseño de la interfaz gráfica para la actualización y


visualización de inmuebles provenientes de diferentes fuentes.

Tabla 50 :Tarea diseño de la interfaz gráfica

Numero tarea: 3 Numero historia : 8

Nombre tarea: Diseño de la interfaz gráfica.

Tipo de tarea: Diseño y maquetado Tiempo estimado: 8 horas

Fecha inicio: 03 /12 /2022 Iteración asignada : 03 /12 /2022

Descripción:
La presente tarea describe el proceso y el diseño, para la actualización y visualización de inmuebles
de diferentes fuentes, mediante desarrollo Front end con Angular a base de componentes.

Fuente: Elaboración propia

64 - 112
Identificar la técnica más apropiada de Web Scraping

La Figura Nro. 7 presenta una comparativa de diferentes técnicas de Web Scraping y


su adecuación en términos de complejidad y uso apropiado.

Figura 8 :Comparativa de las técnicas de Web Scraping

Característica Técnica Complejidad Apropiado

Es simple para extraer datos de


un sitio web.
Se puede seleccionar las Simple No es apropiado
secciones de interés de la Copiar y pegar
página web copiarlos y pegarlo
en hojas de calculo

Solo con JavaScript y


Expresiones Regulares puede
extraer información pública Uso de expresiones Media Apropiado
desde internet y de forma regulares
automatiza.

Extraer información de páginas


web estáticas y dinámicas que
pueden ser obtenidas haciendo Protocolo HTTP Media Apropiado
peticiones HTTP al servidor
utilizando sockets.
Extrae información con algunos
lenguajes, como XQuery, HTQL Análisis de HTML Media No es apropiado
Python, PHP puede recuperar y
transformar el contenido HTML.

/…

65 - 112
…/

Recupera contenido dinámico


generado por scripts del lado del
cliente que se ejecutan en un Análisis de DOM(Modelo Alta No es apropiado
navegador web. de Objetos de
Por lo general se incrustan Documento)
dentro de un documento HTML o
XHTML
El contenido es formateado en
XML
Son software de Web Scraping,
simulan la forma en que los
humanos exploran la web. Web Scraping software Simple No es apropiado
Se insertan link de la web y
transforma en formato HTML
que pueden ser fácilmente
exportados a hojas de cálculo
para su posterior análisis.

Fuente: Elaboración Propia

Con el fin de realizar la extracción automatizada de información sobre propiedades


inmobiliarias, se han identificado las técnicas apropiadas para el desarrollo del
presente Proyecto de Grado Técnico. Para alcanzar este objetivo, se utilizarán la
técnica de protocolo HTTP y el empleo de expresiones regulares.

Esta solución automatizada asegurará la consistencia y precisión en la extracción de


datos, lo que contribuirá a mejorar la calidad del resultado. Al utilizar el protocolo HTTP,
se establecerá una comunicación eficiente con los servidores de las páginas web de
interés, permitiendo acceder y extraer la información de manera efectiva.

Por otro lado, el uso de expresiones regulares facilitará la identificación y el filtrado de


los datos relevantes en el contenido HTML de las páginas web. Estas expresiones
regulares permitirán buscar y extraer de forma precisa los campos de interés, como
dirección, precio, descripción, entre otros, garantizando así la correcta obtención de la
información inmobiliaria.
66 - 112
DISEÑO DEL SISTEMA

Diseño basado en comportamientos

Diagramas de casos de uso

A continuación, plasmamos el análisis de requerimientos de la aplicación web


mediante el diseño de casos de uso expresados en el comportamiento de la aplicación
frente a las acciones de los actores del mismo, funcionalidades del sistema y demás
elementos que permitan la contemplación del problema.

El diagrama de casos de uso del sistema se muestra en la figura número 9. Este


diagrama representa de manera visual los diferentes casos de uso que se han
identificado para el sistema en cuestión.

Figura 9 :Diagrama de casos de uso del sistema

Fuente: Elaboración Propia

67 - 112
Figura 10 :Diagrama de casos de uso iniciar sesión usuario común

Fuente: Elaboración propia

Tal como se puede apreciar en la figura Nro. 9, el usuario común iniciará sesión en la
aplicación web para acceder a sus funcionalidades. Una vez autenticado, tendrá la
opción de seleccionar las páginas inmobiliarias disponibles en el menú principal de la
aplicación. Al elegir una página, la información inmobiliaria pertinente se mostrará
automáticamente. El usuario tendrá la capacidad de buscar y guardar información
inmobiliaria, la cual será obtenida mediante el uso de una API que utiliza la técnica de
Web Scraping.

68 - 112
Figura 11 :Diagrama de casos de uso de iniciar sesión administrador

Fuente: Elaboración propia

Tal como se observa en la figura Nro.10, el administrador accederá a la aplicación web


y se autenticará en ella. Una vez autenticado, tendrá acceso al panel de control, desde
donde podrá visualizar usuarios, categorías y administrar las páginas inmobiliarias. En
este sentido, el administrador podrá actualizar o eliminar páginas inmobiliarias, ya que
estas pueden dejar de existir.

Diagramas de secuencias

Un diagrama de secuencia es una herramienta de modelado que representa la


interacción entre los objetos en un sistema a través del tiempo, mostrando el orden en
que los mensajes son enviados y recibidos entre ellos.
En otras palabras, es una representación gráfica que muestra cómo los distintos
elementos del sistema interactúan entre sí para llevar a cabo una tarea o proceso
específico.

69 - 112
Figura 12 :Diagrama de secuencia de iniciar sesión usuario común

Fuente: Elaboración propia

En la figura Nro.12 el diagrama de secuencia correspondiente, se observa que el


usuario común inicia sesión en la aplicación web y, posteriormente, selecciona la
opción "Páginas inmobiliarias" del menú principal. A continuación, la aplicación solicita
la información inmobiliaria correspondiente a través de la API que utiliza la técnica de
Web Scraping y la muestra automáticamente en la pantalla. Luego, el usuario puede
buscar información específica y guardarla si lo desea. Todo este proceso se muestra
en el diagrama de secuencia a través de la interacción entre los distintos objetos del
sistema.

70 - 112
Figura 13 :Diagrama de secuencia de iniciar sesión administrador

Fuente: Elaboración propia

En la figura Nro.13 de el diagrama de secuencia correspondiente, se muestra que el


administrador inicia sesión en la aplicación web y, luego, accede al panel de control.
Desde allí, puede visualizar los usuarios y las categorías del sistema, así como
administrar las páginas inmobiliarias disponibles. En este sentido, el administrador
puede actualizar o eliminar páginas inmobiliarias, en caso de que sea necesario. Todo
este proceso se representa en el diagrama de secuencia mediante la interacción entre
los distintos objetos del sistema.

71 - 112
Diseño de la arquitectura de software

Diagrama de componentes

Un diagrama de componentes es una herramienta de modelado que muestra la


estructura de los componentes de un sistema y cómo se relacionan entre sí. Este
diagrama representa los componentes como bloques y las relaciones entre ellos como
líneas de conexión, lo que permite una visualización clara y precisa de la arquitectura
del sistema. En resumen, un diagrama de componentes es una representación gráfica
de los componentes que componen un sistema y de las relaciones que existen entre
ellos.

Figura 14 :Diagrama de componentes del sistema

Fuente: Elaboración propia

Tal como se observa en la figura Nro.14, el administrador accederá a la aplicación web


y se autenticará en ella. Una vez autenticado, tendrá acceso al panel de control, desde
donde podrá visualizar usuarios, categorías y administrar las páginas inmobiliarias.

72 - 112
En este sentido, el administrador podrá actualizar o eliminar páginas inmobiliarias, ya
que estas pueden dejar de existir.

Diagrama de clases

Un diagrama de clases es una herramienta de modelado visual que se utiliza para


representar las clases, interfaces y relaciones entre ellas en un sistema de software.
Es una representación gráfica que muestra las estructuras y comportamientos de las
clases, sus atributos y métodos, y cómo interactúan entre sí en el sistema.

Figura 15 :Diagrama de clases del sistema

Fuente: Elaboración Propia

73 - 112
Diseño de la base de datos

Diagrama de entidad relación

Para el diseño de la base de datos se creó considerando los aspectos de registro y


almacenamiento, así como la funcionalidad de inicio de sesión. La representación
visual de este diseño se encuentra en la figura Nro.16, que muestra un diagrama de
entidad-relación de todo el sistema.

Figura 16 :Diagrama de presentación de registro de usuario

Fuente: Elaboración Propia

74 - 112
Modelo conceptual

En la elaboración del modelo conceptual, se tomaron en cuenta los parámetros de


registro y almacenamiento, así como la función de inicio de sesión. El resultado del
diseño se puede observar en la figura 17, que muestra un diagrama de entidad
relación. En este modelo, se representan las entidades de usuario, rol, perfil de usuario
y roles de usuarios, las cuales se relacionan entre sí para definir la estructura lógica
de la base de datos. El modelo conceptual es una representación abstracta y general
de la base de datos, que permite entender su estructura y relaciones de manera
intuitiva.

Figura 17 :Modelo conceptual del sistema

Fuente: Elaboración propia

75 - 112
Modelo lógico

En la creación del modelo lógico de la base de datos, se basó en los aspectos de


registro y almacenamiento, así como en la función de inicio de sesión. El diseño
resultante se puede ver en la figura Nro.18, que muestra un diagrama de entidad
relación. En este modelo lógico se definen las tablas necesarias para almacenar
información sobre usuario, rol, perfil de usuario y roles de usuarios. Cada tabla incluye
las columnas correspondientes a los atributos relevantes de cada entidad, y se
establecen las relaciones entre ellas mediante claves foráneas.

Figura 18 :Modelo lógico del sistema

Fuente: Elaboración propia

76 - 112
Modelo físico

En el modelo físico de la base de datos se consideraron los aspectos de registro y


almacenamiento, así como la función de inicio de sesión. El diseño resultante se puede
ver en la figura 19, que muestra un diagrama de entidad-relación. En este modelo físico
se implementan las tablas definidas en el modelo lógico, y se establecen las
características específicas de cada columna, como el tipo de dato, longitud,
restricciones de clave primaria y foránea, entre otras. Además, se definen las
relaciones de integridad referencial entre las tablas, y se establecen los índices
necesarios para mejorar el rendimiento de las consultas.

Figura 19 :Modelo físico del sistema

Fuente: Elaboración propia

77 - 112
Diseño de la navegación del sistema

En este diagrama de navegación se representan las diferentes pantallas o interfaces


de usuario que permiten navegar por la base de datos y realizar las operaciones
necesarias, como registrar nuevos usuarios, asignar roles, editar perfiles, entre otras.
Se establecen las acciones necesarias para cada pantalla, como visualizar, actualizar
o eliminar registros, y se definen los enlaces entre las diferentes pantallas mediante
botones, menús, enlaces de hipertexto.

Figura 20 :Diagrama de navegación del sistema

Fuente: Elaboración Propia

78 - 112
Figura 21 :Diagrama de navegación del usuario común

Fuente: Elaboración propia

Figura 22 :Diagrama de navegación del administrador

Fuente: Elaboración propia

79 - 112
Diseño de la interfaz grafica

Figura 23 :Mockup (Pantalla muerta) de Acceso

Fuente: Elaboración propia

En la figura Nro.23 se presenta la interfaz de acceso diseñada para facilitar el ingreso


del usuario al sistema. Se destaca la presencia de un botón de acceso, el cual redirige
al usuario al inicio de sesión correspondiente. Además, se observa otro botón que
permite iniciar sesión directamente en la aplicación web, proporcionando una opción
adicional para acceder rápidamente a los servicios ofrecidos.

80 - 112
Figura 24 :Mockup (Pantalla muerta) de Inicio de sesión

Fuente: Elaboración Propia

La figura Nro.24 representa la pantalla de inicio de sesión, donde se pueden visualizar


campos destinados a ingresar el nombre de usuario y contraseña correspondientes.
Además, se presenta un botón que permite acceder a la sesión una vez que se han
proporcionado las credenciales solicitadas.

81 - 112
Figura 25 :Mockup (Pantalla muerta) de Registro de usuario

Fuente: Elaboración propia

La Figura Nro. 25 exhibe un Mockup que representa la pantalla de registro de usuario.


En ella, se encuentran disponibles campos para ingresar el nombre de usuario, correo
electrónico y contraseña. El diseño de la pantalla se caracteriza por su claridad y
concisión, lo cual facilita la comprensión y agiliza la interacción por parte del usuario.
La disposición intuitiva de los elementos garantiza una experiencia fluida y eficiente
durante el proceso de registro de nuevos usuarios en el sistema.

82 - 112
Figura 26 :Mockup (Pantalla muerta) visualización de inmuebles

Fuente: Elaboración propia

La Figura Nro. 26 presenta un Mockup que permite la visualización de inmuebles. En


la pantalla, se incluye un menú desplegable que muestra las distintas opciones de
propiedades disponibles, así como un buscador para que el usuario pueda realizar
búsquedas específicas. Además, se encuentra un botón de actualización que permite
al usuario refrescar la lista de inmuebles obtenida a través de la API de Web Scraping.
Este diseño intuitivo y funcional brinda al usuario una experiencia amigable y eficiente
al explorar y encontrar información sobre propiedades.

83 - 112
DESARROLLO DEL SISTEMA

Creación de la base de datos

Figura 27 :Base de datos físico del sistema

Fuente: Elaboración Propia

La Figura Nro.27 muestra la estructura física de la base de datos utilizada en la


aplicación. Se puede observar que la misma solo almacena información de los
usuarios registrados y sus credenciales de acceso. Esto se debe a que, para evitar un
consumo excesivo de recursos y costos innecesarios, se decidió que la información de
los inmuebles sea obtenida a través de la API de Web Scraping en tiempo real y no
almacenada en la base de datos. De esta forma, se garantiza que la información
siempre esté actualizada y se evita la necesidad de almacenar grandes cantidades de
información que podrían volverse obsoletas rápidamente.

84 - 112
Desarrollo del api aplicando la técnica Web Scraping

Figura 28 :Maquetación de la api

Fuente: Elaboración Propia

En la figura número 28 se muestra que la API de Web Scraping se ubicará en el lado


del backend. Después de que el usuario inicie sesión y se verifiquen sus credenciales,
la información se almacenará en la base de datos. La API será responsable de extraer
los datos de las páginas relevantes de bienes raíces y luego la información extraída
será utilizada por la aplicación web. Este enfoque permite mantener separadas las
responsabilidades entre el frontend y el backend de la aplicación. El frontend se
encarga de la interfaz de usuario y la interacción con el usuario, mientras que el
backend, donde se encuentra la API, se ocupa de la lógica de extracción de datos y
su almacenamiento.

85 - 112
Figura 29 :Estructura de la api Web Scraping

Fuente: Elaboración Propia

La figura Nro.29 presenta la estructura de la API, donde se pueden visualizar diferentes


componentes, tales como un archivo controlador, rutas, modelos y el servidor iniciador.
Cada uno de estos elementos cumple una función específica en el funcionamiento de
la API, permitiendo una comunicación adecuada entre el cliente y el servidor.

86 - 112
Figura 30 :Extracción de información utilizando API y técnicas de Web
Scraping

Fuente: Elaboración Propia

La Figura Nro.30 muestra un fragmento de código que utiliza expresiones regulares y


protocolos HTTP para extraer información de una dirección web. La variable "url"
contiene la dirección web de la cual se desea extraer información y se utiliza la
biblioteca Axios para realizar una solicitud HTTP GET. Luego, el HTML obtenido se
carga en Cheerio para facilitar su manipulación y se utilizan los métodos "find" y "text"
de Cheerio para extraer los campos de texto, imagen y descripción de todos los
elementos HTML con clase "item". Por último, la información extraída se almacena en
variables para su posterior uso en la aplicación.

87 - 112
Desarrollo de la interfaz y presentación de la información inmobiliaria

Figura 31 :Interfaz de acceso a la aplicación web

Fuente: Elaboración propia

Figura 32 :Interfaz de pantalla iniciar sesión

Fuente: Elaboración propia

88 - 112
Figura 33 :Interfaz de seguridad con captcha

Fuente: Elaboración propia

Figura 34 :Interfaz de registro de usuario

Fuente: Elaboración propia

89 - 112
Figura 35 :Interfaz menú de lista de inmobiliarias

Fuente: Elaboración propia

Figura 36 :Interfaz de actualizar y búsqueda de inmuebles

Fuente: Elaboración propia

90 - 112
Figura 37 :Interfaz de visualización de Inmuebles

Fuente: Elaboración propia

VALIDACIÓN Y PRUEBAS

En la siguiente tabla Nro.51 muestra el escenario de plan de pruebas de la aplicación


web, que incluye la validación y las pruebas necesarias:

Tabla 51 :Escenario de plan de pruebas

NRO Descripción Resultado


1 Inicio de sesión Cumple

2 Seguridad CAPTCHA Cumple

3 Registro de sesión Cumple

4 Salir sesión Cumple

5 Selección de inmobiliarias Cumple

6 Visualizar inmuebles Cumple

7 Búsqueda por título, ubicación ,descripción y precio Cumple

8 Actualización Cumple

Fuente: Elaboración propia

91 - 112
Pruebas unitarias de la aplicación web

Después de completar el desarrollo de los distintos módulos, se llevaron a cabo


diversas pruebas para detectar posibles errores en la implementación y evaluar la
calidad del software. A continuación, se describen detalladamente las pruebas que se
llevaron a cabo en el sistema.

La Tabla Nro. 52 se muestra una tabla de prueba unitaria de inicio de sesión en la


aplicación web. Las pruebas están divididas en casos de prueba, con prioridad y
precondiciones establecidas. Se especifican los datos de entrada, los pasos a seguir
y los resultados esperados y obtenidos.

Tabla 52 :Prueba unitaria de inicio de sesión

Pruebas de inicio de sesión


Nro. Caso de Prioridad Precondiciones Datos de Pasos Resultado Resultado
prueba entrada esperado obtenido
1 Ingresar a -Tener [Link] [Link] 1. La
la navegador Fire navegador ingreso a aplicación
aplicación Media fox, Chrome, para el la web
web. Opera. Ninguno ingreso a aplicación funciona en
-Tener la web es el los
Internet. aplicación correcto. diferentes
web. navegadores

2 Llenar -Tener [Link] [Link] [Link] se


formulario navegador Fire -Correo del los datos formulario podrá
con los Alta fox, Chrome, usuario. solicitados. mostrara ingresar a la
datos Opera. - [Link] en los capos aplicación
requeridos -Tener Contraseña guardar. requeridos. web si no se
Internet. de usuario. llenó los
campos
requeridos

Fuente: Elaboración propia

92 - 112
La Figura Nro. 26 muestra un Mockup diseñado para la visualización de inmuebles. En
la pantalla, se encuentra un menú desplegable que presenta diversas opciones de
propiedades disponibles, junto con un buscador que permite al usuario realizar
búsquedas específicas. Además, se incluye un botón de actualización que posibilita al
usuario refrescar la lista de inmuebles obtenida a través de la API de Web Scraping.
Gracias a este diseño intuitivo y funcional, los usuarios disfrutarán de una experiencia
amigable y eficiente al explorar y encontrar información detallada sobre las
propiedades.

Tabla 53 :Prueba unitaria de seguridad con captcha

Pruebas de seguridad con captcha

Nro. Caso de Prioridad Precondiciones Datos de Pasos Resultado Resultado


prueba entrada esperado obtenido

1 Validación Alta -EL captcha -El usuario ve la [Link] usuario [Link] [Link] ingresó a
del está activado imagen captcha visualiza formulario la aplicación
captcha en el formulario con imágenes la imagen del de registro web.
de registro. distorsionados. captcha con se envía 2. se muestra
-El captcha -El usuario imágenes con éxito. el mensaje
muestra una resuelve la distorsionados. [Link] cuando se
imagen con imagen [Link] usuario usuario resolvió
caracteres correspondiente. envía el recibe un correctamente
distorsionados. formulario de mensaje el captcha.
-El usuario registro indicando
tiene acceso al que la
formulario de respuesta
registro. es
incorrecta.

Fuente: Elaboración propia

93 - 112
La Tabla Nro. 54 exhibe una prueba unitaria del proceso de registro de sesión en una
aplicación. La finalidad de esta prueba es verificar la correcta inscripción de un usuario
nuevo al completar los campos obligatorios en el formulario de registro. A continuación,
se presentan los casos de prueba, sus prioridades, condiciones previas, datos de
entrada, pasos, resultados esperados y resultados obtenidos correspondientes. La
tabla proporciona una visión detallada del proceso de prueba y los resultados
obtenidos para evaluar la eficacia del registro de sesión en la aplicación.

Tabla 54 :Prueba unitaria de registro de sesión

Pruebas de registro de sesion

Nro. Caso de Prioridad Precondiciones Datos de Pasos Resultado Resultado


prueba entrada esperado obtenido

1 Registrar Alta Usuario tiene -Nombre de [Link] usuario [Link] [Link]


usuario acceso al usuario. accede al formulario ingresó a la
nuevo formulario de -Correo formulario. de página de
llenado los registro. electrónico. [Link] usuario registro registro de
campos El formulario -Contraseña ingresa los se envía usuario.
requeridos. de registro está campos con éxito. [Link]
disponible y correspondientes [Link] muestra el
funcional. en el formulario. usuario mensaje de
3. El usuario se registrado y
envía el redirige a redirige a la
formulario de la página página
registro. principal. principal.
[Link]
campos
son
obligatorios

Fuente: Elaboración propia

94 - 112
La Tabla Nro. 55 presenta una prueba unitaria del proceso de cierre de sesión en una
aplicación. El objetivo de la prueba es verificar que el usuario pueda cerrar sesión
correctamente y que sea redirigido a la página principal. A continuación, se detallan
los casos de prueba, sus prioridades, precondiciones, datos de entrada, pasos,
resultados esperados y resultados obtenidos.

En el primer caso de prueba, la prioridad es alta. Se establecen las precondiciones de


que el usuario haya iniciado sesión en la aplicación y tenga acceso a la funcionalidad
de cierre de sesión.

Tabla 55 :Prueba unitaria de salir sesión

Pruebas de inicio de salir sesión

Nro. Caso Prioridad Precondiciones Datos Pasos Resultado Resultado


de de esperado obtenido
prueba entrada
1 Cierre Alta -El usuario ha [Link] 1. La sesión 1. Se
de iniciado sesión usuario del usuario se redireccióna a
sesión en la aplicación realiza la cierra la página
-El usuario Ninguno acción correctamente. principal de la
tiene acceso a para 2. El usuario el aplicación web.
la cerrar redirigido a la
funcionalidad sesión página
de cierre de haciendo principal.
sesión. clic en el
botón
clic.

Fuente: Elaboración propia

95 - 112
La Tabla Nro. 56 muestra una prueba unitaria de la funcionalidad de selección de
página en una lista de inmobiliarias en una aplicación. El objetivo de la prueba es
verificar que el usuario pueda visualizar la lista de inmobiliarias, seleccionar una
inmobiliaria de la lista y que la aplicación muestre correctamente los inmuebles
correspondientes a esa inmobiliaria. A continuación, se detallan los casos de prueba,
sus prioridades, precondiciones, datos de entrada, pasos, resultados esperados y
resultados obtenidos.

Tabla 56 :Prueba unitaria de selección de inmobiliaria

Pruebas de selección de inmobiliaria

Nro. Caso de Prioridad Precondiciones Datos de Pasos Resultado Resultado


prueba entrada esperado obtenido

1 Selección -El usuario ha Número de [Link] 1. L aplicación [Link] muestra


de página Alta realizado una páginas visualiza la lista muestra la lista de
el lista de búsqueda de inmobiliarias de inmobiliarias correctamente inmobiliarias.
inmobiliaria inmobiliarias en la aplicación la lista de 2. Se
-La lista de web. inmobiliarias. muestran los
inmobiliarias [Link] usuario inmuebles de
contiene más selecciona una la lista de
de una página. inmobiliaria de la inmobiliaria
lista seleccionada.
correspondiente.
[Link] aplicación
procesa la
solicitud y
muestra los
inmobles
correspondientes

Fuente: Elaboración propia

96 - 112
La Tabla Nro. 57 muestra una prueba unitaria de la funcionalidad de búsqueda de
inmuebles en una aplicación. El objetivo de la prueba es verificar que el usuario pueda
realizar búsquedas por título, descripción, ubicación y precio, y que la aplicación
muestre correctamente los inmuebles que coincidan con los criterios ingresados.

Tabla 57 :Prueba unitaria de búsqueda de inmuebles

Pruebas de búsqueda de inmuebles

Nro. Caso de Prioridad Precondiciones Datos de Pasos Resultado Resultado obtenido


prueba entrada esperado
1 Búsqueda -La aplicación -Titulo [Link] accede 1. L [Link] muestra los
por título, Alta web está en -Ubicación a la función aplicación inmuebles
descripción, funcionamiento. -Precio, de realiza la requeridos.
ubicación y Descripción búsqueda. búsqueda y 2. Se muestran los
precio. [Link] usuario muestra los inmuebles de la lista
ingresa el inmuebles de inmobiliaria
título, que seleccionada.
descripción, coincidan
ubicación y con los
precio. criterios
[Link] usuario ingresados.
envía la [Link] se
búsqueda. muestran
inmuebles
que no
cumplan
con los
criterios
establecidos

Fuente: Elaboración propia

97 - 112
EVALUACION TÉCNICA

A continuación, se tiene como objetivo las métricas de calidad del software para
evaluar la calidad del producto.

Funcionalidad

Medición de la funcionalidad del sistema mediante Puntos de Función, utilizando


valores del dominio de información para obtener resultados cuantificables. Se realizará
la medición de la funcionalidad del sistema utilizando la técnica de Puntos de Función.
Esta técnica se basa en utilizar valores del dominio de información para obtener
resultados cuantificables. Mediante la asignación de puntos a diferentes componentes
y características del sistema, como entradas, salidas, consultas y archivos, se puede
evaluar la cantidad y complejidad de la funcionalidad que el sistema ofrece.

 Número de entradas de usuario: Se refiere a cada entrada de control del usuario


que proporciona diferentes datos a la aplicación.

 Número de salidas de usuario: Se refiere a cada salida de información que


proporciona la aplicación al usuario, entre estos están: informes, pantallas,
mensajes de errores, entre otros.
 Número de peticiones de usuario: Una petición se define como una entrada
interactiva que produce la generación de alguna respuesta de software en forma
de salidas interactivas.

 Numero de ficheros: Es el número de ficheros maestros que se realizan en la


aplicación.

 Número de interfaces externas: Se cuenta las interfaces legibles por la máquina


que se utilizan para transmitir información a otro sistema.

A continuación, se asignará un nivel de complejidad para cada componente de acuerdo


a los puntos de función (Pressman, 2010) en la tabla 58.

98 - 112
Tabla 58 : Calculo Punto de Función

Parámetros de medida Cuenta Factor de peso Total

simple Medio Complejo


Número de Entradas de Usuario 4 3 4 6 12

Número de Salidas de Usuario 4 4 5 7 16

Número de Peticiones de Usuario 3 3 4 6 9

Número de Archivos 1 7 10 7 22

Número de Interfaces 4 5 7 10 20

Total 79

Fuente: Pressman, 2010

El cálculo total del punto de función web es de: 79

La funcionalidad del sistema será obtenida por medio del punto función que se basa
en la relación empírica de medidas cuantitativas del dominio de información del
software. Los valores de complejidad para calcular el punto función se muestran en
la siguiente tabla:

Tabla 59 : Valores de Ajustes de complejidad

Datos del Ajuste Valor de Ajuste


Sin influencia 0
Menor importancia 1
Moderado 2
Medio 3
Significativo 4
Esencial 5

Fuente: Prieto, 2003

La tabla Nro.31 se aplicó los valores de ajuste de complejidad a los factores de ajuste.

99 - 112
Tabla 60: Ajuste de complejidad

Fi Factores de ajuste Valor


1 ¿Requiere el sistema copias de seguridad y de recuperación fiables ? 1

2 ¿Se requiere comunicación de datos? 5

3 ¿Existe funciones de procesamiento distribuido? 5

4 ¿Es critico el rendimiento ? 4


5 ¿Sera ejecutado el sistema en un entorno operativo existente y fuertemente utilizado? 5
6 ¿Requiere el sistema entrada de datos interactiva? 5

7 ¿Requiere el sistema entrada de datos interactiva que las transacciones de entrada se


lleven a cabo sobre múltiples pantallas u operaciones? 3
8 ¿Se actualizan los archivos maestros de forma interactiva? 3

9 ¿Son complejas las entradas, las salidas, los archivos o las peticiones? 5

10 ¿Es complejo el procesamiento interno? 5

11 ¿Se ha diseñado ha diseñado el código para ser reutilizable? 5


12 ¿Se ha diseñado la aplicación para que se pueda tener compatibilidad con los 5
navegadores web actuales?
13 ¿Se ha diseñado la aplicación web para ser fácilmente utilizado por el usuario ? 5

14 ¿Se ha diseñado la aplicación web para facilitar los cambios y para ser fácilmente 3
utilizado por el usuario ?
Total ∑( 𝒇𝒊) = 59

Fuente: Prieto, 2003.

Para calcular el punto de función (PF), para el (Sistema Web) se utiliza la siguiente
ecuación:

Ecuación 1:Puntos de función ajustada

𝑃𝑢𝑛𝑡𝑜 𝐹𝑢𝑛𝑐𝑖ó𝑛 (𝑃𝐹) = 𝐶𝑈𝐸𝑁𝑇𝐴_𝑇𝑂𝑇𝐴𝐿 ∗ (0.65 + 0.01 ∗ 𝑆𝑢𝑚(𝐹𝑖 )) (1)

Fuente: Pressman, 2010.

100 - 112
Empleando la fórmula para hallar el PF y PF (Máximo):

𝑃𝐹 = 79 ∗ (0.65 + 0.01 ∗ 59)

𝑃𝐹 = 98.2

𝑃𝐹(𝑀𝑎𝑥𝑖𝑚𝑜) = 79 ∗ (0.65 + 0.01 ∗ 70)

𝑃𝐹 = 106.65

Con los valores de ajuste de complejidad de punto función, se tiene el siguiente


resultado de funcionalidad real:

𝑃𝐹 = (98.2 /106.65) ∗ 100

𝑃𝐹 = 92.02 %

La Aplicación Web cumple satisfactoriamente con los requisitos funcionales,


representando el 92.02% de la funcionalidad total según el punto función máximo.

Usabilidad

Este conjunto de características tiene como objetivo evaluar la facilidad de uso de la


aplicación, lo que implica determinar la cantidad de esfuerzo que el usuario necesitará
para utilizarla. Se trata de un proceso de evaluación que se enfoca en preguntas
específicas para medir su sencillez y facilidad de aprendizaje y manejo por parte de
los usuarios. Los pasos evaluados incluyen la comprensión, el aprendizaje, la
operatividad, la atracción y la conformidad de uso.

En la Tabla Nro.32, se observa estos criterios en niveles de porcentajes a los que llego
la aplicación en cuanto a su comprensibilidad, para el usuario, y posteriormente se
da el porcentaje final de usabilidad del sistema.

101 - 112
Tabla 61 :Escala de ajustes de usabilidad

Escala Descripción
1 Pésimo
2 Malo
3 Regular
4 Bueno
5 Muy bueno

Fuente: Elaboración Propia

Las preguntas utilizadas para medir la funcionalidad fueron las representadas en la


siguiente tabla, de acuerdo al siguiente detalle:

Tabla 62: Cuestionario de usabilidad

FACTOR VALOR
¿Se ha satisfecho todos los requerimientos establecidos por el software? 5

¿Puede utilizar con facilidad el sistema ? 5

¿Es sencillo acceder a los datos? 5

¿El sistema responde rápido a sus solicitudes ? 5

¿El sistema cuenta con interfaz agradable a la vista? 4

¿Durante el uso del sistema se produjeron errores? 4

¿Está de acuerdo con el funcionamiento del software? 5

Total 33

Fuente: Elaboración Propia.

La usabilidad para el sistema, se calcula por medio de la siguiente ecuación:


Ecuación 2 :Hallar la usabilidad del software
102 - 112
∑𝑣𝑎𝑙𝑜𝑟
[( 𝑛
)𝑥 100]
𝑈𝑆𝐴𝐵𝐼𝐿𝐼𝐷𝐴𝐷 = (2)
5

Fuente: Prieto, 2003.

Donde:
𝑈𝑆𝐴𝐵𝐼𝐿𝐼𝐷𝐴𝐷: Usabilidad del sistema
∑𝑣𝑎𝑙𝑜𝑟: Sumatoria del total del cuestionario de usabilidad
𝑛: Cantidad de preguntas del cuestionario

∑𝑣𝑎𝑙𝑜𝑟
[( 𝑛 ) 𝑥 100]
𝑈𝑆𝐴𝐵𝐼𝐿𝐼𝐷𝐴𝐷 =
5

33
[( 7 ) 𝑥 100]
𝑈𝑆𝐴𝐵𝐼𝐿𝐼𝐷𝐴𝐷 =
5

𝑈𝑆𝐴𝐵𝐼𝐿𝐼𝐷𝐴𝐷 = 94.29 %

Por lo tanto, la usabilidad del software corresponde a un 94.29%, que se interpreta


como la facilidad del usuario al interactuar con las interfaces.
.
Mantebilidad

Es un conjunto de atributos relacionados con la facilidad de extender, modificar o


corregir errores en un sistema software. Para hallar el índice se usa la siguiente
formula:

Ecuación 3 :Índice de madurez del software

103 - 112
[𝑀𝑡 – (𝐹𝑎 + 𝐹𝑚 + 𝐹𝑒)]
𝐼𝑀𝐶 = (3)
𝑀𝑡

Fuente: Silicia, 2003

Donde:
𝑀𝑡: Número de módulos de la versión actual.
𝐹𝑚: Número de módulos que se han modificado.
𝐹𝑎: Número de módulos en la versión actual que se han añadido.
𝐹𝑒: Número de módulos que se han borrado en la versión actual.

Tabla 63: Mantebilidad del sistema

Información Valor

Mt 5
Fm 0
Fa 0
Fe 0

Fuente: Elaboración Propia

[5 – (0 + 0 + 0)]
𝐼𝑀𝐶 =
5

𝐼𝑀𝐶 = 100%

Se tiene el 100% de mantenibilidad, esto quiere decir que el sistema tiene nivel de
mantenibilidad buena.

104 - 112
Portabilidad

Se refiere a la adaptabilidad del software de ser transferido de un ambiente a otro, y


considera los siguientes aspectos:

Adaptabilidad Evalúa la oportunidad para adaptar el software a diferentes ambientes


sin necesidad de aplicarle modificaciones.

 Facilidad de Instalación: Es el esfuerzo necesario para instalar el software en un


ambiente determinado.

 Conformidad: Permite evaluar si el software se adhiere a estándares o


convenciones relativas a portabilidad.

 Capacidad de reemplazo: Se refiere a la oportunidad y el esfuerzo usado en


sustituir el software por otro producto con funciones similares.

Para el cálculo de la portabilidad se tomó en cuenta las siguientes tablas que contiene
las características que se mencionaron anteriormente.

Tabla 64: Portabilidad

Factor Valor %

¿El sistema puede ser transferido de un entorno a otro? 85

¿Se puede adaptar con facilidad? 90

¿Es fácil de instalar? 95

¿Es capaz de reemplazar a una aplicación similar? 85

Total 88.75 %

Fuente: Elaboración Propia

105 - 112
El sistema fue desarrollado con [Link], [Link], Cheerio y Axios para la extracción
de información inmobiliaria y para el Front end Angular y la base d datos MySQL que
se ejecuta en todos los servidores web se le da una calificación del 88.75 % de
portabilidad.

Calidad total

Para poder obtener la calidad total del Software, sacaremos la media de todas las
medidas expresadas en porcentajes, como se muestra en la siguiente tabla:

Tabla 65: Resultados calidad total

Características Resultados(Web)

Funcionalidad 92.0.2%

Usabilidad 94.29%

Mantenibilidad 100%

Portabilidad 88.75%

Total 93.01%

Fuente: Elaboración Propia

La calidad total del Software corresponde al 93,01 %, lo que se interpreta como la


satisfacción que tiene el usuario al interactuar con el Software.

COSTOS

Con el fin de determinar los costos totales asociados con el desarrollo e


implementación del sistema, se clasificarán en dos categorías principales: costos fijos
y costos variables. Estos grupos contienen todos los costos existentes, como se
muestra en la tabla 37.

106 - 112
Tabla 66: Costos fijos y variables

Costo Total del Proyecto

Costos Fijos Costos Variables


Compra de equipos Material de escritorio
Licencias de software Recopilación de información
Desarrollo de software

Fuente: Elaboración Propia

Una vez determinados los costos del proyecto, se procede a detallar cada uno de ellos.
Cabe aclarar previamente que se considerarán solo aquellos costos que se producirán
en caso de implementarse el presente sistema.

Costos fijos

Los costos fijos son aquellos que no son sensibles a pequeños cambios en los niveles
de actividad de una empresa, sino que permanecen invariables ante esos cambios. Es
decir que no dependen del nivel de producción de la empresa. Para el presente Trabajo
de Grado se tienen los siguientes.

 Compra de Equipo
 Licencia de software.
 Desarrollo de Software.

[Link] Compra de equipo

Para el funcionamiento del sistema se requieren el siguiente equipo.

 Computadora (PC)

Computadora:

Los usuarios accederán a la aplicación web de alquileres utilizando una computadora


a partir de las siguientes características:

107 - 112
 Procesador: Intel Core i5
 Memoria: 4 GB de RAM
 Disco Duro: 500 GB

[Link] Licencia de software

 Para publicar la aplicación web se deberá adquirir una cuenta de Azure el costo
es de 80 Bs. Como pago por año.

[Link] Desarrollo de software

Para el presente Proyecto de Grado se empleará el Método de Puntos de Función


también llamado Análisis de Puntos de Función o FPA.
FPA es un método de valoración que evalúa la funcionalidad del sistema asignando
puntos de función. Estos puntos se obtienen mediante la clasificación, complejidad y
ponderación de cada funcionalidad. Al sumar los puntos, se obtiene la valoración del
proyecto. Se puede aplicar un factor de ajuste según características del sistema. Los
puntos de función se utilizan para estimar el tiempo y costo del proyecto.

a. Líneas de Código.

Para ello se emplea Correlación de Código Fuente por Punto de Función (LOC/FP),
donde el valor para PHP corresponde como se observa en la tabla cuarentaicuatro:

Tabla 67: Factor LDC/PF de lenguajes de programación

Costo Total del Proyecto


Lenguaje de Programación Factor LDC/PF
Java 53
JavaScript 47
Visual Basic 46
PHP 12
C 150
Lenguajes de 4ta. Generación 20

Fuente: Factor LDC/PF de lenguajes de programación

108 - 112
El Punto función (para la aplicación web) PF=107.1 se toma del cálculo realizado en
la evaluación técnica en el subtítulo de funcionalidad.
Ahora se convierte los Puntos Función a miles de Líneas de Código (LDC) con la
siguiente ecuación:

Ecuación 4 :Hallar líneas de código

𝐿𝐷𝐶 = 𝑃𝐹 ∗ 𝐹𝑎𝑐𝑡𝑜𝑟 𝐿𝐷𝐶/𝑃𝐹 (4)

Fuente: Prieto, 2003.

Dónde:
𝑃𝐹: Medida de funcionalidad.
𝐹𝑎𝑐𝑡𝑜𝑟 𝐿𝐷𝐶/𝑃𝐹: Factor LDC/PF de lenguajes de Programación.

𝐿𝐷𝐶
𝐿𝐷𝐶 = 𝑃𝐹 ∗ 𝐹𝑎𝑐𝑡𝑜𝑟
𝑃𝐹
𝐿𝐷𝐶 = 107.1 ∗ 12

𝐿𝐷𝐶 = 1285.2

Las líneas de código en su totalidad son 1285.2 de las cuales se estima que
aproximadamente un 68% del Código es reutilizable, entonces el total del LCD es:

𝐾𝐿𝐶𝐷 = (𝑡𝑜𝑡𝑎𝑙 𝐿𝐶𝐷 − 𝐿𝐶𝐷 𝑅𝑒𝑢𝑡𝑖𝑙𝑖𝑧𝑎𝑏𝑙𝑒)/ 1000

𝐾𝐿𝐶𝐷 = (1285.2– 873.94)/1000

𝐾𝐿𝐶𝐷 = 0.41

KLDC: Número de líneas de código distribuidas.


Por lo tanto, existen 0.41 líneas de código distribuidas para el proyecto.

109 - 112
b. Esfuerzo.

Se estima el esfuerzo, con 8 horas por Punto de Fusión Promedio de trabajo, se


procede a calcular el esfuerzo representado en horas hombre con la siguiente
ecuación.

Ecuación 5 :Hallar el esfuerzo

𝐸 = 𝑃𝐹 ∗ 𝐻𝑃𝐹𝑃 (5)

Fuente: Pressman, 2010.

Dónde:
𝐸: Esfuerzo (en horas – hombre)
𝑃𝐹: Puntos de Función
𝐻𝑃𝐹𝑃: Horas por Punto de Fusión Promedio

𝐸 = 𝑃𝐹 ∗ 𝐻𝑃𝐹𝑃
𝐸 = 107.1 ∗ 8
𝐸 = 856.8 (ℎ𝑜𝑟𝑎𝑠 − ℎ𝑜𝑚𝑏𝑟𝑒)

c. Tiempo.

Se obtiene el tiempo que requerido para desarrollar el software con la siguiente


ecuación:

Ecuación 6 :Hallar el tiempo

𝑇 = 𝐸/𝐻𝑇 (6)

Fuente: Pressman, 2010.

Dónde:
𝑇: Tiempo requerido para el desarrollo de Software (en meses)
𝐸: Esfuerzo (en horas – hombre)
𝐻𝑇: Horas de Trabajo al Mes (considerando que al mes se trabajaron 160 horas)
110 - 112
𝑇 = 𝐸/𝐻𝑇

𝑇 = 856.8/160

𝑇 = 5.35 (𝑚𝑒𝑠𝑒𝑠)

Para el presente proyecto consideramos la intervención de 1 programador, por lo cual


el tiempo se refleje (aproximadamente 3 mes), considerando además que el sueldo de
cada desarrollador será de Bs. 2.164 por mes y que los mismos serán contratados
como consultores. Remplazando valores en la ecuación:

𝐶 = 3 ∗ 1 ∗ 2164 = 6.328 (𝐵𝑠)

Concluyendo de ese modo que el costo de desarrollo de software ascenderá a Bs.


6.328 (Bs.) en un tiempo de 3 mes.

Costos variables

Los costos variables son aquellos que fluctúan en función del volumen de producción
y tienden a cambiar en la misma dirección. En el contexto del Proyecto de Grado, se
calculan y estiman los costos variables teniendo en cuenta la relación con la cantidad
de trabajo realizado. Estos costos pueden aumentar o disminuir según la cantidad de
recursos utilizados en el proyecto, como horas de trabajo, materiales o servicios
externos. Es importante considerar estos costos variables al realizar el presupuesto y
planificación del proyecto, ya que pueden influir en la rentabilidad y viabilidad del
mismo.

[Link] Recopilación de la información

Los gastos generados para la realización del presente Proyecto de Grado se


evidencian en la tabla 39 el cual muestra los gastos generados durante la recopilación
de información necesaria para su realización. En esta tabla se presentan de forma
detallada los costos asociados a diferentes ítems, como el internet, las fotocopias y el
transporte. Estos costos están expresados en bolivianos (Bs.) y se especifican las
unidades, cantidades, costos unitarios y costos totales de cada ítem.
111 - 112
Tabla 68: Costo de recopilación de información (expresado en Bs.)

Ítem Unidad Cantidad Costo Unitario (Bs) Costo Total (Bs)

Internet Mes 5 150 750,00

Fotocopias hoja 99 0.20 19,80

transporte Pasaje 20 2 40,00

Total (Bolivianos) 809.80

Fuente: Elaboración Propia

[Link] Costo total del proyecto

Una vez que se han detallado los costos variables y fijos del Proyecto de Grado, se
procede a calcular el costo total del mismo. La Tabla Nro. 40 muestra el desglose de
los costos totales expresados en bolivianos (Bs). En la sección de costos fijos, se
especifica que no se incurrió en gastos para la compra de equipos ni para adquirir
licencias de software.

Tabla 69: Costo total del proyecto (expresado en Bs)

Detalle Costos (BS)


Costos Fijos
Compra de equipos 0,00
Licencias de software 0,00
Desarrollo de software(web) 6492
Costos Variables

Material de escritorio 0,00


Recopilación de información 809.80

COSTO TOTAL (BS) 7.301,80 Bs

Fuente: Elaboración Propia

Se determinó que el costo de desarrollo considerando los costos variables es de


7.301,80 Bs tomando este monto como inversión inicial.
112 - 112
CAPÍTULO 4
CONCLUSIONES Y
RECOMENDACIONES

50
CONCLUSIONES

Una vez concluido con el Proyecto de Grado Técnico se determinan las siguientes
conclusiones:

 Se pudo identificar los procesos actuales del mercado de alquiler, anticrético y


compra de bienes inmuebles a través de la recopilación de información de
varias páginas inmobiliarias que ofrecen este servicio. La obtención de esta
información fue esencial para tener acceso a páginas que podrían ser
utilizadas para extraer información.

 Se compararon diferentes técnicas de Web Scraping para la obtención de


información inmobiliaria de distintas páginas inmobiliarias, y se eligieron las
técnicas más adecuadas para el desarrollo de la aplicación web, que fueron
las expresiones regulares y los protocolos HTTP.

 Se logró el desarrollo de la API que aplicó la técnica de Web Scraping adecuada,


lo que permitió la extracción exitosa de información inmobiliaria de diversas
páginas inmobiliarias.

 Se logró crear de manera exitosa tanto la base de datos como las interfaces
interactivas para la aplicación web, lo que permite a los usuarios realizar
búsquedas y obtener información inmobiliaria de manera eficiente y fácil de
usar.

 Se logró llevar a cabo las pruebas unitarias y de integración en los distintos


módulos generados, con el objetivo de asegurar el adecuado funcionamiento
de la aplicación web.

90
RECOMENDACIONES

Debido al funcionamiento del sistema se recomienda tener una conexión estable a


internet, este no debe ser interrumpido por qué si así lo fuera puede ocurrir que este
no puede navegar por las diferentes páginas web de bienes inmuebles de la ciudad
de la paz.

 Se recomienda establecer un equipo de trabajo con experiencia y conocimiento


específicos para el desarrollo de aplicación, así como el uso de la tecnología
Web Scraping

 Es importante realizar pruebas y revisiones constantes del software para


asegurar su correcto funcionamiento y evitar errores.

 Se recomienda tener un plan de seguridad y privacidad de datos personal para


protección de los usuarios y su información personal.

 Asegurarse de que el sitio web objetivo permita el Web Scraping y cumpla con
los términos de uso establecidos por el sitio.

 Evitar realizar demasiadas solicitudes al sitio web objetivo en un corto período


de tiempo para evitar sobrecargar el servidor y ser bloqueado.

91
BIBLIOGRAFÍA

36
BIBLIOGRAFÍA

Ambler. (2012). metodologia xp. Obtenido de


[Link]
Aroa, M. I. (2020). Sistema web orientado a la recoleccion de informacion de medios
digitales mediante tecnicas de web scraping caso:agetic-hemeroteca.
Atevenio, S. (2018). Obtenido de [Link]
web-scraping-y-para-que-sirve/
Chiyana, s. (27 de julio de 2021). Obtenido de que es una API:
[Link]
Gauchat. (2012). JavaScript. Obtenido de [Link]:
[Link]
Gonzales, D. P. (2019). Diseno y Desarrollo de una aplicacion Web Scraping de
extraccion de enlaces de tiendas web .
Hernandez. (2014). TECNICAS DE WEB SCRAPING. Obtenido de TECNICAS DE
WEB SCRAPING: [Link]
[Link]?sequence=1
Jess, U. (2018). [Link]. Obtenido de [Link]: [Link]
of-testing-explained-1ljo
Mateu. (2004). Aplicacion Web. Obtenido de Britannica:
[Link]
Mesa, A. S. (OCTUBRE de 2018). MODELO AGIL. Obtenido de MODELO AGIL:
[Link]
e_Araque.pdf?sequence=1&isAllowed=y
Mitchell. (Octubre de 2015). Web Scraping. Obtenido de Seoestudios:
[Link]
Noriega, J. (19 de agosto de 2013). Modelos de Desarrollo. Obtenido de
[Link]
Orozco, P. V. (2019). Desarrollo de un prototipo de aplicacion web que permita la
extraccion de las ofertas laborales de las pricipales plataformas que postulan
empleos en la region caribe usando la tecnica Web Scraping.
83 - 85
Pianchiche, d. l. (2020). Software para Web Scraping desde de las apis de repositorios
de codigo.
Robledano, A. (24 de septiembre de 2019). Mysql. Obtenido de
[Link]
Sanchez, J. (2004). Obtenido de [Link]
1PKTG1T-
2B2B/Principios%20de%20bases%20de%20datos%[Link]
Sevilla, M. (24 de septiembre de 2022). Obtenido de construir herramienta de Web
Scraping con Javascript: [Link]
herramienta-web-scrapring-con-javascript/
Sevilla, M. (24 de septiembre de 2022). construir herramienta de Web Scraping con
Javascript. Obtenido de construir herramienta de Web Scraping con Javascript:
[Link]
scrapring-con-javascript/
Sinnaps. (2020). metodologia XP. Obtenido de metodologia XP:
[Link]
Sommeville, e. a. (2005). Ingenieria de software.
Sornoza, J. c. (30 de junio de 2017). proceso para el desarrollo de software. Obtenido
de [Link]
software/procesodesarrollo-software
Universidad tecnica del norte. (2015). Slidshare. Obtenido de Sildshare:
[Link]

84 - 85
GLOSARIO
GLOSARIO

Web Scraping: Es una técnica de extracción de datos que consiste en obtener


información de páginas web de forma automatizada, accediendo a su código HTML y
extrayendo los datos de interés.

API (Application Programming Interface): Es un conjunto de reglas y protocolos que


permiten la comunicación entre diferentes aplicaciones de software. Las API facilitan
la interacción y el intercambio de datos entre sistemas.

Bienes inmuebles: Son propiedades que no pueden ser movidas, como casas,
apartamentos, terrenos o locales comerciales. Los bienes inmuebles son objeto de
transacciones de compra, venta o alquiler.

Metodología: Es un conjunto de procedimientos, técnicas y herramientas que se


utilizan para realizar un proyecto o proceso de manera sistemática y estructurada. Una
metodología proporciona una guía para la planificación, ejecución y control de las
actividades.

Framework: Es un conjunto de herramientas, librerías y componentes predefinidos que


facilitan el desarrollo de aplicaciones de software. Un framework proporciona una
estructura y funcionalidades comunes que agilizan el proceso de desarrollo y permiten
una mayor reutilización de código.

Frontend: Se refiere a la sección del desarrollo web que se encarga de la apariencia


visual y el diseño de un sitio web, es decir, la parte frontal de la página.

Backend: Es la sección del desarrollo web que se dedica a garantizar el correcto


funcionamiento de toda la lógica de una página web.

Expresiones Regulares: Son patrones de búsqueda utilizados para encontrar y


manipular cadenas de texto de acuerdo con reglas predefinidas.
ANEXOS
ANEXOS A
ÁRBOL DE PROBLEMAS
ANEXOS

ANEXO A: Árbol de problemas

Esto produce dificultad Ocasionado que los


al momento de decidir usuaros se informen de
que informacion diferentes paginas web
usar,ante los sitios web y redes sociales .
que se podrian
encontrar.

Provoca un costo
Genera que los adicional al usuario en
mismos visiten de La gran cantidad de información inmobiliaria su busqueda
manera manual y existente en internet, que debe ser revisada, inmobiliaria.
frecuente paginas al momento de buscar un alquiler, anticrético
web esto produce o venta de inmueble, no siempre es
perdida de tiempo. verificada, ocasionando pérdida de tiempo y
una mala toma de decisiones a nuestros
usuarios.
Adquirir informacion
de alquiler en tiendas
comerciales y
periodicos .
Falta de
Los usuarios aplicaciones que
generalmente no centralicen
El uso frecuente de informacion
acuden a un solo sitio buscadores de sitios
web de informacion de inmobiliaria de la
web con informacion
bienes inmuebles. diferentes paginas
inmobiliaria.
web en internet.
ANEXOS B
ÁRBOL DE OBJETIVOS
ANEXOS

ANEXO B: Árbol de objetivos

Para la obtencion de
Para el despliegue y
informacion inmobiliaria presentacion de
de las diferentes paginas. bienes inmuebles. Para la obtencion de
Para identificar los informacion
requerimientos inmobiliariaque se
funcionales que muestre en la
debe contar la aplicacio web.
Desarrollar una aplicacion web que
aplicacion web.
obtenga datos de bienes inmuebles , de
diferentes paginas, utilizando Web Scraping
para que el usuario consiga informacion
centralizada de alquileres, anticreticos y
venta de inmuebles sin la necesidad de que
se realice la busqueda extensa en
diferentes paginas.
Desarrollar una API
aplicando la tecnica de
Web Scraping.
Analizar la situacion
actual del mercado de
prestaciones de Seleccionar la
servicios de alquiler tecnica mas Generar el modelo
aticretico, compra de apropiada de Web de base de datos,
bienes inmuebles. Scraping de las la estructura de la
diferetes tecnicas. aplicacion web, la
interfaz amigable.

También podría gustarte