01 - Introducción
1. Definición de Requerimientos y Análisis de Requerimientos
- Requerimientos:
- Definen lo que un sistema debe hacer, sus funcionalidades y características esenciales.
- Los requerimientos son la base para entender qué esperan los clientes y usuarios del sistema.
- Se centran en qué debe hacer el sistema, dejando el cómo a la etapa de diseño.
- Los requerimientos mal definidos pueden llevar a errores y costos adicionales en fases posteriores del desarrollo.
- Análisis de Requerimientos:
- Conjunto de técnicas y procedimientos que ayudan a definir claramente un proyecto de software.
- Permite especificar las características operativas, las interfaces y las restricciones del software.
- El análisis es un proceso de descubrimiento y refinamiento, en el que el cliente y el desarrollador deben trabajar juntos.
- El análisis busca crear un entendimiento mutuo y un acuerdo sobre lo que debe hacer el sistema.
2. Tipos de Requerimientos
-
Requerimientos Funcionales:
- Describen las interacciones que debe tener el sistema con su entorno y las respuestas ante determinadas entradas.
- Definen las funciones, servicios y comportamientos que el sistema debe tener.
- Indican claramente lo que el sistema debe hacer bajo ciertas condiciones. -
Requerimientos No Funcionales:
- Restringen el funcionamiento del sistema.
- Incluyen aspectos como tiempos de respuesta, capacidad de almacenamiento, restricciones de seguridad y cumplimiento con normativas.
- Ponen límites a la forma en que el sistema entrega sus servicios.
3. Características de los Requerimientos
- Correctos: Deben estar libres de errores y revisarse para asegurar que se ajustan a las expectativas del cliente.
- Consistentes: No deben existir conflictos entre dos o más requerimientos.
- Completos: Deben cubrir todos los posibles estados y transiciones del sistema.
- Realistas: Deben poder cumplirse con la tecnología, tiempo y presupuesto disponibles.
- Verificables: Deben ser medibles y probables, de modo que se puedan comprobar mediante pruebas.
- Rastreables: Debe ser posible seguir el origen de cada requerimiento, hasta el conjunto que lo estableció.
4. Métodos Generales de Entrevistas
- La entrevista es una técnica importante para recolectar información y definir los requerimientos del sistema.
- Preparación:
- Documentarse sobre la organización.
- Minimizar el número de entrevistados.
- Definir el objetivo y contenido de la entrevista.
- Establecer un lugar y tiempo adecuado para la entrevista.
- Realización:
- Dividida en tres fases: apertura, desarrollo y terminación.
- Asegurar que el entrevistado entienda la razón de la entrevista y mantenga una actitud colaborativa.
- Análisis:
- Analizar las respuestas, comparar con otras entrevistas y reorganizar la información
-
Las entrevistas pueden ser de dos tipos
- Cerradas: Responden a un conjunto de preguntas definidas.
- Abiertas: Exploran cuestiones sin un guion establecido, facilitando una mejor comprensión del sistema. -
Recomendaciones:
- Seleccionar cuidadosamente a los entrevistados principales.
- Preferir que haya dos entrevistadores para cubrir mejor las respuestas.
- Grabar la entrevista con permiso previo para no perder detalles.
5. Importancia de la Definición Formal de Requerimientos
- Los requerimientos bien definidos reducen el riesgo y los costos del proyecto.
- Un buen análisis de requerimientos asegura que el sistema final se ajuste a lo solicitado por el cliente.
- La falta de requerimientos claros ha sido una causa de fracaso en proyectos costosos, debido a problemas de desarrollo y mantenimiento.
6. Relación entre Desarrolladores y Usuarios
- Existen diferencias de perspectiva entre desarrolladores y usuarios:
- Los desarrolladores pueden considerar que los usuarios no saben lo que quieren o que no pueden articularlo claramente.
- Los usuarios pueden pensar que los desarrolladores no entienden sus necesidades operacionales o que se enfocan demasiado en la técnica. - Es crucial que ambos grupos trabajen juntos para crear una especificación de requerimientos que contemple las expectativas de cada uno.
7. Recomendaciones para la Captura de Requerimientos
- Entender que los requerimientos cambian a lo largo del proyecto.
- Asegurarse de que los requerimientos reflejen las necesidades de todos los involucrados (stakeholders).
- Utilizar entrevistas, reuniones y otros métodos de captura de información para garantizar que los requerimientos se mantengan actualizados y alineados con los objetivos del proyecto