• No se han encontrado resultados

Análisis, diseño, desarrollo e implementación de la aplicación web de alojamientos para el evento internacional Convención Minera PERUMIN 33

N/A
N/A
Protected

Academic year: 2020

Share "Análisis, diseño, desarrollo e implementación de la aplicación web de alojamientos para el evento internacional Convención Minera PERUMIN 33"

Copied!
112
0
0

Texto completo

(1)

Facultad de Ingeniería

Carrera Profesional de Ingeniería de Software

Para optar el Título Profesional de

Ingeniero de

Software

"ANÁLISIS, DISEÑO, DESARROLLO E

IMPLEMENTACIÓN DE LA APLICACIÓN WEB DE

ALOJAMIENTO DE CASAS Y DEPARTAMENTOS PARA

EL EVENTO INTERNACIONAL

CONVENCIÓN MINERA - PERUMIN 33"

Autor:

Kevin Edgar Salazar Ruiz

Asesor:

Pedro Angel Molina Velarde

(2)

II

DEDICATORIA

A mis padres Edgar Salazar, Milagros Ruiz

Por darme la vida y motivarme a cumplir mis metas, por

haberme forjado como la persona que soy, por los valores que me enseñaron,

por simplemente ser ellos, gracias padre y madre.

A mis hermanos Edwar y Fiorella

quienes compartieron conmigo toda mi vida universitaria,

por su incondicional apoyo y motivación en cada momento

(3)

III

AGRADECIMIENTO

Un agradecimiento en especial a los Grupos de

Comunidad Escuela Digital y PHP en español por su

Valioso apoyo en mi formación profesional y

Al Ing. Pedro Molina,

por su desempeño brindando en el desarrollo

(4)

IV

1.1 DEFINICIÓN DEL PROBLEMA ...11

1.2 DEFINICIÓN DE LOS OBJETIVOS ...11

1.2.1 Objetivos generales ...11

1.2.2 Objetivos específicos ...12

1.3 JUSTIFICACIÓN DE LA INVESTIGACIÓN ...13

CAPITULO II ... 15

2.2.5 PERUMIN 33 CONVENCIÓN MINERA ...17

2.2.6 Sitio web...18

2.2.7 Aplicaciones web ...19

2.2.8 Lenguaje por el Lado del Servidor (Back-end) ...20

2.2.9 Frameworks para aplicaciones web ...24

2.2.10 Arquitectura Cliente-Servidor ...26

2.2.11 Ventajas que ofrece el esquema Cliente-Servidor: ...28

2.3.0 Patrón de desarrollo de software MVC ...29

2.3.1 Base de datos ...31

2.3.2 MySQL ...33

2.3.3 PhpMyAdmin ...34

2.3.4 SQLyog ...36

2.3.5 GitHub ...37

(5)

V

CAPITULO III ... 39

ANÁLISIS ... 39

3.1 ANÁLISIS DE LOS REQUERIMIENTOS ...39

3.1.1 Requerimientos Funcionales ...41

3.1.2 Requerimientos no Funcionales ...57

DISEÑO ... 68

3.2 Diseño de base de datos para la aplicación web. ...68

3.2.1 Diccionario de datos ...68

3.3 Diseño de Interfaces ...72

DESARROLLO... 83

3.4 LA APLICACIÓN ...83

3.4.1 PAGINA HOME ...83

3.4.2 PUBLICA TU ANUNCIO (REGISTRO) ...84

3.4.3 ACCESO ANUNCIANTES (LOGIN) ...85

3.4.4 GALERÍA ...85

3.4.5 FOOTER DE LA PAGINA WEB ...86

3.4.1 PAGINA DE USUARIO IDENTIFICADO ...87

3.4.2 AGREGAR ANUNCIO ...88

3.4.3 DETALLES | AGREGAR ANUNCIO ...91

3.5 CORREO DE VERIFICACIÓN DE PUBLICACION DE ANUNCIO ...95

3.6. EDITAR ANUNCIO ...96

3 VER ANUNCIO ...98

3.8 BUSCAR ANUNCIOS ...100

3.9 CONTACTAR CON EL ANUNCIANTE ...101

3.10 PANEL DE ADMINISTRACIÓN ...103

CONCLUSIONES ... 107

RECOMENDACIONES ... 109

REFERENCIAS BIBLIOGRÁFICAS ... 112

(6)

VI

INDICE DE TABLAS

Tabla 1 Frameworks para aplicaciones web ... 26

Tabla 2 RF01 Login Administrador ... 42

Tabla 3 RF02 Mostrar anuncios administrador ... 42

Tabla 4 RF03 Aprobar anuncio ... 43

Tabla 5 RF04 Desaprobar anuncio ... 43

Tabla 6 RF05 Eliminar Anuncio ... 44

Tabla 7 RF06 Enviar mensaje al anunciante ... 44

Tabla 8 RF07 Contar anuncios ... 45

Tabla 9 RF08 Home – filtro ... 45

Tabla 10 RF09 Home – Crear nuevo usuario ... 46

Tabla 11 RF10 Usuario-Mis anuncios ... 46

Tabla 12 RF11 Usuario – Estados de Anuncios ... 47

Tabla 13 RF12 Usuario – Crear Anuncio – Paso 1 ... 48

Tabla 19 RF18 Usuario – Términos y condiciones – Paso 4 ... 52

Tabla 20 RF19 Usuario – Cerrar Sesión ... 53

Tabla 21 RF20 Home – Login ... 53

Tabla 22 RF21 Buscador de Alojamiento ... 54

Tabla 23 RF22 Filtros del Buscador de alojamiento ... 55

Tabla 24 RF23 Filtro Principal de Buscador ... 56

Tabla 25 RF24 Detalles de anuncio de por búsqueda ... 56

Tabla 26 RF25 Contactar al anunciante ... 57

Tabla 27 RNF01 Diseño Responsivo ... 59

Tabla 28 RNF02 3 Secciones en el Minisite ... 60

Tabla 29 RNF3 Efectos Parallax ... 60

Tabla 30 RNF4 Imágenes de fondo en cada sección ... 61

(7)

VII

Tabla 32 RNF6 Sección de Galería de fotos ... 62

Tabla 33 RNF7 Menú de navegación fijo ... 63

Tabla 34 RNF8 Pie de página Web ... 63

Tabla 35 RNF9 Botones UI ... 64

Tabla 36 RNF10 Cuadro de Anuncios – Vista Previa ... 65

Tabla 37 RNF11 Slider de galería de fotos ... 65

Tabla 38 RNF12 Número de visitas ... 66

Tabla 39 RNF13 Compatibilidad con Navegadores ... 66

Tabla 40 Tabla ins_usuariop ... 69

Tabla 41 Alo_anuncio ... 70

Tabla 42 Alo_anuncioupload ... 70

Tabla 43 Alo_contactoanuncio ... 71

Tabla 44 Alo_estado ... 71

Tabla 45 Alo_inmueble ... 72

(8)

VIII

INDICE DE ILUSTRACIONES

Ilustración 1 Modelo Cliente/Servidor ... 28

Ilustración 2 MVC ... 31

Ilustración 3 Base de datos ... 32

Ilustración 4 PhpMyAdmin... 35

Ilustración 5 Interfaz de SQLYog versión Enterprise ... 37

Ilustración 6 Boceto de Minería Competividad y Sostenibilidad ... 73

Ilustración 7 Boceto de Publica tu anuncio ... 74

Ilustración 8 Boceto acceso a anunciantes ... 74

Ilustración 9 Boceto Pagina Web Arequipa ... 75

Ilustración 10 Boceto Mis Anuncios ... 75

Ilustración 11 Boceto Agregar Anuncios... 76

Ilustración 12 Boceto Datos de Contacto ... 78

Ilustración 13 Boceto descripción ... 79

Ilustración 14 Boceto Opción subir fotos ... 80

Ilustración 15 Boceto Subir fotos ... 81

Ilustración 16 Boceto Vista Previa ... 81

Ilustración 17 Boceto Página Web ... 82

Ilustración 18 Página principal de la aplicación de Alquiler de casas y departamentos. ... 83

Ilustración 19 Vista Previa de Publica tu anuncio ... 84

Ilustración 20 Vista Previa de Acceso a Anunciantes ... 85

Ilustración 21 Galería ... 86

Ilustración 22 Galería de fotos ... 86

Ilustración 23 Footer de la Pagina Web Pie de página del sitio web, se muestra el mapa de Google Maps, señalando la sede del evento. ... 86

Ilustración 24 Página de Usuario Identificado... 87

Ilustración 25 Agregar Anuncio ... 88

Ilustración 26 Script, Validación de datos ... 90

(9)

IX

INTRODUCCIÓN

La presente tesis se basa al Análisis, diseño, desarrollo e implementación de la aplicación web de alojamiento de casas y departamentos para el evento internacional Convención Minera - PERUMIN 33, mediante el cual se busca facilitar a los visitantes de la Ciudad de Arequipa modalidad rápida y eficaz de búsqueda de hospedaje.

El organizador del mega evento internacional PERUMIN 33 - Convención Minera es el Instituto de Ingenieros de Minas del Perú (IIMP), que es una institución privada sin fines de lucro constituida por calificados conocedores, técnicos, asociados y personas jurídicas nacionales e internacionales que se desenvuelven actividades mineras, geológicas o enlazadas a las compañías de minería en el país.

El IIMP tiene como objetivo principal la articulación de impulsos con diversas constituciones privadas y estatales para colaborar a la implementación de espacios de conversación, donde se analizan acciones que permitan generar el avance sostenible del sector minero.

(10)

X

capacitadores del sector. De igual manera se diseñan artículos y publicaciones como la revista MINERÍA.

Ante la creciente demanda de alojamiento en la Ciudad de Arequipa que se espera durante el desarrollo de PERUMIN 33 - Convención Minera, el Comité Organizador del evento minero más grande del mundo propone el desarrollo de una moderna aplicación web a disposición de sus participantes con una variada oferta de casas y departamentos en alquiler ubicados en distintos puntos estratégicos de Arequipa.

(11)

11

CAPITULO I

ASPECTOS GENERALES

1.1 DEFINICIÓN DEL PROBLEMA

El evento Perumin Convención Minera es un magno evento de minería de escala mundial que se realiza con la frecuencia de cada dos años en nuestro País. En el evento de Perumin se realizan conferencias magistrales donde estudiantes, profesionales y empresarios nacionales e internacionales reconocidos de todos los sectores llegan a la “Ciudad Blanca”, miles de personas interesadas en ser

parte del gran evento minero se registran mediantes nuestros aplicativos digitales, volviendo a Arequipa por cinco días una ciudad con alta demanda en alojamiento. El problema ocurre cuando los participantes, convencionistas y conferencistas del evento llegan a la ciudad blanca y no encuentran hospedaje disponible debido a la falta de información y/o asesorías. Otro problema que también se presenta es la elevación de los precios por la alta demanda y pocas empresas de hospedaje, generando malestar entre los participantes y comentarios negativos durante y post evento.

1.2 DEFINICIÓN DE LOS OBJETIVOS

1.2.1 Objetivos generales

(12)

12

Desarrollar un aplicativo digital en la cual las personas y/o empresas interesadas en ofrecer el servicio de alojar a los miembros asociados y extranjeros del evento PERUMIN 33 tengan la posibilidad registrar sus inmuebles en el sistema.

1.2.2 Objetivos específicos

 Desarrollar y diseñar un mini site para el aplicativo “Alquiler de Casas, departamentos, hospedajes en Arequipa”.

 Desarrollar un módulo web que permita a las personas interesadas en

ofrecer el servicio de hospedaje registrar su inmueble ya sea casa, departamento, hostal, hotel, casa de retiro y boutique.

 Desarrollar un módulo web que permita a los participantes del evento

PERUMIN 33 Convención Minera, buscar un hospedaje filtrando el distrito y el tipo de inmueble.

 Desarrollar una vista interactiva que muestre la información de los

inmuebles a alquilar, fotografías, características y datos del propietario.

 Desarrollar un módulo web que permita la comunicación entre el

propietario del inmueble a alquilar y el interesado en reservarlo.

 Desarrollar un módulo web que permita al administrador de la aplicación

(13)

13

1.3 JUSTIFICACIÓN DE LA INVESTIGACIÓN

El evento PERUMIN 33 Convención Minera, es un magno evento que convierte a Arequipa durando cinco días como la capital de la minería del mundo.

En el evento se tiene esperado la asistencia de más de 68 mil delegaciones de 50 países del mundo.

Convención Minera - PERUMIN, desde que fue fundada por el IIMP en el año 1954, es un evento que integra a las más reconocidas empresas, respaldando además el crecimiento profesional dedicado de los participantes, colaborando con trabajo de investigación, innovación e implementación de tecnología en las operaciones mineras, como precisan sus finalidades.

Esta edición se ha habilitado 10.7 hectáreas para la construcción de las salas de conferencias, y para Extemin (Exhibición Tecnológica Minera) se tiene prevista la participación de 800 empresas nacionales e internacionales de más de 70 rubros industriales y comerciales.

Para la edición 2017, se contará con más de 1500 stands, que congregarán a más de 1000 instituciones peruanas e internacionales de países como Argentina, Alemania, Australia, Bélgica, Brasil, Canadá, China, China, EEUU, España, Finlandia, Francia, Italia, Sudáfrica, Reino Unido y Suecia que darán a conocer sus novedades y productos en agrupación y servicios, así como los avances innovadores científicos de la industria geológica y minera.

(14)

14

juega un papel muy importante los propietarios de los inmuebles a alquilar, generando así un bienestar entre ambas partes.

(15)

15

CAPITULO II

FUNDAMENTO TEÓRICO

2.1 Antecedentes

El evento Perumin Convención Minera es un magno evento de minería de escala mundial que se realiza con frecuencia de cada dos años en nuestro País.

En el evento de Perumin se realizan conferencias magistrales donde estudiantes, profesionales y empresarios nacionales e internacionales reconocidos de todos los sectores llegan a la ciudad blanca, miles de personas interesadas en ser parte del gran evento minero se registran mediantes nuestros aplicativos digitales, volviendo a Arequipa una ciudad con alta demanda en alojamiento, en las ediciones de la convención minera.

2.2 Marco Teórico

(16)

16

2.2.1 IIMP

El Instituto de Ingenieros de Minas del Perú se fundó el 26 de noviembre de 1943 por la decisión de un grupo de ingenieros de minas, con el fin de formar una de las más importantes organizaciones del sector minero peruano, basando su éxito y reconocimiento en el aporte técnico desplegado a través de las últimas décadas.

Desde esas décadas, el Instituto de Ingenieros de Minas se ha proyectado ser la organización pionera que integre a las personas mejores calificadas del sector para desafiar los grandes desafios que afronta la industria minera, en un ambiente tan variante como el de estos tiempos.

2.2.2 Misión del IIMP

La misión del IIMP es impulsar la expansión profesional de los miembros asociadas, a través de preparación de alto nivel profesional, la innovación minera y el fomento de ejercicios consecuentes, metódicos para el refuerzo del sector minero y geológico.

2.2.3 Visión del IIMP

(17)

17

2.2.4 Valores del IIMP

Los Valores que tiene el IIMP es la calidez, calidad profesionalismo, originalidad y servicio a los asociados.

2.2.5 PERUMIN 33 CONVENCIÓN MINERA

El evento de PERUMIN 33 Convención Minera, es organizado por el Instituto de Ingenieros de Minas del Perú, una asociación privada teniendo como fundación en el año 1943, teniendo como objetivo el de enlazar esfuerzos con empresas privadas y públicas para asociarse a la generación de espacios de platica en donde se planteen gesticular que permitan el crecimiento sostenible del país. PERUMIN desde 1954 a la fecha se ha constituido en uno de los eventos mineros más importantes del mundo, donde se analizan los problemas que afronta la industria minera peruana, ideando y elaborando soluciones efectivas para afrontar sus enormes retos y desafíos de cara a la celebración del Bicentenario. Complementa la actividad académica la Exhibición Tecnológica Minera (EXTEMIN) que congrega a empresas nacionales e internacionales de más de 70 rubros comerciales que han generado un intercambio comercial sin precedentes.

(18)

18

internacionales, autoridades estatales y el mix de servicios y productos que ofrece en las fechas del evento.

2.2.6 Sitio web

Un Website está conformada por una integración de diversas de páginas web almacenadas en la WWW que contienen diversos archivos de hipertexto, desde imágenes, base de datos, archivos de texto plano, etc. Cada archivo de hipertexto está compuesto desde texto plano y gráficos que se muestran como data digital en el monitor de una desktop. Un website está compuesto por una serie de mezcla de herramientas visuales y de hipertexto como imágenes o vídeo, y otros elementos dinámicos o estáticos. Todo website costa de una página de bienvenida, que es el primear página el usuario visualiza cuando ingresa en el portal web poniendo en la barra de dirección el dominio de ese sitio web en un navegador, muchos navegadores nos ayudan como Chrome, Safari, etc.

(19)

19

Finalmente un sitio web es un conjunto de páginas web, que se representa e ingresar mediante un dominio de Internet o subdominio en la WWW en Internet.

2.2.7 Aplicaciones web

Hace algunos años la red solo era colecciones de páginas, imágenes, documentos estáticos y simples las cuales la gente podía consultar pero sin interactuar realmente con ellas.

Una página es dinámica cuando se incluye funcionalidad y se realiza con algún

lenguaje de programación de alto nivel.

Cuentan con una programación más compleja y utilizan bases de datos. Los

contenidos se actualizan a través de un panel de administración, donde los

administradores de la web podrán dar de alta, editar o borrar noticias, artículos,

imágenes, entre otros, y un sinfín de posibilidades.

Es ideal si el cliente cree que va estar constantemente cambiando los contenidos

de la web.

Con las páginas web dinámicas podemos desarrollar proyectos a escala por

ejemplo: webs corporativas de empresas, tiendas online, blogs, intranets, juegos

en tiempo real, etc. las posibilidades son muchas.

Para este tipo de páginas los servidores de alojamiento necesitan más

prestaciones que para una web estática, ya que aumentarán los contenidos

alojados (textos, imágenes) y la transferencia de visitas, por todo ello el coste

anual también será mayor.

Las páginas web dinámicas son creadas con gestores de contenidos, los más

utilizados y que más posibilidades y mejor rendimiento ofrecen son WordPress,

(20)

20

Las aplicaciones web se codifican haciendo uso de lenguajes de programación,

siendo los más utilizado al 2018: PHP, JavaScript, .NET, Python, Java Web, con

lo cual podemos definir las herramientas y funcionalidades que se deben realizar

de acuerdo con nuestras requisitos.

Por otro lado las páginas estáticas se utilizan más para brindar información, por

ejemplo el sitio web de una pequeña empresa, mientras que las páginas

dinámicas son más complejas, versátiles, por dar unos ejemplos se utilizan para

un sistema de una intranet o un sistema gestor de contenidos.

2.2.8 Lenguaje por el Lado del Servidor (Back-end)

Los Lenguajes de programación del lado del servidor se aplican en proyectos donde se tiene que ingresar a información, situada en una base de datos y por razones de seguridad las operaciones no se pueden realizar en una computadora local o de usuario.

Recordemos que los lenguajes de programación Backend es indispensable para realizar la generalidad de las web aplication se debe tener acceso a muchas librerías externas ,plugins , etc y desde al ordenador del usuario, en la mayoría de veces a bases de datos almacenadas en datacenters de Internet. Por ejemplo es el caso de un centro financiero: no tiene ningún sentido que el cliente tenga acceso a toda la data base, sólo a la data que le es necesaria. Las páginas interactivas del server solían almacenar en el archivo HTML, por ejemplo PHP con HTML, al igual que sucedía en los sitios del cliente.

(21)

21

también conocido como HTML. Este resultado final es el que se envía al cliente y puede ser visualizado sin bugs ni incompatibilidades, puesto contienen código base y todos los navegadores pueden interpretarlo.

El server es el que controla la conexión de las bases de datos y cualquiera otro elemento, por ejemplo imagenes, DNS, administración de correos y luego envía al usuario una respuesta (vista HTML) con la conclusión de las ejecuciones. Los puntos positivos de utilizar lenguajes de programación Backend son que el usuario final no puede visualizar el código empleado, ya que se ejecutan y convierte en HTML antes de dirigirlos. También son autosuficientes del browser, ya que el código que reciben es sencillamente entendible.

Como un punto negativo al Backend se puede deducir que será necesario un servidor más potente y con más capacidades que el necesario para las páginas de cliente si las necesidades lo apliquen, por ejemplo un sitio web de noticias masivas necesitara un servidor que pueda soportar todo ese tráfico.

Java Server Pages (JSP): Es una lenguaje de programación para productir

sitios web interactivos de forma dinámica con el server, se encuentra escrito un código variante Java. La tecnología JSP, es una tecnología Java que permite a los desaro lladores producir dinámicamente XML/HTML.

(22)

22

Java, permitiendo separar en capas las aplicaciones web, guardando en clases .java los módulos que consumen más procesos, poniendo énfasis en la seguridad y dejando la parte encargada de formatear el archivo HTML en el archivo jsp. También Javascript se determina por ser un lenguaje robusto que puede emplearse en multisistemas, lo que sumado a JSP le da mucha diversidad.

PHP (acrónimo de PHP: Hypertext Preprocessor) es un lenguaje

de código abierto muy popular especialmente adecuado para el desarrollo web. PHP se emplea desarrollar sitios web interactivos, un punto en contra es que tiene la capacidad de mezclarse con el código HTML, aunque esto último no es recomendable y ya existen frameworks que lo anulan). Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU. PHP es un lenguaje de script incrustado dentro del HTML. La mayor parte de su sintaxis ha sido tomada del lenguaje C, con algunas singularidades específicas de sí mismo. El objetivo del lenguaje es permitir rápidamente a los programadores la generación dinámica de aplicaciones web”.

(23)

23

El servidor web puede ser configurado incluso para que procese todos los ficheros HTML con PHP, por lo que no hay manera de que los usuarios puedan saber qué se tiene debajo de la manga.

Lo mejor de utilizar PHP es su extrema simplicidad para el principiante, pero a su vez ofrece muchas características avanzadas para los programadores profesionales. No sienta miedo de leer la larga lista de características de PHP. En unas pocas horas podrá empezar a escribir sus primeros scripts. Con PHP se pueden desarrollar desde proyectos básicos como el procesamiento de información en formularios, foros de debate, manipulación de cookies, redes sociales. Un sitio con páginas dinámicas es el que permite interactuar con el visitante, de modo que cada usuario que visita la página vea la información modificada y pueda contribuir con la misma. Las aplicaciones dinámicas más frecuentes en este 2018 elaboradas con PHP pueden ser Wordpress, Joomla o Drupal, 3 sistemas gestores de contenidos muy potentes y robustos.

Ruby: Es un lenguaje de moda actual, netamente nació como un lenguaje

(24)

24

Python: El lenguaje Python nació a por la década de los años 90, al comienzo

fue producido por Guido Van Rossum, un ingeniero de nacionalidad holandesa que trabajaba en ese momento en Centrum Wiskunde & Informática de Amsterdam, que en español significa el Centro de Investigación de Ciencias de la Computación de Holanda.

Desde sus inicios, Python fue originado como un proyecto de software libre y gran parte su éxito entre todo los desarrolladores es porque fue creado bajo la decisión de hacerlo open source.

Python consta con unas propiedades que lo hacen muy particular y que, sin duda, le aportan pros y están en la raíz de su uso tan desarrollado.

Python es un lenguaje multiparadigma, esto significa que mezcla propiedades de diferentes paradigmas de programación. Principalmente es un lenguaje orientado a objetos, en Python todo son objetos, pero también incorpora aspectos de la programación funcional, procedural y reflexiva.

Una de los elementos más importantes que posee Python es que es un lenguaje interpretado, esto significa que no se codifica a diferencia de otros lenguajes como C# o Java, sino que es interpretado a tiempo que se procesa.

2.2.9Frameworks para aplicaciones web

El concepto framework se emplea muchos ámbitos del desarrollo de sistemas

software, no solo en el ámbito de aplicaciones Web. En general, con el término

framework, nos estamos refiriendo a una estructura software organizada de

(25)

25

aplicación. En otras palabras, un framework se puede considerar como una

aplicación global incompleta y configurable a la que podemos añadirle las últimas

piezas para construir una aplicación concreta.

El mundo del desarrollo web evoluciona a una super velocidad, aparecen nuevas

ideas y frameworks a diario y es fácil perderse entre tantas opciones, tanto en el

lado de cliente o frontend, como en el lado de servidor o backend. Sin embargo,

hay tendencias claras: hemos pasado en estos últimos años de frameworks de

backend que representaban toda la página en cada petición y una pequeña capa

de JavaScript que dotaba de dinamismo a la aplicación, a backends que

presentan una API al cliente y el estreno de frameworks JavaScript que

consumen API’s para el desarrollo de aplicaciones móviles.

Framework Descripción

Angular

Angular, creado por Google, se convirtió rápidamente en el framework de cliente más popular, gracias a ideas novedosas en forma de directivas que se asemejan a etiquetas HTML y que son gestionadas por Angular. Está específicamente pensado para proyectos complejos, para los que aporta herramientas para la gestión de dependencias, modelos, controladores y enrutado.

React.js

Publicada en 2013 y respaldada por Facebook, React es un framework que está ganando popularidad a una velocidad asombrosa. Las comparaciones con Angular son inevitables: React, a diferencia de la solución de Google está más centrada en la interfaz de usuario y en representar de forma eficiente los cambios de estado de la aplicación. Está pensada para ser combinada con otras librerías, como routers o Flex para gestión de los modelos.

Polymer

Polymer, publicada en 2013 también por Google, es una librería

orientada a componentes. La idea es crear webs a partir de

(26)

26

aplicaciones a partir de bloques sin necesidad de conocer el

funcionamiento interno de cada uno, de modo que se extiende

HTML de forma natural.

Laravel

Laravel es un framework de código abierto para el desarrollo de

proyectos web modernos, aplicaciones y web servicie. Las

últimas versiones de PHP. Su idea es desarrollar código PHP

de forma elegante y simple, evitando el "código espagueti". Fue

creado en 2011 y tiene una gran influencia en el mundo de los

frameworks hasta la actualidad.

Tabla 1 Frameworks para aplicaciones web

2.2.10 Arquitectura Cliente-Servidor

El esquema Cliente-Servidor en un paradigma de diseño de software en el cual

una serie de 2 más procesos deben contribuir para el progreso coaxial. De estos

procesos, para simplificar la explicación, se asume la existencia de únicamente

de dos, uno realiza las instrucciones más opresivas, al cual se denomina server,

y otro posee la interacción con el usuario, que será el cliente. Esta metodología

puede transformar de modo que el cliente puede poseer cierta capacidad de

cómputo, el servidor una interfaz gráfica, etc. Se pueden diferenciar tres

componentes esenciales:

1. El Cliente.

2. El Servidor.

(27)

27

EL CLIENTE. El proceso cliente es el que generalmente realiza la interacción

con el usuario, la mayoría de veces en forma gráfica. Posee procesos auxiliares

que se encargan del establecimiento de conexión y de las comunicaciones con

el servidor, así como tareas de sincronización.

EL SERVIDOR. El proceso servidor, como su nombre indica, proporciona un

servicio al cliente, del cual devuelve los resultados. Puede poseer, aunque no

siempre, procesos auxiliares que se encargan de las tareas de comunicación con

el cliente. Dado que es el que proporciona los resultados al cliente, la carga

computacional asociada a este es mayor que la de los clientes.

LAS COMUNICACIONES. Los clientes y los servidores puedan interactuar se

requiere una infraestructura de correspondencia, la cual ofrece los mecanismos

básicos de direccionamiento y transporte. Las comunicaciones se pueden

realizar por medios tanto orientados a la conexión (TCP) como no orientados a

la conexión (UDP). La red debe tener propiedades aptas de productividad,

(28)

28

Ilustración 1 Modelo Cliente/Servidor

2.2.11 Ventajas que ofrece el esquema Cliente-Servidor:

1. La gestión de recursos se centraliza en los procesos servidores, por lo

que las aplicaciones son mucho más sencillas, modulares y fácilmente

mantenidas. En caso contrario, sería necesaria una gestión de recursos a

nivel global del sistema, que complicaría la lógica de la aplicación y que

requeriría un mayor número de rondas de mensajes para evitar

condiciones de carrera, como por ejemplo, que varios procesos intentaran

acceder a un mismo recurso en forma de escritura al mismo tiempo.

2. Es posible el uso de componentes, tanto de software y hardware, de

varios fabricantes, contribuyendo considerablemente al decrecimiento de

costos y ayuda la consistencia en la implantación y reajuste de soluciones.

3. Favorece la integración entre diferentes sistemas y la información

compartida.

4. Se aplican interfaces gráficas para interactuar una manera más amigable

(29)

29

la red dado que está puede establecerse en el cliente, lo cual permite

emplear mejor el ancho de banda de la red.

5. Es más ágil el mantenimiento y el desarrollo de aplicaciones ya que se

pueden emplear las herramientas existentes (APIs de Java, RPCs, etc. ).

6. La arquitectura modular facilita la integración de nuevas tecnologías y

favorece la escalabilidad de las soluciones.

2.3.0 Patrón de desarrollo de software MVC

(30)

30

del código fuente y la distanciación de conceptos, elementos que buscan simplificar la tarea de desarrollo del sistema y el mantenimiento consecuente. El MVC propone el uso la capa Model para realizar la implementación de la aplicación a la data, absorbiendo al desarrollador de la implementación particular en la cual los datos son almacenados. La capa Model es la encargada de desplegar información al cliente y, en el caso de proveer una interfaz que permita realizar cambios, envía los cambios desde la vista a la aplicación. Finalmente, el controlador es el punto de encuentro entre el modelo y la vista.

El controlador toma la dirección del responsable de la obtención de data del Model, procesarlos y desplegarlos de una manera en el que la View pueda mostrarlos. Por otro lado, recibe datos de la vista, los procesa según la lógica del negocio y los entrega al modelo para que estos puedan ser guardados, sin incumplir el paradigma propuesto por las reglas lógicas presentes en el modelo.

Podemos definir los componentes del patrón MVC de la siguiente manera:

(31)

31

El Controlador: Atiende a las llamadas que son peticiones realizados por el cliente y realiza solicitudes al modelo cuando llega una petición sobre la data (por ejemplo, modificar un campo de la base de datos o agregar un nuevo registro en la base de datos). También puede enviar instrucciones a su View asociada, cuando se solicita un cambio en la forma en que se presenta el Model, por tanto por definición sabemos que el controlador es el intercesor entre la comunicación del modelo y de la vista.

La Vista: Despliega y muestra la información y lógica de negocio en un formato apto para interactuar (usualmente una pantalla o página web) por tanto requiere de dicho 'modelo' la información que debe representar como salida.

Ilustración 2 MVC

Gráfico 1.MVC

2.3.1 Base de datos

(32)

32

información, que para una base de datos es muy importante, también los BD operan aspectos relacionados con la seguridad, tratamiento y consulta de datos. Dicha información se almacena para su un posterior uso. La estructura por excelencia que se diseña en una aplicación web, es la que se muestra a continuación:

Ilustración 3 Base de datos

Actualmente existen varias opciones en el mercado en cuanto a los gestores de la base de datos, tanto en software open source como de software con licencias, Recordar que muchos gestores BD adaptan su configuración para aplicativos web, así como también para sistemas de desktop, los gestores de base de datos más conocidos son:

o MySQL o PostgreSQL

o Oracle

o SQL Server

(33)

33

De los gestores de base de datos mencionados anteriormente, en el desarrollo del proyecto de la aplicación web para mi tesis, se ha empleado el gestor de base de datos MySQL, considerando que es el más apropiado según los requisitos del desarrollo, adicionalmente es un gestor de base de datos de licencia software libre. Habilita de un modelo entidad-relación que modifica los modelos desarrollados de una forma visual mediante querys.

2.3.2 MySQL

Es un potente gestor de administrador de BD, muy popular en esta década, se encuentra completamente desarrollado en lenguaje C++, ofreciendo una solidez de función imponente. También, cuenta entre sus propiedades, con una buena amplitud de integración con otros entornos de generación de software y de aplicativos con la arquitectura client/server, por eso, es el favorito desde los desarrolladores de aplicaciones web hasta los administradores de base de datos a nivel mundial.

Las particularidades más llamativas de MySQL, es que poseen con un sistema simple, gracias a su curva de aprendizaje, como resultado tiene a incorporarse con nuevos usuarios en el mundo del base de datos, por su interfaz de usuario y lo más importante, permite trabajar en múltiples sistemas operativos.

2.3.2.1 Características de MySQL

 Velocidad y robustez.

(34)

34

 Es un gestor de base de datos de alto performance y fácil comprensión,

contiene menos pasos para configurar y por ende administra grandes sistemas de datos.

 Precio, se puede descargar de manera gratuita de su sitio oficial.

 Amplitud de gestión de lenguajes de consulta. MySQL trabaja con SQL,

el lenguaje seleccionado por la mayoría de desarrolladores para los sistemas de bases de datos de la actualidad.

 Robusto. Es posible la conexión de muchos usuarios de manera paralela

al servidor. Los clientes pueden utilizar varias bases de datos simultáneamente.

 Conexión y seguridad. MySQL está preparado para el trabajo en red y las

bases de datos pueden ser accedidas desde cualquier punto donde exista una conexión a internet, sea LAN o Wi-Fi

 Traslación, MySQL se puede ejecutar en una variedad de sistemas

operativos diferentes.

 Open Source. Teniendo la posibilidad de modificar el código fuente de

MySQL para futuras mejoras.

2.3.3 PhpMyAdmin

(35)

35

más fácil la administración del Cpanel, desde la optimización del sitio, hasta la modificación de registros de una base de datos. PhpMyAdmin contiene una documentación detallada que cada vez se hace más grande, gracias a los miles de seguidores de esta iniciativa, es bueno precisar que está siendo poyado por un gran multi-idioma de la comunidad.

PHPmyAdmin contiene cada vez más propiedades ya que es coincidente las operaciones de uso común tales como la navegación, actualización, crear, modificar las bases de datos MySQL, las tablas, campos y columnas.

Adicionalmente, phpMyAdmin permite administrar usuarios optar por privilegios de usuario. Otra característica común es phpMyAdmin su herramienta de importación. phpMyAdmin tiene la facilidad importar base de datos MySQL con copias seguridad y a la vez exportarlos SQL o XML O Hojas de cálculo.

(36)

36

2.3.4 SQLyog

SQLyog es un software para la gestión de base de datos MySQL, contiene una agradable IU designada especialmente para trabajar de forma más ágil y confortable. SQLyog se orienta a los usuarios que ya poseen conocimientos solidos de SQL y requieren un entorno visual confortable y funcional. El software facilita la administración de clientes, permisos, y realizar múltiples tareas a la base de datos.

SQLyog puede agregar sin tanto esfuerzo datos, mediante templates y realizar peticiones con reiteración, como por ejemplo crear nuevas tablas. Otras herramientas fundamentales son la exportación de datos en formato CSV Y XML, la optimización de bases de datos y la posibilidad de almacenar querys.

2.3.4.1 Características de SQLyog

 Compatibilidad UTF8

 Productividad

 Docs HTML

 Variante para generar sentencias

 Editor de consultas con múltiples ventanas

 Aplicación de jquerys multitareas con posibilidad de detener consultas a

gran escala.

 Themes SQL

 Ejecución múltiple de jquerys

 Interfaz de cuadrícula estilo Excel para ver/actualizar los resultados

(37)

37

 Exportación de consultas, los datos pueden ser bajados en formatos CSV,

XLS, TXT, HTML.

Ilustración 5 Interfaz de SQLYog versión Enterprise

2.3.5 GitHub

(38)

38

2.3.6 Experiencia de Usuario (UX)

La User Experience es una metodología que inicia su proceso cuando el cliente interactúa con un aplicativo digital. Es un concepto moderno que parte de los orígenes del área digital del Marketing. Muchas veces se presenta una confusión entre los concepto de experiencia de usuario con el de usabilidad. A continuación detallaremos las diferencias para tener más claro la idea sobre ambas corrientes que tanto se mencionan en esta década:

Usabilidad: La usabilidad es la facilidad con la que los usuarios finales

pueden entender y aplicar la herramienta o cualquier otro objeto producido por desarrolladores con el fin de conseguir un objetivo concreto.

Experiencia de usuario: Son una serie de causas y elementos

(39)

39

un rendimiento tangible, no solo en nuestra reputación de desarrolladores sino en un beneficio real a largo plazo de nuestro aplicativo web.

Finalmente, se debe de tener presente que las emociones que generará nuestra aplicación al momento que se realiza la interacción con el usuario final, porque los estados emocionales afectan a los procesos cognitivos que influyen en la relación de un usuario con nuestro aplicativo web.

CAPITULO III

ANÁLISIS

3.1 ANÁLISIS DE LOS REQUERIMIENTOS

La ingeniería de requisitos del software es un proceso de descubrimiento y generación de modelado, detallando cada especificación que realice el cliente. Se pulen cada detalle con los requisitos de la aplicación, para previamente asignarlos al desarrollo del software.

(40)

40

El análisis y la especificación de requisitos son una tarea indispensable en La ingeniería de requisitos del software es un proceso de investigar las necesidades de los usuarios finales, redefinirlos, moldearlos y especificarlos. Se depurar de detalle los requisitos de la aplicación y la asignación al sistema.

El analista como el cliente final tienen un papel activo en el proceso de la obtención de la ingeniería de requisitos, aplicando una serie de actividades que son denominadas análisis, El usuario final procura planificar una aplicación confusa, a nivel de descripción de información, elementos, funciones y comportamiento, en detalles precisos. El analista en este proceso ocupa un papel de consultor.

El análisis y la determinación de los requerimientos aparentan ser una actividad parcialmente sencilla, pero las apariencias engañan. La interacción de comunicación es muy denso. Sobran las oportunidades para malas apreciaciones o falta de información. Es muy posible que exista ambigüedad. La disyuntiva a la que se enfrenta el ingeniero de requisitos es que puede entenderse muy bien repitiendo la famosa frase de un cliente anónimo: “Sé que

cree que capto lo que piensa que dije, pero no estoy seguro de que se dé cuenta de que lo que escuchó no es lo que yo quise decir”.

(41)

41

la interfaz del aplicativo con otros elementos de la aplicación y establece las limitaciones que debe cumplir el sistema software.

3.1.1 Requerimientos Funcionales

Un RF se define como los comportamientos internos que operaran la aplicación, estás especificaciones deben indicar la manera en la que el aplicativo web debe de tener ante procesos evidentes, existen casos en que, es importante mencionar claramente lo que la aplicación debe hacer.

Los requerimientos funcionales de una aplicación web describen lo que el sistema debería de hacer, dependiendo del tipo de software, los posibles usuarios y del enfoque del proyecto.

Con esta breve explicación a continuación se mencionaran los requerimientos Funcionales analizados, empleando para ello un esquema estándar a manera de tabla, en la cual se especifican los siguientes identificadores:

 N° de identificación por Requisito

 Nombre del RQ

 Descripción

 Nivel de importancia con la que cuenta el requisito dentro de la

(42)

42

Estos requerimientos se desarrollan a continuación de la tabla 1 a la 20.

Requerimiento RF01

Nombre del requerimiento: Login Administrador

Descripción general El sistema web por estándares de seguridad deberá de permitir el ingreso al login del gestor administrador, mediante un formulario de inicio de sesión

Prioridad Alta

Tabla 2 RF01 Login Administrador

Requerimiento RF02

Nombre del requerimiento: Mostrar anuncios administrador

Descripción general La aplicación web debe de listar de manera gráfica todos los anuncios (aprobados, en espera, desaprobados) en la pantalla administrativa.

Prioridad Alta

(43)

43

Requerimiento RF03

Nombre del requerimiento: Aprobar anuncio

Descripción general La aplicación web debe tener un botón de aprobar anuncio, cuando el anuncio se aprueba cambia de estado “Pendiente” a “Aprobado” y

automáticamente es visible para todos los usuarios.

Prioridad Alta

Tabla 4 RF03 Aprobar anuncio

Requerimiento RF04

Nombre del requerimiento: Desaprobar anuncio

Descripción general La aplicación web debe tener un botón de desaprobar anuncio, cuando un anuncio se desaprueba cambia de estado “Pendiente” a “Desaprobado”.

Prioridad Alta

(44)

44

Requerimiento RF05

Nombre del requerimiento: Eliminar anuncio

Descripción general La aplicación web debe tener un botón de eliminar anuncio, cuando un anuncio se elimina, desaparece de la lista de

administración, un anuncio se puede eliminar estando en cualquier estado (pendiente, aprobado, desaprobado)

Prioridad Alta

Tabla 6 RF05 Eliminar Anuncio

Requerimiento RF06

Nombre del requerimiento: Enviar mensaje al anunciante

Descripción general La aplicación web debe de permitir el envío de mensajes al correo electrónico del anunciante.

Prioridad Media

Tabla 7 RF06 Enviar mensaje al anunciante

Requerimiento RF07

(45)

45

Descripción general El sistema debe de contar con un contador de anuncios (en todos sus estados)

Prioridad Media

Tabla 8 RF07 Contar anuncios

Requerimiento RF08

Nombre del requerimiento: Home - Filtro

Descripción general En la página principal de la aplicación web (lado del cliente) debe de ver un filtro de búsqueda, por tipo de distrito y tipo de inmueble.

Prioridad Media

Tabla 9 RF08 Home – filtro

Requerimiento RF09

Nombre del requerimiento: Home – Crear nuevo usuario

Descripción general La aplicación web debe de permitir la creación de usuarios que accedan al sistema de alojamiento.

Los datos requeridos para crear un nuevo usuario son:

(46)

46

Correo electrónico (obligatorio) Contraseña (obligatorio)

Prioridad Alta

Tabla 10 RF09 Home – Crear nuevo usuario

Requerimiento RF10

Nombre del requerimiento: Usuario – Mis Anuncios

Descripción general La aplicación web debe de permitir sólo a los usuarios registrados la posibilidad de visualizar sus anuncios creados, en cualquier estado que se encuentre (pendiente, aprobado, desaprobado).

Prioridad Alta

Tabla 11 RF10 Usuario-Mis anuncios

Requerimiento RF11

Nombre del requerimiento: Usuario – Estados de Anuncios

(47)

47

cuando este en “Visible” el anuncio

se mostrara en la lista de búsquedas, cuando está oculto, no se podrá apreciar en la lista de búsquedas.

Prioridad Media

Tabla 12 RF11 Usuario – Estados de Anuncios

Requerimiento RF12

Nombre del requerimiento: Usuario – Crear Anuncio – Paso 1 Descripción general La aplicación web deberá permitir

crear anuncios, con las siguientes características:

Datos Basicos

Tipo de inmueble Precio desde (S/.) Tipo de Cambio

Precio US$ (Se calcula solo) Distrito

(48)

48

Tabla 13 RF12 Usuario – Crear Anuncio – Paso 1

Requerimiento RF13

Nombre del requerimiento: Usuario – Crear Anuncio – Paso 2

Descripción general Detalles (debe de contener la siguiente lista, y el usuario deberá de marcar una o más opciones)

(49)
(50)

50

 TV/Cable

 WiFi

La aplicación web deberá de incorporar un formulario de “Descripción” del

inmueble/casa/hospedaje

Prioridad Alta

Tabla 14 RF13 Usuario – Crear Anuncio – Paso 2

Requerimiento RF14

Nombre del requerimiento: Usuario – Subir Fotos – Paso 3 Descripción general La aplicación web deberá tener la

posibilidad de cargar fotos

(51)

51

Tabla 15 RF14 Usuario – Subir Fotos – Paso 3

Requerimiento RF15

Nombre del requerimiento: Usuario – Foto principal – Paso 3 Descripción general La aplicación web deberá tener la

opción de seleccionar una foto como principal, esta foto principal se mostrará como portada en los anuncios cuando los usuarios busquen casas/departamentos.

Prioridad Media

Tabla 16 RF15 Usuario – Foto principal – Paso 3

Requerimiento RF16

Nombre del requerimiento: Usuario – Eliminar foto – Paso 3 Descripción general La aplicación web deberá tener la

opción de eliminar fotos del anuncio, se podrá eliminar fotos siempre cuando existan 2 archivos o más, no se podrá eliminar la foto principal.

Prioridad Media

(52)

52

Requerimiento RF17

Nombre del requerimiento: Usuario - Publicación – Paso 4 Descripción general La aplicación web deberá mostrar

una vista previa de los datos anteriormente ingresados del anuncio, con un botón de Finalizar (Publicar anuncio) y regresar (en caso de cambiar datos).

Prioridad Alta

Tabla 18 RF17 Usuario - Publicación – Paso 4

Requerimiento RF18

Nombre del requerimiento: Usuario – Términos y condiciones – Paso 4

Descripción general Se deberá aceptar los términos y condiciones para poder seleccionar el botón de Finalizar (publicar anuncio)

Prioridad Baja

(53)

53

Requerimiento RF19

Nombre del requerimiento: Usuario – Cerrar Sesión

Descripción general La aplicación web contará con un enlace o link que permita la cerrar sesión actual.

Prioridad Alta

Tabla 20 RF19 Usuario – Cerrar Sesión

Requerimiento RF20

Nombre del requerimiento: Home – Login

Descripción general La aplicación web contara con un formulario de acceso en la página principal, los datos necesarios son el correo electrónico y la contraseña. Prioridad

Tabla 21 RF20 Home – Login

Requerimiento RF21

(54)

54

Descripción general La aplicación web contara con una página de búsqueda de anuncios de casas, departamentos y hospedajes con filtros.

Prioridad Media

Tabla 22 RF21 Buscador de Alojamiento

Requerimiento RF22

Nombre del requerimiento: Filtros del Buscador de alojamiento Descripción general El buscador de alojamiento contara

(55)

55

Tabla 23 RF22 Filtros del Buscador de alojamiento

Requerimiento RF23

(56)

56

Descripción general En la página de búsqueda de casas, departamentos y hospedajes el filtro principal deberá de ser el distrito.

Prioridad Media

Tabla 24 RF23 Filtro Principal de Buscador

Requerimiento RF24

Nombre del requerimiento: Detalles de anuncio de por búsqueda Descripción general Los anuncios contaran con una

opción de ver información detallada, se mostrara la información completa del inmueble, tipo, características , precio por noche, pagina web, empresa, galería de fotos.

Prioridad Media

Tabla 25 RF24 Detalles de anuncio de por búsqueda

Requerimiento RF25

(57)

57

Descripción general La aplicación web deberá de implementar un formulario de

contacto por anuncio, con la finalidad que exista una comunicación entre el usuario interesado y el anunciante. Los datos necesarios son: Nombres, email, asunto y mensaje.

Prioridad Media

Tabla 26 RF25 Contactar al anunciante

3.1.2 Requerimientos no Funcionales

Los RNF son los RQ que no integran en las funcionalidades principales que tendrá la aplicación web, si no en las elementos no ta|n importantes de este saliente de éste como la credibilidad, velocidad de los procesos y la capacidad de almacenamiento, y la representación de datos que se utilizará en la interfaz de la aplicación.

(58)

58

3.1.2.1 Generalidades

 Se debe pensar en las propiedades como las características que hacen al

aplicativo atractivo, con alto grado de usabilidad.

 Se tiene conocimiento que es son conjunto de características de calidad, que

son necesarios a tener en cuenta al momento del diseño e implementación del aplicativo.

 No son parte de la razón fundamental del aplicativo pero si son necesarios

para hacer funcionar el aplicativo de la manera proyectada.

 No alteran la funcionalidad del aplicativo web y si añaden funcionalidad al

producto.

 Mencionan la User Experience que tendrán los usuarios finales cuando

interactúen con el producto.

3.1.2.2 Categorías

Existen diferentes categorías de los RNF, como son:

 Requisitos de visualización.

 Usabilidad.

 Rendimiento/Optimización.

 Mantenimiento.

 Protocolos de Seguridad.

 Normas Legales.

 Interfaz.

 Operacionales y Económicos.

(59)

59  Simplicidad y eficiencia.

Se mostrarán a continuación los requerimientos no Funcionales proyectados para la presente tesis:

Requerimiento RNF1

Nombre del requerimiento: Diseño Responsivo

Descripción general La aplicación web debe contar con tecnología adaptable a los diferentes tipos de dispositivos móviles.

Prioridad Media

Tabla 27 RNF01 Diseño Responsivo

Requerimiento RNF2

Nombre del requerimiento: 3 Secciones en el Minisite

Descripción general La página web de la aplicación web, debe estar dividido por 3 secciones,

 La presentación

 Publica tu anuncio/Regístrate

 Acceso Anunciantes

(60)

60

Tabla 28 RNF02 3 Secciones en el Minisite

Requerimiento RNF3

Nombre del requerimiento: Efectos Parallax

Descripción general Las 3 secciones deben de contar con el efecto Parallax.

Prioridad Baja

Tabla 29 RNF3 Efectos Parallax

Requerimiento RNF4

Nombre del requerimiento: Imágenes de fondo en cada sección Descripción general Los fondos de las 3 secciones deben de contar con un fondo temático de la ciudad de Arequipa, respetar el

siguiente criterio:

1. Página principal, debe de tener una imagen de un dormitorio

elegante con fondo de color naranja transparente)

(61)

61

3. Acceso a Anunciantes, debe de tener una fotografía de un

hotel/departamento

Prioridad Media

Tabla 30 RNF4 Imágenes de fondo en cada sección

Requerimiento RNF5

Nombre del requerimiento: Calidad de las imágenes

Descripción general Las imágenes que se inserten en la página web del minisite deben de ser de alta resolución/calidad, en caso de ser fotografías usar el formato .JPG, de ser iconos o botones usar el formato .PNG.

Prioridad Baja

Tabla 31 RNF5 Calidad de las imágenes

Requerimiento RNF6

Nombre del requerimiento: Sección de Galería de fotos

(62)

62

anunciantes, debe de contar con 7 fotografías de las siguientes lugares de Arequipa:

 Catedral de Arequipa (Interior)

Prioridad Baja

Tabla 32 RNF6 Sección de Galería de fotos

Requerimiento RNF7

Nombre del requerimiento: Menú de navegación fijo

Descripción general La aplicación web deberá de contar con una barra de navegación

(63)

63

el menú siempre este fijo en la parte superior.

Prioridad Media

Tabla 33 RNF7 Menú de navegación fijo

Requerimiento RNF8

Nombre del requerimiento: Pie de página Web

Descripción general La aplicación debe de tener un pie de página donde se muestra el logo de PERUMIN33 y un enlace a los términos y condiciones del sitio.

Prioridad Baja

Tabla 34 RNF8 Pie de página Web

Requerimiento RNF9

Nombre del requerimiento: Botones UI

(64)

64

Prioridad Media

Tabla 35 RNF9 Botones UI

Requerimiento RNF10

Nombre del requerimiento: Cuadro de Anuncios – Vista Previa Descripción general Los cuadros de anuncios cuando se

encuentren en vista previa deben de tener la siguiente estructura de diseño:

 Dirección y departamento

 Precio por noche en Soles

 Precio por noche en Dólares

 Metros cuadrados de la casa,

departamento o hospedaje.

(65)

65

 Número de baños

Prioridad Alta

Tabla 36 RNF10 Cuadro de Anuncios – Vista Previa

Requerimiento RNF11

Nombre del requerimiento: Slider de galería de fotos

Descripción general La galería de fotos de los anuncios debe de contar con el efecto de slider, el tiempo de espera, para la transición de una imagen a otra es de dos segundos.

Prioridad Baja

Tabla 37 RNF11 Slider de galería de fotos

Requerimiento RNF12

Nombre del requerimiento: Número de visitas

Descripción general La aplicación web debe de tener un registro de visitas por anuncio

(66)

66

Tabla 38 RNF12 Número de visitas

Requerimiento RNF13

Nombre del requerimiento: Compatibilidad con Navegadores Descripción general La aplicación web debe ser

compatible con los navegadores Firefox, Google Chrome, Internet Explorer y Safari.

Prioridad Media

Tabla 39 RNF13 Compatibilidad con Navegadores

Una vez definidos los requerimientos Funcionales y no Funcionales para la aplicación de casas y departamentos, se tiene la información necesaria para realizar los casos de Uso que se manejarán en el sistema.

3.2 Definición de Casos de Uso

(67)

67

desarrollar algún proceso, así como los actores que a la Aplicación y por ende, el actor del mismo es el Usuario quien intenta Autenticarse.

Antes de definir los Casos de Uso de la aplicación web, es necesario definir a las personas (actores) que intervienen directamente en la aplicación en este caso particular, los actores que intervienen en el sistema son:

 Anunciante

 Interesado

 Administrador

Cronograma de trabajo

(68)

68

DISEÑO

3.2 Diseño de base de datos para la aplicación web.

Es fundamental especificar el almacenamiento de la información que representan los casos de uso; tal como se había visto anteriormente, en la cual se describe acerca de la base de datos MySQL y sus características principales y las responsabilidades que asume en la aplicación web. De esta manera, para mantener una documentación firme, se ha definido un glosario de datos, el cual presenta la forma de acumulación, este diccionario se cita a muestra a continuación.

3.2.1 Diccionario de datos

El glosario de datos es una colección de keywords, el cual contiene los atributos lógicos de los datos que se utilizarán posteriormente.

Para este trabajo de tesis se ha procedido ha definido la siguiente nomenclatura:

 Tabla

 Nombre del campo

 Tipo del campo

 Longitud del campo

 Descripción del campo.

(69)

69

Clave Campo Tipo Longitud

Primaria Idusuario INT 10

Usuario VARCHAR 20

Contraseña VARCHAR 50

Email VARCHAR 89

Fcreacion DATETIME factualizacion TIMESTAMP

Tabla 40 Tabla ins_usuario

Clave Campo Tipo Longitud

Primaria Id INT 5

Código INT 10

Idusuario INT 10

Idpais INT 10

Iddepartamento INT 11

idprovincia INT 11

Iddistrito INT 11

idinmueble INT 11

tipocambio DOUBLE

idcontactoanuncio INT 10

idcontactopreferencia INT 10 preciopordia DOUBLE

(70)

70

metroscuadrados INT

numerosbanos INT

Numerospisos INT

comentarios VARCHAR 800 Fcreacion DATETIME

Primaria idanuncioupload INT 11

(71)

71

(72)

72

factualizacion TIMESTAMP 1

Tabla 45 Alo_inmueble

fcreacion TIMESTAMP 1

factualizacion TIMESTAMP 1

Tabla 46 Alo_inmueblecaracteristicas

3.3 Diseño de Interfaces

Un prototipo o wireframe es un tipo de boceto donde mayormente se grafica de una forma muy esquemática la estructura que tendrá de un aplicación web o página web.

El objetivo de generar prototipos es de definir el contenido y la posición de los diversos bloques que tendrá nuestra aplicación web. Estos incluyen desde el menú de navegación, sections, slides y bloques de contenido, Adicionalmente permiten ver como interactuarán los elementos entre sí.

(73)

73

Los Wireframes permiten crear múltiples versiones de un mismo proyecto de una forma ágil, así como aplicar cambios o ideas innovadoras que aparezcan posteriormente en nuevos prototipos. Lo importante es tener clara la organización de los elementos de la aplicación web antes de empezar con el maquetado, donde las tecnologías HTML y el CSS se ponen en práctica, es bueno testear los wireframes con usuarios finales con el fin de comprobar que no haya fallos importantes de base que luego te podrían suponer muchas horas de trabajo subsanar.

A continuación se mostraran una serie de wireframes trabajados antes de la maquetación del sitio web.

(74)

74

Ilustración 7 Boceto de Publica tu anuncio

(75)

75

Ilustración 9 Boceto Pagina Web Arequipa

(76)

76

(77)
(78)

78

(79)

79

(80)

80

(81)

81

Ilustración 15 Boceto Subir fotos

(82)

82

(83)

83

DESARROLLO

En este capítulo, se expone la manera de cómo ha sido desarrollado el proyecto web, basando la aplicación web bajo los requisitos previamente definidos, comenzando por el análisis de los requisitos, prototipos, también contando con estándares de desarrollo y finalmente desplegando y explicando la estructura que se encuentra conformada por los diversos módulos.

3.4 LA APLICACIÓN

3.4.1 PAGINA HOME

Ingresamos a la aplicación web con el siguiente enlace:

Ilustración 18 Página principal de la aplicación de Alquiler de casas y

(84)

84

En la primera pantalla del sitio web, hay 2 opciones para seleccionar. ¿En qué distrito? Y ¿Tipo de inmueble?

Una vez que el usuario selecciona sus preferencias se realizara un filtro de datos, Damos clic en el botón BUSCAR y mostrara los resultados obtenidos desde la base de datos.

3.4.2 PUBLICA TU ANUNCIO (REGISTRO)

Ilustración 19 Vista Previa de Publica tu anuncio

(85)

85

Ilustración 20 Vista Previa de Acceso a Anunciantes

3.4.3 ACCESO ANUNCIANTES (LOGIN)

En esta sección se puede acceder a la aplicación web, mediante el formulario de identificación (correo electrónico y contraseña), adicionalmente muestra cuantos usuarios se han registrado al sistema, la cantidad de anuncios publicados y las visitas al sitio web.

(86)

86

Ilustración 21 Galería

En esta sección se muestran mediante una grilla los lugares más importantes de la ciudad de la Arequipa. Existe interacción en la galería de fotos

Ilustración 22 Galería de fotos

3.4.5 FOOTER DE LA PAGINA WEB

Ilustración 23 Footer de la Pagina Web

(87)

87

3.4.1 PAGINA DE USUARIO IDENTIFICADO

Ilustración 24 Página de Usuario Identificado

Una vez identificados en el sistema, la aplicación web tiene las siguientes opciones:

Agregar Anuncio: Permite agregar un nuevo anuncio a la aplicación web

Ver + : Permite visualizar el contenido del anuncio más detalladamente.

Editar Anuncio: Permite modificar los datos básicos, detalles y

fotografías del anuncio publicado.

Estado: Aprobado(fue aprobado por el administrador)

(88)

88

Estado del anuncio: El usuario puede seleccionar entre “visible” o

“oculto”.

Mis Anuncios: Muestra los anuncios publicados por el usuario.

Salir: Se cierra sesión de la aplicación.

3.4.2 AGREGAR ANUNCIO

Ilustración 25 Agregar Anuncio

(89)

89

3.4.2 DATOS BASICOS | AGREGAR ANUNCIO

El usuario tiene que completar el primer formulario con información básica, estos campos son:

Datos Básicos

 Tipo de Inmueble: Casa o departamento

 Precio por noche en S/

 Tipo de cambio (a disposición del usuario)

 Precio US$ (Se genera automáticamente, según el tipo de cambio

ingresado por el usuario)

 Distrito (Se muestran los distritos de Arequipa)

 Dirección

Datos de contacto

(90)

90  Nombre

 E-mail

 Teléfono

Los campos del formulario se validan, mediante un script.

(91)

91

3.4.3 DETALLES | AGREGAR ANUNCIO

Datos a completar por el usuario:

 Descripción del Inmueble

 m2 construidos

 N° de pisos

 N° de dormitorios

 N° de baños

 Lista de características del inmueble

Aire acondicionado

Amueblado

Áreas verdes

Ascensor

Cochera

(92)

92

Comedor

Kitchenette

Lavandería

Piscina

Sala

(93)
(94)

94

(95)

95

Podemos observar que nuestro anuncio ya se encuentra publicado, y se encuentra en Estado: En verificación.

3.5 CORREO DE VERIFICACIÓN DE PUBLICACION DE ANUNCIO

(96)

96

Ilustración 27 Correo de Verificación de publicación de anuncio

Referencias

Documento similar

95 Los derechos de la personalidad siempre han estado en la mesa de debate, por la naturaleza de éstos. A este respecto se dice que “el hecho de ser catalogados como bienes de

dente: algunas decían que doña Leonor, "con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)