Seminar „Softwareentwicklung in der Wissenschaft“

Im Seminar werden wir die Softwareentwicklung in der Wissenschaft diskutieren. Im Detail der Prozess von der wissenschaftlichen Fragestellung über die Modellierung und Programmierung bis hin zur Analyse der Ergebnisse. Die bestehende Praxis wird analysiert und Softwareentwicklungswerkzeuge und Mechanismen vorgestellt. Dies kann einmal durch persönliche Interviews und durch ausgesuchte Literatur und wissenschaftlichen Veröffentlichungen erfolgen.

Die Themen werden sich in zwei Blöcke gliedern, einmal die Wissenschaftliche Praxis und dann die Softwareentwicklung-Theorie. Die Diskrepanz zwischen Theorie und Praxis wird diskutiert und Stärken und Schwächen der Arbeitsansätze besprochen.

Beachten Sie auch unsere allgemeinen organisatorischen Hinweise zu Seminaren.

Das Seminar eignet sich für Studierende in den Diplom- und Bachelorstudiengängen mit Bezug zur Informatik. Wir fordern explizit Studierende der angewandten Informatik zur Teilnahme auf beispielsweise Bioinformatik, Wirtschaftsinformatik, Meteorologie. Für Studierende der Informatik wird die Anrechnung innerhalb des Studiums problemlos möglich, Studierende anderer Studiengänge müssen die Anrechnung mit dem jeweiligen Prüfungsausschuss klären.

Interessierte Zuhörer sind auch herzlich willkommen.

Zeit Wöchentlich – nach Absprache
Ort DKRZ, Raum 034
Beginn Vorlesungszeit WiSe 2010
Vorbesprechung Freitag 15.10.2010 – 13:30 Uhr im DKRZ, Raum 034
Mailingliste SIW-1011

Wissenschaftliche Praxis

  • Einführung (Sandra Schröder1))
  • Wissenschaftliche Softwareentwicklung (Steffen Göttsch 2))
  • Praxis in diversen Projekten: An Hand von Interviews soll die Praxis der Softwareentwicklung beispielhaft evaluiert werden. Die Interviewpartner sind von uns ausgesucht und werden euch von uns genannt. Sie gehören den folgenden Einrichtungen der Universität Hamburg an:
    • Institut für Meereskunde (IfM),(Maxim Holand 3))
    • Meteorologische Institut (MI), (Enno Köster 4))
    • Exzellenzcluster „Integrated Climate System Analysis and Prediction“ (CliSAP), (Alexander Njemz 5))
    • Bioinformatik (Zentrum für Bioinformatik der UHH), Ansprechpartner: Prof. Dr. Andrew Torda
    • WaterGAP - Global modeling of water availability, water use, and water quality (Maral Chimed-Ochir 6))
    • Zusätzlich besteht auch die Idee Behörden, die zwar in Produktionsprozessen eingebunden sind, z.B. Sturmflutvorhersage oder Klimareport, aber die sich auch mit wissenschaftlichen Inhalten befassen bzgl. ihrer Softwareentwicklung zu befragen. Als Ansprechpartner sind angedacht:
  • Im Mittelpunkt der Interviews stehen konkrete Fragen des Was, Wer, Wie und Warum der Softwareentwicklung in der Wissenschaft. Aufbauend auf den persönlichen Kenntnissen und Fähigkeiten im Bereich der Informatik kann als Ausgangspunkt die Einführungspräsentation, die angebene Literatur und eigene Literaturrecherche dienen. Die von uns ausgewählten Interviewpartner werden über eines (oder mehrere) ihrer Projekte mit euch sprechen, euch evtl. Hintergrundinformation in Form von Papern, Dokumentationen oder Links zur Fragestellung geben. Hieraus sind konkrete und gezielte Fragen zum Projekt und der Softwareentwicklung für das Interview zu erarbeiten.
  • Zu den Interviewfragen haben wir folgende Anregungen:
    • Wie wird die Theorie der SWE und welche in der Praxis ein- und umgesetzt?
    • Wie wird SWE im Projekt genutzt, welche Rolle hat SWE im Projekt?
    • Was versteht der Interviewpartner unter SWE, was gehört zur SWE?
    • Wie unterstützt SWE den Erkenntnisgewinn?
    • Als was wird SWE angesehen (notwendig, unterstützend oder notwendiges Übel)?
    • Wie wird die Software persönlich und nach welchem Standard, z.B. ISO/IEC 9126 bewertet?
    • Was ist in welcher Reihenfolge wichtig bei der SWE?
    • Wie sieht der SWE Prozess im Projekt und für den Interviewpartner aus: Test, Verifikation und Validierung, Debugging, Leistungsanalyse und Effizienz, Versionsmanagement, Release Management, Change Management, Risoko Management, Fehlertoleranz, Lebenszyklus, Historie der Software, Anforderungsprofil, Entwicklungswerkzeuge, Auswahl der Programmiersprache und Compiler, Qualität des Codes (Anzahl Codezeilen, aktueller Sprachdialekt, dokumentiert, lesbar, Durchgängigkeit von Genauigkeiten bei Konstanten, Umgang mit Floating Point Operationen (Standards), Auswahl der Numerik und Algorithmen), Nutzergruppen, Kollaborationen, Bedeutung der Informatik, Kenntnisse der Systemarchitektur, systemische und numerische Fehlerquellen …
  • Diese Fragen sollen von allen genutzt werden, so dass wir eine einheitliche Basis haben. Daneben sind projektabhängige und von euren Interessen abhängige Schwerpunkte und Fragestellungen von euch zu erstellen.
    • In euren Präsentationen im Seminar stellt ihr die Fragestellung(en), die behandelte Software, den Projektkontext und die hieraus evaluierte SWE in der Praxis vor.

Softwareentwicklung-Theorie

  • Einführung in Softwareentwicklung (Thorsten Lemburg 8))
  • Code-Qualität (Johann Weging 9))
    • Metriken zur Code-Qualität
    • Maßnahmen zur Sicherung der Code-Qualität
  • Versionsverwaltung (Robert Wiesner10))
  • Release-Managment (Sebastian Schulz)
  • Genauigkeit und Robustheit von Anwendungen (Jan Bolte11))
    • Numerik und Arithmethik
    • Verification vs. Validation
    • Fehlerquellen
    • Analysemethoden zur Vermeidung von Fehlern
    • Werkzeuge und Methoden um die Genauigkeit der Lösung zu erhöhen
  • Tests (Florian Ehmke 12))
    • Blackbox / Whitebox
    • IEEE verification & validation standard

Termin 09.12.

Termin 20.01.2011

Termin 09.02.2011

1) , 2) , 5)
Petra Nerge
3) , 4) , 6) , 7)
Hermann Lenhart
8) , 9) , 10) , 11) , 12)
Julian Kunkel