Está en la página 1de 31

Fundamentos de la Ingeniería de Requisitos

UNIDAD # 1
Tener una visión general del proceso de desarrollo de software y de
sus principales problemas.

Objetivos
Reconocer las fases del proceso de ingeniería de requisitos

Conocer el proceso, las técnicas, los productos y las herramientas


necesarias de la Ingeniería de Requisitos
Definición de Ingeniería de Requisitos

Importancia de la Ingeniería de Requisitos

Temas de Dimensiones de los requisitos

la Unidad Flujo de trabajo en la Ingeniería de


Requisitos

Claves de éxito de la IR

Actividades básicas de la IR
Introducción
• A la hora de construir una aplicación software es fundamental que
los desarrolladores conozcan de forma precisa el problema que van a
resolver, de tal manera que la solución que se construya sea correcta
y útil. Por tal motivo la correcta obtención de los requerimientos del
sistema es uno de los aspectos clave en la construcción de proyectos
de software, ya sea en proyectos grandes o pequeños con
complejidades diferentes la mala captura de los mismos es la causa
de los problemas que surgen a lo largo del proceso de construcción.
• La ingeniería de requisitos como parte de la ingeniería del software
permite la definición de los servicios y características que el sistema
debe tener.
Ingeniería de Requisitos - Definición

Conjunto de actividades en las


cuales, utilizando técnicas y
herramientas, se analiza un
problema y se concluye con la
especificación de una solución.
Ingeniería de Requisitos - Definición
La IR incluye todas las actividades del ciclo de vida que se ocupan
de la identificación de los requisitos del usuario, del análisis de
los requisitos para derivar requisitos adicionales, documentar los
requisitos como una especificación y validar los requisitos
documentados contra las necesidades de los usuarios, así como
todos los procesos que soportan estas actividades .
Permite gestionar las necesidades del
Importancia proyecto en forma estructurada

Disminuye los costos y retrasos del


proyecto

Mejora la calidad del software

Mejora la comunicación entre equipos


Definición de Requisito
Una condición o capacidad que debe
Una condición o capacidad que un tener un sistema o un componente de
usuario necesita para resolver un un sistema para satisfacer un contrato,
problema o lograr un objetivo. una norma, una especificación u otro
documento formal.

Una propiedad que debe exhibirse


para solucionar algún problema del
mundo real (Sawyer y Kontoya, 2001)
Dimensiones de los requisitos

Según el Según el
Según el nivel
estado de los elemento que
de abstracción
requisitos describen
Según el estado de los requisitos

Dentro de un Requisitos
verificados
Requisitos
validados
Requisitos
cualificados
proyecto es • Son los que • Son los que se • Son aquellos
necesario satisfacen la
solución
han
implementado
en los que se
ha medido el
saber el estado diseñada en el producto
a entregar
rendimiento,
en una
en el que está aplicación
específica
un requisito
Según el nivel de abstracción
Son los beneficios
Requisitos del del negocio que la
negocio organización
espera alcanzar

Se originan en Se deben recoger


quien financia un estos requisitos en
proyecto, el cliente un documento de
que lo comprará Visión y alcance.
Según el nivel de abstracción
Describen las metas y
tareas que los usuarios
Requisitos del deben ser capaces de
usuario/cliente realizar con el producto que
va a proporcionar valor a
alguien.

Las formas de representarlo Las necesidades de los


incluyen: casos de uso, usuarios describen lo que
historias de usuarios y las los usuarios serán capaces
tablas de eventos de de hacer con el sistema. Ej:
respuestas Check in para un vuelo.
Según el nivel de abstracción

También llamados requisitos


Requisitos del desarrollador
funcionales.

Describen lo que los


desarrolladores deben Los requisitos son detallados
implementar para que los en el documento de
usuarios puedan realizar sus especificación de requisitos
tareas, satisfaciendo así los ERS
requerimientos del negocio
Según el elemento que describen

Describen la funcionalidad
Requerimientos
que el sistema a
Funcionales
desarrollar deberá ofrecer
Según el elemento que describen

Suelen ser requisitos relativos al


rendimiento, disponibilidad,
Requisitos de Calidad
escalabilidad o portabilidad de
un sistema
Según el elemento que describen

Son restricciones propias del


proyecto Ej: “El sistema debe
implementarse como servicio
Restricciones web”, o bien del proceso de
desarrollo “El sistema debe estar
disponible para diciembre del
2020”
Problemas con los Requisitos

Problemas de
comunicación
Los requisitos no reflejan El cambio de requisitos,
Requisitos inconsistentes o • Incomprensiones entre los
las necesidades reales del una vez acordados, es muy clientes, los que desarrollan los
incompletos
cliente costoso requisitos y los ingenieros de
software que desarrollan o
mantienen el sistema
Flujo de trabajo en la ingeniería
de requisitos
Claves de éxito de la Ingeniería
de Requisitos
Consideraciones que deben tomarse en cuenta en la ejecución de
proyectos:
Proceso simple pero no fácil Descubrir, no encontrar

• La mayor parte de los • Descubrir las necesidades


problemas aparecen a estudiando todos los
nivel de comunicación aspectos y niveles del
• Los procesos de la IR son proyecto; no todo está
una torre de Babel junto al usuario.
Actividades básicas de la IR
Producto: Conjunto de artefactos
elaborados gracias a la utilización de un
lenguaje, unas técnicas y unas herramientas

Proceso o modelo de proceso: conjunto de


actividades encaminadas a la construcción
de los artefactos.
Elicitación

Actividades
básicas de la Gestión IR Documentación
Ingeniería de
Requisitos

Validación y
negociación
1. Descubrimiento/Educción/Obtención/ Elicitación

Identificar a los
Primer actividad a realizar interesados (stakeholders) Los usuarios no pueden o
para comprender el y establecer las primeras no saben describir muchas
problema relaciones entre ellos y el de sus tareas
equipo de desarrollo

Los objetivos básicos son:


Detectar conflictos y conocer el dominio del
establecer las bases para problema, descubrir las
el diseño necesidades reales de los
clientes
1. Descubrimiento/Educción/Obtención/ Elicitación

Incluye actividades de descubrimiento de los requisitos como entrevistas,


reuniones de trabajo o workshops, análisis de documentación y prototipado

Trabajar con los


individuos que
Comprender las tareas Aprender acerca del representan cada tipo
Identificar lo que y objetivos de los entorno y dominio en de usuario para
esperan los clientes usuarios, los objetivos que se utilizara el comprender la
y reglas del negocio producto software funcionalidad que
necesitan y el nivel de
calidad que esperan
2. Documentación / Especificación / Modelado
Implica alcanzar un nivel preciso de comprensión de requisitos y representarlos de
distintas formas, utilizando un lenguaje de modelado (UML)

Asignar requisitos a
Analizar la Descomponer los
los componentes
información requisitos de alto Negociar las
software definidas
recibida por los nivel en un nivel prioridades
en la arquitectura
usuarios más detallado
de software

Implica la representación y registro de forma organizada de los requisitos


recolectados (contrato vinculante de forma legal) . El resultado de esto es la
especificación de requisito ERS (Software Requirements Specification - SRS)
3. Validación / Negociación
Es la tarea de confirmación de que tenemos el conjunto correcto de requisitos que
permitirá la construcción de una solución que satisfaga los objetivos del negocio.

Desarrollar pruebas y criterios de


Revisión de los requisitos aceptación para confirmar que el
documentados para corregir cualquier producto basado en esos requisitos
problema antes de que el equipo de estará de acuerdo con las necesidades
desarrollo lo acepte de los clientes y cumplirá los objetivos
del negocio

El objetivo de la negociación es buscar soluciones a los conflictos detectados que


satisfagan a los distintos stakeholders
4. Gestión Priorización
de
requisitos

Su propósito es controlar y monitorizar


todos los requisitos del producto y del Actividades Versionado
proceso (después de ser descubiertos), Trazabilidad de la de
Gestión requisitos
e identificar las inconsistencia entre
ellos

Gestión de
cambios
Priorización de requisitos

Es una técnica de apoyo a la


negociación de los
Establece un orden en los requisitos (no todos los
requisitos requisitos son igualmente
importantes y los recursos
también son limitados)
Versionado de requisitos
El control de versiones de requisitos se aplica tanto a
requisitos individuales, como a conjunto de requisitos o a la
ERS completa

Los miembros del equipo tienen que poder acceder a la


versión que haya en curso en ese momento

Se debe llevar un control de versiones, cuando se realicen


las actualizaciones (histórico que guarde la fecha, el
nombre de la persona que hizo el cambio y la razón)
Gestión de cambios

Es esencial planear posibles


Los cambios deben Hay que convivir con el cambios a los requisitos
controlarse y documentarse cambio cuando el sistema sea
desarrollado y utilizado
Trazabilidad

La trazabilidad de requisitos es la
correspondencia entre cada requisito
funcional del software y/o uno o mas
requisitos de comportamiento

También podría gustarte