Documentos de Académico
Documentos de Profesional
Documentos de Cultura
gfernandezn@ucentral.edu.co
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
3
LISTA DE ILUSTRACIONES
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].
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.
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?
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]
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]
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]
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.
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.
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.
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
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.
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
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.
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
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
13
iv. Requerimientos no funcionales
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.
Descripción La aplicación debe ser desarrollado para sistemas operativos IOS y Android
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.
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
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).
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.
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]
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.
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
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]
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.
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
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.
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
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.
20
Ilustración 6 Caso de uso valorar servicio conductor
21
Ilustración 8 Caso de uso Tomar foto del conductor
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.
23
iii. Diagramas de actividades
24
Ilustración 13 Diagrama de actividades Registrar usuario
25
Ilustración 15 Diagrama de actividades Registrar vehículo
26
Ilustración 17 Diagrama de actividades Relacionar conductores a vehículos
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.
27
Ilustración 19 Diagrama de secuencia Valorar servicio conductor
28
Ilustración 21 Diagrama de secuencia Registrar conductor
29
Ilustración 23 Diagrama de secuencia Tomar foto del conductor
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.
31
vi. Diagramas de componentes
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.
32
vii. Diagramas de despliegue
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.
33
viii. Mock ups
34
Pantalla donde el
usuario tomara la
foto para la lectura
del código QR
35
Datos básicos del
Promedio de conductor
calificación seleccionado
otorgada por los
usuarios a los
conductores
Login de usuario
para acceder al
servicio de
calificación
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].
[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].
[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.
[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