Selección De métodos De Obtención De Requerimientos
RenataRussell2 de Agosto de 2013
5.798 Palabras (24 Páginas)528 Visitas
Este artículo es una tradución al español de artículo "Effective Requirements Development - A Comparison of Requirements Elicitation techniques" del autor Zheying Zhang
Analysis and Selection to Requirements Elicitation Techniques
Edgar Serna M.
Facultad de Ciencias Básicas e Ingeniería
Corporación Universitaria Remington. Medellín, Colombia
edgar.serna@remington.edu.co
Abstract ‒ In the process of elicitation of requirements appear two kinds of problems, the essential and the accidental, and to confront them have been proposed several elicitation techniques. In this revision work is analyze and evaluate these techniques, is presents a comparative review study of techniques, and is assumed to elicitation as the first phase in requirements engineering. The objective to point differences, similarities, advantages and disadvantages, also it presents a matrix that offers to the requirements engineers a context through which they can select a method to elicit requirements for each particular problem.
Keywords: Software Engineering, Requirements Elicitation, Requirements Engineering, Elicitation techniques.
I. INTRODUCCIÓN
El proceso de la Ingeniería de Requisitos en un proyecto software es una actividad humana en la que deben participar todas las personas involucradas. Los requisitos provienen de diferentes fuentes, la mayoría humanas, con diversos objetivos organizacionales e individuales lo mismo que posiciones laborales. Además, con desiguales maneras de comprender, expresar y comunicar el conocimiento. Todo esto hace que la captura y calidad de los requisitos varíe en función de esos actores [1]. Los procesos insuficientes en la Ingeniería de Requisitos es uno de los factores que lleva al fracaso de un proyecto software [2]. Con el objetivo de ayudar a elicitar requisitos se han propuesto varias técnicas, sin embargo, esta es una tarea difícil debido a la falta de comprensión y a la variabilidad de las situaciones en que se elicita. En lugar de elicitar pasivamente los requisitos, los analistas tienen que identificar y prever proactivamente los potenciales problemas en el proceso y seleccionar una técnica adecuada, para disminuir hasta cierto punto esos problemas [3].
La elicitación ocurre en una fase temprana de la Ingeniería de Requisitos y, debido a que es una etapa crítica y propensa a errores, se necesita conocer las características de las técnicas de elicitación antes de aplicar alguna [4]. En este artículo de revisión se presenta un estudio de análisis y evaluación a las técnicas propuestas para elicitar requisitos, además, se comparan e identifican los factores comunes que afectan esa selección y se presenta una matriz genérica que se puede utilizar como punto de partida para hacerla.
II. ANTECEDENTES DE INVESTIGACIÓN
Las principales actividades en el proceso de desarrollo de requisitos son la elicitación, el análisis, la especificación, la validación y la documentación. La elicitación se logra mediante consultas a las partes interesadas, quienes no sólo son seres humanos sino también entornos físicos, organizacionales, o legislativos en los que el sistema se utilizará [5-7]. Es poco probable que una única técnica sea suficiente para elicitar requisitos, porque los diferentes actores tienen distintas formas de almacenar, reconocer y expresar su conocimiento acerca del dominio del problema y por los cambios en el contexto durante el proceso de elicitación y en el nivel de experiencia de los analistas [8]. Por lo tanto, la elicitación se lleva a cabo mediante un conjunto de actividades, en paralelo o en secuencia, que incluyen una serie de técnicas en línea con el contexto situacional. Estas actividades se repiten hasta que se comprenda y documente adecuadamente el dominio del problema y el sistema en desarrollo, es decir, hasta lograr la especificación de requisitos [9]. Durante el proceso de validación se identifican los requisitos omitidos, redundantes e incompatibles. Todos estos procesos hacen que la elicitación de requisitos sea un proceso iterativo e incremental. Lo que es desafiante en esta actividad es que se elicita desde diversas fuentes, por lo que se debe llevar a cabo de forma proactiva [10]. El equipo de desarrollo no sólo debe comprender bien cada técnica de elicitación, sino también seleccionar la que mejor encaje en el contexto situacional y en las características de las partes interesadas [11].
En la literatura es posible encontrar diversos estudios acerca de las técnicas de elicitación, por ejemplo, Byrd et al. [12] las comparan para dos disciplinas de investigación idénticas: el análisis y la elicitación de requisitos y construyen un estudio sobre la base de los aspectos comunes que cubren ambas disciplinas. El estudio de Coughlan & Macredie [13] se orienta hacia metodologías para elicitar requisitos, pero utiliza un estudio tetra-dimensional: participación y selección de usuarios, interacción usuario-diseñador, actividades de comunicación y técnicas; además, clasifican las metodologías con base en el control del usuario y el contexto del problema. Como señalan los autores, el estudio es de naturaleza teórica y carece de una guía práctica para seleccionar la técnica.
ISBN: 978-1-4673-1476-3/12/$31.00 ©2012 IEEE
El estudio ACRE [14] le ayuda a los analistas a seleccionar una técnica mediante la definición de un conjunto de aspectos, con el objetivo de evaluar las fortalezas y debilidades de cada una. Sin embargo, se centra en la elicitación desde los seres humanos y se olvida de los entornos físicos. Hudlicka [15] compara la efectividad de las técnicas de elicitación, pero se limita a las indirectas como el análisis cuadriculado, el escalamiento multidimensional y la agrupación jerárquica. Christel y Kang [16] estudian varias técnicas con relación a los problemas que se enfrentan en la práctica de la elicitación e ilustran su nivel de aplicabilidad para hacerles frente. Debido a que clasifican las técnicas analizadas con base en las actividades en las que se aplican, en lugar de su naturaleza y características, de alguna manera esta clasificación es confusa e insuficiente.
La elicitación de requisitos es un proceso sintético que consiste de comunicación social y minería de información [17] pero, para evaluar las técnicas, la mayoría de la literatura se centra sólo en la comunicación y en la perspectiva de participación de los usuarios, y carece de un debate extensivo a la amplia gama de técnicas. Además, no se ocupa específicamente de cómo utilizar las técnicas en contextos diferentes para desarrollar productos centrados en los clientes.
III. TÉCNICAS PARA ELICITAR REQUISITOS
La elicitación de requisitos es un proceso de interacción intensiva entre las partes interesadas y los analistas, en el que generalmente se aplica cuatro técnicas: (1) con mediación conversacional, (2) con mediación observacional, (3) con mediación analítica y (4) con mediación sintética. Conocer estas categorías les sirve a los ingenieros para comprenderlas y seleccionarlas. Además, les proporciona una base sólida para predecir sus tendencias y para elicitar requisitos [18].
A. Técnicas con mediación conversacional
La conversación es una de las formas más frecuentes de interacción social y proporciona un entorno de comunicación verbal entre dos o más personas; debido a que es un medio natural para expresar necesidades e ideas y para hacer y responder preguntas, es efectiva para desarrollar y comprender problemas y para elicitar los requisitos de un sistema. A las técnicas de esta categoría también se les conoce como métodos verbales [19] y el más típico y más utilizado en la elicitación es la entrevista [20]. Otros métodos incluyen talleres, grupos focales y lluvia de ideas, como se observa en la Tabla I.
Comúnmente, a las solicitudes, necesidades y limitaciones que se expresan verbalmente se les conoce como requisitos explícitos [23]. Debido a que la comunicación verbal es práctica y eficiente para reunir conocimiento explícito, las técnicas conversacionales constituyen el enfoque principal para elicitarlos. Además, aplicar estas técnicas representa una labor intensa [24-25], porque organizar las reuniones y reproducir y analizar las transcripciones lleva tiempo; además, el desafío es facilitar el proceso de elicitación, especialmente cuando se utiliza el taller o la lluvia de ideas.
TABLA I. TÉCNICAS CON MEDIACIÓN CONVERSACIONAL
Técnica
Componente
Descripción
Entrevistas
[5], [21-22]
Un analista experimentado con conocimiento general acerca del dominio de la aplicación
El analista discute el sistema deseado con diferentes grupos de personas y acumula conocimiento y comprensión de sus necesidades
Talleres, grupos focales [21-22]
Un facilitador externo experimentado
Representantes de las partes interesadas se reúnen durante un corto período de tiempo para crear o revisar las características de alto nivel del sistema
Lluvia de ideas [22]
Representantes de las partes interesadas se reúnen y desarrollan rápidamente una amplia lista de ideas. Son alentados a pensar sin las restricciones normales, lo que implica la generación y simplificación de la idea
TABLA II. TÉCNICAS CON MEDIACIÓN OBSERVACIONAL
Técnica
Componente
Descripción
Análisis social, observación, estudio etnográfico [5], [14], [27]
Las personas del estudio deben aceptar al observador y éste debe ser lo suficientemente familiar como para que continúen con sus prácticas normales como si no estuviera
Un observador
...