Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange...

74
Technische Universität München Wie schreibe ich meine Bachelorarbeit? Erfahrungen und Tipps von der Themensuche bis zur Abgabe Roman Haas Mit Material von Dr. Elmar Juergens In enger Abstimmung mit der Studienberatung der Fakultät für Informatik

Transcript of Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange...

Page 1: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Technische Universität München

Wie schreibe ich meine Bachelorarbeit?Erfahrungen und Tipps von der Themensuche bis zur Abgabe

Roman Haas

Mit Material von Dr. Elmar Juergens

In enger Abstimmung mit der Studienberatung der Fakultät für Informatik

Page 2: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

2011 – 2017 2017 – jetzt

Forschungsprojekt “SOFIE”

Page 3: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

1. Warum?

2. Worauf kommt es an?

3. Themenfindung

4. Arbeit erstellen

5. Vortrag

Agenda

Page 4: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

thesisguide.org

• Folien

• Video

• Detaillierte Essays

• FAQ

Page 5: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

1. Warum?

2. Worauf kommt es an?

3. Themenfindung

4. Arbeit erstellen

5. Vortrag

Agenda

Page 6: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 7: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 8: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Bild: http://en.wikipedia.org/wiki/File:Centrality.svg

Page 9: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Grafik aus Foliensatz von Daniela

Page 10: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Refactoring Vorschläge für lange Methoden

Page 11: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Revealing Missing Bug-Fixes in Code Clones in Large-Scale Code BasesMartin Pöhlmann, 2013, Intl. Workshop on Software Quality and MaintainabilityGenova, Italien

Using Network Analysis for Recommendation of Central Software Classes Daniela Steidl, 2012, Intl. Working Conference on Reverse EngineeringKingston, Kanada

Ticket Coverage: Putting Test Coverage into ContextJakob Rott, 2017,Workshop on Emerging Trends in Software Metrics Buenos Aires, Argentinien

Deriving Extract Method Refactoring Suggestions for Long MethodsRoman Haas, 2016, Software Quality DaysWien, Österreich

Page 12: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

1. Warum?

2. Worauf kommt es an?

3. Themenfindung

4. Arbeit erstellen

5. Vortrag

Agenda

Page 13: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 14: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 15: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 16: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Rollen

Autor Betreuer Themensteller

Page 17: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Rollen

• Erarbeitet Lösung

• Implementiert

• Schreibt

• Trägt vor

• Erfindet Thema

• Feedback Arbeit

• Bewertung

?

• Feedback Thema

• Formale Benotung

?

Autor Betreuer Themensteller

Page 18: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

1. Warum?

2. Worauf kommt es an?

3. Themenfindung

4. Arbeit erstellen

5. Vortrag

Agenda

Page 19: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Page 20: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 21: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 22: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Themeninteresse

Autor

Themeninteresse

Betreuer

Page 23: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Quellen

• Lehrveranstaltungen

• Lehrstuhlseiten

• Themenausschreibungen (auch alte)

• Themenliste auf in.tum.de Seite:

http://intranet.in.tum.de/pages/14qh3nhl9lznu/Thesisankuendigungen

Geht auf mögliche Betreuer zu. Betreuer freuen sich über Initiative!

Page 24: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Themenbewerbung ist Bewerbung

Unbedingt vermitteln:

• Motivation: Warum interessiert Dich Thema?

• Stärken: Warum sollst Du dieses Thema bearbeiten?

Optional

• Lebenslauf und Motivationsschreiben

• Feedback: TUM Career Center Feedback Lebenslauf

Page 25: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Was, wenn ich kein Thema weiß?

• Einfach bei potentiellen Betreuern melden

• Als Betreuer erwarte ich nicht, dass– Studenten eigene Themen haben

– Sich nur auf die ausgeschriebenen Themen bewerben

Page 26: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Thema Roman

Page 27: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

From: Roman Haas

To: Elmar Juergens

Date: 10.12.2013

Hallo Herr Juergens,

ich studiere Informatik an der TUM im fünften Semester und möchte im

kommenden Sommersemester meine Bachelorarbeit schreiben. Ich interessiere

mich für Software Engineering-Themen wie z. B. Tests, Analyse,

Softwarequalität und habe im Rahmen meiner Werkstudententätigkeit auch

erste Erfahrungen in diesen Bereichen gesammelt. Beispielsweise

beschäftige ich mich damit, Tests einer Komponente in einem Flugsimulator

zu automatisieren. Außerdem habe ich im Sommer bei der Ferienakademie an

einem Kurs zum Thema "Programmanalyse" teilgenommen, der mir viel Spaß

gemacht hat.

Haben Sie noch Themen für eine Bachelorarbeit aus den Bereichen Software

Engineering/ Testing/ Analyse?

Falls ja, könnten wir uns mal auf einen Kaffee treffen, um uns darüber

genauer zu unterhalten?

Danke für Ihre Antwort!

Viele Grüße

Roman Haas

Page 28: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Interesse

Autor

Interesse

Betreuer

Standort-

faktoren

Umgebung

Page 29: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

TUM

• Kontakt zu Lehrstuhl (Promotion?)

• Leichter Betreuer zu finden

• Wissenschaftliche Veröffentlichung wahrscheinlicher

• Visionärere Themen

• Erfahrung in Betreuung

Einblick wissensch. Arbeit

• Kontakt zu Firma (Job?)

• Leichter praktisch relevante Problemstellung zu finden

• Aufwandsentschädigung eventuell möglich

• Veröffentlichung schwieriger (Ausnahme: Fallstudie)

• Synchronisation Betreuer aufwändiger

Einblick Firma

Industrie

SonderfallSpin-Offs/Forschungsinstitute: teilweise Vorteile beider Seiten

Page 30: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 31: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Forschungsarbeiten @ CQSE

• Mi., 11.12., 17 Uhr im gate

• Agenda: Ablauf einer BA/GR/MA @ CQSE– Analyse-Implementierung

– Studie

– Betreuung

– Pitch aktueller Themen

• Hinterher Pizza und Bier ☺

• Anmeldung unter

https://forschungsarbeiten-cqse.eventbrite.de

Page 32: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Wann ist ein Thema Schrott?

Wenn sich nicht klar beurteilen lässt, ob eine Lösung besser ist, als eine andere.

Wichtigste Faktoren:

• Gibt es ein klares Problem Statement?

• Kann ich Alternative Lösungen objektiv bewerten?

Warum?

• Entscheidungsfindung während Bearbeitung

• Einfacher, Betreuer zu überzeugen

• Betreuer kann Professor einfacher überzeugen

Page 33: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Unterstützung von Sprachentwicklung durch Visualisierung

Grafiken aus Foliensatz von Ludwig

Page 34: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Using Network Analysis for Recommendation of Central Software Classes (Daniela Steidl, 2012)

Grafiken aus Foliensatz von Daniela

Page 35: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Refactoring Vorschläge für zu lange Methoden

74%

26%

0%

Which candidate would you use more likelyfor an extract method refactoring?

TOP 1 TOP 2/3 Random

74%

12% 14%

Would you use the selected candidate for anextract method refactoring?

Yes Yes, with slight modification No

Page 36: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Themen-Antipatterns

• Search my Literature

• Implementation only

• Choose my Tool

− Wenig objektive Bewertungskriterien

− Kein eigenes Feedback während Arbeit

− Veröffentlichung sehr schwierig

Page 37: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

• Interne Arbeit

• Externe Arbeit

• Spin-Offs/Forschungsinstitute

Fahrplan

1-2 Monate 4-5 Monate 1-2 Monate

3-6 Monate

2-3 Monate

Page 38: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Formale Anmeldung

15.7.

Page 39: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Wann anmelden?

• Mein Tipp: Gleich anmelden!

• Trotzdem kein Risiko: Thema kann innerhalb des ersten Drittels ohne Konsequenzen zurückgegeben werden.

Page 40: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Weitere Formalia

• Anmeldeformulare: Info, Games, WInfo

• Laufzeit 4 Monate (5 bei Wirtschaftsinformatik)

• Verlängerung

– Bei Krankheit: Einfach

– Bei anderen Gründen: Schwierig. Besser über Scoping lösen

Page 41: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Fragen hierzu?

• Themenfindung?

• Themen-Kriterien?

• Interne vs. externe Arbeit?

• Anmeldung?

Page 42: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

1. Warum?

2. Worauf kommt es an?

3. Themenfindung

4. Arbeit erstellen

5. Vortrag

Agenda

Page 43: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Was ist wissenschaftliche Arbeit?

Wissenschaftliches Arbeiten: schafft Wissen.

• Meinung/Hypothese & empirische Ergebnisse trennen

• Eigene Arbeit & Vorarbeiten trennen

Ziel: Dem Leser ermöglichen, Ergebnisse und Schlüsse nachzuvollziehen (oder zu reproduzieren).

Page 44: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

BetreuerAutor

Page 45: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

• Zeitmanagement

• Feedback einholen

• Probleme kommunizieren

• Entscheidungen treffen

Zuvorkommend: Bei jedem Treffen mit Betreuer

• Stand letztes Treffen

• Was ist seit dem passiert

• Was plant Ihr bis nächstes Treffen

Autor

Aufgaben Autor

Page 46: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

• Themenstellung und –schärfung

• Scoping

• Feedback geben

Nicht Aufgabe

• Micro-Management inkl. Zeitmanagement

• Entscheidungen abnehmen

• Komplette Arbeit korrekturlesen

Betreuer

Aufgaben Betreuer

Page 47: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Wie oft treffen?

Regelmäßiges Treffen

Treffen nach Bedarf

Feedback Gliederung

Page 48: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Bestandteile

1. Introduction

2. Fundamentals

3. Related Work

4. Solution Approach

5. Evaluation

6. Future Work

7. Conclusion

Page 49: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 50: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 51: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 52: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

http://obesemindset.blogspot.de/2010_11_01_archive.html

Page 53: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Bestandteile

1. Introduction

2. Fundamentals

3. Related Work

4. Solution Approach

5. Evaluation

6. Future Work

7. Conclusion

> 2/3 der Arbeit

Page 54: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

http://thesisguide.org/2014/10/13/thesis-architecture/

Page 55: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Tools

• LaTeX

• Versionskontrolle (auf Server mit Backup)

• JabRef

• Template: https://github.com/fwalch/tum-thesis-latex

Formelle Anforderungen:

• DE:http://www.in.tum.de/fuer-studierende/pruefungen-und-formalitaeten/abschlussarbeit.html

• EN:http://www.in.tum.de/en/current-students/administrative-matters/thesis-guidelines-and-topics.html

Page 56: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Arbeitsroutine

Page 57: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Fragen hierzu?

• Schnittstelle Autor / Betreuer?

• Betreuung?

• Tools?

• Wo und wie schreiben?

Page 58: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

1. Warum?

2. Worauf kommt es an?

3. Themenfindung

4. Arbeit erstellen

5. Vortrag

Agenda

Page 59: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 60: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 61: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 62: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

http://thesisguide.org/2015/03/04/how-to-draft-your-presentation/

Page 63: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 64: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Publikum sieht das

Meine Notizen

Nächste Folie

Page 65: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 66: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Leerer Höhrsaal

• Zuse leer knipsen

Page 67: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Publikum im Höhrsaal

• Folie von oben

Page 68: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

http://thesisguide.org/2015/03/04/how-to-draft-your-presentation/

Page 69: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Nachlauf

• Abgabe Feiern

• Früh Termin für Präsentation suchen

• Eigene Termine früh an Betreuer kommunizieren

Page 70: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?
Page 71: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

https://thesisguide.org/2016/06/10/avoiding-typical-pitfalls-not-only-at-tum/

Page 72: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

http://cqse.eu/feedback-tum-talk

Page 73: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Die TUM bietet die Plattform.

Es ist Deine Verantwortung, Dir darin ein Umfeld für eine erfolgreiche Bachelorarbeit zu schaffen.

Page 74: Technische Universität München · 2019. 11. 14. · Refactoring Vorschläge für zu lange Methoden 74% 26% 0% Which candidate would you use more likely for an extract method refactoring?

Danke!

[email protected]

@r2h293

Mehr Infos: https://thesisguide.org