Características más importantes

La recolección de requisitos del software, es básicamente la estructura funcional de todo. Son los pilares enteros del proyecto. Por esto es que dichos requerimientos deben tener características muy importantes. Según el *Guide to the Software Engineering Body of Knowledge* (SWEBOK), las características más importantes de los requerimientos de software son las siguientes:

### **Completo**

Los requerimientos deben capturar y describir todas las funcionalidades y características necesarias del software. No deben omitir elementos críticos para el sistema.

### **Consistente / Consistent**

Los requerimientos no deben entrar en conflicto entre sí ni con otras fuentes de información. Deben ser coherentes y no presentar contradicciones.

> *Ej: Que una implementación no destruya por completo otras implementaciones o el diseño. Que todo sea cohesivo.*
>
>

### **No ambiguo / Unambiguous**

Los requerimientos deben estar redactados de manera clara y precisa, sin dejar lugar a la interpretación o a múltiples significados. Deben ser comprensibles para todos los interesados.

> *Ej: en vez de decir "El sistema debería ser veloz", un requerimiento menos ambiguo sería "El sistema debería responder a las acciones del usuario en un lapso de 2 segundos".*
>
>

### **Verificable / Verifiable**

Los requerimientos deben poder ser probados o verificados para determinar si han sido cumplidos satisfactoriamente. Deben estar formulados de tal manera que su cumplimiento o no cumplimiento sea evidente.

> *Ej: Requerimientos que sean verificables cómo desplegar un resultado o completar una acción, cómo el envío de un correo.*
>
>

### **Priorizado / Prioritized:**

Los requerimientos deben ser clasificados y ordenados según su importancia y su valor relativo para los interesados. Esto permite tomar decisiones informadas sobre qué requerimientos implementar primero en caso de restricciones de tiempo o recursos.

> *Ej: Si una función es vital y otra es opcional, se podrán tomar decisiones para asegurar el funcionamiento de la función vital.*
>
>

### **Modificable / Modifiable**

Los requerimientos deben ser lo suficientemente flexibles para acomodar cambios y modificaciones en el software a medida que evoluciona el proyecto. Deben ser diseñados para ser modificados sin causar un impacto negativo significativo en el sistema.

> *Ej: Que un requerimiento no ahogue la flexibilidad del proyecto.*
>
>

### **Rastreable / Traceable**

Los requerimientos deben ser trazables, lo que significa que se debe poder establecer una relación clara entre ellos y otros artefactos del desarrollo de software, como diseños, código fuente y pruebas. Esto facilita la gestión de cambios y el seguimiento de la implementación de los requerimientos.

> *Ej: Asignar identificadores únicos a los requerimientos y vincularlos a documentos de diseños, casos de prueba y otras implementaciones.*
>
>

### **Posible / Feasible**

Los requerimientos deben ser técnica y económicamente posibles dentro de los límites del proyecto. Deben considerar los recursos y tecnología disponibles, limitaciones y capacidad organizacional.

> *Ej: Tiempo de respuesta exageradamente bajos sin la infraestructura necesaria.*
>
>

## Contenido de la wiki

* **Características más importantes**
* ANÁLISIS
* PROCESOS
* ESPECIFICACIÓN
* CAPTURA
* REQUISITOS FUNCIONALES Y NO FUNCIONALES
* VALIDACIÓN
* CONSIDERACIONES PRÁCTICAS