Beruflich Dokumente
Kultur Dokumente
para la búsqueda y
contacto de
personal de
enfermería basado
en
georreferenciación
0
APLICACIÓN MÓVIL PARA LA BÚSQUEDA Y CONTACTO DE PERSONAL DE
ENFERMERÍA BASADO EN GEOLOCALIZACIÓN
FACULTAD TECNOLOGICA
1
APLICACIÓN MÓVIL PARA LA BÚSQUEDA Y CONTACTO DE PERSONAL DE
ENFERMERÍA BASADO EN GEOLOCALIZACIÓN
TUTOR
FACULTAD TECNOLOGICA
2
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
3
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
4
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.
5
2. INTRODUCCION
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.
6
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.
7
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.
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.
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.
1
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.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.
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.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.
2
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.
3
y sencilla la documentación de estos.
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/
4
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/
5
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.
1
Esri, 2013, http://resources.arcgis.com/es/help/getting-started/articles/026n0000000s000000.htm
2Laboratorio Unidad Pacífico Sur, CIESAS, 5 agosto 2012
https://langleruben.wordpress.com/%C2%BFque-es-un-sig/
6
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.
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
7
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.
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.
del-android/
8
Android Google developers, https://developer.android.com/studio/intro/index.html?hl=es-419
8
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
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
9
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:
10
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
15
Que es php, Php Team, php.net
16Motivos 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/
11
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.
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.
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/
12
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]
13
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.
14
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.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.
moviles/metodos-aplicables-para-el-desarrollo-de-aplicaciones-moviles
15
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]
16
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.
17
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.
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.
18
Tabla 1. REQUERIMIENTOS CANDIDATOS.
19
terminarlos y actualizar su documentación
correspondiente.
20
Con el objetivo de poder gestionar los
Necesito poder almacenar
Como Prestador eventos con los usuarios particulares, Seccion de gestion de
8 eventos en fechas 1
de servicio organizandolos por fechas y colores evento
especificas
especificos
Como usuario Necesito acceder a mi Buscando poder tener todos mis datos de
13 1 ser Usuario
particular perfil forma organizada y simple
Como prestador Necesito iniciar un servicio Buscando poder iniciar un servicio ser prestador de
14 1
de servicio con un usuario programado previamente. servicio
Necesito contactar al
Con la finalidad de tener un contacto
Como usuario prestador que tiene mi
18 constante frente al servicio actual que se 1 ser usuario
particular servicio activo en este
tiene
momento
21
Con la finalidad de asegurar que los
Como Necesito establecer
19 datos se encuentren protegidos en caso 1 Ser prestador
Administrador estándares de seguridad
de cualquier incidente.
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.
22
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.
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
Tarea Prioridad Esfuerzo
de usuario
Definición de la vista que servirá de guía visual
para que el usuario entienda con qué tipo de datos
1 10
debe contar para poder registrarse en la
plataforma.
Creación del controlador que recibe la información
2 1 20
realizando las validaciones pertinentes.
Creación del módulo de almacenamiento que
permitirá agregar al sistema los datos
1 20
proporcionados por el usuario después de ser
validados.
Definición de la vista que servirá de guía visual
para que el usuario pueda ingresar sus datos de 2 10
restablecimiento de contraseña.
Creación del controlador que recibe la información
3 2 20
realizando las validaciones pertinentes.
Creación del módulo de actualización, donde con
los datos proporcionados se podrá reestablecer la 2 20
contraseña olvidada por una nueva.
Definición de la vista que servirá de guía visual
para que el usuario entienda con qué tipo de datos
5 1 10
debe contar para poder actualizar su perfil en la
plataforma.
23
Creación del controlador que recibe la información
1 20
realizando las validaciones pertinentes.
Creación del módulo de almacenamiento que
permitirá actualizar en el sistema los datos
1 20
proporcionados por el usuario después de ser
validados.
Definición de la vista que servirá de guía visual
para que el usuario entienda con qué tipo de datos
1 10
debe contar para poder acceder su perfil en la
plataforma.
13
Creación del controlador que recibe la información
1 20
realizando las validaciones pertinentes.
Creación del módulo de almacenamiento que
1 20
permitirá acceder al sistema.
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.
24
Figura 1, Diagrama de contexto Sprint 1
5.8.3. Implementación
Para este Spring se realizó el desarrollo completo de sus actividades y como resultado se
encuentran las siguientes vistas.
25
Pantalla de Login con respectivas validaciones y
complementos para hacer más intuitivo su uso.
26
Pantalla de registro con respectivas validaciones
y complementos para hacer más intuitivo su uso.
27
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.
28
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.
29
5.9.3. Implementación
Para este Spring se realizó el desarrollo completo de sus actividades y como resultado se
encuentran las siguientes vistas.
30
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.
31
Creación del controlador que recibe la información
2 20
realizando las validaciones pertinentes.
Creación de filtro que dará acceso a las funciones
dependiendo del rol con el que se encuentre 2 20
logueado.
Análisis de los estándares necesarios para el
2 20
almacenamiento de la información
18
Implementación de sistema de encriptación
2 20
seleccionado con base en las necesidades.
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.
32
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
33
Con el salt, se añade un grado de complejidad que evita que el hash
asociado a una password sea único.26
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
AES_ENCRYPT
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.
34
Formulario de gestión de
documentos que será visible
solo por prestadores de
servicios.
Vista de gestión de
ubicaciones desde la APP.
35
Vista eliminación de
ubicaciones almacenadas
previamente.
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
Tarea Prioridad Esfuerzo
de usuario
Definición de la vista que servirá de guía visual
para que el usuario pueda búsquedas en lugares 1 20
específicos de la ciudad.
Creación del controlador que recibe la información
1 1 10
realizando las validaciones pertinentes.
Creación del modelo que se utilizara en la
plataforma y en la aplicación para la búsqueda de 1 20
personal de enfermería.
36
Definición de la vista que servirá de guía visual
para que el usuario pueda contactar a un prestador 1 10
de servicio con el que se encuentre interesado.
6 Creación del controlador que recibe la información
1 20
realizando las validaciones pertinentes.
Creación de la funcionalidad que permite al usuario
1 20
ver el perfil de los usuarios que sean de su interés.
Definición de la vista que ayudara al usuario a
ponerse en contacto con un usuario especifico que 2 10
sea prestador de servicios de enfermería.
Creación del controlador que recibe la información
9 2 20
realizando las validaciones pertinentes.
Creación de vista con funcionalidad frente a los
mensajes que se pudieran recibir o enviar por parte 2 20
de otro usuario de la plataforma.
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.
37
Figura 19, Sprint 4
5.11.3. Implementación
Para este Spring se realizó el desarrollo completo de sus actividades y como resultado se
encuentran las siguientes vistas.
38
Vista de búsqueda para los usuarios,
filtrando por radio de búsqueda.
39
Figura 24, Pantalla busqueda APP.
40
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
Tarea Prioridad Esfuerzo
de usuario
Definición de la vista que servirá de guía visual
para que el usuario prestador de servicio puede 1 20
iniciar un servicio con un usuario.
14 Creación del controlador que recibe la información
1 10
realizando las validaciones pertinentes.
Implementación del sistema que guardara un
1 20
registro el servicio Iniciado además de sus actores.
Definición de la vista que servirá de guía visual
para que el usuario al finalizar el servicio pueda 1 10
realizar una calificación del servicio prestado.
Creación del controlador que recibe la información
1 20
15 realizando las validaciones pertinentes.
Creación de la funcionalidad que permitirá al
sistema darle un ranking a los usuarios que
1 20
prestaron sus servicios, ayudando a auto gestionar
la plataforma.
Definición de la vista que servirá de guía visual
para que el usuario pueda realizar filtros de sus 2 10
17 búsquedas.
Creación del controlador que recibe la información
2 20
realizando las validaciones pertinentes.
41
Creación del modelo de filtros que se utilizara en la
plataforma y en la aplicación para la búsqueda de 2 20
personal de enfermería.
Definición de la vista que ayudara al usuario a
ponerse en contacto con el usuario especifico que 2 10
este atendiendo su servicio en ese momento.
Creación del controlador que recibe la información
18 2 20
realizando las validaciones pertinentes.
Creación de vista con funcionalidad frente a los
mensajes que se pudieran recibir o enviar por parte 2 20
del usuario que está atendiendo un servicio.
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.
42
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.
43
pantalla mensajes a partir de la
notificacion.
44
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:
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.
45
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:
De esta manera se creará un archivo dentro de la carpeta app el cual tendrá por nombre el
que seleccionamos al crearlo. (Figura 35)
46
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)
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)
47
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.
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)
48
Figura 38, Esquema de archivos controladores
49
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)
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)
50
Figura 41, Modelo de configuración archivo Apli.php en routes
51
Figura 42, Esquema base de datos relacional
52
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:
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.
REGISTRO DE USUARIO
DESCRIPCIÓN:
Necesito registrarme en la plataforma
53
Tabla 15, Revisión historia de usuario 2
búsqueda de personal
DESCRIPCIÓN:
Con la finalidad de poner en contacto a los usuarios particulares con los profesionales
registrados en la plataforma
reestablecer mi contraseña
DESCRIPCIÓN: Con la finalidad de dar acceso a usuarios que hayan olvidado sus
datos de acceso.
54
Tabla 17, Revisión historia de usuario 4
DESCRIPCIÓN: Con el objetivo de permitir a los usuarios editar sus datos personales
y los documentos necesarios para prestar sus servicios de enfermero.
55
Tabla 19, Revisión historia de usuario 6
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.
56
Tabla 21, Revisión historia de usuario 8
DESCRIPCIÓN: Con el objetivo de poder gestionar los eventos con los usuarios
particulares, organizándolos por fechas y colores específicos
57
Tabla 24, Revisión historia de usuario 11
58
acceso a un portal de acuerdo mi rol
eliminar usuarios
59
Tabla 29, Revisión historia de usuario 16
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
DESCRIPCIÓN: Buscando poder tener todos mis datos de forma organizada y simple
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.
60
Tabla 32, Revisión historia de usuario 19
Iniciar servicio
Calificar un servicio
VALIDACIÓN: Al terminar un servicio a ambos roles les llegara una notificación que
solicitara una calificación del servicio.
61
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.
62
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.
63