Vous êtes sur la page 1sur 71

INGENIERA DE REQUERIMIENTOS

UNIVERSIDAD DE LAS AMERICAS


AUTOR: M.Sc. Ing. Ral Crdova 2011

12/06/2011

INGENIERA DE REQUISITOS
La construccin de un sistema de software comienza con la determinacin de lo que se pretende como resultado final del proceso.  En el caso de la IS es ms complejo, pues la idea completa del artefacto deseado descansa en un conjunto de personas de diferentes formaciones y conocimientos: a veces no saben siquiera qu es lo que quieren.

12/06/2011 2

INGENIERA DE REQUISITOS
La actividad de determinar los requisitos que debe cumplir o satisfacer el sistema software final se denomina actualmente como Ingeniera de Requisitos (IR) o Requirements Engineering.  Pese a la investigacin dedicada a esta rea y a los esfuerzos de estandarizacin, esta fase del proceso de desarrollo de SW sigue sin alcanzar un total consenso en cuanto a su definicin, alcance y proceso.

12/06/2011 3

INGENIERA DE REQUISITOS
Segn el estndar IEEE 610.12, 1991, IR es el proceso de estudiar las necesidades del usuario para llegar a una definicin de requisitos de sistema, hardware o software.  Davis (1993) dice que la fase de Requerimientos de Software incluye analizar el problema software y concluir con una especificacin completa del comportamiento externo deseado del sistema software a construir

12/06/2011 4

INGENIERA DE REQUISITOS
Para Loucopoulos and Karakostas, 1995, la Ingeniera de Requisitos tiene dos definiciones:  Tiene que ver con las actividades que intentan entender las necesidades exactas de los usuarios de un sistema software y trasladar tales necesidades a precisas y no ambiguas declaraciones, que sern utilizadas en el desarrollo del sistema.


12/06/2011

INGENIERA DE REQUISITOS
 Es

el proceso sistemtico de desarrollar requerimientos a travs de un proceso iterativo y cooperativo de anlisis del problema, documentando las observaciones resultantes en una variedad de formatos de representacin y chequeando la precisin del entendimiento ganado
6

12/06/2011

INGENIERA DE REQUISITOS
 Hsia

et al. 1993 define IR como la aplicacin disciplinada de principios, mtodos, herramientas y notaciones probados para describir el comportamiento y sus restricciones de un sistema propuesto

12/06/2011

INGENIERA DE REQUISITOS
 Bubenko

1995 y Finkelstein 1994 destacan la extensin al mundo real de las actividades de la IR, a diferencia de los enfoques de la dcada anterior que slo se centraban en el sistema software.

12/06/2011

INGENIERA DE REQUISITOS


El producto a obtener de este proceso son los requisitos que tambin tienen diferentes visiones, aunque es aceptada una definicin del IEEE Standard 610 (1990) que declara requisito como:
Condicin o capacidad necesitada por un usuario para resolver un problema o lograr un objetivo. Condicin o capacidad que debe poseer un sistema para satisfacer un contrato, estndar, especificacin u otro documento formalmente impuesto.

12/06/2011

INGENIERA DE REQUISITOS
Esta definicin es muy general y deja abierta interpretaciones diversas sobre las caractersticas y profundidad de los requisitos.  Aunque tradicionalmente se ha entendido el requisito como una definicin del qu debe satisfacer un sistema software, siempre se ha debatido sobre la imposibilidad de separarlo del cmo.


12/06/2011

10

INGENIERA DE REQUISITOS
 La

nocin tradicional de ciclo de vida de desarrollo de software con la captura de requisitos siendo completados antes de la etapa de diseo no es satisfactoria. La captura de requisitos y el diseo, se visualizan como etapas simbiticas.

12/06/2011

11

INGENIERA DE REQUISITOS
 Tambin

se debe distinguir entre requisitos funcionales y no funcionales.  Requisitos funcionales son los que se refieren a las tareas que se espera que ejecute un sistema software, por ejemplo:
El sistema aceptar pagos con tarjeta de crdito.
12/06/2011 12

INGENIERA DE REQUISITOS
 Los

requisitos no funcionales describen otras caractersticas y restricciones que el sistema debe cumplir, por ejemplo:
El sistema aceptar pagos con tarjetas de crdito de forma segura y con un tiempo de respuesta menor a 5 segundos.

12/06/2011

13

INGENIERA DE REQUISITOS
 Tambin

es importante declarar lo que el sistema software NO debe hacer.  Estos requisitos en NEGATIVO permiten acotar el sistema, evitando gastar recursos en caractersticas innecesarias y tambin para evitar situaciones peligrosas en sistemas crticos.
12/06/2011 14

INGENIERA DE REQUISITOS
 Otro

investigador, Harwell, 1993, presenta una taxonoma ms detallada, en las que se considera la siguiente caracterstica de los requisitos:

12/06/2011

15

INGENIERA DE REQUISITOS
1.

a. b.
2.

Tipo de requisitos Aplicacin de requisitos


i. ii.

Primario Derivado

a.

Parmetro de producto Parmetro de programa


Cualitativo Cuantitativo

b.
i.

ii. iii.

3.

a. b. c.
4.

Nivel de conformidad de requisitos


Mandatorio Gua Informacin

Tarea Evaluacin de conformidad Regulatoria

Prioridad

12/06/2011

16

INGENIERA DE REQUISITOS


Una clasificacin ms simple pero clara es la presentada por Hruschka, 1997. Los requisitos, en general, se dividen en:
capacidades requeridas, que seran los tpicamente funcionales Restricciones requeridas, que limitan las alternativas de solucin.

Ambas se complementan con requisitos de rendimiento, que indican cun bien deben satisfacerse.
17

12/06/2011

INGENIERA DE REQUISITOS


Las capacidades requeridas pueden ser:


Capacidad de almacenaje requerido. Capacidad funcional requerida o capacidad de comportamiento requerido.

12/06/2011

18

INGENIERA DE REQUISITOS


Las restricciones requeridas pueden ser


Requisitos fsicos:
   

Tamao Forma Peso Fuerza, entre otras

12/06/2011

19

INGENIERA DE REQUISITOS
Requisitos de garanta del producto:
  

Calidad Seguridad Fiabilidad, entre otras Termal Mecnico Elctrico, etc. Implementacin Prueba, etc.

Requisitos de entorno
  

Restricciones de desarrollo:
 

12/06/2011

20

INGENIERA DE REQUISITOS


Junto con estas clasificaciones tambin se proponen caractersticas que deben cumplir los requisitos entre las que destacan:
Completitud Claridad Consistencia Correccin, entre otras
21

12/06/2011

IMPORTANCIA DE LA IR
La calidad del producto de software depende de cmo se hayan realizado las actividades de IR, es decir, este proceso inicial es un factor crtico de xito del proceso de desarrollo de software.  Curtis et al., 1988, declaraba que el exacto conocimiento del dominio del problema es crtico para el xito del proyecto.


12/06/2011

22

IMPORTANCIA DE LA IR


Boehm,1981, report que:


Un 6% del costo y entre un 9% y 12% del tiempo del proyecto son gastados en la fase de requisitos. Cuesta entre 5 y 10 veces ms reparar los errores en la fase de codificacin que en la fase de requisitos. Cuesta entre 100 y 200 veces ms reparar errores en la fase de mantenimiento que si se repararan en la de requisitos.

12/06/2011

23

IMPORTANCIA DE LA IR


Stockman and Norris, 1991, sobre la gestin de los proyectos de desarrollo dicen que:

En promedio, los sistemas son entregados un ao despus de tiempo. El 1% de los proyectos termina dentro del tiempo y costes presupuestados. Un 25% de los proyectos nunca finalizan. El 55% de los fallos se producen en la etapa de anlisis y especificacin de requisitos. El 43% de los errores no son encontrados hasta despus de la etapa de pruebas.

12/06/2011

24

IMPORTANCIA DE LA IR
 Lubars

et al., 1992, realiz entrevistas a 87 desarrolladores de 23 proyectos de 10 organizaciones de EEUU. Su trabajo arroj los siguientes resultados:

12/06/2011

25

IMPORTANCIA DE LA IR
Los proyectos orientados al mercado tienden a declarar ms informalmente los requisitos que los orientados a clientes especficos.  La mala interpretacin de los requisitos ocurren ms a menudo en los orientados al mercado (quiz porque no hay un cliente identificable o los desarrolladores tienen poca experiencia en el dominio).


12/06/2011

26

IMPORTANCIA DE LA IR
Pocos proyectos (8 de 23) usan una herramienta upperCase comercial.  No hay clara distincin entre requisitos y diseo.  La planificacin del proyecto ocurre al mismo tiempo que se elaboran los requisitos.  Soluciones organizacionales preferidas sobre tecnolgicas.  Tecnologa de propsito general preferida sobre CASE.

12/06/2011 27

IMPORTANCIA DE LA IR
Existen dos propuestas que intentan medir la realizacin del proceso de IR.  La primera es presentada por El Emam and Madhavji, 1995, que desarrollan un instrumento para medir el xito del proceso IR. Tiene 32 indicadores que cubren las dos ms importantes dimensiones: la calidad de servicio y la calidad de productos de IR.


12/06/2011

28

IMPORTANCIA DE LA IR
La segunda propuesta es un marco para sistematizar el proceso mediante una adopcin incremental de buenas prcticas en IR.  El enfoque est basado en el modelo de madurez, pero a diferencia de ste, slo tiene tres niveles: Inicial, Repetible y Definido.  Contempla 66 buenas prcticas, clasificadas como bsicas, intermedias o avanzadas.

12/06/2011 29

IMPORTANCIA DE LA IR
Cada gua contiene descripcin de sus beneficios, costo de introduccin y costo de aplicacin.  Las guas estn clasificadas de acuerdo a la actividad que contribuyen y adems, estn estratificadas y ponderadas de acuerdo al grado de adopcin (estandarizada, uso normal, discrecional, nunca).  Para estimar la madurez se realiza un clculo de las guas utilizadas y de acuerdo a ese valor se asigna un nivel.

12/06/2011 30

Bibliografa
 SOFTWARE

REQUIREMENTS: Objects, Objects, functions and states. states.  ALAN DAVIS, McGraw-Hill, 1993 McGraw Captulo 3: 3.2 Caractersticas de una buena especificacin de requerimientos de software.

12/06/2011

31

EL PROCESO DE IR


Definiciones.
El proceso de Ingeniera de Software se puede resumir, segn Pfleeger, 1998, en un subproceso de Anlisis del Problema, seguido de un proceso de Sntesis de la Solucin.

SUBPROCESO DE ANALISIS DEL PROBLEMA:


Es donde se deben determinar los requisitos que deber satisfacer la solucin desarrollada

12/06/2011

32

EL PROCESO DE IR


Este proceso puede ser:


Interno a la organizacin: el sistema est siendo construido por esa organizacin para uso propio. A medida: donde un cliente pide a otra organizacin construir un sistema especfico a sus requisitos. Adaptacin: en el cual un producto genrico o marco es ajustado a las necesidades de un cliente. Cooperativo: en el cual el conocimiento de la aplicacin, los requisitos y el eventual uso del sistema est distribuido entre diferentes organizaciones Orientado al producto: en el cual una organizacin desarrolla un producto para el mercado. (Finkelstein 1994).

12/06/2011

33

PROBLEMA

ANALISIS Subproblema 1 Subproblema 2 Subproblema n

Solucin 1

Solucin 2

Solucin n SINTESIS

SOLUCIN
12/06/2011 34

PROCESO DE IR
Existe poca uniformidad con respecto a la terminologa de la estructura del proceso de IR.  Quizs lo ms consensuado sea el carcter iterativo y concurrente de las actividades del proceso, principalmente las iniciales: educcin, modelado, anlisis, que incluso se suceden a travs de todo el proceso software.


12/06/2011

35

ENFOQUES DEL PROCESO DE IR


 Dobson

et al. 1992, desarrollaron en el proyecto ORDIT un enfoque sociosociotcnico del proceso de requisitos en el cual el sistema es considerado como un todo y con el usuario como parte integral de ese sistema.

12/06/2011

36

ENFOQUES DEL PROCESO DE IR




La metodologa ORDIT tiene 5 componentes:


Un modelo de proceso. Un modelo para la educcin y modelado de requisitos, donde considera tres roles al menos: propietario de requisitos, eductor de requisitos y modelador de requisitos. Un lenguaje de modelado de empresa. Para representar la estructura de la organizacin y as determinar los propietarios de requisitos y sus roles y la comunidad de usuarios.

12/06/2011

37

ENFOQUES DEL PROCESO DE IR


Un lenguaje de modelado de informacin. Para derivar los modelos de datos que son requeridos y tambin los requisitos no funcionales. Un modelo de referencia de rol. Para definir y caracterizar cada rol de la organizacin. Herramientas de apoyo. A construir para ayudar al analista.
12/06/2011 38

ENFOQUES DEL PROCESO DE IR


Davis 1993, propone una fase de requisitos software con dos actividades principales que se dividen en tareas especficas:
 Anlisis

del problema  Descripcin del problema

12/06/2011

39

Idea origen

ANLISIS DEL PROBLEMA

Delinear restricciones Refinar restricciones Negociar entre restricciones conflictivas Entendimiento del problema Expansin de la informacin

Un relativo entendimiento completo de los requerimientos

DESCRIPCIN DEL PROBLEMA

Chequeo de consistencia Consolidacin

Una especificacin de requerimientos de software completa y consistente


12/06/2011 40

ENFOQUES DEL PROCESO DE IR


 Loucopoulos

and Karakostas 1995, indican que IR abarca tres aspectos fundamentales, mostrados en la Figura 3:
Entendimiento del problema (educcin) Descripcin del problema (especificacin) Alcanzar un acuerdo sobre la naturaleza del problema (validacin).

12/06/2011

41

ENFOQUES DEL PROCESO DE IR


Para Jitnah et al. 1995, la IR consta de actividades de educcin, anlisis y especificacin de requisitos.  Estas tareas no necesariamente son ejecutadas en algn orden o distintos periodos de tiempo.  A menudo, los requisitos son sintetizados durante un ciclo iterativo de educcin y anlisis; incluso las actividades de educcin y anlisis pueden considerarse como concurrentes.

12/06/2011 42

ENFOQUES DEL PROCESO DE IR


A medida que se obtiene la informacin de requisitos, se va realizando una interpretacin de dicha informacin para analizarla (Mallick and Krishna, 1999)  Pohl 1996, describe el proceso IR mediante las actividades de educcin, negociacin, especificacin/documentacin y verificacin/validacin de requisitos, mostradas en la Figura 4.


12/06/2011

43

ENFOQUES DEL PROCESO DE IR




Para Sutcliffe 1996, las actividades que involucra la IR son:


Alcance: se deben establecer las fronteras del sistema. Se pueden utilizar las tcnicas de Brainstorming y Rapid/Joint Application Design (RAD/JAD). Obtencin de Hechos: captura de informacin de requisitos a travs de mltiples tcnicas. Anlisis: se utiliza la informacin obtenida para conformar una descomposicin basada en objetivos.

12/06/2011

44

ENFOQUES DEL PROCESO DE IR


Modelacin: utiliza las salidas de anlisis, estructura los hechos y los representa en una notacin adecuada. Validacin: confirmar que los requisitos determinados satisfacen los deseos de los usuarios. Anlisis de conflictos y negociacin: los requisitos pueden no ser satisfechos o existe discrepancias entre diferentes interesados.
12/06/2011 45

ENFOQUES DEL PROCESO DE IR




Para Kotonya and Sommerville 1998, el proceso de IR es iterativo y se puede realizar a travs de todo el proceso de desarrollo. Establece 4 actividades principales:
Educcin (captura, descubrimiento, adquisicin) Anlisis (y negociacin) Especificacin Validacin de requerimientos

Adems, establece una actividad de Gestin de Requerimientos para manejar los cambios, mantenimiento y trazabilidad de los requerimientos, como se muestra en la Figura 5.
46

12/06/2011

ENFOQUES DEL PROCESO DE IR


 Para

Robertson and Robertson 1999, el proceso de IR tiene como objetivo entender el trabajo y/o dominio en que se pretende construir una solucin y cules son las caractersticas funcionales, de calidad y restricciones que debe satisfacer.
47

12/06/2011

ENFOQUES DEL PROCESO DE IR


Su salida principal es la especificacin de requisitos que, a su vez, es entrada al anlisis del sistema.  Como se muestra en la Fig. 6, se considera la IR y el anlisis del sistema (o modelizar los requisitos) como dos procesos distintos, a diferencia de otros autores que consideran el anlisis como parte del proceso de IR.


12/06/2011

48

ENFOQUES DEL PROCESO DE IR


 Sin

embargo se enfatiza en el hecho de que ambas actividades tienen un alto grado de solape, creciente en anlisis del sistema y decreciente en captura y especificacin de requisitos.  Segn este enfoque, el proceso de requisitos consta de las siguientes actividades:
12/06/2011 49

ENFOQUES DEL PROCESO DE IR


 Inicio

(llamado Blastoff), donde se definen los lmites del problema, los objetivos del sistema y se realiza anlisis de costos y riesgo iniciales  Reutilizacin de Requisitos, donde se revisa informacin preexistente de sistemas y de la organizacin para entender el dominio
12/06/2011 50

ENFOQUES DEL PROCESO DE IR


 Pesca

de Requisitos, donde se obtienen los requisitos de los interesados utilizando distintas tcnicas.  Especificacin, basada en una plantilla propuesta, y  Paso de Calidad, donde se validan los requisitos.
12/06/2011 51

ENFOQUES DEL PROCESO DE IR


 

Algunas propuestas de modelos de procesos de IR consideran tcnicas especficas de educcin. Es el caso de Herlea et al. 1999, que presenta un modelo de proceso de IR basado en tres tareas principales:
Educcin Manipulacin de Requisitos y Escenarios Mantenimiento de Especificacin de Requisitos y Escenarios.

Tambin considera una actividad de gestin denominada Control de Tareas de IR.

12/06/2011

52

ENFOQUES DEL PROCESO DE IR


 Nuseibeh

and Easterbrook 2000, proponen las actividades de RE:


Contexto y Preacuerdos Educcin Modelacin y Anlisis Comunicacin Validacin, y Evolucin

12/06/2011

53

ENFOQUES DEL PROCESO DE IR


 Van

Lamsweerde 2000, propone las siguientes actividades:


Anlisis de dominio Educcin Negociacin y Acuerdo Especificacin Anlisis de especificacin Documentacin, y Evolucin

12/06/2011

54

ENFOQUES DEL PROCESO DE IR


 Para

Richards 2000, la fase de requisitos contempla las actividades:


Captura Modelacin Validacin Especificacin, y Gestin

12/06/2011

55

ENFOQUES DEL PROCESO DE IR


 Para

Saiedian and Dale 2000, la IR est compuesta por las actividades dedicadas a:
La identificacin de Requisitos de Usuarios Anlisis de los Requisitos Documentacin de los Requisitos como Especificacin y Validacin de los Requisitos.

12/06/2011

56

ENFOQUES DEL PROCESO DE IR


 Segn

Browne and Rogich 2000, la determinacin de requisitos es el proceso de obtener y modelizar informacin relacionada con la funcionalidad de un sistema y ha sido ampliamente reconocida como la actividad ms difcil del desarrollo de sistemas software.
57

12/06/2011

ENFOQUES DEL PROCESO DE IR


 Puede

dividirse en tres pasos:

Obtencin de informacin, donde los analistas educen requisitos de los usuarios Representacin, donde los requisitos son modelados en forma fsica y, Verificacin, donde los analistas verifican con los usuarios si los requisitos modelizados son correctos.
12/06/2011 58

ENFOQUES DEL PROCESO DE IR




Actualmente se ha consensuado un proceso de Ingeniera de Requisitos que contempla las actividades de:
Educcin Anlisis Especificacin Verificacin y, Gestin de Requisitos

Esto se muestra en la Figura 7 (SWEBOK, 2001)


59

12/06/2011

ENFOQUES DEL PROCESO DE IR


 La

EDUCCIN DE REQUISITOS se refiere a la captura y descubrimiento de los requisitos.  Es una actividad ms humana que tcnica, en la que se identifica a los interesados y se establece las primeras relaciones entre ellos y el equipo de desarrollo.
12/06/2011 60

ENFOQUES DEL PROCESO DE IR


 El

ANLISIS DE REQUISITOS consiste en detectar y resolver conflictos entre requisitos.  Durante la realizacin de esta tarea se precisan los lmites del sistema y la interaccin con su entorno, se trasladan los requisitos de usuario a requisitos del software, se clasifican y se modelizan los requisitos.
12/06/2011 61

ENFOQUES DEL PROCESO DE IR


La ESPECIFICACIN DE REQUISITOS plasma en un documento formal las caractersticas deseadas que el sistema software debe cumplir.  Para escribir este documento, denominado Documento de Especificacin de Requisitos Software (ERS) Software Requirements Specification (SRS), se utilizan algunos estndares y guas como el IEEE Std. 830, el PSS-05 de la Agencia PSSEspacial Europea (ESA) o la plantilla Volere (Robertson and Robertson 1999).

12/06/2011 62

ENFOQUES DEL PROCESO DE IR


 La

VALIDACIN Y VERIFICACIN DE REQUISITOS pretende descubrir problemas en el Documento de Especificacin de Requisitos antes de comenzar su implementacin.  El documento se revisa para analizar omisiones, conflictos, ambigedades y determinar si se ajusta a los estndares aplicados.
12/06/2011 63

ENFOQUES DEL PROCESO DE IR


La GESTIN DE REQUISITOS consiste bsicamente en gestionar los cambios a los requisitos.  Pretende asegurar la consistencia entre los requisitos y el sistema construido.  Esta tarea consume grandes cantidades de tiempo y esfuerzo y abarca todo el ciclo de vida del producto.


12/06/2011

64

DIFICULTADES DEL PROCESO


Al ser la IR una actividad frontera del proceso de desarrollo, mucho de su quehacer involucra la interaccin de los desarrolladores con el entorno organizacional de los interesados.  Esta confrontacin de dos culturas obstruye el intento de reconciliar las expectativas del cliente con las capacidades del desarrollador antes de comprometer recursos (Boehm et al. 1999)

12/06/2011 65

DIFICULTADES DEL PROCESO


 Muchos

de los defectos o fallos de los sistemas software tienen su origen en estas dificultades que muchas veces se ignoran (Macaulay 1996).  Algunos equipos u organizaciones de desarrollo tienen problemas para acometer cambios en sus metodologas de trabajo.
12/06/2011 66

DIFICULTADES DEL PROCESO


 No

es fcil introducir modificaciones en procesos que estn muy arraigados en los equipos de desarrollo (Boehm 2000) o donde no hay motivacin para aceptarlos (Bubenko 1995).  Tambin la IR requiere destrezas comunicacionales tanto del equipo como de los clientes:
12/06/2011 67

DIFICULTADES DEL PROCESO


De los ingenieros de Requisitos, la habilidad para escuchar y asimilar el vocabulario y problemas del cliente  De los clientes, la facilidad para entender sus componentes, y tener autoridad para comprometerse en el proceso (Finkelstein 1994).  El anlisis de requisitos es un proceso social y las tcnicas y mtodos que no reconocen esto tienen menos oportunidad de obtener la informacin necesaria (Leite 1987).

12/06/2011 68

DIFICULTADES DEL PROCESO


 Por

otro lado, las actividades de IR son consumidoras de tiempo, intensivas, difciles de controlar y evaluar, y los desarrolladores se enfrentan a preguntas difciles de responder (Greenspan 2001):

12/06/2011

69

DIFICULTADES DEL PROCESO


Qu actividades de IR son esenciales de realizar incluso cuando el tiempo es corto. Qu tipo de informacin registrar. Cmo puede un proceso de IR ser organizado y controlado para ahorrar tiempo. Qu actividades pueden evitarse en un proyecto particular.
12/06/2011 70

DIFICULTADES DEL PROCESO




Otros problemas que se asocian al proceso de IR son (Hsia et al. 1993):


Los requisitos son difciles de descubrir. Los requisitos cambian. Se usan mtodos inapropiados. Hay exceso de confianza en las herramientas CASE. La formacin y la experiencia de los ingenieros es insuficiente en tcnicas, mtodos y dominios de aplicacin. El tiempo de proyecto es siempre ajustado. Los desarrolladores no confan en la IR. Las barreras en la comunicacin separan a los desarrolladores y usuarios.

12/06/2011

71