2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho...

72
0 2/5/2018 Aplicación móvil para la búsqueda y contacto de personal de enfermería basado en georreferenciación Juan Camilo Camacho Ferreira UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

Transcript of 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho...

Page 1: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

0

2/5/2018

Aplicación móvil para la búsqueda y contacto de personal de enfermería basado en georreferenciación

Juan Camilo Camacho Ferreira UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

Page 2: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

1

APLICACIÓN MÓVIL PARA LA BÚSQUEDA Y CONTACTO DE PERSONAL DE ENFERMERÍA BASADO EN GEOLOCALIZACIÓN

JUAN CAMILO CAMACHO FERREIRA

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

FACULTAD TECNOLOGICA

TECNOLOGIA EN SISTEMATIZACION DE DATOS

BOGOTA D.C. 2018

Page 3: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

2

APLICACIÓN MÓVIL PARA LA BÚSQUEDA Y CONTACTO DE PERSONAL DE ENFERMERÍA BASADO EN GEOLOCALIZACIÓN

JUAN CAMILO CAMACHO FERREIRA

TRABAJO DE MONOGRAFIA PARA OPTAR POR EL TÍTULO DE TECNÓLOGOS EN SISTEMATIZACIÓN DE DATOS

TUTOR

ING. SONIA ALEXANDRA PINZON NUÑEZ

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

FACULTAD TECNOLOGICA

TECNOLOGIA EN SISTEMATIZACION DE DATOS

BOGOTA D.C. 2018

Page 4: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

3

Tabla de contenidos 1. RESUMEN ...................................................................................................................... 5

2. INTRODUCCION ............................................................................................................ 6

3. ABSTRACT .................................................................................................................... 7

4. PLANTEAMIENTO ......................................................................................................... 1

4.1. Titulo .......................................................................................................................... 1

4.2. Tema .......................................................................................................................... 1

4.3. Planteamiento del problema ..................................................................................... 1

4.4. Objetivos .................................................................................................................... 2

4.4.1. General ................................................................................................................... 2

4.4.2. Objetivos Específicos ........................................................................................... 2

4.5. Justificación .............................................................................................................. 2

4.6. Alcances y Limitaciones ........................................................................................... 2

4.6.1. Alcances ................................................................................................................. 2

4.6.2. Limitaciones ........................................................................................................... 3

4.7. Descripción de los módulos ..................................................................................... 3

4.8. Antecedentes ............................................................................................................. 4

4.9. MARCO TEORICO ..................................................................................................... 6

4.9.1. GEOREFERENCIACION ......................................................................................... 6

4.9.2. APLICACIONES MOVILES ..................................................................................... 8

4.9.3. APLICACIÓN WEB ................................................................................................. 9

4.9.4. FRAMEWORKS .................................................................................................... 12

4.9.5. Metodología para el desarrollo de software. ..................................................... 15

5. FASE PLANEACIÓN.................................................................................................... 18

5.1. REQUISITOS ............................................................................................................ 18

5.2. REQUISITOS INFORMALES .................................................................................... 18

5.3. Descripciones de las funcionalidades: .................................................................. 18

5.4. Definición de actores .............................................................................................. 19

5.5. HISTORIAS DE USUARIO ....................................................................................... 20

5.6. SPRINT PLANNING ................................................................................................. 22

5.7. DESARROLLO ......................................................................................................... 23

5.8. Sprint 1 ..................................................................................................................... 23

5.8.1. Objetivos del SPRINT .......................................................................................... 24

5.8.2. Funcionamiento ................................................................................................... 24

Page 5: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

4

5.8.3. Implementación ................................................................................................... 25

5.9. Sprint 2 ..................................................................................................................... 28

5.9.1. Objetivos .............................................................................................................. 29

5.9.2. Diagrama contexto .............................................................................................. 29

5.9.3. Implementación ................................................................................................... 30

5.10. Sprint 3 ................................................................................................................. 31

5.10.1. Objetivos ........................................................................................................... 32

5.10.2. Diagrama contexto ........................................................................................... 32

5.10.3. Implementación ................................................................................................ 34

5.11. Sprint 4 ................................................................................................................. 36

5.11.1. Objetivos ........................................................................................................... 37

5.11.2. DIAGRAMA ....................................................................................................... 37

5.11.3. Implementación ................................................................................................ 38

5.12. Sprint .................................................................................................................... 41

5.12.1. Objetivos ........................................................................................................... 42

5.12.2. Diagrama y descripción ................................................................................... 42

5.12.3. Implementación ................................................................................................ 43

5.13. IMPLEMENTACIÓN HERRAMIENTAS DE DESARROLLO ................................. 44

5.13.1. Plataforma web ................................................................................................. 44

6. PRUEBAS UNITARIAS Y DE INTEGRACIÓN. ............................................................ 53

7. Conclusiones .............................................................................................................. 62

8. Recomendaciones ...................................................................................................... 63

Tabla Figuras

Page 6: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

5

1. RESUMEN

NurceApp es una aplicación móvil que permite realizar la búsqueda de profesionales

en salud, que pueden prestar servicios básicos tales como inyectologia cuidados

paliativos o acompañamiento y al mismo tiempo facilita el registro de profesionales

que quieren ofrecer sus servicios. Lo anterior se realiza a través de tecnologías de

geolocalización permitiendo ubicar los profesionales que se encuentras en la misma

zona o cerca a la persona que hace la solicitud.

El sistema integra diferentes herramientas de desarrollo web que incluyen HTML5,

CSS3 y el lenguaje de programación Php, además de los frameworks que pudieran

ayudar a que se garantice un mayor rendimiento de este, como el framework de

desarrollo llamado Laravel en su versión 5.5, además se usó el entorno nativo de

Android y todas las funcionalidades propias de los dispositivos móviles. Finalmente,

para el manejo de las notificaciones se utilizó Firebase una herramienta de google que

facilita la comunicación entre dispositivos.

El sistema permite generar notificaciones push con el objeto de informar al usuario

eventos tales como la solicitud de información, el inicio de un servicio, un mensaje

nuevo, entre otros.

También se facilita calificar el servicio de los profesionales generando un ranking que

puede ser consultado por los usuarios para tener referencias de los servicios.

Page 7: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

6

2. INTRODUCCION

Actualmente la prestación de servicios médicos tales como inyectologia, cuidados

paleativos o acompañamiento, son atendidos como servicios domiciliarios y en

muchos casos quienes requieren de estos servicios deben contratar a entidades

privadas, cuya respuesta no es inmediata. Ejemplos de este tipo de servicios en

entidades privadas son MEDYMAX, EMI y también se pueden encontrar servicios de

acompañamiento que se ofrecen en internet como PRODIGIOS APP y MEDYCARE.

En muchos casos el sistema de salud no ofrece este tipo de servicios, por lo cual las

personas que tienen necesidades de cuidados especiales se ven obligados a buscar

profesionales en salud que puedan ayudarles con estos cuidados, esperando tener un

servicio de calidad y preciso, según las necesidades. Esto no siempre resulta bien,

pues en ocasiones las personas contratadas no cuentan con los conocimientos

necesarios para realizar su trabajo de forma correcta o puede que el trato personal de

este no sea el adecuado frente al paciente.

A través de este proyecto se pretende generar una aplicación móvil que permita la

interacción de profesionales y personas que requieren los servicios de salud.

Adicionalmente, se pretende que quienes se registren en la aplicación cuenten con

los certificados necesarios y que además tengan calificaciones por parte de otros

usuarios que ya los hubiesen contratado. De esta manera brindar un nivel de calidad

cada vez mejor.

En el campo de la salud el uso de tecnologías tiene un alto impacto ya que permite a

las personas tener acceso y comunicación con los profesionales de la salud, pensando

en esto se propone realizar una aplicación móvil que cumpla con este objetivo, Para

ello el proyecto hace uso de tecnologías de geolocalización, mensajería y

notificaciones propias de Google y sus librerías para Android incorporadas en los

teléfonos móviles que cualquier persona puede tener.

Para el desarrollo del proyecto se siguió la metodoliga Scrumm con la cual se

definieron las actividades y se diseñaron los módulos propuestos en la aplicación, los

cuales se evidencian en cada capítulo del documento.

Page 8: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

7

3. ABSTRACT

NurceApp is a mobile application that allows the search of health professionals, who

can provide basic services such as palliative care or accompaniment injection and at

the same time facilitates the registration of professionals who want to offer their

services. The above is done through geolocation technologies allowing locating

professionals who are in the same area or close to the person making the request.

The system integrates different web development tools that include HTML5, CSS3 and

the Php programming language, as well as the frameworks that could help guarantee

greater performance, such as the development framework called Laravel in version

5.5, as well as the native Android environment and all the features of mobile devices

were used. Finally, for the handling of notifications Firebase was used a google tool

that facilitates communication between devices.

The system allows generating push notifications in order to inform the user about

events such as the request for information, the start of a service, a new message,

among others.

It is also easier to qualify the service of professionals by generating a ranking that can

be consulted by users to have references of services.

Page 9: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos
Page 10: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

1

4. PLANTEAMIENTO

4.1. Titulo

Aplicación móvil para la búsqueda y contacto de personal de enfermería basado en

geolocalización.

4.2. Tema

Desarrollar una aplicación móvil para la búsqueda y contacto de personal de enfermería basado en geolocalización.

4.3. Planteamiento del problema

A continuación, se presentan los elementos relacionados a la problemática que se plantea resolver.

Descripción En Colombia la hospitalización a domicilio y la atención médica domiciliaria tiene ejes potenciales de desarrollo, ya que se ha conocido su costo efectividad y seguridad en el manejo no solo de enfermos crónicos si no agudos, para lo cual, es necesario aumentar los esfuerzos para trabajar en esto debido a que hasta el momento aún no se le presta la atención necesaria para su correcto crecimiento. [1] Las personas que tienen problemas de salud como presión alta o que necesitan de cuidados especiales como inyecciones o tratamientos que requieran manejo y control de un especialista, al igual que las familias que tienen personas delicadas de salud en sus hogares, por lo general se pueden encontrar con bastantes dificultades cuando se ven en la necesidad de localizar personal adecuado con el cual puedan confiar su salud o puedan dejar un paciente. Aun cuando ya existen servicios de cuidado domiciliario, se debe trabajar en Colombia por potenciar el desarrollo de estos, garantizar el manejo seguro de los usuarios [2], hoy en día, para poder encontrar un especialista adecuado estas personas como primera instancia irán a una farmacia donde se encontrarán con personas que “dicen” ser especialistas, pero, los cuales pueden o no tener un certificado que avala su conocimiento, poniendo en peligro la integridad de sus clientes. Además de esto, si las personas con estas necesidades, no encuentran una droguería cerca, se remitirán a un centro hospitalario donde tendrán que esperar a ser atendidos o que algún especialista esté disponible para que los puedan chequear. Todo esto implica un traslado, la incomodidad, los tiempos de espera, la seguridad de si realmente son los profesionales capacitados que dicen ser y otros factores que pueden complicar el estado de salud del paciente. En algunos casos se puede dar que algunas aplicaciones, páginas web o grupos de Facebook, personas ofrezcan sus servicios sin aval alguno de que sus conocimientos sean reales o que la calidad de su trabajo sea buena, provocando esto que la integridad de los usuarios se vea severamente afectada.

Formulación del problema ¿La implementación de un sistema de información para la localización de personal capacitado en el área de enfermería puede apoyar el bienestar y la calidad de vida de las personas que requieran este tipo de servicios?

Page 11: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

2

4.4. Objetivos

A continuación, se presentan los objetivos correspondientes al presente proyecto.

4.4.1. General

Desarrollar una aplicación móvil para la búsqueda y contacto de personal de enfermería basado en geolocalización.

4.4.2. Objetivos Específicos Realizar el levantamiento de la información necesaria para el correcto

funcionamiento de la aplicación.

Analizar el tipo de información que se deberá tomar en cuenta para la realización del aplicativo, los protocolos de seguridad para el manejo de esta información y los roles que tendrán acceso a ellos.

Diseñar el módulo de registro de usuarios y personal de enfermería que se encuentren interesadas obtener o prestar servicios de enfermería.

Diseñar un módulo para la calificación del personal que prestan su servicio, con el objeto de crear un ranking de profesionales que les dé opciones a los usuarios respecto a la prestación del servicio.

Implementar un componente móvil de notificaciones y Geo posicionamiento para obtener información en tiempo real del personal de enfermería más cercano a la ubicación.

Implementar un sistema web que permita el almacenamiento y manejo de los datos ayudando en el procesamiento y el almacenamiento de estos.

4.5. Justificación

El proyecto a desarrollar, se realiza por la necesidad que tienen las personas con dificultades de salud o familias con este tipo de personas debido a que no cuentan con un sistema eficiente para ubicar personal especializado en el área de la salud, gastando así tiempo y recursos personales. El desarrollo de un software de localización a la medida para las personas que presentan estas necesidades, dará mayor facilidad al momento de buscar respuestas rápidas y apropiadas. También será un apoyo para las personas que prestan un servicio de enfermería ayudando esto a obtener una mejor experiencia frente a su área de desarrollo profesional y así poder acceder a mejores oportunidades laborales, además de, mejorar sus ingresos. Teniendo una información más detallada del personal de enfermería, como su historial de cumplimiento, puntualidad, calificación de usuarios previos, el usuario podrá tomar decisiones frente a esto y así mejorar la experiencia que espera recibir. Se debe considerar además que la utilización de tecnologías web da al personal de enfermería más cercanía a sus usuarios, permitiendo mejorar falencias que se puedan tener.

4.6. Alcances y Limitaciones Se presenta los alcances y limitaciones del proyecto como forma de entender la magnitud e impacto que este tendrá en los ámbitos mencionados.

4.6.1. Alcances

Se definirá un método de registro del personal de enfermería, teniendo en cuenta especialidad, horarios de trabajo y lugares de disponibilidad para trabajo.

Page 12: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

3

El aplicativo móvil estará disponible inicialmente para el dispositivo Android.

La plataforma brindará la posibilidad de acceder desde cualquier dispositivo que tenga conexión a internet.

El aplicativo móvil dará un posicionamiento en tiempo real cuando se le solicite.

La información de los profesionales en enfermería en general será visible por parte de los roles Administrador y Cliente.

El sistema permitirá subir la documentación correspondiente al perfil de quien desea prestar sus servicios.

4.6.2. Limitaciones

El aplicativo móvil solo estará disponible para dispositivos Android, desde la versión 4.0 con acceso a datos de navegación.

El acceso a la plataforma sólo se logrará por medio de un usuario y una contraseña asignados en el momento del registro.

el aplicativo móvil tendrá la opción de deshabilitar posicionamiento, si el personal de enfermería así lo deseara, perdiendo la posibilidad de ser localizado y posteriormente contratado.

La información personal del personal de enfermería, será administrada única y directamente por este.

Los personales de enfermería podrán llevar un registro de sus servicios mediante el aplicativo solo de los últimos 60 días.

El prestador del servicio está planteado únicamente para personal de enfermería, debido a que los costos y facilidades de contratación son más sencillas y económicas que con otros profesionales en esta área.

4.7. Descripción de los módulos El sistema contara con los siguientes módulos para poder tener un funcionamiento

correcto:

Módulo de gestión de usuarios: En módulo permitirá gestionar la información de los usuarios que utilizaran la plataforma, Nombre, Email, Contraseña, Imagen de perfil, Etc.

Módulo de certificación profesional para el personal de enfermería: En este módulo se podrá realizar la verificación del personal de enfermería con sus respectivos certificados; Para realizar dicha validación se debe tener en cuenta que datos como: cédula de ciudadanía, nombre completo, correo electrónico, número celular y datos completos de sus estudios. Todos los datos anteriores serán obligatorios.

Módulo de georreferenciación: En este módulo se podrán registrar, eliminar o actualizar lugares, como puntos de referencia, que el personal de enfermería podrá usar para que los ubiquen mediante búsquedas con coordenadas geoespaciales.

Módulo de mensajería: En este módulo se podrá realizar comunicación constante con el personal de enfermería con el que esté interesado adquirir un servicio, esto buscando que la comunicación sea más asertiva para ambas partes.

Módulo de eventos: En este módulo se podrán agendar eventos entre los usuarios evitando que pudiesen olvidar alguna cita. Contará con un calendario y un identificador de los usuarios implicados en cada evento, haciendo así más clara

Page 13: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

4

y sencilla la documentación de estos.

Módulo de calificación: Luego de que el trabajo se haya realizado y ambas partes estén de acuerdo en que el servicio terminó, el usuario Cliente podrá realizar una calificación al personal de enfermería, dejando un comentario si lo considera pertinente, esto buscando que entre los usuarios tengan un control de calidad frente a las personas que contratan.

Módulo de ranking: En este módulo los usuarios podrán acceder a la información almacenada para generar reportes sobre, historiales de trabajo y categorización y reputación del desempeño de los profesionales en el servicio de enfermería que se encuentran registrados.

4.8. Antecedentes

A continuación, se describen los antecedentes de algunos de los proyectos o aplicativos que se relacionan con la propuesta, teniendo en cuenta parámetros como, geolocalización, contratación, seguimiento, calificación y utilizados en ámbitos familiares:

DreamJobs: “Dream Jobs es una app 100% colombiana, creada por el abogado Andrés García, que ca hacerle más fácil encontrar empleo a todos los colombianos, que por diferentes circunstancias se les ha dificultado encontrar trabajo que se ajuste a sus necesidades. Esta aplicación reúne una base de datos de empresas que tienen ofertas laborales en todos los campos, así que los usuarios de Dream Jobs pueden aplicar a estas vacantes desde su casa y con total seguridad de que sus hojas de vida serán recibidas. La aplicación ubica las vacantes disponibles de las más de 2 mil empresas que actualmente están ofertando en la plataforma en todo Colombia” URL: https://dreamjobs.com.co/

Doctoralia Internet S.L.: “Es una web nacida en 2007 como directorio médico que permite reservar de forma online citas con profesionales sanitarios y ofrece la posibilidad de incluir una valoración de los pacientes sobre estos y/o los centros sanitarios donde han sido atendidos. El sitio web de doctoralita permite buscar los profesionales por ciudades, especialidades o compañía aseguradora. Los resultados de la búsqueda muestran el centro donde realizan sus actividades profesionales, datos de contacto y en algunos casos, aparecen datos sobre su ámbito y experiencias de formación.”. URL: https://www.doctoralia.co/

Glympse: “Esta aplicación es gratuita y multiplataforma, disponible para Android, iPhone y Windows Mobile que permite compartir nuestra ubicación con otras personas de una forma segura sencilla y eficiente. ¿Cómo funciona Glympse? En primer lugar, necesitamos tener instalado Glympse en nuestro móvil y activar la función GPS, luego encontramos a Glympse y por medio del menú elegimos la opción “Send Glympse”, seguido a esto nos pide una serie de datos que debemos completar para poder enviar nuestra ubicación, Básicamente “Send Glympse to ” es el mail o móvil por el cual queremos compartir nuestra ubicación. En “Set how long this glympse will last” debemos colocar durante cuánto tiempo queremos compartir nuestra ubicación. Una vez que tenemos todos los datos cargados, mail de la persona a quien queremos enviar y tiempo de transmisión de la ubicación, hacemos un touch en “Send Glympse” y de esta forma, la persona que nosotros

Page 14: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

5

designamos a estar recibiendo un mail que contiene un link hacia la web oficial de Glympse, Una vez que nuestro “seguidor” ingresa a la página, podrá ver un mapa marcando exactamente el recorrido que nosotros estamos haciendo”. URL: https://www.glympse.com/

Life360: “Es una aplicación para la localización de personas correspondientes a nuestro núcleo familiar, por lo tanto, la cantidad de cuentas asociadas es poca y cada personas debe tener su propio dispositivo, además de que el único que puede ver la posición de los demás es el jefe de familia.”. URL: https://www.life360.com

LocMovil: “Aplicativo móvil para el control en tiempo real de procesos, localización y gestión de los activos móviles Está dirigido a empresas y pymes que cuenten con vehículos o personal en campo y que tengan procesos logísticos asociados a su actividad económica. URL: https://apps.co/comunidad/ver/1116/locmovil-sas/

Prodigios APP: “Acompañamiento flexible: Dentro y fuera de casa, nuestros pródigos estarán disponibles para actividades desde acompañar y ayudar al adulto mayor con sus actividades cotidianas dentro de casa hasta llevarlos a visitar sus sitios favoritos de la ciudad como museos, centros comerciales o actividades de entretenimiento como juegos de mesa, lectura y tertulias.” URL:https://www.prodigosapp.com/historia-origen-prodigos-companamiento

Medycare: “Medycare SAS tiene como objetivo, mejorar la calidad de vida de aquellas personas que padecen enfermedades crónicas o bien que afrontan de manera temporal o permanente una limitación tanto de su capacidad para auto cuidarse, como para desplazarse de manera autónoma, por lo que han de permanecer en su domicilio.” URL: http://medycare.com.co/nosotros.html

Page 15: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

6

4.9. MARCO TEORICO

A continuación, se presentan todos los elementos que se deben tener en cuenta para lograr llevar el proyecto hasta la fase final de producción:

4.9.1. GEOREFERENCIACION1

Es el uso de coordenadas de mapa para asignar una ubicación espacial a entidades cartográficas. Todos los elementos de una capa de mapa tienen una ubicación geográfica y una extensión específicas que permiten situarlos en la superficie de la Tierra o cerca de ella. La capacidad de localizar de manera precisa las entidades geográficas es fundamental tanto en la representación cartográfica como en SIG. La correcta descripción de la ubicación y la forma de entidades requiere un marco para definir ubicaciones del mundo real. Un sistema de coordenadas geográficas se utiliza para asignar ubicaciones geográficas a los objetos. Un sistema de coordenadas de latitud-longitud global es uno de esos marcos. Otro marco es un sistema de coordenadas cartesianas o planas que surge a partir del marco global. Los mapas representan ubicaciones en la superficie de la Tierra que utilizan cuadrículas, gratículas y marcas de graduación con etiquetas de diversas ubicaciones terrestres (tanto en medidas de latitud-longitud como en sistemas de coordenadas proyectadas [como metros de UTM]). Los elementos geográficos incluidos en diversas capas de mapa se trazan en un orden específico (uno sobre otro) para la extensión del mapa determinada. Los datasets SIG incluyen ubicaciones de coordenadas dentro de un sistema de coordenadas cartesianas o globales para registrar ubicaciones y formas geográficas. De este modo, es posible superponer capas de datos SIG sobre la superficie de la Tierra.

SIG2: (Sistema de Información Geográfica) El SIG funciona como una base de datos con información geográfica (datos alfanuméricos) que se encuentra asociada por un identificador común a los objetos gráficos de un mapa digital. De esta forma, señalando un objeto se conocen sus atributos e, inversamente, preguntando por un registro de la base de datos se puede saber su localización en la cartografía. La razón fundamental para utilizar un SIG es la gestión de información espacial. El sistema permite separar la información en diferentes capas temáticas y las almacena independientemente, permitiendo trabajar con ellas de manera rápida y sencilla, y facilitando al profesional la posibilidad de relacionar la información existente a través de la topología de los objetos, con el fin de generar otra nueva que no podríamos obtener de otra forma. Las principales cuestiones que puede resolver un Sistema de Información Geográfica, ordenadas de menor a mayor complejidad, son:

o Localización: preguntar por las características de un lugar concreto. o Condición: el cumplimiento o no de unas condiciones impuestas al

sistema. o Tendencia: comparación entre situaciones temporales o espaciales

distintas de alguna característica.

1 Esri, 2013, http://resources.arcgis.com/es/help/getting-started/articles/026n0000000s000000.htm 2 Laboratorio Unidad Pacífico Sur, CIESAS, 5 agosto 2012 https://langleruben.wordpress.com/%C2%BFque-es-un-sig/

Page 16: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

7

o Rutas: cálculo de rutas óptimas entre dos o más puntos. o Pautas: detección de pautas espaciales. o Modelos: generación de modelos a partir de fenómenos o actuaciones

simuladas.

GEOCERCAS3:(Geo-fences): Una Geocerca es un perímetro virtual en un mapa. Cuando un sistema de rastreo por GPS utiliza la geocerca, el software puede determinar si el dispositivo de GPS está dentro o fuera del perímetro determinado, así como notificarte cuando un dispositivo entra o sale de ese perímetro. El método de definición de áreas en el mapa aporta resultados bastante más prácticos. Por ejemplo, si una empresa de alquiler de Jet Ski quiere asegurarse que los clientes mantengan los equipos dentro de una zona designada, pueden dibujar una geocerca en la zona del agua aprobada y recibir alertas si el Jet Ski se encuentra fuera del agua o sale de los límites establecidos. La geocerca es una tecnología útil y flexible que puede tener múltiples y valiosas aplicaciones.

GPS4: (Global Positioning System): Sistema de Posicionamiento Global (GPS) es un sistema de radionavegación de los Estados Unidos de América, basado en el espacio, que proporciona servicios fiables de posicionamiento, navegación, y cronometría gratuita e ininterrumpidamente a usuarios civiles en todo el mundo. A todo el que cuente con un receptor del GPS, el sistema le proporcionará su localización y la hora exacta en cualesquiera condiciones atmosféricas, de día o de noche, en cualquier lugar del mundo y sin límite al número de usuarios simultáneos. El GPS se compone de tres elementos: los satélites en órbita alrededor de la Tierra, las estaciones terrestres de seguimiento y control, y los receptores del GPS propiedad de los usuarios. Desde el espacio, los satélites del GPS transmiten señales que reciben e identifican los receptores del GPS; ellos, a su vez, proporcionan por separado sus coordenadas tridimensionales de latitud, longitud y altitud, así como la hora local precisa.

No es el único sistema que existe para localizarnos en la Tierra, dado que el GPS es un desarrollo del Departamento de Defensa de los EEUU: GLONASS es el actual nombre del comenzado por la Unión Soviética y continuado por Rusia, Galileo es la alternativa europea y el único destinado al uso civil, y Beidou-barra-Compass es el proyecto de la República Popular de China que da servicio a China y países vecinos. [ANDROIDGPS]

GPS EN CELULARES5: La red GPS emplea una red de 24 satélites -32 en total,

contando los satélites adicionales que mejoran la precisión- en órbita que cubren

toda la superficie de nuestro planeta, de tal forma que, desde cualquier punto en

el que podamos estar, podamos tener línea de visión directa con un mínimo de

seis satélites.

3 KORE Wireless Group, 29 Julio 2013https://www.positionlogic.com/es/el-blog-news/es/manejando-

su-negocio-de-rastreo-de-gps/nueve-sorprendentes-formas-de-utilizar-geo 4 Oficina de Coordinación Nacional de Posicionamiento, Navegación, y Cronometría por Satélite, https://www.gps.gov/spanish.php 5 David Pérez, 28 octubre 2015 https://elandroidelibre.elespanol.com/2015/10/todo-sobre-el-gps-en-android-como-funciona-y-como-desactivarlo.html

Page 17: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

8

A partir de esa base, cuando nuestro smartphone quiera localizarnos, se conectará

a esta red y conectará con la mayor cantidad de satélites posibles, obteniendo una

serie de datos, y utiliza la triangulación inversa -averiguar la distancia de cada

satélite respecto a nuestra posición- para situarnos en el mapa.

4.9.2. APLICACIONES MOVILES6

Las aplicaciones (también llamadas apps) están presentes en los teléfonos desde hace tiempo; de hecho, ya estaban incluidas en los sistemas operativos de Nokia o Blackberry años atrás. Los móviles de esa época, contaban con pantallas reducidas y muchas veces no táctiles, y son los que ahora llamamos feature phones, en contraposición a los smartphones, más actuales. En esencia, una aplicación no deja de ser un software. Para entender un poco mejor el concepto, se puede decir que las aplicaciones son para los móviles lo que los programas son para los ordenadores de escritorio. Hubo un cambio grande con el ingreso de iPhone al mercado, ya que con él se generaron nuevos modelos de negocio que hicieron de las aplicaciones algo rentable, tanto para desarrolladores como para los mercados de aplicaciones, como App Store, Google Play y Windows Phone Store. Al mismo tiempo, también mejoraron las herramientas de las que disponían diseñadores y programadores para desarrollar apps, facilitando la tarea de producir una aplicación y lanzarla al mercado, incluso por cuenta propia.

ANDROID7: Sistema operativo líder en el mercado, el único que ha logrado satisfacer las necesidades multimedia y de socialización tanto de personas con alto poder adquisitivo, como de aquellas con menos opciones económicas. Android ha hecho posible el impulso del teléfono inteligente hasta el punto que prácticamente toda la comunicación entre las personas tiene lugar desde la pequeña pantalla del terminal: Facebook y WhatsApp son las formas más comunes para interactuar con amigos, conocidos y familia. Gracias a Android, prácticamente cualquier persona puede, no sólo comunicarse, sino disfrutar de su terminal para llenar el tiempo libre con juegos móviles de calidad, navegar por páginas web y subir fotografías a Instagram. Si Volkswagen fue en su momento el “coche del pueblo”, Android es hoy en día el “sistema operativo del pueblo”, el único capaz de satisfacer las necesidades de cualquier tipo de usuario: desde el menos exigente, que solo necesita el teléfono para llamar y enviar mensajes por WhatsApp; hasta el más avanzado, que pretende navegar por Internet, mandar correo electrónico, ver películas DivX o tomar fotografías de calidad.

Android Studio8: Android Studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de aplicaciones para Android y se basa en IntelliJ IDEA. Además del potente editor de códigos y las herramientas para desarrolladores de IntelliJ, Android Studio ofrece aún más funciones que aumentan la productividad durante la compilación de apps para Android, como las siguientes:

6 La importancia de una aplicación móvil, Juanjo, 20 marzo 2015, http://blog.filmultimedia.com/la-importancia-de-

una-aplicacion-movil / 7 La importancia de Android, Antonio Gutiérrez, 23 agosto 2013, https://prezi.com/h8yj4esuo_s-/la-importancia-

del-android/ 8 Android Google developers, https://developer.android.com/studio/intro/index.html?hl=es-419

Page 18: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

9

o Un sistema de compilación basado en Gradle flexible o Un emulador rápido con varias funciones o Un entorno unificado en el que se puede realizar desarrollos para todos los

dispositivos Android o Instant Run para aplicar cambios mientras tu app se ejecuta sin la necesidad

de compilar un nuevo APK o Integración de plantillas de código y GitHub para ayudar a compilar funciones

comunes de las apps e importar ejemplos de código o Gran cantidad de herramientas y frameworks de prueba o Herramientas Lint para detectar problemas de rendimiento, usabilidad,

compatibilidad de versión, etc. o Compatibilidad con C++ y NDK o Soporte incorporado para Google Cloud Platform, lo que facilita la integración

de Google Cloud Messaging y App Engine

FIREBASE9: Es un conjunto de herramientas orientadas a la creación de

aplicaciones de alta calidad, al crecimiento de los usuarios y a ganar más dinero.

Sus características fundamentales están divididas en varios grupos, las cuales

podemos agrupar en:

o Analíticas: Provee una solución gratuita para tener todo tipo de medidas

(hasta 500 tipos de eventos), para gestionarlo todo desde un único panel.

o Desarrollo: Permite construir mejores apps, permitiendo delegar

determinadas operaciones en Firebase, para poder ahorrar tiempo, evitar

bugs y obtener un aceptable nivel de calidad. Entre sus características

destacan el almacenamiento, testeo, configuración remota, mensajería en

la nube o autenticación, entre otras.

o Crecimiento: Permite gestionar los usuarios de las aplicaciones, pudiendo

además captar nuevos. Para ello dispondremos de funcionalidades como

las de invitaciones, indexación o notificaciones.

o Monetización: Permite ganar dinero gracias a AdMob.

4.9.3. APLICACIÓN WEB10

Una aplicación Web es una aplicación informática que se ejecuta en un entorno Web. La

arquitectura Web permite a múltiples clientes o usuarios establecer una comunicación a

través de Internet con un servidor Web. Los clientes mediante un navegador emiten

peticiones vía HTTP a un servidor Web que responde a cada una de las solicitudes. El

servidor aloja una serie de aplicaciones Web que ofrecen diferentes servicios a los

usuarios conectados. Es en el servidor Web donde se centraliza la carga de trabajo. En

la mayoría de los casos, el navegador suele ser un mero presentador de información

(modelo de cliente ligero), y no lleva a cabo ningún procesamiento relacionado con la

lógica de negocio.11

9 Jose Angel Zamora, 19 mayo 2016, https://elandroidelibre.elespanol.com/2016/05/firebase-plataforma-desarrollo-android-ios-web.html 10 La importancia del diseño web, Kristine, 2016, http://www.open-ideas.es/cascading-style-sheets-de-vitar-importancia-para-el-diseno-web/ 11 Boiza, V. M. (10 de 2012). http://e-archivo.uc3m.es/. Obtenido de http://earchivo.uc3m.es/bitstream/handle/10016/16046/PFCVanesaMorenoBoiza.p df?sequence=1

Page 19: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

10

En la arquitectura Web el modelo de comunicación entre cliente y servidor se establece

mediante una conexión a Internet o intranet. El intercambio de información desde el

navegador al Servidor se efectúa mediante el uso del protocolo HTTP (Hipertext Transfer

Protocol) protocolo para el intercambio de información en Web.12 El navegador Web

interpreta las páginas dinámicas generadas por el servidor Web.

El usuario interacciona con las aplicaciones Web a través del navegador. Como

consecuencia de la actividad del usuario, se envían peticiones al servidor, donde se aloja

la aplicación Web y que normalmente hace uso de una base de datos que almacena toda

la información relacionada con la misma. El servidor procesa la petición y devuelve la

respuesta al navegador que la presenta al usuario.

HTML513: Se define como un lenguaje con el que se escriben las páginas web las cuales pueden ser vistas por usuarios mediante un tipo de aplicación denominada navegador, se puede decir por lo tanto que el HTML es el lenguaje usado por los navegadores para mostrar las páginas web al usuario, siendo hoy en día la interface más extendida en la red. || Más aún, cuando en estos tiempos son millones las personas que acceden a internet desde dispositivos móviles como iPhones, iPads, Palms, Smartphones, netBooks, Pocket Pc, y demás. Aquí se vuelve imperioso y fundamental que el código HTML está bien realizado y sea 100% compatible con todos los navegadores del mercado. Entre las funcionalidades que encontramos con HTML están:

Colocar imágenes, audios, videos y animaciones.

Colocar opciones para compartir y difundir documentos.

Permitir que ciertos tipos de documentos puedan ser leídos descargados o editados desde la misma página web.

Replicar contenidos desde otras páginas web.

Agregar opciones para ampliar las informaciones y permitir consultas en otros sitios web.

Colocar enlaces a redes sociales.

Agregar hipervínculos y funcionalidades asociadas a estos como: dirigirse a otro sitio web, descargar algún recurso, editar un documento, etc.

CSS314: Es un acrónimo de Cascading Style Sheets, que tiene un apoyo distintivo en los navegadores web de hoy en día. CSS modula los sitios web en la misma forma que los programadores modulan el código del software. CSS es un lenguaje en parte nuevo pero que ya durante los últimos años se va utilizando para mejorar la presentación de los contenidos dentro de las etiquetas HTML. Ahora debemos dividir la estructura de HTML y la presentación CSS. Éstos son algunos de los beneficios de la CSS:

Mayor facilidad para actualizar y dar soporte.

12 Boiza, V. M. (10 de 2012). http://e-archivo.uc3m.es/. Obtenido de http://earchivo.uc3m.es/bitstream/handle/10016/16046/PFCVanesaMorenoBoiza.p df?sequence=1 13 La importancia del diseño web, Kristine, 2016, http://www.open-ideas.es/cascading-style-sheets-de-vitar-

importancia-para-el-diseno-web/ 14 Importancia del código html, 2014, https://sites.google.com/site/sitiodellenguajehtmlinam/events

Page 20: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

11

Mayores y más detalladas opciones de formato.

Menos codificación

El tiempo de carga más rápida.

Mayor consistencia en el diseño web.

Mayor accesibilidad.

Beneficios para las arañas de búsqueda.

PHP15: Según el sitio oficial de PHP el acrónimo PHP “PHP: Hypertext pre-processor” es un lenguaje “Open source” interpretado de alto nivel, especialmente pensado para desarrollos web, y el cual puede ser incrustado en páginas HTML. La mayoría de sus sintaxis es similar a C, Java y Perl es fácil de aprender, La meta de este lenguaje es permitir a sus creadores de páginas web, páginas dinámicas de una manera rápida y fácil. PHP es un lenguaje totalmente libre y abierto, Tiene una curva de aprendizaje muy baja, su sintaxis es simple y cumple estándares básicos de la programación orientada a objetos. No son necesarios complejos entornos de desarrollo, que incluso necesitan su propio periodo de aprendizaje. Se puede programar en PHP sin más ayuda que el bloc de notas, todos los IDEs disponibles son gratuitos y los entornos de desarrollo son de rápida y fácil configuración. Es fácil desplegar un proyecto en PHP porque se dispone de paquetes totalmente autoinstalables que integran PHP: Apache y MySQL, tanto para UNIX (LAMPP), como para Windows (XAMPP). Ambos fáciles de instalar y configurar, como si de una aplicación cualquiera de escritorio se tratara. Obteniendo así en el ordenador un servidor local con acceso a base de datos, preparado desarrollar fácilmente cualquier proyecto, sin perder el tiempo en problemas de compatibilidades o instalando herramientas extra que pudieran necesitar. Además, PHP ofrece un fácil acceso a bases de datos y soporta muchas de ellas, no únicamente MySQL.16

MYSQL17]: Es un sistema de gestión de bases de datos relacional, fue creada por la empresa sueca MySQL AB, la cual tiene el copyright del código fuente del servidor SQL, así como también de la marca. MySQL es un software de código abierto, licenciado bajo la GPL de la GNU, aunque MySQL AB distribuye una versión comercial, en lo único que se diferencia de la versión libre, es en el soporte técnico que se ofrece, y la posibilidad de integrar este gestor en un software propietario, ya que, de otra manera, se vulneraría la licencia GPL. El lenguaje de programación que utiliza MySQL es Structured Query Language (SQL) que fue desarrollado por IBM en 1981 y desde entonces es utilizado de forma generalizada en las bases de datos relacionales. El principal objetivo de MySQL es velocidad y robustez. Soporta gran cantidad de tipos de datos para las columnas. Gran portabilidad entre sistemas, puede trabajar en distintas plataformas y sistemas operativos. Cada base de datos cuenta con 3 archivos: Uno de estructura, uno de datos y uno de índice y soporta hasta 32 índices por tabla. Aprovecha la potencia de sistemas multiproceso, gracias a su implementación multi-hilo. Flexible sistema de contraseñas (passwords) y gestión de usuarios, con un muy buen nivel de seguridad en los datos.

15 Que es php, Php Team, php.net 16 Motivos para trabajar con php, Maria paz brezo, 2013, https://www.lancetalent.com/blog/6-buenos-motivos-

para-trabajar-con-php/ 17 MYSQL historia e importancia, Uckerr, 11 agosto de 2015 https://miprimersitiowebuck.wordpress.com/2015/08/11/mysql-

historia-e-importancia/

Page 21: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

12

JSON18: (JavaScript Object Notation) es un formato para el intercambio de datos, básicamente JSON describe los datos con una sintaxis dedicada que se usa para identificar y gestionar los datos. JSON nació como una alternativa a XML, el fácil uso en javascript ha generado un gran número de seguidores de esta alternativa. Una de las mayores ventajas que tiene el uso de JSON es que puede ser leído por cualquier lenguaje de programación. Por lo tanto, puede ser usado para el intercambio de información entre distintas tecnologías.

WEB SERVICE19: Un Web Service, o Servicio Web, es un método de comunicación entre dos aparatos electrónicos en una red. Es una colección de protocolos abiertos y estándares usados para intercambiar datos entre aplicaciones o sistemas. Las aplicaciones escritas en varios lenguajes de programación que funcionan en plataformas diferentes pueden utilizar web services para intercambiar información a través de una red. La interoperabilidad, por ejemplo, entre Java y Python o Windows y Linux se debe al uso de estándares abiertos. Como sistema de mensajes se utiliza XML estandarizado. El protocolo más simple para el intercambio de información entre ordenadores es XML-RPC, que emplea XML para llevar a cabo RPCs. RPC, Remote Procedure Call, es un protocolo de red que permite a un programa a ejecutar código en una máquina remota. Los XML-RPC requests son una combinación entre contenido XML y headers HTTP. La simpleza de los XML-RPC hizo que el estándar evolucionase a SOAP, uno de los componentes básicos de los Web Services.

4.9.4. FRAMEWORKS20 Es una estructura de software con un conjunto de bibliotecas y componentes personalizables que por lo general se usa como base para poder acelerar el proceso de desarrollo de una aplicación. Debido a su estructura base bien organizada, estos permiten su reutilización. Al momento de iniciar un proyecto en el cual se desea desarrollar un sistema, debemos tener en cuenta varios factores que van a determinar el crecimiento del mismo, como por ejemplo su estructura, y que por lo general toma parte del tiempo que puede ser enfocado en el avance del desarrollo de los requerimientos del sistema. Acá es donde entra en juego la importancia de usar un Framework, ya que estos te proporcionan de una estructura base que te permite agilizar estos procesos y orientar el tiempo y esfuerzo en lógica de la aplicación.

Laravel21: Laravel es un framework de código abierto para el desarrollo de aplicaciones web en PHP 5 que posee una sintaxis simple, expresiva y elegante. Fue creado en 2011 por Taylor Otwell, inspirándose en Ruby on Rails y Symfony, de los cuales ha adoptado sus principales ventajas. 14 Laravel facilita el desarrollo simplificando el trabajo con tareas comunes como la autenticación, el enrutamiento, gestión sesiones, el almacenamiento en caché, etc. Algunas de las principales características y ventajas de Laravel son15:

18 Json, que es y para qué sirve, Alejandro Rodriguez, 20176 https://geekytheory.com/json-i-que-es-y-para-que-sirve-json/ 19 https://diego.com.es/introduccion-a-los-web-services 20 Framework y su importancia, TuArtDecors, 2015 http://frameworkmvc.blogspot.com.co/2015/06/concepto-de-

framework-y-su-importancia.html 21 Que framework me conviene utilizar, Andres, 10 febrero 2014, https://guiadev.com/que-framework-php-me-

conviene-utilizar/

Page 22: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

13

o Está diseñado para trabajar bajo el patrón MVC (Modelo – Vista -

Controlador), centrándose en la popularización del código. Facilitando el

trabajo en equipo, claridad, mantenimiento y la reutilización de código.

o Usa un sistema ORM llamado Eloquent facilitando el mapeado de datos

relacional, asi mismo usa herramientas como Query Builder para

construcción de consultas directas a la base de datos.

o Usa versionamiento en el sistema de base de datos y fácil acoplacion a

diferentes motores de bases de datos mediante su sistema de migraciones.

o Usa un sistema de plantillas llamado Blade, el cual hace uso de cache para

mayor velocidad de la misma forma facilita la creación de vistas mediante

layouts, herencia y secciones.

o Facilita la extensión de funcionalidad mediante paquetes o librerías

externas ahorrando tiempo en programación.

o Maneja un intérprete de línea de comandos llamado Artisan que nos

ayudara con tareas repetitivas como la creación de distintos componentes

de código, trabajo en base de datos, rutas entre otras.

o MVC(Modelo-Vista-Controlador): El modelo vista controlador (MVC) es un

patrón de arquitectura de software que separa los datos y la lógica de

negocio de una aplicación de la interfaz de usuario y el módulo encargado

de gestionar los eventos y las comunicaciones. Para ellos MVC propone a

construcción de tres componentes distintos que son el modelo, la vista y el

controlador, es decir, por un lado, define componentes para la

representación de la información, y por otro lado para la interacción del

usuario. Este patrón de arquitectura de software se basa en la idea de

reutilización de código y la separación de conceptos, características que

buscan facilitar la tarea de desarrollo de aplicaciones y su posterior

mantenimiento16 [Figura]

Los elementos que conformas esta arquitectura son:

o Modelo: Es la representación de la información con la cual el sistema opera, por lo tanto, gestiona todos los accesos a dicha información, tantas consultas como actualizaciones. Las peticiones de acceso o manipulación de información llegan al ‘modelo’ a través del ‘controlador’ 17

o Controlador: Responde a eventos (usualmente acciones del usuario) e

invoca peticiones al ‘modelo’ cuando se hace alguna solicitud de información (por ejemplo, editar un documento o un registro en una base de datos). Por tanto, se podría decir que el ‘controlador’ hace de intermediario entre la ‘vista’ el ‘modelo’ 18

o Vista: Presente le ‘modelo’ y los datos preparados por el controlador al

usuario de forma visual. El usuario podrá interactuar con la vista y realizar otras peticiones que se enviaran al controlador19.

El funcionamiento general de la arquitectura de MVC se da de la siguiente manera:

El usuario realiza una petición a través de la interfaz de usuario.

Page 23: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

14

El controlador captura el evento.

El controlador hace la llamada al modelo/modelos correspondientes efectuando las modificaciones pertinentes sobre el modelo.

El controlador recibe la información y la envía a la vista.

La vista, recibe datos del modelo y los muestra al usuario.

BOOTSTRAP22: Bootstrap es un framework HTML, CSS y JavaScript creado originalmente por Twitter. Su código liberado en 2011 y poco tiempo después se convirtió en uno de los repositorios más populares de GitHub. Entre las muchas ventajas y facilidades que nos aporta se pueden destacar:

● Rápido e intuitivo: Ahorra mucho tiempo una vez se aprende a utilizar

Bootstrap, nuestro código será fácilmente legible. Además de funciones ya prediseñadas.

● Pensado para móviles: Sigue la filosofía mobile first, por lo que ya no existirá problema alguno a la hora de desarrollar para dispositivos móviles.

● Diseño responsive: se logra hacer que los diseños se adaptan automáticamente a las diferentes resoluciones de diferentes dispositivos.

22 Que es Bootstrap y cómo funciona, Aitor Rodríguez, 21 de Julio 2015, http://www.frontendfactory.es/que-es-bootstrap-y-

como-funciona/

Page 24: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

15

4.9.5. Metodología para el desarrollo de software.23

En este ítem se presentan las posibles metodologías que pudieron llegarse a utilizar teniendo en cuenta la efectividad, rapidez y comodidad para los desarrolladores. Al final se decidió utilizar la metodología SCRUM debido a su facilidad de uso y mayores casos de éxito.

4.9.5.1. Waterfall Process. Esta es una metodología que se caracteriza por el hecho de que se queda en una fase, hasta que esta está totalmente terminada y es ahí donde pasa a la siguiente, su principal inconveniente es que ante cualquier error se pierde tiempo muy valioso porque toca devolverse tanto en el proceso de desarrollo como en el de la documentación.

4.9.5.2. Rational Unified Process. Es un proceso de software iterativo, es adaptable

y entallado para satisfacer las necesidades del equipo de desarrollo, pero es una metodología muy pesada, es muy completo pero muy complejo para los proyectos de desarrollo ágil por lo que pierde mucho tiempo en la documentación de los procesos.

4.9.5.3. Essential Unified Process. Esta es una mejora del Rational Unified Process,

consiste en la integración de prácticas eficaces de los 3 campos de proceso: el proceso unificado, los métodos ágiles y el proceso de madurez, respecto a su usabilidad en el desarrollo de videojuegos hay que decir que por su escalabilidad y la posibilidad de separar prácticas lo hace adaptable para este fin.

4.9.5.4. MOBILE D24: El objetivo de este método es conseguir ciclos de desarrollo muy rápidos en equipos muy pequeños. Fue creado en un proyecto finlandés en 2005, pero sigue estando vigente. Basado en metodologías conocidas pero aplicadas de forma estricta como: extreme programming, Crystal Methodologies y Rational Unified Process. Se compone de distintas fases: exploración, inicialización, fase de producto, fase de estabilización y la fase de pruebas. Cada una tiene un día de planificación y otro de entrega.

En la fase de exploración se centra la atención en la planificación y a los conceptos básicos del proyecto. Aquí es donde hacemos una definición del alcance del proyecto y su establecimiento con las funcionalidades donde queremos llegar. En la iniciación configuramos el proyecto identificando y preparando todos los recursos necesarios como hemos comentado anteriormente en esta fase la dedicaremos un día a la planificación y el resto al trabajo y publicación. En la fase de producto se repiten interactivamente las sub-fases. Se usa el desarrollo dirigido por pruebas (TDD), antes de iniciar el desarrollo de una funcionalidad debe existir una prueba que verifique su funcionamiento. En esta fase podemos decir que se lleva a acabo toda la implementación. Después de la fase de producto llega la fase de estabilización en la que se realizan las acciones de integración para enganchar los posibles módulos separados en una única aplicación.

23 Camacho, J. D. (04 de 2013). northware.mx. Obtenido de http://www.northware.mx/wp-content/uploads/2013/04/Desarrollo-cascadavs-Desarrollo-Agile.pdf 24 Txema rodriguez, 29 septiembre 2011, https://www.genbetadev.com/desarrollo-aplicaciones-moviles/metodos-aplicables-para-el-desarrollo-de-aplicaciones-moviles

Page 25: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

16

Fase de pruebas. Una vez parado totalmente el desarrollo se pasa una fase de testeo hasta llegar a una versión estable según lo establecido en las primeras fases por el cliente. Si es necesario se reparan los errores, pero no se desarrolla nada nuevo. Una vez acabada todas las fases deberíamos tener una aplicación publicable y entregable al cliente.

4.9.5.5. Modelo Waterfall. Clásico. Sólo aplicable cuando están totalmente cerrados

los requisitos y no van a cambiar. No hay retroalimentación entre las fases en que se divide el proyecto. Por lo que cada fase se va cerrando de forma secuencial. Todo el proceso está fijado por fechas límites y presupuestos. Este modelo sólo es aconsejable para proyectos móviles muy controlados y previsibles, no existe incertidumbre por lo que se quiere hacer ni influyen los cambios en la industria. [MOBILES METODOLOGIAS]

4.9.5.6. Scrum Framework. Es una metodología de desarrollo de software iterativo

incremental muy usada en el desarrollo de software ágil. El trabajo está estructurado en ciclos conocidos como sprints. Durante cada sprint los equipos toman los requerimientos de una lista ordenada por prioridades conocidas como historias de usuario. Al terminar cada sprint, se tiene una versión potencialmente final del producto. Su fortaleza es que sus iteraciones facilitan la entrega de características pulidas para ir probando las características de las aplicaciones e ir haciendo mejoras a partir de la retroalimentación realizada por los clientes y usuarios, esta metodología no incluye solo a programadores, sino que también incluye usuarios finales y personas de otras disciplinas que cooperan para realizar mejores desarrollos. En el desarrollo del portal web usaremos la metodología de desarrollo ágil Scrum porque nos permite tener funcionalidades en el proyecto a corto plazo, así mismo nos facilita la tarea de despejar riesgos de manera anticipada con la respectiva documentación para un desarrollo eficiente, además permite centrarse en cada módulo muy específicamente, desplazadamente y nos permite mostrar los resultados de cada iteración tanto al cliente como al director. Para entender el ciclo de desarrollo de Scrum es necesario conocer las 5 fases que definen el ciclo de desarrollo ágil:

4.9.5.6.1. Etapas de la metodología Scrum A continuación, se presentan las etapas necesarias para poder llevar a cabo un desarrollo con la metodología Scrum: o Concepto: Se define de forma general las características del producto y se

asigna el equipo que se encargará de su desarrollo. o Especulación: En esta fase se hacen disposiciones con la información

obtenida y se establecen los límites que marcarán el desarrollo del producto, tales como costes y agendas. Se construirá el producto a partir de las ideas principales y se comprueban las partes realizadas y su impacto en el entorno. Esta fase se repite en cada iteración y consiste, en rasgos generales, en:

Desarrollar y revisar los requisitos generales. Mantener la lista de las funcionalidades que se esperan. Plan de entrega. Se establecen las fechas de las versiones, hitos e

iteraciones. Medirá el esfuerzo realizado en el proyecto.

o Exploración: Se incrementa el producto en el que se añaden las

Page 26: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

17

funcionalidades de la fase de especulación. o Revisión: El equipo revisa todo lo que se ha construido y se contrasta con

el objetivo deseado. o Cierre: Se entregará en la fecha acordada una versión del producto

deseado. Al tratarse de una versión, el cierre no indica que se ha finalizado el proyecto, sino que seguirá habiendo cambios, denominados “mantenimiento”, que hará que el producto final se acerque al producto final deseado.

Page 27: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

18

5. FASE PLANEACIÓN

En esta fase se describirán los elementos iniciales del proyecto, como lo son el equipo de trabajo, requerimientos candidatos e historias de usuario. Scrum Master: Juan camilo Camacho Debido a la naturaleza del proyecto siendo un proyecto realizado bajo el formato de monografía no se requiere un Scrum Owner, ya que el proyecto va a ser de libre acceso para cualquiera que pudiera ser el usuario.

5.1. REQUISITOS

En las primeras entrevistas y levantamientos de información se reunieron los requerimientos principales, con el fin de tener una visión del producto y entrar a priorizar sobre algunos aspectos.

5.2. REQUISITOS INFORMALES

Se desarrollará una aplicación móvil para la búsqueda y contacto de personal de enfermería basado en geolocalización, el cual debe contar con:

Un módulo de registro de usuarios y personal de enfermería que se encuentren interesadas obtener o prestar servicios de enfermería.

Un módulo para la calificación del personal que prestan su servicio, con el objeto de crear un ranking de profesionales que les dé opciones a los usuarios respecto a la prestación del servicio.

Un componente móvil de notificaciones y Geo posicionamiento para obtener información en tiempo real del personal de enfermería más cercano a la ubicación.

Un sistema web que permita el almacenamiento y manejo de los datos ayudando en el procesamiento y el almacenamiento de estos.

5.3. Descripciones de las funcionalidades: Según los requerimientos obtenidos se buscó profundizar más en cada aspecto, tanto en equipo como el cliente, obteniendo una mejor descripción de las funcionalidades, con el fin de tener las Historias de usuario.

Page 28: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

19

Tabla 1. REQUERIMIENTOS CANDIDATOS.

REQUISITO CANDIDATO DESCRIPCION

Registro de Usuario El usuario debe poder hacer el registro desde la aplicación Android,

elegir su usuario y contraseña.

Editar información El usuario debe poder editar su información personal en cualquier

momento.

Alertas La aplicación Android, debe mostrar una notificación al recibir un

nuevo mensaje o cuando se dé por finalizado un servicio.

Guardado de la información La aplicación debe realizar el guardado de la información en una

base de datos remota.

Seguridad La aplicación Android debe contar con un servicio de logeo o

autentificación de usuarios que permita conectar solo en un

dispositivo a cada usuario.

Realizar Consultas El usuario debe poder realizar la consulta de sus servicios por

medio de la aplicación Android o por medio del acceso web.

Realizar Estadísticas La aplicación debe permitir la calificación de un servicio por medio

de la aplicación Android.

Ranking de usuarios La plataforma debe permitir generar un ranking para que los

usuarios sepan la calidad de servicio que contrataran.

Geo posicionamiento La aplicación móvil deberá contar con un componente móvil de

notificaciones y Geo posicionamiento para obtener información en

tiempo real del personal de enfermería más cercano a la ubicación.

5.4. Definición de actores Tabla 2, actores principales del sistema

ROLES Descripción

Administrador Sera el rol que tenga la capacidad de realizar cualquier operación en la plataforma como ver los perfiles de los demás usuarios, gestionar sus servicios, gestionar usuarios y permisos de estos, bloquear accesos y responder a peticiones específicas de los usuarios.

Usuario persona Sera el rol de un usuario común que desea contactar a un prestador de servicios por medio de la plataforma.

Usuario prestador de servicio Sera el rol de los prestadores de servicios de enfermería que tendrán la capacidad de agendar eventos, comenzar servicios,

Page 29: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

20

terminarlos y actualizar su documentación correspondiente.

5.5. HISTORIAS DE USUARIO

En esta parte del proyecto se decidió usar un solo formato para realizar las historias

de usuario, se tuvieron en cuenta los requerimientos del proyecto y el grupo de

trabajo

Tabla 3, Historias de usuario

1 Como usuario particular

Necesito buscar a usuarios que presten servicios relacionados con enfermeria

Con la finalidad de poner en contacto a los usuarios particulares con los profesionales registrados en la plataforma

1 Seccion de busqueda de personal

2 como usuario perticular

Necesito registrarme en a plataforma

Con la finalidad de permitir a los usuarios tener un contacto rapido y personalizados con el personal que encuentra.

1 Seccion de registro de nuevos usuarios

3

como usuario particular

Necesito reestablecer mi contraseña

Con la finalidad de dar acceso a usuarios que hayan olvidado sus datos de acceso

1 Olvido contraseña de acceso

Olvido usuario de acceso

2 Olvido usuario de acceso

4 Como administrador

Necesito configurar los roles de los usuarios que acceden a la plataforma

Con la finalidad de dar diferentes funcionalidades a los tipos de usuario que se encuentran registrados en la plataforma.

1 Seccion de asignacion de rol para los usuarios.

5

Como usuario particular

Necesito editar mi perfil

Con el objetivo de permitir a los usuarios editar sus datos personales

1 Usuario particulas

Usuario prestador de servicios

Con el objetivo de permitir a los usuarios editar sus datos personales y los documentos necesarios para prestar sus servicios de enfermero

2 Usuario prestador de servicios

6 Como usuario particular

Necesito contactar a un prestador de servicio

Con el objetivo de permitir a un usuario particular ver las credenciales que acreditan a un prestador de servicios como tal.

1 Seccion de informacion de usuarios

7 Como prestador de servicios

Necesito poder almacenar mis ubicaciones para que me ubiquen

Con la finalidad de compartir la ubicación de lugares recurrentes para que se pueda localizar a un prestador de servicios.

1 Seccion de gestion de localizaciones.

Page 30: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

21

8 Como Prestador de servicio

Necesito poder almacenar eventos en fechas especificas

Con el objetivo de poder gestionar los eventos con los usuarios particulares, organizandolos por fechas y colores especificos

1 Seccion de gestion de evento

9 Como usuario particular

Necesito poder enviar mensajes a otros usuarios

Con el objetivo de contactar a otros usuarios para aclarar detalles frente a los servicios que se buscan contratar

1 Seccion de mensajeria

10

Como usuario particular

Necesito acceso a un portal unico acuerdo mi rol

Con la finalidad de dar acceso a un portal personalizado acuerdo el rol

1 Ser usuario administrador

ser usuario particular

2 ser usuario particular

Ser prestador de servicio

3 Ser prestador de servicio

11 Como administrador

Necesito poder eliminar usuarios

Con la finalidad de depurar la plataforma de usuarios mal intencionados o inactivos

1 Ser administrador

12 Como administrador

Necesito revisar usuarios existentes

Buscando poder tener un control sobre que usuarios ya estan en el sistema y cuales no

1 Ser administrador

13 Como usuario particular

Necesito acceder a mi perfil

Buscando poder tener todos mis datos de forma organizada y simple

1 ser Usuario

14 Como prestador de servicio

Necesito iniciar un servicio con un usuario

Buscando poder iniciar un servicio programado previamente.

1 ser prestador de servicio

15 Como prestador de servicio

necesito poder calificar un servicio

Buscando poder calificar a un prestador de servicio para poder dar una retroalimentación y que otros usuarios sepan el tipo de servicio que presta.

1 ser usuario

16 Como prestador de servicios

Necesito gestionar mis documentos

Buscando poder actualizar los documentos de mis certificaciones facilmente

1 Ser prestador de servicio

17 Como usuario particular

Necesito filtrar mi búsqueda

Con la finalidad de que la búsqueda de personal se realice de una forma más precisa frente a lo que se necesita

1 ser usuario

18 Como usuario particular

Necesito contactar al prestador que tiene mi servicio activo en este momento

Con la finalidad de tener un contacto constante frente al servicio actual que se tiene

1 ser usuario

Page 31: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

22

19 Como Administrador

Necesito establecer estándares de seguridad

Con la finalidad de asegurar que los datos se encuentren protegidos en caso de cualquier incidente.

1 Ser prestador

5.6. SPRINT PLANNING

En esta parte se busca organizar y estimar cuántas historias deben ir por sprint, cuanto

se tardarán y la prioridad de cada una. Según el Sprint Planning se evidencio que

serían 5 Sprint para desarrollar el producto y que historias irían en cada uno. Además,

a cada historia se le dio una prioridad y un tiempo estimado de desarrollo, con el cual

se podrá calcular el tiempo estimado de cada sprint.

Se dará por “terminada” una tarea cuando esta se encuentre completamente funcional

y no dependa de otros pendientes para que trabaje 100% de su funcionalidad.

Tabla 4, sprint 1

SPRINT 1

Para lograr completar la primera fase de los Sprints se tendrá en cuenta lo siguientes

elementos.

Historias asignadas: Login para usuarios, Restablecimiento de

contraseña, Registro de usuarios, Modulo

edición de datos.

Tiempo estimado: 10 días lunes a viernes.

Tabla 5, sprint 2

SPRINT 2

Para lograr completar la primera fase de los Sprints se tendrá en cuenta lo siguientes

elementos.

Historias asignadas: Eliminación de usuarios, Control total de

eventos en Calendario, Revisión de

usuarios existentes.

Tiempo estimado: 6 días lunes a viernes.

Tabla 6, sprint 3

SPRINT 3

Para lograr completar la primera fase de los Sprints se tendrá en cuenta lo siguientes

elementos.

Historias asignadas: Asignación de roles, Gestión de

documentos, gestión de ubicaciones,

Vista según roles, establecer estándares

seguridad.

Tiempo estimado: 8 días lunes a viernes.

Tabla 7, sprint 4

SPRINT 4

Para lograr completar la primera fase de los Sprints se tendrá en cuenta lo siguientes

elementos.

Page 32: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

23

Historias asignadas: Buscador de personal, perfil de contacto,

Gestión de mensajería.

Tiempo estimado: 8 días lunes a viernes.

Tabla 8, sprint 5

SPRINT 5

Para lograr completar la primera fase de los Sprints se tendrá en cuenta lo siguientes

elementos.

Historias asignadas: Gestión de calificación, filtros de

búsqueda, Modulo de chat móvil, inicio

servicio.

Tiempo estimado: 10 días lunes a viernes.

5.7. DESARROLLO

A continuación, se enumeran los procesos de desarrollo relacionados con Scrum.

5.8. Sprint 1

Para este Sprint se atendieron las historias de usuario 13,2,3 y 5, con ellas se construyó la

pila del Sprint que conformara la primera parte de la aplicación al final de esta iteración como

se observa a continuación.

Tabla 9, BACKLOG 1

BACKLOG ID: 01

Id Historia

de usuario Tarea Prioridad Esfuerzo

2

Definición de la vista que servirá de guía visual

para que el usuario entienda con qué tipo de datos

debe contar para poder registrarse en la

plataforma.

1 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 20

Creación del módulo de almacenamiento que

permitirá agregar al sistema los datos

proporcionados por el usuario después de ser

validados.

1 20

3

Definición de la vista que servirá de guía visual

para que el usuario pueda ingresar sus datos de

restablecimiento de contraseña.

2 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 2 20

Creación del módulo de actualización, donde con

los datos proporcionados se podrá reestablecer la

contraseña olvidada por una nueva.

2 20

5

Definición de la vista que servirá de guía visual

para que el usuario entienda con qué tipo de datos

debe contar para poder actualizar su perfil en la

plataforma.

1 10

Page 33: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

24

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 20

Creación del módulo de almacenamiento que

permitirá actualizar en el sistema los datos

proporcionados por el usuario después de ser

validados.

1 20

13

Definición de la vista que servirá de guía visual

para que el usuario entienda con qué tipo de datos

debe contar para poder acceder su perfil en la

plataforma.

1 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 20

Creación del módulo de almacenamiento que

permitirá acceder al sistema. 1 20

5.8.1. Objetivos del SPRINT

o Realizar un levantamiento objetivo de la información que permita el correcto

funcionamiento del sistema.

o Crear un módulo de registro que sea intuitivo para el usuario.

o Permitir al usuario acceder al sistema con los datos cargados previamente.

o Crear un sistema intuitivo y simple para el restablecimiento de la

contraseña.

o Crear un sistema intuitivo y simple para el restablecimiento de la

contraseña.

5.8.2. Funcionamiento

A continuación, se presenta el diagrama de contexto el cual explica la funcionalidad real de la

aplicación en esta fase, seguido de la explicación del funcionamiento de los puntos planteados

en esta.

Page 34: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

25

Figura 1, Diagrama de contexto Sprint 1

Registro: Cuando se de click en el boton de registro, El sistema mostrara un

formulario de registro, con campos validados frente a formato y cantidad de

caracteres, todo esto de forma muy intuitiva para los usuarios.

Login: Desde la vista principal se dara click en el boton Login, Si las credenciales

son correctas se dara acceso a la plataforma y a la informacion dependiendo del

perfil de usuario.

Reestablecer contraseña: cuando se oprima link "¿olvido su contraseña?"

contraseña el sistema solicitara correo electronico registrado en el usuario donde

se le enviara un link para reestablecer la contraseña, despues del cambio se

redirecciona al portal home.

Editar perfil: Desde el panel de administracion se dara click sobre el icono de

perfil, se desplegara la opcion de editar perfil. Se vera un formulario donde

apareceran datos como nombre, telefono, correo electronico, contraseña ademas

de la foto de perfil.

5.8.3. Implementación

Para este Spring se realizó el desarrollo completo de sus actividades y como resultado se

encuentran las siguientes vistas.

Page 35: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

26

Figura 2. Pantalla Login Aplicación

Pantalla de Login con respectivas validaciones y

complementos para hacer más intuitivo su uso.

Figura 3, Pantalla registro App.

Pantalla de registro con respectivas validaciones

y complementos para hacer más intuitivo su uso.

Page 36: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

27

Figura 4, Pantalla Edición App.

Pantalla de registro con respectivas validaciones

y complementos para hacer más intuitivo su uso.

Figura 5, Pantalla login plataforma web

Pantalla de registro con respectivas

validaciones y complementos para hacer

más intuitivo su uso.

Figura 6, Pantalla Registro plataforma web

Pantalla de registro con respectivas

validaciones y complementos para hacer

más intuitivo su uso.

Page 37: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

28

Figura 7, Pantalla reestablecer contraseña

Pantalla de registro con respectivas

validaciones y complementos para hacer

más intuitivo su uso.

5.9. Sprint 2

Para este Sprint se atendieron las historias de usuario 11,8 y 12, con ellas se construyó la

pila del Sprint que conformara la primera parte de la aplicación al final de esta iteración como

se observa a continuación.

Tabla 10, BACKLOG 2

BACKLOG ID: 02

Id Historia

de usuario Tarea Prioridad Esfuerzo

12

Definición de la vista que servirá de guía visual

para que el usuario entienda con qué tipo de datos

se están obteniendo.

1 20

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 10

Creación del módulo de listado que permitirá al

sistema obtener todos los datos frente a todos los

usuarios registrados hasta el momento

1 20

11

Definición de la vista que servirá de guía visual

para que el usuario entienda la implicación que

tiene esta opción de eliminar.

1 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 20

Creación del módulo de eliminación que permitirá

al sistema eliminar usuarios específicos de forma

sencilla.

1 20

8

Definición de la vista que servirá de guía visual

para que el usuario entienda con qué tipo de datos

debe contar para poder agregar o actualizar una

fecha de su calendario

1 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 20

Creación del módulo de almacenamiento que

permitirá agregar o actualizar en el sistema las

fechas proporcionadas por el usuario después de

ser validados.

1 20

Page 38: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

29

5.9.1. Objetivos

o Crear una vista donde se listen todos los usuarios registrados en el sistema.

o Permitir al usuario gestionar eventos de sus servicios programados.

o Crear una vista que sea intuitiva para el usuario en el momento de cargar

sus documentos.

o Crear sistema de eliminación de usuarios para poder realizar depuraciones

de estos cuando sean necesarias.

5.9.2. Diagrama contexto

A continuación, se presenta el diagrama de contexto el cual explica la funcionalidad real de la

aplicación en esta fase, seguido de la explicación del funcionamiento de los puntos planteados

en esta.

Figura 8, Diagrama contexto Sprint 2

Listar usuarios: Desde el panel de administración se dará click sobre el botón

"Usuarios" se mostrará una vista donde se podrán ver todos los usuarios

registrados con su respectivo perfil, correo y las opciones, "Editar" y "Eliminar".

Eliminación: Desde la vista principal de los usuarios se dará click en el Botón

"Eliminar" El sistema arrojara un aviso donde se pregunta si está seguro de

eliminar este usuario, al responder que si el sistema lo eliminara de los usuarios.

Eventos calendario: Desde el panel de administración dará click sobre el botón

"Mis eventos" Se desplegará una vista donde se podrá ver un formulario y un

calendario donde se podrá visualizar los eventos previamente programados.

Page 39: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

30

5.9.3. Implementación

Para este Spring se realizó el desarrollo completo de sus actividades y como resultado se

encuentran las siguientes vistas.

Figura 9, Pantalla usuarios

Vista listado de usuarios, con

opciones de eliminación, edición

o gestión de ubicaciones para

cada uno.

Figura 10, mensaje confirmar eliminación

Vista mensaje de confirmación

de eliminación de usuario.

Figura 11, pantalla calendario de eventos cargados.

Vista de calendario con eventos

cargados previamente que se

muestran y permiten la gestión

de estos desde la plataforma

web.

Page 40: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

31

Figura 12, pantalla APP calendario de eventos cargados

Vista de calendario con eventos

cargados previamente que se

muestran y permiten la gestión

de estos desde la Aplicación

web.

5.10. Sprint 3

Para este Sprint se atendieron las historias de usuario 4,16,7 y 10, con ellas se construyó la

pila del Sprint que conformara la primera parte de la aplicación al final de esta iteración como

se observa a continuación.

Tabla 11, BACKLOG 3

BACKLOG ID: 03

Id Historia

de usuario Tarea Prioridad Esfuerzo

16

Definición de la vista que servirá de guía visual

para que el usuario que cantidad y tipos de

documentos podrá cargar al sistema.

1 20

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 10

Creación del módulo de gestión para los

documentos cargados por el usuario. 1 20

7

Definición de la vista que servirá de guía visual

para que el usuario pueda agregar sus ubicaciones

recurrentes.

1 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 20

Creación del módulo de gestión de ubicaciones. 1 20

4

Definición de vista que ayudara a la asignación de

roles para los usuarios registrados previamente en

el sistema.

2 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 2 20

Creación del controlador de asignación de roles a

los usuarios registrados en la plataforma 2 20

10 Definición de vistas y funciones a las que se podrá

acceder dependiendo del rol asignado. 2 10

Page 41: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

32

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 2 20

Creación de filtro que dará acceso a las funciones

dependiendo del rol con el que se encuentre

logueado.

2 20

18

Análisis de los estándares necesarios para el

almacenamiento de la información 2 20

Implementación de sistema de encriptación

seleccionado con base en las necesidades. 2 20

5.10.1. Objetivos

o Definir el modelo que se tendrá para la asignación de roles.

o Permitir al usuario gestiona las ubicaciones para poder realizar filtros con

base a estos datos.

o Permitir al usuario gestiona los documentos que garantizan sus

conocimientos y experiencia a la plataforma.

o Definir funciones y acciones que tendrán los roles definidos previamente.

o Definir el modelo de seguridad que se utilizara para el procesamiento de la

información.

5.10.2. Diagrama contexto

A continuación, se presenta el diagrama de contexto el cual explica la funcionalidad real de la

aplicación en esta fase, seguido de la explicación del funcionamiento de los puntos planteados

en esta.

Figura 13, Diagrama contexto Sprint 3

Page 42: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

33

Asignación de roles: Desde el panel de administración se tendrá acceso a todos

los usuarios con sus respectivos datos, desde aquí se podrá hacer la actualización

y control de los roles que estos presentan.

Gestión ubicaciones: Desde el panel de administración se dará click sobre un

botón que dirá "Localización", Se desplegará una vista donde se encontrará un

mapa que permitirá ubicar un marcador en las ubicaciones que quisiera guardar,

al igual que guardarlas con un nombre o un identificador.

Gestión de documentos: Desde la vista donde se seleccionará “Mi Perfil” Se

desplegará una vista donde se podrán cargar los documentos que se desean.

Vistas según perfil:

o En caso que el usuario posea permisos y rol de administración cuando sea

re direccionado al panel Administrativo después de ingresar usuario y

contraseña el usuario accederá al home con un panel de control de

administración completa del sistema

o En caso que el usuario sea usuario particular cuando sea re direccionado

al panel Administrativo después de ingresar usuario y contraseña el usuario

accederá al home con un panel de control básico de solo lectura y edición

sobre su propio perfil.

o En caso que el usuario sea Prestador de servicio cuando sea re

direccionado al panel Administrativo después de ingresar usuario y

contraseña el usuario accederá al home con un panel de control de lectura

sobre información general de lugares, eventos y mensajes

Modelos de seguridad candidatos:

Frente a los modelos de almacenamiento de datos se plantea varios modelos de

encriptación de los datos de los usuarios buscando siempre tener un modelo

seguro pero que no comprometa el modelo de funcionamiento de la plataforma, los

sistemas de encriptación candidatos son

Tabla 12, Compartido modelos encriptación

Modelo Descripción

MD5

Es un algoritmo que proporciona un código asociado a un archivo o un

texto concretos. De esta forma, a la hora de descargar un determinado

archivo, como puede ser un instalador, el código generado por el

algoritmo, también llamado hash, viene “unido” al archivo. 25

Bcrypt

Se usa por defecto en sistemas OpenBSD y algunas distribuciones Linux

y SUSE. Lleva incorporado un valor llamado salt, que es un fragmento

aleatorio que se usará para generar el hash asociado a la password, y

se guardará junto con ella en la base de datos. Así se evita que dos

passwords iguales generen el mismo hash y los problemas que ello

conlleva, por ejemplo, ataque por fuerza bruta a todas las passwords del

sistema a la vez. Otro ataque relacionado es el de Rainbow table (tabla

arcoíris), que son tablas de asociaciones entre textos y su hash

asociado, para evitar su cálculo y acelerar la búsqueda de la password.

25 Ivan Martinez, 28/09/2013 https://rootear.com/seguridad/md5-como-funciona-usos

Page 43: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

34

Con el salt, se añade un grado de complejidad que evita que el hash

asociado a una password sea único.26

AES_ENCRYPT

Estas funciones permiten encriptar y desencriptar datos usando el

algoritmo oficial AES (Advanced Encryption Standard), conocido

previamente como Rijndael. Se usa una codificación con una clave de

128 bits de longitud, pero se puede extender a 256 modificando la fuente.

Se ha seleccionado 128 bits porque es mucho más rápido y

normalmente es proporciona suficiente seguridad. Los argumentos de

entrada pueden ser de cualquier longitud. Si cualquier argumento es

NULL, el resultado de la función es también NULL.

Si AES_DECRYPT() detecta datos inválidos o un relleno incorrecto,

devuelve NULL. Además, es posible que AES_DECRYPT() devuelva

una valor no NULL (seguramente basura) si los datos de entrada o la

clave son inválidos. Se pueden usar la funciones AES para almacenar

datos en un formato encriptado modificando las consultas.27

Después del análisis de estos datos se determinó que para el objetivo principal de la aplicación

se utilizaran los modelos Bcrypt para la seguridad frente las contraseñas y los documentos

almacenados en la plataforma y AES_ENCRYPT para el almacenamiento de las coordenadas

de los prestadores de servicio, debido a que con este modelo es más práctico y dinámico las

consultas y filtros necesarios para el sistema.

5.10.3. Implementación

Para este Spring se realizó el desarrollo completo de sus actividades y como resultado se

encuentran las siguientes vistas.

Figura 14, Pantalla edición de usuario para asignación de roles.

Vista del administrador que

permite editar datos y roles

asignados a un usuario.

26 David vicente 9/03/2017 https://solidgeargroup.com/password-nodejs-mongodb-bcrypt?lang=es 27 Salvador pozo Coronado 10/12/2003 http://mysql.conclase.net/curso/?sqlfun=AES_ENCRYPT

Page 44: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

35

Figura 15, Formulario de gestión de documentos

Formulario de gestión de

documentos que será visible

solo por prestadores de

servicios.

Figura 16, Pantalla de gestion de ubicaciones.

Vista para la gestión de

ubicaciones accesible solo

para los usuarios

administradores o prestadores

de servicios.

Figura 17, Pantalla gestion de ubicaciones APP.

Vista de gestión de

ubicaciones desde la APP.

Page 45: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

36

Figura 18, Pantalla gestion de ubicaciones APP.

Vista eliminación de

ubicaciones almacenadas

previamente.

Figura 19, Ruta de documentos encriptada

Figura 20, Campo password encriptado

Figura 21, Coordenadas encriptadas

Vista de datos almacenados en

la base de datos después del

procesamiento para su

encriptación.

5.11. Sprint 4

Para este Sprint se atendieron las historias de usuario 1,6 y 9 con ellas se construyó la pila

del Sprint que conformara la primera parte de la aplicación al final de esta iteración como se

observa a continuación. Tabla 12, BACKLOG 4

BACKLOG ID: 04

Id Historia

de usuario Tarea Prioridad Esfuerzo

1

Definición de la vista que servirá de guía visual

para que el usuario pueda búsquedas en lugares

específicos de la ciudad.

1 20

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 10

Creación del modelo que se utilizara en la

plataforma y en la aplicación para la búsqueda de

personal de enfermería.

1 20

Page 46: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

37

6

Definición de la vista que servirá de guía visual

para que el usuario pueda contactar a un prestador

de servicio con el que se encuentre interesado.

1 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 20

Creación de la funcionalidad que permite al usuario

ver el perfil de los usuarios que sean de su interés. 1 20

9

Definición de la vista que ayudara al usuario a

ponerse en contacto con un usuario especifico que

sea prestador de servicios de enfermería.

2 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 2 20

Creación de vista con funcionalidad frente a los

mensajes que se pudieran recibir o enviar por parte

de otro usuario de la plataforma.

2 20

5.11.1. Objetivos

Diseñar el modelo de filtros que tendrá el sistema para la búsqueda del personal

que se requiere.

Crear el sistema de mensajería para el contacto entre el usuario prestador y el

usuario particular.

Crear la vista con su respectiva funcionalidad de la sección de ver perfil y posterior

contacto entre usuarios.

5.11.2. DIAGRAMA

A continuación, se presenta el diagrama de contexto el cual explica la funcionalidad real de la

aplicación en esta fase, seguido de la explicación del funcionamiento de los puntos planteados

en esta.

Page 47: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

38

Figura 19, Sprint 4

Búsqueda: Cuando se seleccione el radio de búsqueda y el punto central de la

misma el sistema filtrara los usuarios registrados con sus posiciones y los mostrara

respecto a su cercanía

Perfil contacto: Desde el mapa de búsqueda el usuario podrá clicar sobre el

marcador de un prestador de servicios que se encuentre cerca al área

seleccionada se mostrara una vista donde se verán los datos principales del

prestador, sus datos de contacto, su ranking de calificaciones y sus credenciales

que garantizan su conocimiento sobre el tema relacionado.

Enviar mensajes: Desde el panel lateral se dará click sobre el botón de

"Mensajes" se desplegará una vista donde se podrá ver un historial de usuarios

contactados.

5.11.3. Implementación

Para este Spring se realizó el desarrollo completo de sus actividades y como resultado se

encuentran las siguientes vistas.

Page 48: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

39

Figura 20, Pantalla de búsqueda.

Vista de búsqueda para los usuarios,

filtrando por radio de búsqueda.

Figura 21, vista tarjeta presentación.

Vista de la ficha informativa del usuario

que se desea contactar

Figura 22, pantalla informacion usuario.

Vista para ver el historial completo del

usuario y realizar un posible contacto.

Figura 23, Pantalla envio de mensaje contacto.

Vista de formato para realizar el primer

mensaje de contacto.

Vista de búsqueda para los usuarios,

filtrando por radio de búsqueda.

Page 49: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

40

Figura 24, Pantalla busqueda APP.

Figura 25, Pantalla tarjeta presentaicon APP.

Vista de la ficha informativa del usuario

que se desea contactar

Figura 26, Pantalla informacion de usuario.

Vista para ver el historial completo del

usuario y realizar un posible contacto.

Page 50: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

41

Figura 27, Pantalla de mensajeria.

Vista de mensajería para conectarse

desde la APP.

5.12. Sprint 5

Para este Sprint se atendieron las historias de usuario 14,15,17 y 18 con ellas se construyó

la pila del Sprint que conformara la primera parte de la aplicación al final de esta iteración

como se observa a continuación. Tabla 13, BACKLOG 5

BACKLOG ID: 05

Id Historia

de usuario Tarea Prioridad Esfuerzo

14

Definición de la vista que servirá de guía visual

para que el usuario prestador de servicio puede

iniciar un servicio con un usuario.

1 20

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 10

Implementación del sistema que guardara un

registro el servicio Iniciado además de sus actores. 1 20

15

Definición de la vista que servirá de guía visual

para que el usuario al finalizar el servicio pueda

realizar una calificación del servicio prestado.

1 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 1 20

Creación de la funcionalidad que permitirá al

sistema darle un ranking a los usuarios que

prestaron sus servicios, ayudando a auto gestionar

la plataforma.

1 20

17

Definición de la vista que servirá de guía visual

para que el usuario pueda realizar filtros de sus

búsquedas.

2 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 2 20

Page 51: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

42

Creación del modelo de filtros que se utilizara en la

plataforma y en la aplicación para la búsqueda de

personal de enfermería.

2 20

18

Definición de la vista que ayudara al usuario a

ponerse en contacto con el usuario especifico que

este atendiendo su servicio en ese momento.

2 10

Creación del controlador que recibe la información

realizando las validaciones pertinentes. 2 20

Creación de vista con funcionalidad frente a los

mensajes que se pudieran recibir o enviar por parte

del usuario que está atendiendo un servicio.

2 20

5.12.1. Objetivos

Diseñar el modelo de filtros que tendrá el sistema para la búsqueda del personal

que se requiere.

Definir el sistema de calificación que usara el sistema para lograr un ranking de

usuarios.

Crear el modelo de iniciación de un servicio específico agendado por un usuario.

Implementar el sistema de chat que permitirá a los usuarios estar en contacto en

tiempo real frente a un servicio en curso.

5.12.2. Diagrama y descripción

A continuación, se presenta el diagrama de contexto el cual explica la funcionalidad real de la

aplicación en esta fase, seguido de la explicación del funcionamiento de los puntos planteados

en esta.

Figura 28, Diagrama contexto Sprint 5

Page 52: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

43

Calificación: Al finalizar el servicio se recibirá una notificación que solicitará una

calificación en una nueva vista. El sistema almacenara la calificación asignada y

la ponderara con el prestador de servicio ligado a ese servicio específico.

Filtros: Desde la vista de búsqueda de personal se podrá filtrar el tipo de servicio

que se busca se realizará la búsqueda con base a los parámetros establecidos.

Chat: Desde la sección de información del servicio se dará en el botón Chat. Se

desplegará una vista de mensajes que solo existirá mientras exista el servicio.

Iniciar Servicio: Desde el calendario donde se encuentra agendado el servicio se

desplegará un botón que dirá Iniciar servicio el sistema notificara al usuario

particular de que su servicio ya fue iniciado.

5.12.3. Implementación

Para este Spring e realizo el desarrollo completo de sus actividades y como resultado

encontramos las siguientes vistas.

Figura 29, Pantalla de servicio.

Vista de servicio con los datos

agendados previamente con el botón de

inicio de servicio

Figura 30, vista notificación recibida por mensaje nuevo.

Vista de la notificación que se recibe al

momento de recibir un mensaje nuevo.

Page 53: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

44

Figura 31, Vista de mensajería.

pantalla mensajes a partir de la

notificacion.

Figura 32, formulario de calificacion.

PopUp de calificacion que se genera

despues de finalizar un servicio.

5.13. IMPLEMENTACIÓN HERRAMIENTAS DE DESARROLLO

Para el desarrollo del aplicativo se plantea en dos entornos el primero sea la plataforma web

que ayudara en el almacenamiento y la gestión de datos de los usuarios registrados, el

segundo será la aplicación móvil que lograra conectarse con este web service y que mostrara

y ayudara a gestionar los datos cargados previamente.

5.13.1. Plataforma web

Para poder trabajar correctamente frente al desarrollo de la plataforma web se utilizará

un framework de desarrollo llamado Laravel. Para poder realizar la instalación y

configuración de este lo primero que se debe hacer es realizar la instalación de un

gestor de dependencias especial para PHP. Para poder realizar esta instalación se

debe dirigir a la página web https://getcomposer.org/ desde aquí entramos a la sección

Download.(Figura 33)

Page 54: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

45

Figura 33, plataforma Composer

Seguido a esto, depende de cada sistema operativo la sección de pasos para la configuración

de composer. Después de instalado Composer, se debe acceder a la terminal de comandos

del equipo y escribir:

Composer créate-project laravel/laravel “nombre_proyecto”

Después de esto composer comenzara a realizar una serie de descargas de paquetes que

conforman el framework Laravel, al terminar la descarga se verá un mensaje de instalación

completa y un Key de seguridad.

Laravel trabaja con una arquitectura de desarrollo de MVC, A continuación, se muestra el

esquema de carpetas y archivos que maneja este framework. (Figura 34)

Page 55: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

46

Figura 34, esquema carpetas laravel

En laravel se trabaja con una herramienta propia de él la llamada artisan la cual ayuda a

automatizar procesos, como la creación de modelos, controladores, migraciones, etc. Para

este desarrollo se trabajará solo con algunas de estas carpetas que serán las que nos

ayudarán a que sea más fácil la navegación y con las cuales se explicarán algunos comandos

de laravel

Modelos: para crear un modelo en laravel desde la consola se debe posicionar en la raíz del

proyecto y digitar en la consola:

Php artisan make:model “nombre_modelo”

De esta manera se creará un archivo dentro de la carpeta app el cual tendrá por nombre el

que seleccionamos al crearlo. (Figura 35)

Page 56: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

47

Figura 35, Esquema carpetas laravel en la ruta App/

Para este sistema se configuraron los modelos que se ven en la imagen, dentro de los

modelos se debe especificar a qué tabla de la base de datos va a hacer referencia y si se

desea crear algunas funciones propias de ese modelo. (Figura 36)

Figura 36, Esquema de modelo Laravel

Vista: en laravel las vistas se pueden trabajar de varias formas, pero la más recomendada es

trabajar con Blade, un motor de creación de plantillas que viene incorporado con laravel, estas

se almacenan en la carpeta resources > views. (Figura 37)

Page 57: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

48

Figura 37, Esquema de carpetas laravel en la ruta Resource/

Controladores: Para este sistema los controladores son parte vital del funcionamiento pues

son quienes hacen el puente entre la información proporcionada desde la vista y el modelo

que administra las bases de datos, para crear un controlador se debe usar nuevamente artisan

desde la terminal de comandos.

Php artisan make:controller “nombre_controlador” –resource

La palabra –resource que se escribe al final del comando es opcional, pues sin ella no se crea

ningún método propio de los controladores, mientras que si se escribe se crearan los métodos,

index, créate, store, edit, update y delete los cuales son los principales pilares de cualquier

controlador. Al crear un controlador se encontrará en la ruta App/Http/Controllers (Figura 38)

Page 58: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

49

Figura 38, Esquema de archivos controladores

Rutas: En el sistema es importante la navegación entre vistas y funcionalidades para los

usuarios por esto, laravel contiene una sección específica para las rutas. En la carpeta routes

encontraremos 4 archivos. (Figura 39)

Figura 39, Esquema archivos carpeta Routes/

Para este proyecto se centrará solo en el archivo Api y en el archivo web.

En el archivo web se podrá configurar toda la navegación concerniente a la navegación web,

dando la facilidad de trabajar con cualquier método que se necesite POST, GET, PUT,

Page 59: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

50

DELETE o si se desea se puede trabajar con el atributo Resource el cual permitirá que,

dependiendo del método definido en el controlador, el framework identificara que método de

transferencia es el indicado para cada método. (Figura 40)

Figura 40, Modelo de configuración archivo web.php en routes

El archivo api cuenta con el mismo esquema, con la diferencia que a todas las rutas cargadas

en este archivo se le antecede la palabra “Api”, esto para poder segmentar la plataforma en

las secciones que se necesiten. (Figura 41)

Page 60: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

51

Figura 41, Modelo de configuración archivo Apli.php en routes

Para este desarrollo se planteó el siguiente esquema para la base de datos

Page 61: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

52

Figura 42, Esquema base de datos relacional

Page 62: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

53

6. PRUEBAS UNITARIAS Y DE INTEGRACIÓN.

Para conocer el impacto que pudo tener el sistema frente a los usuarios prestadores de

servicios como los usuarios particulares, se realizó un test con 4 personas de cada rol,

entregándoles la aplicación y explicando la funcionalidad básica del aplicativo.

Como resultado se obtuvo que todas las funcionalidades trabajan de forma correcta, se

presentaron solicitudes que se tendrán en cuenta para la siguiente versión por la implicación

que trae por cuestiones de licencias y costos de desarrollo, entre estas se encuentra:

Poder realizar la búsqueda de direcciones desde la aplicación: Este requerimiento

presenta varios inconvenientes debido a las políticas de uso de google y google

places

Poder realizar llamadas desde el aplicativo: en este caso solo 2 de los 6

participantes mencionaron esto, pero argumentaron que era solo por el hecho de

que no estaban acostumbrados a chatear.

Poder subir los documentos de certificaciones desde la aplicación: Esto se tenía

planteado desde un principio, pero para los prestadores era un tanto incomodo por

el hecho de que no todos los documentos tenían el mismo formato ni la misma

calidad, algunos pesaban más que otros, por esto se dejó la carga de documentos

solo desde la plataforma web, siendo una forma más estable de subir documentos

pesados.

Se obtuvo una buena aceptación por parte de los prestadores de servicio los cuales quedaron

muy complacidos con el proyecto, sin embargo, es necesario realizar pruebas con un volumen

de usuarios más grande, buscando en esto una retroalimentación que pueda ayudar a

encontrar fallos o a tener mejoras continuas para el sistema.

Después de esto se revisó cada una de las historias de usuario validando su funcionalidad.

Tabla 14, Revisión historia de usuario 1

REGISTRO DE USUARIO

ID: 1 USUARIO: Usuario

PRIORIDAD: Alta RIESGO EN DESARROLLO: Bajo

PUNTOS ESTIMADOS: 1 INTERACCIÓN ASIGNADA:1

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Necesito registrarme en la plataforma

VALIDACIÓN: El sistema mostrara un formulario de registro, con campos validados frente a formato y cantidad de caracteres, todo esto de forma muy intuitiva para los usuarios

Page 63: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

54

Tabla 15, Revisión historia de usuario 2

búsqueda de personal

ID: 2 USUARIO: Usuario

PRIORIDAD: Alta RIESGO EN DESARROLLO: Bajo

PUNTOS ESTIMADOS: 3 INTERACCIÓN ASIGNADA:2

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con la finalidad de poner en contacto a los usuarios particulares con los profesionales registrados en la plataforma

VALIDACIÓN: Cuando se seleccione el radio de búsqueda y el punto central de la misma el sistema filtrara los usuarios registrados con sus posiciones y los mostrara respecto a su cercanía

Tabla 16, Revisión historia de usuario 3

reestablecer mi contraseña

ID: 3 USUARIO: Usuario

PRIORIDAD: Alta RIESGO EN DESARROLLO: Bajo

PUNTOS ESTIMADOS: 1 INTERACCIÓN ASIGNADA:1

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con la finalidad de dar acceso a usuarios que hayan olvidado sus datos de acceso.

VALIDACIÓN: el sistema solicitara correo electrónico registrado en el usuario donde se le enviara un link para reestablecer la contraseña, después del cambio se redirección al portal home.

Page 64: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

55

Tabla 17, Revisión historia de usuario 4

Roles de los usuarios que acceden a la plataforma

ID: 4 USUARIO: administrador

PRIORIDAD: Alta RIESGO EN DESARROLLO: Medio

PUNTOS ESTIMADOS: 3 INTERACCIÓN ASIGNADA:2

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con la finalidad de dar diferentes funcionalidades a los tipos de usuario que se encuentran registrados en la plataforma..

VALIDACIÓN: Desde el panel de administración se tendrá acceso a todos los usuarios con sus respectivos datos, desde aquí se podrá hacer la actualización y control de los roles que estos presentan.

Tabla 18, Revisión historia de usuario 5

Editar perfil usuario

ID: 5 USUARIO: Usuario

PRIORIDAD: Alta RIESGO EN DESARROLLO: bajo

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:2

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con el objetivo de permitir a los usuarios editar sus datos personales y los documentos necesarios para prestar sus servicios de enfermero.

VALIDACIÓN: Se verá un formulario donde aparecerán datos como Nombre, teléfono, correo electrónico, contraseña además de la foto de perfil.

Page 65: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

56

Tabla 19, Revisión historia de usuario 6

Editar perfil prestador de servicio

ID: 6 USUARIO: Prestador de servicio

PRIORIDAD: Alta RIESGO EN DESARROLLO: bajo

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:2

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: En caso de que el usuario requiera actualizar datos personales, documentos, fotos de perfil, Etc.

VALIDACIÓN: Se verá un formulario donde aparecerán datos como Nombre, teléfono, correo electrónico, contraseña, foto de perfil además de los documentos que acreditan que tiene los conocimientos necesarios para prestar sus servicios como enfermeros

Tabla 20, Revisión historia de usuario 7

contactar a un prestador de servicio

ID: 7 USUARIO: Usuario

PRIORIDAD: Alta RIESGO EN DESARROLLO: Medio

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:2

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con el objetivo de permitir a un usuario particular ver las credenciales que acreditan a un prestador de servicios como tal.

VALIDACIÓN: Se mostrara una vista donde se verán los datos principales del prestador, sus datos de contacto, su ranking de calificaciones y sus credenciales que garantizan su conocimiento sobre el tema relacionado.

Page 66: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

57

Tabla 21, Revisión historia de usuario 8

almacenar mis ubicaciones para que me ubiquen

ID: 8 USUARIO: Prestador de servicio

PRIORIDAD: Alta RIESGO EN DESARROLLO: Medio

PUNTOS ESTIMADOS: 3 INTERACCIÓN ASIGNADA:1

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con la finalidad de compartir la ubicación de lugares recurrentes para que se pueda localizar a un prestador de servicios.

VALIDACIÓN: Se desplegara una vista donde se encontrara un mapa que permitirá ubicar un marcador en las ubicaciones que quisiera guardar, al igual que guardarlas con un nombre o un identificador.

Tabla 22, Revisión historia de usuario 9

almacenar eventos en fechas especificas

ID: 9 USUARIO: Prestador de servicio

PRIORIDAD: Alta RIESGO EN DESARROLLO: Medio

PUNTOS ESTIMADOS: 3 INTERACCIÓN ASIGNADA:1

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con el objetivo de poder gestionar los eventos con los usuarios particulares, organizándolos por fechas y colores específicos

VALIDACIÓN: Se desplegara una vista donde se podrá ver un formulario y un calendario donde se podrá visualizar los eventos previamente programados.

Tabla 23, Revisión historia de usuario 10

poder contactarme con otros usuarios

ID: 10 USUARIO: Usuario

PRIORIDAD: Baja RIESGO EN DESARROLLO: Bajo

PUNTOS ESTIMADOS: 1 INTERACCIÓN ASIGNADA:1

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con el objetivo de contactar a otros usuarios para aclarar detalles frente a los servicios que se buscan contratar.

VALIDACIÓN: Se desplegara una vista donde se podrá ver un historial de usuarios contactados.

Page 67: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

58

Tabla 24, Revisión historia de usuario 11

poder actualizar mi foto de perfil

ID: 11 USUARIO: Usuario

PRIORIDAD: Baja RIESGO EN DESARROLLO: Bajo

PUNTOS ESTIMADOS: 1 INTERACCIÓN ASIGNADA:1

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con la finalidad de subir fotos de perfil al servidor dándole mayor pertenencia sobre la plataforma.

VALIDACIÓN: Se mostrara la vista donde se seleccionará la fotografía deseada para subirla al servidor

Tabla 25, Revisión historia de usuario 12

acceso a un portal de acuerdo mi rol

ID: 12 USUARIO: Administrador

PRIORIDAD: Alta RIESGO EN DESARROLLO: Alto

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:2

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con la finalidad de dar acceso a un portal personalizado acuerdo el rol

VALIDACIÓN: el sistema re direccionara al usuario al home con un panel de control de administración completa del sistema.

Tabla 26, Revisión historia de usuario 13

Page 68: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

59

acceso a un portal de acuerdo mi rol

ID: 13 USUARIO: Usuario

PRIORIDAD: Alta RIESGO EN DESARROLLO: Alto

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:2

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con la finalidad de dar acceso a un portal personalizado acuerdo el rol

VALIDACIÓN: el sistema re direccionara al usuario al home con un panel de control básico de solo lectura y edición sobre su propio perfil.

Tabla 27, Revisión historia de usuario 14

acceso a un portal de acuerdo mi rol

ID: 14 USUARIO: Prestador de servicio

PRIORIDAD: Alta RIESGO EN DESARROLLO: Alto

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:2

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con la finalidad de dar acceso a un portal personalizado acuerdo el rol

VALIDACIÓN: el sistema re direccionara al usuario al home con un panel de control de lectura sobre información general de lugares, eventos y mensajes

Tabla 28, Revisión historia de usuario 15

eliminar usuarios

ID: 15 USUARIO: Administrador

PRIORIDAD: Alta RIESGO EN DESARROLLO: Alto

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:2

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Con la finalidad de depurar la plataforma de usuarios mal intencionados o inactivos

VALIDACIÓN: El sistema arrojara un aviso donde se pregunta si está seguro de eliminar este usuario, al responder que si el sistema lo eliminara de los usuarios.

Page 69: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

60

Tabla 29, Revisión historia de usuario 16

revisar usuarios existentes

ID: 16 USUARIO: Administrador

PRIORIDAD: Alta RIESGO EN DESARROLLO: Alto

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:1

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Buscando poder tener un control sobre que usuarios ya están en el sistema y cuáles no.

VALIDACIÓN: Se mostrara una vista donde se podrán ver todos los usuarios registrados con su respectivo perfil, correo y las opciones, "Editar" y "Eliminar".

Tabla 30, Revisión historia de usuario 17

acceder a mi perfil

ID: 17 USUARIO: Usuario

PRIORIDAD: Baja RIESGO EN DESARROLLO: Bajo

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:1

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Buscando poder tener todos mis datos de forma organizada y simple

VALIDACIÓN: Si las credenciales son correctas se dará acceso a la plataforma, y a la información dependiendo del perfil de usuario.

Tabla 31, Revisión historia de usuario 18

Agendar servicios con usuarios

ID: 18 USUARIO: Prestador de servicios

PRIORIDAD: Alta RIESGO EN DESARROLLO: Media

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:1

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Buscando poder agendar citar frente a usuarios que llegasen a necesitar un servicio.

VALIDACIÓN: Al acceder a una sección específica del aplicativo se podrá cargar una fecha con una descripción del servicio si se desea, esto seguido de su almacenamiento.

Page 70: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

61

Tabla 32, Revisión historia de usuario 19

Iniciar servicio

ID: 19 USUARIO: Prestador de servicios

PRIORIDAD: Alta RIESGO EN DESARROLLO: Baja

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:1

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Buscando poder iniciar un servicio programado previamente.

VALIDACIÓN: Al acceder a la sección de los eventos programados, se podrá dar inicio a un evento especifico, convirtiendo así a este en su evento activo en ese momento.

Tabla 33, Revisión historia de usuario 20

Calificar un servicio

ID: 20 USUARIO: Usuario

PRIORIDAD: Alta RIESGO EN DESARROLLO: Baja

PUNTOS ESTIMADOS: 2 INTERACCIÓN ASIGNADA:1

PROGRAMADOR RESPONSABLE: Juan Camacho

DESCRIPCIÓN: Buscando poder calificar a un prestador de servicio para poder dar una retroalimentación y que otros usuarios sepan el tipo de servicio que presta.

VALIDACIÓN: Al terminar un servicio a ambos roles les llegara una notificación que solicitara una calificación del servicio.

Page 71: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

62

7. Conclusiones

Se consideró que el proyecto de localización de personal de enfermería con base en geo

posicionamiento plantea una solución para los usuarios que pudieran requerir de ella, es

una herramienta con la cual los prestadores de servicios y los usuarios particulares pueden

obtener un beneficio ya sea económico o personal, garantizando que el mismo sistema

permitirá evaluar la prestación de servicios a través del ranking. Con lo cual se demuestra

que las tecnologías de la información y la comunicación (TIC) son de gran ayuda para el

ámbito social y que el desarrollo de herramientas que faciliten la comunicación y gestión

de procesos para los pacientes siempre serán muy útiles.

Cabe resaltar que tecnologías móviles, Android principalmente, al estar respaldadas por

grupos de desarrollo mundiales como Google Developer Team y al ser una tecnología de

fácil acceso, abre las puertas a oportunidades de avance constante y significativo. Estos

avances fueron los que hicieron posible la configuración tecnológica necesaria para el

reporte GPS y las notificaciones a partir de dispositivos móviles con bajo costo frente a

batería y envió de información, así como el uso de los protocolos de seguridad para el

manejo de esta información.

La construcción del módulo de georreferenciación fue un elemento determinante en el

desarrollo del proyecto, fue un reto el entender todo lo que implica esta tecnología y como

cada vez avanza más en los diferentes dispositivos. Gracias a que se hizo con un esquema

de desarrollo tan organizado y sólido como lo propone Android studio, Google Developers

brindó toda la documentación necesaria para poder tener un entendimiento detallado de

los procesos y tareas que esta herramienta posee.

Page 72: 2/5/2018 Aplicación móvilrepository.udistrital.edu.co/bitstream/11349/8808/1/Camacho Ferreir… · TECNOLOGIA EN SISTEMATIZACION DE DATOS BOGOTA D.C. 2018 . 3 Tabla de contenidos

63

8. Recomendaciones

Debido a la magnitud del proyecto se abren las posibilidades de realizar adecuaciones para

el mejoramiento constante, una de las recomendaciones más llamativas es el hecho de poder

realizar llamadas desde el aplicativo con los datos de usuario cargados previamente.

Además, se recomienda que el aplicativo sea ampliado a otros ámbitos laborales, como

contacto de empleadas domésticas, electricistas, contadores, etc. Esto ayudando a la

diversificación del segmento al que está dirigido el aplicativo actual. Otra posible funcionalidad

que se le podría dar al aplicativo es el de búsqueda de inmuebles que se encuentren en zonas

específicas dando los datos de contacto y del propietario o la finca raíz.

Finalmente se sugiere que a la aplicación se le pueda hacer una vista de entrenamiento justo

al momento de iniciar sesión, antes de poder hacer uso de ella plena mente, pues la idea es

que sea intuitiva para el usuario y que se desenvuelva de una forma sencilla y practica para

él.