Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IngenieriaRequisitos 1
IngenieriaRequisitos 1
Ingenieríía de Requisitos
Ingeniería
Ingeniería de Requisitos
Define un proceso
Facilita la comprensión de lo que quiere el cliente:
Analizando sus necesidades
Confirmando su viabilidad
Negociando la solución
Especificando la solución sin ambigüedad
Validando y Gestionando requisitos para que el sistema pueda ser
operativo.
2
Ingeniería del Software de Gestión
1
Ingeniería de Requisitos
4. Validación de requisitos
3
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Informe
Modelos Especificación
del
de
Sistema
Viabilidad
Requisitos
de Usuario Validación
y de Sistema
Documento de
Requisitos
Gestión de Requisitos
4
Ingeniería del Software de Gestión
2
Ingeniería de Requisitos
User requirements
specification
Business requirements
specification
System
Feasibility
requirements User
elicitation study
requirements
elicitation
Prototyping
Requirements
elicitation
Reviews Requirements
validation
System requirements
document
5
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Estudio de la Viabilidad
El estudio de viabilidad decide si vale la
pena desarrollar el sistema
¿Contribuye a los objetivos de la
organización?
¿Es factible con la tecnología actual en coste
y tiempo?
¿Puede integrarse con otros sistemas de la
organización?
6
Ingeniería del Software de Gestión
3
Ingeniería de Requisitos
Captura y Análisis
El equipo técnico trabaja con los usuarios
finales para determinar:
El dominio de la aplicación
Los servicios a ofrecer
Rendimiento esperado
Restricciones …
Puede implicar a varias personas o
stakeholders
7
Ingeniería del Software de Gestión
Ingeniería de Requisitos
4
Ingeniería de Requisitos
9
Ingeniería del Software de Gestión
Ingeniería de Requisitos
10
Ingeniería del Software de Gestión
5
Ingeniería de Requisitos
Implica:
Comprender el dominio de la aplicación
Comprender el problema en cuestión
Comprender el contexto del negocio
Comprender las necesidades y restricciones de los
usuarios finales
11
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Problemas de Comprensión:
Los clientes no están seguros de lo que necesitan
Los clientes no entienden totalmente el dominio del problema
Dificultades para comunicar las necesidades
Omisión de información por considerar que es obvia
Especificación de requisitos ambiguos, poco estables o contradictorios
Problemas de volatilidad:
Los requisitos que cambian con el tiempo
12
Ingeniería del Software de Gestión
6
Ingeniería de Requisitos
13
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Observación
Estándares
Estudio de la Captura
Viabilidad y Análisis
Modelos Especificación
Informe
del
de
Sistema
Viabilidad
Requisitos
Validación
Estudio de documentación
de Usuario
y de Sistema
Documento de
Requisitos
Gestión de Requisitos
Cuestionarios
Tormenta de ideas (Brainstorming)
ETHIC
14
Ingeniería del Software de Gestión
7
Ingeniería de Requisitos
15
Ingeniería del Software de Gestión
Ingeniería de Requisitos
8
Ingeniería de Requisitos
17
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Es importante la
No basta con forma en que se
hacer preguntas plantea la
conversación y la
relación que se
establece
9
Ingeniería de Requisitos
Problemas de Comunicación
DISCREPANCIA DE OBJETIVOS
BARRERAS DE COMUNICACION
MANTENIMIENTO DE LA MOTIVACION
19
Ingeniería del Software de Gestión
Ingeniería de Requisitos
10
Ingeniería de Requisitos
Factores a Considerar
COMUNICACION NO VERBAL
ESCUCHAR Y RESPONDER
VOCABULARIO
EXPRESION VERBAL
21
Ingeniería del Software de Gestión
Ingeniería de Requisitos
11
Ingeniería de Requisitos
Fases de la Entrevista
Preparación
Realización y Conducción
Análisis
23
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Preparación de la Entrevista
Investigar la situación
Ejemplo: TAE, Interés Nominal …
Identificar los entrevistados: top-down
Minimizar nº personas
Entrevista de Cortesía
Preparar el objetivo y el contenido
Planificar lugar y hora
Terreno neutral Material Auxiliar
Agenda del entrevistado
ENTREVISTA
Análisis Especificación Validación Gestión
Preparación Realización Análisis
24
Ingeniería del Software de Gestión
12
Ingeniería de Requisitos
ENTREVISTA
Análisis Especificación Validación Gestión
Preparación Realización Análisis
25
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Análisis de la Entrevista
Es la fase más descuidada
Requiere
Pasar notas a limpio
Reorganizar la información
Contrastar la información con otras
entrevistas o fuentes
Evaluar cómo ha ido la entrevista
Aspectos a mejorar
ENTREVISTA
Análisis Especificación Validación Gestión
Preparación Realización Análisis
26
Ingeniería del Software de Gestión
13
Ingeniería de Requisitos
27
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Justificación
Esfuerzo dedicado a la preparación, realización
y análisis de entrevistas
Contrastar opiniones encontradas ↑t
Todo el grupo puede actuar como revisor y
detectar defectos
Propugna una participación más profunda de
los usuarios en el proyecto
“ … el sistema que hemos construido …”
28
Ingeniería del Software de Gestión
14
Ingeniería de Requisitos
Fases
Adaptación o preparación:
Selección de los participantes
Recabar una cierta información
Organizar la reunión
Sesión
Elaboración del ERS (CASE)
Debe existir un responsable
Documentación
Refinar el resultado
Ejemplos
Joints Requirement Planning (JRP), Joints Application
Development (JAD), Sesiones de Trabajo
29
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Prototipado
Consiste en la elaboración de un modelo
o maqueta del sistema
30
Ingeniería del Software de Gestión
15
Ingeniería de Requisitos
31
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Ejercicio 1
32
Ingeniería del Software de Gestión
16
Ingeniería de Requisitos
33
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Especificación de requisitos
El objetivo de la Especificación de
Requisitos es obtener un documento de
especificación de requisitos (ERS)
Documento que define, de forma
completa, precisa y verificable los
requisitos que debe cumplir el sistema
tanto funcionales como no funcionales así
como las restricciones aplicables al diseño
(software y hardware)
[IEEE, 1990]
34
Ingeniería del Software de Gestión
17
Ingeniería de Requisitos
Especificación de requisitos
Características fundamentales
Debe incluir información veraz
Debe comunicar dicha información de
forma eficaz
Describir correctamente todos los
requisitos necesarios del software
No describir ningún detalle del diseño del
software, de su verificación o de la
dirección del proyecto que influyen en los
requisitos
El QUÉ y no el CÓMO
35
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Especificación de requisitos
Características deseable en una BUENA
especificación de requisitos
1. No ambigua.
2. Completa.
3. Fácil de verificar.
4. Consistente (coherente).
5. Clasificada por importancia o estabilidad.
6. Fácil de modificar.
7. Fácil identificación del origen y de las
consecuencias de cada requisito.
8. De fácil utilización durante la fase de explotación
y de mantenimiento.
36
Ingeniería del Software de Gestión
18
Ingeniería de Requisitos
Especificación de requisitos
NO AMBIGUA
Un requisito ambiguo se presta a diferentes interpretaciones
Una ERS es no ambigua si y solo si cada requisito tiene una
única interpretación
Es necesario definir términos, siglas o abreviaturas, cuando, en
función del contexto, pueden tener otros significados
(interpretaciones) en un glosario de términos
Requisitos especificados en lenguaje natural. Hay que prestar
atención a la redacción de los requisitos
Ejemplo: “Todos los registros de un fichero serán controlados
mediante un bloque de control de registro”
Un bloque controla todos los registros de un fichero
Cada registro tiene su propio bloque
Se controla cada registro mediante un bloque pero un bloque puede
controlar más de un registro
37
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Especificación de requisitos
COMPLETA
Incluye no solo los requisitos funcionales sino
también los no funcionales (seguridad, rendimiento,
operacion, documentación, fiabilidad,
disponibilidad...etc.) así como restricciones de diseño
y construcción (software y hardware)
Define la respuesta del software tanto para entradas
válidas como no válidas
Es conforme con estándares y procedimientos
definidos y aprobados en la organización
Requisitos incompletos definición de las causas,
descripción de acciones para cambiar su estado y
seguimiento (TBD)
38
Ingeniería del Software de Gestión
19
Ingeniería de Requisitos
Especificación de requisitos
CONCISA
Una ERS no debe incluir información adicional
que no proporcione valor en la comprensión de
un requisito
Prestar especial cuidado en la redacción de los
requisitos
Evitar repetir información que existe en otros
documentos
Incluir referencias a otros documentos
39
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Especificación de requisitos
FACIL DE VERIFICAR
Una ERS es fácil de verificar sii para cada requisito
existe un procedimiento finito y efectivo en coste para
que una persona o máquina compruebe que el software
satisface dicho requisito
40
Ingeniería del Software de Gestión
20
Ingeniería de Requisitos
Especificación de requisitos
CONSISTENTE
Una ERS es consistente sii ningún conjunto de
requisitos son contradictorios o entran en conflicto
Tipos de conflicto:
1. Dos o más requisitos describen el mismo objeto real pero
utilizan términos distintos para designarlo
2. Conflicto en las características especificadas sobre los objetos
reales (p.e. un requisito establece que todas las luces han de
ser azules y otro verdes)
3. Conflicto lógico o temporal entre dos acciones determinadas
(p.e. un requisito establece la suma de dos entradas y otro la
multiplicación)
41
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Especificación de requisitos
FACIL DE MODIFICAR
Una ERS es fácilmente modificable si su
estructura y estilo permiten que cualquier
cambio se pueda realiza fácil, completa, y
consistentemente
Debe ser mínimamente redundante. Cada
requisito debe aparecer sólo en un lugar
Es posible la redundancia con objeto de facilitar la
compresión de los requisitos, pero supone
problemas de consistencia al modificar
Mejor crear referencias cruzadas entre los
requisitos
42
Ingeniería del Software de Gestión
21
Ingeniería de Requisitos
Especificación de requisitos
FACILMENTE TRAZABLE
Una ERS facilita las referencias con otros
productos del ciclo de vida si:
Establece un origen claro para cada uno de los
requisitos (hay referencias hacia atrás)
Posibilita la referencia de estos requisitos con
productos de trabajo futuros dentro del ciclo de vida
(hay referencias hacia adelante)
Cada requisito debe tener un número de
referencia único que lo identifique sobre los
demás
43
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Especificación de requisitos
PRIORIZADA
Todos los requisitos de la especificación
deberían tener un nivel de prioridad establecido
No todos los requisitos tienen la misma
importancia
Por ejemplo clasificar la prioridad de los requisitos
como M (obligatorio), D (deseable) y O (optativo),
o de asingnandoles una prioridad de 0 a 10
La priorización de los requisitos es conveniente
para planificar correctamente el alcance de los
proyectos en cada fase o iteración de su
desarrollo
44
Ingeniería del Software de Gestión
22
Ingeniería de Requisitos
Especificación de requisitos
FACILIDAD DE USO
El personal de mantenimiento y explotación no
participa en el desarrollo
Para soportar los cambios, incluir registro
Criticidad de cada componente
Origen
45
Ingeniería del Software de Gestión
Ingeniería de Requisitos
46
Ingeniería del Software de Gestión
23
Ingeniería de Requisitos
Ingeniería de Requisitos
24
Ingeniería de Requisitos
49
Ingeniería del Software de Gestión
Ingeniería de Requisitos
Validación de Requisitos
50
Ingeniería del Software de Gestión
25
Ingeniería de Requisitos
Validación de Requisitos
Especificación
VERIFICACIÓN DE
REQUISITOS
REVISIÓN
ERS Verificada
ERS
VALIDACIÓN DE
y Validada
REQUISITOS &Técnicas de Revisión
(Formales, informales)
Comprobar que la ERS se &Uso de Listas de
ajusta a las necesidades del comprobación
cliente/usuario y otros &Acciones correctivas
interlocutores para eliminar defectos
51
Ingeniería del Software de Gestión
Ingeniería de Requisitos
52
Ingeniería del Software de Gestión
26
Ingeniería de Requisitos
Ingeniería de Requisitos
Requisitos Requisitos
Inciales Cambiados
Tiempo
27
Ingeniería de Requisitos
55
Ingeniería del Software de Gestión
Ingeniería de Requisitos
28
Ingeniería de Requisitos
57
Ingeniería del Software de Gestión
Ingeniería de Requisitos
58
Ingeniería del Software de Gestión
29
Ingeniería de Requisitos
59
Ingeniería del Software de Gestión
Ingeniería de Requisitos
60
Ingeniería del Software de Gestión
30
Ingeniería de Requisitos
Problema Requisitos
Identificado Análisis del Problema Análisis del Cambio Implementación Revisados
y Especificación y del
del Cambio Cálculo de Costes Cambio
61
Ingeniería del Software de Gestión
Ingeniería de Requisitos
31
Ingeniería de Requisitos
Línea Base
Conjunto de requisitos funcionales y no-
funcionales que el equipo del proyecto se ha
comprometido a implementar en una release
específica
Una versión aprobada de la especificación de
requisitos del software
63
Ingeniería del Software de Gestión
Ingeniería de Requisitos
32
Ingeniería de Requisitos
65
Ingeniería del Software de Gestión
Ingeniería de Requisitos
ENVIADA
EVALUADA RECHAZADA
CAMBIO CANCELADO
APROBADA
FALLADA
VERIFIC.
CAMBIO CANCELADO
CAMBIADA CANCELADA
LOS PRODUCTOS
HA INSTALADO
MODIFICADOR
VERIFICADA
CAMBIO CANCELADO
CERRADA
Análisis Especificación Validación Gestión
66
Ingeniería del Software de Gestión
33
Ingeniería de Requisitos
67
Ingeniería del Software de Gestión
34