Qu'est-ce que la visualisation de logiciel?
La visualisation de logiciel consiste à utiliser des programmes ou des plug-in IDE (Integrated Development Environment) lors du développement et du test d'applications logicielles. Cela permet de créer une représentation graphique de certains aspects du logiciel afin de déterminer s’il existe des problèmes ou des inefficacités dans le programme. Il existe un certain nombre de types de techniques de visualisation de logiciels, mais elles sont généralement utilisées pour afficher des détails sur le code source d'un programme, pour examiner les relations entre les composants logiciels ou pour afficher une vue abstraite de l'exécution d'un programme, y compris des informations sur son déroulement. interagir avec les processus environnants. En général, la visualisation logicielle est utilisée sur des systèmes complexes pour aider à découvrir des comportements inhabituels ou l'utilisation de ressources, ou pour identifier les zones d'une conception inutiles ou qui ne fonctionnent pas correctement. La représentation visuelle utilisée varie considérablement, allant de blocs de texte interconnectés à des graphiques à barres bidimensionnelles (2D) pour élaborer des objets tridimensionnels (3D) qui changent de forme au cours de l'exécution d'un programme.
Dans certains cas, il peut être utile d’utiliser la visualisation logicielle pour consulter le code source d’un programme. Grâce à l’utilisation de la coloration et de l’abstraction, il est possible de visualiser d’énormes quantités de code écrit à la fois. L’intention pourrait être de déterminer la quantité de code utilisée dans quel but ou, alternativement, l’affichage pourrait être lié à un profileur ou à un débogueur qui met en évidence des blocs de code dont l’exécution est longue ou qui sont exécutés fréquemment.
Les langages de programmation orientés objet peuvent utiliser la visualisation logicielle pour déterminer les relations entre les différentes bibliothèques, classes et méthodes d'un programme. Cela aide à déterminer les dépendances entre les différentes zones d'un programme, dont certaines peuvent être involontaires. Il peut également afficher des classes ou des méthodes dans un programme qui ne sont jamais appelées ou que la logique du programme rend inaccessibles. Visuellement, un graphique de dépendances ou de relations peut ressembler à un réseau de toiles et de lignes, à des sphères superposées de tailles différentes ou même aux branches d'un arbre.
Une fois qu'un programme est en cours d'exécution, la visualisation en temps réel du logiciel peut montrer une représentation abstraite de son exécution, de la gestion des différentes files d'attente et de la manière dont les entrées et les sorties circulent. Cela peut aider les développeurs à détecter les pics ou les écarts de performances et les zones extrêmement sollicitées. Ces types de visualisations peuvent ressembler à presque tout, du déplacement de blocs de couleurs et de formes d'onde aux cartes topographiques changeantes qui représentent des segments de code en cours d'exécution. En général, cependant, la visualisation reste relativement basique afin que les événements anormaux puissent être clairement vus et observés sans encombrement graphique excessif.
Il existe d'autres applications pour la visualisation de logiciels, dont le reverse engineering d'une application. En observant l'interaction et l'exécution d'un programme, vous pouvez vous concentrer sur différents segments du code sans nécessiter une courbe d'apprentissage initiale abrupte. Une autre utilisation plus spécifique est dans le domaine de la sécurité informatique pour observer quelles zones d’un programme interagissent avec des processus extérieurs, ou quelles zones sont susceptibles d’être attaquées.