Requerimientos de Software
Contenidos
Evolución de la Ingeniería de Software y futuras tendencias. Enfoque sistémico vs enfoque ingenieril. Concepto de producto y proceso. Conceptos de la Teoría General de Sistemas. Ciclo de vida del software. Factores técnicos y sociales en el proceso de software. Universo de Discurso y Macrosistema. Definición, relevancia y principios de la Ingeniería de Requisitos. Actores involucrados. La Ingeniería de Requisitos en los modelos de proceso de software. Requerimiento, Requisito y Especificación. Taxonomías de requisitos. Requisitos funcionales. Requisitos de calidad. Proceso de la Ingeniería de Requisitos: elicitación, modelado, análisis y gestión de requisitos. Una estrategia de requisitos utilizando modelos basados en lenguaje natural. Modelos Léxico Extendido del Lenguaje y Casos de Uso. Estrategias y técnicas de la Ingeniería de Requerimientos para la determinación de los requisitos de un sistema. Especificación formal de requisitos en sistemas críticos. Modelos de requisitos orientados a estados para sistemas de tiempo real. Ingeniería de Requisitos dirigida por objetivos. Ingeniería de Requisitos en el Proceso Unificado. Requisitos ágiles. Elicitación y modelado de requisitos no funcionales. Requisitos para sistemas web y sistemas sensibles al contexto. Ingeniería de requisitos de data warehouses.
Sesion 1
📚 Clase 1: Ingeniería de Requerimientos de Software
1. Definiciones Fundamentales
Requerimiento
- Requerimiento: Necesidad del cliente que debe ser cumplida por el software.
- Condición que debe cumplir el software: Esto implica que el desarrollo del software debe satisfacer ciertos criterios y funcionalidades para ser considerado exitoso.
Diferenciación
- Requisito: Se refiere a una condición específica que el software debe cumplir.
- Requerimiento: Se refiere a la necesidad del cliente que motiva el desarrollo del software.
2. Importancia de la Especificación de Requerimientos
- Crisis del Software: La mayoría de los problemas en el desarrollo de software se deben a fallas en la especificación sobre “¿Qué construir?”. La incorrecta comprensión de los requerimientos puede llevar a resultados no deseados.
3. Catarata de Errores
-
Se presenta un diagrama que representa la “Catarata de Errores”, indicando que el producto final puede no ser perfecto y, por lo tanto, puede contener errores.
Nota: Diagrama representativo; se debe crear un diagrama real basado en la imagen original si es necesario.
Universo de Discurso
- Macrosistema: Representa el contexto general donde el software será utilizado.
- Sistema: El sistema específico en el que se desarrollará el software.
Nota: Crear un diagrama real a partir de tus notas.
4. Evolución de los Requerimientos
- Cambios en los Requerimientos: Es común que los requerimientos cambien o evolucionen durante el ciclo de vida del desarrollo del software. Se estima que el 50% de los requerimientos pueden cambiar.
Ingeniería de Requerimientos
- Se incluyen procesos como:
- Elicitación: Obtención de requerimientos.
- Modelado: Representación gráfica de los requerimientos.
- Análisis: Evaluación de los requerimientos obtenidos.
- Gestión: Control y seguimiento de los cambios en los requerimientos.
Requisito como Concepto
- Requisito: Se define como un concepto combinado con su representación.
5. Requerimientos No Funcionales
- Definición: Son igualmente importantes que los requerimientos funcionales y deben ser cuantificables.
- Ejemplos:
- Nivel de seguridad
- Porcentaje de rendimiento
- Otros criterios de evaluación.
- Ejemplos: