Documentação de arquitetura de software em contextos ágeis de desenvolvimento

Detalhes bibliográficos
Ano de defesa: 2024
Autor(a) principal: Barreto, Leonardo Augusto Picanço
Outros Autores: http://lattes.cnpq.br/5008540611340470
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Amazonas
Instituto de Computação
Brasil
UFAM
Programa de Pós-graduação em Informática
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://tede.ufam.edu.br/handle/tede/10437
Resumo: O contexto de desenvolvimento de software atual contém alta competitividade e impõe às empresas a necessidade crescente de entregar valor rapidamente e com custo baixo. Nesse caso, os recursos são alocados no desenvolvimento acelerado em detrimento de atividades de planejamento e de documentação de arquitetura de software. Dessa forma, informações relevantes sobre o sistema como interações do usuário, infraestrutura e plataforma de desenvolvimento, por exemplo, não são definidas ou documentadas da melhor forma, levando à maior complexidade de desenvolvimento e manutenção dos sistemas. Nesse contexto, a questão de pesquisa deste trabalho é quais abordagens de documentação da arquitetura de sistemas são viáveis em contextos ágeis de desenvolvimento de software e como utilizá-las? Para respondê-la, uma revisão da literatura e uma Feature Analysis foram realizadas, para avaliar as abordagens 4+1, S4V, ADD, BAPO/CAFCR, C3A e C4. A análise indicou as abordagens 4+1 e C4 com potencial de aplicação no contexto estudado e, para validá-las, três estudos experimentais foram realizados. Foi possível mostrar que não há diferença significativa na corretude da documentação ao utilizar as duas abordagens. Entretanto, algumas visões, como a de contexto (C4) e física (4+1), por exemplo, são mais importantes e mais fáceis de utilizar nas fases iniciais de desenvolvimento e outras, como a de componentes (C4) e lógica (4+1), por exemplo, só serão úteis em estágios futuros. Por fim, verificou-se também que, para não impactar o processo de desenvolvimento, uma solução é definir uma pessoa da equipe para documentar a arquitetura do sistema, desde que tenha conhecimento amplo sobre o produto e, se não o tiver, permita a contribuição por parte dos outros membros da equipe.