Diplomarbeiten richtig vorbereiten, ausführen und verteidigen

Johannes Waldmann, F-IMN, HTWK Leipzig

Allgemeines

Ich gebe hier einige Hinweise für Diplomanden. (Rechtliche Rahmenbedingungen finden Sie in der Studien- und Prüfungsordnung, darauf gehe ich hier nicht ein.)

Die Diplomarbeit ist der Abschluß des Studiums. Sie weisen nach, daß Sie hier etwas gelernt haben, indem Sie fachmännisch Wissen und Methoden in einem größeren Informatik-Projekt anwenden.

Der wesentliche Aspekt ist dabei die Dokumentation: natürlich soll ihr Projekt erfolgreich sein, aber bewertet wird eigentlich nicht das Projekt (die Soft- oder Hardware) selbst, sondern die schriftliche Ausarbeitung, die Sie darüber anfertigen.

Das Thema

  • Entweder Sie kommen mit einem interessanten Themenvorschlag (z. B. aus einer Praktikumsfirma) zu dem Professor, zu dessen Fachgebiet das Thema am besten paßt
  • oder Sie fragen einen Professor, ob er ihnen ein Thema vorschlagen kann. Oft ergeben sich Thmen aus den Industriekontakten oder Forschungsinteressen und werden auch in Lehrveranstaltungen oder in anderer Form angekündigt.

In jedem Fall empfielt sich der Besuch von Ober- oder Diplomanden-Seminaren der jeweiligen Arbeitsgruppe.

Wann ist ein Thema interessant und geeignet? Das muß der Themensteller begründen, aber Sie müssen die Begründung auch verstehen und überzeugend wiedergeben können. Es geht bei FH-Diplomarbeiten weniger darum, neue wissenschaftliche Erkenntnisse zu erzielen, sondern vorwiegend darum, diese ingenieurmäßig anzuwenden.

Praxisthemen

Bei eigenen Themenvorschlägen aus der Industrie sollten Sie in Ihrer Firma jemanden haben, der Ihre Arbeit betreut (d. h. nicht nur am Anfang die Aufgabe stellt und am Schluß abnimmt) und schließlich auch begutachtet. Dazu sollte er wenigstens den akademischen Grad haben, um dessen Verleihung es geht (also FH-Diplom). Der betreuende Professor wird normalerweise zu Beginn und auch während Ihrer Diplomarbeit mit dem Praxisbetreuer Kontakt aufnehmen. Ich sehe mir z. B. gern die Geschäftsräume der auftraggebenden Firma selbst an, sofern diese in Leipzig sind.

Bei der Gestaltung Ihres (Vertrags-)Verhältnisses zu der betreuenden Firma sollten Sie beachten, daß die Interessen mitunter etwas divergieren: die Firma möchte meist ein Produkt (Software), und wird das nach Möglichkeit auch bezahlen; aber Sie erhalten die Zensur für die Dokumentation des gesamten Prozesses von Anforderungsanalyse über Entwurf und Realisierung bis hin zum Test.

Der Plan

Sobald Sie sich grundsätzlich für ein Thema und einen Betreuer entscheiden haben, sollten Sie diesem einen Plan für die Diplomarbeit vorlegen. Ich empfehle dazu folgendes: Schreiben Sie ein Dokument mit

  • Titel,
  • Vorwort,
  • Gliederung (Kapitelüberschriften),
  • Nachwort

Ihrer geplanten Arbeit (insgesamt ca. 2 bis 3 Seiten). Im Vorwort (ausformuliert) soll bereits erkennbar sein, was das Thema ist und warum es interessant ist. Im Nachwort (auch ausformuliert) sollen Sie zusammenfassen, was Sie am Ende des Projektes zu erreichen gedenken. Das läßt sich natürlich nicht genau vorhersagen, aber einen Plan müssen Sie haben. Den Rest der Arbeit müssen Sie dann nur noch so schreiben, daß er zwischen Vor- und Nachwort paßt.

Gestaltung der Arbeit

Hierzu gibt es viele, viele Ratgeber, deswegen wiederhole ich nur einige Dinge, die mir wichtig erscheinen.

  • Führen Sie von Anfang an ein Glossar (Begriffsverzeichnis). Erinnern Sie sich an Übungen zum Software-Entwurf. Jedes Substantiv aus der Anforderungsanalyse muß erklärt werden. Im Glossar ist aber dafür nicht genug Platz, deswegen steht bei jedem Glossar-Eintrag ein Verweis: entweder in Ihren Text oder in die Literatur (je nach dem, wo die ausführliche Begriffsdefinition steht).
  • ...und ein Literaturverzeichnis! Verzeichnen Sie dort jedes Dokument, das Sie benutzen. Es führt (bei mir) zur Abwertung, wenn das nur eine Liste von URLs ist. Das deutet nämlich darauf hin, daß Sie die Grundlagen des Themas nicht genügend erforscht haben. Eine Grundlage erkennt man daran, daß sie schon längere Zeit als solche anerkannt ist und in Standard-Lehrbüchern und -Nachschlagewerken erscheint. Wenn Sie schon URLs zitieren, dann folgen Sie bibliografischen Grundsätzen: jede benutzte Quelle hat einen Namen (bei Dokumentationen oder Spezifikationen eventuell auch eine Versionsnummer), einen Autor, ein Datum und einen Ort (der URL liefert nur den Ort). Jeder Leser, insbesondere jeder Gutachter, muß die Quellen jederzeit nachprüfen können. Wenn das z. B. durch Verweise auf ,,dynamischen`` Websites nicht möglich ist, ist das Ihr Problem, also überlegen Sie vorher.
  • Stellen Sie die richtige Verbindung zwischen wissenschaftlichen Grundlagen und technischer Anwendung her. Überlegen Sie, welche Lehrveranstaltungen Ihnen helfen, das Thema zu verstehen und zu bearbeiten.
  • Folgen Sie einer vernünftigen Gliederung. Zeigen Sie die Arbeit Freunden oder Bekannten, die keine Informatiker sind. Wenn diese verstehen, worum es geht, dann versteht es der betreuende Professor auch.
  • Den wissenschaftlichen Anspruch einer Arbeit erkennt man auch daran, daß die Fachsprache richtig benutzt wird. Die Sprache der Informatik ist die Mathematik, besonders die mathematische Logik. Wenn in Ihrer Arbeit nur verbale und keine formalen Aussagen vorkommen, dann fehlt etwas. Programmtexte sind da kein Ersatz, denn diese sind oft ohne Spezifikation weitgehend unverständlich.
  • Schreiben Sie richtiges Deutsch! Grundsätze sind: Klarheit, Kürze, Klang. Siehe z. B. Peter Rechenberg: Technisches Schreiben (nicht nur) für Informatiker, Carl-Hanser-Verlag München und Wien, 2003, http://www.hanser.de/buch.asp?isbn=978-3-446-40695-7 Setzen Sie Kommas nicht wahllos. Es ist ein weit verbreiteter Irrglaube, daß nach neuer Rechtschreibung dort alles erlaubt sei.
  • Benutzen Sie ein vernünftiges, sicheres Textsatzsystem (mit Unterstützung zu Formelsatz, Rechtschreibung, Silbentrennung, Formatierung, Numerierung, Indizierung) und halten Sie sich an Grundsätze der Datensicherung (führen Sie regelmäßige Sicherheitskopien durch). Fragen Sie Ihren Betreuer (oder andere Dienstleister) nach einem Zugang zu einer Quelltextverwaltung (z. b. CVS) auf einem Server des Fachbereiches, der regelmäßig gesichert wird.

Verteidigung

Nachdem Sie die Arbeit im Prüfungsamt abgegeben haben, wird sie von den zwei Gutachtern bewertet. Dann vereinbaren Sie mit Ihrem Betreuer einen Termin für die Verteidigung. Das ist eine öffentliche Veranstaltung mit diesem Ablauf:

  • Sie tragen vor (20 bis 25 Minuten)
  • die Gutachter zitieren aus den Gutachten (das ergibt Anknüpfungspunkte für die folgende Diskussion)
  • die Betreuer und das Publikum diskutieren mit Ihnen (20 bis 25 Minuten)

Die Note wird als gewichtetes Mittel aus den Gutachten (je 3/8) und der Verteidigung (1/4) bestimmt.

Auch zur Gestaltung von Vorträgen finden Sie an vielen Orten Hinweise. Falls Sie vorbereitete Folien (Beamer) benutzen, beachten Sie besonders:

  • Sehen Sie zum Publikum, nicht an die Wand.
  • Schreiben Sie auf die Folien nur Wichtiges und nur in Stichpunkten.
  • Achten Sie darauf, daß man von allen Plätzen gut lesen kann. Wählen Sie sinnvolle Schriftfarben- und -Größen. Auf eine Folie passen höchstens zehn Zeilen Text!
  • Numerieren Sie die Folien sichtbar, so daß in der Diskussion leicht auf bestimmte Folien verwiesen werden kann.
  • Wenn Ihre letzte Folie den Text ,,Danke für die Aufmerksamkeit`` enthält, dann löschen Sie diese Folie ersatzlos. Die letzte Folie des Vortrags ist die, die am Anfang der Diskussion stehenbleibt, oft länger, da muß also Information draufsein, normalerweise eine Zusammenfassung der Resultate Ihrer Arbeit.
  • Wenn auf Ihrer ersten Folie die Gliederung steht, dann löschen Sie diese ebenfalls. Die erste Folie muß einen spannenden Einstieg in Ihren Vortrag enthalten - am besten also eine möglichst konkrete Illustration (Beispiel) des Problems, das Sie in Ihrer Arbeit lösen.
  • Halten Sie die Zeit ein. Über- und auch Unterschreitung führt zur Abwertung. Sie müssen bei jeder Folie wissen, wie spät es wirklich ist und wie spät es (laut Plan) sein sollte. Wenn es knapp wird, lassen Sie Folien weg und zeigen gleich die Zusammenfassung. Sie können eventuell in der Diskussion einiges Übersprungenes nachträglich zeigen. (Das ist natürlich nur die zweitbeste Lösung.)
  • Software-Demonstrationen in einem Vortrag sind riskant, weil sie viel Zeit verbrauchen (Folien wegschalten, Software starten), oft nicht genau so ablaufen, wie gedacht, und selbst wenn, dann oft die Ein- und Ausgaben für das Publikum nicht zu erkennen sind. (Bei ordentlichem Entwurf hat Ihr Programm natürlich eine Option, mit der man die Schriftgröße umschalten kann und sich das Layout vernünftig anpaßt. Ebenfalls hat Ihr Programm einen Modus, bei dem Eingaben aus vorbereiteten Dateien gelesen werden.)
  • Bringen Sie Ihr Exemplar der Diplomarbeit mit. Die Gutachter werden in der Diskussion fragen: ,,was bedeutet die Formel auf Seite $X$?`` und ,,wo haben Sie den Begriff $Y$ definiert?``. Da müssen Sie die betreffende Seite aufschlagen bzw. benennen.

Sehen Sie sich wenigstens eine, besser zwei Diplomverteidigungen von anderen Studenten an. Die Termine finden Sie auf (z. T. elektronischen) Aushängen.

Lauschen Sie besonders auf typische Wortgruppen aus den Gutachten, denn zu diesem Zweck werden sie laut vorgelesen -- dem Diplomanden selbst nützt es nicht mehr viel, aber sie dienen der Nachwelt als Mahnung oder Vorbild. Lesen Sie dazu auch den nächsten Abschnitt.

Anhang: Textbausteine für Gutachten

(Das ist alles so oder so ähnlich schon vorgekommen.)

Die Arbeit beschreibt den Entwurf und die Implementierung einer ... mit dem Ziel der Integration in ein bestehendes Entwicklungssystem des Auftraggebers. Die Implementierung benutzt ... unter dem Betriebssystem ....

Nach einer Einleitung (Kapitel 1) gibt der Autor zunächst einen detaillierten Überblick über die für die Anwendung wesentlichen Begriffe ...(Kapitel 2), ...(Kapitel 3) sowie ...(Kapitel 4). Darauf folgen die Analyse des Istzustandes (Kapitel 5) und der Anforderungen des Auftraggebers (Kapitel 6) sowie eine Beschreibung des Entwurfs (Kapitel 7), der Implementierung (Kapitel 8) und schließlich des Tests (Kapitel 9) der Software.

Die Arbeit gibt einen sehr guten und detaillierten Überblick über bekannte Techniken der ...im Allgemeinen und des ...im Besonderen. Die Darstellung ist gut lesbar. Die grundlegenden Ideen werden anschaulich dargestellt sowie Verfeinerungen und Optimierungen gut motiviert. Durch Messungen an eigenen Implementierungen untersucht der Autor, ob und wieweit die erhofften Verbesserungen tatsächlich eintreten. Hervorzuheben ist die gründliche Auswertung der Testrestultate mit Methoden der mathematischen Statistik. Der Autor kennt und benutzt die relevante Literatur. Der Text hält nicht nur inhaltlich, sonder auch mathematisch, grammatisch und typografisch einen hohen Standard.

Die Einleitung (Kapitel 1) beschreibt die Zielsetzung der Arbeit und die Rahmenbedingungen Kapitel 2 gibt einen Überblich über die vorhandene ...-Bibliothek. Hier wird zutreffend bemerkt, daß es für die meisten der zu lösenden Aufgaben bereits Standards und Werkzeuge gibt. Der Entwurf der Bibliothek entsprang offenbar der Vorstellung, daß man diese Standards entweder nicht benötigt oder sie zu schwerfällig sind. Diese Entscheidung hat natürlich der Autor nicht zu vertreten. Es zeigt sich jedoch, daß sie seine Arbeit an vielen Stellen erschwert.

Kapitel 3 enthält die Anforderungsanalyse, gefolgt von Kapitel 4 und 5 zu Grob- und Feinentwurf. Es wäre günstiger gewesen, die Analyse der Anforderungen im Text weiter vorn anzuordnen, da ja dazu nur die Sicht des Anwenders nötig ist und keine Einzelheiten über die bestehende Implementierung benötigt werden. In der vorliegenden Formulierung erfährt der Leser zu spät, worum es genau geht, da in Kapitel 1 die Anwendungsfälle der Software unklar bleiben.

Die Arbeit ist sinnvoll gegliedert und gut lesbar, wenngleich noch einige Grammatikfehler zu bemängeln sind. Zur Unterstützung des Textes verwendet die Autorin Grafiken zur Objektmodellierung (Diagramme für Anwendungsfälle, Abläufe und Klassen) sowie Struktogramme für wesentlich Teile von Quelltexten. Einige große Diagramme (z. B. auf S. ...) sind schwer lesbar (teilweise kleine Schrift auf dunkelgrünem Hintergrund).

Die Arbeit ist typografisch und orthografisch sehr gut gestaltet, enthält jedoch einige Kommafehler: vor nachgestellten Nebensätzen oder erweiterten Infinitiven mit zu fehlt das Komma gern, während es nach einer vorangestellten Wortgruppe, die aber kein Satz ist, irrtümlich doch steht. Zu loben ist, daß die vielen Fachbegriffe bei ihrem jeweils ersten Auftreten übersetzt und erläutert werden und auch im Glossar zu finden sind. Die Verdeutschungen klingen manchmal ungewohnt (gemeinsame Einfahrts-Schnittstelle), aber das zeigt nur, wie sehr man sonst das Sprachgefühl beim Lesen von Fachtexten bereits abgeschaltet hat.

Die vorliegende Beschreibung des Entwurfs und der Implementierung ist gut lesbar und nachvollziehbar. Zu kritisieren ist das häufige Benutzen von Namen, die technische Realisierungen (Implementierungen) bezeichnen, an Stellen, wo eigentlich Absichten (Schnittstellen) gemeint sind, beispielsweise Hash anstelle von entweder Baum (wenn er als Ganzes gemeint ist) oder Abbildung (von Pfad-String nach Attribut).

Relevante Literatur wird benutzt und zitiert. Einige Verweise hätten spezifischer sein sollen (nicht nur auf ein ganzes Buch, sondern auf das jeweils passende Kapitel oder die Seite). Das gilt ebenfalls für die bibliografischen Angaben zu den Online-Quellen (nicht nur Rechnernamen, sondern komplette URL mit Datum angeben).

Die Arbeit endet mit Diskussion, Literaturverzeichnis, Glossar sowie Anhängen. Die Literatur-Angaben sind unvollständig: wenn eine elektronische Publikation zitiert wird, dann reicht eben ein URL nicht aus (der würde in etwa der Verlagsangabe eines Buches entsprechen), es fehlen dabei Autor, Titel und Jahr. Nicht alle im Text vorkommenden Begriffe und Abkürzungen sind im Glossar aufgeführt. Es fehlen Verweise vom Text in das Glossar und zurück.

Das beschriebene Softwareprodukt erfüllt die Anforderungen und ist innerhalb des vorgegebenen Rahmens passend entworfen und implementiert worden.

Insgesamt dokumentiert die von ...vorgelegte Arbeit seine erfolgreiche Lösung einer komplexen Aufgabenstellung. Zu loben ist die Benutzung der ...-Umgebung. Das erfordert gegenüber einer Eigenentwicklung sicher eine längere Einarbeitung, aber nur durch durch die Einordung in einen Standard-Rahmen und die Verwendung von Standard-Komponenten konnte die vorliegende Aufgabe effizient gelöst werden.

Insgesamt zeigt die Arbeit, daß ...in der Lage ist, ein Legacy-Software-System an neue Anforderungen anzupassen und dabei Methoden der Informatik selbständig, fachmännisch und erfolgreich anzuwenden und sein Vorgehen nachvollziehbar zu dokumentieren.

Johannes Waldmann 2011-09-08