O que é visualização de software?
Visualização de software é o ato de usar programas ou plug-ins de ambiente de desenvolvimento integrado (IDE) durante o desenvolvimento e teste de aplicativos de software; Isso permite a criação de uma representação gráfica de algum aspecto do software com o objetivo de determinar se há algum problema ou ineficiências no programa. Existem vários tipos de técnicas de visualização de software, mas elas geralmente são usadas para ver detalhes sobre o código -fonte do programa, para examinar os relacionamentos entre os componentes do software ou para assistir a uma visão abstrata de como um programa está executando, incluindo informações sobre como ele está interagindo com os processos circundantes. Em geral, a visualização de software é usada em sistemas complexos para ajudar a descobrir comportamentos ou uso de recursos fora dos recursos comuns ou para ver áreas de um design desnecessário ou com defeito. A representação visual real usada varia muito de blocos interconectados de texto a bidimensional (2D) Gráficos de barras para elaborar objetos tridimensionais (3D) que mudam de forma como um programa é executado. Através do uso da coloração e abstração, quantidades maciças de código escrito podem ser visualizadas de uma só vez. A intenção poderia ser determinar quanto código é usado para qual finalidade ou, alternadamente, a tela pode estar vinculada a um perfilador ou depurador que destaca blocos de código que levam muito tempo para executar ou que são executados com frequência.
As linguagens de programação orientadas a objetos podem usar a visualização do software para determinar os relacionamentos entre as diferentes bibliotecas, classes e métodos em um programa. Isso ajuda a determinar dependências entre as diferentes áreas de um programa, algumas das quais podem não ser intencionais. Também pode mostrar aulas ou métodos em um programa que nunca é chamado ou queA lógica do programa torna inacessível. Visualmente, um gráfico de dependência ou relação pode parecer uma rede de teias e linhas, esferas sobrepostas de tamanhos diferentes, ou mesmo os ramos de uma árvore.Depois que um programa está em execução, a visualização de software em tempo real pode mostrar uma representação abstrata de como o programa está sendo executado, como as diferentes filas estão sendo tratadas e como a entrada e a saída estão fluindo. Isso pode ajudar os desenvolvedores a ver picos ou lacunas em desempenho e áreas que estão recebendo atividade excepcionalmente alta. Esses tipos de visualizações podem parecer quase tudo, desde mover blocos coloridos e formas de onda até alterar mapas topográficos que representam segmentos de código sendo executados. Em geral, no entanto, a visualização é mantida razoavelmente básica para que eventos anômalos possam ser claramente vistos e observados sem desordem gráfica excessiva.
Existem outros aplicativos para visualização de software, um dos quais é a engenharia reversa de um aplicativo. Observando como um programaM está interagindo e executando, diferentes segmentos do código podem ser focados sem exigir uma curva de aprendizado inicial acentuada. Mais um uso específico está no campo da segurança do computador para observar quais áreas de um programa estão interagindo com processos externos ou quais áreas estão abertas ao ataque.