Método de extracción automática de requisitos de software a partir
de información textual no estructurada
Hꢀꢁꢂáꢂꢃꢀz cꢄꢁꢁꢀꢁꢄꢅ a., sꢆꢇꢈꢂ cꢉꢀꢊꢄꢅ, a., Hꢀꢁꢂáꢂꢃꢀz gꢋꢂzáꢌꢀz, a.
revista cubana
de transformación digital
cómo se capturan, diseñan, implementan, prueban y despliegan los requisitos. La ocurrencia
de errores en los requisitos especificados puede provocar numerosas consecuencias, como:
retardo en la terminación del proyecto, incremento de los costos e insatisfacción de los solici-
tantes, entre otros (Shadab, 2014).
Entre las actividades que se llevan en la Ingeniería de Requisitos, la captura de requisitos
es la fase más importante y crítica en el proceso, debido al alto consumo de tiempo que se re-
quiere para su ejecución y el impacto negativo que pueden tener sus resultados en el produc-
to final (Hendrik, 2013) (Abbasi et al., 2015), y porque la mayor parte de los sistemas fallan
debido a errores en este proceso de captura (Garg, Agarwal, & Khan, 2015). Para lograr un
producto software de calidad, los requisitos deben satisfacer varias características y cumplir
ciertos criterios. Además, un requisito debería ser completo, correcto, realizable, necesario,
priorizable, no ambiguo y verificable (Alonso, 2016). La delimitación del alcance del proyecto
constituye otro de los elementos críticos de la captura de requisitos (Bourque, Dupuis, Abran,
Moore, & Tripp, 2014), por lo que con el objetivo de reducir los problemas se han definido nu-
merosas técnicas y herramientas.
Los requisitos provienen de varias partes interesadas que tienen diferentes necesidades,
funciones y responsabilidades, y como tales son propensas a que se produzcan conflictos, por
rejemplo, la interferencia, la interdependencia y la incoherencia (Lamsweerde, Darimont, &
Letier, 1998). Además, los requisitos generalmente se especifican en lenguaje natural, lo que
aumenta la complejidad de la ingeniería de requisitos, debido a la ambigüedad inherente, la
incompletitud y la inexactitud del lenguaje natural (Denger, Berry, & Kamsties, 2003). Estos
factores hacen que las tareas de IR sean desafiantes, lentas y propensas a errores, principal-
mente para proyectos grandes, ya que es necesario procesar, analizar y comprender grandes
volúmenes de requisitos (Vlas & Robinson, 2011).
Se han llevado a cabo muchas investigaciones sobre la automatización de diferentes tareas
de RE (Dalpiaz, Ferrari, Franch, & Palomares, 2018). Los enfoques propuestos generalmente
comienzan aplicando un conjunto de pasos de Procesamiento del Lenguaje Natural (PLN),
que extraen información y características lingüísticas de los textos de requisitos y construyen
varias representaciones basadas en PLN. Este trabajo se centra en la automatización de la ex-
tracción de requisitos, apoyándose en herramientas y técnicas de procesamiento de lenguaje
natural.
En Dalpiaz, Ferrari, Franch, & Palomares (2018) se analizan varias publicaciones sobre la
relación entre las tareas de PLN y IR, y se encontraron trabajos que se centran en la identifi-
cación de defectos de calidad y ambigüedad, clasificación y agrupación de grandes colecciones
de requisitos, extracción de abstracciones clave, generación de modelos y trazabilidad entre
los requisitos de lenguaje natural (NL).
En Hussain, Kosseim, & Ormandjieva (2008), la metodología destinada a mejorar la detec-
ción de los requisitos no funcionales (RNF) en los documentos de requisitos, usa el Stanford
Parser para derivar morfológicamente las palabras y extraer cinco características sintácticas
de cada una de las instancias de entrenamiento (oraciones) del corpus.