You are on page 1of 59

Ing.

Marco Aedo Lpez


CAPTULO III
Ingeniera de Requerimientos
Marco Aedo Lpez
mar coaedo@hot mai l . com
Escuela Profesional de Ingeniera de Sistemas
Universidad Nacional de San Agustn Arequipa, Per - 2011
Ing. Marco Aedo Lpez
Objetivos
Objetivos
Comprender la importancia de la
Ingeniera de Requerimientos como
fundamento para un eficiente desarrollo
de software
Describir el proceso de ingeniera de
requerimientos
Conocer las diferentes tcnicas para la
captura de requerimientos
Ing. Marco Aedo Lpez
Contenido
Contenido
1) Generalidades
2) El proceso
3) Tcnicas de captura de requerimientos
Ing. Marco Aedo Lpez
EL ORIGEN DE TODO SOFTWARE SON
EL ORIGEN DE TODO SOFTWARE SON
LAS IDEAS
LAS IDEAS
NADIE OBTIENE SIEMPRE LO QUE DESEA
PERO EL CLIENTE DEBERA?
NO CONSTRUIR POBRES IMITACIONES
QU ENTREGA EL DESARROLLO DE SOFTWARE
CORRECTO?
Ing. Marco Aedo Lpez
FICCIN VS REALIDAD
FICCIN VS REALIDAD
FICCIN: Reunirse con el cliente, entender fcilmente lo que l
desea, usar las ltimas herramientas y lenguajes de programacin,
testear el Software y esperar los premios correspondientes
Muchos acaban en proyectos cancelados
y total frustracin
REALIDAD: Requerimientos mal entendidos o
cambiantes, clientes dubitativos e inconstantes,
demoras de proyecto, uso de tecnologa obsoleta
Ing. Marco Aedo Lpez
Generalidades
Generalidades
META: Desarrollar software de calidad que
satisfaga las necesidades reales del cliente, a
tiempo y bajo el presupuesto
El xito de todo proyecto depende en mucho
de la gestin efectiva de los requerimientos
Los errores en los requerimientos son los ms
comunes al desarrollar swy los ms costosos
de solucionar
Ing. Marco Aedo Lpez
Generalidades
Generalidades
Requerimientos:
Descripcin de los servicios que debe brindar el
software y sus restricciones
Capacidad del software que el usuario necesita
para resolver un problema y alcanzar un objetivo
Ingeniera de Requerimientos
Proceso de capturar, analizar, documentar y
verificar esos servicios y restricciones
Entender el problema de los usuarios en SU
cultura y con SU lenguaje y construir el
sistema que resuelve sus necesidades
Ing. Marco Aedo Lpez
Generalidades
Generalidades
Qu busca la Ingeniera de Requerimientos?
Reducir los errores en los requerimientos y as
mejorar la calidad del software
3 escenarios:
Cliente es entidad externa a la que debemos
convencer en comprar nuestro producto
Cliente es una organizacin que nos contrata para
desarrollar un swpara hacerla ms competitiva
Cliente trabaja en la misma organizacin y nos pide
desarrollar un swque ayudar a que funcione mejor
Ing. Marco Aedo Lpez
Generalidades
Generalidades
Existir el software perfecto?
Ing. Marco Aedo Lpez
Standish Group Chaos Report (2009)
24% cancelado antes de completar o entregados y NUNCA
usados!!
44% costaron ms de su estimado inicial (aprox. 189%), fuera
de tiempo o con menos funcionalidades de las deseadas
SOLO 32% SE ENTREGARON A TIEMPO, BAJ O EL
PRESUPUESTO Y CON LAS FUNCIONALIDADES
REQUERIDAS
Causas (Standish Group)
Falta de involucramiento de usuarios (13%)
Requerimientos incompletos (12%)
Requerimientos y Especificaciones cambiantes (12%)
Expectativas no realistas (4%)
Falta de recursos (6%)
Habilidades tecnolgicas inadecuadas (7%)
Falta de soporte de ejecutivos (9.3%)
Falta de planificacin (8.1%)
Sistema no se precisaba ms (7.5%)
Generalidades: algunos datos
Generalidades: algunos datos
Ing. Marco Aedo Lpez
Generalidades: algunos datos
Generalidades: algunos datos
Ing. Marco Aedo Lpez
Generalidades: algunos datos
Generalidades: algunos datos
Ing. Marco Aedo Lpez
Y en el sector estatal?
El comportamiento es incluso peor, segn el
estudio de eGovernment for Development de la
Universidad de Manchester, slo el 15% de los
proyectos son considerados exitosos
Los principales stakeholders del proyecto dicen
que se han logrado los principales objetivos y
no han experimentado resultados no deseados
significativos
Generalidades: algunos datos
Generalidades: algunos datos
Ing. Marco Aedo Lpez
Generalidades: algunos datos
Generalidades: algunos datos
Ing. Marco Aedo Lpez
Generalidades: algunos datos
Generalidades: algunos datos
Segn European Software Process Improvement
Training Initiative (ESPITI) en un estudio por
identificar la importancia relativa de los diferentes
tipos de problemas al desarrollar swen la industria:
Ing. Marco Aedo Lpez
Costo de corregir un error en los
requerimientos (Boehm-Papaccio,1988)
Etapa en la que se
encuentra el error
Costo en USD
Anlisis y Esp. Requerimientos
1
Diseo
5
Codificacin
10
Prueba Unitaria
20
Produccin
200
Generalidades: algunos datos
Generalidades: algunos datos
Ing. Marco Aedo Lpez
Brecha en la comunicacin
Brecha en la comunicacin
Segn desarrolladores,
los usuarios...
Segn usuarios, los
desarrolladores...
no saben lo que quieren no captan las necesidades
operativas
no pueden articular lo que
quieren
ponen excesivo nfasis en
aspectos meramente tcnicos
muchas necesidades por
motivos polticos
pretenden indicarnos cmo hacer
nuestro trabajo
quieren todo ya no son capaces de traducir
necesidades claramente
establecidas en un sistema
son incapaces de definir
prioridades entre sus
necesidades
siempre dicen que no
Ing. Marco Aedo Lpez
Segn desarrolladores,
los usuarios...
Segn usuarios, los
desarrolladores...
rehsan asumir
responsabilidades por el
sistema
siempre estn pasados del
presupuesto
incapaces de dar un
enunciado utilizable de sus
necesidades
siempre estn atrasados
no estn comprometidos con
los proyectos de desarrollo
nos exigen tiempo y esfuerzo an
a costa de las obligaciones
esenciales
no aceptan soluciones de
compromiso
establecen estndares no realistas
para la definicin de
requerimientos
no pueden mantener el
cronograma
son incapaces de responder
rpidamente a cambios en las
necesidades
Ing. Marco Aedo Lpez
Ing. Marco Aedo Lpez
Ing. Marco Aedo Lpez
Comprender las necesidades de los
Comprender las necesidades de los
usuarios
usuarios
Dos reacciones diferentes cuando el usuario ve la
implementacin del sistema
Anticiparse al Si, pero.., tenindolo
en cuenta en la elicitacin
Wow, eso est chevere, realmente si
podemos usarlo, que trabajo tan ordenado,
y asi por el estilo
El Sndrome de Si, pero
Si, pero..., uhmmm, ahora que lo veo, que
es..? Estara bien, si..? Que es lo que
pas a?
Ing. Marco Aedo Lpez
La brecha de comunicacin existente
El Sndrome del Usuario y el desarrollador
Comprender las necesidades de
Comprender las necesidades de
los usuarios
los usuarios
Ing. Marco Aedo Lpez
1) De la
1) De la
visin
visin
a
a
los
los
requerimientos
requerimientos
REQUERIMIENTOS EN EL CICLO DE VIDA
DEL SOFTWARE
Ing. Marco Aedo Lpez
2) El
2) El
Proceso
Proceso
Ing. Marco Aedo Lpez
2) El
2) El
Proceso
Proceso
Estudio de
factibilidad
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Validacin
de
Requerimientos
Informe
de
factibilidad
Actividades
Especificacin
de
Requerimientos
Documento
de
Requerimientos
Artefactos
Modelo del
Sistema
Ing. Marco Aedo Lpez
2) El
2) El
Proceso
Proceso
ESTUDIO DE FACTIBILIDAD
Estudio corto para resolver si es posible y
conveniente construir el sistema
Informe de Factibilidad
Estructura sugerida:
1) Factibilidad Econmica
2) Factibilidad Tcnica
3) Factibilidad Operativa
4) Recomendaciones
Ing. Marco Aedo Lpez
2) El
2) El
Proceso
Proceso
Estudio de
factibilidad
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Validacin
de
Requerimientos
Informe
de
factibilidad
Especificacin
de
Requerimientos
Documento
de
Requerimientos
Modelo del
Sistema
Ing. Marco Aedo Lpez
2) El
2) El
Proceso
Proceso
Comprensin
del dominio
Comprensin
del dominio
Recoleccin de
Requerimientos
Recoleccin de
Requerimientos
Clasificacin
Clasificacin
Resolucin de
Conflictos
Resolucin de
Conflictos
Priorizacin
Priorizacin
Verificacin
de Requerimientos
Verificacin
de Requerimientos
Ing. Marco Aedo Lpez
2) El
2) El
Proceso
Proceso
Estudio de
factibilidad
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Validacin
de
Requerimientos
Informe
de
factibilidad
Especificacin
de
Requerimientos
Documento
de
Requerimientos
Modelo del
Sistema
Ing. Marco Aedo Lpez
2) El
2) El
Proceso
Proceso
Lenguaje Natural
Comprensible para el Cliente/Usuario
Ambiguo (glosario)
Poca legibilidad (plantilla, formateo del texto)
Difcil de tratar (Verificar correctitud, consistencia,
completitud)
Notaciones Especiales (ms formales)
Poca o ninguna ambigedad
Facilita tratamiento
Necesidad de entrenamiento en la notacin
Dificultades de comprensin por Cliente/Usuario
Ing. Marco Aedo Lpez
2) El
2) El
Proceso
Proceso
Ing. Marco Aedo Lpez
2) El
2) El
Proceso
Proceso
Estudio de
factibilidad
Estudio de
factibilidad
Obtencin y
Anlisis de
Requerimientos
Obtencin y
Anlisis de
Requerimientos
Especificacin
de
Requerimientos
Especificacin
de
Requerimientos
Validacin
de
Requerimientos
Validacin
de
Requerimientos
Informe
de
factibilidad
Especificacin
de
Requerimientos
Documento
de
Requerimientos
Modelo del
Sistema
Ing. Marco Aedo Lpez
2) El
2) El
Proceso
Proceso
Proceso por el cual se determina si la especificacin
es consistente con las necesidades del cliente
Se realizan las siguientes verificaciones en el
documento de requerimientos:
Validez: compromiso con el usuario, que valide
que es lo que quiere
Consistencia: que no haya contradicciones
Realismo: que se puedan implementar (incluye:
tecnologa, presupuesto y calendario)
Verificabilidad: Disear conjunto de pruebas para
demostrar que el sistema cumple esos
requerimientos
Ing. Marco Aedo Lpez
2) El
2) El
Proceso
Proceso
Qu habilidades debera poseer
Ingeniero o Analista de
Requerimientos?
Capacidad de comunicacin
Capacidad de anlisis y observacin
Capacidad de organizacin
Analizar los riesgos del desarrollo del
software
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
Los desarrolladores entran al dominio de personas y
problemas del mundo real (dominio del problema)
Varias tcnicas:
1) La comprensin del
problema
2) Entrevista
3) Encuesta/Cuestionario
4) Observacin
5) Lluvia de ideas y
reduccin de ideas
6) Talleres de
requerimientos
7) Casos de Uso
8) J uegos de Rol
9) Prototipado
10) Historias de Usuarios
11) Escenarios
12) Etnografa
13) Storyboarding
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
1) La comprensin del problema
Estudio de documentacin, antecedentes,
visitas,
Buena forma de comenzar un proyecto
Interna: Estructura de la organizacin,
Polticas y procedimientos, Formularios e
informes, Documentacin de sistemas
Externa: Publicaciones de la industria y
comercio, Encuentros profesionales, Visitas,
Literatura y presentaciones de vendedores
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
1) La comprensin del problema
Ventajas
Ahorra tiempo de otros
Prepara para otros enfoques
Puede llevarse a cabo fuera
de la organizacin
Desventajas
Perspectiva limitada
Desactualizado
Demasiado genrico
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
2) Entrevista
Entender el problema de negocio
Entender el ambiente de operacin
Evitar omisin de requerimientos
Mejorar las relaciones con el cliente
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
2) Entrevista - PASOS
Seleccionar participantes
Aprender tanto como sea posible de antemano
Preparar la entrevista
Utilizar un patrn de estructura
Conducirla
Apertura, desarrollo, conclusin
Enviar un documento con resultado
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
2) Entrevista
Ventajas
Orientado a las personas
Interactivo/flexible
Rico
Desventajas
Costoso
Depende de las habilidades
interpersonales
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
3) Encuesta/Cuestionario
No substituye la entrevista
Antes de usar el enfoque:
Determinar la informacin que se precisa
Determinar el enfoque ms adecuado:
Abierto, cerrado, combinado
Mltiple opcin, valor en escala, orden relativo
Desarrollar cuestionario
Probarlo con perfil tpico
Analizar resultado de las pruebas
Su principal uso es para validar asunciones y obtener
datos estadsticos sobre preferencias
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
3) Encuesta/Cuestionario
Ventajas
Economa de escala
Conveniente para quien contesta
Respuestas annimas
Desventajas
Menos rico
Problemas por no-respuesta
Esfuerzo de desarrollo
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
4) Observacin
Poco utilizada
Antes de usarla:
Determinar informacin necesaria
Comunicar a los involucrados
Considerar periodos normales y atpicos
Planificar las anotaciones
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
4) Observacin
Ventajas
Confiable
Muy rico
Desarrolla empata
Desventajas
Efecto Hawthorne
Cuidado con generalizar
demasiado (sesgo
particular/local)
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
5) Lluvia de Ideas y reduccin de ideas
Objetivo: lograr consenso sobre los requerimientos
Ayuda a la participacin de todos los involucrados
Permite pensar en otras ideas
Un secretario saca notas de todo lo discutido
Reglas
No se permite criticar ni debatir
Dejar volar la imaginacin
Generar tantas ideas como sea posible
Mutar y combinar ideas
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
5) Lluvia de Ideas Fase de generacin
Los principales stakeholders se juntan en un cuarto
Se explican las reglas
Se establece:
Que caractersticas esperan en el producto?
Que servicios esperan que provea?
Se pide que cada participante escriba sus ideas,
luego las ideas son ledas para que otros piensen en
ideas relacionadas y de esa forma las ideas mutan y
se combinan
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
5) Lluvia de Ideas Fase de reduccin
El secretario lee cada idea y pregunta si es vlida
Si hay cualquier desacuerdo, la idea contina
Agrupamiento de ideas
Nombrar los grupos
Definicin
Se escribe una breve descripcin de lo que la idea significa para la
persona que la escribi
Ayuda a tener un entendimiento comn del requerimiento
Lleva unos minutos por idea
Priorizacin (opcional)
Test de los $100: Cada persona tiene dinero para comprar ideas,
se rankea segn ideas mas compradas
Solo se puede hacer una vez
Se debe limitar la cantidad a gastar en 1 sola idea
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
6) Taller de requerimientos (Workshop)
mbito para las lluvias de ideas
Preparacin
Venderlo a los posibles miembros de la reunin
Asegurarse que asisten los stakeholders correctos
Estructurar la invitacin, el lugar, etc
Enviar material previo a la reunin
Documento de requerimientos
Entrevistas, bugs de los sistemas existentes, etc
Asegurarse de enviar lo necesario, sin exagerar
Organizar la Agenda
Introduccin
Tormenta de ideas generacin
Tormenta de ideas reduccin
Priorizacin
Resumen
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
7) Casos de Uso
Formato simple y estructurado donde los
usuarios y desarrolladores pueden trabajar
juntos
Muy til para capturar los aspectos
funcionales
Pueden ser usados como base en el diseo y
en el testing del sistema
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
7) Casos de Uso
Usarlo
Cuando el sistema est
orientado a la funcionalidad,
con varios tipos de usuarios
Cuando la implementacin se
va a hacer OO y con UML
No son la mejor eleccin:
Sistemas sin usuarios y con
pocas interfaces
Sistemas dominados
primariamente por
requerimientos no
funcionales y restricciones de
diseo
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
8) J uegos de Rol
Tcnica cuando es difcil para el stakeholder
visualizar lo que quiere del software
El desarrollador asume el rol DEL SOFTWARE
Le pregunta al stakeholder QU REQUIERES
DE M?
El stakeholder responde
El desarrollador en el rol de swresponde y se
inicia la interaccin
Se anotan los requerimientos
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
9) Prototipado
Implementacin parcial, permite a los
desarrolladores y usuarios:
Entender mejor los requerimientos
Cuales son necesarios, deseables
Acotar riesgos
Puede hacerse en papel o usando software
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
9) Prototipado
Prototipo deshechable: El propsito es solo
establecer que algo se puede hacer, luego se
parte de cero en la construccin, quedando el
conocimiento aprendido
Prototipo evolutivo: Es implementado sobre
la arquitectura del producto final, el sistema
final se obtiene de evolucionar el prototipo
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
Mismos datos, pero
Mismos datos, pero
Ingrese
ao: ____
mes: ____
da: ____
J ulio 1998
1998
2025
1
31
Ing. Marco Aedo Lpez
3)
3)
Tcnicas
Tcnicas
de
de
captura
captura
de
de
requerimientos
requerimientos
10) Historias de Usuario
11) Escenarios
12) Etnografa
13) Storyboarding
Ing. Marco Aedo Lpez
1. Desarrollar las tcnicas de captura de requerimientos
asignados a su equipo y cmo las aplicara al
proyecto asignado? Averiguar sobre herramientas
disponibles
2. Cmo aplica la Ingeniera de Requerimientos el
proceso/mtodo asignado a su equipo de trabajo?
Indicar las tcnicas que utiliza o recomienda.
Proponer variaciones a las tcnicas
ACTIVIDAD
ACTIVIDAD
1) La comprensin del
problema
2) Entrevista
3) Encuesta/Cuestionario
4) Observacin
5) Lluvia de ideas y reduccin de
ideas
6) Talleres de requerimientos
7) Casos de Uso
8) Juegos de Rol
9) Prototipado
10) Historias de Usuarios
11) Escenarios
12) Etnografa
13) Storyboarding
Ing. Marco Aedo Lpez
Conclusiones
Conclusiones
Los errores en los requerimientos son los
errores ms comunes y los ms caros de
arreglar
La captura y anlisis de requerimientos son
actividades fundamentales para garantizar la
calidad del producto
Existen muchos procesos a seguir en el
desarrollo de sw, pero todos toman en cuenta
a los requerimientos
Se pueden aplicar varias tcnicas para la
captura de requerimientos, se pueden
complementar y usar segn la situacin
Ing. Marco Aedo Lpez
Bibliografa
Bibliografa
LECTURAS OBLIGATORIAS
Leffingwell, D., Widrig, D. Managing
Software Requirements , Addison
Wesley, 1999
[CAPTULO 1, 4, 10, 11, 12, 13, 14, 15]
Ing. Marco Aedo Lpez
Ejercicios
Ejercicios
Propuestos
Propuestos
1. Por qu cree que los requerimientos son una de las
principales razones del fracaso de los proyectos de
software?
2. Cmo vencer los 2 sndromes indicados?
3. En qu casos utilizara cada una de las tcnicas?
4. Indique las 3 tcnicas ms efectivas para Ud. J ustifique
5. Tengo una aplicacin para 100 usuarios del mismo
rango. Qu plan de captura de requerimientos
planteara?
6. Cul es la importancia de los requerimientos NO
funcionales?
7. Qu otras tcnicas de captura de requerimientos
conoce?
8. Por qu es tan importante la validacin de
requerimientos?

You might also like