Visualisierung von Quelltext

Visualisierung von Quelltext
Patrick Bachmann 14INM
02.06.2015
1
 Motivation
 Projekt-Ebene
 Quelltext-Ebene
 Software Cartography
02.06.2015
2
Motivation
02.06.2015
3
Motivation
Analyse
Entwurf
Implementation
Test &
Integration
Wartung
02.06.2015
4
Ziele
 Einarbeitungszeit verringern
 geringer Erstellungsaufwand
 einfach zu Aktualisieren
 Portabilität
 Qualitätssicherung
02.06.2015
5
Verständnis-Strategien
 Top-Down
 System wird als Ganzes betrachtet
 Bottom-Up
 lesen von Quelltext
 Interaktiv / gemischt
 Kombination von Top-Down und Bottom-Up
02.06.2015
6
Projekt-Ebene
02.06.2015
7
inFamous - Inheritence-Map (Komplexität)
02.06.2015
8
interfacehierarchies
classhierarchies
standalone
inFamous - Inheritence-Map (Komplexität)
02.06.2015
9
inFamous Package-Map (Komplexität)
02.06.2015
10
SciTools Understand - TreeMap
02.06.2015
11
CrocoCosmos (reduziert)
02.06.2015
12
CrocoCosmos
02.06.2015
13
CrocoCosmos
02.06.2015
14
Visual Studio 2013 CodeMap
02.06.2015
15
Visual Studio 2013 CodeMap
02.06.2015
16
Quelltext-Ebene
02.06.2015
17
Visual Studio 2013 CodeMap
02.06.2015
18
public void DoFizzBuzz() { for (int i = 1;
i <= 100; i++) { bool fizz = i % 3 == 0;
bool buzz = i % 5 == 0; if (fizz && buzz)
Console.WriteLine ("FizzBuzz"); else if
(fizz) Console.WriteLine ("Fizz"); else if
(buzz) Console.WriteLine ("Buzz"); else
Console.WriteLine (i); } }
02.06.2015
public void DoFizzBuzz()
{
for (int i = 1; i <= 100; i++)
{
bool fizz = i % 3 == 0;
bool buzz = i % 5 == 0;
if (fizz && buzz)
Console.WriteLine ("FizzBuzz");
else if (fizz)
Console.WriteLine ("Fizz");
else if (buzz)
Console.WriteLine ("Buzz");
else
Console.WriteLine (i);
}
}
19
public void DoFizzBuzz()
{
for (int i = 1; i <= 100; i++)
{
bool fizz = i % 3 == 0;
bool buzz = i % 5 == 0;
if (fizz && buzz)
Console.WriteLine("FizzBuzz");
else if (fizz)
Console.WriteLine("Fizz");
else if (buzz)
Console.WriteLine("Buzz");
else
Console.WriteLine(i);
}
}
public void DoFizzBuzz()
{
for (int i = 1; i <= 100; i++)
{
bool fizz = i % 3 == 0;
bool buzz = i % 5 == 0;
if (fizz && buzz)
Console.WriteLine ("FizzBuzz");
else if (fizz)
Console.WriteLine ("Fizz");
else if (buzz)
Console.WriteLine ("Buzz");
else
Console.WriteLine (i);
}
}
Visual Studio 2013 Light
Notepad++ Solarized Light
02.06.2015
20
Software Cartography
FORSCHUNGSPROJEKT
02.06.2015
21
02.06.2015
22
02.06.2015
23
Literatur
 David Erni. Codemap—Improving the Mental Model of Software Developers through Cartographic
Visualization. In Master's Thesis, University of Bern, January 2010
 Adrian Kuhn, David Erni, Peter Loretan and Oscar Nierstrasz. Software Cartography: Thematic
Software Visualization with Consistent Layout. In Journal of Software Maintenance and Evolution
(JSME) 22(3) p. 191-210, April 2010
 S. Diehl. Softwarevisualisierung. In Informatik-Spektrum 26, p. 257-260, August 2003
 Hacı Ali Duru , Murat Perit Çakır and Veysi İşler. How Does Software Visualization Contribute to
Software Comprehension? A Grounded Theory Approach. In International Journal of Human-Computer
Interaction 29, p. 743-763, September 2013
02.06.2015
24
Literatur
 Alexandru Telea, Ozan Ersoy, & Lucian Voinea, Visual analytics in software maintenance: Challenges
and opportunities, Paper presented at the International Symposium on Visual Analytics Science and
Technology, 2010
 http://software-cities.org/gallery/crococosmo/
02.06.2015
DATEI-EBENE QUELLTEXT
25
Visual Studio 2013 CodeMap
02.06.2015
26