6  Análisis de Requisitos


Autenticación y Tipos de Usuarios

  • Autenticación: Abierto.
  • Tipos de usuarios: ¿Qué información necesitamos de cada usuario?
  • Expectativas en la web app:
    • Tarea: Escribe un ensayo sobre lo que será el proyecto de la materia.

Identificación y Análisis de Datos

  • Identificar los datos.
  • Identificar el tipo de datos.
  • Analizar los datos de ambas fuentes y decidir cómo los vamos a mezclar, ¿o separar?
  • Definir nuevas variables a partir de los datos existentes:
    • Año
    • Mes
    • Día
    • Hora

Procesamiento de Datos y Desarrollo de Scripts

  • Crear scripts para “limpiar y estructurar los datos” (no formarán parte de la app).
  • Crear la estructura de la B.D.
  • Hacer un script para subir datos a la B.D. (no formará parte de la app).
  • Definir un modelo de desarrollo (MVC, MVV, etc.).
  • Escribir código.
  • Implementar funciones para subir nuevos datos (revisión y validación del archivo de entrada y definición del formato: fechas, años, horas, días, meses, etc.).
  • Definir un template.
  • Construir un template interno y validar los datos de entrada (limpieza).
  • Establecer acciones para datos corruptos, inválidos, nulos o faltantes.
  • Determinar cálculos: decidir si se calculan al vuelo o se almacenan en la B.D.
  • Definir parámetros para identificar el origen de los datos (RUOA, ESOLMET).

Diseño

  • Historia de Usuario.
  • Prototipos de la vista.
  • Diagrama(s): ¿?
  • Mapa del sitio web: ¿pestañas o todo en una sola página?
  • Tecnologías a utilizar.
  • Diseño de la B.D.

Usabilidad y Otros Aspectos

  • Usabilidad.
  • Diseño Responsivo (Responsive Design).
  • Performance (Desempeño).
  • Estética y Diseño Visual.
  • Interactividad y Retroalimentación.
  • Seguridad.
  • Escalabilidad.
  • Mantenimiento y Actualización.
  • Compatibilidad entre Navegadores.

Ciclo de Desarrollo

  • 1 Desarrollo: Se programa la aplicación.
  • 2 Pruebas: Se verifica que funcione bien.
  • 3 Implementación: Se pone en producción.
  • 4 Mantenimiento: Se corrigen errores y se mejora.

Calidad de los Datos

  • Duplicados: Las mismas observaciones o registros que aparecen más de una vez; eliminarlos es esencial para evitar sesgos.
  • Valores faltantes (missing values): Ocurren cuando faltan datos en algunos campos o registros. Se pueden tratar mediante eliminación, imputación (por ejemplo, media o mediana) o dejarse si es adecuado.
  • Errores tipográficos: Errores de escritura (ejemplo: “Estados Unidos” escrito como “Estadso Unidos”).
  • Inconsistencias de formato: Diferentes formatos para la misma información (ejemplo: fechas en “dd/mm/yyyy” vs “mm/dd/yyyy”).
  • Outliers (valores atípicos): Valores que se desvían significativamente y pueden distorsionar los análisis; deben identificarse y tratarse (eliminación o ajuste).
  • Errores de codificación: Problemas al usar distintas codificaciones de caracteres.
  • Rangos inválidos: Valores fuera de los rangos esperados (ejemplo: edad negativa o salarios atípicos).
  • Datos irrelevantes: Columnas o filas con información no útil para el análisis.
  • Datos no normalizados: Valores expresados en diferentes unidades o escalas (ejemplo: “kg” vs “lb”).
  • Problemas de coherencia: Relaciones inconsistentes entre los datos (ejemplo: fecha de nacimiento posterior a la fecha actual).

Otros Problemas en los Datos

  • Aspectos adicionales: Nan, vacíos, 0 (el cero puede tener significado), guiones (—), palabras, valores negativos, etc.

Análisis de Datos y Detección de Outliers

  • Aplicaremos algún método estadístico de forma indiscriminada para detectar outliers, sin considerar una clasificación previa.

Ejemplo: Elementos Mayores y Tipos de Rocas

  • ¿La hora tiene que ver con la temperatura?
  • ¿La estación del año o tal vez el mes?

Eliminación de Información y Pérdida de Datos

  • Al eliminar información, se puede perder parte de los datos; si contamos con suficiente información, quedarán huecos.
  • ¿Cuál es el porcentaje de datos que estamos dispuestos a perder?
  • Solo aplicaremos el método propuesto por Python: quartiles.