Un modelo de procesamiento terminológico para la obtención y validación de requisitos de software basado en el diagrama de objetivos de Kaos (2014)
Resumen: La educción y validación de requisitos de software son actividades propias de la Ingeniería de Software, estas se realizan en las primeras fases del ciclo de vida del software, es decir, en la definición y el análisis respectivamente. En estas fases se intentan capturar los requisitos que debe cumplir el sistema (software) y transformarlos en modelos conceptuales que permitan explicar los elementos significativos del área del problema. Sin embargo, los productos obtenidos a través de estas fases presentan problemas en su concepción debido a: (i) la brecha de comunicación presente entre el interesado (usuario) y el analista, es decir, debido a la comunicación limitada o insuficiente que se genera por las diferencias entre sus especialidades, y (ii) la ambigüedad verbal presente en el universo del discurso. Estos problemas, impiden una correcta identificación y validación de los requisitos que debe cumplir un sistema (software). Asimismo, hacen que el producto final sea más costoso debido a la corrección de errores en las etapas de implementación y producción del sistema (software). Con el propósito de: (i) mejorar los resultados en la educción y validación de requisitos de software, y (ii) reducir la brecha de comunicación entre el interesado y el analista, se utilizan diversos esquemas conceptuales, entre estos se emplea el diagrama de objetivos de KAOS (Knowledge Acquisition in Automated Specification), el cual le permite al usuario la identificación y la validación de los requisitos asociados al sistema (software). Además, a partir de este diagrama se pueden obtener diagramas UML propios de la tercera fase (diseño) del ciclo de vida del software, los cuales hacen parte del dominio del analista. Sin embargo, en los diferentes trabajos que especifican o utilizan el diagrama de diagrama de objetivos de KAOS, se logran identificar los siguientes problemas: (i) falta de consistencia entre el lenguaje natural y los elementos básicos que conforman el diagrama de objetivos de KAOS, (ii) no utilizan herramientas terminológicas que permitan minimizar la ambigüedad semántica presente en el universo del discurso, (iii) falta de validación semiautomática de requisitos de software por parte del interesado en la etapa inicial, y (iv) no obtienen de manera semiautomática el diagrama de objetivos correspondiente. Con la intención de dar solución a los problemas identificados en el párrafo anterior, se logró realizar en esta tesis doctoral lo siguiente: (i) caracterizar los elementos que componen el diagrama de objetivos de KAOS, (ii) construir una Ontología para representar con mayor precisión los elementos del diagrama de objetivos KAOS, (iii) definir un conjunto de formas morfosintácticas que permiten caracterizar a partir de lenguaje natural los elementos básicos (objetivo, entidad, operación y agente) del diagrama de objetivos de KAOS, de tal forma, que se logró dar una solución a la necesidad de identificar la consistencia que debe existir entre el lenguaje natural y los elementos básicos que conforman diagrama de objetivos de KAOS, (iv) definir un conjunto de reglas semánticas que permiten minimizar la ambigüedad semántica presente en el universo del discurso, la cual afecta de forma negativa las actividades asociadas a la educción y validación de requisitos de software, (v) crear un modelo de procesamiento terminológico para la educción y validación interactiva con el usuario de requisitos de software inicialmente descritos en lenguaje natural, (vi) desarrollar la aplicación NL2KAOS (elaborada en JAVA, JSP y PHP) que permite automatizar el modelo propuesto, además, incluye las formas morfosintácticas y las reglas semánticas definidas en esta tesis, (vii) obtener de manera semiautomática el diagrama de objetivos de KAOS, (viii) realizar la evaluación del modelo mediante la experimentación y el análisis de los resultados obtenidos, los cuales fueron confrontados con varios casos de estudio registrados en la literatura científica, en los experimentos se analizaron las características de la exhaustividad, la precisión, la correctitud, la completitud y la consistencia de los elementos básicos (objetivo, entidad, operación y agente).