59 research outputs found

    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: •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

    Los modelos verbales en lenguaje natural y su utilización en la elaboración de esquemas conceptuales para el desarrollo de software: una revisión crítica

    Get PDF
    El desarrollo de software inicia con una serie de entrevistas realizadas a los usuarios potenciales con el fin de determinar los requisitos del software; como resultado de las entrevistas se obtienen modelos verbales en lenguaje natural. A partir de los modelos verbales es posible construir esquemas conceptuales, que son diagramas que permiten representar gráficamente los datos y funciones asociados con el problema para realizar el desarrollo del software. En este artículo se compendian los trabajos que en esta materia se han adelantado a nivel mundial, realizando un análisis de los posibles tópicos de investigación a partir de los problemas no resueltos

    Los modelos verbales en lenguaje natural y su utilización en la elaboración de esquemas conceptuales para el desarrollo de software: una revisión crítica

    Get PDF
    Software development begins with a series of interviews to potential users with the purpose of determining the software requirements; as a result of the interviews yield verbal models in natural language. Based on the verbal models, conceptual frameworks can be designed. These are diagrams that allow graphic data and functions related to the problem to develop software. This article covers worldwide work carried out in this field, with an analysis of the possible research topics based on the unsolved problems.El desarrollo de software inicia con una serie de entrevistas realizadas a los usuarios potenciales con el fin de determinar los requisitos del software; como resultado de las entrevistas se obtienen modelos verbales en lenguaje natural. A partir de los modelos verbales es posible construir esquemas conceptuales, que son diagramas que permiten representar gráficamente los datos y funciones asociados con el problema para realizar el desarrollo del software. En este artículo se compendian los trabajos que en esta materia se han adelantado a nivel mundial, realizando un análisis de los posibles tópicos de investigación a partir de los problemas no resueltos

    Una propuesta para mejorar la completitud de requisitos utilizando un enfoque lingüístico

    Get PDF
    La calidad de los productos de software está estrechamente relacionada con la calidad de los requisitos especificados desde las primeras etapas del proceso de desarrollo; las propuestas encaminadas a la especificación de requisitos realizan incipientes esfuerzos para lograr que los requisitos del software sean lo suficientemente completos como para lograr la traducción de las necesidades y expectativas de los usuarios al producto final. En este artículo se presenta una propuesta para mejorar la calidad, en cuanto a completitud, de especificaciones de requisitos escritas en un subconjunto del español denominado español restringido, utilizando para ello un enfoque lingüístico basado en la gramática de casos./Software product quality is closely linked with requirements quality from development process initial stages; proposals directed to requirements specification make incipient efforts to reach software requirements complete enough to reach the translation of user needs and expectations into the final product. In this paper we present a proposal for quality enhancement, especially in completeness, of requirements specifications written in restricted Spanish, a subset from Spanish, using a linguistic Case-Grammar- based approach to reach this goal

    Desarrollo de un proceso de creación y despliegue de microservicios a partir de requerimientos funcionales

    Get PDF
    El paulatino avance de las arquitecturas de software basadas en microservicios y la creciente relevancia de la ingeniería de requerimientos en el desarrollo de aplicaciones y sistemas web han generado la necesidad de automatizar el proceso de creación y despliegue de microservi- ci os. En este senti do, l a combi naci ón de técnicas de Procesa mi ento de Len guaj e Natural (PLN) con análisis de grafos y detección de comunidades se presenta como un enfoque poderoso para abordar desafíos en diversos campos, incluyendo la ingeniería de software y el diseño de arquitecturas basadas en microservicios. Asimismo, en los últimos tiempos, los modelos de lenguaje de inteligencia artificial, como ChatGPT, han experimentado una notable popular- idad y atención en diferentes ámbitos. Su capacidad para mejorar y generar texto existente ha despertado un gran interés entre investigadores, empresas y usuarios en general. Teniendo en cuenta este contexto, el siguiente trabajo de titulación propone un proceso para la identifi- cación y despliegue automatizado de microservicios, aprovechando las ventajas que ofrecen las técnicas de procesamiento de lenguaje natural y análisis de grafos. Se espera que este enfoque contribuya significativamente a mejorar y automatizar el desarrollo de aplicaciones basadas en microservicios.With the gradual advancement of microservices-based software architectures and the increas- ing relevance of requirements engineering in the development of applications and web sys - tems, there is a need for methods or processes that automate the creation and deployment of microservices. The combination of Natural Language Processing (NLP) techniques with graph analysis and community detection offers a powerful approach to address challenges in various fi el ds. In the real m of software engi neeri ng, this combi nati on has been expl ored to enh ance the design and deployment process of microservices-based architectures. Additionally, in recent times, language models of artificial intelligence, such as ChatGPT, have gained great popu - larity and attention in various domains. The ability to improve and generate existing text has sparked interest among researchers, companies, and users in general. In this context, the fol- lowing thesis work proposes a process for the identification and deployment of microservices, leveraging the advantages of natural language processing techniques and graph analysis. It is expected that this approach will contribute to improving and automating the development of microservices-based applications.0000-0002-2438-922

    Extensión del marco de referencia Ontoconcept con el formato de intercambio de reglas RIF

    Get PDF
    La presente investigación tiene como tema principal el estudio comparativo de las expresiones de RIF (formato de intercambio de reglas publicado por la W3C) con la capacidad expresiva del grafárbol ontológico, modelo conceptual propuesto dentro del framework Ontoconcept, que es una herramienta para la gestión del cambio ontológico, planteado en la tesis doctoral del ingeniero Julio César Chavarro Porras, bajo el título “Marco de referencia para la gestión del cambio en ontologías, basados en modelos conceptuales”. La motivación para la presente propuesta se fundamenta en la necesidad de establecer modelos conceptuales para la gestión de ontologías, continuando en una pequeña parte con el proceso de desarrollo de un sistema de administración de ontologías, consulta y razonamiento sobre diferentes ambientes, que es la finalidad a largo plazo de Ontoconcept. Este trabajo se encuentra vinculado a la línea de profundización de la maestría en ingeniería de sistemas y computación titulada Inteligencia Artificial, asociado al grupo de investigación GIA, grupo en el cual se vienen desarrollando diferentes proyectos de extensión del framework, así como generación de nuevas versione

    Revisión sistemática para las técnicas de minería Web de contenido

    Get PDF
    Trabajo de InvestigaciónDeterminar las principales técnicas empleadas de minería web que permiten realizar minería de contenido, con el fin de facilitar la búsqueda de información en bases documentales. Para ello se llevó a cabo una revisión sistemática de la información documentada en medios arbitrados en el período 2014 – 2018, empleando las bases documentales Redalyc, Scielo, Scopus, IEEEXplore, Google Scholar y Web of ScienceINTRODUCCIÓN 1. GENERALIDADES 2. DEFINICIÓN DE LOS CRITERIOS DE BÚSQUEDA DE ARTÍCULOS SOBRE MINERÍA DE CONTENIDO EN LA WEB 3. IDENTIFICACIÓN DE LAS TÉCNICAS QUE HAN SIDO EMPLEADAS PARA REALIZAR MINERÍA DE CONTENIDO EN LA WEB 4. CARACTERIZACIÓN DE LAS PRINCIPALES TÉCNICAS QUE HAN SIDO EMPLEADAS PARA REALIZAR MINERÍA DE CONTENIDO EN LA WEB 5. CONCLUSIONES 6. RECOMENDACIONES BIBLIOGRAFÍA ANEXOSPregradoIngeniero de Sistema

    Generación automática de prototipos funcionales a partir de esquemas preconceptuales

    Get PDF
    La Educción de Requisitos es una tarea compleja, dado que es en este proceso donde se establecen los elementos del aplicativo de software a desarrollar. Esta tarea, frecuentemente, presenta problemas de comunicación debido a las diferentes formaciones que tienen los analistas e interesados. Usualmente, la información recolectada en las entrevistas se suele plasmar en esquemas conceptuales, generalmente de UML. Aunque estos diagramas son estándar no permiten una validación del interesado debido a su complejidad, ya que son cercanos al lenguaje técnico del analista. Una vez finalizada la Educción de Requisitos, se procede con la generación del código fuente de la aplicación. Con el fin de mejorar y agilizar este proceso existen varios métodos de desarrollo de software que impulsan la generación automática de código. Para tal fin, se utilizan las herramientas CASE convencionales, pero aún están muy distantes de exhibir un proceso automático y muchas de estas herramientas se complementan con algunos trabajos que se alejan de los estándares de modelado. La mayoría de estas herramientas CASE generan parte del código fuente, pero no generan completamente la aplicación de software funcional. Con el fin de solucionar estos problemas, en esta Tesis, se propone un conjunto de reglas heurísticas para generar, automáticamente, una aplicación de software totalmente funcional a partir de Esquemas Preconceptuales bajo el patrón arquitectónico MVC, utilizando como lenguaje de programación PHP 5.x con XHTML. Además, se propone un conjunto de reglas heurísticas para generar, automáticamente, el diagrama entidad-relación y las sentencias DDL para el gestor de base de datos MySQL. Al utilizar los Esquemas Preconceptuales se mejora la comunicación con el interesado, dada la cercanía con el lenguaje natural que poseen estos esquemas. Adicionalmente, se mejora la calidad de las aplicaciones de software ya que es posible obtener una validación del interesado para dicho diagrama durante todas las fases del desarrollo. Esta Tesis se complementa con la elaboración de una herramienta CASE en la cual se incorporan todas las reglas heurísticas definidas para la generación automática del código. El funcionamiento de esta herramienta se ejemplifica con un caso de laboratorio. /Abstract. Requirements elicitation is a complex task, because in this process the elements of the software to-be-made are established. Frequently, this task is affected by communication problems, due to the fact that both analysts and stakeholders (the main actors of this task) have differences in training. Commonly, the information gathered during interviews is reflected into conceptual schemas, mainly UML diagrams. Even though UML diagrams are standardized, they are barely validated by stakeholders, because the UML diagrams are complex and nearer to the analyst technical language. Once requirements elicitation task is completed, source code of the application can be developed. In order to improve and speed up this process, several software development methods searching for the automated generation of code are proposed. So, well-known CASE tools are employed, but they are far away from automated processes and, sometimes, they are non-standard modeling proposals. Most of these tools partially generated source code, but the resulting application is barely functional. Trying to fix the above problems, in this Thesis I propose a set of heuristic rules for automatically generating a fully-functional software application from pre-conceptual schemas. Both the MVC architectural pattern and the XHTML-based PHP 5.x language are selected for this process. Also, I propose a set of heuristic rules for automatically generating the entity-relationship diagram and the DDL commands for constructing and using the MySQL database management system. The usage of pre-conceptual schemas improves the analyst-stakeholder communication process, because such schemas are closer to the natural language. Also, the stakeholder validation of pre-conceptual schemas we can achieve during all the phases of software development lifecycle improves the quality of the software application. This M. Sc. Thesis is complemented by the elaboration of a CASE tool which includes all the defined heuristic rules for automated code generation. A lab case is used to exemplify the functioning of the above mentioned CASE tool.Maestrí

    Propuesta de procedimiento para la construcción semiautomática de tesauros en Bibliotecas Universitarias

    Get PDF
    Objetivo Se proponen procedimientos de índole teóricos en la indización, y a la vez introduciéndose en parcelas de las Ciencias de la Computación para resolver problemas de la Red TIC del Proyecto VLIR desde una óptica multidisciplinar, dada las características imponen el reto  de  intentar desarrollar cualquier proceso normativo en el terreno de la indización para un entorno complejo y pluridisciplinar, siendo la primera vez que se asume un trabajo en Ciencias de la Información en la Universidad Central “Marta Abreu” de Las Villas (UCLV). Diseño/Metodología/Enfoque se utilizaron las técnicas de origen matemático: la Ley de Zip, TF-IDF, N-grams y Stop World Elimination, aportando un enfoque mixto predominantemente cuantitativo. La descripción sirve de guía para la construcción de léxicos especializados, al incluir los mecanismos de construcción basados en las reglas exigidas a nivel internacional. Resultados/Discusión: Desde el  diagnóstico de los Procesos de Indización en las Bibliotecas asociadas a la Red TIC del Proyecto VLIR, se aplicaron  métodos y técnicas en la recopilación de información permitieron obtener resultados relacionados a la experiencia en los procesos de indización y construcción de tesauros en las diversas universidades del país. Conclusiones: La creación de un procedimiento que proporcione la transformación de los vocabularios controlados en un lenguaje interoperable, facilita la indización y la recuperación eficiente de la información. Originalidad/Valor: El impacto social de uso estriba en que al contener datos estandarizados en formato SKOS, las plataformas que usa y desarrolla la red podrán interpretar con otras plataformas con fines similares dando visibilidad a la ciencia de la Red TIC

    Modelo inteligente de especificación de la granularidad de aplicaciones basadas en microservicios.

    Get PDF
    Los microservicios son un enfoque arquitectónico y organizativo del desarrollo de software en el que las aplicaciones están compuestas por pequeños servicios independientes que se comunican a través de una interfaz de programación de aplicaciones (API) bien definida, muchas empresas utilizan los microservicios para estructurar sus sistemas, también la arquitectura de microservicios ha sido utilizada en otras áreas como la internet de las cosas (IoT), computación en el borde (edge computing), computación en la nube, desarrollo de vehículos autónomos, telecomunicaciones, sistemas de E-Salud, E-Learning, entre otros. Un gran desafío al diseñar este tipo de aplicaciones es encontrar una partición o granularidad adecuada de los microservicios, proceso que a la fecha se realiza y diseña de forma intuitiva, según la experiencia del arquitecto o del equipo de desarrollo. La definición del tamaño o granularidad de los microservicios es un tema de investigación abierto y de interés, no se han estandarizado patrones, métodos o modelos que permitan definir qué tan pequeño debe ser un microservicio. Las estrategias más utilizadas para estimar la granularidad de los microservicios son: el aprendizaje automático, la similitud semántica, la programación genética y la ingeniería de dominio. En este trabajo de investigación doctoral se propone un modelo inteligente para especificar y evaluar la granularidad de los microservicios que hacen parte de una aplicación; teniendo en cuenta algunas características como la complejidad cognitiva, el tiempo de desarrollo, el acoplamiento, la cohesión y su comunicación. En el capitulo uno se presentan el marco teórico, se plantea el problema de investigación resuelto, junto con las preguntas de investigación que ayudan a resolverlo, también se presentan los objetivos y la metodologia de investigación, por medio de la cual se propone una nueva práctica, un modelo inteligente de especificación de la granularidad de los microservicios llamada ¿Microsevices Backlog¿, también se presentan las fases y métodos de investigación que permitieron resolver las preguntas de investigación planteadas. El captiulo dos presenta el esatado del arte y los trabajos relacionados con el presente trabajo de investigación doctoral; también se identifican las métricas que se han utilizado para definir y evaluar la granularidad de los microservicios. En el capitulo 3 se caracteriza el proceso de desarrollo de aplicaciones basadas en microservicios, explicando su uso en un caso de estudio llamado ¿Sinplafut¿. En el capitulo 4 se plantea la descripción del ¿Microservice Backlog¿, se presenta la definición de cada uno de sus componentes, entre los cuales se encuentran: el componente parametrizador, el componente agrupador (un algoritmo genético y un algoritmo de agrupamiento semántico basado en aprendizaje automático no supervisado), el componente evaluador de métricas y el componente comparador de descomposiciones y de microservicios candidatos, también se presenta la formulación matemática de la granularidad de aplicaciones basadas en microservicios. El capitulo 5 presenta la evaluación de la práctica propuesta, se realizó de forma iterativa usando cuatro casos de estudio, dos ejemplos planteados en el estado del arte (Cargo Tracking and JPet-Store) y dos proyectos reales (Foristom Conferences y Sinplafut), se utilizó el Microservices Backlog para obtener y evaluar los microservicios candidatos de las cuatro aplicaciones. Se realizó un analisis comparativo contra métodos propuestos en el estado del arte y con el diseño basado en el dominio (DDD), el cual es le método más utilizado para definir los microservicios que van a ser parte de una aplicación. El Microservices Backlog obtuvo un bajo acoplamiento, alta cohesión, baja complejidad y reduce la comunicación entre los microservicios, esto comparado con las propuestas del estado del arte y con DDD. Finalmente en el capitulo 6 se presentan las conclusiones, contribuciones, limitaciones y productos obtenidos como resultado de esta tesisDoctoradoDOCTOR(A) EN INGENIERÍ
    corecore