1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1 © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
Introducción a la
Ingeniería de Requisitos
Grupo de Ingeniería del Software y Bases de Datos
Departamento de Lenguajes y Sistemas Informáticos
Universidad de Sevilla
septiembre 2013
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
•
Objetivos del tema
–
Conocer el concepto de requisito y su terminología
relacionada.
–
Conocer los diferentes tipos de requisitos.
–
Entender el proceso de la ingeniería de requisitos
y su relación con el resto de procesos de
desarrollo.
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
Ingeniería de Requisitos
septiembre 2013•
Terminología sobre requisitos
–
No hay un consenso claro sobre la terminología
relacionada con los requisitos.
–
Nosotros usaremos la misma que en CMMI-DEV*
Stakeholder
needs
Customer
requirements
Product
requirements
* Ver el tema de Introducción a la Ingeniería del Software de IISSI.
2 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
Introducción a la Ingeniería de Requisitos
Ingeniería de Requisitos
septiembre 2013
•
Terminología sobre requisitos
–
Stakeholder needs
•
Stakeholder
: clientes, usuarios finales, responsables
TIC,… cualquier persona con interés en el sistema a
desarrollar (o a mantener).
•
Las
stakeholders needs
son todas aquellas
necesidades, expectativas, restricciones, etc. que
tienen los
stakeholders
con respecto a (los procesos
de negocio de) su organización.
•
Puede que algunas necesidades estén por escrito en
informes internos, auditorias, etc., pero la mayoría
están implícitas en la mente de los
stakeholders
y a
veces ni siquiera son conscientes de ellas
.
•
También denominadas
necesidades de negocio,
necesidades de usuario, necesidades de cliente,
etc.
Stakeholder
needs
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
Ingeniería de Requisitos
septiembre 2013•
Terminología sobre requisitos
–
Customer requirements
•
Son las
stakeholder needs
una vez elicitadas
y especificadas en algún tipo de documento.
•
Deben estar expresadas en el lenguaje de los
stakeholders
, usando su vocabulario.
•
Suelen estar relacionados con los procesos de
negocio a los que el sistema a desarrollar debe dar
apoyo.
•
Deben estar priorizados, para poder organizar las
iteraciones en el desarrollo.
•
También denominados
requisitos de cliente,
requisitos de usuario, objetivos de negocio, etc.
Customer
requirements
4 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
•
Terminología sobre requisitos
–
Product requirements
•
Describen un sistema que debe satisfacer los
customer requirements
, a los que deben estar
trazados
.
•
Pueden usar un vocabulario más técnico que los
requisitos de cliente.
•
Suele empezarse por requisitos generales u objetivos
del sistema a desarrollar, y luego por requisitos más
detallados.
•
Los requisitos más detallados se suelen dividir en
requisitos funcionales y requisitos no funcionales.
•
También denominados
requisitos de sistema*,
requisitos software, o simplemente requisitos.
* Normalmente, cuando se habla de sistema, se incluye hardware y software.
Product
requirements
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
Ingeniería de Requisitos
septiembre 2013•
Terminología sobre requisitos
–
Product requirements
•
En sistemas muy complejos, el producto
puede dividirse en diferentes componentes o
subsistemas, cada uno con sus
product component
requirements
o
subsystem requirements
.
•
En esos casos, los requisitos suelen ser muy
técnicos.
Product
requirements
6 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
Ingeniería de Requisitos
septiembre 2013
•
Definiciones de requisito
–
Glosario IEEE 610.12
a) Una condición o capacidad que un usuario necesita para
resolver un problema o lograr un objetivo.
b)Una condición o capacidad que debe tener un sistema o un
componente de un sistema para satisfacer un contrato,
una norma, una especificación u otro documento formal.
c) Una representación en forma de documento de una
condición o capacidad como las expresadas en a) o en b).
–
Norma MIL-STD-498
•
Característica del sistema que es una condición para su
aceptación.
–
Goguen
•
Propiedad que un sistema debería tener para tener éxito
en el entorno en el que se usará.
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
Ingeniería de Requisitos
septiembre 2013•
Definiciones de requisito
–
Glosario IEEE 610.12
a) Una condición o capacidad que un usuario necesita para
resolver un problema o lograr un objetivo.
b)Una condición o capacidad que debe tener un sistema o un
componente de un sistema para satisfacer un contrato,
una norma, una especificación u otro documento formal.
c) Una representación en forma de documento de una
condición o capacidad como las expresadas en a) o en b).
–
Norma MIL-STD-498
•
Característica del sistema que es una condición para su
aceptación.
–
Goguen
•
Propiedad que un sistema debería tener para tener éxito
en el entorno en el que se usará.
¿A qué tipo de
requisito CMMI
corresponde cada
definición?
8 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
•
Tipos de requisitos (de producto)
Requisito general
(objetivo)
(detallado)
Requisito
Requisito
Requisito
funcional
Requisito no
funcional
Requisito de
información
Regla de
negocio
Caso de uso
Requisito de
fiabilidad
Requisito de
usabilidad
Requisito de
seguridad
Requisito de
interfaz
Restricción
técnica
…
…
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
Objetivos
–
Son requisitos generales, de alto nivel, denominados también
features o características cuando se trata de productos
orientados al mercado.
–
Enuncian una condición que deberá cumplir el sistema pero a
un nivel de detalle insuficiente como para que a partir de ellos
pueda implementarse una solución.
–
Ejemplos:
•
El sistema deberá gestionar los préstamos de los libros de la
biblioteca.
•
El sistema deberá permitir a los contribuyentes realizar su
declaración del IRPF a través de Internet.
Ingeniería de Requisitos
septiembre 2013
[ ]
Icono en
REM*
* Herramienta de documentación de requisitos que veremos en el laboratorio.
10 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
Introducción a la Ingeniería de Requisitos
•
Objetivos
–
Lo habitual en sistemas medianamente complejos es que los
objetivos se organicen jerárquicamente en subobjetivos a
distintos niveles.
–
Suele ser el primer nivel de requisitos que se obtienen en el
proceso de desarrollo. Posteriormente se van refinando para
obtener los requisitos detallados.
Ingeniería de Requisitos
septiembre 2013
[ ]
Icono en
REM*
* Herramienta de documentación de requisitos que veremos en el laboratorio.
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
Requisitos funcionales
–
Definen los servicios que debe ofrecer el sistema a los usuarios
para alcanzar los objetivos.
–
Tradicionalmente se han documentado como párrafos de texto
libre, por ejemplo:
•
El sistema deberá imprimir, a petición de los usuarios, un listado de
los préstamos cuyo plazo haya expirado al menos una semana
antes de la fecha actual.
–
Cada vez es más frecuente que gran parte de estos requisitos
se expresen mediante casos de uso, especialmente en el caso
de sistemas de información interactivos.
Ingeniería de Requisitos
septiembre 2013[ ]
12 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
•
Requisitos de (almacenamiento de)
información
–
Describen qué información debe almacenar el sistema para
poder cumplir los requisitos generales/objetivos de nivel
superior.
–
Deben identificar el concepto relevante sobre el que se debe
guardar información así como qué datos específicos relativos al
concepto son importantes para cumplir los objetivos del
sistema.
–
Ejemplo:
•
El sistema deberá almacenar la información correspondiente a los
préstamos realizados en la biblioteca. En concreto: el socio que
realiza el préstamo, el libro o los libros prestados, la fecha en la que
se realizó el préstamo y, para cada libro prestado, la fecha de
devolución prevista y la fecha de la devolución efectiva, si ésta se
ha producido.
concepto
relevante
datos específicos
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
Requisitos de reglas de negocio
(restricciones)
–
Definen restricciones, reglas o políticas del negocio que deben
ser respetadas por el sistema a desarrollar.
–
Ejemplos:
•
El sistema deberá respetar la siguiente regla de negocio: no se
podrán eliminar del sistema los datos correspondientes a un cliente
mientras éste tenga registradas facturas pendientes de pago o
pedidos pendientes de ser servidos.
•
El sistema deberá respetar la siguiente regla de negocio: un socio
de la biblioteca no puede tener en préstamo simultáneamente más
de 3 libros a la vez.
–
Suelen ser requisitos relativamente inestables, p.e. la sanción
por devolución tardía o el número máximo de préstamos
simultáneos en una biblioteca podría cambiar en el futuro
debido a cambios en la política de la biblioteca.
Ingeniería de Requisitos
septiembre 2013[ ]
14 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
•
Requisitos de interfaz
–
Definen qué interfaces debe usar el sistema cuando se
comunique con otros sistemas.
–
Ejemplos:
•
El sistema deberá acceder al Sistema Central de Recursos
Humanos a través de la Intranet corporativa mediante los servicios
web XML que se describen a continuación …
•
El sistema deberá ser capaz de comunicarse con dispositivos que
dispongan de interfaz inalámbrica Bluetooth.
•
El sistema deberá permitir a sus usuarios
acceder con su cuenta de Facebook.
•
El sistema deberá publicar la actividad de
los usuarios que lo soliciten en sus cuentas
de Twitter.
Ingeniería de Requisitos
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
Casos de uso
–
Son una forma de expresar requisitos funcionales en los que se
describe como se usaría el sistema a desarrollar por parte de uno
o más usuarios (denominados actores) para lograr un determinado
objetivo.
–
Ejemplo: Sacar dinero de un cajero automático
•
El sistema deberá comportarse tal como se describe en el siguiente
caso de uso:
1. El usuario introduce su tarjeta en la ranura del cajero automático.
2. El cajero automático solicita el PIN al usuario.
3. El usuario introduce el PIN.
4. El cajero solicita el tipo de operación a realizar.
5. El usuario selecciona la operación de sacar dinero.
6. El cajero solicita el importe.
7. El usuario introduce el importe.
8. El cajero solicita confirmación del importe.
9. El usuario confirma el importe.
10. El cajero devuelve la tarjeta al usuario.
11. El usuario retira su tarjeta.
12. El cajero imprime el recibo y proporciona el dinero.
13. El usuario retira el recibo y el dinero.
Ingeniería de Requisitos
septiembre 2013[ ]
16 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
•
Requisitos no funcionales
–
Son condiciones que se le imponen al sistema a desarrollar
relacionadas con aspectos principalmente de calidad:
usabilidad, rendimiento, disponibilidad, fiabilidad, seguridad,
compatibilidad con hardware o software, etc.
–
Ejemplos:
•
El sistema deberá soportar un máximo de 1000 usuarios
concurrentes sin que el tiempo de respuesta medio aumente más
de un 10%.
•
El sistema deberá funcionar en ordenadores personales con
sistema operativo Linux y entorno gráfico KDE.
•
El sistema deberá funcionar en un servidor AS/400 con la siguiente
configuración: …
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
Visión tradicional de los requisitos
–
Tradicionalmente se ha supuesto que la elaboración de los
requisitos era responsabilidad única del cliente.
–
Todos los procesos de desarrollo comenzaban con el análisis
de unos requisitos supuestamente proporcionados por el
cliente.
–
Esta es una de las razones que han provocado los problemas
identificados en los informes CHAOS.
–
Actualmente, se asume que la elaboración de los requisitos es
una responsabilidad compartida entre clientes, usuarios y
desarrolladores.
–
Esta nueva visión es la que ha llevado a
definir una ingeniería de requisitos.
Ingeniería de Requisitos
septiembre 2013 18 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
•
Problemas de comunicación
Ingeniería de Requisitos
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
Problemas de comunicación
Ingeniería de Requisitos
septiembre 2013Stakeholder
needs
Customer
requirements
requirements
Product
?
20 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
•
Problemas de comunicación
Stakeholder
needs
Customer
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
Ingeniería de requisitos
[Hsia et al. 1993]
–
Todas las actividades de la ingeniería de
sistemas/software relacionadas con:
•
Identificación y documentación de necesidades de
clientes y usuarios.
•
Creación de un documento que describe la conducta
externa y las restricciones asociadas [de un sistema]
que satisfarán dichas necesidades.
•
Análisis y validación del documento de requisitos
para asegurar consistencia, compleción y viabilidad.
•
Evolución de las necesidades.
Ingeniería de Requisitos
septiembre 2013Evaluación
Versiones
22 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
•
Ingeniería de requisitos
[Christel y Kang 1992]
–
El proceso sistemático de desarrollar requisitos
mediante un proceso iterativo y cooperativo de
analizar el problema, documentar las
observaciones resultantes en varios formatos de
representación y comprobar la precisión del
conocimiento obtenido.
Ingeniería de Requisitos
septiembre 2013Evaluación
Versiones
231. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
La IR en el ciclo de vida
–
La IR comienza con el proyecto y continúa durante
toda la vida del software.
–
Normalmente, el esfuerzo principal en IR se realiza
al comienzo del proyecto.
Ingeniería de Requisitos
septiembre 2013
Clientes y
Usuarios
Entregables
de Cambio
Peticiones
Desarrollo /
Mantenimiento de
Software
Equipo de
Desarrollo
de Requisitos
Ingeniería
de Requisitos
Ingeniero
Requisitos
24 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
•
Actividades básicas de la IR
Actividad con participación fundamental de clientes y usuarios
Elicitación
de Requisitos
Documentación
de Requisitos
Negociación
de Requisitos
Análisis de
Requisitos
Verificación
de Requisitos
Validación
de Requisitos
Gestión de
Requisitos
Obtener
información
Resolver
conflictos
Especificar
requisitos
Identificar
conflictos
Identificar
defectos
Asegurar consistencia
con intenciones de
clientes y usuarios
Controlar el proceso
y generar baselines
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
Modelo de procesos de IR
septiembre 2013
Ingeniería de Requisitos
Elicitación
de Requisitos
Información
elicitada
Documentación
de Requisitos
[borrador]
Requisitos
Análisis de
Requisitos
de Requisitos
Verificación
de Requisitos
Validación
Requisitos
[analizados]
Requisitos
[verificados]
Requisitos
[validados]
Gestión de
Requisitos
Requisitos
[versionados]
Defectos
Conflictos
[pendientes]
Negociación
de Requisitos
Conflictos
[resueltos]
26 1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1Introducción a la Ingeniería de Requisitos
•
Gestión de requisitos
–
La gestión de los requisitos se ocupa de:
•
Controlar el proceso de Ingeniería de Requisitos.
•
Generar el documento base (baseline) de requisitos.
•
Gestionar las peticiones de cambio en los requisitos.
•
Definir los atributos (metainformación) de los
requisitos.
•
Mantener la trazabilidad (rastreabilidad).
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
Gestión de requisitos
–
Documento base de requisitos (baseline)
•
Es un documento acordado con clientes y usuarios
que contiene todos los requisitos del sistema a
desarrollar conocidos en la fecha del acuerdo.
•
Cualquier petición de cambio posterior al acuerdo
debe seguir el procedimiento de control de cambios
acordado para el proyecto, pudiendo ser necesario
una modificación en los costes, recursos y fecha de
entrega inicialmente acordados.
•
Cuanto mejor sea el documento base de requisitos,
menos cambios deberían realizarse a lo largo del
proyecto y la probabilidad de cumplir los plazos y
presupuesto iniciales aumentaría.
septiembre 2013
Ingeniería de Requisitos
281. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos A m a d o r D u rá n T o ro , 2 0 1 1
Introducción a la Ingeniería de Requisitos
•
Peticiones de cambio en los requisitos
–
En el caso de que se generen peticiones de cambio en los
requisitos, el proceso a seguir suele ser:
1. Se registra la petición de cambio
(request for change
)
.
2. Se analiza el impacto del cambio.
3. El Comité de Control de Cambios (
Change Control Board
), formado
por clientes y desarrolladores, toma la decisión de aceptar o
rechazar el cambio en función del informe de análisis de impacto
del cambio.
4. Si se acepta el cambio, se revisan los acuerdos previos sobre
costes, recursos y fechas de entrega, se incorporan los cambios
oportunos en una nueva versión acordada del documento base de
requisitos y se hace un seguimiento del cambio en el resto del
desarrollo.
5. Si se rechaza el cambio, se registran las causas del rechazo y se
informa a los solicitantes.
–
Las peticiones de cambio suelen venir de clientes y usuarios
con nuevas necesidades, pero también pueden venir del
equipo de desarrollo por dificultades técnicas no previstas.
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
Atributos de los requisitos
–
Los requisitos no son únicamente el texto que describe la
condición que debe cumplir el sistema a desarrollar.
–
Los atributos habituales de los requisitos son:
•
identificador único (imprescindible para rastreabilidad)
•
versión y fecha
•
autores
•
fuentes (de información)
•
dependencias (trazas)
•
prioridad (importancia y urgencia)
•
estado (borrador, analizado, verificado, …)
•
estimación de estabilidad
•
comentarios
•
etc.
–
En función de las necesidades del proyecto, se pueden usar
otros atributos (coste, dificultad, etc.).
septiembre 2013
Ingeniería de Requisitos
301. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
Introducción a la Ingeniería de Requisitos
•
Rastreabilidad de los requisitos
–
La rastreabilidad, también denominada trazabilidad
(traceability), es una propiedad que permite conocer las
dependencias entre los distintos artefactos que se van
generando durante el desarrollo, incluyendo los requisitos.
–
Cada vez que se crea un nuevo artefacto (un objetivo, un
requisito, un elemento de modelado, un módulo, un fichero de
código fuente, una prueba, etc.) se debe registrar de qué
elementos de nivel superior y de su mismo nivel depende.
–
Es la única forma de poder realizar un análisis de impacto
cuando se solicita un cambio.
–
Cuando se produce un cambio en un artefacto, todos los que
dependen de él, tanto directa como indirectamente, están
expuestos a posibles cambios.
1. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos © D ise ñ o d e A m a d o r D u rá n T o ro , 2 0 1 1
•
Propiedades deseables de los documentos
de requisitos (I)
–
Comprensible por clientes, usuarios y desarrolladores.
–
Correcto, sin requisitos innecesarios o redundantes.
–
No ambiguo y con el nivel de precisión necesario.
–
Completo, que no falten requisitos y que todas las
respuestas del sistema a entradas tanto válidas como
inválidas estén especificadas.
–
Consistente, sin conflictos ni contradicciones entre los
requisitos o con documentos de nivel superior y con una
terminología única.
–
Verificable, que pueda comprobarse que el sistema final
cumple los requisitos mediante un proceso finito y de
coste razonable.
septiembre 2013
Ingeniería de Requisitos
321. El concepto de requisito 2. Tipos de requisitos 3. Visión tradicional de los requisitos 4. Definición de Ingeniería de Requisitos 5. El proceso de la Ingeniería de Requisitos 6. Gestión de Requisitos 7. Calidad de los Requisitos A m a d o r D u rá n T o ro , 2 0 1 1