Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
 

Methods and Techniques of Software Visualization (Sommersemester 2016)

Dozent: Prof. Dr. Jürgen Döllner (Computergrafische Systeme)
Tutoren: Willy Scheibel Daniel Limberger

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 22.04.2016
  • Lehrform: Seminar
  • Belegungsart: Wahlpflichtmodul

Studiengänge, Modulgruppen & Module

IT-Systems Engineering BA
IT-Systems Engineering MA
  • IT-Systems Engineering A
  • IT-Systems Engineering B
  • IT-Systems Engineering C
  • IT-Systems Engineering D

Beschreibung

Software Visualisierung und Software Analytics zielen darauf ab, Strukturen, Zusammenhänge und Prozesse, die in der Softwareentwicklung und bei der Evolution komplexer IT-Systeme auftreten, systematisch zu ermitteln, zu untersuchen und zu kommunizieren. Das Verstehen von evolutionär gewachsenen Systemen mit meistens mehreren Millionen Lines-of-Code und mehreren tausend Komponenten ist eine hochgradig anspruchsvolle, zeit- und kostenintensive Aufgabe, die zunehmend über Unternehmenserfolge entscheidet bzw. zur Beherrschung fundamentaler Risiken dient. 

Methoden und Techniken aus dem Bereich Software Analytics unterstützen die unterschiedlichen Aufgabenbereiche im IT-Systems Engineering, z.B. Design, Implementierung, Reverse Engineering, Forward Engineering, Refactoring, Softwaretest, Softwarequalität und Software-Maintenance. Ein besonders leistungsstarkes Kommunikationwerkzeug stellen Softwarelagekarten dar, die zu automatisch gewonnenen Daten aus dem IT-Entwicklungsprozess helfen Korrelationen aufzudecken, Metriken und ihre Entwicklung im Verlauf der Zeit zu verstehen und verschiedene Aspekte der Gesamtqualität eines Systems und seiner Entwicklung anschaulich vermitteln.

Die Teilnehmenden des Seminars erweitern ein hybrides, CPU- und GPU-basiertes Framework zur Analyse, Prozessierung und Visualisierung komplexer Softwaresysteme. Dazu beschäftigen sie sich mit einer aktuellen Fragestellung aus dem Bereich Software-Analytics und erstellen und erweitern eigenständig Komponenten des Frameworks.

Voraussichtliche Themen umfassen z.B.:

  • Data compression for 2.5D software maps
  • Navigation techniques for 2.5D software maps
  • Visualizing relations among components of 2.5D software maps
  • Visualization of changes over time and their readability using 2.5D software maps
  • Large-scale software project visualizations using 2.5D software maps
  • Modern rendering techniques for 2.5D software maps
  • Real-time metrics in 2.5D software maps
  • Metrics measurements and validation
  • Pattern detection in program execution 
  • Pattern detection in software development

Die vollständige Liste der Themen und genauere Informationen zu den einzelnen Bereichen werden bei dem ersten Treffen am 11.04. vorgestellt. Zu allen Themen können im Anschluss des Seminars Masterarbeitsthemen, Beteiligung an Forschungsarbeiten sowie Tätigkeiten im Rahmen einer Anstellung als studentische Hilfskraft entstehen.

Voraussetzungen

Das Seminar richtet sich an Studierende im Masterstudiengang IT-Systems Engineering bzw. Informatik. Kenntnisse der objektorientierten Software-Entwicklung, der Programmiersprache C++, des Applikation- und UI-Frameworks Qt, der Computergrafik/Visualisierung, von OpenGL, GLSL und Compilern sind von Vorteil.

Literatur

Zu jedem Thema gibt es neben den über das Internet frei zugänglichen Informationen eine Reihe aktueller Fachartikel, die bei der Themenvergabe mit ausgegeben werden. Die weitere Recherche von themenspezifischer Literatur ist Teil der Bearbeitung.

Lern- und Lehrformen

Die Bearbeitung beinhaltet, sich den Gegenstand des gewählten Themas theoretisch und praktisch zu erschließen. Hierzu sollen Konzepte theoretisch zusammengefasst und als eine Komponente implementiert werden, die in ein bestehendes Framework zur Analyse und Visualisierung komplexer Softwaresysteme integriert wird. Jeder Teilnehmer stellt seine Ergebnisse und Erkenntnisse im Rahmen der regelmäßigen Treffen vor. Die Seminarsprache ist Deutsch.

Leistungserfassung

Die Leistungspunkte werden erreicht, wenn die Studierenden

  1. bei allen Seminartreffen anwesend sind;
  2. erfolgreich die zu bearbeitenden Arbeitspakete nachvollziehbar analysieren und konzipieren sowie die wesentlichen Ergebnisse in einer schriftlichen Ausarbeitung (2/8) zusammenfassen;
  3. erfolgreich eines dem Thema entsprechende Softwareentwicklungsprojekt (3/8) planen und durchführen;
  4. über den jeweils aktuellen Projektstand erfolgreich kürzere Zwischenstandsvorträge (1x Konzept- und 1x Statusvortrag) (1/8) abhalten;
  5. über das Arbeitspaket bzw. ausgewählte Aspekte erfolgreich einen Abschlussvortrag (2/8) abhalten und bei allen Abschlussvorträgen anwesend sind.

Die Seminarthemen werden entweder einzeln oder im Team von zwei Studenten durchgeführt.

Termine

Das erste Treffen findet am 11. April, 09:15 Uhr im Raum H-2.57 statt (kurzfristige Änderungen vorbehalten). An diesem Termin wird das Seminar und die belegbaren Themen eingeführt. Im weiteren Verlauf des Seminars werden die Treffen hauptsächlich als Blockveranstaltungen organisiert sein.

Zurück