Entscheidungen im Software Engineering
Dies ist die Veranstaltungsseite zum Seminar/Proseminar "Entscheidungen im Software Engineering".
Beschreibung
Seminar/Proseminar - 2 SWS - 5 LP
- Dozent: Linus Ververs
- Sprache: Deutsch (Der Vortrag kann auch auf Englisch gehalten werden)
- Zeitraum: 15.04.2024 - 20.07.2024
- Termine: Montags 12-14 Uhr, T9/053
- Zielgruppe:
- Proseminar: Bachelorstudierende, die das Modul "Wissenschaftliches Arbeiten in der Informatik" besuchen / besucht haben und im Rahmen dieses Seminars das erste Mal das gelernte Wissen anwenden und wissenschaftlich arbeiten.
- Seminar: Fortgeschrittene Bachelorstudierende, die das Modul im Rahmen ihres Vertiefungsbereichs besuchen oder Masterstudierende
- Voraussetzungen: Das Modul Softwaretechnik bereits besucht zu haben, wird dringend empfohlen (Falls nicht, bitte im Voraus kontakt zum Dozenten aufnehmen)
Inhalt
Software Engineering (Deutsch: Softwaretechnik) wird durch die IEEE definiert als:
“The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.” (“IEEE Standard Glossary of Software Engineering Terminology," in
IEEE Std 610.12-1990 , vol., no., pp.1-84, 31 Dec. 1990, doi: 10.1109/IEEESTD.1990.101064.)
Software Engineering beschreibt also den Prozess wie Software entwickelt wird. Dieser Prozess ist gekennzeichnet von einer Vielzahl an Entscheidungen, die entweder das zu entwickelnde Produkt (die zu entwickelnde Software) oder den Entwicklungsprozess selbst betreffen.
Im Rahmen dieses Seminars nehmen wir unterschiedlichen Arten von Entscheidungen unter die Lupe und betrachten den aktuellen Forschungsstand. Dazu bereiten die Teilnehmer*innen einen Vortrag und eine wissenschaftliche Ausarbeitung zu einem der folgenden Themenkreise vor (auch andere zu dem Seminar passende Themenkreise sind denkbar):
- Wie treffen einzelne Menschen Entscheidungen? Welche Erkenntnisse aus der Psychologie sind wichtig für den Softwareentwicklungsprozess?
- Wie treffen Gruppen von Menschen Entscheidungen? Welche Erkenntnisse aus der Soziologie und den Wirtschaftswissenschaften lassen sich auf den Softwareentwicklungsprozess übertragen?
- Welche Softwareentwicklungsprozessmodelle gibt es und wie entscheiden sich Organisationen zwischen ihnen?
- Wie wirken Biases / Kognitive Verzerrungen im Software Engineering?
- Entscheidungen zur Priorisierung von Anforderungen im Software Engineering
- Entscheidungen zum Design der Software: wie wird Software designt?
- Was sind technische Schulden und warum und wann werden diese aufgenommen?
- Refactorings: Warum, wann und in welchem Umfang entscheiden sich Organisationen für Refactorings?
- Rekrutierung von Entwicklern: Wie wählen Organisationen für sie passende Entwickler aus?
- Paar-Programmierung: Was ist das? Wie funktioniert der Wissenstransfer in der Paar-Programmierung? Treffen Entwickler zu zweit bessere Entscheidungen?
Die Studierenden sollen im Rahmen dieses Seminars selbstständig zu dem von Ihnen ausgewählten Themenkreis recherchieren. Ob die Veranstaltung als Seminar oder Proseminar gebucht wird, hat Einfluss auf die Anforderungen:
- Seminar: Hier sollen mehrere gute Quelle (5-10) gefunden und eine Zusammenschau der Ergebnisse vorgestellt werden. Das Ziel ist in erster Linie Empfehlungen zum SE-Prozess herauszuarbeiten.
- Proseminar: Hier soll eine gute Quelle gefunden und ausführlich vorgestellt werden. Auf weitere verwandte Arbeiten soll nur am Rande eingegangen werden.
Bei den vorgestellten wissenschaftlichen Artikel sollen die vorgestellten Schlussfolgerungen kritisch im Hinblick auf Glaubwürdigkeit und Relevanz betrachtet werden.
Termine & Foliensätze