Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/21577
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2018_RafaelAkiyoshiHolsbach_tcc.pdf2,27 MBAdobe PDFver/abrir
Título: Geração de código dirigida a modelo : uma abordagem orientada à meta
Autor(es): Holsbach, Rafael Akiyoshi
Orientador(es): Serrano, Milene
Coorientador(es): Serrano, Maurício
Assunto: Arquitetura de redes de computadores
Software - desenvolvimento
Data de apresentação: 3-Jan-2018
Data de publicação: 1-Mar-2019
Referência: HOLSBACH, Rafael Akiyoshi. Geração de código dirigida a modelo: uma abordagem orientada à meta. 2018. 100 f., il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software)—Universidade de Brasília, Brasília, 2018.
Resumo: A linha de base arquitetural de um software é considerada uma especificação de suma relevância, a qual orienta o desenvolvimento de um software em aderência aos requisitos acordados na Engenharia de Requisitos. Entretanto, a literatura da área da computação apresenta evidências de que os desenvolvedores frequentemente optam por iniciar a codificação sem ao menos iniciar uma especificação arquitetural prévia. Tal prática comumente compromete a manutenção evolutiva do software desenvolvido, tornando essa, principalmente, dispendiosa. Considerando que tanto a especificação de uma linha de base de requisitos quanto a especificação de uma linha de base arquitetural são representadas por modelos, em diferentes níveis de abstração, os quais permitem, respectivamente, (i) modelar os requisitos elicitados junto aos interessados, e (ii) modelar os componentes e conectores arquiteturais, há forte associação da atividade de modelagem em ambos os casos. Diante do exposto, e procurando colaborar nesse cenário, esse trabalho preocupou-se com o desenvolvimento de uma aplicação, chamada Model IT, atuando na geração semiautomática de código usando modelos como base. Entretanto, para viabilizar o desenvolvimento de uma primeira versão dessa aplicação, foram estabelecidos: (i) um perfil de aplicação específico para geração de código, no caso, aplicações web; (ii) uma notação de modelagem específica, no caso, a notação i*; (iii) um padrão arquitetural específico, no caso, o Padrão Model-View-Controller (MVC), e (iv) uma linguagem de programação específica, no caso, orientada ao framework Django. A ideia é apoiar os desenvolvedores na construção de aplicações web, considerando a geração semiautomática de código em Django, orientando-se por modelos em i* (em diferentes níveis de abstração) e o Padrão Arquitetural MVC, e fazendo uso de heurísticas transformacionais bem como de princípios de Model Driven Architecture (MDA). Adicionalmente, são apresentados detalhes da Model IT bem como os resultados obtidos com o uso desse suporte junto ao público alvo, considerando ciclos de pesquisa-ação, o que permitiu avaliar o uso do suporte e realizar evoluções no mesmo com base nos dados coletados em cada ciclo.
Abstract: The architectural baseline of software is considered a highly relevant specification, which guides the development of software in compliance with the requirements agreed upon in Requirements Engineering. However, the computer literature presents evidence that developers often choose to start coding without at least starting a prior architectural specification. Such practice commonly compromises the evolutionary maintenance of the developed software, making it especially costly. Considering that both the specification of a baseline of requirements and the specification of an architectural baseline are represented by models at different levels of abstraction, which allow (i) to model the requirements elicited with stakeholders, and (ii) to model the architectural components and connectors, there is a strong association of the modeling activity in both cases. In view of the above, and seeking to collaborate in this scenario, this work was concerned with the development of an application, called Model IT, working in the semiautomatic generation of code using models as a basis. However, to enable the development of a first version of this application, it was established: (i) a specific application profile for code generation, in this case, web applications; (ii) a specific modeling notation, in this case the notation i *; (iii) a specific architectural standard, in this case the Model View-Controller (MVC), and (iv) a specific programming language, in this case, oriented to the Django framework. The idea is to support developers in building web applications, considering the semiautomatic generation of code in Django, focusing on i * models (at different levels of abstraction) and the MVC Architectural Standard, and making use of transformational heuristics as well as principles of Model Driven Architecture (MDA). In addition, Model IT details are presented as well as the results obtained with the use of this support with the target audience, considering action-action cycles, which allowed to evaluate the use of the support and to perform evolutions in the same based on the data collected in each cycle.
Informações adicionais: Trabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Faculdade UnB Gama, 2018.
Aparece na Coleção:Engenharia de Software



Este item está licenciado na Licença Creative Commons Creative Commons