proyecto pasaje al instanste.v (7)
TRANSCRIPT
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
1
UNIVERSIDAD AUTÓNOMA GABRIEL
RENÉ MORENO
Facultad de Ingeniería en Ciencias de la
Computación y Telecomunicaciones
CARRERA: INGENIERÍA INFORMÁTICA
PERFIL TALLER DE GRADO I
APLICACIÓN MOVIL PARA LA RESERVA, COMPRA Y
AUTENTIFICACION DE PASAJES DE BUSES
INTERDEPARTAMENTALES
“PASAJE AL INSTANTE”
DOCENTE: ING. ROLANDO MARTINEZ
ESTUDIANTES:
GUTIERREZ RAMIREZ DANNY JHOSEP
VENTURA CHOQUE TORIBIO
SANTA CRUZ-BOLIVIA
2015
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
2
TABLA DE CONTENIDO
Tabla de contenido ....................................................................................................... 2
Tabla de figuras ............................................................................................................ 5
CAPITULO 1. PERFIL DE PROYECTO ............................................................... 8
1. INTRODUCCION .............................................................................................. 9
1.1 ANTECEDENTES ......................................................................................... 9
1.2 DEFINICION DEL PROBLEMA .............................................................. 10
1.3 SITUACION PROBLEMÁTICA ............................................................... 12
1.4 SITUACION DESEADA ............................................................................. 12
1.5 OBJETIVOS ................................................................................................. 13
1.5.1 OBJETIVOS GENERAL ......................................................................... 13
1.5.2 OBEJITIVOS ESPECIFICOS................................................................. 13
1.6 METODOLOGIA ......................................................................................... 13
1.7 ALCANCE .................................................................................................... 16
1.8 HERRAMIENTAS ....................................................................................... 18
1.8.1 HARDWARE ........................................................................................... 18
1.8.2 SOFTWARE ............................................................................................ 19
2. EMPRESA DE TRANSPORTE INTERDEPARTAMENTAL E
INTERPROVINCIAL (6 DE OCTUBRE) ............................................................ 20
2.1 ANTECEDENTES DE LA EMPRESA ...................................................... 20
2.2 MISION ......................................................................................................... 20
2.3 VISION .......................................................................................................... 20
2.4 OBJETIVO ................................................................................................... 20
2.4.1 ESTRUCTURA ORGANIZACIONAL ................................................... 21
2.4.2 RUTAS INTERDEPARTAMENTALES E INTERPROVINCIALES ... 22
CAPITULO 2. TOTP (TIME-BASED ONE TIME PASSWORD) ...................... 26
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
3
3. TOTP (Time-based One Time Password) ...................................................... 27
CAPITULO 3. MODELOS ..................................................................................... 28
4. MODELO DE DOMINIO ............................................................................... 29
4.1 MODELO DE NEGOCIO. .......................................................................... 30
4.1.1 COMPRAR PASAJE...................................................................................... 30
5. FLUJO DE TRABAJO: REQUISITOS ......................................................... 31
5.1 Identificar Actores y Casos de Uso ............................................................. 31
5.2 Priorización de casos de uso ........................................................................ 31
5.3 Detallar Casos de Uso ................................................................................... 32
5.4 Estructurar casos de uso .............................................................................. 60
6. FLUJO DE TRABAJO DE ANÁLISIS .......................................................... 61
6.1 ANÁLISIS DE LA ARQUITECTURA ...................................................... 61
6.2 Vista de Paquetes. ......................................................................................... 62
6.3 Encapsulamiento de paquete ....................................................................... 64
6.4 ANALISIS CASOS DE USO ....................................................................... 67
7. FLUJO DE TRABAJO DISEÑO .................................................................... 70
7.1 DISEÑO DE DATOS ................................................................................... 70
7.1.1 MODELO CONCEPTUAL ..................................................................... 70
7.1.2 MODELO LOGICO ................................................................................ 71
7.1.3 DISEÑO FISICO ...................................................................................... 72
7.2 DISEÑO DE LA ARQUITECTURA .......................................................... 75
7.3 DISEÑO DE UN CASO USO (Diagrama de secuencia) ........................... 76
7.4 DIAGRAMA DE CLASE ............................................................................ 80
8. FLUJO DE TRABAJO: IMPLEMENTACION ........................................... 84
8.1 IMPLEMENTACION DE LA ARQUITECTURA ................................... 84
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
4
8.2 PLAN DE INTEGRACION DE CONSTRUCCIONES ........................... 85
8.3 PLAN DE DESARRALLO .......................................................................... 86
8.3.1 BASE DE DATOS .................................................................................... 86
8.3.2 SISTEMA OPERATIVO ................................................................................ 86
8.3.3 HERRAMIENTA CASE ............................................................................... 87
8.3.4 PLUGIN DE ANDROID PARA ECLIPSE ......................................................... 87
8.3.5 REQUERIMIENTOS MÍNIMOS ..................................................................... 88
CONCLUSION .......................................................................................................... 89
RECOMENDACIONES ........................................................................................... 89
BIBLIOGRAFÍA ....................................................................................................... 91
ANEXOS .................................................................................................................... 93
ESQUEMA GRAFICO SITUACION PROBLEMÁTICA ................................... 94
ESQUEMA GRAFICO SITUACION DESEADA ................................................. 95
ENTREVISTAS ........................................................................................................ 96
MANUAL DE USUARIO ......................................................................................... 98
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
5
TABLA DE FIGURAS
Ilustración 1: Estructura organizacional ................................................................ 21
Ilustración 2 : Tramo 1 ............................................................................................. 23
Ilustración 3 : Tramo 2 ............................................................................................. 24
Ilustración 4 : Tramo 3 ............................................................................................. 24
Ilustración 5 : Tramo 4 ............................................................................................. 24
Ilustración 6 : Tramo 5 ............................................................................................. 25
Ilustración 7 : Tramo 6 ............................................................................................. 25
Ilustración 8 : Tramo 7 ............................................................................................. 25
Ilustración 9 : Tramo 8 ............................................................................................. 25
Ilustración 10: TOTP ................................................................................................ 27
Ilustración 11: Modelo dominio ............................................................................... 29
Ilustración 12: Modelo negocio ................................................................................ 30
Ilustración 13: CU Administrar usuario ................................................................. 32
Ilustración 14: Prototipo interfaz adiministra usuario ........................................ 34
Ilustración 15:CU2 Reservar pasaje........................................................................ 35
Ilustración 16: Buscar viajes para la reserva ......................................................... 37
Ilustración 17: Lista de viajes disponibles .............................................................. 38
Ilustración 18:Panilla con los asientos disponibles ................................................ 39
Ilustración 19: Detalle de la reserva realizada ....................................................... 40
Ilustración 20: Cancelar reserva.............................................................................. 41
Ilustración 21: CU Comprar Pasaje ........................................................................ 42
Ilustración 22: Buscar viajes .................................................................................... 44
Ilustración 23: Lista de Viajes ................................................................................. 45
Ilustración 24: Asientos disponibles ........................................................................ 46
Ilustración 25: Resumen viaje .................................................................................. 47
Ilustración 26: CU5 Cancelar compra de pasaje ................................................... 48
Ilustración 27: Lista de pasajes Comprados .......................................................... 49
Ilustración 28:Detalle del Pasaje ............................................................................. 50
Ilustración 29: realizar seguimiento ........................................................................ 52
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
6
Ilustración 30: Lista de Viajes ................................................................................. 54
Ilustración 31: Detalle del viaje ............................................................................... 55
Ilustración 32: Consulta de viajes ............................................................................ 57
Ilustración 33: Lista de viajes disponible ................................................................ 58
Ilustración 34: Detalle del viaje elegido .................................................................. 59
Ilustración 35: Diagrama de casos uso .................................................................... 60
Ilustración 36: Análisis de Arquitectura ................................................................. 61
Ilustración 37: Paquete viaje .................................................................................... 62
Ilustración 38: Paquete pasaje ................................................................................. 63
Ilustración 39: Paquete Seguimiento ....................................................................... 63
Ilustración 40: Paquete Administración ................................................................. 64
Ilustración 41: Modulo de administración de usuario ........................................... 64
Ilustración 42: Modulo Pasaje ................................................................................. 65
Ilustración 43: Modulo seguimiento ........................................................................ 66
Ilustración 44: Modulo viaje .................................................................................... 67
Ilustración 45: Análisis cu administrar usuario ..................................................... 67
Ilustración 46: Cancelar reserva.............................................................................. 68
Ilustración 47: Análisis cu comprar pasaje ............................................................ 68
Ilustración 48: Análisis cu cancelar pasaje ............................................................. 69
Ilustración 49: Análisis cu consultar viaje .............................................................. 69
Ilustración 50: Modelo concptual ............................................................................ 70
Ilustración 51: Diseño de la arquitectura .............................................................. 75
Ilustración 52: Diseño CU administrar usuario ..................................................... 76
Ilustración 53: Diseño CU cancelar reserva ........................................................... 77
Ilustración 54: Diseño CU comprar pasaje ............................................................ 78
Ilustración 55: Diseño CU cancelar pasaje ............................................................. 79
Ilustración 56: Diseño CU consultar viaje ............................................................. 79
Ilustración 57: Diseño clase CU administrar usuario ............................................ 80
Ilustración 58: Diseño clase CU cancelar reserva .................................................. 81
Ilustración 59: Diseño clase CU comprar pasaje ................................................... 82
Ilustración 60: Diseño clase CU cancelar pasaje .................................................... 83
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
7
Ilustración 61: Diseño clase CU consultar viaje ..................................................... 83
Ilustración 62: Implementación de la Arquitectura .............................................. 84
Ilustración 63: Primera construcción ...................................................................... 85
Ilustración 64: Segunda Construcción .................................................................... 85
Ilustración 65: Tercera Construcción ..................................................................... 85
Ilustración 66: Cuarta construcción ........................................................................ 86
Ilustración 67: Situación problemática ................................................................... 94
Ilustración 68: Situación deseada ............................................................................ 95
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
8
CAPITULO 1.
PERFIL DE PROYECTO
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
9
1. INTRODUCCION
Las empresas de transporte interdepartamental e interprovincial han jugado
siempre un papel importante para el avance y la integración de las diferentes regiones
del país. Existe una gran cantidad de personas que tienen la gran necesidad de realizar
viajes a diferentes regiones constantemente, lo que hace que se conviertan en clientes
muy frecuentes de estas empresas de transporte.
Para este cliente frecuente es un gran problema la compra o reserva de pasajes por
el hecho de que debe realizarlo personalmente en la empresa, perdiendo tiempo muy
valioso, esto se suma a las constantes perdidas de boletos por parte de los clientes los
cuales tienen serios problemas al momento de validar su compra del pasaje en el
instante de la partida del bus a su destino y teniendo que realizar todo un proceso arduo
y molestoso para el mismo pasajero para comprobar que si realizo la compra realmente
del pasaje de bus.
Contemplando estos problemas para el pasajero es que se pensó aprovechar la
tecnología de los dispositivos móviles. Permitiendo al cliente de la empresa de transporte
poder realizar la reserva o la compra de sus pasajes a través de su dispositivo móvil
ahorrándole el tiempo que emplea en ir a adquirirlos de forma normal a la terminal de
buses. También se aprovechara la tecnología de los dispositivos móviles para que el cliente
(pasajero) pueda validar su pasaje en cualquier momento con sus boletos virtuales
almacenados en el dispositivo móvil que compro previamente. Se permitirá al mismo
cliente y/o familiares poder hacer un seguimiento en todo momento del bus en el cual está
viajando por medio de mapas y geo localización disponible en los dispositivos móviles.
1.1 ANTECEDENTES
A fines de los años 80, un grupo de personas se dedicaban al transporte de persona
en camión, ha distintas provincias de Sucre, ya que en esa época era normal el transporte
de persona en camión, muy pocos accedían a viajar en flotas, como también la gente no
estaba acostumbrada a transportase en flotas.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
10
En 1989 la empresa de transporte “6 DE COTUBRE” inicia sus servicios con 10
socios, los cuales cada tiene uno flota, contando con 10 flotas, sin embargo la demanda de
pasajes hizo posible ampliar a mas socios. Actualmente la empresa cuenta con 30 socios.
En aquel entonces su primera ruta fue Sucre-Potosí y viceversa, años después vieron
la necesidad de ampliar sus rutas hacia la provincia de Sucre- Camargo, debido a la
afluencia de turistas en nuestro país se habilito la ruta Sucre-Uyuni, Potosí-Uyuni y otras
rutas.
Desde ese entonces esta empresa con más de 26 años de trayectoria se dedica a
realizar viajes interdepartamentales e interprovinciales; llegando casi a todos los
departamentos de nuestro país, brindando los servicios de transporte de pasajeros y
encomiendas.
Actualmente sus oficinas están situadas en la Terminal de Buses en cada ciudad y en
las provincias, sin embargo la central se encuentra en la ciudad de Sucre.
1.2 DEFINICION DEL PROBLEMA
Se pudo evidenciar que la empresa de transporte “6 OCTUBRE” lidia con el
problema de ofrecer una mejor calidad de servicio a sus clientes en aspectos relacionados a
tiempos de atención al momento de la venta de pasajes. Su situación actual es que cuenta
con un sistema de venta de pasajes desde su agencia. La empresa ha identificado los
problemas generados por este sistema tradicional de ventas, como lo son las colas de
atención, los horarios de atención, la saturación de las líneas telefónicas para consultas y la
necesidad de que el cliente tenga que ir hacia la agencia para la compra de sus pasajes. En
base a ello, se ha percatado de la oportunidad de negocio que genera el proveer una nueva
modalidad de venta en la que el cliente interactúe directamente con un sistema de
información, y la ventaja competitiva que representaría frente a la competencia.
Un problema importante es el de los horarios de atención en la agencia. La empresa
establece un horario de ventas fijo, pero no dispone de una atención las 24 horas del día los
7 días de la semana, lo que afecta directamente a sus ventas, ya que el disponer de esta
cobertura de atención le generaría mayores ingresos. Por el mismo hecho que la agencia no
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
11
se encuentra en todos los lugares estratégicos de la ciudad, son los propios clientes los que
se tienen que movilizar personalmente hacia el establecimiento para poder comprar sus
pasajes. El hecho de movilizarse hacia la agencia en los horarios establecidos por la
empresa aunado a la posibilidad de hacer cola para ser atendido en ventanilla, no les
garantiza de antemano que puedan conseguir pasajes para su lugar destino en la fecha
deseada ya que la verificación se realiza en el mismo momento que se compra, empeorando
aún más el problema. Para este tipo de problemas ya existen tecnologías de información
que nos permiten garantizar la continuidad del negocio sin necesidad que se cuente con un
personal fijo de atención y que esté limitado a un horario establecido.
Hay ciertos sectores del país como el sector comerciante, el sector empresarial, el
sector turístico y otros (pasajeros frecuentes) que tienen la necesidad de realizar viajes a
distintas regiones del país muy frecuentemente por el rubro en el cual se desempeñan o
algún otro motivo muy particular. Para estas personas es que se genera un gran problema al
momento de querer adquirir sus pasajes.
La venta de pasajes en fechas festivas o de temporada alta se convierte en un caos
debido a las largas colas de atención en las agencias. Esto se debe a que las personas deben
asistir la misma agencia para comprar sus pasajes, y la demanda de compra de pasajes en
dichas fechas es altísima. A consecuencia de ello, el cliente es la persona más afectada, y su
malestar se ve reflejado en las quejas que realiza sobre la atención. Para esto existen
tecnologías de información que nos permiten automatizar procesos que se realizan de
manera manual. En este caso el proceso de venta de pasajes puede ser reemplazado por
aplicación móvil donde el propio cliente pueda realizar la compra o reserva de sus pasajes.
El tema de seguridad de información también está cubierto pues existen tecnologías como
los mecanismos de encriptación de datos que garantizan la seguridad de la información
personal de los clientes. Con esto, la seguridad está garantizada de antemano debido a la
credibilidad de las mismas entidades.
Otro problema es que clientes no pueden visualizar la información de sus pasajes
desde cualquier lugar donde se encuentren. El único lugar donde pueden preguntar por los
mismos es en la misma agencia. Para suplir esta necesidad de acceso a la información desde
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
12
cualquier lugar existen diversas tecnologías de información y comunicación como los
dispositivos móviles y tablets.
La empresa trata de dar frente a los problemas de los horarios de atención en las
agencias y las largas colas de espera con el servicio denominado “Centro de consultas”.
Dichos centros de atención al cliente solo se limitan a brindar información sobre los
horarios disponibles y los destinos de viaje. A pesar que la empresa cuenta con dicho
servicio operando, el problema del horario de atención sigue presente, debido a que se
necesita un personal fijo encargado de dichas actividades. Debido a ello, la empresa realizó
un análisis costo/beneficio concluyendo que no le es rentable mantener personal asignado a
atención de “Centro de consultas” las 24 horas del día. Esto se debe a que el contar con
personal adicional implica mayor costo, por lo que solo se limitó a tener dicho personal
trabajando dentro de los horarios de atención que estableció.
Bajo todo lo expuesto, el escenario problemático a trabajar se circunscribe en los
problemas asociados a la venta tradicional de pasajes como los horarios y colas de atención,
la obligatoria movilización del cliente (pasajero) hacia la agencia para la compra de pasajes
y la no disponibilidad de información de los pasajes ni la opción para que el cliente pueda
realizar la compra de sus pasajes desde cualquier lugar, lo que supondría una mejora en la
calidad de los servicios que brinda la empresa.
1.3 SITUACION PROBLEMÁTICA
Los clientes (pasajeros) frecuentes de la empresa de transporte “6 DE OCTUBRE”,
tienen una pérdida de tiempo al momento de realizar la reserva o compra de sus pasajes
teniendo que ir personalmente a la empresa de transporte a adquirirlas.
1.4 SITUACION DESEADA
Que el cliente (pasajero) pueda realizar la reserva o compra de su pasaje de forma
remota sin la necesidad de acudir a la empresa de transporte personalmente.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
13
1.5 OBJETIVOS
1.5.1 OBJETIVOS GENERAL
Desarrollar una aplicación móvil para la empresa de transporte “6 DE OCTUBRE”,
para realizar reservas, compras y validación de pasajes, para buses interprovinciales e
interdepartamentales.
1.5.2 OBEJITIVOS ESPECIFICOS
Elaborar y realizar encuestas definidas para conocer claramente las necesidades
de los usuarios.
Identificar los procesos que representen las funcionalidades del sistema.
Especificar, analizar y detallar los requisitos de la aplicación.
Modelar la representación lógica de los datos persistentes, de acuerdo con el
enfoque del modelado relacional de datos a través de un diagrama de Clases.
Implementar la aplicación de acuerdo a lo especificado en los modelos.
Realizar un modelo de pruebas necesarias para la aplicación.
1.6 METODOLOGIA
Para el desarrollo del presente Proyecto, se utilizará el Proceso Unificado de
Desarrollo de Software (PUDS), ya que este presenta un conjunto de actividades necesarias
para transformar los requisitos de un usuario en un sistema de software.
El Proceso Unificado se repite a lo largo de una serie de ciclos, donde cada ciclo
consta de 4 fases: inicio, elaboración, construcción y transición en las cuales se realizan
iteraciones que abarcan los flujos de trabajo de captura de requisitos, análisis, diseño,
implementación y prueba. Este proyecto realizará un ciclo del Proceso Unificado, llevando
a cabo las siguientes fases:
Inicio
Elaboración
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
14
Construcción
Se omitirá la fase de transición ya que conlleva actividades como la puesta en marcha
del producto terminado, formación del cliente y el proporcionar una línea de ayuda y
asistencia.
Dentro de cada fase se realizarán los siguientes flujos de trabajo:
a) Captura de requisitos como caso de uso
- Actividades:
Identificar Actores y Casos de Uso.
Priorizar Casos de Uso.
Detallar Casos de Uso.
Prototipos de Casos de Uso.
- Artefacto resultante:
Modelo de casos de uso.
b) Análisis
- Actividades:
Análisis de la Arquitectura.
Análisis de Casos de Uso.
Análisis de Clases.
Análisis de Paquetes.
- Artefacto resultante:
Modelo de análisis.
c) Diseño
- Actividades:
Diseño de la Arquitectura.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
15
Diseñar Casos de Uso.
Diseñar las Clases.
Diseñar Subsistemas.
- Artefacto resultante:
Modelo de diseño.
d) Implementación
- Actividades:
Implementación de la arquitectura.
Implementar una clase e Implementar un Subsistema.
Realizar Pruebas de unidad.
Integrar el Sistema.
- Artefacto resultante:
Modelo de implementación.
e) Prueba.
- Actividades:
Planificar prueba
Diseñar prueba
Implementar prueba
Realizar pruebas de integración
Realizar prueba e sistema
Evaluar prueba
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
16
- Artefacto resultante:
• Modelo de prueba.
1.7 ALCANCE
Gestión perfil
Permite el registro del usuario móvil (pasajero) al sistema y la modificación de su
perfil.
Datos necesarios:
- CI (cedula de identidad)
- Nombre
- Apellido
- Fecha de nacimiento
- Genero (Masculino “M” Femenino “F”)
Reserva de pasajes
Permite al cliente (pasajero) realizar la reserva de pasajes mediante la aplicación
móvil para la posterior compra del pasaje en un lapso de tiempo de 2 horas antes de la hora
partida del bus. El cliente deberá elegir los siguientes datos:
- Destino
- Fecha de viaje
- Hora de salida
- Numero de asiento
- Tipo de bus
Compra de pasajes
Permite al cliente (pasajero) realizar la compra de pasajes mediante la aplicación
móvil, eligiendo los siguientes datos necesarios para su compra.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
17
- Fecha de viaje
- Hora de salida
- Numero de asiento
- Tipo de bus
Una vez el cliente confirma los datos del viaje, la aplicación verificara si existe saldo
suficiente en su cuenta, para realizar el descuento de la compra del pasaje.
Seguimiento de bus de transporte
Permite al usuario de la aplicación móvil hacer un seguimiento en todo momento de
su propio viaje por medio de geo localización a través mapas, como también los datos
generales del viaje (destino, hora de salida, hora de llegada, numero de bus, información del
conductor).
También permite el seguimiento del viaje de algún familiar o conocido con previo
permiso del usuario que esté realizando el viaje.
Validación de pasaje
Permite la autentificación de la compra del pasaje que el cliente realizo previamente
en cualquier momento y lugar por medio de la aplicación móvil.
Consulta de información
Permitirá al usuario (pasajero) consultar en cualquier momento la información de su
viaje.
Información:
- Hora de salida
- Hora de llegada
- Información del conductor del bus
- Ruta del viaje
- Numero de asiento
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
18
- Numero de bus
1.8 HERRAMIENTAS
1.8.1 HARDWARE
- Servidor (computadora)
Procesador Dual Core o mayor.
Velocidad 2.6 GHZ o mayor.
Memoria RAM 4 GB mínimo.
Disco Duro de 500GB mínimo.
- Cliente (dispositivo móvil)
Memoria RAM 512 MB mínimo.
Procesador Cortex A9.
Memoria interna 4 GB mínimo.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
19
1.8.2 SOFTWARE
- Enterprise Architect 8
Servidor:
- Gestor de base de datos : SQL Server 2008
- Lenguaje de programación: Java
- Sistema operativos: Windows 8
- IDE de desarrollo: NetBeans 8.0.1
- Servidor de aplicaciones: Glassfish 4.1
- Adobe Photoshop
Cliente:
- Sistema operativo Android 2.3.7
- IDE de desarrollo: Android Studio 1.1
- Android SDK tools v.24
- Gestor de base de datos: SQLite
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
20
2. EMPRESA DE TRANSPORTE INTERDEPARTAMENTAL E
INTERPROVINCIAL (6 DE OCTUBRE)
2.1 ANTECEDENTES DE LA EMPRESA
2.2 MISION
Ofrecer un servicio de calidad, responsable y honesto de esta forma satisfacer a sus
clientes.
2.3 VISION
Ser la empresa que brinda el mejor servicio de transporte llegando a consolidarse a
nivel nacional.
2.4 OBJETIVO
El objetivo de la empresa es llegar a cubrir todas las rutas del país, mejorando el
servicio de transporte y la atención al cliente en la recepción de encomiendas, identificando
los factores en los cuales está fallando.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
21
2.4.1 ESTRUCTURA ORGANIZACIONAL
Ilustración 1: Estructura organizacional
Directivos (socios propietarios).- Tienen la facultad de emitir normas y
procedimientos que regirán el manejo de la el manejo de la empresa, manteniendo
reuniones ordinarias de carácter informativo o decisivo y extraordinarias para atender casos
especiales.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
22
Gerente General.- Tiene la responsabilidad de supervisar el buen funcionamiento de
las operaciones de la empresa y velar para que estas sean ejecutadas de manera eficiente.
Auditor.- Se encarga de los manejos de todos los bienes, recursos y pagos
tributarios, manteniendo el control interno de la empresa.
Administrador.- Es el encargado de verificar la venta de pasajes, el envió de
encomiendas se lleven con estricta normalidad y los viajes que se realicen salgan en su
respectivo horario.
Vendedores.- Los vendedores son los que hacen la tarea operativa, estos vendedores
pueden especializarse como vendedores pueden especializarse como vendedores de boleto,
bodegueros estos recepcionan las encomiendas.
Choferes.- Son los encargados de conducir los buses.
Auxiliares.- Son aquellos que se encargan de relevar a los choferes.
2.4.2 RUTAS INTERDEPARTAMENTALES E INTERPROVINCIALES
A continuación se nuestra todas las salidas de los buses a sus deferentes rutas desde
una sucursal.
SUCURSAL SUCRE SALIDAS A:
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
23
ORIGEN DESTINO HORARIO
Sucre Potosí 06:00 a. m.
Sucre Potosí 08:00 a. m.
Sucre Potosí 10:00 a. m.
Sucre Potosí 12:00 p. m.
Sucre Potosí 02:00 p. m.
Sucre Potosí 04:00 p. m.
Sucre Potosí 06:00 p. m.
Sucre Uyuni 08:30 a. m.
Sucre Uyuni 01:00 p. m.
Sucre Santa Cruz 04:00 p. m.
Sucre Cochabamba 06:00 p. m.
Sucre La Paz 06:00 p. m.
Sucre Camargo 08:30 a. m.
Sucre Camargo 01:00 a. m.
Sucre Villazón 08:30 a. m.
Sucre Villazón 06:00 p. m.
Ilustración 2 : Tramo 1
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
24
SUCURSAL SANTA CRUZ SALIDAS A:
ORIGEN DESTINO HORARIO
Santa Cruz Sucre 03:00 a. m.
Santa Cruz Sucre 04:00 a. m.
Ilustración 3 : Tramo 2
SUCURSAL CAMARGO SALIDAS A:
ORIGEN DESTINO HORARIO
Camargo Sucre 08:30 a. m.
Camargo Sucre 01:00 a. m.
Ilustración 4 : Tramo 3
SUCURSAL UYUNI SALIDAS A:
ORIGEN DESTINO HORARIO
Uyuni Sucre 08:30 a. m.
Uyuni Sucre 01:00 a. m.
Ilustración 5 : Tramo 4
SUCURSAL TUPIZA SALIDAS A:
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
25
ORIGEN DESTINO HORARIO
Tupiza Sucre 09:00 p. m.
Ilustración 6 : Tramo 5
SUCURSAL VILLAZON SALIDAS A:
ORIGEN DESTINO HORARIO
Villazón Sucre 06:00 p. m.
Ilustración 7 : Tramo 6
SUCURSAL COCHABAMBA SALIDAS A:
ORIGEN DESTINO HORARIO
Cochabamba Sucre 06:00 p. m.
Ilustración 8 : Tramo 7
SUCURSAL LA PAZ SALIDAS A:
ORIGEN DESTINO HORARIO
La Paz Sucre 06:00 p. m.
Ilustración 9 : Tramo 8
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
26
CAPITULO 2.
TOTP (TIME-BASED ONE TIME
PASSWORD)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
27
3. TOTP (TIME-BASED ONE TIME PASSWORD)
Es una contraseña que sólo se puede usar una vez, y que va cambiando con el tiempo.
Esto funciona de esta forma, el servidor elige un número, al que llamaremos clave, y
que será la base de todas las contraseñas que se generen. Esa clave la transmite a la
aplicación de tu teléfono, donde se quedará guardada (Guillermo, 2013).
Ahora toca el turno de entrar en el servicio. El servidor te pide tu segundo código de
autenticación, así que abres tu aplicación del móvil. En ese momento se calcula el código.
Para ello, la aplicación coge la clave y la fecha y hora actual, los combina y sale el código
que necesitas.
Dado que el código sólo está guardado en tu aplicación y en el servidor, sólo tú
puedes generar la contraseña y sólo el servidor puede decir si es correcta y, por lo tanto, si
eres el usuario legítimo o no.
Ilustración 10: TOTP
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
28
CAPITULO 3.
MODELOS
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
29
4. MODELO DE DOMINIO
Ilustración 11: Modelo dominio
class Mov il
Cliente
- Apellido
- Celular
- CI
- Nombre
- Sexo
- Telefono
lugares
- lugar: varchar(30)
Compra_Reserv a_Pasaje
- Descripcion
- FechaSalida
- HoraSalida
- NroAsientos
- Preciototal
- tipo
- estado
Ruta
- Dsitancia
- HorasViajes
Coordenadas
- Longitud
- Latitud
11..*
1
1
1
1
1 1..*
1..*
1
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
30
4.1 MODELO DE NEGOCIO.
4.1.1 Comprar pasaje
Ilustración 12: Modelo negocio
analysis Modelo de procesos de negocio
CLIENTEVENDEDOR
Inicio
Solicitar pasaje y
numero de asiento
Esta
vendido o
reservado?
Verificar si el asiento esta
reserv ado o v endido
Pida al cliente solicite otro
asiento
Comunica que el asiento
esta disponible
Realiza su respectiv o
pago
Registra datos del cliente
Realizar factura Recibe factura
Final
[No][Si]
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
31
5. FLUJO DE TRABAJO: REQUISITOS
5.1 Identificar Actores y Casos de Uso
Actores
Pasajero.
Sistema de la empresa.
Casos de uso
Administrar usuario.
Reservar pasaje.
Cancelar reserva.
Comprar pasaje.
Cancelar compra.
Realizar seguimiento.
Consultar información de viaje.
Validación de pasaje.
Consulta de viajes.
5.2 Priorización de casos de uso
ID Casos de Uso Actores Prioridad
CU 1 Administrar usuario. Pasajero Alta
CU 2 Reservar pasaje. Pasajero, Sistema de la empresa Alta
CU 3 Cancelar reserva. Pasajero Media
CU 4 Comprar pasaje. Pasajero, Sistema de la empresa Alta
CU 5 Cancelar compra. Pasajero Media
CU 6 Realizar seguimiento. Pasajero Media
CU 7 Consultar información de viaje. Pasajero, Sistema de la empresa Alta
CU 8 Validación de pasaje. Pasajero, Sistema de la empresa Alta
CU 9 Consulta de viajes. Pasajero, Sistema de la empresa Media
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
32
5.3 Detallar Casos de Uso
CU1: Administrar usuario
Ilustración 13: CU Administrar usuario
Nro. 1 CU: Administrar
usuario.
Propósito: Registrar y modificar usuario.
Descripción: Permite al cliente (pasajero) registrar y modificar sus datos
personales, permitiendo introducir sus datos, para el registro correspondiente, ci,
nombre, apellido, celular, sexo, password.
Actores: Pasajero, Sistema de la empresa.
Iniciador: Pasajero.
Precondición: El cliente (pasajero) debe haber ingresado a la aplicación.
Proceso:
1. Registrar usuario
1.1. El caso de uso inicia cuando el pasajero elije la opción registrar.
1.2. El sistema deberá validar los datos ingresados (por ejemplo que el nombre
este en blanco).
1.3. La aplicación muestra al usuario los siguientes campos obligatorios a rellenar.
Ci
Nombre
Apellido
Celular
uc CU1: Administrar usuario
(from Casos de uso principales)
CU1: Administrar
Usuario
Sistema
(from Actores)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
33
Sexo
Password
1.4. El pasajero selecciona el horario en el cual desea viajar.
2. Modificar usuario
2.1. El caso de uso inicia cuando el pasajero elije la opción modificar.
2.2. El pasajero escribirá su nombre completo.
2.3. La aplicación le mostrara los todos los datos del pasajero.
2.4. El pasajero deberá cambiar sus datos a modificar.
2.5. El sistema deberá validar los datos introducidos.
2.6. El sistema le mandara confirmación de los datos modificados.
Casos Especiales:
En el punto 1.2. Y 2.4. La aplicación le mostrar un error, La instancia del
caso de uso finaliza.
Postcondicion:
El caso de uso finaliza cuando algún pasajero ha sido registrado, modificado o se
ha realizado búsquedas
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
34
Ilustración 14: Prototipo interfaz adiministra usuario
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
35
CU2: Reservar pasaje
Ilustración 15:CU2 Reservar pasaje
Nro. 2 CU: Reservar pasaje
Propósito: Realiza la reserva de uno o varios pasaje de bus.
Descripción: Permite al cliente (pasajero) realizar la reserva de pasajes de bus,
permitiendo que elija el origen, destino, el día y la hora de salida, numero de asiento y
tipo de bus.
Actores: Pasajero, Sistema de la empresa.
Iniciador: Pasajero.
Precondición: El cliente (pasajero) debe haber ingresado a la aplicación y estar
registrado previamente en el sistema de la empresa.
Proceso:
1 El caso de uso inicia cuando el pasajero elije la opción de reservar
pasaje.
2 El pasajero selecciona la ruta que quiere tomar:
Lugar de origen.
Lugar de destino.
3 Selecciona la fecha que desee realizar el viaje.
4 La aplicación muestra al usuario una lista de horarios disponibles para la
ruta y la fecha insertada por el cliente, con los siguientes detalles:
Hora de salida.
Duración del viaje.
El precio del pasaje.
uc CU2: Reserv ar pasaje
(from Casos de uso principales)
CU2: Reserv ar
pasaje
Pasajero
(from Actores)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
36
Cantidad de pasajes disponibles.
Tipo de bus.
5 El pasajero selecciona el horario en el cual desea viajar.
6 Luego la aplicación móvil muestra la planilla de asientos del viaje
seleccionado, mostrando los siguientes datos:
Asientos libres.
Asientos ocupados.
Numero de asiento.
7 El pasajero selecciona los asientos libres que desea reservar.
8 El pasajero confirma los asientos seleccionados.
9 La aplicación verifica si tiene saldo suficiente para la reserva del o de
los pasajes.
10 La aplicación muestra la información de los boletos a reservar, pidiendo
una confirmación de la reserva.
11 El pasajero confirma la reserva del pasaje o de los pasajes.
12 La aplicación realiza el respectivo descuento de la cuenta del pasajero
por la reservar de los boletos.
13 La aplicación muestra una factura digital con todos los datos de la
reserva de su(s) boleto(s).
14 La instancia del caso de uso finaliza
Casos Especiales:
En el caso de que el pasajero no cuente con el saldo suficiente para realizar
la compra de su pasaje, cambia el flujo en el paso 9.
9. La aplicación informara al pasajero de que no cuenta con el saldo suficiente
para realizar la compra del o de los pasajes.
10. La instancia del caso de uso finaliza.
Postcondicion:
Una vez finalizado el caso de uso, la reserva de los boletos quedara registrada en
el sistema de la empresa, los asientos comprados cambiaran al estado de ocupados y se
descontara el monto de la compra de la cuenta del pasajero.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
37
Ilustración 16: Buscar viajes para la reserva
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
38
Ilustración 17: Lista de viajes disponibles
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
39
Ilustración 18:Panilla con los asientos disponibles
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
40
Ilustración 19: Detalle de la reserva realizada
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
41
CU3: Cancelar reserva
Ilustración 20: Cancelar reserva
Nro. 3 CU: Cancelar reserva
Propósito: Cancelar la reserva de pasajes.
Descripción: Permite al cliente (pasajero) cancelar la reserva de un pasaje.
Introduciendo los siguientes datos. Destino, origen, fecha, asiento.
Actores: Pasajero, Sistema de la empresa.
Iniciador: Pasajero.
Precondición: El cliente (pasajero) debe tener reserva pendientes.
Proceso:
2. Registrar usuario
1. El caso de uso inicia cuando el pasajero elije la opción cancelar pasajes en menú
principal.
2. La aplicación le mostrara al usuario (pasajero) una lista de reservas pendientes.
3. El usuario (pasajero) deberá elegir de la lista reservar disponibles.
4. La aplicación le mostrar en detalle de la reserva que ha sido elegido.
5. El usuario de deberá elegir una opción cancelar reserva.
6. La aplicación muestra al usuario los siguientes campos obligatorios a rellenar.
Casos Especiales:
En el punto 3.si no existen reserva disponibles, en caso de termina.
Postcondicion:
El caso de uso finaliza cuando alguna reservar se ha cancelado.
uc CU3: Cancelar reserv a
(from Casos de uso principales)
CU3: Cancelar reserv a
Pasajero
(from Actores)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
42
CU4: Compara pasaje
Ilustración 21: CU Comprar Pasaje
Nro. 4 CU: Comprar pasaje
Propósito: Realiza la compra de uno o varios pasaje de bus.
Descripción: Permite al cliente (pasajero) realizar la compra de pasajes de bus,
permitiendo que elija el origen, destino, el día y la hora de salida, numero de asiento y
tipo de bus.
Actores: Pasajero, Sistema de la empresa.
Iniciador: Pasajero.
Precondición: El cliente (pasajero) debe haber ingresado a la aplicación y estar
registrado previamente en el sistema de la empresa.
Proceso:
1 El caso de uso inicia cuando el pasajero elije la opción de comprar pasaje.
2 El pasajero selecciona la ruta que quiere tomar:
Lugar de origen.
Lugar de destino.
3 Selecciona la fecha que desee realizar el viaje.
4 La aplicación muestra al usuario una lista de horarios disponibles para la ruta y
la fecha insertada por el cliente, con los siguientes detalles:
Hora de salida.
Duración del viaje.
El precio del pasaje.
Cantidad de pasajes disponibles.
Tipo de bus.
uc CU4: Comprar pasaje
(from Casos de uso principales)
CU4: Comprar pasaje
Sistema
(from Actores)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
43
5 El pasajero selecciona el horario en el cual desea viajar.
6 Luego la aplicación móvil muestra la planilla de asientos del viaje seleccionado,
mostrando los siguientes datos:
Asientos libres.
Asientos ocupados.
Ubicación de ventanas y puertas.
Ubicación de televisión.
Numero de asiento.
7 El pasajero selecciona los asientos libres que desea comprar.
8 El pasajero confirma los asientos seleccionados.
9 La aplicación verifica si tiene saldo suficiente para la compra del o de los
pasajes.
10 La aplicación muestra la información de los boletos a comprar, pidiendo una
confirmación de la compra al pasajero.
11 El pasajero confirma la compra del pasaje o de los pasajes.
12 La aplicación realiza el respectivo descuento de la cuenta del pasajero por la
compra de los boletos.
13 La aplicación muestra una factura digital con todos los datos de la compra de
su(s) boleto(s).
14 La instancia del caso de uso finaliza
Casos Especiales:
En el caso de que el pasajero no cuente con el saldo suficiente para realizar
la compra de su pasaje, cambia el flujo en el paso 9.
9. La aplicación informara al pasajero de que no cuenta con el saldo suficiente
para realizar la compra del o de los pasajes.
10. La instancia del caso de uso finaliza.
Postcondicion:
Una vez finalizado el caso de uso, la compra de los boletos quedara registrada en
el sistema de la empresa, los asientos comprados cambiaran al estado de ocupados y se
descontara el monto de la compra de la cuenta del pasajero.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
44
Ilustración 22: Buscar viajes
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
45
Ilustración 23: Lista de Viajes
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
46
Ilustración 24: Asientos disponibles
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
47
Ilustración 25: Resumen viaje
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
48
CU5: Cancelar compra de pasaje
Ilustración 26: CU5 Cancelar compra de pasaje
Nro. 5 CU: Cancelar compra
de pasaje
Propósito: Darle al pasajero la opción de cancelar su pasaje.
Descripción: El cliente(`pasajero) podrá cancelar la compra de pasaje siempre y
cuando cumpla las políticas de negocio.
Actores: Pasajero, Sistema de la empresa.
Iniciador: Pasajero.
Precondición: El cliente (pasajero) debe haber hecho por lo menos una compra.
Proceso:
3. Cancelar Compra
2.7. El caso de uso inicia cuando el pasajero elije la opción Cancelar compra.
2.8. El sistema deberá validar si el pasajero se encuentra registrado.
2.9. La aplicación muestra al usuario una lista de todos los pasajes que el haya
comprado.
2.10. El pasajero selecciona el pasaje el cual desea cancelar.
2.11. El sistema le mostrara un detalle del pasaje seleccionado.
2.12. El pasajero selecciona cancelar.
2.13. El sistema le mostrara un mensaje de confirmación si está seguro de
cancelar la compra.
uc CU5: Cancelar compra de pasaje
Pasajero
(from Actores)(from Casos de uso principales)
CU5: Cancelar compra
de pasaje
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
49
Casos Especiales:
En el punto 1.2. La aplicación le mostrara un error, en caso de no estar
registrado el pasajero.
En el punto 1.3. La aplicación le mostrara un error en caso de que el
pasajero no tenga previamente una compra.
Postcondicion:
El caso de uso finaliza cuando algún pasajero ha cancelado su compra.
Ilustración 27: Lista de pasajes Comprados
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
50
Ilustración 28:Detalle del Pasaje
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
51
CU6: Realizar seguimiento
Ilustración 27: CU6 Realizar seguimiento
Nro. 6 CU: Realizar Seguimiento
Propósito: Permitir al cliente (pasajero) ver en el mapa el punto donde se
encuentra.
Descripción: Al presionar mostrar el cliente (pasajero) en el mapa le mostrara un
punto indicando donde se encuentra.
Actores: Pasajero, Sistema de la empresa.
Iniciador: Pasajero.
Precondición: Realizar una compra.
Proceso:
Realizar seguimiento
1. El caso de uso inicia cuando el cliente (pasajero) elije la opción Realizar
seguimiento.
2. El sistema deberá validar si el pasajero si se encuentra registrado.
3. El sistema deberá validar si el pasajero si se encuentra registrado.
4. El sistema deberá validar si el cliente (pasajero) si tiene al menos una
compra.
5. La aplicación muestra al cliente (pasajero) un mapa.
6. El cliente (pasajero) selecciona mostrar.
7. El sistema le mostrara el punto donde se encuentra.
Casos Especiales:
uc CU6: Realizar seguimieno
(from Casos de uso principales)
CU6: Realizar
seguimiento
Pasajero
(from Actores)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
52
En el punto 1.2. La aplicación le mostrara un error, indicando que el
pasajero no ha realizado una compra.
Postcondicion: Ninguno.
Ilustración 29: realizar seguimiento
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
53
CU7: Consultar información de viaje
Ilustración 28: CU7 Consultar información de viaje
Nro. 7 CU: Consultar información.
Propósito: Brindarle al usuario la posibilidad de consultar su viaje.
Descripción: El pasajero elegirá un viaje y se le mostrara un detalle de dicho
viaje.
Actores: Pasajero, Sistema de la empresa.
Iniciador: Pasajero.
Precondición: El cliente (pasajero) debe haber ingresado a la aplicación y estar
registrado previamente en el sistema y además haber realizado al menos una compra.
Proceso:
Consultar información de viaje
1. El caso de uso inicia cuando el pasajero elije la opción Consultar
información de viaje.
2. El sistema deberá validar si el pasajero si se encuentra registrado.
3. La aplicación muestra al usuario una lista de todos los pasajes que el haya
comprado.
4. El pasajero selecciona el pasaje.
5. El sistema le mostrara un detalle del pasaje seleccionado.
Casos Especiales:
En el punto 1.2. La aplicación le mostrara un error, en caso de no estar
uc CU7: Consultar informacion de v iaje
(from Casos de uso principales)
CU7: Consultar
informacion
Pasajero
(from Actores)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
54
registrado el pasajero.
En el punto 1.3. La aplicación le mostrara un error en caso de que el
pasajero no tenga previamente una compra.
Postcondicion:
Ninguno.
Ilustración 30: Lista de Viajes
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
55
Ilustración 31: Detalle del viaje
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
56
CU9: Consultar Viajes
Ilustración 29: CU9 Consultar viajes
Nro. 9 CU: Consultar viajes
Propósito: Permitir al pasajero poder ver la lista de viajes con sus horarios.
Descripción: El pasajero tiene que elegir primero un origen y un destino para que
la aplicación le muestre las rutas de viajes.
Actores: Pasajero, Sistema de la empresa.
Iniciador: Pasajero.
Precondición: El cliente (pasajero) debe estar registrado en la aplicación.
Proceso:
1. Consultar Viajes
1.1. El caso de uso inicia cuando el pasajero elije la opción consultar pasaje.
1.2. La aplicación muestra al usuario la pantalla donde tendrá que elegir el origen,
destino y fecha.
1.3. El pasajero selecciona consultar.
1.4. El sistema mostrara todas las opciones de viajes y una descripción de cada
viaje.
Casos Especiales:
En el punto 1.2. la aplicación validara los datos.
Postcondicion:
uc CU9: Consultar Viajes
Pasajero
(from Actores)(from Casos de uso principales)
CU9: Consulta de v iajes
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
57
El caso de uso finaliza cuando algún pasajero ve el listado de viajes.
Ilustración 32: Consulta de viajes
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
58
Ilustración 33: Lista de viajes disponible
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
59
Ilustración 34: Detalle del viaje elegido
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
60
5.4 Estructurar casos de uso
Diagrama de Casos de uso
Ilustración 35: Diagrama de casos uso
uc Casos de uso principales
Límite del sistema
CU1: Administrar
Usuario
Pasajero
El límite del sistema muestra la
interfaz lógica entre usuarios y el
sistema que se describe.
CU3: Modificar reserv a
CU2: Reserv ar
pasaje
CU4: Comprar pasaje
CU5: Cancelar
comprar
CU6: Realizar
seguimiento
CU7: Consultar
informacion
CU8: Validacion
pasaje
CU9: Consulta Viaje
Sistema
«extend»
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
61
6. FLUJO DE TRABAJO DE ANÁLISIS
6.1 ANÁLISIS DE LA ARQUITECTURA
Ilustración 36: Análisis de Arquitectura
pkg Identificion de paquetes
SeguimientoViaje
Administracion de usuarioPasaje
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
62
6.2 Vista de Paquetes.
Paquete viaje
Ilustración 37: Paquete viaje
pkg Viaje
Viaje
(from Idntificacion de paquetes)
(from Casos de uso principales)
CU9: Consulta Viaje
(from Casos de uso principales)
CU8: Validacion
pasaje
(from Casos de uso principales)
CU7: Consultar
informacion
«trace»
«trace»
«trace»
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
63
Paquete pasaje
Ilustración 38: Paquete pasaje
Paquete seguimiento
Ilustración 39: Paquete Seguimiento
pkg Pasaje
Pasaje
(from Idntificacion de paquetes)
(from Casos de uso principales)
CU2: Reserv ar
pasaje
(from Casos de uso principales)
CU3: Modificar reserv a
(from Casos de uso principales)
CU4: Comprar pasaje
(from Casos de uso principales)
CU5: Cancelar
comprar
«trace»
«trace»
«trace»
«trace»
pkg Seguimiento
Seguimiento
(from Idntificacion de paquetes)(from Casos de uso principales)
CU6: Realizar
seguimiento«trace»
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
64
Paquete administración
Ilustración 40: Paquete Administración
6.3 Encapsulamiento de paquete
Modulo Administración de usuario
Ilustración 41: Modulo de administración de usuario
pkg Administracion de usuario
Administracion de usuario
(from Idntificacion de paquetes)
(from Casos de uso principales)
CU1: Administrar
Usuario«trace»
uc Administracion usuario
Administracion usuario
(from Modelo de Diseno)
Sistema
(from Actores) (from Casos de uso principales)
CU1: Administrar
Usuario
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
65
Modulo pasaje
Ilustración 42: Modulo Pasaje
uc Pasaje
Pasaje
(from Modelo de Diseno)
(from Casos de uso principales)
CU2: Reserv ar
pasaje
(from Casos de uso principales)
CU3: Modificar reserv a
(from Casos de uso principales)
CU4: Comprar pasaje
(from Casos de uso principales)
CU5: Cancelar
comprar
Pasajero
(from Actores)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
66
Modulo seguimiento
Ilustración 43: Modulo seguimiento
uc Seguimiento
Seguimiento
(from Modelo de Diseno)
Pasajero
(from Actores)(from Casos de uso principales)
CU6: Realizar
seguimiento
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
67
Modulo viaje
Ilustración 44: Modulo viaje
6.4 ANALISIS CASOS DE USO
CU1: ADMINISTRAR USUARIO
Ilustración 45: Análisis cu administrar usuario
uc Viaje
Viaje
(from Modelo de Diseno)
Pasajero
(from Actores)
(from Casos de uso principales)
CU9: Consulta Viaje
(from Casos de uso principales)
CU7: Consultar
informacionSistema
(from Actores)
(from Casos de uso principales)
CU8: Validacion
pasaje
sd CU1: Administrar Pasajero
Pasajero
(from Actores)
ActivityRegistroPasajeroPasajero
Pasajero
1: Inicio Login()1.1: getValidad(int, string) :DataTable
1.2: getPasaje(string coreo, string pass)
1.3: getValidad() :DataTable
2: Resgitrara Pasaje()2.1: add(Pasajero)
2.2: Sitodosllenos()
2.3: add(Pasajero)3: Moficar()
3.1: update(Pasajero)
3.2: verificarCampos ()
3.3: update(Pasajero)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
68
CU3: CANCELAR RESERVA
Ilustración 46: Cancelar reserva
CU4: COMPRAR PASAJE
Ilustración 47: Análisis cu comprar pasaje
sd CU3; Cancelar reserv a
FragListaViajes
Pasajero
(from Actores)
N_Viaje Viaje
1: Cancelar Vieje() 1.1: getlista(DataTable) :List<Viaje> 1.2: getViajes() :object
1.3: ExisteViaje()
sd CU4:Comprar Pasaje
Boletos
Viaje
VentaPasaje
N_Viaje
N_Boleto
N_VentaPasaje
FragComprarPasaje
Pasajero
(from Actores)
1: Listaviejes()
1.1: getViejeFecha(string, int) :DataTable
1.2: getviajefecha(strng, int)()
2: eligirVieje()
2.1: getallBoletos(int) :DataTable
2.2: getViejes(int)
3: elegirBolitos(int)
3.1: add(Boletos)
3.2: add(Boletos)
4: ComprarPasaje()
4.1: add(VentaPasje)
4.2: validad()
4.3: Add(ventaPasaje)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
69
CU5: CANCELAR PASAJE
Ilustración 48: Análisis cu cancelar pasaje
CU5: CONSULTAR VIAJE
Ilustración 49: Análisis cu consultar viaje
sd CU5: Canselar reserva
Sistema
(from Actores)
FragListaViajes ViajeN_Viaje
1: CancelarReserva()
1.1: CancelarReserva()
1.2: ValidarExisteReserva()
1.3: delete()
sd CU9: Consultar v iajes
FragComprarPasaje
Pasajero
(from Actores)
N_Viaje Viaje
FragListaViajes
1: consultarVijaes() 1.1: getViejeFecha(string, int) :DataTable
1.2: getviajefecha(strng, int)()
2: verdetalles()
2.1: cargarLista()
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
70
7. FLUJO DE TRABAJO DISEÑO
7.1 DISEÑO DE DATOS
7.1.1 MODELO CONCEPTUAL
Ilustración 50: Modelo concptual
class Mov il
Cliente
- Apellido: varchar(30)
- Celular: int
- CI: int
- Nombre: varchar(20)
- Sexo: varchar(10)
- Telefono: int
lugares
- lugar: varchar(30)
Compra_Reserv a_Pasaje
- Descripcion: varchar(15)
- FechaSalida: datetime
- HoraSalida: varchar(10)
- NroAsientos: varchar(10)
- Preciototal: float
- tipo: varchar(10)
Ruta
- Dsitancia: varchar(10)
- HorasViajes: varchar(5)
Coordenadas
- Longitud: float
- Latitud: float
11..*
1
tiene
destino
1
1
tiene
origen
1
1 1..*
1..*
tiene
1
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
71
7.1.2 MODELO LOGICO
Coordenadas
P.k. F.k.
IdCoord Longitud Latitud IdR
Ruta
P.k. F.k
IdR Distancia HorasViajes IdL
Lugares
P.k
idL Lugar
Compra_Reserva de pasajes.
P.k F.k F.k.
IdC Descripcion Fecha
Salida
Hora
Salida
NroAsiento Precio
Total
Tipo IdR IdCli
Cliente
P.k
IdCli Nombre Apellido C.I Celular Sexo Telefono
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
72
7.1.3 DISEÑO FISICO
Coordenadas
Atributo Tipo de dato Tamaño Tipo de llave Nulo Descripcion
IdCoord Entero 10 Primaria No Llave primaria de la
clase coordenadas
Longitud Real - No No Describe la longitud
Latitud Real - No No Describe la latitud
IdR Entero 10 Externa No Llave primaria de la
clase Ruta
Ruta
Atributo Tipo de dato Tamaño Tipo de llave Nulo Descripcion
IdR Entero 10 Primaria No Llave primaria de
la clase ruta.
Distancia Texto 10 No No Describe la
distancia de las
rutas.
Horas Viaje Texto 5 No No Describe las horas
de viaje.
IdL Entero 10 No No Llave primaria de
la clase Lugar.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
73
Lugares
Atributo Tipo de dato Tamaño Tipo de llave Nulo Descripción
IdL Entero 10 Primaria No Llave primaria de
la clase Lugar.
Lugar Texto 30 No No Describe el lugar.
Compra Reserva de pasajes
Atributo Tipo de dato Tamaño Tipo de llave Nulo Descripción
IdC Entero 10 Primaria No Llave primaria de
la clase
Compra_Reserva
de pasajes.
Descripción Texto 15 No No Describe un detalle
de la compra o
reserva de pasajes.
Fecha_Salida Texto - No No Describe la fecha
del pasaje.
Hora_Salida Texto 10 No No Describe la hora del
pasaje.
NroAsientos Texto 10 No No Describe la
cantidad de asientos
disponibles.
Precio Total Real - Describe el precio
del pasaje.
Tipo Texto 10 No No Describe si es
compra o reserva
IdR Entero 10 Externa No Llave primaria de
la clase Ruta.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
74
IdCli Entero 10 Externa No Llave primaria de
la clase Cliente.
Cliente
Atributo Tipo de dato Tamaño Tipo de llave Nulo Descripción
IdCli Entero 10 Primaria No Llave primaria de
la clase Cliente.
Nombre Texto 20 No No Nombre del cliente.
Apellido Texto 30 No No Apellido del cliente.
C.I. Entero - No No C.I. del cliente.
Celular Entero - No No Describe el celular
del cliente.
Sexo Texto 10 No No Sexo del Cliente.
Teléfono Entero - No No Teléfono del
Cliente.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
75
cmp Arquitectura Fisica
Serv idor
S.O. Windows 8
S.G.B.D. SQL Serv er 2008
Framework 4.5
Datos
(from Arquitectura Logica)
Negocio
(from Arquitectura Logica)
Cliente
S.O. Android 4.1
API Google Maps
V2
Motor B.D SQLite
Web Serv ice
Presentacion
(from Arquitectura Logica)
Sync
(from Arquitectura Logica)
Negocio
Datos
1 *
7.2 DISEÑO DE LA ARQUITECTURA
Ilustración 51: Diseño de la arquitectura
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
76
7.3 DISEÑO DE UN CASO USO (Diagrama de secuencia)
CU1: ADMINISTRAR USUARIO
Ilustración 52: Diseño CU administrar usuario
sd CU1: Administrar Pasajero
Pasajero
(from Actores)
PasajeroN_PasajeroActiv ityRegistroPasajero
login()
getValidad(int, string) :DataTable
validarcampos()
getPasajero(correo, pass) :String
Registrar Pasajero()
add(Pasajero)
ValidarCampos()
add(pasajero)
Modificar()
update(Pasajero)
ValidadCampos()
update(Pasjeo)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
77
CU3: CANCELAR RESVERVA
Ilustración 53: Diseño CU cancelar reserva
sd CU3; Cancelar reserv a
N_PasajeroFragListaViajes
Pasajero
(from Actores)
Viaje
CancelarPasaje()
getall() :DataTable
getalll()
confimar()
elminarViaje()
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
78
CU4: COMPRAR PASAJE
Ilustración 54: Diseño CU comprar pasaje
sd CU4:Comprar Pasaje
Pasajero
(from Actores)
N_Boleto N_VentaPasajeN_Viaje VentaPasajeViaje BoletosFragComprarPasaje
l istarviajes()
getViejeFecha(string, int) :DataTable
getfecha()
eligirvieje()
getallBoletos(int) :DataTable
getBoletos()
elegirAsiento()
realizarcompra()
add(VentaPasje)
validad saldo()
add(VentaPasaje)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
79
CU5: CANCELAR PASAJE
Ilustración 55: Diseño CU cancelar pasaje
CU9: CONSULTAR VIAJE
Ilustración 56: Diseño CU consultar viaje
sd CU5: Canselar reserv a
Pasajero
(from Actores)
FragListaViajes N_Viaje Viaje
cargarLista()
getall() :List<Viaje>
existeResservar()
getall()
CancelarReserva()
Cancelar()
delete()
sd CU9: Consultar v iajes
FragComprarPasaje
Pasajero
(from Actores)
N_Viaje ViajeFragListaViajes
consultarviajes()
getlista(DataTable) :List<Viaje>
getall()
cargarLista()
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
80
7.4 DIAGRAMA DE CLASE
CU1: ADMINISTRAR USUARIO
Ilustración 57: Diseño clase CU administrar usuario
dm CU1: Administrar Pasajero
Activity
pasajeinstante::Activ ityLogin
- btn_ingresar: Button
- et_ci: EditText
- et_contrasena: EditText
- ws: CallSoap
- db: DBHelper
# onCreate(Bundle) : void
+ instanciarObjetos() : void
+ validarPasajero() : void
+ onCreateOptionsMenu(Menu) : boolean
Activity
«boundary»
pasajeinstante::
Activ ityRegistroPasajero
~ ci: EditText
~ nombre: EditText
~ apell ido: EditText
~ celular: EditText
~ contrasena: EditText
~ email: EditText
~ spSexo: Spinner
~ btnGuardar: Button
~ ws: CallSoap
~ db: DBHelper
# onCreate(Bundle) : void
- instanciarObjetos() : void
- cargarSpinners() : void
- registrarPasajero() : void
«control»
Negocio::Pasajero
+ add(Pasajero) : void
+ update(Pasajero) : void
+ delete(Pasajero) : void
+ getall() : DataTable
+ getPasajeroID(int) : Pasajero
+ getValidad(int, string) : DataTable
«entity»
datos::Pasajero
~ ci: int
~ nombre: String
~ apell ido: String
~ sexo: String
~ celular: int
~ correo: String
~ pass: String
+ getCi() : int
+ setCi(int) : void
+ getApell ido() : String
+ setApell ido(String) : void
+ getCelular() : int
+ setCelular(int) : void
+ getNombre() : String
+ setNombre(String) : void
+ getSexo() : String
+ setSexo(String) : void
+ getPass() : String
+ setPass(String) : void
+ getCorreo() : String
+ setCorreo(String) : void
+ Pasajero(int, String, String, String, int, String, String)
webserv ice::WebServ ice1
+ NAMESPACE: String = "http://WebService/" {readOnly}
+ URL: String = "http://192.168...
+ METHOD_NAME: String = ""
+ SOAP_ACTION: String = ""
+ request: SoapObject = null
+ envelope: SoapSerializationEnvelope = null
+ resultsRequestSOAP: SoapPrimitive = null
~ gson: Gson = new Gson()
+ validarPasajero(String, String) : Pasajero
+ ObtenerPedidosPendientes(String) : ArrayList<Integer>
+ ConvertirListaPedidos(String) : ArrayList<Integer>
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
81
CU3: CANCELAR RESERVA
Ilustración 58: Diseño clase CU cancelar reserva
class CU3; Cancelar reserv a
Fragment
«boundary»
pasajeinstante::FragListaViajes
~ lista: ListView
~ adaptador: ArrayAdapter
~ ws: CallSoap
~ listaViajes: List<Viaje>
+ fecha: String
+ idRuta: String
+ onCreateView(LayoutInflater, ViewGroup, Bundle) : View
+ onActivityCreated(Bundle) : void
+ onCreate(Bundle) : void
+ onOptionsItemSelected(MenuItem) : boolean
+ cargarLista() : void
- instanciarObjetos() : void
«control»
Negocio::N_Viaje
+ add(Viaje) : void
+ update(Viaje) : void
+ delete(Viaje) : void
+ getall() : List<Viaje>
+ getID(int) : Viaje
+ getViejeFecha(string, int) : DataTable
+ getlista(DataTable) : List<Viaje>
«entity»
datos::Viaje
~ viajeID: int
~ descripcion: String
~ fechaSalida: String
~ horaSalida: String
~ nroOrden: int
~ precio: float
~ busID: int
~ choferID: int
~ rutaID: int
+ getViajeID() : int
+ setViajeID(int) : void
+ getDescripcion() : String
+ setDescripcion(String) : void
+ getFechaSalida() : String
+ setFechaSalida(String) : void
+ getHoraSalida() : String
+ setHoraSalida(String) : void
+ getNroOrden() : int
+ setNroOrden(int) : void
+ getPrecio() : float
+ setPrecio(float) : void
+ getBusID() : int
+ setBusID(int) : void
+ getChoferID() : int
+ setChoferID(int) : void
+ getRutaID() : int
+ setRutaID(int) : void
+ Viaje(int, String, String, String, int, float, int, int, int)
+ getviajefecha(strng, int)() : void
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
82
CU4: COMPRAR PASAJE
Ilustración 59: Diseño clase CU comprar pasaje
class CU4:Comprar Pasaje
Fragment
«boundary»
pasajeinstante::FragComprarPasaje
~ spnOrigen: Spinner
~ spnDestino: Spinner
~ db: DBHelper
~ ws: CallSoap
~ tvFecha: TextView
~ btnFecha: Button
~ btnBuscar: Button
~ listRutas: List<Ruta>
~ ondate: OnDateSetListener = new OnDateSetLi...
+ onCreateView(LayoutInflater, ViewGroup, Bundle) : View
+ onActivityCreated(Bundle) : void
+ onCreate(Bundle) : void
+ onOptionsItemSelected(MenuItem) : boolean
+ onCreateOptionsMenu(Menu, MenuInflater) : void
- inicializarObjetos() : void
- rutaValida() : Ruta
- obtenerFecha() : String
- obtenerIdRuta() : String
- cargarSpinners() : void
- showDatePicker() : void
+ ComprarPasaje()() : void
+ eligirVieje() : void
Fragment
pasajeinstante::FragPlanillaAsientos
~ gvPlanilla: GridView
+ fi lesnames: String ([]) = { "Boton 0", "B... {readOnly}
+ viajeElegido: Viaje
~ f: TextView
~ h: TextView
~ t: TextView
~ p: TextView
~ listBoletos: List<Boletos>
~ listBoletosComprados: List<Boletos>
~ ws: CallSoap
+ onCreateView(LayoutInflater, ViewGroup, Bundle) : View
+ onActivityCreated(Bundle) : void
+ onCreate(Bundle) : void
+ onOptionsItemSelected(MenuItem) : boolean
- guardarViaje() : void
- cargarListaPasajes() : void
- inicializarObjetos() : void
+ mostrarPresionado(int) : void
+ calcularPosReal(int) : int
Negocio::N_VentaPasaje
+ add(VentaPasje) : void
+ update(VentaPasje) : void
+ delete(VentaPasje) : void
+ getall() : List<VentaPasje >
+ getID(int) : VentaPasje
+ cantidadtuplas() : int
+ listaVentas(DataTable) : List<VentaPasje>
Negocio::N_Viaje
+ add(Viaje) : void
+ update(Viaje) : void
+ delete(Viaje) : void
+ getall() : List<Viaje>
+ getID(int) : Viaje
+ getViejeFecha(string, int) : DataTable
+ getlista(DataTable) : List<Viaje>
«entity»
datos::Boletos
- boletosID: int
- viajeID: int
- asiento: int
- estado: String
+ getBoletoID() : int
+ setBoletoID(int) : void
+ getViajeID() : int
+ setViajeID(int) : void
+ getAsiento() : int
+ setAsiento(int) : void
+ getEstado() : String
+ setEstado(String) : void
+ Boletos(int, int, int, String)
+ Boletos()
datos::Factura
~ idViaje: int
~ nombre: String
~ ci: int
~ cantidad: int
~ fechaCompra: String
~ asientosComprados: ArrayList<Integer>
~ horaViaje: String
~ fechaViaje: String
~ origen: String
~ destino: String
~ compraExitosa: boolean = false
~ precioPasaje: double
~ total: double
+ getIdViaje() : int
+ setIdViaje(int) : void
+ getNombre() : String
+ setNombre(String) : void
+ getCi() : int
+ setCi(int) : void
+ getCantidad() : int
+ setCantidad(int) : void
+ getFechaCompra() : String
+ setFechaCompra(String) : void
+ getAsientosComprados() : ArrayList<Integer>
+ setAsientosComprados(ArrayList<Integer>) : void
+ getHoraViaje() : String
+ setHoraViaje(String) : void
+ getFechaViaje() : String
+ setFechaViaje(String) : void
+ getOrigen() : String
+ setOrigen(String) : void
+ getDestino() : String
+ setDestino(String) : void
+ isCompraExitosa() : boolean
+ setCompraExitosa(boolean) : void
+ getPrecioPasaje() : double
+ setPrecioPasaje(double) : void
+ getTotal() : double
+ setTotal(double) : void
+ Factura()
«entity»
datos::Viaje
~ viajeID: int
~ descripcion: String
~ fechaSalida: String
~ horaSalida: String
~ nroOrden: int
~ precio: float
~ busID: int
~ choferID: int
~ rutaID: int
+ getViajeID() : int
+ setViajeID(int) : void
+ getDescripcion() : String
+ setDescripcion(String) : void
+ getFechaSalida() : String
+ setFechaSalida(String) : void
+ getHoraSalida() : String
+ setHoraSalida(String) : void
+ getNroOrden() : int
+ setNroOrden(int) : void
+ getPrecio() : float
+ setPrecio(float) : void
+ getBusID() : int
+ setBusID(int) : void
+ getChoferID() : int
+ setChoferID(int) : void
+ getRutaID() : int
+ setRutaID(int) : void
+ Viaje(int, String, String, String, int, float, int, int, int)
+ getviajefecha(strng, int)() : void
Negocio::N_Boleto
+ add(Boletos) : void
+ update(Boletos) : void
+ delete(Boletos) : void
+ getall() : DataTable
+ getallBoletos(int) : DataTable
«entity»
datos::VentaPasaje
~ ventaPasajeID: int
~ cantidad: int
~ PrecioTotal: double
~ fechaVenta: String
~ viajeID: int
~ ci: int
+ VentaPasaje(int, int, double, String, int, int)
+ getVentaPasajeID() : int
+ setVentaPasajeID(int) : void
+ getCantidad() : int
+ setCantidad(int) : void
+ getFechaVenta() : String
+ setFechaVenta(String) : void
+ getViajeID() : int
+ setViajeID(int) : void
+ getCi() : int
+ setCi(int) : void
«property get»
+ getPrecioTotal() : double
«property set»
+ setPrecioTotal(double) : void
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
83
CU5: CANCELAR PASAJE
Ilustración 60: Diseño clase CU cancelar pasaje
CU9: CONSULTAR VIAJE
Ilustración 61: Diseño clase CU consultar viaje
class CU5: Canselar reserv a
Fragment
«boundary»
pasajeinstante::FragListaViajes
~ lista: ListView
~ adaptador: ArrayAdapter
~ ws: CallSoap
~ listaViajes: List<Viaje>
+ fecha: String
+ idRuta: String
+ onCreateView(LayoutInflater, ViewGroup, Bundle) : View
+ onActivityCreated(Bundle) : void
+ onCreate(Bundle) : void
+ onOptionsItemSelected(MenuItem) : boolean
+ cargarLista() : void
- instanciarObjetos() : void
«entity»
datos::Viaje
~ viajeID: int
~ descripcion: String
~ fechaSalida: String
~ horaSalida: String
~ nroOrden: int
~ precio: float
~ busID: int
~ choferID: int
~ rutaID: int
+ getViajeID() : int
+ setViajeID(int) : void
+ getDescripcion() : String
+ setDescripcion(String) : void
+ getFechaSalida() : String
+ setFechaSalida(String) : void
+ getHoraSalida() : String
+ setHoraSalida(String) : void
+ getNroOrden() : int
+ setNroOrden(int) : void
+ getPrecio() : float
+ setPrecio(float) : void
+ getBusID() : int
+ setBusID(int) : void
+ getChoferID() : int
+ setChoferID(int) : void
+ getRutaID() : int
+ setRutaID(int) : void
+ Viaje(int, String, String, String, int, float, int, int, int)
+ getviajefecha(strng, int)() : void
«control»
Negocio::N_Viaje
+ add(Viaje) : void
+ update(Viaje) : void
+ delete(Viaje) : void
+ getall() : List<Viaje>
+ getID(int) : Viaje
+ getViejeFecha(string, int) : DataTable
+ getlista(DataTable) : List<Viaje>
class CU9: Consultar v iajes
Fragment
«boundary»
pasajeinstante::FragComprarPasaje
~ spnOrigen: Spinner
~ spnDestino: Spinner
~ db: DBHelper
~ ws: CallSoap
~ tvFecha: TextView
~ btnFecha: Button
~ btnBuscar: Button
~ listRutas: List<Ruta>
~ ondate: OnDateSetListener = new OnDateSetLi...
+ onCreateView(LayoutInflater, ViewGroup, Bundle) : View
+ onActivityCreated(Bundle) : void
+ onCreate(Bundle) : void
+ onOptionsItemSelected(MenuItem) : boolean
+ onCreateOptionsMenu(Menu, MenuInflater) : void
- inicializarObjetos() : void
- rutaValida() : Ruta
- obtenerFecha() : String
- obtenerIdRuta() : String
- cargarSpinners() : void
- showDatePicker() : void
+ ComprarPasaje()() : void
+ eligirVieje() : void
«entity»
datos::Viaje
~ viajeID: int
~ descripcion: String
~ fechaSalida: String
~ horaSalida: String
~ nroOrden: int
~ precio: float
~ busID: int
~ choferID: int
~ rutaID: int
+ getViajeID() : int
+ setViajeID(int) : void
+ getDescripcion() : String
+ setDescripcion(String) : void
+ getFechaSalida() : String
+ setFechaSalida(String) : void
+ getHoraSalida() : String
+ setHoraSalida(String) : void
+ getNroOrden() : int
+ setNroOrden(int) : void
+ getPrecio() : float
+ setPrecio(float) : void
+ getBusID() : int
+ setBusID(int) : void
+ getChoferID() : int
+ setChoferID(int) : void
+ getRutaID() : int
+ setRutaID(int) : void
+ Viaje(int, String, String, String, int, float, int, int, int)
+ getviajefecha(strng, int)() : void
«control»
Negocio::N_Viaje
+ add(Viaje) : void
+ update(Viaje) : void
+ delete(Viaje) : void
+ getall() : List<Viaje>
+ getID(int) : Viaje
+ getViejeFecha(string, int) : DataTable
+ getlista(DataTable) : List<Viaje>
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
84
8. FLUJO DE TRABAJO: IMPLEMENTACION
8.1 IMPLEMENTACION DE LA ARQUITECTURA
Ilustración 62: Implementación de la Arquitectura
cmp Modelo de implementación
Viaje Seguimiento PasajeAdministracion de usuario
«principal»
Pasaje al
instante.apk
KSOAP.jar
«library»
SQLite.lib
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
85
8.2 PLAN DE INTEGRACION DE CONSTRUCCIONES
1ra Construccion
Ilustración 63: Primera construcción
2 da Construcción
Ilustración 64: Segunda Construcción
3 ra Construcción
Ilustración 65: Tercera Construcción
4 ta Construcción
deployment Implementacion
Administracion de usuario
deployment Implementacion
Pasaje
deployment Implementacion
Viaje
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
86
Ilustración 66: Cuarta construcción
8.3 PLAN DE DESARRALLO
8.3.1 BASE DE DATOS
Microsoft SQL Server es un sistema para la gestión de bases de datos producido por
Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI
SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas
gestores de bases de datos como son Oracle, PostgreSQL o MySQL
Características de Microsoft SQL Server
Soporte de transacciones.
Soporta procedimientos almacenados.
Incluye también un entorno gráfico de administración, que permite el uso de
comandos DDL y DML gráficamente.
Permite trabajar en modo cliente servidor, donde la información y datos se alojan en
el servidor y los terminales o clientes de la red sólo acceden a la información.
Además permite administrar información de otros servidores de datos
8.3.2 Sistema Operativo
WINDOWS
Es más fácil
Al ser de mayor facilidad de uso Windows en este momento continúa siendo el
sistema operativo más comercial lo cual se refleja en la disponibilidad de aplicaciones,
deployment Implementacion
Seguimiento
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
87
facilidad de mantenimiento así como soporte en el desarrollo de nuevas aplicaciones,
puntos que pueden ser cruciales en la elección de servidores que corren aplicaciones web.
Aplicaciones desarrolladas en menor tiempo
Fruto de la inversión realizada por Microsoft y aunado a una comunidad de
programadores cada vez más grande se ha logrado facilitar el desarrollo de aplicaciones y
sistemas que corran sobre servidores Windows lo cual se ve reflejado en tiempos de
desarrollo menores.
La curva de aprendizaje en el sistema Windows es mucho menor.
8.3.3 Herramienta CASE
Se utilizó ENTERPRISE ARCHITECT para preparar todos los modelos del sistema
debido que proporciona un entorno de modelización de carácter colaborativo y potenciado
mediante UML 2.1, abarca por completo el ciclo de vida de desarrollo de software, con
herramientas que le proporcionan una infraestructura enormemente competitiva en torno a
la modelización de negocio, diseño de software, ingeniería de sistemas, arquitectura
corporativa, gestión de requerimientos, pruebas.
8.3.4 Plugin de Android Para Eclipse
Android es un sistema operativo desarrollado por Google, en principio,
específicamente para dispositivos móviles; incluye el sistema operativo, middleware y
ciertas aplicaciones fundamentales. Android es software libre (FLOSS) distribuido bajo la
licencia Apache 2.0 y su kernel está basado en Linux 2.6 aunque se está trabajando en
actualizarlo a versiones más recientes del kernel.
Entre sus principales características se pueden listar:
Un framework que facilita el rápido desarrollo de aplicaciones que puedan
operar de forma flexible entre distintos dispositivos y cuyo código pueda ser
reusable.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
88
La estructura básica de todo programa (como se verá más adelante) está
constituida por bloques independientes que interactúan entre si, potenciando
aún más la reutilización de código.
Una máquina virtual optimizada para dispositivos móviles, Dalvik VM, que
interpreta código Java.
Librerías para el renderizado de gráficos 2D y 3D.
Uso de bases de datos SQLite.
Soporte para la mayoría los formatos populares de sonido, imágenes y video
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF, etc).
Soporte para conectividad GSM, Bluetooth, EDGE, 3G y WiFi.
Controladores para hardware común en dispositivos móviles como cámaras,
GPS, acelerómetro, etc.
Un completo entorno de desarrollo que incluye un plugin para el IDE
Eclipse y un emulador de dispositivos Android.
Ahora toca describir la arquitectura de Android, en forma bastante general.
Básicamente, contamos con distintas capas, las cuales implementan servicios que pueden
ser usados por las capas superiores (lo que implica que una implementación en una capa X
puede hacer uso de cualquier otro servicio implementado en una capa inferior, si le fuera
necesario).
8.3.5 Requerimientos Mínimos
Hardware
Disco Duro 250 GB.
Memoria RAM 2 GB.
Procesador Intel Core i3 2.93 GHz
Pantalla LCD 19”
Teclado Multimedia
Mouse
Parlantes
Estabilizador
Impresora
Lector DVD
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
89
Software
Sistema Operativo(Windows XP en adelante)
JDK de Java versión 1.8
Motor de Base de Datos Microsoft SQL Server 2008.
SO Android 4.1.
CONCLUSION
Durante el desarrollo del sistema se utilizó el Proceso Unificado de Desarrollo del
Software (PUDS) y el Lenguaje Unificado de Modelado (UML) para la representación
gráfica de los distintos modelos obtenidos durante el proceso de desarrollo, obteniéndose de
esta manera una forma estándar de representar los modelos que compone nuestro sistema.
Se logró implementar una herramienta informática móvil que cumple con el objetivo
general del presente proyecto, el cual era desarrollar una aplicación móvil para la empresa
de transporte “6 DE OCTUBRE”, para realizar reservas, compras y validación de pasajes,
para buses interprovinciales e interdepartamentales. Esto se alcanzó a través de la
consecución de todos los objetivos específicos establecidos, los cuales garantizaron el éxito
del mismo.
Services (para la implementación de los servicios web) fueron elementos
fundamentales en el desarrollo de la arquitectura del presente sistema.
Se disminuyó la pérdida de tiempo del pasajero al momento de adquirir su pasaje para
realizar su viaje.
RECOMENDACIONES
En un proyecto siempre se desea que haya una mejora continua del mismo, por lo
tanto se plantea las siguientes recomendaciones para que sean consideradas por futuras
personas que tengan interés en el tema.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
90
Es recomendable la integración del sistema con una aplicación de generación y
lectura de códigos QR para la identificación de los pasajes comprados. Con esto
ya no sería necesario que el cliente tenga que canjear sus pasajes antes abordar
el bus sino que solo muestre el código QR impreso o desde la pantalla de su
smartphone y el dispositivo lector reconocerá el pasaje comprado.
Cualquier mejora respecto al sistema recomendamos utilizar los modelos
originales, el cual le permitirá establecer cambios y mejoras a partir de una
documentación consistente.
Seguir desarrollando el programa para beneficio del cliente de la empresa de
buses.
Realizar mejoras al software en prototipos.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
91
BIBLIOGRAFÍA
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
92
JACOBSON, I., BOOCH, G. y RUMBAUGH, J. (2001) “El Proceso Unificado de
Desarrollo de Software”. Editorial PEARSON EDUCACIÓN S.A., Madrid, España.
JACOBSON, I., BOOCH G. y RUMBAUGH, J. (2001) “El Leguaje Unificado de
Modelado”. Editorial PEARSON EDUCACIÓN S.A., 2a. Edición, Madrid,
España.
S. Escalera, “Manual de Tesis de Grado”, Tercera Edición.
Caballero Nadales Laura, (2012). Informe Near Field Comunication [en línea],
< https://contecconsulting.files.wordpress.com/2012/11/informe-nfc.pdf >
[Consultado 1 de abril de 2015].
AETIC (Asociación de Empresas de Electrónica, Tecnologías de la información y
Telecomunicaciones en España), (2009). La Tecnología RFID: Usos y
oportunidades. [en línea], < www.ametic.es/DescargarDocumento.aspx?idd=2885 >
[Consultado 1 de abril de 2015].
Guillermo Julián, (2013). Autentificación en dos pasos: que es, como funciona. [en
línea], < http://www.xataka.com/otros/autenticacion-en-dos-pasos-que-es-como-
funciona-y-por-que-deberias-activarla > [Consultado 1 de abril de 2015].
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
93
ANEXOS
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
94
ESQUEMA GRAFICO SITUACION PROBLEMÁTICA
Ilustración 67: Situación problemática
PÉRDIDA DE TIEMPO INNECESARIO EN VARIOS
PUNTOS
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
95
ESQUEMA GRAFICO SITUACION DESEADA
Ilustración 68: Situación deseada
SE EVITA LA PÉRDIDA DE TIEMPO INNECESARIA
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
96
ENTREVISTAS
Nombre de la empresa: 6 DE OCTUBRE Tiempo estimado
de la entrevista: 30
min.
Nombre del entrevistador: Ventura Choque Toribio.
Nombre del entrevistado: Sr. Basilio Pérez.
Preguntas:
¿Cuál es el tipo de servicio que ofrece la empresa?
La empresa ofrece los servicios de transporte de personas y envió de
encomiendas a distintos departamentos y provincias del país.
¿A qué tipo de personas va dirigido el servicio?
A todo público en general: personas comunes, empresas, negociantes,
delegaciones e instituciones (colegios, universidades).
¿Qué sector de la población realiza viajes constantemente?
Hay muchos sectores de la población que requieren realizar viajes
periódicamente, como los comerciantes, empresas de turismo, trabajadores de
empresas que tienen sucursales en distintas partes del país. Otro sector que no
pertenece a ningún rubro son las personas que tienen su trabajo y su familia en
distintos lugares.
¿Cuál es el proceso que se sigue al momento de realizar la venta de un
pasaje?
El pasajero tiene que dirigirse a las oficinas de la empresa personalmente, luego
debe elegir el horario, destino, tipo de bus (normal, semi-cama, cama) y el número de
asiento, luego realizar el pago de su pasaje según las tarifas fijadas por la ATT
(Autoridad telecomunicaciones y transporte)
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
97
¿Cuál es el mayor problema con la venta de pasajes con respecto al cliente?
Surge un gran problema para el pasajero cuando hay una alta demanda de
clientes en el medio, esta situación se da frecuentemente en épocas festivas, feriados y
días relacionados con las ferias de comercio que existen en los distintos departamentos.
Por esta alta demanda existe mucha afluencia de gente al momento de adquirir su
pasaje, realizando filas que son molestas para el cliente.
¿Qué otros problemas existen?
Otro problema muy frecuente es la perdida de los pasajes por parte de los clientes
(pasajeros), este problema se da en el momento que se tiene que autentificar que el
cliente realizo la compra del pasaje. Cuando se da esta situación de perdida de pasaje,
el cliente tiene que ir a oficinas de la empresa a verificar en planillas la compra de su
pasaje, ocasionando pérdida de tiempo para el cliente y la empresa.
¿Existe otra forma de realizar la compra o reserva de pasajes sin que el
cliente tenga que acudir personalmente a las oficinas de la empresa?
Actualmente no contamos con ese servicio, la única forma de que el cliente
adquiera su pasaje es que acuda personalmente a las oficinas de la empresa.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
98
MANUAL DE USUARIO
PASOS PARA LA DESCARGA DE PASAJE AL INSTANTE
Paso1.
Ingresar a la aplicación Play
Store de tu dispositivo móvil.
Paso 2.
Buscamos “Pasaje al Instante”
en el buscador de la Play Store y al
encontrarlo lo seleccionamos.
La otra opción es buscarlo por
medio del siguiente código QR.
Paso 3.
Luego le damos a la opción
descargar la aplicación.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
99
Y esperamos a que termine de
descargarlo e instalarlo en nuestro
dispositivo móvil.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
100
PASOS PARA USAR LA APLICACION
Paso 1.
Ingresa a la aplicación “Pasaje
al instante”.
Si es la primera vez que
ingresamos a la aplicación, nos pedirá
nuestro registro. Entonces llenamos
los siguientes datos y le damos
guardar.
Si todo esta correcto y tenemos
conexión a internet, estaremos
registrados para realizar reserva y
compra de pasajes.
Paso 2.
Una vez registrados, realizamos
el LOGIN a la aplicación
proporcionando nuestro “CI” y
nuestra “Contraseña”. Seleccionamos
el menú lateral izquierdo.
Paso 3. Compra de pasajes.
Elegimos la opción “Comprar
Pasaje”
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
101
Paso 4.
Elegimos el origen, el destino y
la fecha de cuando queremos realizar
nuestro viaje. Y le damos OK.
Paso 5.
Elegimos cual viaje queremos
realizar de la lista de viajes indicando
los datos del viaje.
Paso 6.
En la planilla de asiento
seleccionamos los asientos libres que
deseamos comprar y le damos OK.
Si tenemos el saldo suficiente se
realizara la compra sin problemas.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
102
NOTA: si nuestro saldo no es
suficiente, nos pedirá que
aumentemos saldo a nuestra cuenta
para realizar la compra.
Si tenemos el saldo suficiente
nos mostrara el detalle de la compra
de los boletos.
VALIDACIÓN DE PASAJE DE BUS.
Paso 1.
Ingresamos a la aplicación y nos vamos al menú lateral izquierdo y le damos a
“Consultar Boleto”.
Paso 2.
Seleccionamos de la lista de boletos comprados el que queremos hacer la
validación.
APLICACIÓN MOVIL “PASAJE AL INSTANTE”
104
Paso 3.
Mostrar el detalle de los boletos adquiridos anteriormente al encargado de
verificar la compra respectiva.