Ingeniería de requerimientos
de software: “Elicitation”
Dpto. de Ingeniería de Sistemas y
Computación
Universidad de los Andes
Referencias
El Lenguaje Unificado de Modelado. Grady Booch, James Rumbaugh e Ivar
Jacobson. Addison Wesley, 1999 Capítulos 16 y 17
Object Oriented Software Engineering. Bernd Bruegge y Allen H.Dutoit.
Prentice Hall, 2000. Capítulo 4, pág. 100–106, 118-119
Software Requirements. Karl. E.Wiegers. Microsoft Press, 1999. Capítulo 9,
pág. 153-162. Capítulo 11
Material preparado por Rubby Casallas.
Qué es un requerimiento?
Condición o capacidad que un usuario necesita
para poder resolver un problema o lograr un
objetivo (IEEE).
Condición o capacidad que debe exhibir o
poseer un sistema para satisfacer un contrato,
estándar, especificación, u otra documentación
formalmente impuesta (IEEE).
Algo que el sistema debe hacer o una cualidad
que el sistema debe poseer (Robertson -
Robertson).
Material preparado por Rubby Casallas.
Qué es Ingeniería de requerimientos
de software?
Es el proceso de:
Recopilar, descubrir (Elicitation),
Analizar,
Documentar (Especificar) y
Validar (Lograr un acuerdo) Material preparado por Rubby Casallas.
Qué es Ingeniería de requerimientos
de software?
Es el proceso de:
Recopilar, descubir (Elicitation),
Analizar,
Documentar (Especificar) y
Validar (Lograr un acuerdo)
los requerimientos de Software!
Material preparado por Rubby Casallas.
No son pasos secuenciales
Material preparado por Rubby Casallas.
Recopilar, decubrir (Elicitation): es la obtención y el
descubrimiento de los requerimientos del software según
diversos Stakeholders (constituyentes) y otras fuentes
(leyes, restricciones).
Técnicas: entrevistas, análisis de documentos, grupos
de discusión, cuestionarios.
Material preparado por Rubby Casallas.
Ambigüedades llevan a interpretaciones
distintas del mismo requerimiento
Problemas comunes:
• requerimientos olvidados en particular los
no funcionales y las restricciones
• palabras ambiguas (“pequeño”, “barato”, ...)
• vocabulario dependiente del contexto del
negocio !
• creer que se entendió (el ingeniero)
• creer que se explicó claro (cliente)
• pasar por alto lo importante
• lo necesario vs. lo ideal
• lo actual vs. el cambio
Cliente o Usuario Desarrollador
Material preparado por Rubby Casallas.
Por dónde
comienzo?
Documentos, sistema anterior,
Descripciones de procesos,
Material preparado por Rubby Casallas.
Documentos, sistema anterior,
Descripciones de procesos,
El problema puede ser definido
como como una diferencia entre
cómo las cosas son percibidas y
cómo son deseadas.
Enunciar el problema:
Modelar el mundo del problema
Definir un vocabulario.
Identificar los conceptos y las
relaciones importantes en los
elementos del mundo del
problema. (Diagrama de clases)
Entrevistar
Validar entendimiento, obtener
más información.
Enunciar el propósito
Identificar lo que daría más valor al cliente.
Un proceso posible ….
10
Entrevistas Cualitativas
entrevista abierta y personal
como instrumento para indagar un
problema y comprenderlo desde
el punto de vista del entrevistado
se centra en el conocimiento y la
opinión individual en la medida
que esa opinión pueda ser
representativa de un conocimiento
cultural más amplio
los entrevistados deben ser
“conocedores y/o expertos”
Material preparado por Rubby Casallas.
Entrevistas Cualitativas (2)
El entrevistador es un facilitador en el
proceso de comunicación
debe:
inducir profundidad y detalle en las opiniones del
entrevistado
inspirar confianza
escuchar activamente
atender el comportamiento verbal y no verbal del
entrevistado
no creerse el experto, no distraerse, no polemizar Material preparado por Rubby Casallas.
12
Entrevistas Cualitativas
Tipos de Entrevistas:
informal conversacional
estructurada con guía
estandarizada
Material preparado por Rubby Casallas.
13
Entrevistas Cualitativas
Planificación de las Entrevistas:
Tipo de pregunta: depende de los objetivos del
estudio. Por ejemplo:
Preguntas sobre experiencias o comportamientos
Opiniones sobre algún tópico particular
Sentimientos
Conocimientos
Sensaciones
Carácter histórico
Material preparado por Rubby Casallas.
Entrevistas Cualitativas
Planificación de las Entrevistas (cont.):
Secuencia de las preguntas:
empezar explicando el propósito de la entrevista
empezar con preguntas simples de respuestas
descriptivas
evitar empezar con una controversia
...
14
Material preparado por Rubby Casallas.
Entrevistas Cualitativas
Planificación de las Entrevistas (cont.):
Redacción de las preguntas: minimizar la pre
determinación de las respuestas
preguntas abiertas
evitar preguntas dicótomas
evitar preguntar por qué
incluir preguntas de “simulación” (qué pasaría si ….)
preguntas cortas
15
Material preparado por Rubby Casallas.
Entrevistas Cualitativas
Redacción de las preguntas: minimizar la pre
determinación de las respuestas (cont.) Las preguntas deben exponerse con claridad:
evitar palabras que puedan tener varios significados
evitar preguntas que encierren dos respuestas
especificar el contexto, lugar y tiempo donde se requiera
las preguntas deben ser relevantes. No preguntar algo
que después no se sabrá cómo manejar
se deben evitar prejuicios e insinuaciones
no suponer que le entrevistado esta de acuerdo o en
desacuerdo con el entrevistador
Material preparado por Rubby Casallas.
Entrevistas Cualitativas
Realización de las Entrevistas
Presentación:
Del entrevistador
Temas a tratar en la entrevista
Utilización de la información
Confidencialidad
Tomar notas ? Grabar?
Tiempo disponible
Controlar el tiempo y el ritmo de la reunión
Cerrar la entrevista, agradecer, concluir, resumir,
.... 17
Material preparado por Rubby Casallas.
Preguntas libres del contexto
Generales:
Quién es el usuario final?
Qué sería una solución exitosa para este usuario?
Cuál es la razón para desear resolver este
problema?
Deberíamos usar un solo equipo de diseño o más
de uno?
Quién debería estar en el equipo?
Cuánto tiempo tenemos para este proyecto?
Material preparado por Rubby Casallas.
Preguntas libres del contexto
Generales (cont.):
Cuál es el margen tiempo-valor para este
proyecto?
En que otro lugar puede obtenerse una solución
para este problema?
Podemos inspirarnos de alguna solución que ya
existe?
Material preparado por Rubby Casallas.
Preguntas libres del contexto
Preguntas sobre el producto:
Cuáles problemas este producto resuelve?
Qué problemas podría crear este producto?
Qué clase de precisión es requerida o deseada in
este producto?
Material preparado por Rubby Casallas.
Preguntas libres del contexto
Meta Preguntas:
Estoy haciendo demasiadas preguntas?
Le parecen relevantes mis preguntas?
Es usted la persona indicada para responder
estas preguntas?
Son sus respuestas oficiales?
...
Material preparado por Rubby Casallas.
A quién preguntar?
Involucrar las personas adecuadas
Clientes vs Usuarios
Cliente es quien patrocina
Usuario es alguien que es afectado o afecta el
producto que esta siendo diseñado
El producto puede crear usuarios nuevos !
Identificar: Quiénes, cuándo y cómo participan!
Material preparado por Rubby Casallas.