Fundamentos de Ingeniería de Requerimientos: Conceptos, Tipos y Prácticas Esenciales

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,39 KB

Ingeniería de Requerimientos: Conceptos y Características

Un requerimiento es simplemente una declaración abstracta de alto nivel de un servicio que debe proporcionar el sistema o una restricción de éste.

Un requerimiento es una descripción de una condición o capacidad que debe cumplir un sistema, ya sea derivada de una necesidad de usuario identificada, o bien, estipulada en un contrato o estándar.

Tipos de Requerimientos

Los requerimientos funcionales definen las funciones que el sistema será capaz de realizar. Describen las transformaciones que el sistema realiza sobre las entradas para producir salidas. Es importante que se describa el qué y no el cómo.

Por otra parte, los requerimientos no funcionales tienen que ver con características que, de una u otra forma, puedan limitar el sistema, como por ejemplo: el rendimiento (en tiempo y espacio), interfaces de usuario, fiabilidad, seguridad, mantenibilidad, etc.

Características de un Requerimiento

  • Especificado por escrito: Como todo contrato formal, debe quedar constancia escrita.
  • Posible de probar o verificar: Si un requerimiento no se puede comprobar, ¿cómo se sabe si se cumplió con él?
  • Conciso: Fácil de leer y entender, sin ambigüedades innecesarias.
  • Completo: No necesita ampliación de detalles en su redacción para ser comprendido.
  • Consistente: No debe contradecir a otros requerimientos.
  • No ambiguo: Debe tener una única interpretación posible.

Dificultades Comunes en la Definición de Requerimientos

  • Los requerimientos no siempre son obvios y provienen de múltiples fuentes.
  • Son difíciles de expresar claramente en lenguaje natural, que es inherentemente ambiguo.
  • La cantidad de requerimientos en un proyecto puede ser difícil de gestionar.
  • Pueden cambiar a lo largo del ciclo de desarrollo del software.
  • Los usuarios pueden tener dificultades para explicar sus procesos (tienden a recordar lo excepcional y olvidar lo rutinario, o enfocarse en lo que no funciona).
  • Existen diferencias de vocabulario y semántica entre usuarios y desarrolladores (usan los mismos términos con distinto significado).

¿Qué es la Ingeniería de Requerimientos?

El proceso de recopilar, analizar y verificar las necesidades del cliente o usuario para un sistema se denomina Ingeniería de Requerimientos.

La Ingeniería de Requerimientos ayuda a los ingenieros de software a entender mejor el problema en cuya solución trabajarán.

Es el proceso de desarrollar una especificación de software. Las especificaciones pretenden comunicar las necesidades del sistema del cliente a los desarrolladores del mismo.

En síntesis, el proceso de Ingeniería de Requerimientos se utiliza para definir todas las actividades involucradas en el descubrimiento, documentación y mantenimiento de los requerimientos para un producto de software determinado.

Importancia de la Ingeniería de Requerimientos

  • Permite gestionar las necesidades del proyecto de forma estructurada: Cada actividad de la IR consiste en una serie de pasos organizados y bien definidos.
  • Mejora la capacidad de predecir cronogramas y resultados del proyecto: Proporciona un punto de partida para controles subsecuentes y actividades de mantenimiento.
  • Disminuye costos y retrasos: Reparar errores originados por requerimientos mal definidos o no descubiertos a tiempo es costoso, especialmente porque la IR es una de las primeras y más cruciales etapas del ciclo de desarrollo.
  • Mejora la calidad del software: La calidad se relaciona directamente con el cumplimiento de un conjunto de requerimientos (funcionalidad, facilidad de uso, confiabilidad, desempeño, etc.).
  • Mejora la comunicación entre equipos: La especificación de requerimientos representa un consenso entre clientes y desarrolladores.
  • Evita rechazos por parte de los usuarios finales: Obliga al cliente a considerar y revisar cuidadosamente sus requerimientos dentro del marco del problema a resolver.

Entradas relacionadas: