Ups - ST002232
Ups - ST002232
Ups - ST002232
SEDE QUITO
CARRERA:
INGENIERÍA DE SISTEMAS
TEMA:
ANÁLISIS, DISEÑO, DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA
DE GEORREFERENCIACIÓN DE OPERADORES ECONÓMICOS PARA LA
SUPERINTENDENCIA DE CONTROL DEL PODER DE MERCADO
AUTORES:
IVÁN FERNANDO CÁCERES DÍAZ
GREGORI JAVIER LARCO TAPIA
TUTOR:
JOSÉ LUIS VILLAGÓMEZ MENÉNDEZ
INTRODUCCIÓN ......................................................................................................................... 1
CAPÍTULO 1 ................................................................................................................................. 2
1.2. Justificación............................................................................................................................ 6
CAPÍTULO 2 ............................................................................................................................... 27
ANÁLISIS Y DISEÑO ................................................................................................................ 27
CAPÍTULO 3 ............................................................................................................................... 70
Tabla 12. Historia de usuario buscar medicamento por nombre comercial. ................................ 36
Tabla 13. Historia de usuario buscar medicamento por nombre genérico. .................................. 37
Figura 18. Pantalla de administración para Cumplimiento ante la ley de Farmacias ................. 62
Figura 19. Pantalla de administración de Farmacias.................................................................... 63
Figura 32. Puente PHP/JSON entre Aplicación Android y Server remoto ................................. 75
Figura 41. Prueba en campos editables en el módulo para la Administración de Farmacias ...... 94
Figura 42. Búsqueda de coordenadas por ingreso de dirección en mapa de Google .................. 95
ubicación exacta de las farmacias, como primera fase las que se encuentran en la ciudad
de Quito y de esta manera verificar las que acatan o incumplen las leyes ante el Estado.
aplicación.
Control del Poder de Mercado, sus objetivos y razón de ser. También describe los
diferentes contenidos teóricos que han sido investigados y son de interés para el desarrollo
por el cliente, los cuales fueron plasmados mediante una metodología de diseño de
En el tercer capítulo se muestra las tecnologías y herramientas que han sido utilizadas para
incorporate new technologies, has developed a mobile application to determine the exact
location of pharmacies, as a first stage those found in the city of Quito and this form verify
The web application management's main purpose to help manage information from
pharmaceuticals may enter and update their information through this application.
Control del Poder de Mercado, his objectives and reason to be. It also describes the
different theoretical contents that have been investigated and are of interest for the
The second chapter refers to the requirements requested in the first instance by the client,
corresponding diagrams.
In the third chapter the technologies and tools that have been used for coding and
para adquirir sus productos o servicios que a pesar de contar con medios de
información como la televisión, prensa, radio, internet, entre otros, dicha información
gran parte de las farmacias no poseen los recursos para implementar la tecnología que
legal, la cual es necesaria para poder ubicarlas de forma rápida y efectiva. Es ahí donde
intervienen las tecnologías de software, las cuales han sido adoptadas por La
un sistema web para gestionar la información de las farmacias. Estos sistemas están
alineados a las buenas prácticas que proveen las metodologías ágiles de software, de
tal forma que se obtenga un producto final de calidad. Para darle un mayor
1
CAPÍTULO 1
1.1. Antecedentes
del diario vivir de las personas. La utilización de estas aplicaciones por parte de los
usuarios a nivel mundial ha tenido gran aceptación durante los últimos años,
incluyendo los innumerables servicios y características que brindan tal como se refleja
etc.
cuales han sido creadas para evitar que una persona que desea ir a un lugar determinado
como lo son los mapas de papel o una guía telefónica para obtener la información de
la ubicación del lugar, lo cual resulta molesto, ineficiente y muchas veces inexacto por
1
Introducción a los SIG (Vázquez, 2009).
2
Resolución No. SCPM-DS-2012-001 (2012).
2
Superintendente de Control del Poder de Mercado, se promueve la Gestión tecnológica
aplicaciones.
Ecuador, se puede citar la tesis realizada en 2012, por Francisco Andrés Gallegos
Riera. Titulada como “Mapa Virtual USFQ 3D: Community Aplicación Nativa”3, para
Cabe mencionar que las características que posee el proyecto citado anteriormente,
móviles.
Otra tesis dentro del marco de aplicaciones de georreferenciación que cabe mencionar
3
Tesis elaborada por (Gallegos, 2012).
3
implementación de un sistema para la georreferenciación de la comunidad Salesiana
que han sido desarrolladas a nivel mundial, para conocer el estado actual, progreso y
Manrique Oporto e Ytalo Elias Borja Mori de la Universidad Nacional Mayor de San
de Lima, Perú, para que las personas siempre tengan acceso a la información oportuna
de estos, además de conocer acerca de los productos y servicios que ofrecen de forma
concreta y fiable.
4
Tesis elaborada por (Tutillo Tobar, 2013).
5
Tesis elaborada por (Manrique & Borja, 2011).
4
administran locales comerciales desean que una gran cantidad de público concurra a
estos locales para que los productos o servicios que se ofrecen sean consumidos por la
ciudadanía en general. Sin embargo, los medios publicitarios para hacer llegar la
Para los operadores económicos, contar con una aplicación de georreferenciación que
Es por ello que la utilidad que brindará la aplicación móvil, será principalmente para
todos los usuarios que posean un dispositivo móvil Android, facilitando así la
ubicación exacta de todas las farmacias más cercanas que se encuentran a su alrededor
dentro de la ciudad de Quito, así mismo el portal de administración web servirá a todos
5
1.2. Justificación
la ubicación geográfica de cada una. Tampoco cuenta con un sistema que genere dicha
ciudadanía las 24 horas del día y al alcance gratuito de los consumidores ya que no
todas las farmacias poseen los recursos para adquirir una aplicación móvil para la carga
oficiales, etc., la cual es necesaria para poder encontrarla rápidamente y así facilitar a
verificar las que acatan o incumplen las leyes del Estado, además los operadores
La aplicación web, posee funcionalidades específicas para cada módulo, ya que tratan
administración han sido el punto principal, que ha sido tomado en consideración para
La aplicación móvil será desarrollada sobre una plataforma Android (Casa & Lopez,
6
gracias al cual permite conocer cuáles son las farmacias cercanas alrededor del usuario
y mediante el color del ícono que represente a la farmacia (rojo - No cumple, amarillo
óptimos para las 24 horas del día y los 365 días del año, incluyendo en cada farmacia
mantenimiento para la aplicación móvil, el cual manejará roles de usuario tanto para
7
establecimiento, la ubicación exacta, los horarios de atención y los teléfonos de
Cabe mencionar que al momento de crear un supervisor, este usuario será asignado
automáticamente a un grupo denominado SCPM. Por otro lado, para la creación del
usuario farmacia, a este se le debe asignar un representante legal, que será la persona
poder actualizar constantemente está información dentro de cada farmacia, por tal
ciudad de Quito.
8
2. Desarrollar el diseño de las interfaces para la aplicación móvil y web, tomando en
del cliente.
1.5.Marco metodológico
del producto.
lo largo del desarrollo de una aplicación, es por ello que las metodologías de desarrollo
9
de software son una guía para el cumplimiento de un objetivo dentro del desarrollo de
software.
el desarrollo de una aplicación móvil, para lo cual fue conveniente escoger una
incorpora una serie de buenas prácticas, para mejorar la toma de decisiones y saber
conscientes que lo que es la última innovación hoy puede que no exista mañana y por
esto existe la metodología ágil donde los requisitos y soluciones evolucionan mediante
software entre las cuales se destaca la metodología UWE, la cual será descrita a
continuación.
UWE es una metodología detallada para el proceso de autoría de aplicaciones con una
definición exhaustiva del proceso de diseño que debe ser utilizado. Este proceso,
Garcia, 2008). Entre los principales aspectos que presenta UWE se encuentra su
modelo basado en UML (Modelo de Lenguaje Unificado), aplica las mejores prácticas
10
de la ingeniería de Software, hace uso de desarrollo iterativo, un enfoque navegacional
unificado y UML pero adaptados a la web. En requisitos separa las fases de captura,
El lenguaje UML cuenta con varios tipos de diagramas, los cuales muestran diferentes
11
UWE consta de varias fases inmersas en el ciclo de vida de desarrollo, las mismas que
a continuación se mencionan:
Fase de inicio. Durante esta fase de inicio las iteraciones se centran con mayor
construcción del producto por medio de una serie de iteraciones, las cuales
con su implantación y pruebas. En esta fase se realiza una pequeña cascada para
Estos diagramas representan un panorama general del sistema junto con la interacción
12
1.5.1.2.Diagrama de clases.
Los diagramas de clases son estáticos, ya que representan la estructura del sistema sin
tomar en consideración la participación del usuario. Las clases que se describen poseen
métodos y atributos, las cuales formarán parte de las tareas a ejecutarse en cada clase.
1.5.1.3.Diagrama de navegación.
De igual forma, de acuerdo con UML los diagramas de flujo pueden ser representados
desarrollo de software, es por ello que para este proyecto se ha optado por la
equipos con muy pocos programadores quienes llevan muy pocos procesos en paralelo.
13
proyecto. XP se fundamenta en la capacidad del equipo para comunicarse entre sí y
software.
Entre las buenas prácticas que contempla XP, que involucran al equipo de trabajo, los
El ciclo de vida de XP: presenta los pasos que se irán dando conforme se vaya
restricciones de tiempo.
Entregas pequeñas: se desarrolla primero la más mínima parte útil que le proporcione
funcionalidad a la primera entrega, cada ciclo termina con una entrega del sistema, el
ciclo de vida termina cuando ya no hay más ciclos de entrega y el sistema ha cumplido
con el objetivo para el cual fue diseñado, de no ser así, se deberá continuar con el ciclo
posibles modificaciones.
Diseño sencillo: solo se efectúa el diseño necesario para cumplir con los
comportamiento externo.
propone que los desarrolladores trabajen en parejas en una terminal, verificando cada
15
uno el trabajo del otro y ayudándose para buscar las mejores soluciones. Se entiende
realizan pruebas de unidad a todo el sistema, ésta práctica permite que la aplicación
sea más funcional en cada iteración y garantiza su funcionamiento con los demás
semanales.
que provee una metodología de desarrollo de software, junto a las herramientas para
la gestión de proyectos que deben ser aplicadas para lograr los objetivos planteados al
16
presupuestaria y organizativa, cuyo ámbito de acción, funcionamiento y atribuciones
2012)
relevancia se encuentran:
de mercado
En este caso la SCPM debe hacer un análisis de conducta para determinar si existe una
posición dominante por parte del operador económico y descubrir si a través de esa
sus objetivos.
Mercado, ha sido fundamental para sustentar las razones del por qué se va a llevar a
este proyecto. De esta forma los autores, tendrán un escenario más visible de las
actividades que realiza la SCPM y así acoplar las tecnologías que mejor se adapten a
requiere de insumos teóricos que han sido previamente estudiados y que en toda
investigación constituyen un elemento importante para su análisis, los cuales has sido
relacionados con:
Sistemas Operativos
18
Georreferenciación
Aplicaciones Móviles
alineada a como se expresarían las cosas en la vida real que otros tipos de
programación. Viene a ser una forma de abordar los problemas de un modo más natural
lo cual significa más en contacto con el mundo real, de esta forma si se quiere
solucionar un problema determinado, se debe identificar cada una de las partes del
objeto que no deben ser visibles desde otros objetos. El polimorfismo que es la
6
Entidades de la vida real que poseen ciertas características.
7
La abstracción se encarga de ocultar los detalles de un objeto, indicando únicamente lo más
relevante.
19
Objetos, y viene a representar una relación entre clases en la cual una clase8 comparte
operativo, por lo que los productos comerciales actualmente incluyen una gran
comunicación9, etc.
tres categorías:
Como es conocido, en los últimos años dentro de los sistemas operativos se han
incorporado un nuevo paradigma sobre los sistemas operativos los cuales están en
pleno auge, se trata de los Sistema Operativo Móviles los cuales han sido catapultados
8
Una clase describe a un objeto específico dentro de la programación.
9
Protocolo de comunicación: sistema de reglas que permiten que dos o más entidades de un sistema de
comunicación se comuniquen entre ellas para transmitir información.
20
1.7.2.1. Android.
móviles. Además, también usan este sistema operativo (aunque no es muy habitual),
en un entorno de trabajo de Java10, aplicaciones sobre una máquina virtual Dalvik (una
que le diferencia de otros sistemas operativos, es que cualquier persona que sepa
operativo, dado que Android es de código libre, por lo que sabiendo programar en
lenguaje Java, va a ser muy fácil comenzar a programar en esta plataforma (Sanz
10
Java: lenguaje de programación de propósito general, concurrente, orientado a objetos el cual fue
diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible.
21
Capas del Sistema Operativo Android
En la Figura 1 se distinguen claramente cada una de las capas: la que forma parte del
propio Kernel de Linux11 (núcleo del sistema operativo), donde Android puede acceder
1.7.3. Georreferenciación.
11
Kernel de Linux: conjunto de drivers necesarios para usar el ordenador.
22
La georreferenciación, en primer lugar, posee una definición tecno-científica, aplicada
relaciones entre las imágenes de modelos raster12 o vector13 sobre una proyección
punto central para los modelados de datos realizados por los Sistemas de Información
Geográfica (SIG).
Una aplicación móvil es un programa que se puede descargar y al que se puede acceder
ordenadores portables.
Las aplicaciones móviles permiten crear y mantener una relación con el cliente. Es la
valiosa interacción que posiciona a la marca y al mismo tiempo ofrece una imagen de
Hoy en día se tiene diversas aplicaciones móviles las cuales simplifican a los
12
Celdillas con información.
13
Puntos, líneas o polígonos.
23
haciendo uso de las aplicaciones ya existentes, a continuación se describe una
aplicación la cual será de gran utilidad para los fines del presente proyecto de
Para conocer acerca del API de Google Maps, se debe tener bien en claro lo que es la
El API de Google Maps fue lanzado en junio de 2005 por Google haciendo
contraseña oficial de desarrollador, la API es libre de uso para cualquier sitio web.
Al ser de libre uso se adapta fácilmente a diferentes plataformas como Android, iOS14,
JS15, HTTP16 y a todos los dispositivos inteligentes que soporten estas tecnologías,
sobre las cuales ha sido de gran aporte gracias a la visualización precisa de mapas
la Web que ofrece imágenes de mapas desplazables, así como fotos satelitales del
Google Earth, una aplicación que ofrece vistas del globo terráqueo, sea de día o de
noche, pero que no es fácil de integrar a páginas Web. Está disponible para Android y
14
Sistema operativo móvil de la multinacional Apple Inc. Originalmente desarrollado para el iPhone.
15
Lenguaje de programación que permite a los desarrolladores crear acciones en sus páginas web.
16
Hypertext Transfer Protocol, ‘protocolo de transferencia de hipertextos’, que se utiliza en algunas
direcciones de internet.
24
Java ME (Plataforma para el lenguaje de Java). Google Maps ofrece la capacidad de
el mapa con el mouse o las teclas de dirección para moverse a la ubicación que se
desee. Los usuarios pueden ingresar una dirección, una intersección o un área en
Tener un panorama claro y entendible del conocimiento que se debe aplicar para cada
fase del proyecto, es de gran aporte para satisfacer preguntas referentes al estado actual
de la ciencia en cada ámbito que se cita en el proyecto. Por esta razón el contenido
elaboración del proyecto partiendo desde temas simples hasta los que representan el
Se optó por el uso de las Bases de datos Relacionales ya que son relativamente fáciles
creación original de una base de datos relacional, una nueva categoría de datos se
puede añadir sin necesidad de que todas las aplicaciones existentes sean modificadas.
Una Base de datos relacional es una colección de datos cuya característica principal es
bases de datos relacionales, significa que se pueden crear relaciones entre las tablas de
las bases de datos. Una relación entre tablas consiste en que algunos registros de una
tabla tengan datos en común con registros de otras tablas, permitiendo un manejo más
25
1.7.6. Estado, Mercado, Monopolio y Ciudadanía.
Debido a que el estudio está orientado a las funciones y entidades que regulan la
demanda para efectuar transacciones, para lo cual, los mercados necesitan productos y
calidad del mismo y en el sitio donde está el consumidor. Sin embargo no se puede
monopolio, el cual representa la capacidad que tiene un solo productor o vendedor para
decidir sobre las condiciones de la oferta y demanda, es por ello que la sociedad es la
principal afectada por ser quien consume los productos o servicios de dichos
producto o servicio.
los monopolios mercantiles y sus efectos negativos, es por ello que aplicaciones de
software como las que se promueven en esta investigación son útiles para que los
26
necesariamente están representadas por grandes entidades económicas, para lo cual
Mercado.
CAPÍTULO 2
ANÁLISIS Y DISEÑO
Puesto que el producto final contempla dos partes del software, la aplicación móvil y
la aplicación web, se detallan las fases de análisis y diseño del producto final a
la metodología XP.
Cabe mencionar que la metodología XP ha sido de gran aporte para la elaboración del
proyecto por varios aspectos fundamentales, como lo fueron las reuniones realizadas
27
con las jefaturas y analistas de sistemas de la SCPM. Es estas reuniones se trató temas
otro aspecto importante que se pudo apreciar de XP, fue el compromiso por parte de
Las historias de usuario que define la metodología XP, son un conjunto de tarjetas, en
las cuales el cliente describe las necesidades que desea que la aplicación cumpla. Antes
de establecer las historias se identificará los roles que cumple cada actor que está
Iniciar sesión
28
Registrar usuarios
Asignar permisos
Registrar farmacias
Registrar medicamentos
Cambiar contraseña
Modificar perfil
farmacia una vez que este haya sido registrado por el usuario Administrador, su perfil
Iniciar sesión
Cambiar contraseña
Modificar perfil
Para la aplicación móvil solo se ha contemplado un perfil, que será un usuario general,
que puede ser cualquier ciudadano el cual puede realizar las siguientes funciones:
Iniciar la aplicación
29
Buscar un medicamento y mostrar las farmacias que lo tienen en stock
Todas las especificaciones sobre los requerimientos iniciales solicitados por el cliente
han sido basadas en las funcionalidades más importantes que debía presentar la
lenguaje natural que permiten obtener los requerimientos del sistema a implementar.
Estos requerimientos tienen como finalidad dar a conocer las acciones que serán
30
son registrados en las respectivas historias de usuario, planteadas entre el desarrollador
y el cliente.
La tabla 1 detalla los requerimientos del administrador para cubrir las necesidades del
Tabla 1.
Historia de usuario control acceso a usuarios
Control de acceso de usuarios
Número: 1 Usuario: Administrador, Operador económico
Descripción:
Al ingresar a la aplicación web se debe solicitar una credencial, para que el usuario tenga acceso
a la información de acuerdo al rol que tenga asignado y realice una función específica.
Observaciones:
Confirmado con el cliente
Nota. Historia de usuario para controlar el acceso de los usuarios a la aplicación web
Elaborado por: Iván Cáceres y Gregori Larco
Tabla 2.
Historia de usuario cambio de contraseña y perfil
Cambio de contraseña y perfil
31
La tabla 3 expresa los requerimientos del administrador para cubrir las necesidades del
Tabla 3.
Historia de usuario registro de farmacias en el sistema
Registro de farmacias en el sistema
Número: 3 Usuario: Administrador
Dentro de la tabla 4 se muestra los requerimientos del administrador para cubrir las
necesidades del proceso para habilitar la farmacia que será mostrada en el mapa.
Tabla 4.
Historia de usuario habilitar farmacias en el mapa
Habilitar farmacia en el mapa de la aplicación móvil
Número: 4 Usuario: Administrador
La tabla 5 refleja los requerimientos del administrador para cubrir las necesidades del
el desarrollador y el cliente.
Como se observa, la Tabla 6 refleja los requerimientos del operador económico para
Tabla 6.
Historia de usuario editar ubicación de farmacia
Editar ubicación de farmacia
Número: 6 Usuario: Operador económico
Nombre historia: Editar ubicación de farmacia
Prioridad en negocio: Riesgo en desarrollo:
Alta Alto
Puntos estimados: 3 Iteración asignada: 1
Descripción:
El operador económico será el responsable de editar la ubicación exacta de la farmacia, utilizando
la guía que el sistema le proporcionará.
Observaciones:
Confirmado con el cliente
33
Nota. Historia de usuario para editar ubicación de la farmacia
Elaborado por: Iván Cáceres y Gregori Larco
Tabla 7.
Historia de usuario editar la información general de la farmacia
Editar información general de la farmacia
Número: 7 Usuario: Operador económico
Nombre historia: Editar información general de la farmacia
Prioridad en negocio: Riesgo en desarrollo:
Alta Medio
Puntos estimados: 2 Iteración asignada: 1
Descripción:
El operador económico será el responsable de editar la información general de la farmacia como
la razón social, horario de atención y teléfono de contacto.
Observaciones:
Confirmado con el cliente
Nota. Historia de usuario para editar ubicación de la farmacia
Elaborado por: Iván Cáceres y Gregori Larco
Su finalidad es reflejar los requerimientos del usuario que tendrá acceso a la aplicación
móvil, los cuales son registrados en las respectivas historias de usuario, acordadas
cubrir las necesidades al buscar un medicamento dentro del stock de una farmacia la
Tabla 8.
Historia de usuario buscar medicamento en farmacia
Buscar medicamento en farmacia
Número: 8 Usuario: Usuario aplicación móvil
Nombre historia: Buscar medicamento en farmacia
34
Prioridad en negocio: Riesgo en desarrollo:
Alta Alto
Puntos estimados: 3 Iteración asignada: 1
Observaciones:
Confirmado con el cliente
Nota. Historia de usuario para buscar farmacia en el mapa de Quito
Elaborado por: Iván Cáceres y Gregori Larco
La Tabla 9 muestra los requerimientos del usuario de la aplicación móvil para cubrir
Tabla 9.
Historia de usuario buscar farmacia cercanas a ubicación actual
Buscar farmacias cercanas a ubicación actual
Número: 9 Usuario: Usuario aplicación móvil
Nombre historia: Buscar farmacias cercanas a ubicación actual
Prioridad en negocio: Riesgo en desarrollo:
Alta Alto
Puntos estimados: 2 Iteración asignada: 1
Tabla 10.
Historia de usuario visualizar información de farmacia en el mapa
Visualizar información de farmacia en el mapa
Número: 10 Usuario: Usuario aplicación móvil
Nombre historia: Visualizar información de farmacia en el mapa
Prioridad en negocio: Riesgo en desarrollo:
Alta Alto
Puntos estimados: 3 Iteración asignada: 1
Tabla 11.
Historia de usuario llamar a la farmacia
Llamar al teléfono de contacto de la farmacia
Número: 11 Usuario: Usuario aplicación móvil
Nombre historia: Llamar al teléfono de contacto de la farmacia
Prioridad en negocio: Riesgo en desarrollo:
Alta Medio
Puntos estimados: 2 Iteración asignada: 1
Tabla 12.
Historia de usuario buscar medicamento por nombre comercial
Buscar medicamento por nombre comercial
Número: 12 Usuario: Usuario aplicación móvil
Nombre historia: Buscar medicamento por nombre comercial
Prioridad en negocio: Riesgo en desarrollo:
Alta Alto
Puntos estimados: 2 Iteración asignada: 1
Todos los requerimientos del usuario de la aplicación móvil para cubrir las necesidades
Tabla 13.
Historia de usuario buscar medicamento por nombre genérico
Buscar medicamento por nombre genérico
Número: 13 Usuario: Usuario aplicación móvil
Nombre historia: Buscar medicamento por nombre comercial
Prioridad en negocio: Riesgo en desarrollo:
Alta Alto
Puntos estimados: 2 Iteración asignada: 1
La Tabla 14 expresa los requerimientos del usuario de la aplicación móvil para cubrir
Tabla 14.
Historia de usuario llamar a teléfonos de interés
Mostrar información del medicamento
Número: 14 Usuario: Usuario aplicación móvil
Nombre historia: Mostrar información del medicamento
Prioridad en negocio: Riesgo en desarrollo:
Alta Alto
Puntos estimados: 2 Iteración asignada: 1
37
2.2.Diseño.
los usuarios podrán realizar tanto en la aplicación web como en la móvil, a través de
los diagramas de casos de uso, los diagramas de clases, los diagramas de flujo y
navegación para finalmente proceder con el diseño de las diferentes interfaces gráficas
con su respectivo diccionario de datos, el cual detalla el propósito de cada tabla y los
Los siguientes diagramas de caso de uso muestran los principales módulos que
El actor que interviene en este caso de uso es un usuario administrador, quien realizará
La Figura 2 muestra el caso de uso de las tareas y sub tareas que puede realizar el
usuario Administrador dentro del portal de administración web y con la base de datos.
realizar tareas como: ingreso al sistema, registrar usuario, registrar farmacias, registrar
38
Diagrama de caso de uso de Usuario Administrador
muestra en la Figura 3, se ve reflejado el caso de uso de las tareas y sub tareas que
base de datos.
El usuario Operador Económico puede realizar tareas como: ingresar al sistema, editar
39
Diagrama de caso de uso de Usuario Operador Económico
El actor que interviene en este caso de uso representa a un usuario general, quien
describe el caso de uso de las tareas y sub tareas que puede realizar un actor dentro de
la aplicación móvil que en este caso es el usuario general. El actor puede realizar tareas
40
Diagrama de caso de uso de Usuario de la Aplicación Móvil
en su diagrama físico con las tablas necesarias para almacenar toda la información
41
Diagrama Físico de la Base de Datos
42
La Figura 5 es la representación física de la base de datos MySQL, tal y como se puede
apreciar todas las entidades que la componen cada una con sus campos, claves
Tabla 15.
Descripción de las tablas de la base de datos
Tablas Descripción
En esta sección se mostrará el tipo de dato y descripción de los campos que componen
pantallas.
Tabla 16.
Diccionario de datos tabla Accesos
Tabla accesos
Tabla 17.
Diccionario de datos tabla Cantón
Tabla cantón
Tabla 18.
Diccionario de datos tabla Cumplimiento
Tabla cumplimiento
medicamentos.
Tabla 19.
Diccionario de datos tabla Empresa
Tabla empresa
La tabla Entidad, almacena la información las diferentes entidades que intervienes para
Tabla 20.
Diccionario de datos tabla Entidad
Tabla entidad
nivel nacional.
Tabla 21.
Diccionario de datos tabla Farmacia
Tabla farmacia
existen.
Tabla 22.
Diccionario de datos tabla Grupo
Tabla grupo
La tabla Horario, Contiene la información de los horarios de atención por turno de las
farmacias.
46
far_cod INT(11) codigo de la farmacia (clave foránea)
tur_cod INT(11) codigo de turno de farmacia (clave foránea)
hor_ini VARCHAR(4000) hora de inicio del turno de la farmacia
hor_fin VARCHAR(4000) hora de fin del turno de la farmacia
hor_des VARCHAR(4000) descripción del horario
hor_est INT(11) estado del horario
Nota. Descripción de campos de la tabla Horario
Elaborado por: Iván Cáceres, Gregori Larco
La tabla Localización, guarda las claves foráneas de las los cantones por cantón y
provincias.
Tabla 24.
Diccionario de datos tabla Localización
Tabla localización
Tabla 25.
Diccionario de datos tabla Medicamento
Tabla medicamentos
Tabla 26.
Diccionario de datos tabla Menú
Tabla menu
Tabla 27.
Diccionario de datos tabla País
Tabla país
Tabla 28.
Diccionario de datos tabla Parroquia
Tabla parroquia
48
La tabla Perfil, almacena la información cada perfil por medicamento.
Tabla 29.
Diccionario de datos tabla Perfil
Tabla perfil
Tabla 30.
Diccionario de datos tabla Provincia
Tabla provincia
medicamento.
Tabla 31.
Diccionario de datos tabla Stock_medicamento
Tabla stock_medicamento
La tabla Tipo, contiene la información del tipo al que pertenece una farmacia.
49
Tabla 32.
Diccionario de datos tabla Tipo
Tabla tipo
La tabla Turno, almacena la información de los turnos en los que la farmacia atiende.
Tabla 33.
Diccionario de datos tabla Turno
Tabla turno
estructura de un sistema mostrando las clases del sistema, sus atributos, métodos, y las
En la Figura 6 se observa los campos creados en cada clase, que se utilizan como
parámetros y variables de los métodos que serán invocados por la aplicación para la
administración de usuarios, así mismo las relaciones que existen entre ellas, por
50
ejemplo como se puede observar, todas las clases tienen una relación de asociación
entre ellas, por ejemplo. Los usuarios tienen Roles, los cuales a su vez tienen permisos
En la Figura 7 se observa los campos creados en cada clase, que se utilizan como
parámetros y variables de los métodos que serán invocados por la aplicación para la
composición entre las clases, y al ser una administración de farmacias, las relaciones
51
Diagrama de clases para Administración de Farmacias
En la Figura 8 se observa los campos creados en cada clase, que se utilizan como
parámetros y variables de los métodos que serán invocados por la aplicación móvil y
52
Diagrama de clases de Aplicación Móvil de Farmacias
Económico).
54
Como se puede observar en el gráfico anterior, el Usuario Administrador podrá
acceder a cada uno de las páginas o nodos existentes, por ejemplo, después de ingresar
Por ejemplo, como se observa en la figura anterior, una vez que el usuario Operador
Económico ingresa a la aplicación, podrá navegar por cada uno de los módulos
farmacias y medicamentos.
55
2.2.6. Diagramas de Flujo.
aplicación móvil.
Este diagrama de flujo es una representación de las tareas que realiza la aplicación
web, de las cuales se derivan subtareas de gestión para las tablas que conforman la
56
La Figura 11 muestra como cada tarea realiza una acción específica dentro de la
se ejecute dicha acción o se termine el flujo por completo. Por ejemplo, para la
desea ver que roles tienen asignados los usuarios, también tiene las opciones de crear
y editar los roles así como realizar una eliminación lógica de los roles y mostrar
Este diagrama de flujo representa las funcionalidades que el usuario puede realizar en
la aplicación móvil junto con las peticiones a la Base de Datos Remota de la SCPM.
57
En la figura 12 se puede observar las tareas que el usuario puede realizar en la
aplicación móvil. Estas tareas están sujetas a condiciones, las cuales si son verdaderas
Por ejemplo, se tiene el flujo para búsqueda de medicamento por farmacia, en donde
muestra en el mapa todas las farmacias que poseen el medicamento dentro de su stock,
luego el usuario podrá seleccionar una de las farmacias mostradas y tendrá acceso tanto
En este apartado se describen los prototipos para las interfaces que tendrá la aplicación
web y móvil, en los cuales se podrá palpar de forma real, las interfaces y
interfaces han sido diseñadas tomando en consideración que estas sean lo más
tendrán accesos.
58
2.2.7.1.1. Pantalla de Login.
Ingreso al sistema
La interfaz que se aprecia en la Figura 13, permite ingresar las credenciales del usuario
59
La Figura 14 muestra la ventana que da la Bienvenida al usuario que ha ingresado
izquierda, los mismos que al seleccionar cada uno de ellos, nos direccionarán a las
60
2.2.7.1.4. Pantalla de administración de Usuarios
los usuarios con las funcionalidades de Crear, Editar o Borrar cada uno de estos,
datos.
61
La Figura 17 describe la interfaz que permite gestionar la información de los grupos a
los cuales pertenece cada farmacia, con la posibilidad de Crear, Editar o Borrar uno de
ellos.
en la Figura 18, que representa una calificación que la SCPM le asignará a cada
farmacia en función al cumplimiento ante las leyes que establece tanto el Estado como
62
2.2.7.1.7. Pantalla de administración de Farmacias.
63
En la Figura 20 se muestra la interfaz que permite gestionar el horario de atención de
cada farmacia, con la posibilidad de Crear, Editar o Borrar el mismo por el usuario de
la farmacia.
de los medicamentos por parte del Administrador del sistema. La información de los
64
2.2.7.2.1. Pantalla Principal de la Aplicación Móvil.
describe el nombre y logo de la SCPM, además de cuatro botones los cuales, abren los
65
La Figura 23 refleja la interfaz correspondiente a la búsqueda de medicamentos dentro
del stock de una farmacia. La búsqueda será realizada ingresando el nombre del
66
2.2.7.2.4. Interfaz Nombre de Farmacia.
las farmacias que pararecen en el mapa, sobre la cual aparece el nombre de la farmacia
seleccionada.
67
Dentro de la Figura 26 se muestra la función del ícono de la parte superior del
InfoWindow que representa la ventana de alerta que aparece al ser presionado, el cual
abre una ventana de alerta que contiene la información general de la farmacia como su
comercial, del repositorio de la SCPM. Solo con ingresar las primeras letras del
el repositorio de la SCPM. Solo con ingresar las primeras letras del nombre del
68
medicamento, al presionar en el botón Buscar, nos aparecerá un listado con las
coincidencias encontradas.
69
CAPÍTULO 3
CODIFICACIÓN Y PRUEBAS
En este capítulo se detallará paso a paso el proceso que se llevó a cabo para la
pruebas a las que fueron sometidas tanto la aplicación web como la aplicación móvil
para que sean totalmente funcionales y cumplan con las expectativas de los usuarios
finales.
Controlador (MVC), la más conocida por los desarrolladores para separar los
La capa de modelo contiene una representación de los datos que maneja el sistema,
La vista, es utilizada por los usuarios para interactuar con la aplicación, los cuales
el paso de la información entre ambos y los cambios para acoplar los datos a las
71
3.1.2. Entorno de desarrollo Visual Studio ASP.Net.
escritorio y aplicaciones móviles. Visual Basic, Visual C# y Visual C++ utilizan todos
Asimismo, dichos lenguajes utilizan las funciones de .NET Framework, las cuales
17
Servicio Web: tecnología que utiliza una serie de protocolos y estándares utilizados para intercambiar
datos entre sistemas de lenguajes de programación diferentes.
18
XML (Extensible Markup Language): Es el formato estándar para los datos que se vayan a
intercambiar.
72
configuración para la conexión de la aplicación móvil con la base de datos de forma
remota.
En la capa de interfaz, se encuentran los layouts, que son archivos con extensión .xml
de Android que representan todas y cada una de las interfaces visuales del proyecto.
19
Php (Hypertext Preprocessor) es un lenguaje de código abierto adecuado para el desarrollo web que
puede ser incrustado en HTML.
20
Json (JavaScript Object Notation) es un formato para el intercambio de datos.
73
3.2.1.1. Capa de Interfaz.
usuario final además de permitirle interactuar con las funcionalidades que posee la
aplicación móvil. Como en todas las aplicaciones móviles, su interfaz está basada en
la lógica del proyecto y de ella depende el funcionamiento del mismo. Esta capa va a
En Android no existe una forma nativa para acceder a bases de datos remotas. En la
optado por utilizar un puente que utiliza las tecnologías PHP y JSON para la
enviar datos de una tabla a la aplicación, se tendrá dos secciones: la parte ejecutada en
fichero PHP que se conecta a la base de datos, realiza una consulta y devuelve los
obtener y enviar los datos de forma fluida y rápida). En la parte Android se utiliza un
74
método HttpPost para obtener los datos, se transforma la respuesta a String JSON, y
Tecnología PHP/JSON
plugin22 ADT (Android Developer Tools) para Eclipse. Android Studio utiliza una
21
IntelliJ IDEA es entorno integrado de desarrollo muy utilizado dentro de la programación en Android.
22
Un plugin representa la funcionalidad adicional o una nueva característica al software.
75
Fue presentado por Google el 16 de mayo del 2013 en el congreso de desarrolladores
mayor control sobre el proceso de producción. Se trata pues de una alternativa real a
Eclipse, el IDE recomendado por Google hasta la fecha, pero que presentaba
Android cuenta con un sistema de almacén de claves también llamado keystore, el cual
poseen una contraseña y representan a una entidad ya sea una persona o empresa.
Las claves privadas generadas pueden ser de dos tipos, de modo debug las cuales
sirven para firmar una aplicación con un certificado para depuración y de modo
la firma de la mismas puesto que solo una aplicación firmada puede mostrar todas sus
76
3.3. Codificación
desarrollo del sistema se lo realizó en el siguiente orden, tanto para la aplicación Web
1. Gestión de Usuarios
2. Gestión de Roles
3. Gestión de Permisos
4. Gestión de Farmacias
5. Gestión de Horarios
6. Gestión de Cumplimiento
77
3.3.1. Clases y métodos de la Aplicación Web.
En este apartado se mostrará el patrón MVC con cada una de las clases que componen
modelo son clases, las entidades es el mapeo de la base de datos y las vistas se
comunican con los controladores que realizan la interacción con los usuarios.
con el Framework 4.0 y la tecnología Entity Framework 6.0; además como sistema
navegador de Internet.
modelo login.aspx para generar las consultas SQL a la base de datos, la interacción
Modelo
Tabla 34.
Modelo login_model
Archivo Método Descripción
login.cs login (username, password) Consulta a la base de datos si el usuario y
contraseña ingresados son correctos.
Elaborado por: Iván Cáceres, Gregori Larco
Tabla 35.
Modelo Usuario
Archivo Método Descripción
usuario.cs Get & Set Contienen el mapeo de la tabla de Usuarios
con sus respectivos atributos.
Elaborado por: Iván Cáceres, Gregori Larco
78
Controlador
Tabla 36.
Controlador Usuario
Archivo Método Descripción
Muestra la vista login_view, si el usuario no está
index() autenticado, caso contrario redirige a la vista
correspondiente del usuario.
user() Se encarga de la autenticación a la aplicación.
logout() Finaliza la sesión de los usuarios.
CadUsuario getAll() Obtiene toda la información perteneciente a la
tabla de Usuarios
getbyId(int id) Obtiene toda la información de un usuario al cual
corresponda el Id enviado
setInsert(usuario) Método que inserta un nuevo usuario en la tabla
Usuarios, enviándole los atributos de tipo usuario.
setUpdate(usuario) Método que actualiza los parámetros de un
determinado usuario
Elaborado por: Iván Cáceres, Gregori Larco
El controlador CadRol, utiliza el modelo rol para generar las consultas SQL a la base
de administración.
Modelo
Tabla 37.
Modelo Rol
Archivo Método Descripción
rol.cs Get & Set Contienen e mapeo de la tabla de rol con
sus respectivos atributos.
Elaborado por: Iván Cáceres, Gregori Larco
Controlador
Tabla 38.
Controlador Rol
Archivo Método Descripción
getAll() Obtiene toda la información perteneciente a la
tabla de rol
CadRol setInsert(Rol) Método que inserta un nuevo rol
setUpdate(Rol) Método que actualiza los parámetros de un
determinado rol
Elaborado por: Iván Cáceres, Gregori Larco
79
3.3.1.3. Gestión de Permisos.
Modelo
Tabla 39.
Modelo Permisos
Archivo Método Descripción
permiso.cs Get & Set Contienen e mapeo de la tabla de permisos
con sus respectivos atributos.
Elaborado por: Iván Cáceres, Gregori Larco
Controlador
Tabla 40.
Controlador Permisos
Archivo Método Descripción
getAll() Obtiene toda la información perteneciente a la
tabla de rol
CadPermisos setInsert(permiso) Método que asigna permisos a los diferentes
páginas
setUpdate(permiso) Método que actualiza los parámetros de la tabla
permisos
Elaborado por: Iván Cáceres, Gregori Larco
Modelo
Tabla 41.
Modelo Farmacia
Archivo Método Descripción
farmacia.cs Get & Set Contienen e mapeo de la tabla de Farmacia
con sus respectivos atributos.
Elaborado por: Iván Cáceres, Gregori Larco
80
Controlador
Tabla 42.
Controlador Farmacia
Archivo Método Descripción
getAll() Obtiene toda la información perteneciente a la
tabla de Farmacia
getbyId(Usuario) Obtiene toda la información de una farmacia al
cual corresponda el Id de usuario enviado
CadFarmacia setInsert(farmacia) Método que inserta una nueva farmacia en la
tabla Farmacia, enviándole los atributos de tipo
farmacia.
El controlador CadHorario, utiliza el modelo horario para generar las consultas SQL a
Modelo
Tabla 43.
Modelo Horario
Archivo Método Descripción
permiso.cs Get & Set Contienen e mapeo de la tabla de permisos
con sus respectivos atributos.
Elaborado por: Iván Cáceres, Gregori Larco
Controlador
Tabla 44.
Controlador Horario
Archivo Método Descripción
getAll() Obtiene toda la información perteneciente a la
tabla de rol
CadPermisos setInsert(permiso) Método que asigna permisos a los diferentes
páginas
setUpdate(permiso) Método que actualiza los parámetros de la tabla
permisos
Elaborado por: Iván Cáceres, Gregori Larco
81
3.3.1.6. Gestión de Cumplimiento.
Modelo
Tabla 45.
Modelo Cumplimiento
Archivo Método Descripción
Cumplimiento.cs Get & Set Contienen e mapeo de la tabla de
Cumplimiento con sus respectivos
atributos.
Elaborado por: Iván Cáceres, Gregori Larco
Controlador
Tabla 46.
Controlador Cumplimiento
Archivo Método Descripción
getAll() Obtiene toda la información perteneciente a la
tabla de Cumplimiento
CadCumplimiento setInsert(Cumplimiento) Método que asigna el cumplimiento a una
farmacia
setUpdate(Cumplimiento) Método que actualiza los parámetros de la tabla
Cumplimiento
Elaborado por: Iván Cáceres, Gregori Larco
Modelo
Tabla 47.
Modelo Medicamento_Stock
Archivo Método Descripción
medicamento.cs Get & Set Contienen e mapeo de la tabla de
medicamento con sus respectivos atributos.
Contienen e mapeo de la tabla de
Stock_medicamento.cs Get & Set stock_medicamento con sus respectivos
atributos.
Elaborado por: Iván Cáceres, Gregori Larco
82
Controlador
Tabla 48.
Controlador Medicamento_Stock
Archivo Método Descripción
getAll() Obtiene toda la información perteneciente a la
tabla de medicamento
getbyId(medicamento) Obtiene toda la información de una farmacia al
cual corresponda el Id de usuario enviado
CadMedicamento setInsert(medicamento) Método que inserta una nueva farmacia en la
tabla Farmacia, enviándole los atributos de tipo
farmacia.
Una vista dentro de una Masterpage es una página web o un fragmento de ella, como
un encabezado, un píe de página, una barra lateral, las vistas pueden ser flexiblemente
Las vistas nunca son llamadas directamente, ellas deben ser cargadas por un
controlador. En la siguiente tabla se detalla cada una de las páginas que conforman el
sistema.
Autenticación.
Tabla 49.
Vistas autenticación
Módulo Página Descripción
Autenticación Login.aspx Página de autenticación para el sistema.
Elaborado por: Iván Cáceres, Gregori Larco
Administración
Tabla 50.
Vistas administración
Módulo Página Descripción
Index.aspx Página de bienvenida del administrador.
Farmacia.aspx Página de administración de farmacias
Medicamento.aspx Página de administración de medicamentos
Usuario.aspx Página de administración de usuarios
83
Rol.aspx Página de administración de roles a usuarios
Cumplimiento.aspx Página de administración de la tabla
Administración cumplimiento
Permisos.aspx Página de administración de permisos a las
páginas existentes
Horarios.aspx Página de administración de horarios que
atienden las farmacias.
Elaborado por: Iván Cáceres, Gregori Larco
la base de datos y devuelve los datos en formato String JSON. Después se muestra un
listado de medicamentos que coinciden con el nombre ingresado y este a su vez llega
Interfaz
Tabla 51.
activity_remedios
Archivo Modulo Descripción
activity_remedios.xml Búsqueda de Remedios Pantalla para búsqueda de medicamentos en
stock de farmacias.
Lógica
Tabla 52.
Medicamento en stock de farmacia
Archivo Método Descripción
onCreate() Este método es invocado cuando la
actividad se inicia.
84
LoadAllRemedios Clase multitarea, para la implementación
de métodos de inicio y funcionalidad de la
actividad.
Persistencia
Tabla 53.
Consulta de medicamento en stock
Archivo Método Descripción
getNombre() Consulta a la base de datos el listado de los
medicamentos que coinciden con el
nombre ingresado.
get_all_farmacia.php para generar las consultas SQL a la base de datos y obtener las
farmacias más cercanas a la ubicación actual del usuario en formato String JSON. La
Interfaz
85
Tabla 54.
activity_farmacia.xml
Archivo Modulo Descripción
activity_farmacia.xml Búsqueda de Farmacias Pantalla para búsqueda de farmacias más
cercanas al usuario en la ciudad de Quito.
Elaborado por: Iván Cáceres, Gregori Larco
Lógica
Tabla 55.
Farmacias en el mapa
Archivo Método Descripción
onCreate() Este método es invocado cuando la
actividad se inicia.
Persistencia
Tabla 56.
Consulta de farmacias cercanas
Archivo Método Descripción
getLatitud() Consulta la latitud obtenida por el GPS del
dispositivo.
86
3.3.3.3. Búsqueda de medicamentos comerciales.
activity_med_comerciales.
Interfaz
Tabla 57.
activity_med_comerciales.xml
Archivo Modulo Descripción
Búsqueda de Medicamentos Pantalla para búsqueda de
activity_med_comerciales.xml Comerciales medicamentos por su nombre
comercial.
Lógica
Tabla 58.
Medicamentos comerciales
Archivo Método Descripción
onCreate() Este método es invocado cuando la
actividad se inicia.
Persistencia
87
Tabla 59.
Consulta de medicamento por nombre comercial
Archivo Método Descripción
getNombre() Consulta a la base de datos el listado de
los medicamentos que coinciden con el
get_all_comercial_busqueda.php nombre ingresado.
activity_med_genericos.
Interfaz
Tabla 60.
activity_med_genericos
Archivo Modulo Descripción
activity_med_genericos.xml Búsqueda de Pantalla para búsqueda de medicamentos
Medicamentos Genéricos por su nombre genérico.
Lógica
Tabla 61.
Medicamentos genéricos
Archivo Método Descripción
onCreate() Este método es invocado cuando la
actividad se inicia.
Persistencia
Tabla 62.
Consulta de medicamento por nombre genérico
Archivo Método Descripción
getNombre() Consulta a la base de datos el listado de los
medicamentos que coinciden con el nombre
ingresado.
get_all_generico_busqueda.php
setNomGenerico() Retorna el detalle general del medicamento
tomando el nombre genérico ingresado
como parámetro.
89
Ingreso para la Creación de APK Firmada
crear un APK firmada con los APIS que se le hayan incorporado a la aplicación móvil.
de datos para el proyecto, para lo cual se debe dar clic en Create New.
90
Figura 35. Ingreso de datos para la nueva Key Store
Elaborado por: Iván Cáceres y Gregori Larco
puede ingresar los datos necesarios que debe poseer una clave, se da clic en OK y se
crea el almacén de datos con su respectiva clave privada y alias como se muestra en la
Figura 36.
Validación de credenciales
91
Para verificar los datos que se ingresó en el almacén de claves, se debe ingresar las
sistema operativo Android. Este formato es una variante del formato JAR de Java y se
Validación de credenciales
92
Para generar el archivo .apk se debe tener creada previamente una clave privada dentro
del almacén de claves con un alias y password tal como se muestra en la Figura 38.
En la Figura 39 se elegirá el tipo de firma que tendrá la apk, esta puede ser de tipo
generado el APK, con un nombre específico proporcionado por Android Studio el cual
93
3.4.3. Desempeño de la aplicación Web.
puesto que la plataforma en la que fue desarrollado soporta los diferentes navegadores
del mercado. Se realizó una prueba de ingreso y carga de datos, que se muestra a
continuación.
edita alguno de los campos y los guarda, el tiempo máximo de respuesta fue de
2000ms.
94
3.4.3.2. Prueba en Búsqueda Coordenadas.
Para poder capturar las coordenadas geográficas, el usuario tiene la ayuda de búsqueda
por dirección. Debe presionar el botón Ver Mapa y a continuación se muestra un pop-
up23 mostrando un mapa geográfico como se puede ver en la Figura 42, situándolo con
sea correcta, presiona aceptar y las coordenadas se guardaran en los campos de latitud
y longitud según corresponda. El tiempo de respuesta del mapa cumplió con las
23
Un pop-up o ventana emergente representa una nueva ventana que se muestra de repente en la pantalla
del computador.
95
3.4.3.3. Prueba en administración de medicamentos.
Para las pruebas de la aplicación móvil se optó por utilizar dos teléfonos móviles con
Memoria: 16 GB
Memoria RAM: 2 GB
96
Teléfono Móvil – SONY XPERIA L
Memoria: 8 GB
Memoria RAM: 1 GB
sin embargo el tiempo de respuesta es aceptable para ambos teléfonos. La media del
ningún tipo de inconveniente, por lo que el módulo descrito cuenta con los
consulta y respuesta de los datos, ya que los dos dispositivos mostraron el listado
98
Prueba para búsqueda de medicamento
satisfactoriamente.
99
Las pruebas realizadas en cada una de las aplicaciones ayudaron a conocer las
gama tecnológica.
Dentro de las pruebas que se realizó conjuntamente con la aplicación web, se pudo
tiempo real.
100
CONCLUSIONES
proyectos que tenían a su cargo, por tal motivo se estableció fechas específicas
Engineering).
tipo de Base de Datos que se conecta al sistema, esto gracias al mapeo de las
tablas hacia las entidades. Así mismo se pudo observar que las aplicaciones
Objetos.
101
inconveniente inesperado en el proyecto. Después de analizar las posibles
soluciones, como el uso de un servicio web, este fue descartado para adoptar
comunicación rápida y sólida entre el servidor que aloja la base de datos remota
El desarrollo de los marcadores para las farmacias dentro del mapa de Google
colección de datos y los datos uno a uno respectivamente, los cuales pudieron
cadena.
103
RECOMENDACIONES
dependan de la tecnología.
original de la aplicación.
gama alta, como por ejemplo, que posea la tecnología 4G o la versión Android
módulo.
104
REFERENCIAS
Gallegos, F. A. (2012). Mapa Virtual USFQ 3D: Community Aplicación Nativa. Quito.
105
Pérez A., O. A. (2011). Cuatro enfoques metodológicos para el desarrollo de Software
RUP – MSF – XP - SCRUM. Bogota: Facultad de Ingeniería Uniminuto.
Ruiz Díaz & Cervantes, J. J. (2014). API de Google Maps para un mapa de
conocimiento. México.
106
ANEXOS
https://onedrive.live.com/redir?resid=240270F8C8D82C3A!14788&authkey=!AGs3
3AI9DxjXf0c&ithint=file%2cpdf
enlace:
https://onedrive.live.com/redir?resid=240270F8C8D82C3A!14789&authkey=!ALNt
9ppMG8rwjeY&ithint=file%2cpdf
107