| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 6.35 MB | Adobe PDF |
Autores
Orientador(es)
Resumo(s)
Software modeling demands a good understanding of the solution domain, as well as
requirements specification. The resulting models serve as blueprints for the hardware
and software requirements, outlining system architecture, implementation phase, and the
overall system structure. To automate the creation of such models various methods have
been proposed over the years, including approaches based on model-driven development,
linguistic rules and patterns, rule-based systems, and statistical or machine learning
techniques. More recently, Large Language Models (LLMs) have gained prominence.
While LLMs often show promising results they commonly lack sufficient contextual
awareness, an essential factor in accurately transforming requirement specifications into
models such as class diagrams, and output often is inconsistent. This dissertation addresses
this limitation by introducing an approach that combines prompt engineering techniques, a
Retrieval-Augmented Generation system, and a self-refinement mechanism. The proposed
pipeline provides an automated process for transforming natural language descriptions
into UML class diagrams. It demonstrates the potential of Generative AI to enhance
efficiency and reduce reliance on manual effort in the creation of models. The approach
was evaluated using a combination of qualitative and quantitative methods, including user
studies and performance metrics. Results indicate that AI-generated diagrams consistently
outperform human-created diagrams in syntactic, semantic, and pragmatic quality, with
over 65% of the thirty evaluators unable to distinguish AI outputs from human ones
and with over 73% of evaluators preferring the diagram generated by our system over
the human diagram. While pragmatic quality remains the most challenging dimension,
findings confirm that Generative AI can produce professional-quality diagrams that
enhance communication among stakeholders and support early design decisions.
A modelação de software requer uma boa compreensão do domínio da solução e da respetiva especificação de requisitos. Os modelos resultantes servem como planos para a implementação, definindo a arquitetura do sistema, os requisitos de hardware e software, e a estrutura global do sistema. Ao longo dos anos, foram propostos diversos métodos para automatizar a criação destes modelos, incluindo abordagens baseadas em desenvolvi- mento orientado por modelos, regras e padrões linguísticos, sistemas baseados em regras e técnicas estatísticas ou de aprendizagem automática. Mais recentemente, os Large Lan- guage Models (LLMs) ganharam destaque. Embora os LLMs apresentem frequentemente resultados promissores, revelam frequentemente falta de consciência contextual, um fator essencial para transformar com precisão especificações de requisitos em modelos como diagramas de classes. Esta dissertação procura colmatar esta limitação através da intro- dução de uma abordagem que combina técnicas de engenharia de prompts, um sistema de Recuperação Aumentada (RAG) e um mecanismo de auto-aperfeiçoamento. O pipeline proposto fornece um processo automatizado para transformar descrições em linguagem natural em diagramas de classes UML. Demonstra ainda o potencial da Inteligência Arti- ficial Generativa para aumentar a eficiência e reduzir a dependência do esforço manual na criação de modelos. A abordagem foi avaliada através de uma combinação de métodos qualitativos e quantitativos, incluindo estudos com especialistas e métricas de desempe- nho. Os resultados indicam que os diagramas gerados por IA superam consistentemente os diagramas criados por humanos nas dimensões sintática, semântica e pragmática, com mais de 65% dos trinta avaliadores incapazes de distinguir os diagramas criados com IA dos criados por humanos. Embora a qualidade pragmática continue a ser a dimensão mais desafiante, os resultados confirmam que a IA generativa pode produzir diagramas de qualidade profissional que melhoram a comunicação entre as partes interessadas e apoiam a tomada de decisões nas fases iniciais de design.
A modelação de software requer uma boa compreensão do domínio da solução e da respetiva especificação de requisitos. Os modelos resultantes servem como planos para a implementação, definindo a arquitetura do sistema, os requisitos de hardware e software, e a estrutura global do sistema. Ao longo dos anos, foram propostos diversos métodos para automatizar a criação destes modelos, incluindo abordagens baseadas em desenvolvi- mento orientado por modelos, regras e padrões linguísticos, sistemas baseados em regras e técnicas estatísticas ou de aprendizagem automática. Mais recentemente, os Large Lan- guage Models (LLMs) ganharam destaque. Embora os LLMs apresentem frequentemente resultados promissores, revelam frequentemente falta de consciência contextual, um fator essencial para transformar com precisão especificações de requisitos em modelos como diagramas de classes. Esta dissertação procura colmatar esta limitação através da intro- dução de uma abordagem que combina técnicas de engenharia de prompts, um sistema de Recuperação Aumentada (RAG) e um mecanismo de auto-aperfeiçoamento. O pipeline proposto fornece um processo automatizado para transformar descrições em linguagem natural em diagramas de classes UML. Demonstra ainda o potencial da Inteligência Arti- ficial Generativa para aumentar a eficiência e reduzir a dependência do esforço manual na criação de modelos. A abordagem foi avaliada através de uma combinação de métodos qualitativos e quantitativos, incluindo estudos com especialistas e métricas de desempe- nho. Os resultados indicam que os diagramas gerados por IA superam consistentemente os diagramas criados por humanos nas dimensões sintática, semântica e pragmática, com mais de 65% dos trinta avaliadores incapazes de distinguir os diagramas criados com IA dos criados por humanos. Embora a qualidade pragmática continue a ser a dimensão mais desafiante, os resultados confirmam que a IA generativa pode produzir diagramas de qualidade profissional que melhoram a comunicação entre as partes interessadas e apoiam a tomada de decisões nas fases iniciais de design.
Descrição
Palavras-chave
LLM equirement modeling Retrieval-Augmented Generation UML diagrams GAI
