Evowave: A Multiple Domain Metaphor for Software Evolution Visualization - Magnavita, Rodrigo Chaves (2016)
A evolução do software produz uma grande quantidade de dados durante os ciclos de desenvolvimento. Engenheiros de software precisam interpretar esses dados para extrair informações que os auxiliarão na execução de suas atividades diárias. O uso de Visualização de Evolução de Software (VES) tem sido uma abordagem promissora para auxiliar nessa interpretação. Essa abordagem faz uso de recursos visuais que facilitam a interpretação desses dados. Ainda assim, não é trivial representar visualmente todos os dados gerados durante a evolução do software, pois além do software possuir diferentes entidades e atributos, ainda é necessário lidar com a dimensão temporal da evolução. As VES geralmente são construídas com objetivo de auxiliar na execução de atividades relacionadas a um domínio específico da engenharia de software. Muitas dessas visualizações focam apenas em apresentar uma visão geral da evolução do software, sem focar nos detalhes. Entretanto, a maioria das atividades de desenvolvimento de software requer tanto combinar diferentes domínios quanto ter uma visão detalhada das informações. As metáforas visuais (i.e., conceitos, associações e analogias a entidades concretas) utilizadas nessas visualizações, são muito específicas, objetivando auxiliar apenas um determinado domínio. O uso de múltiplas visões do software para construir o modelo mental do sistema vem sendo apontado como uma abordagem efetiva para o completo entendimento do mesmo. Na maioria dos casos, essas visualizações possuem conjuntos de metáforas visuais. Devido a isso, surge uma necessidade do engenheiro de software compreender e se familiarizar com as metáforas visuais de cada uma das visualizações durante a utilização das mesmas. Uma das formas de mitigar esse problema é usar visualizações que possuem uma única metáfora visual para visualizar diversos aspectos e perspectivas do software. Esta dissertação apresenta uma nova metáfora visual, chamada EVOWAVE, capaz de ser utilizada em múltiplos domínios e que permite visualizar os dados de forma global e detalhada. A EVOWAVE é inspirada em ondas concêntricas enquanto observadas de cima. Essa metáfora consegue representar grandes quantidades de dados e seus conceitos são transversais a domínios na área de engenharia de software. O desenvolvimento desta metáfora passou por fases iterativas que refinaram os conceitos associados a ela. Primeiramente foi desenvolvido um protótipo que validou a capacidade da metáfora de representar grandes quantidades de dados. Em seguida, foram realizados estudos para validar a capacidade de representar dados de diferentes domínios. Os resultados indicam que a metáfora proposta pode ser utilizada de forma efetiva em diferentes domínios da área de engenharia de software para auxiliar na execução de atividades de manutenção e evolução.