TFCGS DAM

« Volver a los proyectos

Gestión Académico-Administrativa Abastos, Trabajo Final de Ciclo Grado Superior en Desarrollo de Aplicaciones Multiplataforma

Nota: 10

Objetivos

Se pretende, como objetivo principal, ser capaz de almacenar por lo menos, la mayoría de los datos con los que se interactúa en el IES Abastos, y una vez recolectados y almacenados correctamente, poder gestionarlos de la manera óptima, pudiendo así facilitar la tarea de los administradores, tanto de secretaría como de la red.

También tiene como objetivo ayudar al alumno a entender ciertas cosas, con las que, al no estar familiarizado, pueda liarse, o no acordarse. Y también facilitar el proceso de las solicitudes (pueden no estar incluidas todas, pero están abiertas a ampliaciones y
modificaciones) de modo que ambas partes, secretaría y el alumno, no tengan que repetir siempre las mismas cosas y el proceso sea semiautomático.

Sería la idea de crear un «ERP» orientado a la gestión académico-administrativa del centro, más concretamente, del IES Abastos.

En el proyecto, está la idea de que se puedan realizar consultas, pero serían consultas
predefinidas, solamente el rol de usuario Administrador podría tener la posibilidad de crear consultas propias, si así lo desease. Pero para el usuario normal que tal vez pueda necesitar consultar cierta información sobre un tipo de entidad en concreto, por ejemplo, los alumnos pueden querer consultar información sobre un profesor en concreto como puede ser su email, o que por ejemplo, un profesor quiera ver información de los alumnos a los que imparte clase.

Funcionalidades

Roles

Las funcionalidades se han repartido de la siguiente manera, de forma resumida:

  • Alumno: puede ver su horario, buscar profesores, ver sus notas, poner reclamaciones (dirigidas o no).
  • Profesor: puede poner notas, ver su horario, ver el horario de sus compañeros, buscar entre sus alumnos y ver/realizar actas de evaluación de ese curso académico del curso del que sea tutor/a, si es que lo es.
  • Administrativo: puede ver fichas personales de todas las personas registradas dentro del sistema, editar/eliminar información o crearla y registrar todas las entidades principales a través de formularios. Es el rol con más pestañas, pero menos variedad de funcionalidad
  • Administrador: puede revisar y responder las reclamaciones, mover a usuarios de distinto nivel de permisos (puede por ejemplo darle permisos de administrador o administrativo a un alumno/profesor para ayudarle), puede también crear esos permisos, buscar personas, visualizar todas las entidades del sistema y ejecutar scripts T-SQL contra la base de datos

Para la realización de este proyecto se ha escogido la metodología ágil, puesto que encaja perfectamente con un equipo pequeño y prioriza los resultados y el correcto funcionamiento de pequeñas partes que poco a poco se van juntando.

Implementar y sigue un TDD (Test-Driven Development) para robustez y control sobre el sistema.

Se ha organizado y planificado haciendo uso del sistema de tableros, Trello.

Metodología

Tecnologías

El proyecto es una aplicación de software, así pues, la tecnología utilizada ha sido:

  1. C#.NET, con T-SQL como Gestor de BBDD.
  2. Git con Github como plataforma.
  3. Python para scripting y algo de webscraping.

Como todo proyecto resolutivo, había una planificación detrás, se ha mencionado anteriormente el uso de Trello, también se incluye el de un Diagrama de Gantt. Toda planificación ha de ser flexible, pues pocas veces los tiempos ocurren como deseamos.

Planificación

Estructuración de los datos

Cuando se trata de conseguir un sistema lo más certero y fiable se requiere que un sistema de datos cumpla los puntos fuertes de cualquier sistema de información valorado:

  • Versatilidad para representar la información.
  • Desempeño y eficiencia.
  • Redundancia mínima.
  • Evitar la inconsistencia de la información.
  • Capacidad de acceso.
  • Integridad, de los datos y del sistema.
  • Seguridad y Privacidad.

EER (Extended Entity Relation, Entidad Relación Extendido) ➔ Paso a Tablas ➔
Normalización ➔ Diseño Físico ➔ Modelo de Datos.

Para el Control de Versiones, se ha hecho uso de Azure Repos, posteriormente trasladado a GitHub.

Se ha hecho uso del paradigma Singleton para la reutilización de instancias.

Se ha implementado el paradigma MVC (Modelo Vista Controlador), tanto en servidor, como en cliente. De esta manera, aunque costosa de confeccionar, es más fácil atacar modularmente cada implementación, o fallo. Siguiendo también la ideología de .NET y mejorandolo con algunos patrones MVVM (Modelo Vista VistaModelo), de modo que el resultado podría ser un MVVMC.

Arquitectura

Estructura de los archivos

Puesto que la manera de funcionar de C#.NET se ha separado el proyecto en tres soluciones, modelo, controlador, y vista. Por falta de tiempo no se llegó a realizar una implementación con Xamarin, lo cuál habría añadido una cuarta solución más.