Weitere ähnliche Inhalte Ähnlich wie Sesion6 Procesos de Ingeniería de Requisitos (20) Kürzlich hochgeladen (20) Sesion6 Procesos de Ingeniería de Requisitos1. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 1
Procesos de Ingeniería de
Requerimientos
2. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 2
Objetivos
Describir las principales relaciones de la
ingeniería de requerimientos
Introducir a las técnicas de obtención y
análisis de requerimientos
Describir la validación de requerimientos y la
función de la revisión de requerimientos
Discutir la función de la gestión de
requerimientos en apoyo de otros procesos
de la ingeniería de requerimientos
3. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 3
Tópicos Expuestos
Estudios de viabilidad
Obtención y análisis de requerimientos
Validación de requerimientos
Gestión de requerimientos
4. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 4
Procesos de la ingeniería de
requerimientos
Los procesos utilizados para la ingeniería de
requerimientos varían ampliamente
dependiendo en el dominio de la aplicación,
las personas implicadas y la organización
que desarrolla los requerimientos.
Sin embargo, hay una serie de actividades
genéricas comunes a todos los procesos
• Obtención de requerimientos;
• Análisis de requerimientos;
• Validación de requerimientos;
• Gestión de requerimientos.
5. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 5
El proceso de ingeniería de
requerimientos
6. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 6
Ingeniería de requerimientos
7. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 7
Estudios de viabilidad
Un estudio de viabilidad decide si el sistema
propuesto es meritorio o no.
Es un estudio breve orientado a resolver
varias cuestiones
• Si el sistema contribuye a los objetivos
organizacionales;
• Si el sistema puede ser diseñado utilizando la
tecnología actual y dentro del presupuesto;
• Si el sistema puede integrarse con otros
sistemas existentes.
8. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 8
Implementación del estudio de
viabilidad
Sobre la base de evaluación de la información (lo
que se requiere), la recopilación de información y
redacción de informes.
Preguntas para las personas en la organización
• Qué pasa si el sistema no fue implementado?
• Cuáles son los problemas con los procesos actuales?
• Cómo ayudará el sistema propuesto?
• Cuáles serán los problemas de integración?
• Nueva tecnología es requerida por el sistema?
• A qué debe ayudar el sistema?
9. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 9
Obtención y análisis
A veces llamado obtención o descubrimiento de
requerimientos.
Implica personal técnico que trabaja con los clientes
para conocer el dominio de aplicación, los servicios
que debe proporcionar el sistema y las restricciones
operacionales del sistema.
Puede implicar a los usuarios finales,
administradores, ingenieros involucrados en el
mantenimiento, expertos de dominio, los sindicatos,
etc. Estos se llaman stakeholders (afectados por el
sistema).
10. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 10
Problemas de análisis de
requerimientos
Los afectados (stakeholders) no saben lo que
realmente quieren.
Los afectados por el sistema expresan los
requerimientos en sus propios términos.
Las diferentes partes interesadas (stakeholders)
pueden tener requerimientos conflictivos.
Factores organizacionales y políticos pueden influir
en los requerimientos del sistema.
Las requerimientos cambian durante el proceso de
análisis. Pueden surgir nuevos stakeholders y el
entorno empresarial cambia.
11. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 11
Proceso de obtención y análisis de
requerimientos
12. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 12
Actividades del proceso
Descubrimiento de requerimientos
• Interactuar con las partes interesadas para conocer sus
necesidades. Los requerimientos del dominio son
también descubiertos en esta etapa.
Clasificación y organización de requerimientos
• Agrupa los requerimientos relacionados y los organiza de
un modo coherente.
Ordenación por prioridades y negociación
• Priorizar requerimientos y resolver los conflictos entre los
mismos.
Documentación de requerimientos
• Los requerimientos son documentados e ingresados en
la siguiente iteración.
13. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 13
Descubrimiento de
requerimientos
Proceso de recopilación de información
sobre los sistemas propuestos y existentes y
la destilación de los requerimientos de
usuario y del sistema a partir de esta
información.
Fuentes de información que incluyen la
documentación, afectados por el sistema
(stakeholders) y las especificaciones de
sistemas similares.
14. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 14
Stakeholders de un sistema de
cajero automático
Los clientes del banco
Representantes de otros bancos
Directores de banco
Contadores
Administradores de base de datos
Los administradores de seguridad
Departamento de marketing
Ingenieros de mantenimiento de hardware y
software
Reguladores bancarios
15. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 15
Puntos de vista
Son una forma de estructuración de los
requerimientos para representar las
perspectivas de diferentes stakeholders. Los
stakeholders pueden ser clasificados por
diferentes puntos de vista.
Este análisis de perspectiva múltiple es
importante ya que no existe una única forma
correcta de analizar los requerimientos del
sistema.
16. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 16
Tipos genéricos de punto de vista
Puntos de vista de los interactuadores
• Personas u otros sistemas que interactúan directamente
con el sistema. En un cajero automático, el cliente y la
base de datos de la cuenta son puntos de vista de los
interactuadores.
Puntos de vista indirectos
• Stakeholders que no utilizan el sistema en sí, pero
influyen en los requerimientos. En un cajero automático,
la gerencia del banco y el personal de seguridad son
puntos de vista indirectos.
Puntos de vista del dominio
• Representan las características y restricciones del
dominio que influyen en los requerimientos del sistema.
En un cajero automático, un ejemplo serían los
estándares para las comunicaciones inter-bancarias.
17. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 17
Identificación de los puntos de
vista
Identificar los puntos de vista utilizando
• Proveedores y receptores de los servicios del
sistema;
• Sistemas que interactúan directamente con el
sistema a especificar;
• Regulaciones y estándares que se aplican al
sistema;
• Fuentes de los negocios y los requerimientos
no funcionales.
• Ingenieros que han de desarrollar y mantener el
sistema;
• Marketing y otros puntos de vista.
18. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 18
Jerarquía de los puntos de vista
en el LIBSYS
19. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 19
Entrevistas
En el sector formal o informal de entrevistas,
el equipo de ingeniería de requerimientos
formula preguntas a los interesados sobre el
sistema que utilizan y el sistema a
desarrollar.
Hay dos tipos de entrevista
• Entrevistas cerradas donde los stakeholders
responden a un conjunto de preguntas.
• Entrevistas abiertas, donde no hay una agenda
pre-definida y una gama de cuestiones se
estudian con los stakeholders del sistema.
20. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 20
Entrevistas en la práctica
Normalmente una mezcla de entrevistas abiertas y
cerradas.
Las entrevistas son buenas para obtener una
comprensión global de lo que hacen los
stakeholders y cómo pueden interactuar con el
sistema.
Las entrevistas no son buenas para la comprensión
de los requerimientos de dominio
• Los ingenieros de requerimientos no pueden entender el
la terminología específica del dominio;
• Algún conocimiento del dominio es tan familiar que las
personas tienen dificultades para articular o pensar que
no vale la pena articular.
21. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 21
Entrevistadores eficaces
Los entrevistadores deben ser de
mentalidad abierta, dispuestos a escuchar a
los stakeholders y no deben tener ideas pre-
concebidas acerca de los requerimientos.
Deben impulsar al entrevistado con una
pregunta o una propuesta y no simplemente
esperar que responda a una pregunta como
qué quieres o esperas?.
22. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 22
Escenarios
Los escenarios son ejemplos de la vida real
de cómo un sistema puede ser utilizado.
Deben incluir
• Una descripción de la situación inicial;
• Una descripción del flujo normal de los
acontecimientos;
• Una descripción de lo que puede salir mal y
cómo manejarlo;
• Información acerca de otras actividades;
• Una descripción del estado del sistema cuando
finalice el escenario.
23. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 23
LIBSYS escenario (1)
Asunción inicial: El usuario ha abierto una sesión al sistema de LIBSYS y ha localizado el diario que
contenía la copia del artículo.
Normal: El usuario selecciona el artículo para ser copiado. El sistema entonces proporciona la información
del suscriptor para el diario e indica cómo se pagará el artículo. Los métodos alternativos del pago están por
la tarjeta de crédito o cotizando un número de cuenta bancaria. Entonces piden al usuario rellenar un
impreso de los derechos reservados que mantenga los detalles de la transacción y someten esto al sistema de
LIBSYS. Se comprueba la forma de los derechos reservados y, si es ACEPTABLE, la versión del pdf del
artículo se transfiere a la zona de trabajo de LIBSYS en la computadora del usuario y el usuario es
informado de que está disponible. Pide al usuario seleccionar una impresora y una copia del artículo se
imprime. Si el artículo se ha señalado por medio de una bandera como `solo imprimir' se suprime del sistema
una vez que el usuario ha confirmado la impresión completa.
24. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 24
LIBSYS escenario (2)
Qué puede salir mal: El usuario puede no poder rellenar el impreso de los derechos reservados
correctamente. En este caso, la forma se debe presentar al usuario para la corrección.
Si la forma sometida es todavía incorrecta, entonces el pedido de usuario del artículo se rechaza. El pago se
puede rechazar por el sistema.
El pedido de usuario el artículo se rechaza.
La transferencia directa del artículo puede fallar. Revise hasta acertado o el usuario termina la sesión. Puede
no ser posible imprimir el artículo.
Si el artículo no se señala por medio de una bandera como `imprímalo-only' entonces se sostiene en el
espacio de trabajo de LIBSYS. Si no, se suprime el artículo y la cuenta de usuario se acredita con el coste
del artículo.
Otras actividades: Transferencias directas simultáneas de otros artículos.
Estado de sistema en la terminación: Abren una sesión al usuario. El artículo transferido se ha suprimido
de espacio de trabajo de LIBSYS si se ha señalado por medio de una bandera como imprime-solamente.
25. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 25
Casos de uso
Son un escenario basado en la técnica de
UML que permite identificar a los actores
interactuantes y que describen la interacción
propiamente dicha.
Un conjunto de casos de uso deben
describir todas las posibles interacciones
con el sistema.
Diagramas de secuencia se puede utilizar
para añadir detalles a casos de uso,
mostrando la secuencia de transformación
de eventos en el sistema.
26. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 26
Caso de Uso - Imprimiendo
30. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 30
Factores sociales y
organizacionales
Sistemas de software se utilizan en un
contexto social y organizativo. Esto puede
influir o incluso dominar los requisitos del
sistema.
Factores organizativos y sociales no son un
único punto de vista, pero son factores que
influyen en todos los puntos de vista.
Buenos analistas deben ser sensibles a
estos factores, pero actualmente no de
forma sistemática para hacer frente a su
análisis.
31. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 31
Etnografía
Los analistas pasan un considerable tiempo
observando y analizando cómo la gente trabaja
realmente.
La gente no tiene que explicar o articular su trabajo.
Se pueden observar factores sociales y
organizacionales de importancia.
Estudios etnográficos han mostrado que el trabajo
es generalmente más rico y más complejo que la
que sugieren los modelos de sistemas simples.
32. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 32
Etnografía enfocada
Desarrollado en un proyecto de estudio de
un proceso de control de tráfico aéreo
Combina la etnografía con prototipado
Desarrollo de prototipos resulta en preguntas
sin respuesta que enfocan el análisis
etnográfico.
El problema de la etnografía es que estudia
prácticas existentes que pueden tener cierta
base histórica, que ya no es relevante.
34. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 34
Alcance de la etnografía
Los requerimientos se derivan de la forma
en que las personas trabajan realmente, no
de la manera en que las definiciones del
proceso sugieren que deberían trabajar.
Los requerimientos se derivan de la
cooperación y el conocimiento de las
actividades de otras personas.
35. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 35
Validación de requerimientos
Preocupado por demostrar que los
requerimientos definen el sistema que el
cliente realmente quiere.
Los costes de error en los requerimientos
son muy altos, por lo que la validación es
muy importante
• Reparar un error en los requerimientos después
de la entrega puede costar hasta 100 veces
más que la reparación de un error de
implementación.
36. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 36
Verificación de los requerimientos
Verificaciones de validez. El sistema proporciona los
servicios que mejor responden a las necesidades
del cliente?
Verificaciones de consistencia. Hay conflictos entre
los requerimientos?
Verificaciones de completitud. Son todas las
funciones requeridas por el cliente?
Verificaciones de realismo. pueden implementarse
los requerimientos dada la disponibilidad de
presupuesto y tecnología?
Verificabilidad. Pueden ser verificados los
requisitos?
37. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 37
Técnicas de validación de
requerimientos
Revisiones de requerimientos
• Análisis sistemático manual de los
requerimientos.
Construcción de prototipos
• Usando un modelo ejecutable del sistema para
verificar los requerimientos. Contempladas en el
Capítulo 17.
Generación de casos de prueba
• Desarrollar pruebas para los requerimientos del
usuario y comprobar que éstos deben poder
probarse.
38. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 38
Evaluación de requerimientos
Evaluaciones periódicas deberían realizarse
mientres la definición de los requerimientos
se está formulando.
Tanto el cliente como el personal contratista
deben participar en las evaluaciones.
Las evaluaciones pueden ser formales (con
documentos completos) o informales. Una
buena comunicación entre desarrolladores,
clientes y usuarios pueden resolver los
problemas en una etapa inicial o temprana.
39. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 39
Revisiones de los requerimientos
Verificabilidad. Puede probarse el
requerimiento de modo realista?
Comprensibilidad. Es el requisito
comprensible?
Rastreabilidad. Está claramente definido el
origen del requerimiento?
Adaptabilidad. Puede modificarse el
requerimiento sin causar un gran impacto en
otros requerimientos?
40. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 40
Gestión de requerimientos
Es el proceso de gestionar la evolución de los
requerimientos durante el proceso de ingeniería de
requerimientos y el desarrollo del sistema.
Los requerimientos son inevitablemente incompletos
e inconsistentes
• Nuevos requerimientos emergen durante el proceso de
cambio de requerimientos de la empresa y una mejor
comprensión del sistema es desarrollada;
• Puntos de vista diferentes, tienen diferentes
requerimientos y éstos son a menudo contradictorios.
41. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 41
Cambio en los requerimientos
La prioridad de los requerimientos de los
diferentes puntos de vista cambia durante el
proceso de desarrollo.
Los clientes del sistema pueden especificar
los requerimientos desde una perspectiva
empresarial que entra en conflicto con los
requerimientos de los usuarios finales.
El entorno empresarial y técnico del sistema
cambia durante su desarrollo.
42. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 42
Evolución de requerimientos
43. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 43
Requerimientos duraderos y
volátiles
Requerimientos duraderos. Derivados de la
actividad principal de la organización. Por
ejemplo, un hospital tendrá siempre
médicos, enfermeras, etc. Pueden derivarse
de modelos del dominio
Requerimientos volátiles. Requerimientos
que cambian durante el desarrollo o cuando
el sistema está en uso. En un hospital,
requerimientos derivados de la política de
atención a la salud
44. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 44
Clasificación de los
requerimientos
Tipo de
requerimiento
Descripcion
Requerimientos
cambiantes
Requerimientos que cambian debido a los cambios en el entorno en el que opera la
organización. Por ejemplo, en los sistemas hospitalarios, el pago del cuidado del
paciente puede cambiar y así requerir un tratamiento diferente la información a tratar
Requerimientos
emergentes
Requerimientos que emergen a medida que la comprensión del sistema por parte del
cliente aumenta durante el desarrollo del sistema. El proceso de diseño puede revelr
nuevos requerimientos emergentes.
Requerimientos
consecuentes
Requerimientos que resultan de la introducción de un sistema informático o
computacional. Al introducir dicho sistema pueden cambiar los procesos
empresariales y abrir nuevas formas de trabajo que generan nuevos requerimientos
del sistema
Requerimientos
de
compatibilidad
Requerimientos que dependen en sistemas particulares o procesos empresariales
dentro de las organizaciones. A medida que esos cambian, los requerimientos de
compatibilidad en el sistema entregado puede que también tengan que evolucionar.
45. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 45
Planificación de la gestión de
requerimientos
Durante el proceso de ingeniería de requerimientos,
usted tiene que planificar:
• La identificación de requerimientos
• Cómo los requerimientos son identificados individualmente;
• Un proceso de gestión del cambio
• El proceso seguido en el análisis de requerimientos de un
cambio;
• Las políticas de rastreo
• La cantidad de información acerca de las relaciones de los
requerimientos que se mantienen;
• Herramientas CASE de apoyo
• La herramienta de apoyo requerida para ayudar a gestionar
los cambios en los requerimientos;
46. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 46
Rastreabilidad
La rastreabilidad se refiere a las relaciones entre los
requerimientos, sus fuentes y el diseño del sistema
Información de rastreo de la fuente
• Enlaces de los requerimientos a los stakeholders que
propusieron estos requerimientos;
Información de rastreo de los requerimientos
• Vínculos entre los requerimientos dependientes;
Información de rastreo del diseño
• Enlaces de los requerimientos hacia el diseño;
48. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 48
Herramienta CASE de apoyo
Almacenamiento de requerimientos
• Los requerimientos deben ser administrados de forma
segura, desde un almacén de datos.
Gestión del cambio
• El proceso de gestión del cambio es un proceso de flujo
de trabajo cuyas etapas pueden ser definidas y el flujo de
información entre estas etapas parcialmente
automatizado.
Gestión de rastreo
• Recuperación automatizada de los vínculos entre los
requisitos.
49. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 49
Gestión del cambio de
requerimientos
Debería aplicarse a todos los cambios
propuestos a los requerimientos.
Principales etapas
• Análisis de problemas. Discutir las necesidades
y proponer cambios;
• Análisis del cambio y cálculo de costos. Evaluar
los efectos del cambio en los demás
requerimientos;
• Implementación del cambio. Modificar el
documento de requerimientos y otros
documentos a fin de reflejar el cambio.
51. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 51
Puntos clave
El proceso de ingeniería de requerimientos
incluye un estudio de viabilidad, obtención y
análisis de requerimientos, especificación de
los requerimientos y gestión de
requerimientos.
Obtención y análisis de requerimientos es
iterativa, puesto que implica la comprensión
de dominio, clasificación, estructuración,
priorización y validación.
Los sistemas tienen múltiples stakeholders
con diferentes requerimientos.
52. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 52
Puntos clave
Factores sociales y organizacionales
influyen en los requerimientos del sistema.
La validación de requerimientos se refiere a
verificaciones de validez, consistencia,
integridad, realismo y la verificabilidad.
Cambios en las empresas inevitablemente
llevan a cambios en los requerimientos.
La gestión de requerimientos incluye la
planificación y gestión del cambio.