Definición de un esquema preconceptual para la obtención automática de esquemas conceptuales de UML (2013)
Resumen: La elicitación de requisitos de software es una parte de la ingeniería de requisitos donde se procura capturar, analizar, sintetizar y convertir a esquemas conceptuales las necesidades del interesado. Este proceso, que se realiza interactivamente con la participación de analistas e interesados en el desarrollo de la pieza de software, suele presentar problemas de comunicación originados en la diferencia de especialidades de los participantes en el desarrollo de la pieza de software. Tradicionalmente, en ingeniería de software se han solucionado los problemas de este tipo empleando métodos de desarrollo. Dado que los diferentes métodos no garantizan la solución de los problemas de comunicación, ha surgido una nueva tendencia para la generación automática de esquemas conceptuales desde lenguajes controlados. En esta nueva tendencia, existen aún problemas tales como los siguientes: •Se sigue requiriendo una alta participación del analista, lo cual hace subjetivo el proceso. •Se suelen enfocar los proyectos hacia la obtención de un solo diagrama (generalmente Clases o Entidad-Relación). •Cuando los proyectos se enfocan a obtener varios diagramas de UML, se suelen emplear representaciones intermedias independientes para cada uno de los diagramas generados, lo que suele ocasionar problemas de consistencia entre los diagramas resultantes. En esta Tesis se propone un entorno para la generación automática de esquemas conceptuales de UML a partir de un lenguaje controlado denominado UN-Lencep. Para ello, se define un nuevo tipo de esquemas intermedios—los Esquemas Preconceptuales—y se propone un conjunto de reglas heurísticas de transformación desde UN-Lencep hacia Esquemas Preconceptuales y de allí a los diagramas de Clases, Comunicación y Máquina de Estados. Los principales aportes de esta Tesis se pueden sintetizar así: •La especificación de UN-Lencep, un nuevo lenguaje controlado que puede ser aplicable a cualquier dominio, pero que contiene los elementos necesarios para obtener automáticamente los denominados Esquemas Preconceptuales. •La definición de los Esquemas Preconceptuales, su sintaxis y su forma de uso, además de las reglas para obtenerlos desde UN-Lencep. •La conformación de un conjunto de reglas heurísticas que permiten la generación automática de diagramas de Clases, Comunicación y Máquina de Estados a partir de los Esquemas Preconceptuales. •La implementación de los elementos descritos en una nuevo tipo de herramientas CASE, que se ocupa de la interpretación de un discurso en UN-Lencep para generar automáticamente los diagramas de UML mencionados. El prototipo de una herramienta CASE de este tipo, denominado UNC-Diagramador, también es un aporte de esta Tesis. Con estos aportes se pretende la reducción del tiempo de elaboración de los diagramas de UML, el mejoramiento de la calidad de los diagramas que hacen parte de un mismo discurso en UN-Lencep y la creación de un conjunto de artefactos que permitan mejorar la comunicación entre analistas e interesados, acercando el lenguaje técnico del analista al lenguaje natural del interesado, y posibilitando la validación de los elementos que hacen parte de la descripción de un problema que requiere una solución informática. Finalmente, se pretende el mejoramiento de la calidad, la cual se entiende como la carencia de errores en corrección (la utilización de la sintaxis adecuada), consistencia (la representación de un mismo elemento en diferentes diagramas) y completitud (la adecuación de cada uno de los diagramas con el discurso en UN-Lencep). Como trabajos futuros que se encuentran fuera del alcance de estatesis, pero que se pueden nutrir de sus resultados, se cuentan los siguientes: •La generación automática de código ejecutable a partir de los diagramas que arroja el UNC-Diagramador. •La definición de reglas heurísticas para la obtención de otros diagramas de UML, por ejemplo Casos de Uso o Secuencias. •La complementación de la especificación de UN-Lencep, para acercarlo cada vez más a lenguaje natural.