Visualizando evolução de software em detalhes

Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-05-30T21:20:41Z No. of bitstreams: 1 thesis-final-renatonovais.pdf: 7067925 bytes, checksum: 6beae407f17c9c197c694885e80338cc (MD5) === Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-01T12:35:19Z (GMT) No. of...

Full description

Bibliographic Details
Main Author: Novais, Renato Lima
Other Authors: Mendonça Neto, Manoel Gomes de
Language:Portuguese
Published: Instituto de Matemática 2017
Subjects:
Online Access:http://repositorio.ufba.br/ri/handle/ri/22663
Description
Summary:Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-05-30T21:20:41Z No. of bitstreams: 1 thesis-final-renatonovais.pdf: 7067925 bytes, checksum: 6beae407f17c9c197c694885e80338cc (MD5) === Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-01T12:35:19Z (GMT) No. of bitstreams: 1 thesis-final-renatonovais.pdf: 7067925 bytes, checksum: 6beae407f17c9c197c694885e80338cc (MD5) === Made available in DSpace on 2017-06-01T12:35:19Z (GMT). No. of bitstreams: 1 thesis-final-renatonovais.pdf: 7067925 bytes, checksum: 6beae407f17c9c197c694885e80338cc (MD5) === Evolução do software tem sido destacada como um dos temas mais importantes em engenharia e manutenção de software. Durante a evolução do software, os engenheiros de software precisam compreender uma grande quantidade de dados. Visualização de Software é a área da engenharia de software que tem como objetivo ajudar as pessoas a entender o software através do uso de recursos visuais, e pode ser efetivamente usada para analisar e compreender a grande quantidade de dados produzidos durante a evolução do software. Um grande desafio da área é criar estratégias para visualizar combinadamente muitas versões, muitos módulos (pacotes, classes e métodos) e muitos atributos (e.g. métricas) de software. As visualizações de evolução de software (VES) propostas atualmente procuram, quase sempre, apresentar os dados de forma global, incluindo todas as versões disponíveis, mostrando informações genéricas sobre o processo de evolução, sem ter acesso aos módulos do software. Entretanto, a maior parte das tarefas de engenharia de software requer o acesso aos módulos em questão, analisando o software em detalhes. Além disso, analisar todas as versões ao mesmo tempo, vai de encontro com o estado da prática, o qual, geralmente, foca na diferenciação entre duas versões sequenciais, ou, em menor quantidade, no entendimento de um número maior, porém controlável, de versões. Esta tese explora a visualização da evolução do software em detalhes. Para este fim, ela mapeia a área, define uma abordagem e apresenta uma infraestrutura computacional para VES. Esta infraestrutura faz uso combinado de estratégias diferenciais e de estratégias temporais detalhadas, em contraposição as abordagens temporais globais normalmente utilizadas na literatura. Este trabalho contribui através do desenvolvimento de uma abordagem para VES que combina versões, módulos e atributos de software de forma controlada e coordenada. Controlada pelo fato de não mostrar todas as versões ao mesmo tempo, permitindo a análise detalhada dos módulos e seus atributos. Coordenada pelo fato de combinar estratégias complementares que interagem entre si para facilitar a compreensão do software em detalhes, adicionando assim valor ao estado da arte em VES. O desenvolvimento da infraestrutura para dar suporte à esta abordagem foi incremental e iterativo. A cada fase, procurou-se realizar estudos experimentais com o objetivo de avaliar a abordagem desenvolvida. Os resultados indicam que a abordagem proposta pode ser utilizada para apoiar de forma efetiva a realização de atividades de análise de evolução de software.