SIP – Sistema Integrado de Processos
Menu: TCCs de Ciência da Computação

Título: ARCHPYTHON VERIFICANDO ARQUITETURAS DE SISTEMAS PYTHON

Autoria de: Eduardo Fernando de Lima

Orientação de: Ricardo Terra Nunes Bueno Villela

Presidente da banca: Ricardo Terra Nunes Bueno Villela

Primeiro membro da banca: Rafael Serapilha Durelli

Segundo membro da banca: Sérgio Henrique Miranda Junior

Palavras-chaves: Arquitetura de Software, Conformidade Arquitetural, Inferência de Tipos, Visualização Arquitetural, Engenharia de Software

Data da defesa: 03/09/2020

Semestre letivo da defesa: 2020-1

Data da versão final: 14/09/2020

Data da publicação: 14/09/2020

Referência: Lima, E. F. d. ARCHPYTHON VERIFICANDO ARQUITETURAS DE SISTEMAS PYTHON. 2020. 46 p. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação Bacharelado)-Universidade Federal de Lavras, Lavras, 2020.

Resumo: Linguagens dinamicamente tipadas proveem uma série de recursos para os desenvolvedores, como invocações e construções dinâmicas. No entanto, ao se combinar tais recursos com prazos curtos, conflitos nos requisitos ou dificuldades técnicas, pode ocorrer com que a arquitetura de um sistema de software se distancie de sua arquitetura planejada, levando ao fenômeno denominado erosão arquitetural. Embora Python seja atualmente a 3a linguagem de programação mais utilizada, não há uma ferramenta que permita os desenvolvedores a monitorar a arquitetura de seus sistemas. Isso se justifica, possivelmente, pela complexidade na inferência de tipos uma vez que uma mesma variável pode assumir diferentes tipos em tempo de execução. Diante desse desafio, este artigo propõe ArchPython, a primeira ferramenta completa de conformidade e visualização arquitetural para sistemas Python. Em suma, desenvolvedores especificam a arquitetura de seus sistemas forma simples e natural em arquivos JSON e ArchPython se encarrega do resto. De forma totalmente automática, tipos são inferidos (Jedi heurística de propagação) e violações arquiteturais são detectadas (divergências, ausências e até mesmo alertas). Além de um relatório textual em formato JSON, a ferramenta ainda provê duas formas de visualização de violações arquiteturais (grafo e DSM).

URI: sip.prg.ufla.br/publico/trabalhos_conclusao_curso/acessar_tcc_por_curso/
ciencia_da_computacao/20201201611003

URI alternaviva: repositorio.ufla.br/handle/1/45212

Curso: G010 - CIÊNCIA DA COMPUTAÇÃO (BACHARELADO)

Nome da editora: Universidade Federal de Lavras

Sigla da editora: UFLA

País da editora: Brasil

Gênero textual: Trabalho de Conclusão de Curso

Nome da língua do conteúdo: Português

Código da língua do conteúdo: por

Licença de acesso: Acesso aberto

Nome da licença: Licença do Repositório Institucional da Universidade Federal de Lavras

URI da licença: repositorio.ufla.br

Termos da licença: Acesso aos termos da licença em repositorio.ufla.br

Detentores dos direitos autorais: Eduardo Fernando de Lima e Universidade Federal de Lavras

Baixar arquivo