Spezielle Themen des Software Engineerings
Niveau
2. Studienzyklus, Master
Lernergebnisse der Lehrveranstaltungen/des Moduls
Folgende Lernergebnisse werden in der Lehrveranstaltung erarbeitet:
- Die Studierenden haben, aufbauend auf die Grundlagen im Bereich des Software Engineering, vertiefende Kenntnis in ausgewählten Themen zur Entwicklung und Evolution von Softwaresystemen.
- Die Studierenden kennen erweiterte Verfahren der Anforderungsanalyse und können diese effizient anwenden
- Die Studierenden haben fundierte Kenntnisse im Feinentwurf von Softwaresystemen anhand von Entwurfsmustern.
- Die Studierenden kennen Verfahren zur Automatisierung und Unterstützung von großen Softwaresystemen.
- Die Studierenden haben, aufbauend auf die Grundlagen im Bereich des Software Engineering, vertiefende Kenntnis in ausgewählten Themen zur Entwicklung und Evolution von Softwaresystemen.
- Die Studierenden kennen erweiterte Verfahren der Anforderungsanalyse und können diese effizient anwenden
- Die Studierenden haben fundierte Kenntnisse im Feinentwurf von Softwaresystemen anhand von Entwurfsmustern.
- Die Studierenden kennen Verfahren zur Automatisierung und Unterstützung von großen Softwaresystemen.
Voraussetzungen der Lehrveranstaltung
Studierende bringen folgenden Voraussetzungen mit in die LV:
- Studierende verstehen Grundlagen des Software Engineerings.
- Studierende verstehen objektorientiertes Design mittels UML.
- Studierende verstehen Java, Vererbung und Polymorphismus.
- Studierende verstehen Grundlagen des Software Engineerings.
- Studierende verstehen objektorientiertes Design mittels UML.
- Studierende verstehen Java, Vererbung und Polymorphismus.
Lehrinhalte
In der Lehrveranstaltung werden weiterführende und vertiefende Themen im Bereich des Software Engineerings gelehrt. Dazu gehören folgende Schwerpunkte: Vertiefende Themen in den Teilgebieten der Anforderungsanalyse (wie z.B. SOPHIST Regelwerk, Goal Modeling) und des Designs (z.B. Design Patterns, Design Prinzipien); Vertiefung der agilen Entwicklungsmethoden; Vorgehensweisen in der Entwicklung von erweiterbaren Softwaresystemen; Automatisierung in der Entwicklung von großen Softwaresystemen (z.B. Unit-Tests, Continuous Integration und DevOps).
Empfohlene Fachliteratur
- Sommerville: Software Engineering, 10., aktualisierte Auflage, PEARSON, 2018.
- B. Brügge, A. H. Dutoit: Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java, PEARSON, 2004.
- Rupp, Chris & die Sophisten: Requirements-Engineering und -Management, Hanser, 6. Auflage (2014)
- Van Lamsweerde, Axel: Requirements Engineering, Wiley (2009)
- B. Brügge, A. H. Dutoit: Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java, PEARSON, 2004.
- Rupp, Chris & die Sophisten: Requirements-Engineering und -Management, Hanser, 6. Auflage (2014)
- Van Lamsweerde, Axel: Requirements Engineering, Wiley (2009)
Bewertungsmethoden und -Kriterien
Klausur
Unterrichtssprache
Deutsch
Anzahl der zugewiesenen ECTS-Credits
6
E-Learning Anteil in %
17
Semesterwochenstunden (SWS)
3.0
Geplante Lehr- und Lernmethode
Vortrag, Quiz, Präsentation und Diskussion von Lösungen von Aufgaben
Semester/Trisemester, In dem die Lehrveranstaltung/Das Modul Angeboten wird
1
Name des/der Vortragenden
Prof. Dr. Georg Hagel
Studienjahr
1
Kennzahl der Lehrveranstaltung/des Moduls
SE.2
Art der Lehrveranstaltung/des Moduls
Integrierte Lehrveranstaltung
Art der Lehrveranstaltung
Pflichtfach
Praktikum/Praktika
nicht zutreffend