Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MOTIVABICI
Fecha: (08/18/2016)
TABLA DE CONTENIDOS
1. INTRODUCCIN
1.1 Propsito
1.2 Alcance
1.3 Descripcin general
1.4 Material de referencia
1.5 Definiciones, acrnimos y abreviaturas
2. DESCRIPCIN GENERAL DEL SISTEMA
3. ARQUITECTURA DEL SISTEMA
3.1 Diseo Arquitectnico
3.2 Descripcin de Descomposicin
3.2.1 Diseo de interfaces
3.2.1.1 Determinacin de la altura mxima y mnima
3.2.1.2 Qu es Google Maps Elevation API?
3.2.1.3 Determinar la mxima altura y la mnima altura
3.2.1.4 Determinacin de la velocidad media
3.2.1.4.1 Distancia entre dos puntos
3.2.1.4.2 Tiempo de recorrido
3.2.1.4.3 Determinar caloras quemadas en un recorrido
3.2.2 Diagrama de clases
3.2.3 Escenarios
3.2.3.1 Registro
3.2.3.2 Iniciar, pausar y finalizar
3.2.3.3 Consultar
3.2.3.4 Compartir recorridos
3.3 Fundamentos de Diseo
4. DISEO DE DATOS
4.1 Descripcin de Datos
4.2 Diccionario de Datos
5. DISEO DE INTERFAZ GRFICA
5.1 Descripcin general de la interfaz de usuario
5.2 Imgenes de Pantalla
5.3 Objetos de imagen y Acciones en Pantalla
6. MATRIX DE REQUERIMIENTOS
3
3
3
3
3
3
4
4
4
6
6
6
6
7
7
7
7
8
9
10
10
11
12
12
13
13
13
14
15
15
16
18
19
1.
INTRODUCCIN
1.1 Propsito
El propsito de este documento es proveer el diseo y arquitectura de la aplicacin
MotivaBici, con el fin de mostrar a desarrolladores y personas encargadas de la
implementacin de la aplicacin, el desarrollo que tuvo la aplicacin y el correcto
funcionamiento.
1.2 Alcance
El alcance de la aplicacin MotivaBici lo lleva al mbito internacional Latinoamrica
y Espaa y posteriormente se introducir la Aplicacin al idioma ingles para una
segmentacin ms amplia de Mercado, hacia todas las personas interesadas en el
deporte del ciclismo y usuarios interesados en tomar el deporte como salud.
Para cumplir este objetivo se promocionara en la plataforma Google Play Store como
aplicacin gratuita.
1.3 Descripcin general
El diseo se detallara a lo largo del presente documento dando una visin general del
sistema, su arquitectura y su posterior desarrollo en la plataforma Android. En las
diferentes secciones del presente documento se dar una explicacin de cada uno de
los componentes, el diseo de los datos y las estructuras de datos con que se trabajara
en la aplicacin MotivaBici.
3.1.1
3.1.2
3.1.3
3.1.4
Este es un Api que permite determinar la altura en un punto, o en una determinada ruta.
Google Maps Elevation, proporciona datos de altura para cualquier ubicacin sobre la
superficie de la tierra, incluyendo las profundidades de los ocanos (para este caso, el
Api retornara una altura negativa), hasta los lugares ms altos. En los casos en los que
Google Maps no disponga los datos exactos, el servicio interpolara y retornar un valor
promedio de las 4 posiciones conocidas ms cercanas.
Para acceder a este servicio, google maps usa un interfaz HTTP. Por tanto, los usuarios de
Google Maps JavaScript Api podran acceder a este mediante el objeto ElevationService().
3.2.1.3 Determinar la mxima altura y la mnima altura
Despus de que se tenga la informacin del recorrido, se utiliza una secuencia de condiciones
para establecer cul es el valor mayor y cul es el menor de las alturas.
En el caso de que se disponga de un mtodo predeterminado nativo del api para establecer
la altura mxima o mnima, se implementar este segundo.
3.2.1.4 Determinacin de la velocidad media
Para calcular una velocidad media, se debe
disponer
de
la
ecuacin
fsica
velocidad=Distancia/Tiempo. Por esta razn,
este problema se aborda hallando las respectivas
variables y resolviendo la operacin en cuestin.
3.2.1.4.1
Para este requerimiento nuevamente se requerir del uso del API de google maps.
Especficamente de la utilidad SphericalUtil la cual nos permitir calcular distancias entre
puntos mediante el mtodo computeDistanceBetween().
3.2.1.4.2
Tiempo de recorrido
3.2.1.4.3
Para el clculo estimado de caloras para la actividad de ciclismo, se usar una frmula que
tendr en cuenta el peso del ciclista (en Kilogramos), el tiempo de uso de la bicicleta (tiempo
de recorrido en horas) y el coeficiente metablico equivalente de la actividad, MET.
Los siguientes son algunos METS estimados segn distintas actividades1:
Tabla 1 - Coeficiente metablico de actividad MET
running, 5 mph (12 min/mile)
8.0
9.0
10.0
11.0
11.5
12.5
13.5
14.0
15.0
16.0
18.0
11.0
swimming, synchronized
bicycling, BMX or mountain
8.0
8.5
8.0
6.0
8.0
3.2.2
Diagrama de clases
contrasea: char
correo: char
nombre_usuario: char
DISPOSITIVO MVIL
tiene
+ validarSO(): boolean
+ obetenerCorreo(): char
+ obtenerContrasea(): char
+ obtenerNombre(): char
hace
RECORRIDO
-
altitud: double
calorias: int
distanciaRecorrida: int
fechaRecorrido: char
horaFinalizacion: double
horaInicio: double
id_recorrido: int
latitud: double
longitud: double
velocidad: int
CONTROL
controla
+
+
+
+
almacenarRecorrido(): boolean
finalizarRecorrido(): boolean
iniciarRecorrido(): boolean
pausarRecorrido(): boolean
Se observan las diferentes clases de la aplicacin MotivaBici, sus atributos, sus mtodos y
sus relaciones entre s. Tal como lo muestra el diagrama, el ciclista (usuario) tiene un
dispositivo o varios dispositivos mviles. Un usuario har uno o varios recorridos y
controlara la duracin e informacin asociada a cada recorrido por medio de la aplicacin en
su dispositivo mvil.
3.2.3
Escenarios
Los escenarios muestran cmo va a ser el uso del sistema. En la aplicacin MotivaBici ya se
presentan los siguientes escenarios:
3.2.3.1 Registro
10
11
3.2.3.3 Consultar
12
Descripcin
Distancia
Tiempo
Velocidad
Media
OBJETIVO
Informarle al usuario
la cantidad de metros
kilmetros o millas
que acaba de recorrer
Informarle al usuario
la cantidad de horas,
minutos y segundos
que este tardo en
completar
el
recorrido
Informarle al usuario
la
velocidad
promedio/media que
este llevo a lo largo
del recorrido en
(KM/H o M/S)
FORMA DE CALCULO
Para el calculo de esta variable se toma en cuanta
los datos suministrados por el GPS y google maps
tomando el punto de inicio y punto final y con esto
calculando la diferencia de distancia entre estos
teniendo en cuenta la forma topogrfica del terreno
El calculo del tiempo lo hacemos atravez del
cronometro interno que posee la aplicacin y esto
debido a que cuando el usuario accede a la
aplicacin y le da iniciar recorrido este cronometro
comienza a calcular su tiempo de manera
automtica.
Para el calculo de esta variable tomamos como
base los dos clculos hallados anteriormente ya
que tomamos la distancia total del recorrido y el
tiempo transcurrido en este y por medio de la
formula (distancia/tiempo) podramos hallar una
medida aproximada de la velocidad del usuario
Para hallar la dificultad del terreno este calculo se
basa en las herramienta de google: Google Maps
13
Dificultad
Caloras
quemadas
Posicin
Informarle al usuario
la dificultad que
posee el recorrido
para
que
el
dependiendo de sus
capacidades acepte el
recorrido o escoga
uno diferente
Informa al usuario
sobre la cantidad de
caloras las cuales ha
perdido a lo largo del
recorrido
Informarle al usuario
sobre su ubicacin
actual
Informarle al usuario
Altitud Max a que altitud estaba la
parte del recorrido
y Min
mas alta y la mas baja
DESCRIPCION
Latitud de un punto
Longitud de un punto
Altitud mxima en la que se llego durante el recorrido
Altitud mnima a la que se estuvo durante el recorrido
Tiempo del recorrido
Distancia total del recorrido
Caloras que se quemaron durante el recorrido
DESCRIPCION
Usuario de la aplicacin
Contrasea del usuario de la aplicacin
Nombre que escoge el usuario de la
aplicacin
Email del usuario
14
String
Float
Sexo
Peso
4.2.3 Objetos
TIPO
Chronometer
NOMBRE
cronometro
GUI
app
Servicio de google
Servicio de google
DESCRIPCION
Es el dispositivo con la responsabilidad
de tomar el tiempo que el ciclista demora
en el recorrido
Interfaz
Es la interfaz grafica que se no es
proporcionada por Android
MotivaBici
aplicacin
Google Maps Elevation Google Maps Elevation API proporciona
Api
datos de elevacin para todas las
ubicaciones sobre la superficie terrestre.
Google Maps
Google Maps es un servidor de
aplicaciones de mapas en la web que
pertenece a Alphabet Inc
4.2.4
TIPO
ComputeDistanceBetween
StartChronometer
StopChronometer
NOMBRE
Distancia
inicio
Final
PauseChronometer
Pausa
ResumeState
Reanudar
Velocidad
Vel media
CalculoCalorias
c.c.q
DESCRIPCION
Encontrar la distancia entre dos puntos
Inicia a correr el cronometro
Detiene de manera definitiva el tiempo
del cronometro
Detiene momentneamente el tiempo del
cronometro
Sigue corriendo el tiempo del cronometro
que anteriormente se haba pausado
Calcula la velocidad media que el ciclista
tuvo en el recorrido
Estima la quema de caloras basndose en
el tiempo peso y dificultad
15
Cada una de estas pantallas estar totalmente en espaol y con grficos explicativos
para que el usuario pueda comprender fcilmente y acceder de una manera rpida y
eficaz.
5.2 Imgenes de Pantalla
Logo
Interfaz de inicio
Interfaz de Registro
16
Interfaz de Recorridos
Iniciar recorrido
Resumen de recorrido
Resumen de recorrido
17
Detalles de recorrido
Iniciar recorrido
En la esta pantalla encontraremos el cronmetro listo para empezar un recorrido con
el botn de Iniciar al presionar el botn iniciar de nuevo se pausara el cronometro
posteriormente tenemos el botn Detener para finalizar el recorrido.
Resumen de recorrido
En esta pantalla el usuario podr ver los detalles de los recorridos: distancia recorrida,
velocidad promedio, caloras.
Informacin detallada
Aqu el usuario podr ver con ms detalle, toda la informacin presentada en la pantalla
anterior. Finalmente habr un botn Terminar el cual permitir devolverse a la
Interfaz de inicio
6. MATRIX DE REQUERIMIENTOS
REQUERIMIENTO
RF01
RF02
RF03
RF04
RF05
RF06
RF07
RF08
RF09
RF010
RF011
RF012
NOMBRE
Recorrido Nuevo
Resumen de recorrido
Velocidad promedio
Tiempo de duracin del recorrido
Caloras quemadas
Coordenadas de un recorrido
Nota de un recorrido
Compartir en redes sociales
Registro en la aplicacin
Modificar perfil del usuario
Consultar recorridos anteriores
Almacenar datos de un recorrido
COMPONENTE O ESTRUCTURA
Componente NUCLEO - Clase CONTROL
Componente NUCLEO - Clase RECORRIDO
Componente NUCLEO - Clase RECORRIDO
Componente NUCLEO - Clase RECORRIDO
Componente NUCLEO - Clase RECORRIDO
Componente NUCLEO - Clase RECORRIDO
Componente NUCLEO - Clase RECORRIDO
Componente PANTALLA - Clase RECORRIDO
Componente NUCLEO - Clase RECORRIDO
Componente BASE DE DATOS - Clase USUARIO
Componente BASE DE DATOS - Clase CONTROL
Componente BASE DE DATOS - Clase CONTROL
19