Kurzbeschreibung
Prinzipien, Methoden und Techniken der modellbasierten methodischen objektorientierten Softwareentwicklung
Learning Outcome
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);
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/