Está en la página 1de 37

QR-TAXi

RAMÍREZ ESPEJO DAVID ALEJANDRO

CHIVATA GONZALEZ DIEGO FERNANDO

{dramireze1, dchivatag} @ucentral.edu.co

FERNÁNDEZ NIETO GLORIA MILENA

gfernandezn@ucentral.edu.co

Facultad de Ingeniería y Ciencias Básicas

Universidad Central

Bogotá 2018
TABLA DE CONTENIDO

1. Introducción...............................................................................................................................5
2. Descripción del problema...........................................................................................................5
3. Estado del arte...........................................................................................................................6
4. Objetivos....................................................................................................................................9
i. General...................................................................................................................................9
ii. Específicos..............................................................................................................................9
5. Alcance.......................................................................................................................................9
6. Análisis.....................................................................................................................................10
i. Diagrama de contexto..........................................................................................................10
ii. Definición de actores............................................................................................................11
iii. Requerimientos funcionales.................................................................................................12
iv. Requerimientos no funcionales............................................................................................14
v. Requerimientos técnicos......................................................................................................15
vi. Metodología de proyecto.....................................................................................................15
vii. Cronograma de proyecto..................................................................................................17
viii. Arquitectura de alto nivel.................................................................................................18
7. Diseño......................................................................................................................................20
i. Diagramas de casos de uso...................................................................................................20
ii. Diagrama de clases...............................................................................................................23
iii. Diagramas de actividades.....................................................................................................24
iv. Diagramas de secuencia.......................................................................................................27
v. Modelo de datos..................................................................................................................31
vi. Diagramas de componentes.................................................................................................32
vii. Diagramas de despliegue..................................................................................................33
viii. Mock ups..........................................................................................................................34
8. Bibliografía...............................................................................................................................37

2
LISTA DE TABLAS

Tabla 1 Comparativa SIMUR vs QR-TAXI............................................................................................6


Tabla 2 Actor-Usuario.......................................................................................................................11
Tabla 3 Actor-Admin Empresa TAXIS................................................................................................11
Tabla 4 Actor-Base de Datos............................................................................................................11
Tabla 5 Actor-App QR-TAXi..............................................................................................................11
Tabla 6 Capturar imagen código QR.................................................................................................12
Tabla 7 Valorar servicio conductor...................................................................................................12
Tabla 8 Verificar calificaciones de conductores................................................................................12
Tabla 9 Registrar usuario..................................................................................................................12
Tabla 10 Registrar conductor...........................................................................................................13
Tabla 11 Registrar vehículo..............................................................................................................13
Tabla 12 Tomar foto del conductor..................................................................................................13
Tabla 13 Relacionar conductores a vehículos...................................................................................13
Tabla 14 Disponibilidad aplicación móvil.........................................................................................14
Tabla 15 Visualización de los datos del conductor...........................................................................14
Tabla 16 Conectividad del dispositivo móvil.....................................................................................14
Tabla 17 Integridad de datos............................................................................................................14
Tabla 18 Permisos y accesos al sistema............................................................................................14
Tabla 19 Motor de base de datos.....................................................................................................15
Tabla 20 Aplicación Móvil................................................................................................................15
Tabla 21 Cronograma proyecto........................................................................................................17
Tabla 22 Comparativa en el desarrollo de aplicaciones...................................................................20

3
LISTA DE ILUSTRACIONES

Ilustración 1 Diagrama Contexto App QR-TAXi.................................................................................10


Ilustración 2 Ciclo de Desarrollo Metodología MOBILE-D................................................................16
Ilustración 3 Arquitectura de tres capas...........................................................................................18
Ilustración 4 Arquitectura de Aplicaciones Web Híbridas................................................................19
Ilustración 5 Caso de uso captura código QR...................................................................................20
Ilustración 6 Caso de uso valorar servicio conductor.......................................................................21
Ilustración 7 Caso de uso Registrar usuarios, Taxistas o vehículos...................................................21
Ilustración 8 Caso de uso Tomar foto del conductor........................................................................22
Ilustración 9 Caso de uso Relacionar conductores a vehículos.........................................................22
Ilustración 10 Diagrama de clases App QR-TAXi...............................................................................23
Ilustración 11 Diagrama de actividades Capturar imagen código QR...............................................24
Ilustración 12 Diagrama de actividades Valorar servicio conductor.................................................24
Ilustración 13 Diagrama de actividades Registrar usuario................................................................25
Ilustración 14 Diagrama de actividades Registrar conductor...........................................................25
Ilustración 15 Diagrama de actividades Registrar vehículo..............................................................26
Ilustración 16 Diagrama de actividades Tomar foto del conductor..................................................26
Ilustración 17 Diagrama de actividades Relacionar conductores a vehículos...................................27
Ilustración 18 Diagrama de secuencia Capturar imagen código QR.................................................27
Ilustración 19 Diagrama de secuencia Valorar servicio conductor...................................................28
Ilustración 20 Ilustración 13 Diagrama de secuencia Registrar usuario...........................................28
Ilustración 21 Diagrama de secuencia Registrar conductor.............................................................29
Ilustración 22 Diagrama de secuencia Registrar vehículo................................................................29
Ilustración 23 Diagrama de secuencia Tomar foto del conductor....................................................30
Ilustración 24 Diagrama de secuencia Relacionar conductores a vehículos.....................................30
Ilustración 25 Modelo de datos App QR-TAXi..................................................................................31
Ilustración 26 Diagrama componentes App QR-TAXi.......................................................................32
Ilustración 27 Diagrama despliegue App QR-TAXi...........................................................................33
Ilustración 28 Pantalla carga App QR-TAXi.......................................................................................34
Ilustración 29 Pantalla selección tipo usuario..................................................................................34
Ilustración 30 Pantalla captura código QR........................................................................................35
Ilustración 31 Pantalla datos taxi registrado....................................................................................35
Ilustración 32 Pantalla conductor registrado...................................................................................36
Ilustración 33 Pantalla login usuario................................................................................................36

4
1. Introducción
El servicio que prestan los Vehículos de Transporte Público Individual (Taxi) en Bogotá es
fundamental para la movilidad de la ciudad. Se estima que hay un total de 49.779 vehículos
inscritos en el Registro Distrital Automotor - RDA, con tarjeta de operación vigente y que presta el
servicio de transporte en el radio de acción urbano de Bogotá D.C. [1].

En la cotidianidad de la ciudad de Bogotá, existen diversas opiniones sobre la prestación del


servicio de taxi, todas ellas dependiendo desde la óptica de la cual se observe; para unos, es un
servicio cómodo y relativamente ágil, para otros es un foco de delincuencia donde se realizan
actos de carácter criminal. Todo esto gracias a la facilidad con la que se puede eludir los
mecanismos de control con los que dispone el distrito para reglamentar el servicio.

Por esta razón es fundamental generar un mecanismo de control fácil de consultar para el usuario
y fácil de actualizar para las diferentes empresas de taxis que permita mejorar la sensación de
seguridad al usuario y generar una confianza en el gremio taxista, el cual en su mayoría son
personas que solo quieren prestar un servicio de calidad y confianza.

2. Descripción del problema


Una encuesta hecha por la Secretaría Distrital de Movilidad arrojó como resultado que el 30% de
los ciudadanos encuentra reparos en el cobro excesivo de las carreras y el 30% manifiesta su
inconformismo por las carreras negadas. En general, el 70% de los usuarios de taxis no están
satisfechos con el servicio. [2]

Asimismo, la inseguridad en la ciudad de Bogotá ha incrementado y el Transporte Público


Individual también se encuentra afectado, al momento en que un Usuario aborda un vehículo de
Transporte Público Individual le surge la duda de si llegará seguro a su destino o si algo malo le
podrá suceder.

Para mitigar un poco estos problemas los vehículos de Transporte Público Individual cuentan con
una planilla de identificación en la que se registra el número de placa y los datos del conductor,
pero el problema para el usuario es que no tiene sistema alguno que le permita verificar que tan
cierta es esa información. La facilidad con la que estas planillas pueden ser alteradas o falsificadas
hace que este sistema sea desconfiable para el usuario.

Con este problema en presencia surge la idea de desarrollar una aplicación móvil que tenga una
base de datos fácil de usar, confiable y actualizada con los datos relevantes del vehículo y de los
conductores que operan este medio de transporte.

Antes de subir al vehículo de Transporte Público Individual el usuario puede escanear un código
QR que le facilitará toda la información relacionada al vehículo al que se va a subir, otros objetivos
que tiene la aplicación es la de generar una calificación para el servicio prestado por los
conductores.

5
¿Cómo se puede mitigar la sensación de inseguridad que tienen los usuarios de Vehículos de
Transporte Público Individual en Bogotá, al momento de abordar el vehículo?

3. Estado del arte


En la actualidad la Secretaria de Movilidad está adelantando iniciativas para la regulación del
transporte público individual y su salto tecnológico, todo esto con el fin de mejorar el servicio y la
seguridad para los usuarios.

A continuación, se muestra algunos de estos proyectos de desarrollo que la Secretaria de


Movilidad pretende implementar a los ciudadanos de Bogotá.

SIMUR

La Secretaría Distrital de Movilidad cuenta con la aplicación “SIMUR” (Sistema Integrado de


Información sobre Movilidad Urbano Regional), una herramienta que facilita a los ciudadanos
datos sobre la movilidad de la ciudad, ver georreferenciada la ubicación de parqueaderos y ciclo
parqueaderos, entre otros servicios a los cuales se tiene acceso a través de cualquier teléfono
inteligente.

¿Qué se puede encontrar en SIMUR?

Digitando el número de la placa del taxi, se podrá conocer toda la información acerca de este
como (marca, línea, carrocería, clase, color y empresa a la cual se encuentra afiliado), además del
nombre del conductor. [3]

  PERMITE PERMITE PERMITE PERMITE


CONSULTA CONSULTA CALIFICAR AL FÁCIL ACCESO
INFORMACIÓ INFORMACIÓ CONDUCTOR A LA
N TAXI N TAXISTA TAXI INFORMACIÓ
N (CÓDIGO
QR)
SIMUR Si Si No no
QR-Taxi Si Si Si Si
Tabla 1 Comparativa SIMUR vs QR-TAXI

Resolución Reglamentaria Para Modernización del Servicio de TAXI

La Resolución establece los procedimientos para que las empresas de taxi registren la información
de sus conductores y dispositivos móviles en el nuevo Sistema de Información y Registro de
Conductores (SIRC). Al mismo tiempo, establece las características mínimas recomendadas que
deben cumplir dichos dispositivos.

La información que las empresas de taxi deben suministrar a los usuarios antes, durante y al
finalizar el servicio, cuenta con un título especial en la nueva normativa expedida por la Secretaría
Distrital de Movilidad. [4]

Modernización del Servicio de TAXI en Bogotá

6
La modernización del servicio de taxis consiste en aprovechar las nuevas tecnologías para mejorar
el servicio en aspectos como seguridad, calidad y confort para los usuarios, y así mismo aumentar
la capacidad de control por parte de las autoridades. [5]

Incluye tres componentes:

● Migración obligatoria a plataformas tecnológicas.


● Nuevo sistema de registro de conductores.
● Renovación progresiva de la flota de taxis.

Tappsi

Aplicación creada para tratar de simplificar la forma actual en que se piden o reservan taxis. La
idea principal es no esperar tanto tiempo en el teléfono, esperando a que la operadora de una
empresa de taxis decida atender tu llamada para luego enviarte un taxi (o decirte que no hay taxis
cerca).

Esta aplicación fue lanzada en Colombia en octubre del 2013 y, donde tiene más de 20 mil taxis
inscritas y más de 8 millones de usuarios la han utilizado.

Tappsi funciona con dos aplicativos:

a) Tappsi – Taxi Seguro: Para los usuarios y funciona de la manera que ya muchos conocemos: el
GPS nos ubica en el mapa, la empresa nos envía el auto más cercano y los clientes reciben los
datos del chofer y el vehículo, tanto los básicos como la ruta que está siguiendo en tiempo real.

b) Tappsi Taxista: Para los taxistas. Estos portan un dispositivo que les avisa los pedidos y las
ubicaciones exactas. Los datos solicitados para el registro son: nombre, correo electrónico,
número de celular, indicar si es conductor o propietario y la ciudad en la que circula. Los
requerimientos básicos para utilizar esta aplicación son tener Android (mínimo versión 2.3), contar
con GPS, 3G y plan de datos o WIFI.

La nueva funcionalidad implementada como diferenciador de otras aplicaciones es que les permite
a sus usuarios saber el costo de la carrera de antemano, también podrán pagar por la carrera con
su tarjeta de crédito, funcionalidad de pagos móviles, algo novedoso en el mercado móvil de
Latinoamérica. Se puede. Compartir la información del taxi vía redes sociales, correo electrónico,
WhatsApp y mensaje de texto.

Cuenta con un servicio VIP. Se trata de estas ocasiones especiales, como una urgencia, en la que
necesitas sí o sí un vehículo en el momento, se establece un monto de propina para el chofer, con
incentivo para que te recoja antes que a nadie.

Easy Taxi

Easy Taxi es una aplicación que conecta al pasajero con el taxi disponible más cercano. Ofreciendo
un servicio más rápido, práctico y seguro con tan sólo un clic.

Fundada en Sao Paulo (Brasil) en junio de 2011, Easy Taxi es la pionera con el servicio de solicitud
de taxi de América Latina.

7
Funcionalidad para el taxista

Para aceptar un servicio, basta con hacer un clic. Esto hará que aparezcan los datos del pasajero en
tiempo real (nombre, ubicación, punto de referencia y teléfono). Funciona durante las 24 horas del
día.

Funcionalidad para el pasajero

El pasajero confirma su ubicación en el mapa y hace clic en “llamar taxi”. Se puede incluir una
referencia de su ubicación, para facilitarle al taxista la localización. Es seguro para el pasajero.

Sistema móvil para la verificación de taxistas – TaxiAviso

Aplicación disponible para Apple y Android.

Desarrollado por: Emilio Güémez

País: México Fecha: Mayo, 2011

Aplicación mexicana que permite verificar si la placa es legal y, si lo abordan envía el número por
correo y redes sociales. Tiene conexión a la red policial mexicana.

El objetivo de la aplicación es evitar que se produzcan delitos a bordo de taxis y garantizar que su
servicio sea de calidad, son los dos objetivos principales de la aplicación para teléfonos
inteligentes, lanzada por el Gobierno del Distrito Federal.

La aplicación está disponible para teléfonos inteligentes con sistemas Android e IOS (iPhone) y
sirve para, anotando la matrícula de los vehículos públicos, poder comprobar si son legales y
tienen algún reporte de incidencias a bordo.

Para ello, la aplicación conecta con la base de datos de las 130.000 taxis reguladas existentes en la
capital mexicana. Una vez instalada en los teléfonos y luego de haber introducido el número de
matrícula, aparece un reporte de si el taxi es legal y si alguien ha hecho algún comentario de este.

Si decides abordarlo, se pone en marcha un sistema por el que, primero, se puede publicar
automáticamente en las redes sociales Facebook y Twitter el número de placas, o enviar a una lista
de correos de tu elección, con el lugar en el que abordas el taxi.

TaxiAviso tiene además una opción avanzada de pago con un “botón del pánico” que se puede
apretar en el caso de emergencia y que activa un dispositivo de seguridad parecido al de las
alarmas del hogar. Así, el aviso llega al Consejo Ciudadano y este realiza una llamada al usuario y,
en el caso de que este no conteste, se llama a la Policía, en un intervalo de menos de 6 minutos.

La aplicación cumple con dos fines, uno la prevención, que en la Ciudad de México se continúe con
esta tendencia de que no haya robos a bordo de taxis y otro, aumentar la facilidad que tenga una
persona para poder tomar un taxi.

Según datos del consejo, en el año 2011 se produjeron en Ciudad de México un total de 1.038
robos con violencia contra pasajeros que abordaron un taxi. [6]

8
4. Objetivos

i. General

Desarrollar una aplicación móvil que permita al usuario de vehículos de Transporte Público
Individual (Taxi) en Bogotá, validar la legalidad del servicio mediante una información clara y de
fácil acceso, así como la oportunidad de realizar una evaluación de los conductores que brindan
este servicio.

ii. Específicos

✓ Brindar información de los conductores a los usuarios de vehículos de Transporte Público


Individual mediante un sistema de fácil acceso y de manera clara.
✓ Proporcionar una base de datos de los conductores y vehículos de Transporte Público
Individual en Bogotá para poder controlar la ilegalidad en Bogotá.
✓ Aplicar una metodología de desarrollo que permita la producción de una aplicación móvil de
manera rápida, sencilla y económica.
✓ Comprender el funcionamiento de la tecnología de códigos “QR” para su implementación en
la aplicación móvil.

5. Alcance
El proyecto está planteado para ser desarrollado como un prototipo funcional que permitirá a uno
o varios usuarios realizar acciones de consulta, calificación y almacenamiento de datos de los
usuarios, vehículos y conductores en una Base de Datos.

Con el desarrollo de este proyecto se pretende identificar y comprender cuales son los pasos
necesarios para el desarrollo de una aplicación móvil que capture e identifique códigos “QR”, y a
su vez interactúa con una Base de Datos para el almacenamiento y lectura de información.

9
6. Análisis

i. Diagrama de contexto

El diagrama de contexto muestra a través de flujos de datos las interacciones existentes entre los
agentes externos y el sistema, sin describir en ningún momento la estructura del sistema de
información.

Ilustración 1 Diagrama Contexto App QR-TAXi

En este tipo de diagrama, el sistema de información se representa como un único proceso de muy
alto nivel con entradas y salidas hacia los agentes externos que lo limitan, de forma equivalente a
una caja negra. Ilustración

10
ii. Definición de actores

Se le llama actor a toda entidad externa al sistema que guarda una relación con éste y que le
demanda una funcionalidad. Esto incluye a los operadores humanos, pero también incluye a todos
los sistemas externos.

NOMBRE E AO1-USUARIO
IDENTIFICADOR
Descripción Usuario de la aplicación móvil con roles de
consulta y calificación de conductores.
RF que utiliza  

Tabla 2 Actor-Usuario

NOMBRE E AO2-ADMIN APLICACIÓN


IDENTIFICADOR
Descripción Usuario con roles de administración, que
alimenta la BD de conductores y vehículos.
RF que utiliza  

Tabla 3 Actor-Admin Empresa TAXIS

NOMBRE E AO3-BASE DE DATOS


IDENTIFICADOR
Descripción Conjunto de datos de usuarios, vehículos y
conductores almacenados sistemáticamente
para su posterior uso. 
RF que utiliza  Todos.

Tabla 4 Actor-Base de Datos

NOMBRE E AO4-APP QR-TAXI


IDENTIFICADOR
Descripción Aplicación móvil con l capacidad de
identificar códigos “QR”, calificar condures y
consultar una BD especifica. 
RF que utiliza Todos

Tabla 5 Actor-App QR-TAXi

11
iii. Requerimientos funcionales

Los requerimientos funcionales son declaraciones de los servicios que proveerá el sistema, de la
manera en que éste reaccionará a entradas particulares. En algunos casos, los requerimientos
funcionales de los sistemas también declaran explícitamente lo que el sistema no debe hacer.

NOMBRE E RF01 - CAPTURAR IMAGEN CÓDIGO QR


IDENTIFICADOR
Descripción Por medio de un dispositivo móvil se toma una foto del código QR del
vehículo.
Entradas Imagen código QR.

Salidas Información básica de los conductores de un vehículo en especial /


"Vehículo no registrado" en caso de que el vehículo no se encuentre en
BD.
Tabla 6 Capturar imagen código QR

NOMBRE E RF02 - CALIFICAR SERVICIO CONDUCTOR


IDENTIFICADOR
Descripción Se valora el servicio prestado por el conductor, por medio de un puntaje
de 1 a 5.
Entradas Valoración del usuario por el servicio prestado.

Salidas Promedio de las calificaciones de los usuarios.

Tabla 7 Valorar servicio conductor

NOMBRE E RF03 - VERIFICAR CALIFICACIONES DE CONDUCTORES


IDENTIFICADOR
Descripción Se verifica las calificaciones del servicio realizadas a un conductor del
vehículo que se va a abordar.
Entradas N/A

Salidas Calificación obtenida por el conductor.

Tabla 8 Verificar calificaciones de conductores

NOMBRE E RF04 - REGISTRAR USUARIO


IDENTIFICADOR
Descripción Un usuario se registra para poder usar la aplicación móvil.

Entradas Datos para registro: nombres, apellidos, correo y clave.

Salidas Usuario registrado.

Tabla 9 Registrar usuario

12
NOMBRE E RF05 - REGISTRAR CONDUCTOR
IDENTIFICADOR
Descripción Un conductor es registrado en la base de datos.

Entradas Datos para registro: nombres, apellidos, correo, teléfono, cedula, foto y
pase.
Salidas Datos del conductor almacenados en la base de datos.
Conductor registrado.
Tabla 10 Registrar conductor

NOMBRE E RF06 - REGISTRAR VEHÍCULO


IDENTIFICADOR
Descripción Un vehículo es registrado en la base de datos.

Entradas Datos para registro: modelo, marca, placa, empresa a la que pertenece y
numero carta propiedad.
Salidas Datos del vehículo almacenados en la base de datos.
Vehículo registrado.
Tabla 11 Registrar vehículo

NOMBRE E RF07 - TOMAR FOTO DEL CONDUCTOR


IDENTIFICADOR
Descripción Se toma la foto del conductor para su posterior registro en la base de
datos de conductores.
Entradas Fotografía del conductor.

Salidas Fotografía del conductor.

Tabla 12 Tomar foto del conductor

NOMBRE E RF08 - RELACIONAR CONDUCTORES A VEHÍCULOS


IDENTIFICADOR
Descripción Asociar los conductores correspondientes a sus vehículos

Entradas Identificadores (ID) de conductores y vehículos.

Salidas Lista de conductores asociados.

Tabla 13 Relacionar conductores a vehículos

13
iv. Requerimientos no funcionales

Los requerimientos no funcionales son aquellos requerimientos que no se refieren directamente a


las funciones específicas que entrega el sistema, sino a las propiedades emergentes de éste como
la fiabilidad, la respuesta en el tiempo y la capacidad de almacenamiento.

NOMBRE E RNF01 - DISPONIBILIDAD APLICACION MÓVIL


IDENTIFICADOR
Descripción del RNF La aplicación móvil debe estar disponible 24/7.

Atributo de calidad Disponibilidad


asociado
Tabla 14 Disponibilidad aplicación móvil

NOMBRE E RNF02 - VISUALIZACIÓN DE LOS DATOS DEL CONDUCTOR


IDENTIFICADOR
Descripción del RNF LA aplicación móvil debe mostrar después de escaneado el código QR los
datos de los conductores en menos de 5 segundos.
Atributo de calidad Presentación
asociado
Tabla 15 Visualización de los datos del conductor

NOMBRE E RNF03 - CONECTIVIDAD DEL DISPOSITIVO MÓVIL


IDENTIFICADOR
Descripción del RNF El dispositivo móvil debe estar conectado a internet para su
funcionamiento.
Atributo de calidad Conectividad
asociado
Tabla 16 Conectividad del dispositivo móvil

NOMBRE E RNF04 - INTEGRIDAD DE DATOS


IDENTIFICADOR
Descripción del RNF Corroborar la integridad referencial y seguridad de los datos.

Atributo de calidad Integridad


asociado
Tabla 17 Integridad de datos

NOMBRE E RNF05 - PERMISOS Y ACCESOS AL SISTEMA


IDENTIFICADOR
Descripción del RNF Los permisos y accesos al sistema pueden ser cambiados por un
administrador del sistema
Atributo de calidad Administración
asociado
Tabla 18 Permisos y accesos al sistema

14
v. Requerimientos técnicos

Los requerimientos técnicos son todos aquellos que el sistema va a necesitar para su
funcionamiento en este caso se describen las plataformas de software donde se pretende que
corra nuestra aplicación web y el motor de base de datos donde se alojaran los datos que genere
la aplicación.

NOMBRE E RT01 - MOTOR DE BASE DE DATOS


IDENTIFICADOR
Tipo Software

Descripción Se requiere que la aplicación sea desarrollada en Oracle última versión


disponible.
Tabla 19 Motor de base de datos

NOMBRE E RT02 - APLICACION MÓVIL


IDENTIFICADOR
Tipo Software

Descripción La aplicación debe ser desarrollado para sistemas operativos IOS y Android

Tabla 20 Aplicación Móvil

vi. Metodología de proyecto

En el mundo del desarrollo de software existen muchos métodos de desarrollo, cada uno con sus
puntos fuertes y sus puntos débiles. En el caso del desarrollo de aplicaciones móviles sucede lo
mismo.

Una de las características importantes de la gran mayoría de los desarrollos móviles es su corta
duración. Esto se debe a factores como la gran competencia en el sector, los cambios en el mismo
con la aparición, casi constante, de novedades tanto software como hardware, el hecho de que
muchas aplicaciones nacen con un desarrollo precoz en forma de prototipo y van evolucionando
después o incluso la simplicidad de las aplicaciones, que no requieren grandes desarrollos.

Mobile-D

Mobile-D es una mezcla de muchas técnicas. Tal como se verá luego, los investigadores no
dudaron en echar mano de las prácticas habituales de desarrollo software. Pero, al mismo tiempo,
consiguieron crear una contribución original para el nuevo escenario del desarrollo de aplicaciones
para sistemas móviles. Creemos que este ejemplo ilustra perfectamente cómo se pueden usar
conjuntamente diferentes metodologías y técnicas en el contexto del desarrollo ágil.

La metodología se creó en un periodo de intenso crecimiento en el terreno de las aplicaciones


móviles. Por tanto, en ese momento no existían demasiados principios de desarrollo a los que
acudir. Los autores de Mobile-D apuntan a la necesidad de disponer de un ciclo de desarrollo muy
rápido para equipos muy pequeños. De acuerdo con sus suposiciones, Mobile-D está pensado

15
para grupos de no más de 10 desarrolladores colaborando en un mismo espacio físico. Si trabajan
con el ciclo de desarrollo propuesto, los proyectos deberían finalizar con el lanzamiento de
productos completamente funcionales en menos de diez semanas.

Principios básicos

La aproximación de Mobile-D se ha apoyado en muchas otras soluciones bien conocidas y


consolidadas: eXtreme Programming (XP) [7], Crystal Methodologies [8] y Rational Unified Process
(RUP) [9]. Los principios de programación extrema se han reutilizado en lo que se refiere a las
prácticas de desarrollo, las metodologías Crystal proporcionaron un input muy valioso en términos
de la escalabilidad de los métodos y el RUP es la base para el diseño completo del ciclo de vida.

El ciclo del proyecto se divide en cinco fases: exploración, inicialización, producción, estabilización
y prueba del sistema (ilustración 2). En general, todas las fases (con la excepción de la primera fase
exploratoria) contienen tres días de desarrollo distintos: planificación, trabajo y liberación. Se
añadirán días para acciones adicionales en casos particulares (se necesitarán días para la
preparación del proyecto en la fase de inicialización, por ejemplo).

Ilustración 2 Ciclo de Desarrollo Metodología MOBILE-D

La fase de exploración, siendo ligeramente diferente del resto del proceso de producción, se
dedica al establecimiento de un plan de proyecto y los conceptos básicos. por lo tanto, se puede
separar del ciclo principal de desarrollo (aunque no debería obviarse). Los autores de la
metodología ponen además especial atención a la participación de los clientes en esta fase.

Durante la fase de inicialización, los desarrolladores preparan e identifican todos los recursos
necesarios. Se preparan los planes para las siguientes fases y se establece el entorno técnico
(incluyendo el entrenamiento del equipo de desarrollo). Los autores de Mobile-D afirman que su
contribución al desarrollo ágil se centra fundamentalmente en esta fase, en la investigación de la
línea arquitectónica. Esta acción se lleva a cabo durante el día de planificación. Los desarrolladores
analizan el conocimiento y los patrones arquitectónicos utilizados en la empresa (extraídos de
proyectos anteriores) y los relacionan con el proyecto actual. Se agregan las observaciones, se
identifican similitudes y se extraen soluciones viables para su aplicación en el proyecto.
Finalmente, la metodología también contempla algunas funcionalidades nucleares que se
desarrollan en esta fase, durante el día de trabajo.

En la fase de producción se repite la programación de tres días (planificación-trabajo-liberación) se


repite iterativamente hasta implementar todas las funcionalidades. Primero se planifica la

16
iteración de trabajo en términos de requisitos y tareas a realizar. Se preparan las pruebas de la
iteración de antemano (de ahí el nombre de esta técnica de Test-Driven Development, TDD). Las
tareas se llevarán a cabo durante el día de trabajo, desarrollando e integrando el código con los
repositorios existentes. Durante el último día se lleva a cabo la integración del sistema (en caso de
que estuvieran trabajando varios equipos de forma independiente) seguida de las pruebas de
aceptación.

En la fase de estabilización, se llevan a cabo las últimas acciones de integración para asegurar que
el sistema completo funciona correctamente. Esta será la fase más importante en los proyectos
multi-equipo con diferentes subsistemas desarrollados por equipos distintos. En esta fase, los
desarrolladores realizarán tareas similares a las que debían desarrollar en la fase de producción,
aunque en este caso todo el esfuerzo se dirige a la integración del sistema. Adicionalmente se
puede considerar en esta fase la producción de documentación.

La última fase (prueba y reparación del sistema) tiene como meta la disponibilidad de una versión
estable y plenamente funcional del sistema. El producto terminado e integrado se prueba con los
requisitos del cliente y se eliminan todos los defectos encontrados. [10]

Justificación de la elección de MOBILE–D

Mobile-D al combinar los beneficios de las metodologías XP, Crystal y RUP proporciona las
siguientes razones para ser la metodología seleccionada en el desarrollo del proyecto:

● Es una metodología ágil con ciclos de desarrollo cortos y para equipos pequeños.
● Está diseñada especialmente para el desarrollo de aplicaciones móviles.
● Facilidad para detectar y resolver tempranamente problemas técnicos.
● Baja densidad de defectos en las liberaciones de los productos.
● Se basa en el desarrollo basado en pruebas que es una de las mejores formas de asegurar
la calidad.
● Se logra mejores diseños al basarse en el desarrollo basado en pruebas.
● Tiene un enfoque centrado en la satisfacción del usuario final, permitiendo mejorar el
producto al realizar iteraciones cortas.
● Las tareas por realizar en cada fase están bien detalladas.

vii. Cronograma de proyecto

El cronograma que se presenta a continuación se encuentra basado en la metodología ágil Mobile-


D, es necesario resaltar que esta es una metodología ágil basada en ciclos por lo cual este
cronograma es altamente modificable.

  Semanas
  1 2 3 4 5 6 7 8 9 10 11 12 13 14
Exploración                            
Inicialización                            
Producción                            
Estabilización                            
Pruebas                            

17
Tabla 21 Cronograma proyecto

viii. Arquitectura de alto nivel

Arquitectura basada en capas.

La arquitectura basada en capas se enfoca en la distribución de roles y responsabilidades de forma


jerárquica proveyendo una forma muy efectiva de separación de responsabilidades. El rol indica el
modo y tipo de interacción con otras capas, y la responsabilidad indica la funcionalidad que está
siendo desarrollada.

Ilustración 3 Arquitectura de tres capas

Por ejemplo, una aplicación web típica está compuesta por una capa de presentación
(funcionalidad relacionada con la interfaz de usuario), una capa de negocios (procesamiento de
reglas de negocios) y una capa de datos (funcionalidad relacionada con el acceso a datos). [11]

Ventajas de la arquitectura en 3 capas

Separación clara de la interfaz de usuario de la lógica de la aplicación. Esta separación permite


tener diferentes presentaciones accediendo a la misma lógica

La redefinición del almacenamiento de información no tiene influencia sobre la presentación

Reduce el tráfico de información en la red por lo que mejora el rendimiento de los sistemas.

Brinda una mayor flexibilidad de desarrollo y de elección de plataformas sobre la cual montar las
aplicaciones.

Se mantiene la independencia entre el código de la aplicación (reglas y conocimiento del negocio)


y los datos, mejorando la portabilidad de las aplicaciones.

Arquitectura de Aplicaciones Web Híbridas.

18
Es un software de aplicación que es creado para correr en dispositivos móviles, como smartphones
y tablets. Las primeras aplicaciones móviles aparecieron tan temprano como en los principios del
siglo 20, la mayoría de ellos consistían en juegos de video, calculadoras, y editores de tono de
llamada. Un Software más sofisticado comenzó a aparecer en dispositivos móviles en el 2008,
aunque la mayoría de ellos fueron creados a conveniencia general e incluían cosas como un
calendario, información sobre el clima, o una lista de contactos.

Tipo de Aplicaciones

Hay 3 tipos de aplicaciones:

Nativa: Las aplicaciones nativas son específicamente creadas para una plataforma, como iPhone o
Android, y pueden hacer uso de todas las características del dispositivo, como la cámara, GPS, lista
de contactos, y notificaciones del sistema. Son llamadas aplicaciones nativas porque son “nativas”
de cualquiera que sea el dispositivo para el que fueron desarrolladas para usar. Estas son las
aplicaciones se puede generalmente encontrar en lugares como Google Play o la Tienda de
Aplicaciones de Apple (Apple’s App Store). Estas aplicaciones son generalmente las más rápidas de
los tres tipos de aplicaciones.

Web: Una aplicación web es un sitio web que actúa como una aplicación nativa, pero no están
instaladas o implementadas de la misma forma. Ellas usan un navegador web y usualmente usan
HTML5. También se apoyan en un navegador web en común de acuerdo para interpretar la
aplicación. Sin embargo, la distinción entre aplicaciones nativas y aplicaciones web está
volviéndose cada vez más pequeña mientras más sitios comienzan a usar HTML5. Una aplicación
web puede tener algunas ventajas sobre una aplicación nativa porque son más fáciles de crear y
desarrollar y proveen compatibilidad entre plataformas.

Ilustración 4 Arquitectura de Aplicaciones Web Híbridas.

Híbrida: Una aplicación híbrida es justo lo que el nombre indica una combinación entre una
aplicación web y una aplicación nativa. Ellas “viven” en una tienda de aplicaciones y pueden hacer
uso de las características del dispositivo casi de la misma forma que una aplicación nativa. [12]

19
Web Hibrida Nativa
Coste de desarrollo Razonable Razonable Caro
Tiempo de desarrollo Corto Corto Largo
Portabilidad Alto Alto Ninguna
Rendimiento Rápido Velocidad nativa si se necesita Muy rápido
Funcionalidad Nativa No Todas Todas
Distribución en AppStores No Si Si
Extensibilidad No Si Si
Tabla 22 Comparativa en el desarrollo de aplicaciones

7. Diseño

i. Diagramas de casos de uso

En el modelado orientado a objetos los diagramas de casos de uso son los que representan en
general el funcionamiento del sistema siendo estos los más utilizados como base del desarrollo de
un modelo real, representan casos de uso, actores y relaciones, se utilizan especialmente para
organizar y modelar el comportamiento de un sistema.

Ilustración 5 Caso de uso captura código QR

20
Ilustración 6 Caso de uso valorar servicio conductor

Ilustración 7 Caso de uso Registrar usuarios, Taxistas o vehículos

21
Ilustración 8 Caso de uso Tomar foto del conductor

Ilustración 9 Caso de uso Relacionar conductores a vehículos

22
ii. Diagrama de clases

Representa un conjunto de clases, interfaces y colaboraciones, y las relaciones entre ellas. Los
diagramas de clases son los diagramas más comunes en el modelado de sistemas orientados a
objetos. Estos diagramas se utilizan para describir la vista de diseño estática de un sistema,
incluyen clases activas se utilizan para cubrir la vista de procesos estática de un sistema.

Ilustración 10 Diagrama de clases App QR-TAXi

23
iii. Diagramas de actividades

Muestra el flujo de actividades en un sistema, muestra el flujo secuencial o ramificado de


actividades y los objetos en los que actúa, son importantes para modelar la función de un sistema,
así como para resaltar el flujo de control entre objeto.

Ilustración 11 Diagrama de actividades Capturar imagen código QR

Ilustración 12 Diagrama de actividades Valorar servicio conductor

24
Ilustración 13 Diagrama de actividades Registrar usuario

Ilustración 14 Diagrama de actividades Registrar conductor

25
Ilustración 15 Diagrama de actividades Registrar vehículo

Ilustración 16 Diagrama de actividades Tomar foto del conductor

26
Ilustración 17 Diagrama de actividades Relacionar conductores a vehículos

iv. Diagramas de secuencia

Es un diagrama de interacción que resalta la ordenación temporal de los mensajes, este presenta
un conjunto de objetos y los mensajes enviados por ellos. Los objetos suelen ser instancias con
nombre, pueden representar instancias de otros elementos, tales como colaboraciones,
componentes y nodos, se utilizan para describir la vista dinámica de un sistema.

Ilustración 18 Diagrama de secuencia Capturar imagen código QR

27
Ilustración 19 Diagrama de secuencia Valorar servicio conductor

Ilustración 20 Ilustración 13 Diagrama de secuencia Registrar usuario

28
Ilustración 21 Diagrama de secuencia Registrar conductor

Ilustración 22 Diagrama de secuencia Registrar vehículo

29
Ilustración 23 Diagrama de secuencia Tomar foto del conductor

Ilustración 24 Diagrama de secuencia Relacionar conductores a vehículos

30
v. Modelo de datos

Un modelo de base de datos muestra la estructura lógica de la base, incluidas las relaciones y
limitaciones que determinan cómo se almacenan los datos y cómo se accede a ellos. Los modelos
de bases de datos individuales se diseñan en base a las reglas y los conceptos de cualquier modelo
de datos más amplio que los diseñadores adopten. La mayoría de los modelos de datos se pueden
representar por medio de un diagrama de base de datos acompañante.

Ilustración 25 Modelo de datos App QR-TAXi

31
vi. Diagramas de componentes

Un diagrama de componentes representa cómo un sistema de software es dividido en


componentes y muestra las dependencias entre estos componentes. Los componentes físicos
incluyen archivos, cabeceras, bibliotecas compartidas, módulos, ejecutables, o paquetes.

Con este tipo de diagramas se representan entidades reales, esto es, componentes de software.
Un componente de software puede ser una tabla, un archivo de datos, un ejecutable,
documentos, un applet de Java, etc.

Ilustración 26 Diagrama componentes App QR-TAXi

32
vii. Diagramas de despliegue

Diagrama de Despliegue es un tipo de diagrama del Lenguaje Unificado de Modelado que


muestran las relaciones físicas de los distintos nodos que componen un sistema y el reparto de los
componentes sobre dichos nodos.

Los diagramas de despliegue son los complementos de los diagramas de componentes que,
unidos, proveen la vista de implementación del sistema. Describen la topología del sistema la
estructura de los elementos de hardware y el software que ejecuta cada uno de ellos. Los
diagramas de despliegue representan a los nodos y sus relaciones. Los nodos son conectados por
asociaciones de comunicación tales como enlaces de red, conexiones TCP/IP.

Ilustración 27 Diagrama despliegue App QR-TAXi

33
viii. Mock ups

Un mockup, mock-up, o maqueta es un modelo a escala o tamaño real de un diseño o un


dispositivo, utilizado para la demostración, evaluación del diseño, promoción, y para otros fines.
Un mockup es un prototipo si proporciona al menos una parte de la funcionalidad de un sistema y
permite pruebas del diseño.

Ilustración 28 Pantalla carga App QR-TAXi

Selección servicio Selección servicio


de administrador de usuario para
App empresa taxi escanear código
para ingreso de QR
daros a la BD

Ilustración 29 Pantalla selección tipo usuario

34
Pantalla donde el
usuario tomara la
foto para la lectura
del código QR

Ilustración 30 Pantalla captura código QR

Datos básicos del


vehículo que
Listado con los prestara el servicio
conductores
registrados que
manejan el
vehículo

Ilustración 31 Pantalla datos taxi registrado

35
Datos básicos del
Promedio de conductor
calificación seleccionado
otorgada por los
usuarios a los
conductores

Ilustración 32 Pantalla conductor registrado

Login de usuario
para acceder al
servicio de
calificación

Ilustración 33 Pantalla login usuario

36
8. Bibliografía
[1]Oab2.ambientebogota.gov.co. (2018). Indicadores - Observatorio Ambiental de Bogotá.
[online] Available at: http://oab2.ambientebogota.gov.co/es/indicadores?id=271&v=l#
[Accessed 11 Feb. 2018].

[2]Movilidadbogota.gov.co. (2018). Transformación del servicio de taxi en Bogotá | Secretaría


Distrital de Movilidad. [Online] Available at:
http://www.movilidadbogota.gov.co/web/node/2210 [Accessed 12 Feb. 2018].

[3]Bogota.gov.co. (2018). Toda la movilidad de Bogotá en una sola aplicación. ¡Conózcala!


[Online] Available at: http://www.bogota.gov.co/temas-de-ciudad/movilidad/con-la-
nueva-aplicacion-simur-podra-conocer-datos-sobre-la-movilidad-de-bogota [Accessed
11 Feb. 2018].

[4]Movilidadbogota.gov.co. (2018). Gobierno Peñalosa expidió resolución reglamentaria para


modernización del servicio de taxi | Secretaría Distrital de Movilidad. [Online] Available
at: http://www.movilidadbogota.gov.co/web/node/2420 [Accessed 11 Feb. 2018].

[5]Movilidadbogota.gov.co. (2018). Abecé: modernización del servicio de taxi en Bogotá |


Secretaría Distrital de Movilidad. [Online] Available at:
http://www.movilidadbogota.gov.co/web/node/2357 [Accessed 11 Feb. 2018].

[6]El Comercio. (2018). Lanzan una aplicación para evitar ser víctima de falsos taxistas en
México. [Online] Available at:
http://archivo.elcomercio.pe/tecnologia/actualidad/lanzan-aplicacion-evitar-victima-
falsos-taxistas-mexico-noticia-1466759 [Accessed 15 Apr. 2018].

[7]Beck, K., Extreme Programming Explained: EmbraceChange, Addison-Wesley, 2000.

[8] Cockburn, A., Crystal Clear, a Human-PoweredMethodology for Small Teams, Addison-
Wesley, 2004.

[9] Kruchten, P., the Rational Unified Process: An Introduction, Addison-Wesley Professional,
1999.

[10]Metodología de desarrollo ágil para... (PDF Download Available). Available from:


https://www.researchgate.net/publication/267795011_Metodologia_de_desarrollo_agil
_para_sistemas_moviles_Introduccion_al_desarrollo_con_Android_y_el_iPhone
[accessed Apr 30 2018].

[11] Acosta Gonzaga, E., Álvarez Cedillo, J. and Gordillo Mejía, A. (2006). Arquitecturas en n-
Capas: Un Sistema Adaptivo. Polibits, 34, pp.34-37.

[12] Delia L., Galdamez N. Thomas P., Pesado P., Un Análisis Experimental de Tipo de
Aplicaciones para Dispositivos Móviles, XVIII Congreso Argentino de Ciencias de la
Computación, CACIC 2013.

37

También podría gustarte