DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS Master Seminar Empirical Software Engineering Anuradha Ganapathi Rathnachalam Institut für Informatik Software & Systems Engineering
Agenda Introduction Examples Software Visualisation Goals Software Visualisation Workflow Software Visualisation Dimension Software Visualisation Properties Tools for software visualisation Conclusion Questions 2
INTRODUCTION-DATA VISUALISATION WHAT - Present the data in a pictorial and graphical format. WHY - Faster, Effective and easier to analyse data from graphs and charts rather than spreadsheets HOW - Using data visualisation tools 3
EXAMPLES 4
EXAMPLES 5
SOFTWARE VISUALISATION Software Visualization is the use of the crafts of typography,graphic design, animation, and cinematography with modern human-computer interaction and computer graphics technology to facilitate both the human understanding and effective use of computer software. Price, Baecker and Small, Introduction to Software Visualization 6
SOFTWARE VISUALISATION(1) GOALS To provide mental model of the software project To visually represent software structure,execution,behaviour and evolution To facilitate understanding and effective use of computer software 7
SOFTWARE VISUALISATION(2) GOALS To be used in software maintenance, reverse engineering and evolutionary analysis To handle complex code 8
DIMENSIONS OF SOFTWARE VISUALISATION Tasks Audience Target Representation Medium 9
PROPERTIES OF SOFTWARE VISUALISATION Scope Content Form Method Interaction 10
SOFTWARE VISUALISATION- WORKFLOW https://hpi.de/doellner/softvis.html 11
SOFTWARE VISUALISATION- TOOLS Code City[1] Massey Architecture Expl[2] [1] http://www.inf.usi.ch/phd/wettel/codecity.html [2] http://xplrarc.massey.ac.nz/ 12
CODECITY 3D visualisation technique for representation of object oriented software systems as cities Get to know the hierarchical structure of the software systems Understand the relationship between the elements 13
CODECITY Class Width/length number of attributes Height number of methods Colour saturation number of lines of code Packages 14
CODECITY-PACKAGE HIERARCHY(1) COLOR DETERMINE D BY THE DEPTH IN HIERARCHY 15
CODECITY-PACKAGE HIERARCHY(2) 16
CODECITY-DIFFERENT TYPES OF CLASSES 17
CODECITY-DIFFERENT TYPES OF CLASSES 18
CODECITY-DIFFERENT TYPES OF CLASSES 19
CODECITY-GOD CLASS 20
CODECITY-BRAIN CLASS 21
MASSEY ARCHITECTURE EXPLORER Graph built from Java code and displayed in browser using force directed layout Get to know the class tangles and package tangle Hierarchy of software systems 22
MASSEY ARCHITECTURE EXPLORER-PACKAGES 23
MASSEY ARCHITECTURE EXPLORER-CLASS 24
MASSEY ARCHITECTURE EXPLORER-CLASS TANGLES 25
WHEN TO USE? Massey Architecture CodeCity Analyse the heirarchy in the system Visualisation using different perspectives Visualise the different types of classes Used to visualize the dependencies between classes 26
TOOLS CLASSIFICATION- SOFTWARE VISUALISATION TOOLS REQUIREMENTS DESIGN ANALYSIS To manage the requirements To keep track of source code structure and behaviour To analyse problems in the source code 27
CONCLUSION DATA VISUALISATION - Technique to visually represent and analyze graph data SOFTWARE VISUALISATION Visualisation of the software structure,execution behavior and evolution TOOLS Code city and Massey Architecture Explorer 28
REFERNCES 1.Software Visualisation by Stephan Diehl 2. http://xplrarc.massey.ac.nz/ - Massey Architecture Explorer 3. http://www.inf.usi.ch/phd/wettel/codecity.html - Code city 4. http://www.sonarqube.org/ -SonarQube 5. https://www.hello2morrow.com/products/sonargraph - Sonar Graph 29
QUESTIONS