Proyecto Taxis
Proyecto Taxis
El proyecto de título incluye las etapas: proyecto I y proyecto II, que considera: Plan
de trabajo metodología de desarrollo, análisis y diseño del sistema, prototipos funcionales de
la aplicación Web, Web Móvil y de la Api del google Maps. Además el plan de pruebas
parcial, con datos ingresados parcialmente, con el objetivo de un mejor funcionamiento de la
aplicación. Como también toda la investigación asociada para poder elaborar de una forma
óptima nuestro trabajo de título.
ABSTRACT
The following document to ides a project called " Mobile Radio Taxi Prototype" which
was specially designed for this particular assignment. The main problem is that there is no
such software as to develop the computing tasks of the control of the fleet.
The final assignment includes: Project I & Project II which considers: A work plan,
methodology development, analysis and system design, functional prototypes of the web
application, mobile web and google maps API. Besides the partial testing plan with partially
entered data with the aim to better the application performance as all the research also linked
to optimally prepare our job title.
1. Introducción
Este tipo de empresas están divididas en dos partes funcionales, los choferes con sus
automóviles designados o propios y la central de pedidos. Ambas partes comunican por medio
de radios, lo que genera que el chofer pierda la concentración en la conducción lo que puede
provocar un accidente de tráfico. Esta interacción es necesaria ya que la central no sabe la
ubicación actual del móvil, debe entregar la orden de un nuevo pedido o simplemente cancelar
una carrera.
Por otra parte la central no cuenta con un sistema informático acorde a sus necesidades
y lleva por intermedio de papel todos sus registros.
La idea principal es elaborar un sistema que permita tener un control de la flota, por
medio de dispositivos móviles, y que también permita gestionar la flota con una aplicación
web.
Si bien se ha señalado los aspectos principales del trabajo de título, es necesario
mencionar las diversas tecnologías y aplicaciones utilizadas a lo largo del trabajo realizado.
Las cuales serían las siguientes:
Asp.net. C#
SQL Server 2005
Visual Studio 2008
Entre otras.
Cabe señalar, que en el transcurso de este documento será explicaran con mayor detalle
cada una de estas, así como también hay que mencionar que se utilizan un número elevado de
tecnologías, entre las cuales existía algunas de conocimiento previo y otras que por el
contrario representaron un desafío en lo que respecta al aprendizaje de nuevos conocimientos
emanados del gran mundo de la informática.
2
2. Objetivos
Investigar todas de las tecnologías necesarias para realizar del prototipo Web,
Web móvil y sistema de seguimiento (GPS).
Elaborar una solución que permita mejorar la forma de trabajo de este tipo de
empresas, así como también la correcta integración de las tecnologías
utilizadas.
3
3. Descripción de la empresa
Las empresas de radio taxi, son empresas que prestan servicio de traslado de pasajeros,
valores, mensajería como de encargos, además del Turismo en el ámbito nacional.
Las empresas de este rubro cuanta de dos áreas principales.
1. Central de pedidos. Está a cargo de La que se encarga de la recepción de los
pedidos, control y asignación de la flota, además del llevar el registro de la parte
contable de la empresa.
2. La flota. Está compuesta por una serie de automóviles con sus choferes, es la parte
móvil de la empresas
4
Descripción de los pasos:
Realizar pedido. Se capturan los datos tanto como del cliente como del
pedido que desea realizar, en caso de que el cliente no esté registrado se
registra.
En ambos casos la central llama al cliente para dar aviso que su taxi se
encuentra en camino.
5
4. Problemática
Las empresas de este rubro no cuentan con sistema informático para la administración de
la flota, clientes frecuentes, choferes, por ende todos sus registros son manejados en algunos
casos en Excel o simplemente en papel.
El encargado de llevar estos registros por lo general cumple la función de recepcionista de
pedidos, por lo cual su trabajo se hace engorroso, si es un día con alta demanda de servicios
esto se complica aún más y se pierden clientes al no poder atenderlos.
La toma de decisiones pasa solamente por la experiencia que pueda tener el administrador
y con la escasa información que se ha obtenido. La asignación de un vehículo a un cliente es
una de la decisiones más comunes que se toman y a veces las respuestas a esta decisiones no
suelen ser las mejores.
Recepción de un pedido. Si bien las empresas cuentan con personal que por
su experiencia puede entender una gran cantidad de pedidos en poco tiempo,
como la forma más tradicional de realizar un pedido es vía telefónica esto
provoca que la línea puede saturarse en periodo de tiempo, con lo cual se
perderán posibles clientes.
5.1. Tecnologías
5.1.1. Sistema de Posicionamiento Global (GPS)
7
5.1.2. Tecnología WAP
WAP es una serie de tecnologías que consisten en: WML, que es el lenguaje de
etiquetas, WMLScript es un lenguaje de script, lo que vendría a ser JavaScript.
Las páginas WAP son simples ficheros de texto con extensiones WML.
Podemos definir WML como un lenguaje heredado de HTML, pero basado en XML, y
que es usado para especificar contenido para dispositivos WAP. Se usa para poder crear
páginas que pueden ser mostradas en un navegado WAP. WML usa lo que se llama
WMLScripts para poder ejecutar códigos simples en el cliente. Se puede comparar de
alguna manera con JavaScript, con la diferencia en que el consumo de memoria y CPU
es bastante menor.
5.1.2.1. Arquitectura
La arquitectura basada en la arquitectura definida para el World Wide Web,
pero adaptada a los nuevos requisitos del sistema.
8
Pasarela. Esta pasarela actúa como un mediador un dispositivo celular
y un servidor Web. Básicamente, enruta peticiones del cliente a un
servidor Web
Cliente. Son los teléfonos móviles, los cuales son partes de la red
Wireless. Estos dispositivos envían la petición WAP a la pasarela WAP,
la cual a su vez traduce dichas peticiones en un formato que el servidor
Web puede entender. Cuando la pasarela WAP vuelve a recibir la
respuesta del servidor Web, lo vuelve a traducir en un formato WAP
para que el dispositivo lo pueda interpretar.
9
5.1.3.2. Cómo Funciona el GPRS
Esta tecnología está basado en paquete, es decir que los datos son divididos
en varios paquetes que son transmitidos en breves ráfagas. Este diseño es más
eficiente ya que por una parte el usuario siempre está conectado por lo cual no
tiene que conectarse a la red para obtener los datos, segundo reduce los costos de
operatividad de la red.
5.1.3.3. Velocidades
10
5.2. La web
11
5.2.2. Tecnologías web
12
5.2.2.2. Aplicación Web
Ventajas
Desventajas
Dependen de la conexión a internet.
13
5.2.2.3. Servidor Web
También podemos tener aplicaciones Web. Estas son fragmentos de código que
se ejecutan cuando se realizan ciertas peticiones o respuestas HTTP. Hay que tener
en cuenta que estas aplicaciones tienen caras por así decirlo.
14
Aplicaciones en el lado del servidor: el servidor Web ejecuta la
aplicación; esta, una vez ejecutada, genera cierto código HTML; el
servidor toma este código recién creado y lo envía al cliente.
El API de Google Maps permite insertar Google Maps en las páginas web con
JavaScript. El API proporciona diversas utilidades para manipular mapas y añadir
contenido al mapa mediante diversos servicios, permitiendo crear sólidas aplicaciones de
mapas en tu sitio web. Es un servicio gratuito, disponible para cualquier sitio web que sea
gratuito para el consumidor.
15
5.4. Web móvil
La web móvil hace referencia a una web en la que el usuario puede acceder desde
cualquier lugar, independiente del tipo de dispositivo móvil que utilice.
Esta conexión puede ser por medio de Wi-Fi o por empresas que presten servicios
de internet móvil, las más conocidas en Chile son: ENTEL, CLARO, MOVISTAR.
5.4.2. Limitaciones
1 2
En un estudio de realizado por Jakob Nielsen sobre “usabilidad móvil” da a
conocer 4 problemas que puede encontrar el usuario al momento de acceder a la web
móvil.
16
Pantallas pequeñas que un dispositivo sea móvil tiene relación con el
tamaño que este posea. Lo que da menos opciones visibles en un momento
dado, imposibilidad de más ventanas complicando la interacción.
Los sitios los sitios están enfocados para el uso de escritorio, por lo cual no
cumple con las especificaciones para el uso móvil.
3
La idea de hacer más sencillo el uso de la web móvil, por lo cual la W3C
propone crear una web única que esté disponible para cualquier dispositivo Móvil. Lo
que ayudara a garantizar una mejor experiencia del usuario en el dispositivo móvil,
teniendo en cuenta las capacidades del dispositivo, la ubicación y la información del
contexto.
5.4.4. Tecnologías
3 El World Wide Web Consortium (W3C) es una comunidad internacional que desarrolla estándares que
aseguran el crecimiento de la Web a largo plazo
17
Ventajas: Los documentos XHTML pueden visualizarse en navegadores
HTML. El código fuente que se obtiene es muy claro y muy fácil de
modificar. Compatible con los nuevos estándares que actualmente está
desarrollando el W3C como recomendación para futuros usuarios
Una vez creados los contenidos, se utiliza el lenguaje CSS para definir el
aspecto de cada elemento: color, tamaño y tipo de letra del texto, separación
horizontal y vertical entre elementos, posición de cada elemento dentro de la
página, etc.
5.5.1. PostgreSQL
APIs para programar en C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC,
PHP, Lisp, Scheme, Qt y muchos otros.
Llaves primarias y foráneas.
Realizar pedido. Se capturan los datos tanto como del cliente como del
pedido que desea realizar, en caso de que el cliente no esté registrado se
registra.
21
6.2. Flujo de trabajo Web
Realizar pedido. Se capturan los datos tanto como del cliente como del
pedido que desea realizar, en caso de que el cliente no esté registrado se
registra.
22
Registrar. Se registra el cliente, capturando sus datos, luego se direcciona
al login.
Para los pedidos van a existir 3 formas de realizar un pedido, con esto pretendemos
darle al cliente una mayor diversidad a la hora de necesitar un móvil, a continuación se
explicaran con detalles cada uno de estas formas.
23
Telefónica. El cliente al llamar a la Central se pedirán sus datos, con lo cual se
conocerá si es cliente nuevo o ya ha utilizado antes el servicio, la información
personal del usuario también servirá para reducir los falsos pedidos. Este
módulo nos permitirá agilizar un pedido telefónico logrando atender una mayor
cantidad de llamadas en un mínimo de tiempo, así no se perderán clientes si la
línea está ocupada por mucho tiempo.
Internet. El cliente deberá entregar una serie de datos personales como del
pedido, el administrador será avisado automáticamente de que hay un pedido
vía internet y este estará a cargo de dar de alta el pedido, avisándole
oportunamente al cliente. La ventaja que ofrece este módulo, será que el cliente
podrá reservar con una mayor cantidad de tiempo su radio taxi.
24
Pedido Reservado: El pedido no se ha realizado y no tiene asignado un
automóvil, el sistema para este tipo de pedidos deberá entregar una alerta
cuanto este próximo a cumplirse fecha y/u hora del pedido
6.4.2.1. Administrativa
Cada automóvil contará con un sistema GPS, con el cual se podrá conocer
la posición actual de cada uno de éstos, lo que permitirá asignar el automóvil que
se encuentre más próximo a un nuevo cliente
25
Figura 13 Modelo funcional de seguimiento satelital.
Se creará un registro de cada chofer que trabaje en la empresa, con todos sus
datos personales y con los viajes que allá realizado en un periodo de tiempo, además de
tener una bitácora de observaciones. Los choferes serán ingresados previamente por el
administrador a cargo.
26
6.4.5. Gestión Recepcionista
Se creara un registro recepcionista, con todos los datos personales, los permisos
que se le otorgaran serán la gestión de los pedidos y de los clientes. Un recepcionista
deberá ser registrado por un administrador para poder utilizar el sistema.
27
7. Paradigma y metodología de desarrollo
7.1. Metodología de desarrollo.
28
que el que mejor se adaptaba a las necesidades presentes era el modelo de desarrollo
incremental.
Por lo cual se desarrollara el sistema por módulos, para así después continuar con los
siguientes módulos del sistema. Con esto se quiere lograr un mayor entendimiento de estos y
tener la posibilidad de detectar los distintos sucesos que ocurren a lo largo del desarrollo del
sistema.
El hecho de que elaborar un sistema de tamaño pequeño, conlleva menores riesgos que
los asociados a uno de mayor magnitud.
Al desarrollar las funcionalidades por parte, se hace más fácil conocer si los
requerimientos planificados para los niveles que siguen son adecuados y efectivos.
En cada incremento se puede usar un modelo diferente, cascada en el caso de que los
requerimientos estén bien claro o evolutivo si no están tan claros.
30
Capa de datos: Aquí es donde residen los datos y es la encargada de acceder
a los mismos. Está formada por uno o más gestores de bases de datos que
realizan todo el almacenamiento de datos, reciben solicitudes de
almacenamiento o recuperación de información desde la capa de negocio.
7.4. Herramientas.
DIA: Software gratuito, que también permite el manejo de diagramas y uml. Utilizado
para resolver las falencias del anterior.
31
8. Diagramas Caso de Uso
8.1. Caso de Uso General, aplicación Web
32
8.1.1. Especificaciones del caso de uso general.
Tipo: Principal
Tipo: Principal
Tipo: Principal
33
Caso de uso: Gestionar Chofer
Tipo: Principal
Tipo: Principal
34
Caso de uso: Gestionar Cliente
Tipo: Principal
35
8.2. Caso de uso: Gestionar Recepcionista
Tipo: Principal.
36
Descripción: El administrador podrá realizar distintas
acciones sobre los recepcionistas de la
empresa.
21. El administrador ingresa el Rut del 22. El sistema verifica que el Rut
recepcionista. ingresado es válido y que existe,
mostrando por pantalla todos los datos del
recepcionista.
39
8.3. Caso de uso: Gestionar Cliente
Tipo: Principal.
6. El usuario cliente ingresa los datos del 7. El sistema verifica que el cliente no
cliente exista y que los datos ingresados sean
válidos.
10. El usuario cliente ingresa el rut 11. El sistema verifica si el rut es válido y
si el cliente existe, mostrando en pantalla
todos los datos del cliente que pueden ser
modificados.
12. El usuario administrador modifica los 13. El sistema verifica que los nuevos
datos en pantalla que desee y selecciona el datos ingresados son válidos y guarda las
botón modificar. modificaciones realizadas arrojando un
mensaje de éxito. Salta al paso 23
15. El usuario administrador ingresa el Rut. 16. El sistema verifica si el Rut es válido
y si el cliente existe, además de que no
esté asociado a ningún pedido (pendiente).
21. El usuario administrador ingresa el Rut 22. El sistema verifica que el Rut
del cliente. ingresado es válido y que existe,
mostrando por pantalla todos los datos del
cliente.
43
8.4. Caso de uso: Gestionar chofer
44
Curso normal de los eventos:
ACTORES RESPUESTA DEL SISTEMA
10. El usuario administrador ingresa el rut 11. El sistema verifica si el rut es válido y
del chofer. si el chofer existe, mostrando en pantalla
todos los datos del chofer que pueden ser
modificados.
12. El usuario administrador modifica los 13. El sistema verifica que los nuevos
datos en pantalla que desee y selecciona el datos ingresados son válidos y guarda las
botón modificar. modificaciones realizadas arrojando un
mensaje de éxito. Salta al paso 23
15. El Usuario administrador ingresa el rut 16. El sistema verifica si el rut es válido y
45
del chofer. si el chofer existe, además de que no esté
asociado a ningún automóvil.
21. El usuario administrador ingresa el rut 22. El sistema verifica que el rut
del chofer. ingresado es válido y que existe,
mostrando por pantalla todos los datos del
chofer.
47
8.5. Caso de uso: Gestionar Flota
12. El usuario administrador modifica los 13. El sistema verifica que los nuevos
datos en pantalla que desee y selecciona el datos ingresados son válidos y guarda las
botón modificar. modificaciones realizadas arrojando un
mensaje de éxito. Salta al paso 23
51
8.6. Caso de uso: Gestionar Pedido
52
Curso normal de los eventos:
ACTORES RESPUESTA DEL SISTEMA
Cliente:
AA. Ingresar pedido.
3. Si el Usuario administrador selecciona: 4.
A. Ingresar Pedido. A. Ir al paso 5
B. Modificar Pedido. B. Ir al paso 14
C. Eliminar Pedido. C. Ir al paso 19
D. Buscar Pedido. D. Ir al paso 26
E. Volver E. Ir al paso 40
Si el Cliente selecciona:
6. El Usuario Administrador ingresa el rut 7. El sistema verifica que el rut que exista.
del cliente.
8. El sistema entrega los datos del Cliente. 9. se solicita los datos del pedido.
10. el usuario administrador ingresa los 11. Se verifica que los datos del pedido
datos entregaros por el cliente. sean correctos.
16. El usuario ingresa el rut del cliente y/o el 17. El sistema verificara si los datos
código del pedido. coinciden con algún pedido, mostrando
por pantalla la información del pedido.
5
3
En caso que la búsqueda sea por rut se
desplegara un listado con los últimos
pedidos del cliente.
18. El Usuario administrador podrá 19. El sistema verifica que los nuevos
modificar los datos que desee finalizando datos ingresados son válidos y guarda las
apretando el botón modificar. En el caso que modificaciones realizadas arrojando un
se desplegué el listados del pedidos del mensaje de éxito. Ir a paso39.
cliente se deberá elegir le pedido a
modificar.
20. El sistema pide ingresar el rut del
cliente o el código del pedido
21. El usuario ingresa el rut del cliente y/o el 22. El sistema verificara si los datos
código del pedido. coinciden con algún pedido, mostrando
por pantalla la información del pedido.
En caso que la búsqueda sea por rut se
desplegara un listado con los últimos
pedidos del cliente.
55
8.7. Caso de uso: Gestionar Administrador
Tipo: Principal.
6. El usuario cliente ingresa los datos del 7. El sistema verifica que el cliente no
cliente exista y que los datos ingresados sean
válidos.
10. El usuario cliente ingresa el rut 11. El sistema verifica si el rut es válido y
si el cliente existe, mostrando en pantalla
todos los datos del cliente que pueden ser
modificados.
12. El usuario administrador modifica los 13. El sistema verifica que los nuevos
datos en pantalla que desee y selecciona el datos ingresados son válidos y guarda las
botón modificar. modificaciones realizadas arrojando un
mensaje de éxito. Salta al paso 23
15. El usuario administrador ingresa el rut. 16. El sistema verifica si el rut es válido y
si el cliente existe, además de que no esté
asociado a ningún pedido (pendiente).
5
7
17. El sistema arroja un mensaje de
advertencia indicando que se va a eliminar
un cliente, mostrando por pantalla las
opciones de aceptar o cancelar.
21. El usuario administrador ingresa el rut 22. El sistema verifica que el rut
del cliente. ingresado es válido y que existe,
mostrando por pantalla todos los datos del
cliente.
59
9. Modelo de Datos
9.1.Diagrama de Clases
60
9.2. Modelo de datos: Entidad – Relación.
61
9.3. Modelo de datos: Relacional.
62
10. Diagrama de Secuencia
10.1. Agregar Cliente
63
10.2. Modificar Cliente
64
10.3. Eliminar Cliente
65
10.4. Asignar chofer
66
10.5. Ingresar_pedido
67
11. Diagrama de despliegue
68
12. Descripción Prototipo
12.1. Interfaz
Figura 32 Interfaz
69
12.2. Navegabilidad
12.2.1. Principal
70
12.2.2. Login
Figura 34 Login
71
12.2.3. Administración
Para administrar un pedido entrante, debemos buscar el cliente ya sea por Rut o
por sus apellidos, una vez tengamos al el cliente rellenamos los datos tanto como la
dirección de origen como la de destino, una vez tengamos registrado esto asignamos el
estado si para el momento o si es una reserva a mayor tiempo. Cuanto tengamos ya
todos los datos solicitados al cliente asignaremos un taxista que se encuentre
disponible, esto lo podemos ver en una grilla que desplegara con todos los choferes
con que cuente la empresa terminado eso le damos a confirmar.
Figura 35 Administración
72
12.2.4. Agregar Cliente
Para crear una ficha de un cliente, debemos seleccionar en las pestaña superior la
opción Clientes, una vez seleccionado se despegara una serie de datos a rellenar, si un
datos no es completado se remarcara para que sea corregido
73
12.2.5. Modificar Cliente
74
12.2.6. Eliminar Cliente
75
12.2.7. Login Móvil
76
12.2.8. Solicitud taxi desde móvil
Para solicitar un taxi via móvil, nos vamos a la sección solicitar taxi,
donde se desplegara el mapa indicándonos nuestra posición actual, para
confirmar nuestra posición le damos a solicitar taxi el cual nos entregara un
mensaje de que el pedido fue solicitado.
77
13. Plan de pruebas
El plan de pruebas realizado para esta entrega, está diseñado para realizar pruebas de
caja negra con motivo de probar la funcionalidad del Módulo de Administrador y
Recepcionista. No se requiere otro tipo de pruebas debido a la gran cantidad de inspecciones
del código utilizando el depurador que provee visual Studio 2008.
Para ver las demás evaluaciones de esta prueba revisar el documento (Anexo A: Plan
de Pruebas).
78
14. Conclusiones
Diseño de una solución, una vez que se da por terminada la esta investigativa debemos
identificar todos los detalles de la situación actual del cliente, con esto poder crear varias
estrategias de diseño y poder optar a la que más se acomodé. En este diseños hay que
considerar que tendremos distintos elementos que interactuaran entre sí, como los son el
Hardware que contamos o que tendremos que adquirir y el recurso humano que interactuará
con nuestro sistema de información.
Si bien este proyecto está enfocado en un cliente específico, hemos podido tener una
mirada real de lo que se trata la elaboración de un software, tendremos la capacidad analítica
para poder abarcar cualquier problema que se nos presente a lo largo de nuestra vida como
informático.
79
15. Bibliografía
[6] (Vargas del Valle et al, 2007)Ricardo J. Vargas Del Valle, Juan P. Maltés
Granados. Programación en capas: Disponible en http://www.di-
mare.com/adolfo/cursos/2007-2/pp-.
80