Revista Digital del Departamento de Ingeniería e Investigaciones Tecnológicas de la Universidad Nacional de La Matanza

ISSN: 2525-1333 | Vol.:5-Nro.2 (Diciembre-2020)


Artículo original

ANÁLISIS DE VARIANTES DE UN PROCESO DE REQUISITOS

 

VARIANTS ANALYSIS OF A REQUIREMENTS PROCESS

 

Graciela HADAD (1), Viviana LEDESMA (2), Jorge DOORN (3)

 

(1) Universidad Nacional del Oeste

Universidad Nacional de La Matanza

ghadad@uno.edu.ar

(2) Universidad Nacional de La Matanza

vledesma@unlam.edu.ar  

(3) Universidad Nacional del Oeste

Universidad Nacional de La Matanza

jdoorn@uno.edu.ar

 

 

Resumen:

La literatura muestra que las técnicas empleadas en un proceso de Ingeniería de Requisitos frecuentemente son elegidas en función a características particulares de cada proyecto, usualmente denominadas factores situacionales. Con lo anterior presente, se ha trabajado en la adaptación dinámica de un proceso de Ingeniería de Requisitos, que ha estado en aplicación por más de dos décadas. Dicha adaptación consiste en ir ajustando el mismo, según diferentes combinaciones de factores situacionales en puntos de variación específicos, gestionando un reservorio de bloques de proceso que son incorporados o descartados como parte de la adaptación. Este artículo, presenta un estudio de las tres variantes del proceso que se consideran más significativas, mediante estudios de casos controlados. Este trabajo permitió analizar la calidad de los requisitos obtenidos con cada variante, cuando se trataba de un dominio de aplicación relativamente conocido por los ingenieros de requisitos, así como considerar también el esfuerzo insumido. Esto posibilitó detectar algunos aspectos en los que el mecanismo de adaptación aún debe fortalecerse. 

 

Abstract:

The literature shows that the techniques used in a Requirements Engineering process are frequently chosen based on the particular characteristics of each project; these are called situational factors. Taking the above into account, work has been done on the dynamic adaptation of a Requirements Engineering process, which has been in use for more than two decades. This adaptation consists of adjusting the requirements process according to different combinations of situational factors at specific variation points, managing a repository of process blocks that are incorporated or discarded as part of the adaptation. This article presents a study of the three variants of the process that are considered of most significance, through controlled case studies. This work has made possible to analyze the quality of the requirements obtained and the effort required in each variant, when dealing with an application domain relatively known to requirements engineers. This led to identify some aspects in which it is still necessary to strengthen the adaptation mechanism.

 

Palabras Clave: Ingeniería de Requisitos, Factores Situacionales, Variabilidad de Procesos, Ingeniería de Métodos Situacional

Keywords: Requirements Engineering, Situational Factors, Process Variability, Situational Method Engineering

 

 

I. INTRODUCCIÓN

Dado que el conocimiento del dominio del problema se expresa sobre todo en lenguaje natural, el uso de un enfoque basado en representaciones de requisitos en lenguaje natural favorece la comunicación con los clientes y usuarios, lo que incrementa el compromiso de los mismos, creciendo de esta manera la probabilidad de éxito del proyecto [1].

 

Sin embargo, por sí sólo, el uso del lenguaje natural no garantiza una buena comunicación. Es más, en situaciones desfavorables puede entorpecerla significativamente. Esto último ocurre cuando los interlocutores pertenecen a diferentes culturas o dominios de conocimientos disímiles. Para atemperar este tipo de dificultades, especialmente las relacionadas con la falsa sensación haber establecido una comunicación eficaz sin efectivamente haberlo logrado y poder aprovechar las ventajas del uso del lenguaje natural es muy recomendable procurar unificar el lenguaje que se utiliza. En el proceso [2] que sustenta el estudio que se reporta en el presente artículo, se exige que los ingenieros de requisitos comprendan y utilicen el vocabulario que emplean los clientes y usuarios del universo de discurso (UdeD) [2]. Definitivamente, esta no es una práctica aislada ya que el uso de glosarios está muy difundido en la Ingeniería de Requisitos (IR) [3]-[6].

 

La experiencia adquirida en el desarrollo profesional de software, principalmente en el uso del proceso mencionado [2], indica que cada proyecto tiene características particulares, por las que se hace necesario efectuar cambios en actividades definidas. Esta práctica es común en muchos dominios, especialmente en el desarrollo de software [7], [8]. Es entonces que se diseñó un método de adaptación del proceso de requisitos utilizado en base a 26 factores relacionados con el contexto de aplicación y con las características propias del proyecto de software [9]. Este método, que permite tomar decisiones guiadas acerca de cómo ajustar el proceso y los modelos a construir según la situación imperante, se basa en principios de la Ingeniería de Métodos Situacional [10]-[12] y de la Variabilidad de Procesos [13].

 

El propósito del presente trabajo es estudiar la adaptación de un proceso de requisitos basado en modelos escritos en lenguaje natural cuando es puesta en práctica por ingenieros de requisitos que tienen un cierto conocimiento del contexto de aplicación, y que, por ende, pueden no requerir una fase de aprendizaje previa ni del lenguaje de los clientes y usuarios ni de los procesos del negocio, antes de proceder a establecer los requisitos del software. Para ello se ha optado por planificar y llevar a cabo un estudio de dos casos controlando algunos aspectos.

 

II. PROCESO DE REQUISITOS UTILIZADO

El proceso de requisitos utilizado desarrolla dos modelos iniciales [2] como una instancia de aprendizaje sobre el UdeD: un glosario, denominado Léxico Extendido del Lenguaje (LEL), con definiciones de los términos utilizados en el UdeD, y un modelo del proceso del negocio, denominado Escenarios Actuales (EA), el que provee descripciones de las actividades que tienen lugar en el UdeD. El proceso sigue una secuencia base que puede tener reciclos por evolución del UdeD y por corrección de defectos, que está compuesto por los siguientes subprocesos (ver Figura 1 – en la misma se omitieron los reciclos):

 

1.                    Identificar preliminarmente el objetivo general y alcance del sistema de software.

2.                    Crear el Léxico Extendido del Lenguaje, [14].

3.                    Construir Escenarios Actuales. Estos EA se describen usando los términos definidos en el LEL del UdeD.

4.                    Construir Escenarios Futuros (EF), con el fin de definir el contexto del software y cómo el software interactuará en ese contexto [15].

 

Fig.  1.  Proceso de Requisitos basada en Modelos en Lenguaje Natural

 

5.                    Crear el Léxico Extendido del Lenguaje del Sistema, que describe los términos introducidos o modificados utilizados para describir los EF [16].

6.                    Refinar el objetivo general del sistema y descomponerlo en objetivos específicos.

7.                    Especificar requisitos, produciendo el documento de ERS, extrayendo los requisitos del conjunto de EF [17].

 

En este proceso la fase de aprendizaje se concentra en los subprocesos Crear el Léxico Extendido del Lenguaje y Construir Escenarios Actuales, mientras que los siguientes subprocesos corresponden a una fase de definición de los requisitos. Claramente la actividad inicial de identificación del objetivo general del sistema da un marco de referencia para las fases de aprendizaje y de definición.

 

En resumen, el proceso se enfoca en alcanzar la máxima comprensión del UdeD, con el objetivo de lograr que los ingenieros de requisitos, junto con los clientes, puedan definir soluciones a través de un sistema de software, permitiendo a la vez planificar cambios al macrosistema fácilmente insertables en la cultura de la organización y compatibles con los recursos disponibles.

 

A continuación, se describe brevemente el modelo de Escenario, dado que en el estudio realizado se usaron los Escenarios Futuros como base de comparación.

Fig. 2.  Ejemplo de Escenario

 

Cada escenario permite describir una situación actual o futura del UdeD, acotada en un contexto dado donde participan actores y se utilizan recursos, por lo que el modelo de Escenario [4] es una estructura compuesta por las siguientes entidades: título, objetivo, contexto, recursos, actores, episodios y excepciones, y el atributo restricción. Un escenario debe satisfacer un objetivo que se alcanza realizando sus episodios donde intervienen los actores. Estos describen el curso principal de acción como también los cursos alternativos, mientras que los caminos excepcionales se muestran en un componente diferente. Además, la situación que se describe en el escenario ocurre en un contexto dado por la ubicación geográfica, la ubicación temporal y la precondición o estado inicial de dicha situación. Un ejemplo de escenario se presenta en la Figura 2, extraído del caso Sistema de Gestión de Biblioteca, donde las frases subrayadas indican que son términos definidos en el LEL.

 

 

III. ADAPTABILIDAD DE PROCESOS

Adaptar sistemáticamente un proceso comprende identificar adecuadamente, por un lado, las posibles alternativas de variación del proceso y, por otro, los aspectos que rodearán su desarrollo para determinar apropiadamente la selección de estas variaciones.

 

Para definir adaptaciones al proceso de requisitos presentada en la sección anterior, tal como se mencionó antes, se utilizaron conceptos y principios provenientes de la Ingeniería de Métodos Situacional [12] y de la Variabilidad de Procesos [13].

 

El objetivo de la Ingeniería de Métodos Situacional es la construcción de métodos específicos para llevar a cabo un proyecto, que se ajuste a las situaciones particulares de su contexto, de modo flexible, adaptable, ágil y repetible [10], [18]. Siguiendo los principios de esta disciplina, la adaptación de un proceso de desarrollo de software se basa en indicadores que en su conjunto definen una situación [19]. Se entiende como situación a la combinación de circunstancias en un momento dado y en un contexto específico, que afecta la forma de trabajo y los productos a generar [20]. Entonces, la situación queda caracterizada por un conjunto de factores del contexto de aplicación y del proyecto de software.

 

Según Brinkkemper en [18], un proceso se compone de fragmentos o bloques más pequeños, que se caracterizan por tener un objetivo, el que puede ser alcanzado por una o más actividades que se realizan aplicando una o más técnicas incluidas en ese bloque y que pueden generar uno o más artefactos. Algunos de los bloques son comunes a todas las situaciones mientras que otros son variantes de acuerdo a distintos factores de situación. Por lo tanto, el proceso se conforma con la unión de ciertos bloques para una situación particular [11].

 

Por otro lado, la Variabilidad de Proceso se enfoca en extender, personalizar o configurar un proceso para ser reutilizado bajo un determinado contexto, cuya detección involucra identificar qué puede variar, porqué y cuáles son las variantes posibles [13], [21]. La gestión de variabilidad incluye la definición de:

·            los puntos de variación a detectar en el proceso, que corresponden a dónde los elementos del proceso pueden cambiar;

·            las posibles resoluciones o flujos variantes, que son las partes del proceso que representan la variabilidad e implementan los puntos de variación; y

·            el mecanismo de variabilidad a usar, que puede ser: parametrización, adición, omisión, reemplazo de un elemento simple y variabilidad de tipo de dato.

 

Han surgido propuestas para atenuar los problemas detectados en la creación y mejora de procesos de IR, adaptándolos a las características particulares de un proyecto, aplicando en mayor o menor medida principios de la Ingeniería de Métodos Situacional.

 

En algunos de estos trabajos se pone a disposición una base de conocimiento sobre actividades y técnicas de IR, que sirve de guía para crear un proceso de IR acorde a las necesidades del proyecto [22], [23]. Estas propuestas se fundamentan en la reutilización, y el proceso se define tomando elementos de métodos ya existentes. A pesar del uso de algunos atributos relacionados con el proyecto, estos autores no dan criterios claros de aplicación de los mismos, o solo presentan pautas de selección muy generales.

 

Ciertos trabajos [24]-[26] aportan guías para la selección de las técnicas de elicitación, considerando determinadas características contextuales, como el número de fuentes de información, la distribución geográfica del usuario, la disponibilidad de tiempo del usuario, y su experiencia en el dominio, entre otras.

 

Existen otras propuestas para la adaptación situacional de actividades de IR para proyectos de determinada naturaleza o alcance, por ejemplo, desarrollo global de software o métodos ágiles [27]-[29].

 

Otros trabajos se han centrado en mecanismos para la creación de un proceso de IR ajustado a las características situacionales del entorno, aplicable a proyectos de diferente naturaleza, utilizando algunos principios de la Ingeniería de Métodos Situacional mediante el uso de componentes modulares existentes, combinando con conceptos de variabilidad de procesos [30], [31].

 

La propuesta de adaptación que se presenta aquí se enmarca en los últimos trabajos mencionados, pues tiene por finalidad establecer mecanismos claros para adaptar un proceso de IR de acuerdo con las características particulares del contexto en el que ésta deba ser aplicada.

 

 

IV. ADAPTACIONES AL PROCESO DE REQUISITOS

En el proceso de IR utilizado en este trabajo, se propusieron en su momento, adaptaciones al proceso base descripto en la sección 2, según las características específicas del contexto de aplicación y del proyecto de software en particular [32], [9]. Para ello se utilizó una combinación de principios de la Ingeniería de Métodos Situacional y de la Variabilidad de Proceso. Se definieron 5 puntos de variación (ver Figura 3) se identificaron 10 factores relacionados con el contexto de aplicación y 16 factores relativos al proyecto. Cada subproceso se compone de actividades, algunas de ellas se descomponen en subactividades, siendo el nivel más bajo de descomposición un bloque de proceso. Algunos bloques de proceso pueden ser compartidos por algunos subprocesos. Se definieron reglas de adaptación en cada punto de variación en función de los factores situacionales que afectan al subproceso en su conjunto o a partes de dicho subproceso. Mediante estas reglas se establecen los mecanismos de adaptación partiendo del proceso base: reemplazar un bloque de proceso por otro, adicionar un bloque, eliminarlo o parametrizarlo. La parametrización implica asignarle al bloque valores de factores situacionales que producen solo variaciones internas leves a la actividad, tal como usar determinada técnica.

 

Fig. 3.  Variantes de Alto Nivel en el Proceso Base

 

 

La Figura 3 presenta el proceso base con las variantes de mayor nivel, donde algunos subprocesos de primer nivel podrían ser omitidos (reemplazo por el Bloque Nulo). Las condiciones (reglas de adaptación) que rigen estas variantes de nivel superior se describen a continuación. Cabe aclarar que los factores situacionales se utilizan en distintos niveles del proceso, no solo en el nivel superior donde se decide solo omitir o no un subproceso, sino a nivel de actividades de los subprocesos, omitiéndolas, reemplazándolas, agregando nuevas actividades o como parámetros de las actividades, siguiendo los principios de la Ingeniería de Métodos Situacional. Como se muestra en la Figura 3, si las condiciones 1 a 4 son verdaderas, se recomienda la omisión de los respectivos subprocesos.

En esta adaptación no se ha considerado posible omitir la construcción de los EF, por considerárselos vitales para una adecuada definición de los requisitos en un marco tal que permita gestar propuestas y soluciones alternativas en cuanto a las características y comportamientos del futuro sistema de software interactuando con el macrosistema y que permita incluso promover mejoras al propio macrosistema. A continuación, se describen estas 4 condiciones, poniendo énfasis en las primeras dos condiciones, que son las que se han utilizado en el estudio de caso.

 

·            Condición 1: se refiere a la omisión o no del subproceso Crear Léxico Extendido del Lenguaje:

Se va a prescindir de crear el léxico en el caso que el equipo de requisitos haya participado en proyectos referidos al mismo dominio del software a desarrollar, lo cual implica que tiene una amplia experiencia en el UdeD. Lo anterior aplica siempre que no existan diferencias idiomáticas ni temporales entre los involucrados o que los usuarios se encuentren distribuidos geográficamente. A pesar de ello, hay otros factores que se deberán considerar para evaluar la posibilidad de omitir este bloque: que no haya exigencia de construir un LEL del UdeD para reuso, o la necesidad de cumplir con una pre-rastreabilidad a todos los artefactos del proceso. Lo anterior se define a partir de la siguiente condición 1, donde si es verdadera no se construye el LEL del UdeD.

 

·            Condición 2: se refiere a la omisión o no del subproceso Construir Escenarios Actuales:

Este subproceso modela las situaciones del contexto presente, a través de los EA. En determinadas situaciones, esta actividad carecería de sentido, por ejemplo, si se va a desarrollar un software para un mercado potencial, o si se trata de un contexto nuevo. Por otra parte, sería improductivo crear los EA cuando el nivel de cambios en el contexto de aplicación sea extremadamente alto. Además de los casos mencionados, hay dos situaciones en las que se podría prescindir de los EA. Una es cuando el equipo de requisitos además de contar con una sólida experiencia en el dominio conoce en profundidad las actividades del contexto de aplicación, cómo se desenvuelven y cuáles son las responsabilidades de los actores en dicho contexto particular. Si tal fuera el caso, se debe considerar que no deben existir diferencias idiomáticas, culturales ni temporales significativas entre los involucrados, y que los usuarios estén en un mismo lugar. De modo similar, podría omitirse la construcción de los EA si el equipo tiene sólida experiencia en el proceso de IR, el tamaño del proyecto no es grande, para un contexto muy simple, de baja complejidad, con mínimas inconsistencias, y hay poca rotación de los usuarios y también del equipo de desarrollo. Ambos contextos mencionados admiten la omisión de este bloque siempre que no haya la exigencia de construir EA para reuso o de cumplir con una pre-rastreabilidad a todos los artefactos. Esto queda formulado en la siguiente condición 2, donde si es verdadera entonces no se construyen los EA.

 

·            Condición 3: se refiere a la omisión o no del subproceso Construir el Léxico Extendido del Sistema:

Este subproceso se realiza paralelamente a la construcción de los EF. Puede omitirse si no hay exigencia de construir este LEL para reuso ni para cumplir con una pre-rastreabilidad que involucre a todos los artefactos. Tampoco es necesario cuando el equipo de requisitos tiene una amplia experiencia en el UdeD, no existen diferencias idiomáticas ni temporales entre los involucrados, los usuarios no están distribuidos geográficamente y no se realizará una alta reingeniería en los procesos del negocio. En el caso de cambios sustanciales en los procesos del negocio, ello puede impactar notablemente en las descripciones de los EF, requiriéndose desambiguar el nuevo vocabulario introducido en dichas descripciones.

 

·            Condición 4: se refiere a la omisión o no del subproceso Especificar Requisitos:

Este subproceso explicita los requisitos del software extrayéndolos de los EF y luego construye el documento ERS. En algunos proyectos, este subproceso debe realizarse debido a la exigencia de un documento con todos los requisitos del software, ya sea por razones contractuales, certificaciones de software u otras. Sin embargo, en otros contextos podría omitirse, por ejemplo, para proyectos de pequeña envergadura, o sin una exigencia de producir requisitos para reuso, ni es necesario individualizar los requisitos por no desarrollarse actividades de rastreabilidad.

 

 

V. DESCRIPCIÓN DEL ESTUDIO DE CASO

Concentrando nuevamente la atención en el núcleo central del presente artículo que reporta los resultados de estudiar, en forma descriptiva y parcialmente explicativa, la efectividad de las tres adaptaciones más importantes es que, a tal efecto, el estudio de caso se elaboró para comparar las siguientes variantes:

·            producir los requisitos generando cada uno de los modelos propuestos en el proceso de requisitos, denominado proceso base;

·            producir los requisitos omitiendo la construcción del LEL del UdeD; y

·            producir los requisitos omitiendo la construcción de los EA.

 

Se reitera que el objetivo de este estudio ha sido poder establecer qué variante logra una mejor calidad de los requisitos y el esfuerzo que dicho trabajo demanda, cuando se trata de un dominio de aplicación relativamente conocido por los ingenieros de requisitos. Es por ello que las variantes se focalizan en la fase de aprendizaje contemplada en el proceso de requisitos. En resumen, los modelos que se generan en cada variante bajo estudio son:

Variante V1: LEL del UdeD – EA – EF – LEL del               Sistema – ERS

Variante V2: LEL del UdeD – EF – LEL del Sistema – ERS

Variante V3: EA – EF – LEL del Sistema – ERS

Es decir, las variantes a estudiar dependen de la construcción o no de los modelos LEL del UdeD y EA, siendo la variante V1 el proceso base de referencia.

 

El estudio se desarrolló en un contexto académico, en el marco de una asignatura de 4to. año en una carrera informática de la Universidad Nacional de La Matanza. Todos los sujetos fueron estudiantes que realizaban la experiencia como parte de un proyecto integrador de la asignatura, lo cual implicaba que estuvieran involucrados y comprometidos con la realización de sus tareas. Se conformaron en forma aleatoria 12 grupos, de 4 a 6 alumnos. Debe mencionarse que ninguno de los sujetos (estudiantes) tenía experiencia en IR, y todos recibieron la misma capacitación acerca del proceso de requisitos a lo largo de la cursada. Sin embargo, la naturaleza de los casos estudiados y su involucramiento en el mismo garantizaba un importante conocimiento del mismo.

 

Se seleccionaron dos casos referidos a sistemas en funcionamiento en la Universidad, cuyo dominio es relativamente conocido por los sujetos:

Caso CA: Sistema de Autogestión de Alumnos

Caso CB: Sistema de Gestión de Biblioteca

Cada grupo desarrolló su proyecto integrador utilizando una variante asignada del proceso de requisitos (V1, V2 o V3) que debían aplicar sobre uno de los dos contextos de aplicación señalados (CA o CB), durante un cuatrimestre (16 semanas).

 

Los estudiantes dispusieron del documento de objetivo y alcance del sistema, y tenían la posibilidad de acceso al uso del sistema existente para cada caso.

 

La Tabla 1 detalla el caso y la variante del proceso con la que trabajó cada grupo.

TABLA 1.

Asignación de casos y variantes del proceso por grupo

 

VI.  DESCRIPCIÓN DE LA SITUACIÓN DE CADA CONTEXTO DE APLICACIÓN

Cabe mencionar que los alumnos usan habitualmente el Sistema de Autogestión de Alumnos para toda su actividad administrativa en la Universidad por lo que se establece que el nivel de conocimiento previo del dominio es Muy Alto, mientras que el uso del Sistema de Gestión de Biblioteca suele ser menos frecuente, conociendo algunas actividades con cierto nivel de detalle y desconociendo algunas otras, principalmente las vinculadas a otros tipos de lectores no alumnos, por lo que se establece que el nivel de conocimiento previo del dominio es Medio. Esto es lo que marca la diferencia en la situación entre el caso CA y el caso CB: el nivel de conocimiento previo del dominio.

 

En la Tabla 2 se indican los factores situacionales relevantes para decidir la construcción o no del LEL del UdeD y de los EA, según lo descripto en la sección 3.


En base a los valores de estos factores, la recomendación propuesta de adaptación del proceso de requisitos para el caso Sistema de Autogestión de Alumnos (CA) es no construir el LEL del UdeD (condición 1 = V) y construir los EA (condición 2 = F), según las condiciones descriptas en la sección 3. Mientras que para el caso Sistema de Gestión de Biblioteca (CB) la recomendación propuesta es construir el LEL del UdeD (condición 1 = F) y construir los EA (condición 2 = F). Luego, en ambos casos se sugiere la construcción de EA. Estas decisiones están básicamente relacionadas con el conocimiento previo del UdeD y la experiencia en el proceso de requisitos de los ingenieros de requisitos.

 

TABLA 2. 

Detalle de la situación para los casos bajo estudio

En base a lo recomendado para cada caso, esto indica que el caso CA se desarrollaría siguiendo la variante V3, mientras que el caso CB estaría bajo la variante V1.

 

VI.  MÉTRICAS UTILIZADAS EN EL ESTUDIO DE CASO

Un buen indicador que sirve de base para comparar los resultados al aplicar las distintas variantes del proceso son los EF obtenidos por cada grupo. Esto es así debido a que, por un lado, son elaborados en cualquier variante y, por otro lado, dichos escenarios concentran tanto los requisitos funcionales y no funcionales en sus descripciones.

 

No obstante, comparar únicamente los valores de las mediciones tomadas de cada modelo de EF obtenido no permite visualizar el resultado real alcanzado, dado que dichos valores dependen de cómo los grupos organizaron los escenarios y con qué nivel de detalle los describieron. Por ejemplo, para el Sistema de Autogestión de Alumnos el grupo G8 definió un EF para la funcionalidad Consultar historial académico, mientras que para cubrir la misma funcionalidad el grupo G9 definió 4 EF y el grupo G11 definió 3 EF. Por lo tanto, se hizo necesario establecer las funcionalidades esperadas para cada sistema, para lo cual se consolidaron los objetivos de los EF generados por cada grupo, teniendo como base el objetivo y alcance inicial establecido. Así es que para el Sistema de Autogestión de Alumnos se identificaron 26 funcionalidades según el alcance del sistema (ver Tabla 3), y para el Sistema de Gestión de Biblioteca 17 funcionalidades (ver Tabla 4).

TABLA 3. 

Funcionalidades cubiertas para el Sistema de Autogestión de Alumnos

 

Cabe mencionar que no debe interpretarse que estas dos listas de funcionalidades abarcan la totalidad de servicios que cada sistema debería efectivamente cubrir, sino que es un mero parámetro de comparación a utilizar respecto al grado relativo de cobertura alcanzado por cada grupo, debiéndose tener presente la imposibilidad de establecer con certeza el nivel de completitud alcanzado. Este aspecto de la falacia de la completitud ha sido ampliamente tratado en la literatura [33].

 

TABLA 4.

Funcionalidades cubiertas para el Sistema de Gestión de Biblioteca

Teniendo presente lo anterior, se definió un conjunto de métricas, enfocadas en los EF, para luego permitir comparar los resultados conseguidos con la aplicación de cada variante bajo estudio en cada caso. La Tabla 5 detalla cada una de las métricas definidas.

TABLA 5. 

Métricas para comparar la aplicación de las variantes del proceso

 

 

VII.  ANÁLISIS DE LOS RESULTADOS

Una vez concluidos los proyectos, se tomaron las mediciones según las métricas definidas en la Tabla 5. Cada proyecto implicó la realización de una variante del proceso de IR para un caso dado y por un grupo dado. En las Tablas 6 y 7 se presenta un resumen de las mediciones obtenidas para el análisis de cada caso.

TABLA 6. 

Mediciones obtenidas para el Sistema de Autogestión de Alumnos

TABLA 7.

Mediciones obtenidas para el Sistema de Gestión de Biblioteca

Tanto en el caso del Sistema de Autogestión de Alumnos como en el Sistema de Gestión de Biblioteca, se observa en las Tablas 6 y 7 que la cobertura de funcionalidades entre la V1 y la V2 son bastante similares (ver métricas 2 y 3) con un nivel de confianza superior al 95%. Sin embargo, esto no ocurre en el nivel de detalle de la descripción de dichas funcionalidades (ver métricas 5, 6 y 7), donde se observa una diferencia pronunciada en el promedio de episodios por EF entre ambas variantes para el caso CB (también con un nivel de confianza superior al 95%), siendo menos notoria para el caso CA. En ambos casos, el mayor nivel de detalle con que se describen las funcionalidades se alcanza con la V1 (que construye los EA) respecto de la V2. No es posible realizar estas comparaciones con la V3 dado la única muestra disponible en cada caso. Lo que puede mencionarse es que dichos valores (métrica 7) de la V3 son más cercanos a la V2 en ambos casos.

 

Debe aclararse que para los cálculos de nivel de confianza se ha utilizado la distribución t de Student [34], considerando que las curvas para las variantes V1 y V2 son aproximadamente gaussianas y se tienen muestras pequeñas en ambos casos. Ver tablas anexas A.1 y A.2 con el detalle de resultados estadísticos con un nivel de significancia α= 0,05.

 

Al estudiar la tasa de excepciones por EF (ver métrica 9) surge que no hay diferencias significativas entre la V1 y la V2 para ambos casos, con un nivel de confianza superior al 95%.

 

En el caso CB se observa una cantidad similar de actores identificados entre las variantes V1 y V2 con una probabilidad superior al 95%, lo que no ocurre en el caso CA (ver métrica 10 en Tablas 4 y 5). Al no observarse causas aparentes provenientes de ambos dominios, se puede decir que estas observaciones están dando un indicio de falencias en las heurísticas referidas a la identificación de actores.

 

En lo que sigue se analizan las recomendaciones de adaptación del proceso de IR para la situación de cada caso, en cuanto a la construcción o no del LEL del UdeD y de los EA, estudiando los resultados obtenidos en el promedio de episodios por EF para cada variante aplicada, pudiendo o no sobrar el LEL del UdeD, pudiendo o no sobrar los EA, e incluso pudiendo faltar los EA para cada caso según la variante utilizada (ver Tabla 6).

 

Comparando la variante V1 con la variante V2, surge con una probabilidad superior al 95% que hacer los EA es más beneficioso cuando se trata de un contexto menos conocido (Caso CB); en este caso la V1 estaría acompañando esta observación (aunque sin valor estadístico).

 

En la variante V1 comparando el caso CA con el caso CB, no se detectan diferencias si se recomienda hacer el LEL o no, con un nivel de confianza superior al 95%. En otras palabras, surge que, si bien las reglas que deciden sobre la necesidad de hacer o no el LEL están correctamente enfocadas, son demasiado laxas, recomendando hacer esa actividad en situaciones en las que podría no ser necesaria.

 

Comparando el caso CA con el caso CB en la variante V2, se detecta con una probabilidad superior al 90% que es más perjudicial no hacer los EA cuando se recomienda construir ambos modelos LEL y los EA.

 

Sin evidencia estadística, debido a la escasa cantidad de casos de la variante V3, es posible observar que no construir el LEL del UdeD cuando se recomienda hacerlo aparentemente sería más perjudicial.

 

TABLA 8.

Análisis de la recomendación de adaptación del proceso de IR por caso

Dadas las diferencias en la cantidad promedio de episodios para cada variante, se realizó un análisis más profundo sobre dos de las funcionalidades más relevantes de cada caso, realizando un estudio estadístico y un estudio semántico de cada uno de los EF que representan dichas funcionalidades. En la Tabla 7 se muestra la cantidad de episodios y excepciones de los EF Inscribir a materias e Inscribir a exámenes finales del Sistema de Autogestión de Alumnos (CA). Por su parte, en la Tabla 8 se presenta el mismo detalle para los EF Realizar un préstamo y Devolver un préstamo, del Sistema de Gestión de Biblioteca (CB).

 

TABLA 9.

Resultados del análisis de dos EF del Sistema de Autogestión de Alumnos

TABLA 10.

Resultados del análisis de dos EF del Sistema de Gestión de Biblioteca

En base al estudio estadístico, surge para ambos casos, con una probabilidad superior al 80%, que construir los EA (V1) frente a no construirlos (V2) ha sido más beneficioso en cuanto a lograr una mayor cantidad de episodios por EF, lo que está en concordancia con lo estudiado previamente para el conjunto total de EF. Ver tablas anexas A.3 y A.4 con el detalle de resultados estadísticos con un nivel de significancia α= 0,20.

 

En cuanto a las excepciones, se observan valores similares en cada EF entre la V1 y la V2 en ambos casos, excepto para el primer escenario del caso CA, con una probabilidad superior al 80%. Obviamente, no es posible realizar ninguna observación estadística relativa a la V3.

 

Para ambos casos, se analizó semánticamente los dos EF seleccionados, observándose que los episodios de quienes siguieron las variantes V1 y V3 son más completos y bien detallados. En tanto que los grupos que aplicaron la variante V2, tienen episodios muy generales de alto nivel, sin mucho detalle sobre cómo efectivamente deberían realizarse las actividades a través del nuevo sistema de software, ni qué información específica debería manejarse, ya sea para control, presentación, carga o consulta. Esto podría indicar que la heurística de construcción de EF cuando se parte de un LEL del UdeD sin EA no es lo suficientemente precisa (V2), mientras que los EA facilitarían proponer soluciones a través de los EF al haber identificado problemas en los EA. Considerando que se trataban de contextos relativamente conocidos, la falta de experiencia en IR podría estar jugando un papel más importante que el considerado por las reglas de adaptación utilizadas.

 

En cuanto a los tiempos promedios insumidos al aplicar el proceso en cada una de sus variantes, se ha tomado como punto de referencia el tiempo insumido para realizar el proceso completo (variante V1). En el caso del Sistema de Gestión de Biblioteca, los equipos que aplicaron la variante V2 tardaron un 41% menos respecto a la variante V1, y los que aplicaron la variante V3 un 18% menos, lo cual es lógico debido al tiempo requerido para producir todos los modelos del proceso de IR en la variante V1. Por otro lado, la diferencia entre las variantes V2 y V3 significa que llevó más tiempo construir los EA que el LEL del UdeD, lo cual también es razonable debido a que los EA exigen elicitar y elaborar más información y de distinto nivel de granularidad. Sin embargo, los grupos que construyeron los EA tuvieron mejores resultados en cuanto a la cobertura de funcionalidades con los EF y el nivel de detalle alcanzado en sus descripciones (en base al estudio estadístico de cantidad promedio de episodios por EF y al análisis semántico realizado sobre los dos EF más relevantes de cada caso). En cuanto al Sistema de Autogestión de Alumnos, se observa que aquellos que aplicaron la variante V2 tardaron un 44% menos con relación a la variante V1, siendo bastante similar al caso CB. En cambio, los que aplicaron la variante V3 tardaron un 15% más de tiempo respecto a la variante V1, lo cual podría tener relación con que quienes aplicaron la variante V3 tuvieron una cobertura de las funcionalidades muy superior a la obtenida por los que aplicaron las variantes V1 y V2.

 

En otras palabras, en el caso del Sistema de Autogestión de Alumnos surge, con una probabilidad superior al 80%, que existen notorias diferencias de tiempo entre la V1 y la V2; esto también se refleja en la única muestra de la V3 respecto de las otras dos variantes. Sin embargo, en el caso del Sistema de Gestión de Biblioteca no se observan las mismas notorias diferencias, con la misma probabilidad.

 

A fin de realizar una correcta interpretación de los resultados, considerando sus limitaciones, se han analizado las amenazas a la validez a las que podría estar sujeto este estudio. A continuación, se listan las principales amenazas identificadas y la forma en que han sido tratadas:

 

·            Capacidad de los sujetos: la diferencia de capacidad y experiencia de los sujetos puede sesgar los resultados. Para mitigar esta amenaza los grupos fueron formados al azar lo cual atenúa el problema de que no todos los sujetos tenían las mismas capacidades.

·            Seguimiento del proceso: es posible que los sujetos no cumplan con el proceso establecido, o incluso que lo apliquen de distinta forma. Para evitar esta amenaza los alumnos fueron supervisados semanalmente por los docentes con los mismos lineamientos. De este modo esta amenaza se reduce, pero no se neutraliza.

·            Sujetos sin experiencia: el estudio se ha realizado en un contexto académico. Los sujetos no tienen o tienen poca práctica en la industria. Además, no cuentan con experiencia en el proceso de IR. Los grupos recibieron instrucciones generales del proceso de IR a llevar a cabo. Para contener esta amenaza, a medida que avanzaban en el proceso se fueron dando explicaciones detalladas de cada etapa del mismo. A pesar de ello, los resultados no son generalizables de forma directa a profesionales u otro tipo de sujetos.

 

Debido a limitaciones en la cantidad de grupos utilizada para el estudio, cada variante del proceso no ha sido aplicada por la misma cantidad de grupos, lo que se considera que es una amenaza de segundo orden.

 

VIII. CONCLUSIONES

Se ha realizado un estudio para comparar las principales variantes del proceso de IR referidas a omitir la construcción de algunos de los modelos de la fase de aprendizaje. En el mismo se utilizaron dos dominios de aplicación, disponiendo de un total de 13 muestras. Los sujetos que participaron contaban con similar conocimiento del dominio de aplicación, pero no poseían experiencia en el proceso de requisitos.

 

El estudio arrojó indicios preliminares que advierten que la calidad de los requisitos no sería independiente del modo en que se aplica proceso de IR. Se observa que al partir de sujetos con la misma experiencia en el dominio de aplicación, los EF generados tuvieron mayor calidad cuando estos se construyeron con una fase de aprendizaje basada en la construcción de los EA, en comparación con aquellos EF construidos con una fase de aprendizaje basada únicamente en la creación del modelo LEL del UdeD. Aunque, para esta última variante, también es posible que se trate de la carencia de una heurística apropiada para construir EF sin disponer de EA.

 

En otros términos, los resultados apoyan la recomendación dada por las reglas de adaptación de crear los EA para ambos casos, al menos en el contexto de las heurísticas actuales.

 

Sin embargo, estos son indicios preliminares que deben ser ratificados con otras réplicas del estudio, en otros dominios, e incluyendo otras variantes. En cuanto a la construcción de EF como una actividad obligatoria en este proceso de IR, se considera que la estrategia presentada en [6] que promueve la extracción directa de requisitos a partir del LEL es un salto muy largo para lograr requisitos de buena calidad con un nivel de completitud aceptable, aunque sería apropiado ponderar la importancia de esa presunta debilidad en el marco del proceso de adaptación expuesto.

 

 Las mediciones obtenidas aún son escasas para obtener conclusiones generalizables. No obstante, los resultados alcanzados son válidos para reforzar las reglas planteadas y promover futuros trabajos.

 

Asimismo, se ha observado que algunos factores situacionales tendrían distinto grado de impacto en el desarrollo del proceso de requisitos, con lo cual podría ser necesario ponderar este impacto en las reglas de adaptación asignando pesos a los factores.

 

 

IX. REFERENCIAS Y BIBLIOGRAFÍA

A. Referencias bibliográficas:

[1] L. Macaulay, “Requirements Capture as a Cooperative Activity”. Proceedings of IEEE International Symposium on Requirements Engineering, San Diego, EEUU. IEEE: 174-181, 1993.

[2] J. Leite, J. Doorn, G. Kaplan, G. Hadad, & M. Ridao, “Defining System Context Using Scenarios”. Perspectives on Software Requirements, Kluwer Academic Publishers, chapter 8: 69-199, 2004.

[3] A. Cockburn, “Writing Effective Use Cases”. Addison-Wesley Professional, 2000.

[4] J. Leite, G. Hadad, J. Doorn, & G. Kaplan, “A Scenario Construction Process”. Requirements Engineering Journal, 5(1): 38-61, 2000.

[5] D. Leffingwell, & D. Widrig, “Managing Software Requirements - A Unified Approach”. Second edition. Addison-Wesley Object Technology Series, .2003.

[6] L. Antonelli, G. Rossi, J. Leite, & A. Oliveros, “Deriving Requirements Specifications from the Application Domain Language Captured by Language Extended Lexicon”. Proceedings of XV Workshop on Requirements Engineering. Buenos Aires, Argentina, 2012.

[7] P. Haumer, “IBM Rational Method Composer: Part 1: Key concepts”, 2005. Recuperado el 1/10/2020, https://www.ibm.com/developerworks/rational/library/dec05/haumer/

[8] D. Firesmith, & B. Henderson-Sellers, “The OPEN Process Framework: An Introduction”. Harlow, Herts, UK: Addison-Wesley, 2002.

[9] G. Hadad, J. Doorn, & V. Ledesma, “Dynamic Situational Adaptation of a Requirements Engineering Process”. En M. Khosrow-Pour (ed), Encyclopedia of Information Science and Technology, Fourth Edition. Hershey, PA: IGI Global, Information Science Reference, ISBN: 9781522522553, pp.7422 – 7434, 2018.

[10] K. Kumar & R. Welke, “Methodology Engineering: a Proposal for Situation-Specific Methodology Construction”. W.W. Cotterman & J.A. Senn (Eds.), Challenges and strategies for research in systems development, John Wiley & Sons, pp. 257-269, 1992.

[11] B. Henderson-Sellers & J. Ralyté, “Situational Method Engineering: State-of-the-Art Review”. Journal of Universal Computer Science, 16(3): 424-478, 2010.

[12] B. Henderson-Sellers, J. Ralyté, P. Ågerfalk & M. Rossi, “Situational Method Engineering”. Springer-Verlag Berlin Heidelberg, 2014.

[13] A. Hallerbach, T. Bauer & M. Reichert, “Managing Process Variants in the Process Lifecycle”. Proceedings of 10th International Conference on Enterprise Information Systems, pp. 154-161. Barcelona, España, 2008.

[14] G. Hadad, J. Doorn & G. Kaplan, “Creating Software System Context Glossaries”. Encyclopedia of Information Science and Technology, Second Edition, Hershey. IGI Global, pp.789-794, 2009.

[15] G. Hadad, “Uso de Escenarios en la Derivación de Software”. Tesis Doctoral, Facultad de Ciencias Exactas, Universidad Nacional de La Plata, Argentina, 2008.

[16] G. Kaplan, J. Doorn & N. Gigante, “Evolución Semántica de Glosarios en los Procesos de Requisitos”. Memorias del XVIII Congreso Argentino de Ciencias de la Computación. Mar del Plata, Argentina, 2013.

[17] G. Hadad, J. Doorn & G. Kaplan, “Explicitar Requisitos del Software Usando Escenarios”. Proceedings of 12th Workshop on Requirements Engineering, Universidad Técnica Federico Santa María, pp. 63-74. Valparaíso, Chile, 2009 (b).

[18] S. Brinkkemper, “Method Engineering: Engineering of Information Systems Development Methods and Tools”. Information & Software Technology, 38(4): 275-280, 1996.

[19] H. Khan, M. bin Mahrin, & S. bt Chuprat, “Factors for Tailoring Requirement Engineering Process: A Review”. International Journal of Software Engineering and Technology, 1(1): 7-18, 2014.

[20] T. Bucher, M. Klesse, S. Kurpjuweit & R. Winter, “Situational Method Engineering. Situational method engineering: fundamentals and experiences”, Springer US, pp. 33-48, 2007.

[21] Ø. Haugen, B. Møller-Pedersen, J. Oldevik, G. Olsen, A. Svendsen, “Adding Standardized Variability to Domain Specific Languages”. Proceedings of the12th International Software Product Line Conference (SPLC 2008), vol. 1, pp. 139–148. IEEE Computer Society, Limerick, 2008.

[22] L. Jiang & A. Eberlein, “A Framework for Requirements Engineering Process Development” (FRERE). Proceedings of 19th Australian Conference on Software Engineering (ASWEC 2008), Perth, Australia, pp. 507-516, 2008.

[23] D. Zowghi, D. Firesmith & B. Henderson-Sellers, “Using the OPEN Process Framework to Produce a Situation-Specific Requirements Engineering Method”. Proceedings of 1st International Workshop on Situational Requirements Engineering Processes (SREP'05), Paris, Francia, pp.59-74, 2005.

[24] A. Hickey & A. Davis, “A Unified Model of Requirements Elicitation. Journal of Management Information Systems”. Information Systems Design- Theory and Methodology, 20(4): 65-84, 2004.

[25] C. Coulin, “A Situational Approach and Intelligent Tool for Collaborative Requirements Elicitation”. Tesis Doctoral, University of Technology. Sydney, Australia, 2007.

[26] D. Carrizo, O. Dieste & N. Juristo, “Study of Elicitation Techniques Adequacy”. Proceedings of 11th Workshop on Requeriments Engineering, Barcelona, España, pp. 104-114, 2008.

[27] A. Abdullah & H. Khan, “FreGsd: A Framework for Global Software Requirement Engineering”. Journal of Software, 10(10): 1189-1198, 2015.

[28] K. Bakhat, A. Sarwar, Y. Motla & M. Akhta, “A Situational Requirement Engineering Model for an Agile Process”. Bahria University, Journal of Information & Communication Technology, 8(1): 21-26, 2015.

[29] H. Khan, M. bin Mahrin & M. Mali, “Situational Requirement Engineering Framework for Global Software Development: Formulation and Design”. Bahria University Journal of Information & Communication Technologies, 9(1): 74-84, 2016.

[30] C. Coulin, D. Zowghi & A. Sahraoui, “A Situational Method Engineering Approach to Requirements Elicitation”. Workshops in the Software Development Process. Software Process: Improvement and Practice, 11(5): 451–464, 2006.

[31] O. Jafarinezhad & R. Ramsin, “Development of Situational Requirements Engineering Processes: A Process Factory Approach”. Proceedings of 36th IEEE International Conference on Computer Software and Applications, pp. 279-288, 2012.

[32] V. Ledesma, G. Hadad & J. Doorn, “Adaptación Dinámica de un Proceso de Requisitos Orientado al Cliente”. Proceedings of CONAIISI 2016, 4to Congreso Nacional de Ingeniería Informática / Sistemas de Información, ISSN: 2347-0372. Salta, Argentina, 2016.

[33] D. Rochowiak, “Extensibility and Completeness: An Essay on Scientific Reasoning”. The Journal of Speculative Philosophy, 2(4): 241-266, 1988.

[34] G. Cavanos, “Probabilidades y Estadística. Aplicaciones y métodos”, 1º edición. Mc. Graw Hill. ISBN: 968-451-856-0, 1988.

 

B. Bibliografía:

C. Rolland, “Method Engineering: Towards Methods as Services. Making Globally Distributed Software Development a Success Story”. Proceedings of International Conference on Software Process (ICSP 2008), pp.10–11, 2008.

J. Ralyté, “Situational Method Engineering in Practice: A Case Study in a Small Enterprise”. Proceedings of 25th International Conference on Advanced Information Systems Engineering, pp. 17-24, 2013.

L. Chen & M. Babar, Variability Management in Software Product Lines: An Investigation of Contemporary Industrial Challenges. Proceedings of the 14th International Conference on Software Product Lines: going beyond (SPLC 2010), pp. 166-180, 2010.

M. Galster, D. Weyns, D. Tofan, B. Michalik & P. Avgeriou, “Variability in Software Systems - A Systematic Literature Review”. IEEE Transactions on Software Engineering, 40(3): 282-306, 2014.

Ø. Haugen & O. Øgård, “BVR – Better Variability Results”. Proceedings of International Conference on System Analysis and Modeling: Models and Reusability (SAM 2014), Lecture Notes in Computer Science, vol. 8769, pp. 1-15, 2014.

T. Martínez-Ruiz, F., García, M. Piattini & J. Munch, “Modelling Software Process Variability: An Empirical Study”. IET Software, 5(2): 172-187, 2011.

E. Santos, J. Castro, J. Sánchez & O. Pastor, “A Goal-Oriented Approach for Variability in BPMN”. Proceedings of 13th Workshop on Requirements Engineering (WER’10), pp. 17-28, 2010.

A. Schnieders & F. Puhlmann, “Variability Mechanisms in E-Business Process Families”. Proceedings of 9th International Conference on Business Information Systems (BIS 2006), pp. 583-601, 2006.


 


X. ANEXO CON DATOS ESTADÍSTICOS

 

Tabla A.1

Resultados estadísticos para el Sistema de Autogestión de Alumnos

Tabla A.2

Resultados estadísticos para el Sistema de Gestión de Biblioteca

 

Tabla A.3

Resultados estadísticos de dos EF del Sistema de Autogestión de Alumnos

 

Tabla A.4

Resultados estadísticos de dos EF del Sistema de Gestión de Biblioteca



 

 

 

 

Recibido: 2020-11-20

Aprobado: 2020-12-03

Hipervínculo Permanente: http://www.reddi.unlam.edu.ar

Datos de edición: Vol. 5-Nro. 2-Art. 6

Fecha de edición: 2020-12-30