2019-09-27 16:23:18 +02:00
* IGDB: Base de datos internacional de glaciares
** Descripción del problema
2020-01-02 04:27:45 +01:00
Pretendemos crear una base de datos que incluye información general y específica de los principales glaciares. Nuestro fin es compartir información con la comunidad científica,
sin ánimo de lucro, y concienciar a un número máximo de personas sobre los devastadores efectos del cambio climático.
La IGDB ofrecerá dos interfaces distintas para la consulta de información, una con información extensiva enfocada para el uso científico (se podrán incluir los datos
en cualquier documento científico, mencionándola en la bibliografía), y otra con información general y mucho más visual para el público general.
Para el uso científico, ofreceremos estadísticas individuales de un glaciar y la posibilidad de comparar dos glaciares para observar la correlación entre sus tasas de cambio.
Para el público general, añadiremos un conjunto de tablas y gráficas, junto con valores estadísticos que permiten visualizar el impacto del cambio climático de forma muy intuitiva.
Nos basaremos en la base de datos cite:wgms-db, ya que ésta contiene una mucha información acerca de gran número de glaciares. IGDB simplificará la WGMS, escogiendo únicamente los
datos relevantes para estudios acerca del cambio climático, y acotando éstos a la década actual (2010-2018).
2019-09-27 16:23:18 +02:00
** Requisitos
*** Datos
2020-01-02 04:27:45 +01:00
1. *RD1* : Datos del glaciar
2020-01-06 06:34:35 +01:00
- País - /Cadena de 60 caracteres máximo/
2020-01-05 01:00:06 +01:00
- Nombre del glaciar - /Cadena de 60 caracteres máximo/
2020-01-08 01:23:00 +01:00
- ID del glaciar (Compatible con la WGMS) - /Cadena de 5 caracteres/
2020-01-02 04:27:45 +01:00
2. *RD2* : Datos anuales de un glaciar
2020-01-08 01:23:00 +01:00
- ID del glaciar (Compatible con la WGMS) - /Cadena de 5 caracteres/
2020-01-08 02:22:41 +01:00
- Área - /Decimal/
- Volumen - /Decimal/
- Altura - /Decimal/
- Año - /Decimal/
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
3. *RD3* : Datos de cambio de un glaciar
2020-01-08 01:23:00 +01:00
- ID del glaciar (Compatible con la WGMS) - /Cadena de 5 caracteres/
2020-01-08 02:22:41 +01:00
- Variación de área - /Decimal/
- Variación de volumen - /Decimal/
- Variación de altura - /Decimal/
- Año - /Decimal de 10 dígitos/
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
4. *RD4* : Datos del administrador
2020-01-08 02:22:41 +01:00
- ID - /Entero de 11 dígitos/
- Fecha y hora de alta - /Fecha y hora en formato yyyy-mm-dd hh:mm/
2020-01-06 08:31:21 +01:00
- Nombre de usuario - /Cadena de 20 caracteres máximo/
- Contraseña - /Cadena de 60 caracteres máximo/
2019-09-27 16:23:18 +02:00
*** Funcionales
2020-01-02 04:27:45 +01:00
1. *RF1* : Alta de un glaciar
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
Se añade un glaciar al sistema a partir de los datos de la WGMS
- Entrada: *RD1*
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
2. *RF2* : Inclusión de datos anuales
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
Añade los datos relevantes de cada año para un glaciar
- Entrada: *RD2*
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
3. *RF3* : Cálculo de las variaciones anuales
2019-09-27 16:23:18 +02:00
2020-01-06 11:12:55 +01:00
Calcula las variaciones anuales de altura, área y longitud para un glaciar
2020-01-02 04:27:45 +01:00
- Entrada: *RD2*
- Manejo: *RD3*
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
4. *RF4* : Alta del administrador
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
Crea un usuario de tipo administrador, encargado de monitorizar el sistema y resolver conflictos
- Entrada: *RD4*
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
5. *RF5* : Actualización de la base de datos
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
Añade nuevos datos a partir de nuevas versiones de la WGMS
- Entrada: *RD2*
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
6. *RF6* : Resolución de conflictos
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
Permite al administrador la resolución de conflictos de datos al actualizar la base de datos
2019-09-27 16:23:18 +02:00
2019-10-08 20:48:31 +02:00
*** No Funcionales
2020-01-02 04:27:45 +01:00
1. *RNF1* : Seguridad
2019-10-08 20:48:31 +02:00
2020-01-02 04:27:45 +01:00
La página web de consulta será accesible únicamente mediante HTTPS, y la base de datos tendrá su propio usuario de acceso
2019-10-08 20:48:31 +02:00
2020-01-02 04:27:45 +01:00
2. *RNF2* : Escalabilidad
2019-10-08 20:48:31 +02:00
2020-01-02 04:27:45 +01:00
Se pod rá aumentar el rendimiento de IGDB mediante una mejora del hardware del servidor, o montando un cluster
2019-10-08 20:48:31 +02:00
2020-01-02 04:27:45 +01:00
3. *RNF3* : Disponibilidad
2019-10-08 20:48:31 +02:00
2020-01-02 04:27:45 +01:00
La IGDB estará disponible 24/7, y en caso de necesidad de mantenimiento, se procederá a mostrar un snapshot de la página
2019-10-08 20:48:31 +02:00
2020-01-02 04:27:45 +01:00
4. *RNF4* : Tolerancia a fallos
2019-10-08 20:48:31 +02:00
2020-01-02 04:27:45 +01:00
Se usará un cluster para permitir que la IGDB siga siendo disponible, aunque falle algún servidor
2019-10-08 20:48:31 +02:00
2020-01-02 04:27:45 +01:00
5. *RNF5* : Copias de seguridad
2019-10-08 20:48:31 +02:00
2020-01-02 04:27:45 +01:00
Se harán copias de seguridad diarias del sistema, además de enviarlas a otro servidor en caso de que se pierdan los datos locales de backup
2019-10-08 20:48:31 +02:00
2020-01-02 04:27:45 +01:00
6. *RNF6* : Rotación de logs
2019-10-08 20:48:31 +02:00
2020-01-02 04:27:45 +01:00
Se eliminarán los logs del sistema antiguos, cada semana
2019-10-08 20:48:31 +02:00
2019-09-27 16:23:18 +02:00
*** Restricciones Semánticas
2020-01-02 04:27:45 +01:00
1. *RS1* :
No podrá haber dos glaciares con el mismo ID
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
2. *RS2* :
No podrá haber más de un administrador del sistema
2019-09-27 16:23:18 +02:00
2020-01-02 04:27:45 +01:00
3. *RS3* :
El atributo año solo podrá estar comprendido entre 2010-2018, inclusive
2019-10-08 18:15:14 +02:00
2019-11-01 02:59:24 +01:00
** Diagramas
2020-01-02 04:27:45 +01:00
Para el diseño del sistema, procederemos con la modelización de diagramas estandarizados, dado que es una herramienta imprescindible en
Ingeniería del Software.
2019-11-01 02:59:24 +01:00
*** Diagrama funcional
2020-01-02 04:27:45 +01:00
[[./FD.png ]]
2019-11-01 02:59:24 +01:00
*** Diagramas de flujo
2020-01-02 04:27:45 +01:00
[[./DF1.png ]]
2019-11-01 02:59:24 +01:00
2020-01-02 04:27:45 +01:00
[[./DF2.png ]]
[[./DF3.png ]]
[[./DF4.png ]]
[[./DF5.png ]]
[[./DF6.png ]]
2019-11-01 02:59:24 +01:00
*** Diagrama de caja negra
2020-01-02 04:27:45 +01:00
#+CAPTION : IGDB
[[./BB.png ]]
\clearpage
2019-11-01 02:59:24 +01:00
*** Diagrama Entidad-Relación
2020-01-02 04:27:45 +01:00
[[./ER.png ]]
2019-11-01 02:59:24 +01:00
2019-10-08 18:15:14 +02:00
** Bibliografía