Kurzbeschreibung
Prinzipien, Methoden und Techniken der modellbasierten methodischen objektorientierten Softwareentwicklung
4 SWS: Vorlesung 2 SWS; Praktikum 2 SWS
max. 15 Studierende/Praktikumsgruppe;
Arbeitsaufwand
Gesamtaufwand 150h, davon
- 36h Vorlesung
- 36h Praktikum
- 78h Selbststudium
Angestrebte Lernergebnisse
Die Studierenden sollen befähigt werden,
- zu abstrahieren, Modelle zu entwickeln, Unterschiede zwischen Modell und Realität zu beurteilen sowie gegebene Modelle zu interpretieren, zu analysieren und zu bewerten,
- indem sie im Rahmen methodischer Vorgehensweisen im Team komplexe Systeme analysieren, spezifizieren und kritisch diskutieren,
- um Techniken und Werkzeuge der objektorientierten Modellierung und Softwareentwicklung in den Aktivitäten Anforderungsermittlung, Softwarespezifizierung und Entwurf einsetzen zu können.
Inhalt
Die Vorlesung skizziert zunächst das Gesamtgebiet Softwaretechnik und behandelt dann ausschließlich grundlegende „Informatikaspekte” der objektorientierten Softwareentwicklung. Als wesentliche Grundlage werden die wichtigsten Elemente der Unified Modelling Language (UML) vorgestellt und anhand kleinerer Beispiele erläutert. Danach werden typische Aktivitäten der Softwareentwicklung besprochen, wobei die UML als Modellierungssprache benutzt wird. Im Praktikum werden die Anwendung der Modellierungselemente und die Durchführung der Aktivitäten in Gruppenarbeit vertieft.
Das Modul gliedert sich in folgende Inhalte:
- (10%) Softwareentwicklung im Überblick (Komplexität großer Software, Kernaktivitäten und unterstützende Aktivitäten);
- (30%) Die Modellierungssprache UML (Strukturmodellierung mit Objekt- und Klassendiagrammen, Funktionsmodellierung mit Anwendungsfalldiagrammen, Verhaltensmodellierung mit Sequenz-, Kommunikations- und Zustandsdiagrammen);
- (50%) Modellbasierte Softwareentwicklung (Anforderungsermittlung, Softwarespezifizierung sowie Architekturkonzeption und Grobentwurf);
- (10%) Zusammenfassung und Ausblick (Entwurfskonzepte, Feinentwurf und Modellgetriebene Softwareentwicklung);
- Flipped-Classroom mit Diskussion und Übungen als Einzel- und Kleinstgrupen
- e-Vorlesungen (Video-Clips und Folien in elektronischer Form zum Selbststudium);
- Vertiefende Materialien in elektronischer Form (z.B. SWEBOK)
- Praktika in Kleingruppen, um die erlernten Modelle und Methoden einzuüben und zu vertiefen (Seminarraum, Rechnerlabor); In den Praktika werden Modellierungs- und Entwicklungswerkzeuge eingesetzt.
Literatur
- Helmut Balzert: Lehrbuch der Software-Technik Bd. I: Basiskonzepte und Requirements Engineering; Spektrum Akademischer Verlag, Heidelberg, 3. Aufl. 2009 https://rd.springer.com/book/10.1007/978-3-8274-2247-7
- Helmut Balzert: Lehrbuch der Software-Technik Bd. II: Entwurf, Implementierung, Installation und Betrieb; Spektrum Akademischer Verlag, Heidelberg, 3. Aufl. 2012 https://rd.springer.com/book/10.1007/978-3-8274-2246-0
- Stephan Kleucker: Grundkurs Software-Engineering mit UML. Springer/Vieweg, Wiesbaden, 2019 https://rd.springer.com/book/10.1007/978-3-658-19969-2
- Jochen Ludewig, Horst Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. 3. Aufl., dPunkt Verlag, Heidelberg, 2022
- Karl-Heinz Rau: Agile objektorientierte Software-Entwicklung. Springer-Vieweg, Wiesbaden, 2016 https://rd.springer.com/book/10.1007/978-3-658-00776-8
- Chris Rupp et al.: UML 2 Glasklar. 4. Aufl., Carl Hanser Verlag, München, 2012
- Martina Seidl et al.: UML@Classroom; dpunkt.Verlag, Heidelberg, 2012
Unterlagen/Videos: http://www.uml.ac.at/lernen
- Vollmer, G.: Mobile App Engineering. dpunkt.verlag, Heidelberg, 2019
- Winter, M.: Methodische objektorientierte Softwareentwicklung. dpunkt.verlag, Heidelberg, 2005 https://dpunkt.de/produkt/methodische-objektorientierte-softwareentwicklung/