104
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

Proyecto pasaje al instanste.v (7)

Embed Size (px)

Citation preview

Page 1: Proyecto pasaje al instanste.v (7)

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

Page 2: Proyecto pasaje al instanste.v (7)

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

Page 3: Proyecto pasaje al instanste.v (7)

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

Page 4: Proyecto pasaje al instanste.v (7)

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

Page 5: Proyecto pasaje al instanste.v (7)

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

Page 6: Proyecto pasaje al instanste.v (7)

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

Page 7: Proyecto pasaje al instanste.v (7)

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

Page 8: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

8

CAPITULO 1.

PERFIL DE PROYECTO

Page 9: Proyecto pasaje al instanste.v (7)

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.

Page 10: Proyecto pasaje al instanste.v (7)

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

Page 11: Proyecto pasaje al instanste.v (7)

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

Page 12: Proyecto pasaje al instanste.v (7)

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.

Page 13: Proyecto pasaje al instanste.v (7)

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

Page 14: Proyecto pasaje al instanste.v (7)

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.

Page 15: Proyecto pasaje al instanste.v (7)

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

Page 16: Proyecto pasaje al instanste.v (7)

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.

Page 17: Proyecto pasaje al instanste.v (7)

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

Page 18: Proyecto pasaje al instanste.v (7)

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.

Page 19: Proyecto pasaje al instanste.v (7)

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

Page 20: Proyecto pasaje al instanste.v (7)

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.

Page 21: Proyecto pasaje al instanste.v (7)

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.

Page 22: Proyecto pasaje al instanste.v (7)

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:

Page 23: Proyecto pasaje al instanste.v (7)

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

Page 24: Proyecto pasaje al instanste.v (7)

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:

Page 25: Proyecto pasaje al instanste.v (7)

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

Page 26: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

26

CAPITULO 2.

TOTP (TIME-BASED ONE TIME

PASSWORD)

Page 27: Proyecto pasaje al instanste.v (7)

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

Page 28: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

28

CAPITULO 3.

MODELOS

Page 29: Proyecto pasaje al instanste.v (7)

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

Page 30: Proyecto pasaje al instanste.v (7)

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]

Page 31: Proyecto pasaje al instanste.v (7)

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

Page 32: Proyecto pasaje al instanste.v (7)

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)

Page 33: Proyecto pasaje al instanste.v (7)

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

Page 34: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

34

Ilustración 14: Prototipo interfaz adiministra usuario

Page 35: Proyecto pasaje al instanste.v (7)

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)

Page 36: Proyecto pasaje al instanste.v (7)

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.

Page 37: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

37

Ilustración 16: Buscar viajes para la reserva

Page 38: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

38

Ilustración 17: Lista de viajes disponibles

Page 39: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

39

Ilustración 18:Panilla con los asientos disponibles

Page 40: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

40

Ilustración 19: Detalle de la reserva realizada

Page 41: Proyecto pasaje al instanste.v (7)

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)

Page 42: Proyecto pasaje al instanste.v (7)

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)

Page 43: Proyecto pasaje al instanste.v (7)

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.

Page 44: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

44

Ilustración 22: Buscar viajes

Page 45: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

45

Ilustración 23: Lista de Viajes

Page 46: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

46

Ilustración 24: Asientos disponibles

Page 47: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

47

Ilustración 25: Resumen viaje

Page 48: Proyecto pasaje al instanste.v (7)

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

Page 49: Proyecto pasaje al instanste.v (7)

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

Page 50: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

50

Ilustración 28:Detalle del Pasaje

Page 51: Proyecto pasaje al instanste.v (7)

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)

Page 52: Proyecto pasaje al instanste.v (7)

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

Page 53: Proyecto pasaje al instanste.v (7)

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)

Page 54: Proyecto pasaje al instanste.v (7)

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

Page 55: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

55

Ilustración 31: Detalle del viaje

Page 56: Proyecto pasaje al instanste.v (7)

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

Page 57: Proyecto pasaje al instanste.v (7)

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

Page 58: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

58

Ilustración 33: Lista de viajes disponible

Page 59: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

59

Ilustración 34: Detalle del viaje elegido

Page 60: Proyecto pasaje al instanste.v (7)

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»

Page 61: Proyecto pasaje al instanste.v (7)

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

Page 62: Proyecto pasaje al instanste.v (7)

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»

Page 63: Proyecto pasaje al instanste.v (7)

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»

Page 64: Proyecto pasaje al instanste.v (7)

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

Page 65: Proyecto pasaje al instanste.v (7)

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)

Page 66: Proyecto pasaje al instanste.v (7)

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

Page 67: Proyecto pasaje al instanste.v (7)

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)

Page 68: Proyecto pasaje al instanste.v (7)

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)

Page 69: Proyecto pasaje al instanste.v (7)

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()

Page 70: Proyecto pasaje al instanste.v (7)

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

Page 71: Proyecto pasaje al instanste.v (7)

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

Page 72: Proyecto pasaje al instanste.v (7)

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.

Page 73: Proyecto pasaje al instanste.v (7)

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.

Page 74: Proyecto pasaje al instanste.v (7)

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.

Page 75: Proyecto pasaje al instanste.v (7)

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

Page 76: Proyecto pasaje al instanste.v (7)

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)

Page 77: Proyecto pasaje al instanste.v (7)

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()

Page 78: Proyecto pasaje al instanste.v (7)

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)

Page 79: Proyecto pasaje al instanste.v (7)

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()

Page 80: Proyecto pasaje al instanste.v (7)

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>

Page 81: Proyecto pasaje al instanste.v (7)

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

Page 82: Proyecto pasaje al instanste.v (7)

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

Page 83: Proyecto pasaje al instanste.v (7)

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>

Page 84: Proyecto pasaje al instanste.v (7)

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

Page 85: Proyecto pasaje al instanste.v (7)

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

Page 86: Proyecto pasaje al instanste.v (7)

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

Page 87: Proyecto pasaje al instanste.v (7)

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.

Page 88: Proyecto pasaje al instanste.v (7)

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

Page 89: Proyecto pasaje al instanste.v (7)

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.

Page 90: Proyecto pasaje al instanste.v (7)

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.

Page 91: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

91

BIBLIOGRAFÍA

Page 92: Proyecto pasaje al instanste.v (7)

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].

Page 93: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

93

ANEXOS

Page 94: Proyecto pasaje al instanste.v (7)

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

Page 95: Proyecto pasaje al instanste.v (7)

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

Page 96: Proyecto pasaje al instanste.v (7)

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)

Page 97: Proyecto pasaje al instanste.v (7)

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.

Page 98: Proyecto pasaje al instanste.v (7)

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.

Page 99: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

99

Y esperamos a que termine de

descargarlo e instalarlo en nuestro

dispositivo móvil.

Page 100: Proyecto pasaje al instanste.v (7)

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”

Page 101: Proyecto pasaje al instanste.v (7)

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.

Page 102: Proyecto pasaje al instanste.v (7)

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.

Page 103: Proyecto pasaje al instanste.v (7)

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.

Page 104: Proyecto pasaje al instanste.v (7)

APLICACIÓN MOVIL “PASAJE AL INSTANTE”

104

Paso 3.

Mostrar el detalle de los boletos adquiridos anteriormente al encargado de

verificar la compra respectiva.