Requerimientos
Requerimientos
Requerimientos
Ingeniería de Software
Índice
• Introducción
• ¿Qué es un requerimiento?
• ¿Que es un análisis de requerimiento?
• Aspectos de los requerimientos
• Características de un requerimiento
• Elicitación de requerimientos: Entrevista
• Análisis de requerimientos
• Especificación de requerimientos
• Tipos de requerimientos
• Usuarios de requerimientos
• Validación de requerimientos
Introducción
¿Qué es un Requerimiento?
Los requerimientos especifican qué es lo que el sistema debe
hacer (sus funciones) y sus propiedades esenciales y deseables.
Ambiente físico
Interfaces
Documentación
Datos
➢ ¿Cuál será el formato de los datos, tanto para la entrada como para la
salida?
➢ ¿Cuán a menudo serán recibidos o enviados?
➢ ¿Cuán exactos deben ser?
➢ ¿Con qué grado de precisión deben hacerse los cálculos?
➢ ¿Cuántos datos fluyen a través del sistema?
➢ ¿Debe retenerse algún dato por algún período de tiempo?
Aspectos de los Requerimientos
Recursos
➢ ¿Qué recursos materiales, personales o de otro tipo se requieren para
construir, utilizar y mantener el sistema?
➢ ¿Qué habilidades deben tener los desarrolladores?
➢ ¿Cuánto espacio físico será ocupado por el sistema?
➢ ¿Cuáles son los requerimientos de energía, calefacción o
acondicionamiento de aire?
➢ ¿Existe un cronograma prescrito para el desarrollo?
➢ ¿Existe un límite sobre la cantidad de dinero a gastar en el desarrollo o en
hardware y software?
Aspectos de los Requerimientos
Seguridad
Antes de la entrevista.
Después de la entrevista.
No basta con hacer preguntas, es importante la forma en que se plantea la conversación y la relación que se
establece.
Análisis de Requerimientos
El Análisis de Requerimientos es un proceso al cual Sommerville, llama “Ingeniería de
Requerimientos” cuya meta es crear y mantener un documento de requerimientos del
sistema.
❖Restricciones globales.
❖Requerimientos Funcionales.
❖Requerimientos No-Funcionales.
Restricciones globales
Apoyan a las funciones, son las propiedades que el producto debe tener:
◦ Apariencia y sensación
◦ Usabilidad
◦ Performance
◦ Operatividad
◦ Mantenibilidad
◦ Seguridad
◦ Requerimientos Políticas
◦ Requerimientos legales
Requerimientos Funcionales
Siempre indagar el por qué de estas restricciones y anotar todas las restricciones
y sus razones para el producto.
Requerimientos No-Funcionales
◦ Requerimientos no-funcionales:
◦ Apariencia y sensación: (Bosquejos)
◦ Usabilidad: Depende de la definición de los usuarios, cuantificable por los
criterios de evaluación.
◦ Performance: Requerimientos reales del performance, velocidad, precisión,
disponibilidad, seguridad, nivel de servicio, volúmenes de datos, etc.
◦ Operacional: Ambiente en el que el usuario operará el producto y productos
con los que colabora.
Requerimientos no-funcionales
No ambigua.
Completa.
Fácil de verificar.
Consistente (coherente).
Clasificada por importancia o estabilidad.
Fácil de modificar.
Fácil identificación del origen y de las consecuencias de cada requisito.
De fácil utilización durante la fase de explotación y de mantenimiento.
Resumiendo…
Los requerimientos deberían ser completos, consistentes y
correctos:
Deben incluir
✓ Una descripción de la situación de partida;
✓ Una descripción del flujo normal de eventos;
✓ Una descripción de lo que puede ir mal;
✓ Información sobre otras actividades concurrentes;
✓ Una descripción del estado cuando el escenario acaba.
Ejemplo:
Revisiones [inspecciones]
◦ Un grupo de personas lee, analiza, discute el documento de SRS y las
formas de solucionar los problemas detectados.
◦ Deben participar representantes del cliente y los usuarios.
◦ Norma: IEEE Std 1028-1997, IEEE Standard for Software Reviews
Las inspecciones pueden ser formales (documento concluido) o
informales.
Técnicas de validación de Requerimientos
Revisiones
Se pueden usar Listas de Comprobación:
Unicidad
◦ ¿Está cada requerimiento identificado de forma unívoca?
Comprensibilidad
◦ ¿Se describen en el glosario los términos especializados o técnicos?
◦ ¿Es cada requisito autocontenido o se tienen que examinar otros requerimientos para
comprenderlo?
◦ ¿Hay contradicciones?
◦ ¿Están agrupados los requerimientos relacionados?
Técnicas de validación de Requerimientos
Trazabilidad
◦ ¿Está establecido adecuadamente el origen de cada requerimiento?
Adaptabilidad
◦ ¿Puede cambiarse un requerimientos sin impactar demasiado a los otros?
Técnicas de validación de Requerimientos
Prototipos:
Selección del
Desarrollo de los Ejecución de Documentación
Encargado
Escenarios de los de
de Pruebas del
Prueba Escenarios Problemas
Prototipo
Ingeniería de Software