Definición de un esquema preconceptual para la obtención automática de esquemas conceptuales de UML

Abstract

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.Abstract: Software Requirements Elicitation is the branch of Requirements Engineering to capture, analyze, synthesize, and convert the needs of the stakeholders into conceptual schemas. This process is made by means of the interactive participation of analysts and stakeholders in the software development process, and most of the times it presents communication problems, which can be originated in the differences of specialties among software development participants. Software development methods have been traditionally used in order to solve communication problems, and Requirements Engineering is an important part of these methods. Due to the fact that Software development methods are not good enough for solving communication problems, a new trend for automatic generation of conceptual schemas from controlled languages has emerged. However, this new trend still has problems to be solved: •Analysts are often required in the process, and their subjectivity affects the entire process. •Projects of this new trend are focused on obtaining only one diagram (commonly class diagram or entity-relationship diagram). •When projects are focused on several UML diagrams, they use intermediate representations oriented independently to every one of the target diagrams. Consequently, consistency problems among the resulting diagrams arise. We propose, in this Thesis, a new environment for automatically generating UML conceptual schemas from UN-Lencep (a controlled language). We also define, in order to achieve this goal, a new kind of intermediate schemas, called Pre-conceptual Schemas, and we propose a set of rules to transform a UN-Lencep discourse to these intermediate schemas, and then to Class, Communication, and State Machine diagrams. The main contributions of this work are summarized as follows: •The specification of UN-Lencep, a new controlled language applicable to any domain. UN-Lencep is suitable for automatically obtaining the so-called Pre-conceptual Schemas. •The definition of Pre-conceptual Schemas syntax and the set of rules for generating them from UN-Lencep. •The proposal of a set of heuristic rules for generating Class, Communication, and State Machine diagrams by means of Pre-conceptual Schemas. •The implementation of the above defined elements in a new kind of CASE tool to interpret a UN-Lencep discourse and to automatically generate the mentioned UML diagrams. UNC-Diagrammer, the prototype of such CASE tool, is also a contribution of this Thesis. We make these contributions in order to: •Reduce the time period dedicated to UML diagrams making. •Improve the quality of UML diagrams generated from one UN-Lencep discourse. •Create a set of artifacts to improve the analyst-stakeholder communication. To achieve this goal, we pretend to bridge the gap between technical and natural language. Better communication facilitates validation of the modeling elements, which represent the information solution of a problem. •Improve the quality of the models. Better quality is related to the reduction of errors in correction (the adequate use of syntax), consistency (the proper representation of the same element in different diagrams), and completeness (the use, in the diagrams, of enough elements from the UN-Lencep discourse). The results of this Thesis can generate the following future work: •Automatic generation of a source executable code from the diagrams made by means of the UNC-Diagrammer. •Definition of additional heuristic rules to obtain other UML diagrams, for example Sequence or Use Case diagrams. •Addition of new elements to the UN-Lencep specification, in order to make it close to the natural language.Doctorad

    Similar works