14. Datos requeridos por el sistema

14.1 Introducción

Todo sistema de software trabaja con datos. Los registra, consulta, modifica, valida, calcula, transforma, muestra, envía o conserva. Por eso, además de definir funciones, es necesario identificar qué datos requiere el sistema.

Un requerimiento funcional como "registrar cliente" está incompleto si no se sabe qué datos del cliente deben registrarse, cuáles son obligatorios, qué formato deben tener, quién puede modificarlos y cómo se protegen.

En este tema estudiaremos cómo analizar los datos necesarios para el sistema y cómo documentarlos dentro del trabajo de requerimientos.

14.2 ¿Qué son los datos requeridos?

Los datos requeridos son la información que el sistema necesita para cumplir sus funciones, aplicar reglas de negocio, generar salidas, integrarse con otros sistemas y sostener la operación.

Definir datos requeridos significa aclarar qué información debe existir, de dónde viene, cómo se valida, quién la usa y qué debe ocurrir con ella durante su ciclo de vida.

Ejemplos de datos requeridos:

  • Datos de clientes.
  • Productos y precios.
  • Pedidos y estados.
  • Usuarios y permisos.
  • Pagos y comprobantes.
  • Reclamos y respuestas.
  • Turnos, horarios y profesionales.

14.3 Datos y requerimientos funcionales

Los datos están directamente relacionados con los requerimientos funcionales. Cada función suele necesitar datos de entrada, producir datos de salida o modificar datos existentes.

Función Datos necesarios Resultado
Registrar cliente Nombre, documento, correo, teléfono, domicilio. Cliente creado con identificador único.
Confirmar pedido Cliente, productos, cantidades, forma de pago, stock. Pedido confirmado y stock reservado.
Generar reporte Período, ventas, vendedores, importes, estados. Reporte de ventas filtrado y totalizado.
Enviar notificación Destinatario, canal, asunto, mensaje, evento disparador. Notificación enviada o error registrado.

14.4 Entidades y atributos

Una forma inicial de organizar datos es identificar entidades y atributos. Una entidad representa algo importante del dominio; un atributo describe una característica de esa entidad.

Ejemplos:

Entidad Atributos posibles
Cliente Nombre, documento, correo, teléfono, estado, domicilio.
Producto Código, nombre, categoría, precio, stock, estado.
Pedido Número, fecha, cliente, estado, total, vendedor.
Reclamo Número, cliente, motivo, descripción, prioridad, estado, responsable.

Esta organización ayuda a detectar información faltante, duplicada o ambigua.

14.5 Datos obligatorios y opcionales

No todos los datos tienen la misma importancia. Algunos son obligatorios para que una operación sea válida; otros pueden ser opcionales.

Ejemplo para registrar un cliente:

  • Obligatorios: nombre, documento y correo electrónico.
  • Opcionales: teléfono alternativo, observaciones y fecha de nacimiento.

Definir obligatoriedad evita formularios incompletos y ayuda a diseñar validaciones. También evita pedir datos innecesarios que aumentan esfuerzo de carga y riesgos de privacidad.

14.6 Formato y validación

Los datos deben tener formato y reglas de validación cuando corresponda. Esto mejora la calidad de información y evita errores posteriores.

Dato Validación posible
Correo electrónico Debe tener formato válido y no superar la longitud máxima definida.
Fecha de inicio No puede ser posterior a la fecha de finalización.
Cantidad Debe ser un número entero mayor que cero.
Precio Debe ser mayor o igual a cero y expresarse con dos decimales.
Documento No debe repetirse para clientes activos.

14.7 Origen de los datos

Para cada dato importante conviene conocer su origen. Un dato puede ser ingresado por un usuario, importado desde otro sistema, calculado automáticamente, recibido desde un dispositivo o definido por una configuración.

Ejemplos:

  • El nombre del cliente lo ingresa un operador.
  • El saldo de cuenta corriente proviene del sistema contable.
  • El total de una venta se calcula a partir de productos, cantidades, descuentos e impuestos.
  • La ubicación puede recibirse desde un dispositivo móvil.
  • El estado de pago puede recibirse desde una pasarela externa.

Conocer el origen ayuda a definir responsabilidades, validaciones y dependencias.

14.8 Dueño del dato

El dueño del dato es el área, sistema o responsable autorizado para definir, modificar o validar ese dato. Este concepto es importante cuando varios sistemas comparten información.

Por ejemplo, si el sistema de ventas consulta el saldo de un cliente, pero el saldo lo administra el sistema contable, ventas no debería modificarlo directamente. En ese caso, el sistema contable es la fuente autorizada.

Definir dueño del dato evita inconsistencias y conflictos entre sistemas o áreas.

14.9 Calidad de datos

La calidad de datos se refiere a qué tan correctos, completos, actualizados, consistentes y útiles son los datos para el sistema.

Problemas frecuentes de calidad de datos:

  • Datos duplicados.
  • Campos obligatorios vacíos.
  • Formatos inconsistentes.
  • Información desactualizada.
  • Valores incorrectos o imposibles.
  • Datos con significados distintos en diferentes sistemas.
  • Registros históricos incompletos.

Si el sistema depende de datos de mala calidad, los requerimientos deben considerar limpieza, validación, revisión o migración.

14.10 Datos calculados o derivados

Algunos datos no se ingresan directamente, sino que se calculan a partir de otros. Estos datos derivados deben especificarse con reglas claras.

Ejemplos:

  • El total de una factura se calcula sumando subtotal, impuestos, descuentos y recargos.
  • Un reclamo se marca como vencido si supera el plazo máximo de atención definido por su prioridad.
  • El estado de un pedido se obtiene a partir de pagos, preparación y despacho.
  • La antigüedad de un empleado se calcula desde la fecha de ingreso.

Los datos calculados deben indicar fórmula, condiciones, redondeos, excepciones y fuente de valores usados.

14.11 Estados de una entidad

Muchas entidades tienen estados que representan su situación dentro de un proceso. Definir estados es importante porque afecta permisos, reglas y acciones disponibles.

Ejemplo para un reclamo:

  • Abierto.
  • Asignado.
  • En análisis.
  • Resuelto.
  • Cerrado.
  • Cancelado.

Además de listar estados, conviene definir quién puede cambiar de un estado a otro y bajo qué condiciones.

14.12 Ciclo de vida de los datos

El ciclo de vida de un dato describe qué ocurre desde que se crea hasta que se archiva o elimina.

Preguntas útiles:

  • ¿Cómo se crea el dato?
  • ¿Quién puede modificarlo?
  • ¿Qué cambios deben auditarse?
  • ¿Cuánto tiempo debe conservarse?
  • ¿Puede eliminarse físicamente o solo marcarse como inactivo?
  • ¿Debe archivarse después de cierto tiempo?
  • ¿Qué ocurre si el dato se recibe desde otro sistema?

Estas decisiones pueden convertirse en requerimientos funcionales, no funcionales o restricciones.

14.13 Privacidad y datos sensibles

Algunos datos requieren mayor protección: datos personales, información financiera, credenciales, datos de salud, ubicaciones, documentos o información confidencial de negocio.

Para estos datos conviene definir:

  • Quién puede verlos.
  • Quién puede modificarlos.
  • Si deben mostrarse completos o parcialmente ocultos.
  • Si deben cifrarse o protegerse especialmente.
  • Qué operaciones deben auditarse.
  • Durante cuánto tiempo pueden conservarse.
  • Qué normas o políticas aplican.

La privacidad debe formar parte del análisis de requerimientos desde el inicio.

14.14 Datos para reportes y decisiones

Muchos sistemas deben generar reportes, indicadores o consultas para la toma de decisiones. Para eso, los datos deben capturarse con suficiente calidad y detalle.

Ejemplo: si se quiere reportar reclamos por canal de ingreso, el sistema debe registrar ese canal en cada reclamo. Si se quiere medir tiempo de resolución, el sistema debe guardar fechas y horas de apertura, asignación, resolución y cierre.

Por eso, los reportes esperados ayudan a descubrir datos que deben almacenarse aunque no sean visibles en una función principal.

14.15 Migración de datos

Cuando se reemplaza o complementa un sistema existente, puede ser necesario migrar datos. La migración debe considerarse como parte de los requerimientos o restricciones del proyecto.

Aspectos a definir:

  • Qué datos históricos se migrarán.
  • Desde qué fuentes provienen.
  • Qué período será incluido.
  • Qué datos serán descartados o archivados.
  • Qué limpieza o transformación se requiere.
  • Quién validará los datos migrados.
  • Qué ocurrirá con datos duplicados o incompletos.

La migración suele ser más compleja de lo que parece y debe analizarse temprano.

14.16 Diccionario de datos

Un diccionario de datos es un artefacto que documenta los datos importantes del sistema. Puede ser simple o detallado según el proyecto.

Puede incluir:

  • Nombre del dato.
  • Descripción.
  • Tipo de dato.
  • Formato.
  • Obligatoriedad.
  • Valores permitidos.
  • Reglas de validación.
  • Origen.
  • Dueño del dato.
  • Observaciones de privacidad o seguridad.

El diccionario de datos ayuda a reducir ambigüedades entre analistas, usuarios, desarrolladores y testers.

14.17 Ejemplo de diccionario de datos

Dato Descripción Validación Obligatorio
Documento del cliente Identificación oficial del cliente. No debe repetirse para clientes activos.
Correo electrónico Dirección usada para notificaciones. Debe tener formato válido.
Estado del reclamo Situación actual del reclamo. Debe ser abierto, asignado, en análisis, resuelto, cerrado o cancelado.
Fecha de cierre Fecha en que se cerró definitivamente el reclamo. Solo puede existir si el reclamo está cerrado. No

14.18 Relación con interfaces externas

Cuando el sistema intercambia datos con otros sistemas, debe existir claridad sobre formato, significado y responsabilidad de cada dato.

Por ejemplo, si un sistema externo envía "estado de pago", debe definirse qué valores posibles existen, qué significa cada uno, cuándo se actualiza y qué debe hacer nuestro sistema ante cada valor.

Las interfaces externas y los datos requeridos deben analizarse juntos para evitar inconsistencias de interpretación.

14.19 Errores frecuentes

Al definir datos requeridos, suelen aparecer estos errores:

  • Definir funciones sin aclarar qué datos usan.
  • No distinguir datos obligatorios y opcionales.
  • No validar formatos ni valores permitidos.
  • No identificar origen ni dueño del dato.
  • No considerar privacidad de datos sensibles.
  • Ignorar datos necesarios para reportes.
  • No analizar estados y cambios de estado.
  • Subestimar la complejidad de migrar datos existentes.

14.20 Buenas prácticas

Algunas buenas prácticas son:

  • Identificar entidades principales del dominio.
  • Definir atributos, formatos, obligatoriedad y validaciones.
  • Relacionar datos con funciones, reglas e interfaces.
  • Identificar origen y dueño de cada dato importante.
  • Revisar datos necesarios para reportes e indicadores.
  • Analizar ciclo de vida, auditoría y conservación.
  • Proteger datos sensibles desde el diseño de requerimientos.
  • Crear un diccionario de datos cuando el sistema tenga información compleja.
Un dato mal definido puede generar errores en pantallas, reglas, reportes, integraciones y pruebas.

14.21 Qué debes recordar de este tema

  • Los datos requeridos son información necesaria para que el sistema cumpla sus funciones.
  • Cada función importante suele depender de datos de entrada, procesamiento y salida.
  • Los datos deben tener significado, formato, validaciones y obligatoriedad claros.
  • Es importante conocer origen y dueño del dato.
  • La calidad de datos afecta directamente la calidad del sistema.
  • Los datos sensibles requieren análisis de privacidad y seguridad.
  • Un diccionario de datos ayuda a documentar y compartir definiciones.

14.22 Conclusión

Los datos son una parte esencial de los requerimientos de software. No basta con definir acciones del sistema; también hay que aclarar qué información se necesita, cómo se obtiene, cómo se valida, quién la usa y cómo se protege.

Un buen análisis de datos mejora la precisión de los requerimientos funcionales, facilita integraciones, reduce errores y permite construir reportes y decisiones confiables.

En el próximo tema comenzaremos con la elicitación de requerimientos, estudiando su propósito y cómo prepararse para obtener información útil de interesados, documentos, procesos y sistemas existentes.