15 research outputs found

    Un modelo de di谩logo para la generaci贸n autom谩tica de especificaciones en un-LENCEP

    Get PDF
    Los lenguajes controlados vienen probando su utilidad en la educci贸n de requisitos de software. Desde las especificaciones textuales de los casos de uso, hasta ciertas formas de lenguajes controlados para la generaci贸n de ontolog铆as, los conceptos y relaciones del mundo se pueden expresar en lenguajes controlados para su posterior procesamiento hacia la elaboraci贸n de esquemas conceptuales. En particular, el UN-Lencep (Universidad Nacional de Colombia鈥擫enguaje Controlado para la Especificaci贸n de Esquemas Preconceptuales) permite la generaci贸n de Esquemas Preconceptuales (que son diagramas intermedios para la obtenci贸n autom谩tica de diagramas para el desarrollo de software). La elaboraci贸n de la especificaci贸n textual de una aplicaci贸n de software en alguna forma de lenguaje controlado suele ser una responsabilidad de los analistas, puesto que a los interesados en la elaboraci贸n del software se les dificulta el uso de estos lenguajes para la expresi贸n adecuada de los requisitos. Como soluci贸n a este problema, se procura la obtenci贸n de los lenguajes controlados desde las interfaces gr谩ficas de usuario del software futuro o, incluso, a partir de las especificaciones textuales de los casos de uso, pero ello implica tener dise帽ado el software que soluciona los problemas de los interesados, lo cual s贸lo ocurre en fases muy avanzadas del ciclo de vida del software, y no en la fase de definici贸n, que es donde toma lugar la educci贸n de requisitos. Otra soluci贸n que se suele dar es la construcci贸n de los esquemas conceptuales a partir de un di谩logo con el interesado, pero, en este caso, la interacci贸n con el sistema de di谩logo se enfoca 煤nicamente en la construcci贸n de un esquema conceptual (en este caso el diagrama entidad-relaci贸n) y no en la construcci贸n de una especificaci贸n en lenguaje controlado que contenga varios esquemas conceptuales, como es el caso del UN-Lencep. En este proyecto de investigaci贸n se sigue esta 煤ltima l铆nea de trabajo para procurar la obtenci贸n de especificaciones textuales en UN-Lencep a partir de un di谩logo controlado con el interesado. Para ese di谩logo se establece un modelo que permita su automatizaci贸n y posterior traducci贸n a una herramienta computacional, que tambi茅n se procura a nivel de prototipo. En este libro se propone, dise帽a, desarrolla e implementa un modelo de di谩logo que permite obtener de forma autom谩tica la especificaci贸n de una aplicaci贸n, expresada en el lenguaje controlado UN-Lencep. El modelo de di谩logo se traduce en una estructura para las entrevistas analista-interesado, que desembocan finalmente, de forma autom谩tica, en un discurso que representa la soluci贸n. Para ello, el Grupo de Investigaci贸n en Lenguajes Computacionales de la Universidad Nacional de Colombia refina un conjunto de proyectos previos y explora las posibilidades de nuevos 谩mbitos, ligados con la ling眉铆stica computacional y el Procesamiento del lenguaje natural, como una forma de aplicaci贸n de la investigaci贸n te贸rica en esas disciplinas a la Ingenier铆a de Software. Este libro constituye el informe final del proyecto de investigaci贸n DIME 308051058, que financi贸 la Direcci贸n de Investigaciones de la Sede Medell铆n de la Universidad Nacional de Colombia, para quien el grupo de investigaci贸n manifiestan su gratitud por el aporte que realiza esta entidad al fomento de la investigaci贸n en Colombia. (Tomado de la fuente

    Los modelos de di谩logo y sus aplicaciones en sistemas de di谩logo hombre-m谩quina: revisi贸n de la literatura

    Get PDF
    Un proceso de di谩logo entre humanos involucra una serie de actos del habla, cuya finalidad es transmitir los deseos, intenciones y creencias entre las partes involucradas en el mismo. El reconocimiento y clasificaci贸n de los actos del habla, la construcci贸n de modelos basados en estos actos del habla y la evaluaci贸n de los modelos construidos, es el objetivo de los modelos de di谩logo. Adem谩s, estos modelos, incorporados en un sistema inform谩tico, permiten la interacci贸n hombre-m谩quina usando el habla para la soluci贸n de diversos problemas cotidianos como: comprar un tiquete de tren, reservar un vuelo, etc. En este art铆culo se recogen las diferentes t茅cnicas para la construcci贸n de modelos de di谩logo y algunos de los diversos sistemas inform谩ticos que surgieron a partir de ellos, con el fin de determinar la aplicabilidad de los modelos de di谩logo en el proceso de captura de requisitos durante la fase de definici贸n del ciclo de vida de una aplicaci贸n de software

    M茅todo de conversi贸n de un di谩logo controlado a un discurso en UN-Lencep

    Get PDF
    Resumen: El an谩lisis de requisitos es una etapa del ciclo de vida del software que comprende las tareas de educci贸n, modelado, validaci贸n y especificaci贸n de los requisitos. Adicionalmente, la especificaci贸n de requisitos debe ser correcta, no ambigua, completa, consistente, jerarquizada, verificable, modificable y trazable. Para realizar este proceso se requiere un contacto permanente con el interesado, de forma que toda la informaci贸n se constate con 茅l. Existen diversas t茅cnicas para obtener la informaci贸n necesaria para una especificaci贸n de requisitos, pero la que m谩s se utiliza es la entrevista, la cual es un di谩logo entre el analista y el interesado. Sin embargo, en un di谩logo es com煤n encontrar factores que afectan el entendimiento entre los actores. Esto hace que la tarea de obtener la informaci贸n necesaria del interesado sea una de las m谩s complejas en el proceso de especificaci贸n de requisitos. En procura de disminuir la ambig眉edad existente en el di谩logo, se desarrollaron los lenguajes controlados, que son subconjuntos del lenguaje natural. Los lenguajes controlados poseen una estructura similar al lenguaje natural, con reglas l茅xicas, reglas gramaticales, signos y palabras. Los lenguajes controlados tienen diversos usos. En la especificaci贸n de requisitos de software se encuentra el lenguaje controlado UN-Lencep, que permite presentar el discurso del interesado de una forma que se pueda validar. Adicionalmente, presenta la informaci贸n de manera concreta, inambigua y completa. Sin embargo, la informaci贸n se debe obtener mediante el di谩logo con el interesado, dejando en manos del analista la identificaci贸n de los elementos necesarios para la estructuraci贸n del discurso, lo que posibilita la aparici贸n de errores. Para reducir esta problem谩tica, se propone, en esta Tesis, la estructuraci贸n de una secuencia ordenada de preguntas y la definici贸n de las reglas necesarias para convertir las respuestas en el discurso del interesado, expresado en UN-Lencep. Adicionalmente, en un prototipo funcional se incluyen estos elementos y se valida con la especificaci贸n de algunos proyectos que requieren el desarrollo de una aplicaci贸n de software.Abstract: The requirements analysis is a phase of software development life-cycle. It comprises: requirements elicitation, modeling, validation and specification. Also, the requirements specification should be: correct, unambiguous, complete, consistent, hierarchical, verifiable, modifiable, and traceable. This process requires a permanent contact with the stakeholder, in such way that he can verify the information. There are several techniques for obtain information for the requirements specification, but the most used is the interview, which is a dialog between the analyst and the stakeholder. In such dialog the stakeholder has the information about the software domain and the analyst knows how make the software specification. However, some problems arise in dialogs that affect the understanding between their actors. They make most complex the task of requirements specification process, in order to obtain the needed information from the stakeholder. The controlled languages (subsets of natural language) help to decrease the ambiguity in the dialog. The controlled languages have a similar structure to the natural language, with lexical and grammatical rules, signs, and words. The controlled languages have several uses. For the software requirements specification, a controlled language called UN-Lencep is used, for allowing elaboration and validation of the stakeholder discourse. UN-Lencep presents the information in a concrete, unambiguous, and complete way. However, the information must be obtained by using a dialog with the stakeholder, but the analyst must identify the elements of the discourse structure, and this is a possible cause of mistakes in the process. As a way to reduce this problem, we propose, in this Thesis, the organization of an ordered sequence of questions that allow guidance to analyst on the identification of the needed elements for creating the discourse. Also, we establish a set of rules for translating the answers into a UN-Lencep stakeholder discourse. We include these features into a functional prototype, which we use in a lot of projects that needs to develop a software application, so we validate the functionality of all elementsMaestr铆

    Definici贸n de un esquema preconceptual para la obtenci贸n autom谩tica de esquemas conceptuales de UML

    Get PDF
    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: 鈥e sigue requiriendo una alta participaci贸n del analista, lo cual hace subjetivo el proceso. 鈥e suelen enfocar los proyectos hacia la obtenci贸n de un solo diagrama (generalmente Clases o Entidad-Relaci贸n). 鈥uando 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鈥攍os Esquemas Preconceptuales鈥攜 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铆: 鈥a 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. 鈥a definici贸n de los Esquemas Preconceptuales, su sintaxis y su forma de uso, adem谩s de las reglas para obtenerlos desde UN-Lencep. 鈥a 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. 鈥a 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: 鈥a generaci贸n autom谩tica de c贸digo ejecutable a partir de los diagramas que arroja el UNC-Diagramador. 鈥a definici贸n de reglas heur铆sticas para la obtenci贸n de otros diagramas de UML, por ejemplo Casos de Uso o Secuencias. 鈥a 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: 鈥nalysts are often required in the process, and their subjectivity affects the entire process. 鈥rojects of this new trend are focused on obtaining only one diagram (commonly class diagram or entity-relationship diagram). 鈥hen 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: 鈥he 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. 鈥he definition of Pre-conceptual Schemas syntax and the set of rules for generating them from UN-Lencep. 鈥he proposal of a set of heuristic rules for generating Class, Communication, and State Machine diagrams by means of Pre-conceptual Schemas. 鈥he 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: 鈥educe the time period dedicated to UML diagrams making. 鈥mprove the quality of UML diagrams generated from one UN-Lencep discourse. 鈥reate 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. 鈥mprove 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: 鈥utomatic generation of a source executable code from the diagrams made by means of the UNC-Diagrammer. 鈥efinition of additional heuristic rules to obtain other UML diagrams, for example Sequence or Use Case diagrams. 鈥ddition of new elements to the UN-Lencep specification, in order to make it close to the natural language.Doctorad

    Un m茅todo para el refinamiento interactivo del diagrama de clases de uml

    Get PDF
    Durante el proceso de elicitacion de requisitos se presentan problemas de comunicaci贸n entre analistas e interesados que suelen ocasionar perdidas de requisitos funcionales. Estas perdidas se aminoran mediante el refinamiento de los esquemas conceptuales, en particular el diagrama de clases de UML. Existen algunos acercamientos al refinamiento del diagrama de clases, pero que no realizan ciclos de interacci贸n con el interesado; otros enfoques realizan refinamiento interactivo del diagrama entidad-relaci贸n, un diagrama que no posee toda la informaci贸n contenida en el diagrama de clases. En este articulo se realiza el refinamiento del diagrama de clases de UML mediante la interacci贸n con el interesado. Para ello, se proponen reglas de completitud que se disparan en lenguaje natural y se emplea un corpus de diagramas de clases para complementar el conocimiento del analista en un determinado dominio. El an谩lisis de completitud propuesto se ilustra con un prototipo en la herramienta UNCDiagramador y se ejemplifica con un caso de estudio

    Definici贸n de equivalencias entre historias de usuario y especificaciones en UN-LENCEP para el desarrollo 谩gil de software

    Get PDF
    Resumen: en el desarrollo de software, las metodolog铆as 谩giles muestran efectividad en proyectos con restricciones de tiempo y flexibilidad. Esto se debe al valor que se le da a la interacci贸n entre los interesados y los desarrolladores, concibiendo un desarrollo incremental del software con iteraciones muy cortas. La metodolog铆a XP (Extreme programming), es adecuada para proyectos con requisitos imprecisos y muy cambiantes, y donde existe un alto riesgo t茅cnico. En 茅sta metodolog铆a, se emplea la t茅cnica de captura de requisitos como historias de usuario, que los interesados suelen escribir. Sin embargo, las metodolog铆as 谩giles, aparte de requieren alto conocimiento, gran experiencia de los desarrolladores y por ende un alto costo del mismo, se necesita de una especificaci贸n detallada y precisa que no sea ambigua ni que se presente para malas interpretaciones. Adicional a esto, se requiere por agilidad reducir los tiempos de implementaci贸n en gran manera y una capacidad de dar soporte a partir de una documentaci贸n bien elaborada que no se propicia en las metodolog铆as 谩giles. Debido a esto, en esta Tesis se definen equivalencias entre las historias de usuario y el lenguaje controlado UN-LENCEP que actualmente genera c贸digo, como una forma de mejorar el desarrollo 谩gil de software.Abstract: In the software development lifecycle, agile methodologies seem to be effective in projects with time and flexibility constraints. Such effectiveness is rooted on the value given to the stakeholder-developer interaction. Consequently, an incremental software development with short iterations is suitable. XP (Extreme Programming) is adequate for projects with changing, imprecise requirements and prone to high technical risks. Requirements elicitation in XP is made by using stakeholder-written User Stories. However, agile methods require a high level of knowledge and vast experience of the developers, raising the software development cost. Also, a detailed, precise, unambiguous specification is needed in order to reduce misunderstandings. Finally, agility demands reduction of the implementation time and the usage of a well-written documentation鈥攂ut documentation is not promoted by agile methods. As a way to deal with the aforementioned problems, in this Thesis I define equivalences among user stories and the UN-LENCEP controlled language, which currently generates source code. I aim the improvement of the agile software development.Maestr铆

    UNC-Corpus Corpus de diagramas UML para la soluci贸n de problemas de completitud en ingenier铆a de software

    Get PDF
    Los corpus computacionales se utilizan como apoyo en el procesamiento del lenguaje natural (PLN) para resolver problemas de desambiguaci贸n, traducci贸n y generaci贸n autom谩tica de textos, entre otras funciones. Para ello, se explota la caracter铆stica principal de los corpus (el hecho de que poseen usos comprobados de un lenguaje) y se combina con an谩lisis estad铆sticos y m茅todos de extracci贸n de informaci贸n basados en redes neuronales o algoritmos gen茅ticos. En ingenier铆a de software, no existe evidencia del uso de corpus computacionales de diagramas. Un uso similar lo constituyen los repositorios de diagramas, que suelen manejar ejemplos reales de diagramas, especialmente para reutilizaci贸n, pero sin usar la estad铆stica o los m茅todos heur铆sticos para la extracci贸n de informaci贸n. En este art铆culo, se propone UNC-Corpus, una herramienta para el manejo de un corpus de diagramas construidos en el Lenguaje Unificado de Modelado UML, que aplica t茅cnicas tradicionales de PLN en la soluci贸n de problemas de completitud en la ingenier铆a de software

    UNC-Corpus Corpus de diagramas UML para la soluci贸n de problemas de completitud en ingenier铆a de software

    Get PDF
    Computational corpora are used as tools in Natural Language Processing (NLP) to solve disambiguation, translation and automated text generation problems. In order to complete these tasks, the main feature of computational corpora (the fact that they have proven uses of a language) is combined with statistical analysis along with information extraction methods based on neural networks or genetic algorithms. In software engineering, there is no evidence supporting the use of diagram computational corpora. Diagram repositories have a similar application working with real examples of diagrams (mainly for reuse purposes), but without using neither statistics nor heuristic methods for information extraction. In this paper, the UNC-Corpus, a tool for managing a corpus of UML (Unified Modelling Language) diagrams, which applies NPL traditional techniques in order to solve completeness problems in software engineering, is proposed.Los corpus computacionales se utilizan como apoyo en el procesamiento del lenguaje natural (PLN) para resolver problemas de desambiguaci贸n, traducci贸n y generaci贸n autom谩tica de textos, entre otras funciones. Para ello, se explota la caracter铆stica principal de los corpus (el hecho de que poseen usos comprobados de un lenguaje) y se combina con an谩lisis estad铆sticos y m茅todos de extracci贸n de informaci贸n basados en redes neuronales o algoritmos gen茅ticos. En ingenier铆a de software, no existe evidencia del uso de corpus computacionales de diagramas. Un uso similar lo constituyen los repositorios de diagramas, que suelen manejar ejemplos reales de diagramas, especialmente para reutilizaci贸n, pero sin usar la estad铆stica o los m茅todos heur铆sticos para la extracci贸n de informaci贸n. En este art铆culo, se propone UNC-Corpus, una herramienta para el manejo de un corpus de diagramas construidos en el Lenguaje Unificado de Modelado UML, que aplica t茅cnicas tradicionales de PLN en la soluci贸n de problemas de completitud en la ingenier铆a de software

    Conversi贸n de esquemas preconceptuales a diagrama de casos de uso empleando atom3

    Get PDF
    El diagrama de casos de uso describe las interacciones entre un usuario y una pieza de software. Se han realizado algunos trabajos que buscan la generaci贸n autom谩tica o semiautom谩tica del diagrama de casos de uso desde descripciones en lenguajes naturales o controlados. Sin embargo, estos esfuerzos no han sido suficientes porque algunos parten de un lenguaje controlado orientado a la soluci贸n, la cual no existe en las etapas iniciales del ciclo de vida del software; otros trabajos requieren una alta intervenci贸n del analista para la generaci贸n del diagrama, lo cual es altamente inconveniente si se trata de automatizar el proceso; finalmente, no se identifican todos los elementos del diagrama de casos de uso, en particular las relaciones especiales (, e ). En este art铆culo se define un m茅todo basado en reglas heur铆sticas que permite identificar los actores, los casos de uso y las relaciones especiales del diagrama de casos de uso, tomando como punto de partida una representaci贸n en lenguaje controlado del dominio del problema: los denominados esquemas preconceptuales. Adem谩s, se realiza la implementaci贸n de estas heur铆sticas en la herramienta metaCASE AToM3 y se ejemplifica con un caso de estudio

    Ense帽anza en la Ingenier铆a de Software: Aproximaci贸n a un Estado del Arte

    Get PDF
    This article presents an overview of state of the art teaching software engineering, with an approach to aspects of teaching strategies based on playful learning, emphasizing teaching requirements engineering. The text presents different gaming applications as teaching strategies: aimed at developing skills, collaborative workspaces, and support research and training of teachers, among others, and performed at the end, an analysis of the different strategies for recreational teaching inside a classroom.En este art铆culo se presenta una revisi贸n de estado del arte sobre la formaci贸n en torno a la Ingenier铆a de Software, con una aproximaci贸n a aspectos relacionados con las estrategias de ense帽anza aprendizaje basado en l煤dica, haciendo 茅nfasis en la ense帽anza de la ingenier铆a de requisitos. El art铆culo presenta una novedosa aplicaci贸n fundamentada en juegos, como estrategias de ense帽anza con el objetivo de desarrollar habilidades, espacios de trabajo colaborativo, que permitan apoyar la investigaci贸n y la formaci贸n de maestros, entre otros. Tambi茅n se presenta un an谩lisis sobre los diferentes estrategias l煤dicas para la ense帽anza en tem谩ticas de la ingenier铆a del software al interior de un aula de clase
    corecore