Documente Academic
Documente Profesional
Documente Cultură
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.
Primario Derivado
a.
b.
i.
ii. iii.
3.
a. b. c.
4.
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
12/06/2011
18
INGENIERA DE REQUISITOS
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
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.
12/06/2011
32
EL PROCESO DE IR
12/06/2011
33
PROBLEMA
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
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
12/06/2011
37
12/06/2011
39
Idea origen
Delinear restricciones Refinar restricciones Negociar entre restricciones conflictivas Entendimiento del problema Expansin de la informacin
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
12/06/2011
43
12/06/2011
44
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
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
12/06/2011
48
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
(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
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
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.
12/06/2011
52
12/06/2011
53
12/06/2011
54
12/06/2011
55
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
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
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
Actualmente se ha consensuado un proceso de Ingeniera de Requisitos que contempla las actividades de:
Educcin Anlisis Especificacin Verificacin y, Gestin de Requisitos
12/06/2011
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
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
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
12/06/2011
64
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
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
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
12/06/2011
71