You are on page 1of 19

Fac.

Informtica - Universidad Nacional de La Plata Maestra Ingeniera de Software

Procesos de la Ingeniera de Requerimientos


If you can't describe what you are doing as a process, you don't know what you're doing. W. Edwards Deming

Alejandro Oliveros aoliveros@gmail.com

Tpicos I

2do. Cuatrimestre 2011

Temario
El proceso global Los procesos detallados Otros modelos Gestin de los requerimientos

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

Productos entregables
Modelos del dominio del problema de los requerimientos funcionales de los requerimientos no funcionales

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

Aspectos principales de la RE
Tres aspectos fundamentales de la RE:
comprender el problema describir el problema acordar sobre la naturaleza del problema

Propuesta:
elicitacin especificacin validacin

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

Procesos de RE (Loucopoulos)
Feedback del usuario Usuario Modelos a validar por el usuario Especificacin de Requerimientos Modelos de Requerimientos Especificacin Necesidad de ms conocimiento Resultados de la validacin Validacin

Requerimientos del usuario

Conocimiento Elicitacin

Conocimiento del dominio Dominio del Problema

Conocimiento del dominio

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

Procesos de RE (Loucopoulos, modificado)


Estos procesos generan productos y su vez son alimentados por otros productos. Los productos son las interfases entre los procesos. Estos productos y procesos requieren ser gestionados o gerenciados. La gestin del conocimiento y la administracin de los stakeholders requieren una gestin especfica. Hay actividades de gerenciamiento, esto es, actividades de:
Planeamiento Administracin Control Organizacin

Feedback del usuario Usuario Requerimientos del usuario Modelos a validar por el usuario

Conocimiento Elicitacin Necesidad de ms conocimiento Conocimiento del dominio

Especificacin de Requerimientos Modelos de Requerimientos Validacin Resultados de la validacin Conocimiento del dominio Dominio del Problema

Especificacin

Gestin de requerimientos

Esto constituye la Gestin de Requerimientos que interacta con todos los procesos de RE
UNLP-TI-2011-Alejandro Oliveros Procesos de la Ingeniera de Requerimientos 6

Requerimientos de software - SWEBOK


Requerimientos de software
Fundamentos de los requerim. de software
Definicin de un requerimiento de software Producto y procesos de requerimientos Requerimientos funcionales y no funcionales Propiedades emergentes Requerimientos cuantificables Requerimientos del sistema y requerimientos del software

Procesos de requerim.

Elicitacin de requerim.

Anlisis de requerim.

Especificacin de requerim.

Validacin de requerim.

Consideraciones prcticas

Modelos de procesos Actores de procesos Procesos de gestin y soporte

Fuentes de los requerimientos Tcnicas de elicitacin

Clasificacin de requerimientos Modelaje conceptual Diseos de arquitectura y asignacin de requerimientos

Documentacin de definicin del sistema Especificacin de requerimientos del sistema Especificacin de requerimientos de software

Revisin de requerimientos Prototipeo

Naturaleza iterativa de los requerimientos Gestin de cambios Atributos de los requerimientos

Validacin de modelo

Calidad y mejora de los procesos

Negociacin de requerimientos

Test de aceptacin

Rastreo de requerimientos

Medicin de requerimientos

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

Temario
El proceso global Los procesos detallados Otros modelos Gestin de los requerimientos

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

Esquema del proceso de RE


Cada proceso se describe en trminos de:
propsito del proceso el input del proceso y sus orgenes las actividades que tienen lugar durante la ejecucin del proceso y las tcnicas usadas los entregables (o productos) final e intermedios la interaccin con otros procesos de la RE

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

Elicitacin

Cuando se trata de resolver un problema la primero es descubrir ms sobre l

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

10

Proceso de elicitacin
Propsito
ganar conocimiento relevante del problema, para producir una especificacin rigurosa del software necesario para resolver el problema; al final de la fase de RE el analista podra ser un experto en el dominio del problema;

Productos:
es un proceso de creacin de modelos; desde modelos conceptuales hasta el modelo de la especificacin de requerimientos; el analista comienza con modelos mentales con conocimiento dependiente del domino; al avanzar, los modelos son ms orientados al software; no se produce ningn modelo formal; sucesin de modelos mentales del dominio del problema;

Input
expertos del dominio; literatura sobre el dominio; software existente en el dominio; software similar en otros dominios; standards nacionales e internacionales; otros stakeholders;

Interaccin con otros procesos


provee el material de base para los otros procesos; ocurre en paralelo con los otros procesos;

Actividades
identificar fuentes de conocimiento; adquirir y decidir sobre la relevancia de un conocimiento; comprender el significado e impacto del conocimiento; tcnicas utilizadas: entrevistas, prototipos, reuso de conocimiento;
UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

11

Evolucin de los modelos que se producen en la RE

Desde los modelos ms imprecisos a los de mayor precisin y rigor

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

12

Especificacin
Una especificacin puede ser vista como un contrato entre usuarios y desarrolladores de software, que define el comportamiento funcional deseado del artefacto de software (y otras propiedades de este, tales como performance, confiabilidad, etc.) sin mostrar como ser alcanzada tal funcionalidad (M.L.)

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

13

Proceso de especificacin
Propsito
acuerdo usuario-desarrolladores sobre el problema a resolver; pauta para el desarrollo de un sistema de software;
Productos
se producen una variedad de modelos: orientados al usuario, que especifican comportamiento, caractersticas no funcionales, etc. orientados al desarrollador, que especifican propiedades funcionales y no funcionales del software y restricciones

Input
conocimiento sobre el dominio del problema lo provee el proceso de elicitacin

Interaccin con otros procesos


proceso central de la RE; controla los otros procesos; elicitacin-especificacin: puede requerir ms informacin de la elicitacin cambios en el conocimiento del dominio del problema generan cambios en la especificacin especificacin-validacin: Cada parte de la especificacin dispara necesidades de validacin
14

Actividades
anlisis y asimilacin del conocimiento de los requerimientos; sntesis y organizacin del conocimiento en un modelo de requerimientos coherente y lgico ;
UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

Validacin
Proceso que certifica que se ataca el problema correcto Hay enfoques de RE que no lo separan de elicitacin y especificacin La diferenciacin es importante por razones conceptuales y prcticas

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

15

Proceso de validacin
Propsito
certifica la consistencia del modelo (de requerimientos) con las intenciones de clientes y usuarios; ms general que la idea comn de validacin la necesidad aparece cuando se modifica el modelo actual; se aplica tambin a los modelos intermedios;

Productos
modelo de requerimientos en lnea con las expectativas de los usuarios; no significa que el modelo sea correcto; compromiso entre lo deseado y lo posible y factible ;

Interaccin con otros procesos


la validacin est presente en todos los procesos de la RE, la dispara:
nuevo conocimiento sobre el dominio del problema (elicitacin) formulacin de un modelo de requerimientos (especificacin)

Input
todo modelo est sujeto a validacin, por lo tanto cada modelo es input; el conocimiento sobre el dominio del problema algunas partes del modelo formal;

Actividades
interaccin entre analistas, clientes del sistema y usuarios en el dominio del problema; similar a formular una nueva teora cientfica y posteriormente testearla; caracterizada por:
preparacin del experimento experimentar y analizar los resultados

la validacin se requiere en las etapas de anlisis y sntesis (pues debe chequearse la correccin de la informacin);

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

16

Ejercicio en grupo Procesos de requerimientos


En cada grupo considerar un caso concreto de proyecto de desarrollo en el que alguno de los miembros estuvo involucrado 1. Enunciar al menos 10 actividades vinculadas a requerimientos que se hayan ejecutado Clasificar cada una de esas actividades en los procesos de elicitacin, especificacin o validacin (dar un ejemplo de al menos dos actividades por proceso) Ejemplo de enunciado de actividad:
El lder del proyecto y un analista entrevistaron al gerente del rea principalmente involucrada en el proyecto en desarrollo para establecer los objetivos que debe satisfacer el software. La actividad es de elicitacin.

2. En las actividades de validacin, enunciar los stakeholders que participarn, en caso de ser necesario indicar la cantidad

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

17

Temario
El proceso global Los procesos detallados Otros modelos Gestin de los requerimientos

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

18

SADT (C)
Control
afecta a los procesos de transformacin de los inputs

(I)
Inputs
entradas que sern transformadas por la funcin

FUNCION

(O)
Output
resultado de la funcin

Mecanismos

(M)
UNLP-TI-2011-Alejandro Oliveros

componentes necesarias para ejecutar la funcin

Procesos de la Ingeniera de Requerimientos

19

Modelo SADT de RE

UdD

Seleccin Personal

Software Eng. Viewpoints Clientes Mtodo

UdD

Elicit

hechos requirimientos

Modeliz.
modelo UdD

Anlisis Seleccin Mtodo


tools

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

20

Comparacin del proceso


La elicitacin es ms general que la que se propone en la literatura Elicitacin comienza luego que se establecieron las condiciones tcnicas, econmicas y operativas del proceso de desarrollo (anlisis de contexto y negocio)

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

21

Actividades segn van Lamsweerde


Comprensin del dominio Elicitacin de requerimientos Evaluacin de requerimientos Especifiacin y documentacin de requerimientos Aseguramiento de calidad de requerimientos Evolucin de requerimientos

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

22

RE en el waterfall
La RE es una fase de comprensin seguida por invencin (diseo) y realizacin (codificacin). La idea de que una fase se basa en la anterior es simplista:
descubrimientos y cambios en las fases posteriores afectan los pasos iniciales cambios en una fase, una vez que se implementan, producen cambios en las posteriores.

Visin esttica: ignora la volatilidad y su impacto en las fases iniciales y finales del desarrollo

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

23

RE en el modelo espiral
En cada fase ejecuta:
plan de las prximas fases determina objetivos, alternativas, restricciones evala alternativas, identifica y resuelve riesgos desarrolla, verifica el producto del siguiente nivel

Introduce dos subprocesos adicionales de la RE:


anlisis de riesgo de los requerimientos (usando simulacin y prototipos) planeamiento para el diseo

Sin embargo no puede manejar los cambios no previstos y sus impactos en otras fases.

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

24

RE en el modelo prototipo
Los prototipos son aceptados como una tcnica que puede ser usada en cualquier metodologa de desarrollo, en nuestro esquema se considerar como una tcnica de validacin. La elicitacin, especificacin y validacin son procesos que ocurren en el proceso de desarrollo del sistema:
Elicitacin: se alcanza involucrando al usuario en el uso del prototipo Anlisis de requerimientos: se hace analizando la estructura y comportamiento del prototipo Especificacin formal: coincide con el desarrollo del prototipo (en caso de prototipo evolutivo) Validacin: se alcanza validando el prototipo contra las intenciones del usuario.

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

25

RE en el anlisis de dominio
Anlisis de dominio:
existen similitudes en las aplicaciones de un mismo dominio de problema el anlisis resultante de una aplicacin puede aplicarse a una similar

Cambia radicalmente la comprensin de la RE:


fases tales como comprensin del problema se reducen a seleccionar y recuperar los contenidos del anlisis del dominio bajo consideracin elicitacin: se reduce considerablemente porque una gran parte ha sido hecho como parte del anlisis del dominio especificacin = seleccionar la componente adecuada de la biblioteca con las adaptaciones que correspondan validacin: se reduce porque la biblioteca de componentes ha sido validada en el anlisis de dominio

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

26

Ejercicio en grupo Modelo de procesos de requerimientos


1. Analice la opcin de no ejecutar algunos de los procesos de elicitacinmodelizacin-validacin 2. Dar un ejemplo que muestre los efectos negativos que produce considerar el modelo elicitacin-modelizacin-validacin como una secuencia rgida y fija de avance constantes y sin que requiera retroceder en ningn caso

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

27

Temario
El proceso global Los procesos detallados Otros modelos Gestin de los requerimientos

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

28

Gestin de requerimientos
Manejo de los cambios a los requerimientos Preocupado por el manejo de:
Cambios de requerimientos acordados Cambios de las relaciones entre requerimientos Las dependencias de la SRS y otros documentos de desarrollo

Los requerimientos no pueden manejarse sin rastreabilidad de requerimientos Un requerimiento es rastreable si se conoce:
quin lo sugiri por qu existe con qu requerimientos est relacionado cmo se relaciona con otros documentos de desarrollo y operacin

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

29

Sistema de gestin de requerimientos

Browser

Query

Documento de la SRS

Conversor de requerim

Base de datos de requerimientos

Soporte a rastreabilidad

Linkeador con el WP Control de cambios Generador de informes

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

30

Requerimientos estables y voltiles


Los cambios de requerimientos ocurren desde el comienzo del desarrollo y ms all de la puesta en marcha Ciertos requerimientos estn ms sujetos al cambio que otros
Los ms estables estn ms vinculados a la esencia del sistema Los ms voltiles son especficos de la instanciacin del sistema en un ambiente y consumidor

Razones de cambios de los requerimientos


Errores, conflictos e inconsistencias Evolucin del conocimiento del cliente/usuario final Problemas tcnicos, de calendario o costos Cambios en las prioridades de los consumidores Cambios ambientales Cambios organizacionales

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

31

Gestin del cambio


Inters de Gestin del cambio (CM): procedimientos, procesos y estndares usados para manejar los cambios de requerimientos Se requiere una poltica que gue el CM y debe cubrir el pedido de cambio, el anlisis del cambio y el esquema organizativo que toma la decisin El proceso de gestin del cambio abarca:
Identificacin del problema de requerimientos El anlisis del cambio propuesto La implementacin del cambio

Problema identificado

Anlisis del problema y especificacin del cambio

Anlisis del cambio y costeo

Implementacin del cambio Requerim. revisado

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

32

Rastreabilidad
Permite evaluar el impacto de los cambios de requerimientos Tipos de rastreabilidad:
HACIA ADELANTE HACIA ATRAS

Backward

Fuentes de los equerimientos

SRS

Diseo del sistema

Forward
HACIA ADELANTE HACIA ATRAS

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

33

Resumen Gestin de Requerimientos


Los cambios de requerimientos son inevitables a medida que los clientes entienden mejor el ambiente Los requerimientos asociados con la esencia del sistema son ms estables Manejar una gran masa de requerimientos requiere algn tipo de base de datos Las polticas de CM deben definir procesos y responsables La informacin de rastreabilidad nos indica las relaciones de los requerimientos con sus fuentes y con la implementacin

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

34

Temario
El proceso global Los procesos detallados Otros modelos Gestin de los requerimientos

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

35

Puntos clave
No hay consenso sobre qu constituye RE, su alcance, etapas, metas y entregables. El problema deriva de:
slo recientemente se reconoci a RE como una disciplina de desarrollo de software por derecho propio; variedad de los grados de rigor y formalidad con que la RE es tratada en los mtodos de desarrollo de software; el hecho que el anlisis de sistemas es un proceso poco definido y poco estructurado.

Todas las metodologas de desarrollo proponen las tres etapas, pero tradicionalmente la menos considerada y enfatizada ha sido la validacin ... los mtodos contemporneos de desarrollo de software prefieren describir la ingeniera de requerimientos por sus productos ms que por sus procesos, como lo prueba la pltora de formalismos de modelizacin en uso.

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

36

Ejercicio en grupo Gestin de requerimientos


Considerar el proyecto de desarrollo del ejercicio anterior Enunciar 5 actividades del rea de Gestin de Requerimientos o relacionadas con ese rea Ejemplo de actividades de gestin de requerimientos: Los usuarios del Departamento X proponen que se cambie la definicin de una salida. Se efectu una reunin del equipo para establecer qu usuario requiri esa salida

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

37

Referencias
[Cysn] Cysneiros, L.M., Leite, J.C., Using Non-Functional Requirements to Improve the Software Development Process, Notas de curso tutorial, ICRE, Chicago Loucopoulos, P., Karakostas, V., System Requirements Engineering, McGrawHill, 1995, London. Kotonya, G., Sommerville, I., Requirements engineering. Processes and techniques, John Wiley & Sons, 1998. Chap 6. Guide to the Software Engineering Body of Knowledge, 2004 Version, IEEE Computer Press, CHAP 2, Software Requirements, pp 2-1 a 2-17

UNLP-TI-2011-Alejandro Oliveros

Procesos de la Ingeniera de Requerimientos

38

You might also like