Ingeniería de Requisitos: Desarrollo y Gestión para el Éxito del Software
Enviado por Chuletator online y clasificado en Diseño e Ingeniería
Escrito el en español con un tamaño de 3,41 KB
Ingeniería de Requisitos: Fundamentos para el Desarrollo de Software
La construcción de software (SW) es una tarea compleja. Muchos desarrolladores se lanzan a ella sin una comprensión clara de las necesidades, lo que puede conducir al fracaso del proyecto. La ingeniería de requisitos establece una base sólida para el diseño y la construcción, aumentando la probabilidad de satisfacer las necesidades del cliente.
Tareas Clave de la Ingeniería de Requisitos
La ingeniería de requisitos proporciona un mecanismo para:
- Entender lo que el cliente quiere.
- Analizar las necesidades.
- Evaluar la factibilidad.
- Negociar una solución razonable.
- Especificar la solución sin ambigüedades.
- Validar la especificación.
- Administrar los requisitos a medida que se transforman en un sistema operacional.
Funciones Esenciales de la Ingeniería de Requisitos
El proceso de ingeniería de requisitos se lleva a cabo a través de siete funciones distintas:
- Concepción: Identificación de la necesidad de negocio o descubrimiento de un nuevo mercado o servicio potencial. Comprensión básica del problema.
- Indagación: Abordar problemas de alcance, entendimiento y volatilidad de los requisitos.
- Elaboración: Desarrollo de un modelo técnico refinado de las funciones, características y restricciones del software. Creación de un modelo de análisis que define el dominio de la información, las funciones y el comportamiento del problema.
- Negociación: Conciliación de conflictos entre requisitos que compiten entre sí.
- Especificación: Puede ser un documento escrito, modelos gráficos, un modelo matemático formal, escenarios de uso, un prototipo o una combinación de estos.
- Validación: Examen de la especificación para asegurar que todos los requisitos se han establecido de manera precisa.
- Gestión: Actividades para identificar, controlar y rastrear los requisitos y sus cambios durante el desarrollo del proyecto.
Estableciendo las Bases: Primeros Pasos
- Identificación de los participantes clave (*stakeholders*).
- Reconocimiento de los múltiples puntos de vista.
- Fomento de la colaboración.
- Formulación de las preguntas iniciales.
Profundizando en la Indagación de Requisitos
- Recopilación colaborativa de requisitos.
- Despliegue de la función de calidad:
- Requerimientos funcionales: Describen *qué* debe hacer el sistema.
- Requerimientos no funcionales: Definen *cómo* debe funcionar el sistema (rendimiento, seguridad, etc.).
- Creación de escenarios de uso.
- Análisis de los productos del trabajo.
Desarrollo de Casos de Uso: Una Perspectiva del Usuario
Un caso de uso captura un "contrato" que describe el comportamiento del sistema en diferentes condiciones mientras responde a la petición de un usuario. Esencialmente, narra cómo un usuario final interactúa con el sistema en un conjunto específico de circunstancias.
Un caso de uso muestra el software o sistema desde el punto de vista del usuario final, destacando la interacción y los resultados esperados.