CheckGoals
Android CSS HTML MySQL PHP Proyecto
Especificaciones
- Año: 2016
- Categoría: Productividad
- IDE: Android Studio
- Interfaz Gráfica: Sí
- Lenguaje: Java (Android)
- Plataforma: Android
- SGBD: MySQL
Enlaces
- Código fuente en Github.
- Archivo .exe de este proyecto.
Introducción
El sistema web Check Goals, es uno que pretende dar alcance para cubrir una de las necesidades de todo estudiante, la cual es el mantener en revisión el progreso de sus materias, donde para el trabajo presente, estas materias son vistas como metas que han de lograrse, siguiendo el patrón de notas de las instituciones educacionales, donde para lograr aprobar una materia, es necesario llegar a un porcentaje del puntaje total de dicha
Check Goals, en su versión Android, será el enfoque principal de la aplicación. En ella, el usuario se podrá registrar, crear sus metas, es decir sus materias, indicando cuanto lleva evaluado y cuanto necesita para aprobar la materia. El avance de las materias será vista por una barra de progreso, y se podrá identificar el estado que lleva la materia a través de colores distinguidos donde se tienen el azul, para indicar que se ha pasado la materia pero no ha sido terminada de evaluar, el color amarillo es que todavía tiene probabilidades de lograr pasar, el color rojo, significa que ya no lograra
La aplicación también permitirá modificar la información del usuario, como correo.
Para la realización de la aplicación, como para todo desarrollo de software, fue necesario seguir una metodología a través de pasos que diera a su vez un enfoque donde se supiera en qué fase de desarrollo se encontrara el sistema así como también los productos que se debiera obtener en cada fase, y para el presente sistema, se utilizo una metodología ágil, de manera que se pudiera adaptar al tiempo que se cuente para culminar la fase de entrega.
Metodología
La metodología Scrum es un marco de trabajo el cual es utilizado para gestionar el desarrollo de productos complejos, por el cual las personas pueden acometer problemas complejos adaptativos, a la vez que entregan productos del máximo valor posible.
La necesidad de utilizar esta metodología viene dada porque Scrum es:
- Ligero.
- Fácil de entender.
- Extremadamente difícil de llegar a dominar.
Además, Scrum al no ser un proceso o una técnica para construir productos, sino ser un Marco de trabajo, permite emplear varias técnicas y procesos para lograr una mayor eficacia en la gestión de productos y prácticas de desarrollo. La idea de utilizar este marco de trabajo, es que se basa en el empirismo, lo cual aseguramos que el conocimiento procede de la experiencia de modo que podemos tomar decisiones basándose en lo que se conoce. Scrum a su vez, emplea un enfoque iterativo e incremental.
Para la utilización de Scrum, hace falta dividir el personal en equipos o en trabajos individuales y estos son auto organizado por lo tanto eligen la mejor forma de llevar a cabo su trabajo. Por lo tanto, el equipo Scrum sería:
-
Product Owner: Es el responsable de maximizar el trabajo del equipo de desarrollo. Y define los objetivos y misiones del producto y requerimientos, a través de un Product Backlog, que vendría siendo una lista del producto y explica en lo que el equipo de desarrollo trabajara.
-
Equipo de desarrollo: Son los profesionales que desempeñan el trabajo de entregar un incremento del producto.
-
Scrum Master: Es el responsable de asegurar que Scrum sea entendido y adoptado por todos los miembros del proyecto.
SPRINT (Ver Informe en los Enlaces)
Es la planificación que se crea mediante el trabajo colaborativo del Equipo Scrum, en el cual se responden las siguientes preguntas:
-
¿Qué puede entregarse en el Incremento resultante del Sprint que comienza?
-
¿Cómo se conseguirá hacer el trabajo necesario para entregar el Incremento?
SPRINT diario o de versión
En este tipo de sprint, el equipo de desarrollo sincroniza sus actividades y crea un plan para la versión a realizar o las tareas a realizar en el día.
Revisión del Sprint
Aquí se inspecciona el Incremento y se adapta la lista del producto si fuese necesario.
Inicio del desarrollo de la aplicación móvil
- Product Owner: Stalin Sánchez
- Equipo de desarrollo: Jonathan Cuotto, Stalin Sánchez
- Scrum Master: Jonathan Cuotto
Backlog – Lista de productos (Ver Informe en los Enlaces)
La aplicación debe cumplir los siguientes requerimientos:
-
Permitir Registrar Usuario.
-
Permitir a un usuario iniciar sesión.
-
Permitir a un usuario modificar sus datos personales.
-
Permitir a un usuario, agregar una materia con sus datos necesarios para saber si logro llegar a la meta de pasar la materia.
-
Permitir al usuario, una vez que tenga materias agregadas, modificar los datos de las mismas.
-
Permitir al usuario observar todas sus metas registradas.
-
Permitir visualizar el avance de las materias con una barra de progreso con un color predeterminado.
-
Permitir al usuario, modificar el estilo de visualizar el color del avance de las materias, siendo opciones como que el color sea del fondo ocupado por la barra de progreso, o solo se visualice el color en la barra.
-
Permitir al usuario observar la cantidad de materias: Logradas, Fracasadas y que siguen en curso.
-
Brindar un menú con las opciones antes mencionadas.
Leyenda de colores para el avance de las materias:
- Verde: Materia finalizada y lograda.
-
Azul: Materia lograda pero aun no finalizada.
-
Amarillo: Materia terminando, aun no lograda pero con posibilidad de lograrla.
-
Anaranjado: Materia no finalizada, pero sin posibilidad de lograrla.
-
Rojo: Materia finalizada y no lograda.
SPRINT 1. Versión 1.1
Los puntos a lograr en este Sprint serán para cubrir los requerimientos principales que son:
-
Permitir Registrar Usuario.
-
Permitir a un usuario iniciar sesión.
-
Permitir a un usuario modificar sus datos personales.
Se debe llegar al punto operacional del funcionamiento de la aplicación de estos requerimientos, así como a nivel de vista para la aplicación, fungiendo como bloque central para el continuo desarrollo de la aplicación, permitiendo agregarle de esta manera las demás funcionalidades a futuro. De igual manera, se debe crear desde un principio la base de datos necesarios acorde a los requerimientos de información inmersos en los requerimientos funcionales.
Revisión del Sprint 1. Versión 1.1
Primeramente, para permitir Registrar un usuario hace falta una base de datos, por lo tanto hacemos uso de una base de datos relacional MySQL. Como estos datos han de servir para la parte WEB de la aplicación, no resulta óptimo utilizar SQLITE, de manera que con MySQL se asegura que tanto la aplicación móvil como la web ingresen a la misma Base de datos.
Requerimiento de registrar un usuario y que inicie sesión, se observa que la vista esta lista, así como también la modificación del perfil.
SPRINT 2. Versión 1.2
Teniendo ya el bloque de la aplicación, con el registro e inicio de sesión por parte de los usuarios, se debe iniciar a agregar las demás funcionalidades, comenzando con los siguientes requerimientos:
-
Permitir a un usuario, agregar una materia con sus datos necesarios para saber si logro llegar a la meta de pasar la materia.
-
Permitir al usuario, una vez que tenga materias agregadas, modificar los datos de las mismas.
Se debe realizar el trabajo, de manera que se deba agregar los programas y códigos requeridos para su implementación, a lo existente ya en el proyecto, incrementando el valor del avance de la aplicación.
Revisión Sprint 2. Versión 1.2
En este sprint, nos dirigimos hacia la parte de agregar materias y modificar, de manera que quedaran las vistas operativas, lo cual se logró.
SPRINT 3. Versión 1.3
Como ya se ha logrado la inserción de usuarios y metas, el objetivo de este Sprint es la de permitir manipular las metas desde el punto de sus datos, pensando en la visualización para el usuario de las mismas.
-
Permitir al usuario observar todas sus metas registradas.
-
Permitir visualizar el avance de las materias con una barra de progreso con un color predeterminado.
-
Permitir al usuario, modificar el estilo de visualizar el color del avance de las materias, siendo opciones como que el color sea del fondo ocupado por la barra de progreso, o solo se visualice el color en la barra.
Una vez realizado este sprint, el usuario debe conocer de manera intuitivamente las referencias de sus metas, como el avance de las mismas, y reconocer el significado de leyenda de los colores utilizados para la barra de progreso.
Revisión Sprint 3. Versión 1.3
Incremento casi final, donde se añaden toques visuales, se cumplen requerimientos de visualizar todas las materias, con la cantidad de metas logradas, en curso y fracasadas. En las pruebas y capturas, se nota que se visualizan las materias, y con la diferencia de la visualización de las metas.
SPRINT 4. Versión 1.4
Al llegar a este punto, estaríamos en el punto final de la aplicación, de manera que, teniendo todas modificaciones posibles por parte del usuario ya antes realizada a través de las funcionalidades de registrar, ingresar, registrar materia y modificarlas, queda mostrar a detalle las cantidades de metas logradas y fracasadas.
-
Permitir al usuario observar la cantidad de materias: Logradas, Fracasadas y que siguen en curso.
-
Brindar un menú con las opciones antes mencionadas.
Ya aquí se tendría la aplicación completa con sus requerimientos cumplidos, por lo tanto estaría lista para ser implementada.
Revisión Sprint 4. Versión 1.4
Para este Sprint, teníamos un requerimiento el cual fue resuelto en el Sprint pasado, dejando solo, la unión de todas las partes en un solo menú, siendo esta una página de inicio. Terminando de esta manera el desarrollo de la aplicación.
Se observa que todos los requerimientos funcionales, han sido cumplido siguiendo un enfoque incremental e iterativo, gracias al marco de Scrum, permitiendo avanzar por partes del proyecto, trabajando por módulos que tengan similitud a nivel de las operaciones realizadas y la información manejada. Por lo tanto, el desarrollo de la aplicación ha sido finalizado con éxito.
Una ventaja de Scrum, es que permite dividir y el trabajo por sprints que dan lugar a los avances de una manera iterativa, de manera que da una sensación de avanzar progresivamente, hasta ir logrando los requerimientos.
Conclusión
Como para todo proceso que conlleve a la realización de una tarea es necesario llevar a cabo una metodología, para el desarrollo de aplicaciones móviles también es necesario el seguimiento de una metodología que permita tener un marco de trabajo bien definido donde se identifiquen las partes involucradas en dicho proceso.
Para el siguiente trabajo se hizo uso de la metodología ágil Scrum, mediante la cual se logro realizar el desarrollo de la aplicación siguiendo una serie de fases de desarrollo, que permitiese adaptar el avance del sistema según las necesidades y tiempo con que se contaba.