Un relevamiento consiste en observar y recolectar hechos, opiniones, y datos. Al comienzo de un Proyecto de Software, los clientes tienen un propósito para el sistema pero no tienen una descripción final. El Analista de Sistemas debe determinar lo que el cliente realmente necesita, para enfocar la solución hacia los objetivos del negocio. Este proceso toma tiempo.
La Educción de Requisitos es el relevamiento que busca comprender:
- El dominio de aplicación (app web, app mobile, terminales, etc).
- El problema a solucionar (para qué se quiere hacer el sistema).
- Las necesidades y restricciones de los stakeholders.
- El contexto organizativo.
Es un proceso más social que técnico, donde se pueden dar varios problemas de comunicación:
- Conocimiento tácito: Conocimiento interiorizado y subjetivo, por lo que es difícil de transmitir.
- Ambigüedad: se debe a diversas interpretaciones ante una oración mal expresada.
- Actitudes y opiniones particulares: vivencias, tradiciones, creencias políticas o religiosas, etc.

Los requisitos vienen de muchas fuentes distintas. Hay que determinar las fuentes importantes, cómo accederlas, y cómo obtener la información. Hay que combinarlas.
El análisis del problema busca entender a los usuarios y clientes para documentar sus necesidades. La ingeniería de Requerimientos es el arte de entender las necesidades correctamente para quitar funcionalidades que no aportan valor al usuario, es decir, que no solucionan sus problemas. Es la base del proyecto de software.
- La comunicación es el factor humano en la ingeniería de requisitos.
- El proceso de la ingeniería de requisitos no es un proceso lineal. El analista no solo recolecta información sino que también actúa de consultor (toma un rol activo).
- Es también un proceso de invención y descubrimiento.
- Ayuda a entender mejor el problema: es un conjunto de actividades que identifican y comunican el propósito de un sistema de software y su contexto.
- Es el puente entre las necesidades del mundo real y las capacidades de la tecnología.

- Recolección de requisitos: se obtienen los requerimientos. Es la educción.
- Análisis de requisitos: es el proceso de razonamiento sobre los requisitos recolectados. Se coordinan los requisitos entre si, detectando y resolviendo inconsistencias o conflictos.
- Negociación de requisitos: la resolución de conflictos consiste en resolver los problemas que surgen al analizar los requisitos. ¿Cuál es la mejor alternativa? Hay 3 enfoques:
- Negociación y priorización: se negocia un acuerdo entre todas las partes.
- Solución creativa: se crea una nueva solución completamente diferente.
- Decisión superior: una autoridad superior decide en favor de alguna parte.
- Documentación de requisitos: se escriben los requisitos de manera precisa y cuidadosa.
- Verificación de requisitos: se detectan errores en los requisitos documentados. Es un punto de control interno, para verificar que construyamos correctamente el software.
- Validación de requisitos: se asegura que el documento de Especificación de Requisitos de Software defina el software que el usuario espera. Es un punto de control externo en el que el usuario valida que el software a construir es el correcto.

Recordando que se busca definir un conjunto de requisitos imperfecto pero suficientemente bueno para continuar, la gestión de requisitos controla sus cambios y evolución en el tiempo.