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

Systems Engineering for Software Analytics (Wintersemester 2015/2016)

Lecturer: Prof. Dr. Jürgen Döllner (Computergrafische Systeme)
Tutors: Daniel Limberger Dr. Matthias Trapp Willy Scheibel

General Information

  • Weekly Hours: 4
  • Credits: 6
  • Graded: yes
  • Enrolment Deadline: 23.10.2015
  • Teaching Form: Seminar
  • Enrolment Type: Compulsory Elective Module
  • Maximum number of participants: 8

Programs, Module Groups & Modules

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

Description

Software Analytics zielt 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 Instrument 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 und Visualisierung komplexer Softwaresysteme. Dazu beschäftigen sie sich mit einer aktuellen Fragestellung aus dem Bereich Software-Analytics und erweitern eigenständig entsprechende Komponenten des Frameworks.

Voraussichtliche Themen umfassen beispielsweise:

  • Data compression for 2.5D software maps (DL)
  • Navigation techniques for 2.5D software maps (DL)
  • Visualizing relations among components of 2.5D software maps (WS)
  • Visualizing software evolution by animated 2.5D software change maps (WS)
  • Visualization of changes over time and their readability (MT)
  • Progress and milestone visualization (MT) 
  • ...

Weitere Themen werden bei der ersten Sitzung 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.

Requirements

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

Literature

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

Learning

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 komplexer Softwaresysteme integriert wird. Jeder Teilnehmer stellt seine Ergebnisse und Erkenntnisse im Rahmen der regelmäßigen Treffen vor.

Examination

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. einen ausgewählten Aspekt erfolgreich einen Abschlussvortrag (2/8) abhalten und bei allen Abschlussvorträgen anwesend sind.

Dates

Das erste Treffen findet am 12. Oktober, 15:15 Uhr im Raum H-2.57 statt (kurzfristige Änderungen vorbehalten). Im weiteren Verlauf des Seminars werden die Treffen hauptsächlich als Blockveranstaltungen organisiert sein.

Zurück