Ingenieria Requisitos
Ingenieria Requisitos
Ingenieria Requisitos
Profesional
Formación para “Profesional certificado en ingeniería
de requerimientos – nivel básico ireb”
De acuerdo al programa de estudios versión 2.1
(O 1,03,20 11) ireb
Version esp 1,0
0 – generalidades
01 contenido
• Organización
– Agenda, descansos, cuide de las instalaciones
– Por favor, apague su móvil o manténgalo en silencio.
• Presentación de los participantes y el formador
– Datos personales (nombre, formación)
– Compañía, puesto y experiencia general (proyectos
actuales)
– Experiencia en ingeniería de software e ingeniería de
requisitos.
0 – generalidades
01 contenido
El Curso
• Presenta los conocimientos fundamentales de Ingeniería de
Requerimientos (IR)
• Conforma la base de la preparación del examen “Profesional
Certificado en Ingeniería de Requisitos – Nivel Básico” de aceurdo
con el IREB.
Principales objetivos de la formación del Profesional Certificado en IR
• Enseñar la función y alcance de la IR
• Desarrollar una comprensión general de la IR
• Adquirir los conocimientos necesarios en el ámbito teórico y
práctico
• Explicación de términos
• Los participantes del curso pueden asociar la IR con los aspectos
prácticos de su entorno de trabajo
0 – generalidades
02 estructura
Documentos de apoyo
• Diapositivas de la presentación
• Ejercicios
• Lista de referencias (véase Capitulo X-
Apéndice)
I – introducción
00 contenido
Capítulo 1 - Introducción
• 1/01 Síntomas y razones de una Ingeniería de
Requisitos (IR) inapropiada
• 1/02 Las cuatro actividades principales de la IR
• 1/03 El papel de la comunicación en la IR
• 1/04 Características de un ingeniero de requisitos
• 1/05 Los tres tipos de requisitos
• 1/06 Entendiendo el rol de los requisitos de
calidad
I – introducción
01 síntomas y razones de una ingeniería de requisitos (ir) inapropiada
Causas de proyectos
fallidos 10,6%
falta de 13,1%
8,7%
recursos requisitos
problemas
incomplet
técnicos
9,9% 8,7% os 12,4%
requisitos cambio en falta de
no 8,7% falta implicació
requisitos
realistas de gestión n del
8,7%
8,1% ausencia de TI usuario
ausencia
de 7,5% el
de apoyo
planificación producto
de la
queda
dirección
obsoleto
Causas de proyectos
fallidos
Objetivos
Inciertos Requisitos en
constante
cambio
Diferentes
usos del Desafíos
lenguaje
para el Requisitos
análisis de de poca
requisitos calidad
Planificación
poco precisa
Atributos
Alta innecesari
complejid os
ad
I – introducción
01 síntomas y razones de una ingeniería de requisitos (ir) inapropiada
Requisitos de poca calidad
Requisitos faltantes
• Porque es “obvio” (requisitos implícitos)
• Porque se debe hacer de inmediato…
• Porque no se han utilizado todas las fuentes de información
Requisitos incorrectos
• Porque se han utilizado fuentes de información incorrectas/equivocadas
Contradicciones
Redundancias
• Hacen más difícil el mantenimiento – los cambios en los requisitos se
deben mantener también de forma redundante
Ambiguos
Conducen a múltiples interpretaciones
Diferentes enfoques
Distintas características culturales y de formación (background)
conducen a interpretaciones distintas
I – introducción
01 síntomas y razones de una ingeniería de requisitos (ir) inapropiada
Relevancia de la IR en proyectos
• Incremento de los costos de los defectos
– Definición de requisitos 1
– Programación 20
– Aceptación 100 según [BOEHM81]
• Requisitos completos y de alta calidad son la base
para el éxito de un proyecto
• Los requisitos faltantes deben ser detectados de
forma temprana
• A través de IR se identifican los riesgos y pueden ser
tratados de forma temprana
I – introducción
02 las cuatro actividades principales de la ir
1. Elicitar (elicit)
– Extraer información/requerimientos utilizando diferentes técnicas
– Identificar, detallar y refinar
2. Documentar (document)
– Definir la forma de documentar (lenguaje natural o modelado)
adecuado para el proyecto
3. Verificar y ajustar (verify and adjust)
– Asegurar la calidad en una fase tem`rana
4. Administrar (manage)
– Estructurar y organizar los requerimientos, gestionar su
disponibilidad, modificar los requerimientos de forma consistente e
implementarlos en el proyecto.
I – introducción
02 las cuatro actividades principales de la ir
La IR en distintos modelos de proceso
Inicio
– Modelo de cascada
Análisis
• Proceso secuencial
• IR en fases tempranas del proyecto (antesDiseño
del diseño)
Implementa
• Baja volatilidad de requisitos ción
Desplieg
– Modelo Ágil (XP, Scrum…) ue
Uso
• Los requerimientos se obtienen cuando van a ser implementados
• Alta volatilidad de requisitos
• Incorporación (cercana) del cliente/consumidor al proceso
– Iterativo-incremental
• IR es una actividad continua
• La planificación del proyecto y los requisitos están fuertemente
vinculadas
• Por ejemplo: Rational Unified Proces (RUP)
I – introducción
03 el papel de la comunicación en la ir
Legislador /
Abogados
I- Introducción
04 Las cuatro actividades principales de la IR
Características necesarias del ingeniero
dePorrequerimientos (1) (autoconfianza)
una parte seguridad en sí mismo
Habilidades de comunicación
6
• Ser capaz de expresarse en el lenguaje del cliente/usuario.
• También a nivel internacional.
I- Introducción
05 Los tres tipos de requisitos
• Restricciones (“constraints”)
Una restricción es un requerimiento (de carácter técnico u
organizativo) que limita el enfoque de la solución.
• No pueden estar influenciadas por las personas involucradas en el
proyecto.
• Se refieren al sistema y a procesos de la organización.
• No son parte de la implementación pero la limitan/condicionan.
Clasificaciones alternativas
Significado y consecuencias
• Los requisitos de calidad normalmente son documentados por
medio de lenguaje natural.
• Normalmente integrados/incorporados en “requisitos
funcionales”
• Por ejemplo, parte de una frase en una
especificación de caso de uso,
restricciones en un diagrama UML.
• A pesar de estar implícitos, se debe asegurar la trazabilidad y
testeabilidad de los requisitos de calidad.
• La testeabilidad requiere la cuantificación de los requisitos de
calidad.
• Determina principalmente la arquitectura del sistema (fases
II- Definición de sistema y contexto
00 Contenido
Alcance (“Scope”)
Todo aquello que se encuentre dentro del alcance está sujeto a cambio dentro del
proyecto.
• Las zonas grises entre el alcance y contexto hacen la delimitación del alcance lo
más importante.
Interfaces
• Físicas: por
Alcance del
ejemplo sistema
teclado,
pantalla. (futuro
• Lógicas: datos
de entrada, sistema)
datos de
Sistemas
Sistemas salida
vecinos
vecinos • Físicas: por ejemplo teclado,
pantalla.
• Lógicas: datos de entrada, datos de
salida
Entorno irrelevante Límite del contexto
II- Definición de sistema y
contexto
02 Especificación de la frontera del sistema y frontera del
contexto.
Límite del sistema (“system boundary”)
El límite del sistema separa el sistema de su ambiente. En él se definen los
aspectos que se pueden cambiar en el proceso de desarrollo en oposición a
aquellas partes de la realidad que no pueden ser modificadas durante la
implementación.
• Todo aquello dentro del límite del sistema es modificable.
• Las fuentes de información y los receptores de información pueden ser el
punto de inicio del sistema, por ejemplo, qué interacciones tienen lugar entre
la persona y la máquina o entre el software y el hardware.
Zonas grises
• Con frecuencia, el límite del sistema no puede ser determinado de forma
clara al comienzo del proceso de ingeniería de requerimientos.
• La zona gris puede desplazarse (cambiar) a lo largo del proyecto:
asuntos/elementos que fueron parte del contexto se transforman en
asuntos/elementos que debe tratar el sistema, por ejemplo una interface.
II- Definición de sistema y
contexto
02 Especificación de la frontera del sistema y frontera del
contexto.
Límite del sistema (“context boundary”)
El límite del contexto separa la parte relevante del ambiente de un
sistema a ser desarrollado de los aspectos irrelevantes (Los aspectos
irrelevantes no influyen en el futuro sistema y no es necesario
tenerlos en consideración durante la definición de requisitos).
• Con frecuencia, el límite del contexto no se puede determinar de
forma clara al comienzo del proyecto, también es una zona gris.
• Cuando se aborda un tema/asunto, no siempre está claro si tiene
alguna relación con el futuro sistema o no. Este hecho debe ser
tenido en cuenta para ser resuelto durante el proyecto.
• La zona gris se puede desplazar a lo largo del proyecto.
Restaurant
e
Realizar
orden
Pagar
Cliente de factura
restaurante
Frontera del
sistema
II Definición de sistema y contexto
03 Documentación de Contexto del Sistema
NOMBRE
II Definición de sistema y contexto
04 Resumen
• El limite del contexto es la parte de la realidad que influye sobre el
sistema a ser desarrollado y sus requerimientos (aspectos que son
relevantes al sistema y ala definición de los requisitos).
• El limite del sistema define el alcance del sistema que será
construido.
• La definición del alcance también define el contexto como la suma
de aspectos “no modificables” que influyen en los requisitos.
• Los cambios en el contexto afectan la definición de los requisitos
• Las zonas grises son aspectos difusos a lo largo del limite del
contexto o a lo largo de la frontera del sistema.
• Formas de documentar el contexto del sistema; Diagramas de Casos
de Uso, Diagramas de flujo de datos.
III- Obtención de requisitos
00 Contenido
Capitulo II – Obtención de requisitos
Entregar Tomar
Eféctivo cantidad fotografía
III- Obtención de requisitos
01 Fuentes de requisites
Interesados (Ejemplos)
-Organización contratante/cliente
Espera una solución satisfactoria por dinero
Aporta las condiciones básicas/fundamentals (tiempo, esfuerzo, dinero)
Socio contractual con responsabilidad en la aceptación
Sub grupos usuario operador, comprador, controlador.
-Jefe de product (“Product manager”)
-Responsible del éxito del negocio (costos/beneficios)
-Evalua soluciones alternativas
-Marketing/ ventas
Introducción del producto en el mercado
Contacto con clientes potenciales, acuerdos con socios
Ejercicio: Discutir los objetivos de un jefe de calidad, un desarrollador, jefe de proyecto,..
¿Sus on¡bjetivos pueden ser divergentes?
III- Obtención de requisitos
01 Fuentes de requisitos
Trabajo con los interesados
• Convertir a los participantes involucrados
en participantes comprometidos
• Descubrir las motivaciones individuales de
los implicados
• Aportar la atención adecuada a los
conceptos del negocio tratados
• Asegurar el flujo de información
• Formas de comunicación
III- Obtención de Requerimientos
02 Clasificación de requerimientos según el modelo
Kano
Clasificación del Kano/2
• No es una clasificación realizada por una persona, demanda una amplia base
(numero de personas para obtener los requisitos)
III- Obtención de Requerimientos
02 Clasificación de requerimientos según el modelo
Kano
Atributos
• Atributos básicos: requerimientos cuya implementación es necesaria para
introducirse en el mercado
• Son asumidos, no explicados
Cuestionarios: preguntas predefinidas (papel, online) para que sean respondidas por
los interesados
• Adecuada porque
• Puede ser abordada una amplia base de interesados
• Bajo costo
• Requiere poco tiempo
• Inadecuada porque
• Captura solo conocimiento explicito
• Es necesario combinar con otras técnicas de elicitación
• Consume alto tiempo para la preparación
III- Obtención de Requerimientos
03 Técnicas de elicitación de requerimientos
Técnicas creativas (“creative techniques”)
• También Método de Walt Disney (“Walt Disney Method”) (soñador, realista, crítico)
III- Obtención de Requerimientos
03 Técnicas de elicitación de requerimientos
Técnica creativa – Cambio de perspectiva (2)
• Después del cambio – evaluación y análisis de los resultados.
• Adecuada para
• Resolución de estado de tablas/ estancamiento/ punto muerto
• Inadecuada porque
• Requiere una muy buena moderación
• Difícil con participantes introvertidos, conservadores
III- Obtención de Requerimientos
03 Técnicas de elicitación de requerimientos
Técnicas basadas en la documentación (Orientadas al pasado)
• Uso de soluciones/experiencias de otros sistemas.
• Emplear la funcionalidad detallada de un sistema existente
• Adecuada para
• Empelar todas las funciones
• Requisitos muy detallados, incluyendo factores básicos y factores de desempeño
• Inadecuada porque
• Se podrían tener en cuenta funciones ineficientes
• La validez de los requisitos se debe poner en duda / cuestionar
III- Obtención de Requerimientos
03 Técnicas de elicitación de requerimientos
Arqueología de Sistemas
• Extracción de información requerida para construir un sistema nuevo de la
documentación o implementación (código) de un sistema anterior.
Reutilización de requisitos
• Ahorro de costes cuando interesados previos y actuales son principalmente los
mismos.
• Adecuada para
• Escudriñar elementos desconocidos de tal manera que puedan ser identificados
procesos ineficientes {puntos débiles / puntos ciegos (“blind spots”)}
• Elicitación de requisitos muy detallados
• Percepción de factores básicos
• Inadecuada porque
• Peligro de que procesos ineficientes sean documentados
• Percepción de factores de desempeño tiende a ser difícil
III- Obtención de Requerimientos
03 Técnicas de elicitación de requerimientos
Técnicas de observación (“observation techniques”)
Aprendizaje (“apprenticing”)
• El ingeniero se requisitos (aprendiz aprende las tareas desarrolladas por los
interesados y con ello adquiere un nivel de conocimiento detallado)
• Los requisitos son deducidos del conocimiento adquirido
• Adecuada cuando
• Los implicados no se encuentran bajo presión
• Los implicados no se pueden expresarse de forma adecuada
• El analista debe admitir “debilidad” (falta de conocimiento), ventaja psicológica
• Inadecuada porque
• Alto consumo de tiempo y costes
• Procedimientos de trabajo muy complejos que no son susceptibles de ser aprendidos
rápidamente o sometidos a peligros (por ejemplo la policía)
• Requiere un profesor / tutor adecuado
• III – Obtención de requisitos
03 Técnicas de elicitación de requerimientos
Técnicas de apoyo (“supporting techniques”)
Complementan las técnicas discutidas en el presente capítulo
• Talleres de trabajo: apoyo a la funcionalidad del sistema, por
ejemplo la definición de interfaces de usuario para garantizar la
usabilidad del sistema
- Construcción del sistema de acuerdo a los flujos de trabajo
necesarios
• Tarjetas CRC (Class Responsibility Colaboration)
– Creación de una tarjeta por tema /asunto (índice) y determinación de
• Contexto, relaciones, atributos y responsabilidades
• Grabaciones: audio/video. Cuando el presupuesto es limitado o
cuando el sistema es altamente crítico
• Modelado de casos de uso (“use case modeling”)
• Prototipado(“prototyping”)
– Creación de GUI con tarjetas para los elementos del menú
– Creación de prototipos funcionales
III – Obtención de requisitos
tarjeta Sistema fuente
Estado de cuenta
Retirada de dinero
PIN autentificación
Cajero
automátic
o
mantenibilidad
Acero inoxidable
• Incidencias abiertas
• Productos comerciales de distribución masiva
(“COTS”)
• Nuevos retos
• Tareas
• Migraciones al nuevo producto
• Riesgos
• Costes
• Documentación de usuario y formación
• Lista de existencias
• Ideas para soluciones
IV – Documentación de requisitos
03 Estructura del documento
Ejemplo – ISO/ IEC/ IEEE 29148:2011
1. Introducción
(Anexo A) 3. Capacidades, condiciones y
restricciones del sistema
1.1 Objetivo del sistema
3.1 Físicas
1.2 Alcance del sistema 3.1.1 Construcción
1.3 Definiciones, acrónimos y abreviaturas 3.1.2 Durabilidad
1.4 Referencias 3.1.3 Adaptabilidad
1.5 Visión general del sistema 3.1.4 Condiciones de entorno
3.2 Características de rendimiento del
2. Descripción general del sistema
sistema 3.3 Seguridad del sistema
2.1 Contexto del sistema 3.4 Gestor de la información
2.2 Alcance del sistema 3.5 Operaciones del sistema
2.3 Principales capacidades del sistema 3.5.1 Factores humanos del
sistema
2.4 Principales condiciones del sistema 3.5.2 Mantenibilidad del sistema
2.5 Principales restricciones del sistema 3.5.3 Fiabilidad del sistema
2.6 Características de los usuarios 3.6 Normativa y regulación
2.7 Suposiciones y dependencias 3.7 Mantenimiento de ciclo de vida del
sistema
2.8 Escenarios de operaciones
4. Interfaces del sistema
IV – Documentación de requisitos
03 Estructura del documento
Ejemplo – IEEE 830 – 1998 (Anexo A) /1
1. Introducción
1.1 Objetivo
1.2 Alcance
1.3 Definiciones, acrónimos y abreviaturas
1.4 Referencias
1.5 Visión general
2. Descripción general
2.1 Perspectiva del producto
2.2 Funciones del producto
2.3 Características de usuario
2.4 Restricciones
2.5 Suposiciones y dependencias
IV – Documentación de requisitos
03 Estructura del documento
Ejemplo – IEEE 830 – 1998 (Anexo A) /2
3. Requisitos específicos 3.2.m.n Requisito funcional
3.1 Requisitos de interfaces externas m.n
3.1.1 Interfaces de usuario
3.1.2 Interfaces hardware
3.3 Requisitos de
3.1.3 Interfaces software
rendimiento
3.1.4 Interfaces de 3.4 Restricciones de diseño
comunicación
3.2.1 Usuario clase 1 3.5 Atributos del sistema
3.2.1.1 Requisito funcional software
1.1
3.6 Otros requisitos
El estándar IEEE 830
…
3.2.1.n Requisito funcional
ofrece distintas
1.n posibilidades de
3.2.2 Usuario clase 2 estructurar el capitulo 3.
Ejemplo: Organización
3.2.m Usuario clase m
basada en clases de
3.2.m.1 Requisito funcional usuarios
m.1
IV – Documentación de requisitos
03 Estructura del documento
Individuo
Percepción
Requisito Especificado
Expresión en un
• Características
lenguaje
• Imagen completa
Perdida de información
Realidad
• Sin sesgo
Transformación de lo Transformación en la
percibido expresión
Perdida de información
InnovaSys
V – Documentación en lenguaje
natural
01 Efectos relacionados con el lenguaje
Transformación de la información Información
adicional
Transformación (de acuerdo PNL *, programación neurolingüística)
1. Generalización
2. Selección
3. Distorsión
La perdida de información se debe a la transformación que puede ser
compensada por técnicas de prospección adecuadas.
1. Generalización
Generalización de la experiencia
Ejemplo: El tren siempre llega tarde.
Pregunta: ¿El tren llegará un 10% mas tarde?
Pregunta: ¿El tren llego tarde todos los días de la semana pasada?
InnovaSys
V – Documentación en lenguaje
natural
01 Efectos relacionados con el lenguaje
Información
adicional
2. Selección
InnovaSys
V – Documentación en lenguaje
natural
01 Efectos relacionados con el lenguaje
Información
adicional
3. Distorsión
- Remodelado de la experiencia.
- Todas las formas de trabajo creativo (palabra clave artístico) son
distorsiones.
- Todo aquello que no ha existido previamente es el resultado de un
trabajo creativo.
InnovaSys
V – Documentación en lenguaje
natural
01 Efectos relacionados con el lenguaje
InnovaSys
V – Documentación en lenguaje natural
01 Efectos relacionados con el lenguaje
2. Uso de sustantivos sin índice de referencia
Ejemplos
Las cuestiones que surgen son: Que datos exactamente? Qué usuario
exactamente? Qué terminal exactamente?
Ejemplo
Palabras a las que hay que prestar atención son: si, entonces, a
InnovaSys
continuación, en caso de.
V – Documentación en lenguaje
natural
01 Efectos relacionados con el lenguaje
4. Condiciones definidas de forma incompleta
Ejemplo
Ejemplo
Legalmente Obligatorios.
Recomendados como urgentes.
Futuros.
DEBE <proceso
>
EL Proporcionar <whom?>
DEBER
SISTE con la capacidad de
Á <proceso>
MA
SERÁ Ser capaz
de
– Ejemplo: El sistema deberá poder<proceso>
imprimir.
V- Documentación del lenguaje
natural
02 Construcción de requisitos utilizando plantillas de frase
Observaciones para el desarrollo de documentos.
• Los requisitos deberán ser claramente diferenciados respecto
de los requisitos relacionados con la información.
• Incidencias/ asuntos abiertos (a definir) son requisitos que aun
no deben ser definidos.
DEBE PROCES
O Detalles
Proveer adiciona
EL
DEBER <quien> con <objeto les del
SISTE la habilidad > <objeto
ÍA para
MA <proceso>
>
DEBER Ser capaz de
Á <proceso>
• Ejemplo 4: El sistema deberá ofrecer posibilidades de imprimir recibos.
V- Documentación del lenguaje
natural
02 Construcción de requisitos utilizando plantillas de frase
05 Incluir las condiciones lógicas y
temporales.
• Condición temporal:
– Tan pronto como, después de, durante, antes.
• Condición lógica:DEBE PROCES
Detalles
O
– Cae (no;
Cuando, EL if) Proveer adiciona
Bajo que DEBER <quien> con <objeto les del
condicione
SISTE la habilidad > <objeto
ÍA para
s MA <proceso>
>
DEBER Ser capaz de
Á <proceso>
Ejemplo 5: “Tras concluir el registro y si el usuario cuenta con autorización el sistema deberá ofrecer la
posibilidad de imprimir la factura.”
Recordar: Solo es posible utilizar plantillas cuando el equipo está dispuesto a aceptarlas
Este método debe hacerse familiar a través de formación/ entrenamiento.
VI. Documentación basada en modelos.
00 Contenido
Modelo
Un modelo es una imagen abstracta de la realidad existente o de la realidad a desarrollar.
3 características de los modelos:
• Características de representación: representa aspectos de la realidad en los que se debe
centrar el foco
– Relacionadas con circunstancias existentes o dirigidas al futuro.
• Características de abstracción: Filtrado de factores de interés de la realidad:
– Extracción selectiva de aspectos particulares.
– Agrupar aspectos para representar una imagen conceptual.
• Característica pragmáticas: Los modelos son desarrollados para servir a un objetivo, fundamentalmente en
un contexto específico, con uso específico.
VI. Documentación basada en modelos.
01 El término “modelo”
• Modelos de requisitos.
Describen aspectos específicos de problemas subyacentes, por ejemplo con UML*.
Ventajas de los modelos conceptuales:
1. La representación ilustrada mejora la comprensión de los aspectos mostrados al
lector.
2. Perspectiva dirigida: Los modelos particulares UML tienen un foco específico y
apoyan distintas perspectivas de documentación.
3. Apoyan la abstracción de la realidad: a través de la recomendación del modelo
abstracto del lenguaje modelado.
La combinación del lenguaje natural cuenta con las ventajas respectivas:
Modelos de objetivo
• Fundamento: Consideración de la intención de un único implicado.
– Esfuerzo reducido, amplio efecto.
• Objetivos: Descripción intencional de una característica de calidad
del sistema que es necesaria para un implicado especifico.
• Apropiado para detallar los objetivos por descomposición de
objetivos.
– Lenguaje natural, descomposición Y/O.
DESCOMPOSICION O DESCOMPOSICION Y
Objetivo Objetivo
Sub Ojetivo1 Sub Ojetivo2 Sub Sub Ojetivo1 Sub Ojetivo2 Sub
Ojetivo3 Ojetivo3
VI. Documentación basada en modelos.
03 Casos de uso
Casos de uso
• Documentación de la funcionalidad de un sistema con la ayuda de los modelos
sencillos.
• Se basa en dos conceptos:
• Diagrama de casos de uso.
• Especificación de casos de uso.
• Un caso de uso presenta las funcionalidades (de un sistema) desde el punto de vista
del usuario sus relaciones recíprocas así como como relaciones entre el sistema y su
entorno.
• Un especificación de caso de uso describe las interacciones de un actor con el
sistema asociados a su secuencia temporal y orientadas a objetivos. Su comienzo
tendrá lugar a partir de un disparador funcional y al final se logrará un resultado
definido de valor funcional.
• En general, el caso de uso será iniciado por un actor.
• En general, el resultado es importante para el actor.
VI. Documentación basada en modelos.
03 Casos de uso
Uso de plantillas
• Descripción en forma de texto apoyada por atributos
a especificar.
• Atributos típicos (ejemplo de [BASIS]):
1. Identificador único.
2. Nombre del caso de uso
3. Autores
4. Prioridad Para la implementación, para el cliente.
5. Criticidad (valoración del daño por anomalía).
6. Fuente
7. Responsable
VI. Documentación basada en modelos.
03 Casos de uso
1. Descripción (corta)
2. Evento desencadenante.
3. Actores.
4. Precondición.
5. Post condición.
6. Resultado.
7. Escenario principal
8. Escenarios alternativos.
9. Escenarios de excepción.
10.Calidad
11.Diseño de interfaz grafica(presentación).
VI. Documentación basada en modelos.
03 Casos de uso
Evaluación
Apropiado
de casos de uso
• Descripción desde la perspectiva del usuario (contexto), hacer el
caso de uso legible para el usuario.
• Ideal para enfoques descendentes (“top-down”).
• Múltiples aplicaciones (procesos de negocio, descripción del
sistema).
• Medio de estructurar especificaciones del lenguaje natural.
No Apropiado
• No es posible un alto grado de detalle, de otro modo seria muy
complejo.
• Requiere detalle adicional con otras notaciones.
• Los requisitos no funcionales pueden ser representados en una
forma limitada (por ejemplo extensibilidad).
VI. Documentación basada en modelos.
04 Tres perspectivas hacia requisitos
• Perspectivas de modelado
– Perspectiva estructural.
• Diagramas de clase UML.
• Diagrama entidad- relación.
• Glosario.
– Perspectiva funcional
• Diagrama de actividad UML.
• Diagrama de secuencia UML.
• Diagrama de flujo de datos.
• Cadenas de procesos dirigidas por eventos.
– Perspectiva de comportamiento
• Diagramas de estado
• Tablas de decisión.
– Las diferentes perspectivas son complementarias.
– Muestran información cuya completitud puede ser evaluada con
respecto a otras perspectivas
VI – Documentación basada en
modelos
05 Modelado desde la perspectiva estructural
Tipo de entidad
Vehículo
Representa un numero de entidades del mismo tipo
Tipo de relación
Representa un numero de relaciones similares
empleado Emp-Nombre
1
Emp- Número
toma
n
Pertenece 1 1
a
orden
contiene precio
n
(1,n)
mesa PLU-número
articulo
1
nombre nombre
Reservada
para
(1,n) reserva
cliente
comida bebida alcohólico
VI – Documentación basada en
modelos
05 Modelado desde la perspectiva estructural
Diagrama de clases UML
• Presentación de las estructuras del sistema con los medios de UML
• Presentación de clases y las asociaciones entre ellas
• Elementos adicionales del modelo(atributos y su visibilidad,
operaciones)
vehículo Clase
Tipo coche: String
Numero coche: String
Atributos(opcional)
Peso: Integer
Propietario anterior: persona (0..4)[ordenado]
Aceleracion(): Integer Operaciones (opcional, también
Conducir (velocidad: Entero): Boolean denominados métodos)
Frenar(): Integer
VI – Documentación basada en
modelos
05 Modelado desde la perspectiva estructural
Diagrama de clases UML – asociaciones
Las asociaciones representan la relación estructural entre dos clases
Son navegables en una o ambas direcciones
ruedas
Vehículo 0…4
rueda
ruedas
Vehículo 0…4
rueda
• La agregación identifica una clase
como una agregación y describe Multiplicidad
una jerarquía todo-parte, donde la roles
existencia de la parte es habitaciones
independiente del todo. habitación
vivienda
1…
• La composición representa una
relación estática donde la parte es
dependiente del todo.
VI – Documentación basada en
modelos
05 Modelado desde la perspectiva estructural
Diagrama de clases UML – generalización
• La generalización es una relación de una clases especial a una clase
general
• Las características son heredadas de la clase general por la clase
especifica
Vehículo
Numero de chasis
Propietario
Auto Motociclista
+ Público
- Privado
- Paquete
# Protegido
VI – Documentación basada en modelos
05 Modelado desde la perspectiva estructural
Diagrama de clase UML – operaciones
Las operaciones definen un comportamiento de la clase y
están caracterizadas por:
- Nombre
+ Conducir (velocidad: entero) : booleano
- Visibilidad
- Parámetros
- Tipo de retorno
- El comportamiento real de una operación no es visible
- Puede ser descrito de forma más detallada con un
diagrama de actividad
VI – Documentación basada en modelos
05 Modelado desde la perspectiva estructural
Diagrama de clase UML – relación de dependencia
Las dependencias entre dos elementos muestran que
uno de los elementos necesita a otro para su
especificación o implementación
Vehiculo Motor
Articulo
- nombre :
- pla_numero :
1..* - precio :
0..*
Orden
Mesa
1..*
Comida
Bebida
+ alcoholica : boolean
0..12 + extraer () : int
Cliente
- nombre :
- reserva :
VI – Documentación basada en modelos
05 Modelado desde la perspectiva funcional
Diagrama de flujo de datos
- Describe el flujo de datos entre el sistema y su entorno
- Muestra una visión de conjunto de los alrededores del sistema
• Proceso central (círculo) describe el sistema
• Rectángulo describe las interfaces
• Los flujos de datos se muestran como flechas
proceso
CLIENTE orden
factura
Dirigir el
dinero restaurante
Nota:
la nomenclatura debe ser comprensible para personas externas
los flujos de datos deben estar en el mismo nivel de abstracción
VI – Documentación basada en modelos
05 Modelado desde la perspectiva funcional
Diagrama de flujo de datos
- Procesos
- Presentan funciones del sistema relevante
- Transformación de los datos entrantes
- No es una especificación funcional como tal
- Almacén de datos
Los diagramas de flujo de datos pueden ser
- Datos persistentes complementados con otras descripciones estructuradas
con el objeto de especificar la funcionalidad
- Utilizados por procesos (flujos de trabajo interno)
- Terminadores
- Representan objetos en el entorno del sistema
- Flujo de datos
- Transportan datos entre procesos, almacenes de datos y terminadores
(flujo de información, flujos materiales)
VI – Documentación basada en modelos
05 Modelado desde la perspectiva funcional
Objeto
Ordenar Menú
Terminador del flujo de control Representa Datos
Comida
Solo finaliza el flujo de esta
condición
Flujo de objeto
Nodo final
Representa un evento
VI – Documentación basada en
modelos
06 Modelado desde la perspectiva funcional
Notación de un diagrama de actividad UML
Diagramas de estado
Descripción del comportamiento reactivo de un sistemas desencadenado por
eventos
Basado en los principios de la maquina de estado finito
Una máquina de estado describe los posibles estados y transiciones de estado de una
estructura.
Diagramas de estado
• Diagramas de estado: desarrollados a partir de los diagramas de transición de
estado ((Professor David Harel en los años 80- siglo XX), sufrieron diferentes
mejoras, por ejemplo:
– Jerarquía con sub- máquinas de estado
– Composición para la representación de maquinas de estado en paralelo
– Conectores históricos, que guardan sub estados para la recuperación de este estado
– Acciones de entrada, salida, transcurso (“throughout”) de estado
• Confluencia (“junction”)
Tiempo > 1 ms Tiempo< 1 ms
VI – Documentación basada en
modelos
07 Modelado desde la perspectiva del comportamiento
• Tras haber alcanzado los objetivos de calidad tiene un lugar su aprobación para la siguiente
fase de desarrollo (cumplimiento de los criterios de calidad definidos)
Consecuencias de la no conformidad
– Obstrucción de las actividades de desarrollo
– Requerimientos mal comprendidos
– Requisitos ambiguos/ incompletos
– Requisitos ausentes/ faltantes
VII – Verificación y ajustes de requisitos
Presentac Detecció
Planificac Lista de hallazgos
ión n de
ión Consolidación de defectos
general defectos
Registro de ajuste
⁻ Las resoluciones de conflictos son documentadas
incluyendo:
– Causas de conflicto
– Personas involucradas / implicados y sus puestos
– Tipos de métodos de resolución de conflicto aplicado
– Posibles alternativas que fueron tenidas en cuenta
– La decisión y los factores que las motivaron
VII – Verificación y ajustes de requisitos
07 Resumen
- Rango
• Valores válidos para el atributo
• Ejemplo: “alto”, “medio”, “bajo”.
- Semántica
• Relevancia de los valores particulares.
VIII – Gestión de requisitos
01 Aportar Atributos a un Requisito
Esquema de atributos /1
- Los tipos de atributos individuales se consolidan en un
esquema de atributos ara un tipo de requisitos
– Permite comparar requisitos del mismo tipo
Esquema de atributos /2
⁻ La definición basada en modelos de esquema de
atributos considera las relaciones entre distintos
atributos
– Previene, por ejemplo, la aplicación de atributos
erróneos en situaciones especificas
– Asegura la consistencia de atributos entre distintos
tipos de requisitos (con frecuencia soportados por el
modelo utilizado para estructurar la información con
herramientas de gestión de requisitos)
VIII – Gestión de requisitos
01 Aportar Atributos a un Requisito
Tipo de
Requisit Requisit traza
os 1 os 2 general
refinamient
o
Traza cumplimien
to
Estados: “sospechosa”, “no verificación
sopechosa” derivación
VIII – Gestión de requisitos
02 Diferentes vistas de requisitos
Resumen de vista
⁻ Con frecuencia, las vista de requisitas combinan
la selección y agregación
⁻ Las vistas estructuradas son un prerrequisito para
la generación de informes (“reporting”)
– Generación de información que no es directamente
evidente en la base de los requisitos
⁻ Ejemplo
– Infirmes de avance (avance de proyecto, avance de
especificación)
– Tiempo, recursos, esfuerzo
– Determinación de la cobertura de prueba
VIII – Gestión de requisitos
02 Diferentes vistas de requisitos
Selección con herramientas de gestión de requisitos (1)
⁻ Vitas de atributos
– Presenta todos los requisitos de un cierto tipo
– Visualización de los valores de atributos específicos
⁻ Vista de traza
– Efectos de un requisito
– Importancia del análisis
de impacto cuando se
Planifican cambios en
requisitos
VIII- Gestión de Requisitos
02 Diferencias vistas de requisitos
Técnicas
• Los requisitos ser priorizados en diferentes puntos temporales
del proyecto utilizando procedimientos:
1. Determinar los objetivos y restricciones de la priorización
2. Definir los criterios de priorización de acuerdo a
– Coste de la implementación
– Consideraciones de riesgo
– Daño causado por la implementación infructuosa
– Volatilidad
– Importancia
– Duración(tiempo)
3. Determinar los implicados que deben ser involucrados en la
priorización
4. Seleccionar los artefactos a priorizar
Con posterioridad, seleccionar la técnica de priorización.
VIII-Gestión de requisitos
03 Priorización de requisitos
Técnica de priorización
1. Técnicas ad-hac
– Clasificación (ranking)- determinar el orden de los
requisitos de acuerdo a un criterio de prioridad
– Técnica de los diez mejores (top-ten)- seleccionar un
numero limitado de requisitos (por ejemplo 10) que
tengan la más alta prioridad (con respecto a un único
criterio) Con posterioridad combinación con posible
clasificacón.
2. Clasificación por un criterio
– Clasificación respecto del valor de un requisito para el
éxito del sistema:
Obligatorio, opcional, es bueno tener.
3. Clasificación de Kano (ver capitulo 3.2)
4. Matriz de prioridad de Carl Wiegers
VIII-Gestión de requisitos
03 Priorización de requisitos
Matriz de prioridad de Carl Wiegers 1999
• Enfoque de priorización analítico
-alto grado de esfuerzo
-reduce la subjetividad
• Enfoque
1. Ponderación del factor determinante “impacto relativo”
2. Listado de los requisitos que serán objeto de priorización
3. Valoración
-Beneficio relativo “relative benfit”
-Desventaja relativa “relotive disadvantage”
-Coste relativo “relative cost”
-Riesgo relativo “relative risk”
4. Cálculo
5. Determinar el orden de la posición de cada requisito
VIII-Gestión de requisitos
03 Priorización de requisitos
Matriz de priorización de Carl Wiegers
1 1 0,5
Área del
Requisitos del
cliente problema
Característica
s de la
solución Área de
la
Características del solución
software
Casos de
diseño sistema
prueba
VIII-Gestión de requisitos
04 Trazabilidad de requisitos
• Representación de la trazabilidad
1. Referencias textuales e hipervínculos
2. Matrices de trazabilidad
– Creadas mantenidas de forman manual
– Para cada tipo de relación
3. Grafos de trazabilidad
– Nodos==artefactos
– Aristas ==relaciones
– Tipificación de nodos
– Cadenas de trazabilidad:
Presentación de las relaciones
Con cualquier profundad(ciclo de vida)
VIII-Gestión de requisitos
04 Trazabilidad de requisitos
• Aseguramiento de la trazabilidad
-Identificador único, por ejemplo para la trazabilidad de un
ID
-Clasificación de los objetivos para la trazabilidad
-El esfuerzo adicional para el mantenimiento debe justificar el
sobre coste
-Desarrollo de modelos de trazas orientados a beneficios
– Tipos de trazas
– Estado de las trazas
– Concepto de autorización
-Definición procedimental de trazas
– ¿Quién tiene qué en la definición de trazas?
– QA de las trazas
VIII-Gestión de requisitos
04 Trazabilidad de requisitos
• Retos de la implementación de la trazabilidad
Alto nivel de esfuerzo para el mantenimiento de las relaciones entre requisitos
– ¿Quién ejecuta y paga por el mantenimiento?
• ¿Cómo son transmitidos los requisitos a los interesados?
-En entornos alternamente complejos, mantener la
disciplina del mantenimiento de las trazas sólo puede ser
supervisado con la automatización: herramientas de
requisitos
-Los miembros del proyecto deben estar convencidos de la
necesidad
– Especialmente con diferentes “ejecutores” y “usuarios”
-La trazabilidad en diferentes medios
– Alto nivel de esfuerzo si no está soportado por
automatización
– Es necesario un identificador único de la información
VIII-Gestión de requisitos
05 Versionado de requisitos
• Construcción de versiones y gestión de versiones
• Cambio continuo de la base de requisitos durante el
curso de un proyecto
– Asegurar el acceso a los estados de cambio
– Los cambios están relacionados a estados específicos de
los requisitos designados por la versión.
-Un requisito tiene una única versión de estado
La versión de estado de un documento esta
comprendida por las versiones de los requisitos
asociados.
El sistema para determinar el
número de versiones debe ser
definido en forma especifica
para el proyecto.
VIII-Gestión de requisitos
05 Versionado de requisitos
• Construcción de versiones para requisitos y
configuraciones
• Cualquier alteración de un requisito conduce al
incremento de una nueva versión.
La numeración de
versiones consiste en 2
R1 R1 R1 partes :
V1,3 V1.4 V1,5 Versión e incremento
Versión: modificado como
consecuencia de grandes
R2 cambios
V1,0 Incremento: aumenta por
R3 cambios pequeños .
V1.3
Configuraci
Configuraci Configuraci
ón
ón ón
V1.2
V1.0 V1.1
VIII – Gestión de Requisitos
05 Versionado de Requisitos
Características de las configuraciones
Una configuración de requisitos incluye un numero de
requisitos, cada uno dado en una versión especifica.
-Características de una configuración de requisitos:
1. Relación lógica
-Los requisitos incluidos están conectados de forma
apropiada y lógica.
2. Consistente(no ambigua)
3. Identificador único
4. No modificable
5. La definición de una base para retorno (rollbacks) :
Retorno a una configuración anterior o rama de desarrollo
VIII – Gestión de Requisitos
05 Versionado de Requisitos
Línea base de requisitos
-La entrega de un sistema (parcial o completo) ocurre en diferentes fases de un
proyecto.
Una línea base de requisitos(“requirement baseline”)
[entrega de requisitos (“requirement release”)] es una
configuración documentada de requisitos, que de
forma habitual, comprende versiones estables de
-requisitos
Se documentan requisitos de una madurez especifica
individuales.
– Registro (“check-in”) de la línea base de un requisito en una
herramienta de gestión de la configuración.
-Apoya las siguientes actividades en el proceso de desarrollo
– Base para la planificación de entregas (base de comunicación)
– Estimación del esfuerzo de desarrollo
– Comparación de productos con los que compite
-También: punto de inicio para las solicitudes de cambio
VIII – Gestión de Requisitos
06 Gestión de cambios de requisitos
Causas de cambios en requisitos
- Las causas de cambios en requisitos son múltiples
- Frecuencia del cambio es un indicador de:
– Estudio (análisis) y discusiones intensivas sobre requisitos
– Estudio de requisitos (Stability of requirements)
- Razones
– Defectos, que fueron recopilados en el sistema de gestión de
defectos
‐ Defectos en producción
‐ Defectos en requisitos, por ejemplo identificación de
contradicciones
– Cambio de requisitos (cambios contractuales)
‐ Concernientes a requisitos existentes o adicionales (conocidos
hasta ahora)
‐ Cambios de requisitos de usuario, basados en un cambio de
motivación
– Cambio en requisitos debido a razones técnicas
VIII – Gestión de Requisitos
06 Gestión de cambios de requisitos
2. Priorización Comunicación
del cambio en del rechazo
requisito
3. Asignación del
cambio a un proyecto
de cambio
VIII – Gestión de Requisitos
06 Gestión de cambios en requisitos
Observaciones de carácter práctico
- Definición de cambios en requisitos en el contexto de una
versión
– Considerar contexto a la entrega de producto
– Línea base asociada
- Diferentes formas de cambio
– Integración en un nuevo requisito
- Estimación de esfuerzo
– Borrado de un requisito existente
- Borrado de todos los requisitos derivados
– Cambio de un requisito existente
- ¿Cuál es el impacto del cambio en los requisitos derivados? ->
análisis de impacto
Enindustrias especificas, la trazabilidad de cambios
- Ejemplo: ajuste de casos de prueba
implementados debe ser aportada en cualquier
VIII – Gestión de Requisitos
06 Gestión de cambios en requisitos
Información
adicional
• Trazado de cambios
- Industria farmacéutica: Food and Drug Administration
* FDA-Part 11, un requisito de la legislación Americana para
procesos basados en ordenador en la producción farmacéutica
* Documentación detallada de todos los procesos e instrucciones
de producción relevantes; en caso de revocación tendrá lugar
una evaluación detallada.
- Industria Aeronáutica: DO 178B – Estándar para el
desarrollo de software para equipamiento y provisión
en la industria aeronáutica y espacial
* Estándar de facto para el desarrollo de software en la
industria aeronáutica
* Pruebas basadas en requisito
VIII – Gestión de Requisitos
06 Gestión de cambios en requisitos
Información
adicional
Caso de Caso de
uso V 4.08 uso V 4.10
- IX/01 Herramientas
- IX/04 Resumen
IX – Herramientas de Apoyo
01 Herramientas
Beneficios del uso de herramientas
- Herramientas apoyan el proceso de IR
– Definición independiente de herramienta de un proceso
- Actividad, implicados, artefactos
- Requisitos adicionales, por ejemplo restricciones de acceso
2) Herramientas de modelado
- CASE - Computer Aided Software Engeneering
- Presentación de requisitos en la forma de modelos
• Datos, comportamiento, UML
- Selección basada en criterios similares a las
herramientas de gestión de requisitos
• Gestión de ID, trazabilidad, acceso multiusuario
• Capacidad de versionado de los elementos del modelo
IX – Herramientas de Apoyo
01 Herramientas
• Beneficios de Uso de herramienta
• Herramientas apoyan el proceso de IR
– Definición independiente de herramientas de un proceso
• Actividad, implicados, artefactos
• requisitos adicionales, por ejemplo restricciones de acceso
“Un tonto con una herramienta sigue siendo tonto”
• Herramientas de apoyo
– Captura (pantallas) y tratamiento de grades volumenes de
datos.
– automatización de ciertos procedimientos
• Seguimiento de las actividades definidas en el proceso
– Comunicación especifica de requisitos dentro del equipo
– Capacidad de localizar y trazabilidad de información
– Seguimiento del estado de los requisitos
IX – Herramientas de Apoyo
01 Herramientas
1) Herramientas de propósito generales
• Herramientas generales usadas para el apoyo de
desarrollo de sistemas, que no fueron desarrolladas
originalmente para la gestión de requisitos.
– Facilitan la integración de artefactos específicos de la
herramienta y requisitos (por ejemplo herramientas de
gestión, bug tracking, test management)
• Procesador de texto, hoja de calculo, base de datos,
presentación.
• Tecnologías wiki son adecuadas para el
establecimiento de glosarios o para involucrar a los
implicados en la definición de requisitos.
– Implementación wiki para la gestión de casos de prueba
• Simuladores (gráficos de estado), prototipos GUI.
IX – Herramientas de Apoyo
01 Herramientas
1) Herramientas de propósito generales para
desarrollo de sistemas
Ventajas Ventajas (Especificas de
las herramientas)
Aportación de plantillas Facilidad de búsqueda
de información
Barato y fácil de (Estructura de datos)
aprender acceso simultaneo
Fácil de modificar Gestión de ID
IX – Herramientas de Apoyo
01 Herramientas
2) Herramientas modelado
• Case – Computer aide software engineering
• Presentación de requisitos en la forma de
modelos
– Datos, comportamiento, UML
• Selección basada en criterios similares a las
herramientas de gestión de requisitos
– Gestión ID, trazabilidad, acceso multiusuario
– Capacidad de versionado de los elementos del
modelo
IX – Herramientas de Apoyo
01 Herramientas
2) Herramientas de modelado