¿Qué es la ingeniería de requisitos?
Significado | Concepto | Definición:
Los grandes sistemas de hardware o software, como una nave espacial, tienen requisitos complejos. Los requisitos son una especificación de lo que debe construirse, cómo debe comportarse el sistema o las restricciones en el proceso de construcción del sistema. La ingeniería de requisitos es el uso de buenas prácticas de ingeniería para comprender los requisitos antes de construir un sistema. Asume importancia porque las partes interesadas del sistema no tienen claras sus necesidades y tienen necesidades divergentes.
Mujer haciendo el pino con una computadora
Un sistema complejo puede tener muchas partes interesadas, como las personas que encargan el sistema, los usuarios que utilizan uno o más aspectos del sistema y las personas que se benefician del sistema. También es posible que las partes interesadas incluyan a miembros del público que se ven afectados por determinadas peculiaridades del sistema. Las partes interesadas tienen sus propias necesidades especiales. Por otro lado, las personas que desarrollan el sistema pueden ser técnicamente capaces, pero es posible que no comprendan completamente el punto de vista de las partes interesadas. La ingeniería de requisitos es la capacidad esencial que conecta estos lados.
Formalmente, la actividad de ingeniería de requisitos se divide en desarrollo de requisitos y gestión de requisitos. El desarrollo de requisitos se compone de la obtención, el análisis, la especificación y la verificación. La gestión de requisitos es el control de todo el proceso de requisitos, especialmente, el manejo de cualquier cambio en los requisitos. Algunos profesionales, por el contrario, simplemente llaman a toda la actividad análisis de requisitos.
La obtención de requisitos de las partes interesadas se vuelve necesaria porque las partes interesadas a menudo no especifican completamente sus necesidades y no comprenden las implicaciones del nuevo sistema. Es posible que las partes interesadas no se abran, ya que podrían temer el impacto en sus trabajos actuales. La elicitación, por tanto, es un proceso cuidadoso y, posiblemente, largo donde se necesita empatía y psicología sutil. Hay que tener cuidado de salvar las diferencias culturales entre las diferentes partes interesadas y los desarrolladores.
Se utilizan varias técnicas para obtener requisitos. Los requisitos pueden obtenerse mediante entrevistas individuales, reuniones de grupo y la observación de las personas en sus tareas. Las técnicas que pueden generar requisitos incluyen grupos focales, creación de listas de prioridades, creación de prototipos y comparación con otros sistemas en funcionamiento. Los requisitos a obtener incluyen las necesidades comerciales del sistema, los procesos comerciales de los usuarios a medida que utilizan el sistema y las características funcionales del sistema. Además, deben obtenerse los requisitos no funcionales, como el tiempo de respuesta, la disponibilidad del sistema y la facilidad de uso.
El paso de análisis en la ingeniería de requisitos forma requisitos de bajo nivel que satisfarán los requisitos originales de alto nivel. Esto incluye la creación de modelos conceptuales y prototipos para determinar la integridad de los requisitos. Los conflictos en las necesidades de las diferentes partes interesadas se encuentran más a menudo en modelos y prototipos que en una mera lista de requisitos. Los analistas deben agregar a los requisitos características deseables del sistema, como seguridad, flexibilidad y facilidad de mantenimiento.
Los requisitos se especifican en un documento para facilitar la comprensión de todas las partes interesadas. En el campo del software, el documento se denomina SRS, que significa Especificación de requisitos de software. Los requisitos son verificados por las partes interesadas clave. Esto es principalmente a través de presentaciones y el documento de especificaciones, pero también a veces con casos de prueba que corresponden a los requisitos.
La ingeniería de requisitos es principalmente una actividad de comunicación más que técnica. Necesita habilidades multidisciplinarias. La ingeniería de requisitos ayuda a las partes interesadas y los desarrolladores a resolver conflictos y los une en sus objetivos; Esto conduce a un sistema robusto.
Mira estos Artículos