Introduccion
Nuestro proyecto se enmarca dentro de la carrera “Tecnicatura superior en análisis y desarrollo de Software”, en la materia “Prácticas Profesionalizantes II” .
Los integrantes de este grupo, detectamos este problema que, incluso nos afecta porque vivimos lejos del instituto. La problemática surge a partir de la irregularidad de un recorrido que puede realizar un colectivo y a falta de un medio donde se pueda encontrar estos tiempos.
Este proyecto hace referencia a la creación de una aplicación, en el cual su fin será proporcionar los tiempos en los cuales un colectivo tardará en llegar a una parada, independientemente de su línea, todo esto para poder ahorrar tiempos o notificar desvíos y así solucionar un tema agobiante y frecuente para la mayoría de personas que usan los colectivos como medio de transporte. Así mismo, se busca ofrecer un sitio web que esté disponible para todos aquellos que no puedan o no quieran usar la aplicación, además de poder acceder desde una computadora.
La solución planteada está diseñada mediante el modelo orientado a objetos, pudiendo adaptar así al ámbito real todo el diseño llevado a cabo mediante el lenguaje unificado de modelado (UML) en distintos tipos de diagramas de especificación.
Marco Conceptual
Este proyecto ha sido desarrollado mediante el modelo de objetos y el lenguaje unificado de modelado (UML).
Al desarrollar esta aplicación/página web es importante tener en cuenta los conceptos teóricos como los objetos y la UML. Los objetos nos ayudan a identificar y definir las entidades relevantes y reales del sistema, mientras que la UML nos proporciona una notación estandarizada para representar y visualizar la estructura y el comportamiento del sistema. Al aplicar estos conceptos, podemos construir un sistema bien diseñado y de fácil mantenimiento.
Además de ayudar en el aspecto de la vida real y desarrollo, esto también sirve para ver la interacción de las entidades con el sistema y el usuario. Los objetos utilizados, en este caso, fueron usuarios, colectivos, líneas de colectivos, recorrido, parada de colectivo, bases de datos. Para UML utilizamos distintos diagramas como lo son: diagramas de clases, diagramas de casos de uso, diagramas de secuencia y diagramas de estado.
Gestación del proyecto
Contexto
Bus Path Finder (BPF) es una empresa que cuenta con una aplicación móvil y una página web que es capaz de solucionar la problemática que las personas que utilizan el colectivo son partícipes. Hace referencia principalmente a que a veces, no se llega a una parada a tiempo.
También puede ser que el colectivo sufrió algún percance (sea retraso o rotura), la línea no existe más, hay paro de colectivo, la parada tampoco existe, etc. Esto resulta en pérdidas de tiempo y por lo tanto muchas otras cosas.
​
Objetivos generales y específicos
-
Objetivos Generales: Deseamos que todas las personas puedan saber a qué hora o cuánto le falta a un colectivo llegar a cierta parada. No importa su línea. Esto puede causar retrasos, problemas, malos momentos y simplemente buscamos evitarlo.
​
-
Objetivos Específicos:
-
Ayudar a las personas a llegar a tiempo a la parada.
-
Ayudar a las personas a ahorrar tiempo.
-
Indicar tiempos de llegada.
-
Indicar desvíos, roturas, inconvenientes.
-
Indicar precios.
-
Mostrar paradas, líneas y colectivos a tiempo real.
​
Alcance del proyecto
El alcance está determinado por los requerimientos funcionales, pero, brindaremos una descripción más detallada:
Esta aplicación/página abarca indicar el estado de llegada de un colectivo a una parada y recordarle a las personas mediante una alarma/notificación, colocar los precios del boleto a diario para saber si hubo aumento/bajada del precio. Avisar si hay desvíos, el colectivo no se encuentra disponible o si hay paros. También incluir una opción para ver si está lleno o vacío.
​
Usuarios
Los potenciales usuarios consumidores de esta aplicación son todos aquellos que utilicen el colectivo como medio de transporte principal. También lo son aquellos, que lo usan ocasionalmente y podemos además, incluir a los turistas/extranjeros que estén en el país.
Relevamiento
El relevamiento de este proyecto es informal, nos planteamos un problema que en nuestro caso es cotidiano para nosotros y que puede ser solucionado hoy en día. Las soluciones pensadas fueron más que nada razonamiento propio grupal.
No realizamos ningún tipo de análisis de mercado pero sí se pensó en los posibles competidores, el alcance del proyecto y los usuarios potenciales que este presenta.
Utilizamos la red para poder dar mejor cierre a nuestros diagramas, clases, objetos o varias de las cosas utilizadas pero no se utilizaron técnicas de relevamiento formales ya que todos los diagramas que se realizaron surgen del razonamiento y conocimiento propio.
Requerimientos del sistema
Requerimientos funcionales
-
Selección de Línea por GPS (área).
-
Selección de Línea por número de línea.
-
Recordatorio/notificación de tiempo al usuario una vez se abre la aplicación
-
Registro.
Requerimientos no funcionales
-
Ahorrar tiempo.
-
Comodidad del usuario.
-
Encontrar otros recorridos.
-
Encontrar recorridos más óptimos.
-
Mapa completo
-
Soportar por lo menos 25000 usuarios concurrentes
-
Compatibilidad con celulares antiguos
-
Compatible con geolocalización
-
Tiempo de respuesta rapido
Desarrollo
Definición de metodología de trabajo
La idea sería utilizar herramientas para el desarrollo de una aplicación móvil de seguimiento de horarios de colectivos, que sea actualizada y eficiente. La metodología a usar sería SCRUM, realizando sprints cada tanto para poder refinar el proyecto.
También se podría usar el modelo de espiral, ya que se pueden ir cambiando cosas en el proceso de desarrollo, como agregar más funciones en función de nuevas ideas. Si no, el modelo prototipo en caso de que la aplicación incluya una opción de feedback/retroalimentación.
Selección y justificación de herramientas
-
Lenguaje de programación: de ser posible, buscamos usar Java/Kotlin para el desarrollo y la funcionalidad de la aplicación. Para la página web se usaría HTML, CSS, JavaScript y React, en la parte del FrontEnd.
-
Entorno de desarrollo integrado (IDE): utilizado para depurar código del lenguaje de programación y compilarlo, esencial para el desarrollo.
-
Frameworks/bibliotecas: principalmente, los usaremos para darle base a la aplicación y agilizar el proceso.
-
Sistema de geolocalización: usado para poder localizar la ubicación de los colectivos, paradas, líneas, etc.
-
PHP/Node.JS/Django: cualquiera de estos lenguajes BackEnd puede ser usado para la conexión y comprobación de bases de datos.
-
Base de datos: utilizado para actualizar la aplicación, las paradas disponibles/no disponibles, al igual que las líneas o colectivos que vayan surgiendo o se vayan removiendo.
Bibliografía
-
https://www.redalyc.org/journal/3314/331464460003/331464460003.pdf
-
https://repositorio.grial.eu/bitstream/grial/1182/1/201802_uploads_VAEP-RITA.2018.V6.N1.A2.pdf
-
http://www.sedesonline.edu.ar/pluginfile.php/46828/mod_resource/content/1/oo.pdf
-
https://es.slideshare.net/RafaelMiranda2/modelado-orientado-a-objetos
-
https://www.mentesliberadas.com/2018/06/17/como-estudiar-grandes-volumenes-de-texto/
-
https://www.cse.udelar.edu.uy/progresa/como-leer-para-estudiar/