Softwaretechnik
Modul: INF-BSc-115
LSF: 040135
Credits: 4 (Vorlesung 3 / Übung 1)
SWS: 3 (Vorlesung 2 / Übung 1)
Ort: Dienstags SRG 1 / H.001 ; Mittwochs HG II / HS 6
Start: 05.04.2022
Moodle: https://moodle.tu-dortmund.de/course/view.php?id=32577 (Einschreibung via LSF!)
Diese Lehrveranstaltung findet in deutscher Sprache statt.
Inhalt
Softwaretechnik ist eine Schlüsselqualifikation für Informatikstudent*innen. Von Informatik-Absolvent*innen wird die Fähigkeit erwartet, Software in verschiedenen Größenordnungen (klein bis sehr groß) zu konzipieren, zu organisieren, zu entwerfen, zu erstellen und zu testen. In dieser Vorlesung werden wir die Grundlagen für diese Fähigkeit legen und die Studierenden mit den Techniken und Methoden in diesem Bereich vertraut machen.
Curriculum
1 | Grundlagen / Überblick |
2 | Anforderungen (Erhebung, Erfassung und Management) |
3 | Empirische Methoden |
4 | Projektmanagement (Wasserfall, V-Modell, SCRUM, etc.) |
5 | Implementation Patterns |
6 | Modellierungssprachen (UML, ...) |
7 | Entwurfsmuster |
8 | Entwurfsmuster |
9 | Applikationsdomänen und Domain-Driven Design |
10 | Architekturmuster |
11 | APIs und Interfaces |
12 | Komponenten (Databases, Message Queues, Key-Value Stores, ...) |
13 | Qualität und Testen |
14 | Metriken und formalere Methoden |
Kursmodalitäten
Dieser Kurs wird in erster Linie als Präsenzveranstaltung stattfinden.
Angesichts des derzeitigen Stands der Corona-Pandemie werden wir jedoch versuchen, auch Aufzeichnungen und digitale Sitzungen anzubieten. Dies ist zwar nicht so interaktiv wie eine persönliche Teilnahme, ermöglicht es aber gefährdeten Personen und Personen, die von der plötzlichen Rückkehr zur Präsenz überrascht wurden, diesen Kurs dennoch zu besuchen.
Der Kurs wird in kompakter Form abgehalten. Das bedeutet, dass die üblichen 14 Wochen auf 7 Wochen mit je 2 Vorlesungen pro Woche und erweiterten Übungsblättern gestrafft werden. Dies ermöglicht es, einen der beiden Prüfungstermine sehr früh anzusetzen (voraussichtlich im Juni) und in den Semesterferien an der praktischen Vorlesung teilzunehmen, falls diese bestanden wird. Der zweite Prüfungstermin wird später im Semester stattfinden. Wir werden die Nützlichkeit dieses Kursmodus im Laufe dieses Semesters bewerten und unsere Entscheidung, diese Praxis fortzusetzen, von den Ergebnissen dieser Bewertung abhängig machen.
Die Studierenden müssen ihre Ergebnisse für zwei der Übungsblätter einreichen, um den Kurs zu bestehen. Dort muss eine bestimmte Anzahl von Punkten erreicht werden, um die Lehrveranstaltung zu bestehen. Dies ist die Studienleistung. Die Abgabe wird über Moodle erfolgen.
Es finden zwei Vorlesungen pro Woche statt: Dienstags 16:15 - 18:00 Uhr in SRG 1 / H.001 und mittwochs 08:15 - 10:00 Uhr in HG II / HS 6. Wir werden versuchen, diese Vorlesungen über unseren YouTube-Kanal live zu streamen (Links sind kurz vor den Vorlesungen in Moodle verfügbar) und darüber hinaus versuchen, die Aufzeichnungen in die Infrastruktur der Universität und in Moodle hochzuladen. Bitte haben Sie Verständnis dafür, dass dies ein zusätzlicher Aufwand für uns ist und von der technischen und persönlichen Machbarkeit abhängt. Der Standardmodus dieses Kurses ist die persönliche Anwesenheit.
Zu den Vorlesungsinhalten wird es begleitende Übungen geben. Die meisten dieser Übungen werden von uns nicht korrigiert. Eine Ausnahme bilden die beiden Übungen, die für die oben genannte Studienleistung notwendig sind. 14 Tage nach Ausgabe der Übungen erhalten Sie von uns einen Lösungsvorschlag, den Sie zur Selbstkorrektur nutzen können. Wir empfehlen jedoch dringend, diese Übungen zu machen, da sie Sie auf die Prüfung vorbereiten. Außerdem bekommen Sie so ein Gefühl für die Art der Klausurfragen. Sie finden die Übungsblätter in Moodle.
Wir bieten 14 Übungseinheiten pro Woche an. Die einzelnen Termine finden Sie im LSF. Einige dieser Sitzungen werden als digitale Sitzungen angeboten. Diese Sitzungen werden in Moodle angekündigt. Wir empfehlen Ihnen dringend, diese Übungseinheiten zu besuchen, da sie Ihnen helfen werden, die Kursthemen zu verstehen und Sie auf die Prüfung vorzubereiten.
Wir planen, einen Helpdesk für den Kurs anzubieten. Bitte besuchen Sie die offizielle Helpdesk-Website.
Kommunikation
Im Forum Fragen und Antworten in Moodle können Sie jederzeit eine Frage zur Veranstaltung stellen. Sie können auch jederzeit Fragen anderer Studierender dort beantworten. Wir werden die Diskussionen verfolgen und ggf. ergänzen und Fragen beantworten, die noch unbeantwortet geblieben sind. Ich bitte Sie von dieser Möglichkeit Gebrauch zu machen und sich hier gegenseitig bei der Erarbeitung des Stoffes zu helfen. Es ist wissenschaftlich erwiesen, dass nichts mehr dabei hilft eine Sache zu erlernen (oder zu festigen) als sie anderen Menschen zu erklären. Die Kommunikation in Moodle ist auch vielen Gründen nicht anonym. Wir bitten Sie trotzdem darum das Forum zu nutzen. Wir betrachten Ihre Fragen dort als Lernprozess und bewerten nur offizielle Abgaben und Klausuren. Wenn Sie ein persönliches Anliegen (z.B. in Bezug auf Anmeldungsformalitäten) haben, schreiben Sie uns bitte und bitten Sie um einen persönlichen Termin.
Literature
- Felderer, Michael (Hrsg.) - Contemporary Empirical Methods in Software Engineering
- Beck, Kent - Implementation Patterns (2008) / Deutsche Ausgabe
- Gamma; Helm; Johnson; Vlissides - Design Patterns (2009) / Deutsche Ausgabe
- Evans, Eric - Domain-Driven Design (2004)
- Buschmann, Frank et al. - Pattern-Oriented Software Architecture - A System of Patterns (1996)