Metodología
El desarrollo de PANACEA se realiza siguiendo el framework Scrum, seleccionado por su adecuación a un desarrollo iterativo e incremental. Este enfoque permite priorizar las funcionalidades, desarrollar el sistema en incrementos sucesivos y validar progresivamente el producto durante su construcción.
El trabajo se organiza mediante un Product Backlog, a partir del cual se seleccionan y descomponen los elementos que deben abordarse en cada Sprint. La integración entre frontend y backend se realiza de forma progresiva, permitiendo validar las funcionalidades desarrolladas antes de continuar con los siguientes bloques del sistema.
Arquitectura
La arquitectura de PANACEA se plantea como una aplicación web interna basada en un modelo cliente-servidor, con separación entre la capa de presentación, la lógica de negocio y la persistencia.
El desarrollo parte del framework corporativo MEDUSA, tomando como base la aplicación Démeter. Sobre este entorno se implementan las funcionalidades específicas de PANACEA.
El frontend se desarrolla mediante Angular y proporciona la interfaz desde la que los usuarios interactúan con el sistema de acuerdo con su contexto funcional. Desde esta interfaz se podrán consultar y gestionar recursos, planificar actividades, realizar asignaciones, tramitar solicitudes de apoyo y efectuar el seguimiento de los apoyos sanitarios.
El backend se implementa mediante Spring Boot, exponiendo servicios REST para la comunicación con el frontend. Junto con las operaciones de consulta y mantenimiento de información, se implementarán las acciones propias del proceso de negocio, entre ellas la planificación de actividades, asignación de recursos, formalización de solicitudes, elevación entre escalones y resolución de los apoyos.
La lógica de negocio se concentra en el backend, que será responsable de aplicar las reglas relativas a autorización, ámbito funcional, disponibilidad y asignabilidad de recursos, estados de actividades y solicitudes y trazabilidad de las actuaciones realizadas.
Para la persistencia se empleará una base de datos relacional MySQL, adecuada para representar las entidades y relaciones que conforman el dominio de PANACEA, entre ellas unidades, recursos sanitarios, actividades, solicitudes, trámites y asignaciones.
La autenticación y parte de la infraestructura de seguridad se apoyarán en los mecanismos proporcionados por MEDUSA, incorporándose sobre ellos el contexto funcional propio de PANACEA para determinar el ámbito de actuación de cada usuario.
La arquitectura contempla asimismo la integración con sistemas corporativos externos. SIPERDEF proporcionará los datos orgánicos y de personal que correspondan, mientras que SIGLE proporcionará los datos relativos a los recursos materiales que se determinen.
Esta arquitectura permite desarrollar inicialmente un Producto Mínimo Viable, manteniendo una estructura susceptible de evolucionar mediante la incorporación progresiva de nuevas funcionalidades e integraciones.
Calendario
El desarrollo de PANACEA se organiza siguiendo un enfoque iterativo e incremental. Previamente a la implementación se han realizado las fases de Estudio de Viabilidad del Sistema (EVS) y Especificación de Requisitos del Software (ERS).
La fase de desarrollo del MVP se estructura en tres Sprint, con integración progresiva entre frontend y backend y con el objetivo de disponer de una versión funcional, integrada y demostrable antes de la exposición final.
| Plazos | Etapa |
|---|---|
| 10 mayo – 09 junio | Estudio de Viabilidad del Sistema (EVS) |
| 10 junio – 05 julio | Especificación de Requisitos del Software (ERS) |
| 01 octubre – 20 octubre | Sprint 1 |
| 21 octubre – 09 noviembre | Sprint 2 |
| 10 noviembre – 20 noviembre | Sprint 3 |
| 21 noviembre – 02 diciembre | Cierre, documentación, correcciones y preparación de la demostración |
| 03 diciembre | Exposición del proyecto |
Tecnologías y entornos de desarrollo
Para el desarrollo de PANACEA se emplean las siguientes tecnologías y herramientas:
-
Framework corporativo: MEDUSA, utilizando Démeter como aplicación base.
-
Frontend: Angular, HTML5, CSS3 y TypeScript.
-
Backend: Java y Spring Boot, mediante servicios REST para la comunicación con el frontend.
-
Persistencia: MySQL, mediante un modelo de datos relacional.
-
Seguridad: mecanismos de autenticación y autorización proporcionados por MEDUSA, complementados con el modelo de contexto funcional propio de PANACEA.
-
Entornos de desarrollo: Spring Tool Suite (STS/Eclipse) para el backend y Visual Studio Code para el frontend y la edición de documentación.
-
Gestión de dependencias y construcción: Maven para el backend y las herramientas propias del ecosistema Node.js/Angular para el frontend.
-
Control de versiones: Git, con repositorios alojados en GitLab.
-
Pruebas e integración: pruebas de los servicios REST y validación progresiva de la integración entre frontend y backend, sustituyendo los datos simulados por servicios reales conforme estos se encuentran disponibles.
-
Gestión del proyecto: GitLab y la documentación asociada al proyecto para el seguimiento del Product Backlog, los Sprint y las decisiones adoptadas durante el desarrollo.
Durante la fase de desarrollo, frontend y backend se ejecutan principalmente en entornos locales, realizando la integración de forma progresiva conforme se completan los distintos bloques funcionales.
Equipo Scrum
El equipo Scrum responsable del desarrollo de PANACEA está compuesto por:
-
Scrum Master: Teniente Coronel D. José Manuel Marzo Oballe.
-
Product Owner: Capitán D. Agustín Martín Arranz.
-
Equipo de Desarrollo:
- Capitán D. David Gutiérrez López.
- Capitán D. Agustín Martín Arranz.