Inhalt |
Inhalt
- Einführung
- Vorgehensmodelle
- Requirements Engineering
- Systemdokumentation
- Prinzipien des Software und Architektur Entwurfs
- Distributed Systems
- Developer Tools
- Software Testing
- Entwickeln und Testen mit Java Spring
- CI/CD
- Cloud
- Systemüberwachung
Story
Wir wollen eine Web-App entwickeln, mit der es möglich ist, ein Wissens-Quiz durchzuführen. Dafür müssen wir zuerst überlegen, wie wir kollaborativ zusammenarbeiten wollen (Vorgehensmodelle). Danach müssen wir von den Stakeholdern alle Anforderungen analysieren (Requirements Engineering). Sobald wir die Anforderungen eingesammelt haben, müssen wir diese dokumentieren (Systemdokumentation). Während wir das System dokumentieren, müssen wir uns überlegen, wie wir das System bauen wollen (Prinzipien des Software und Architektur Designs, Distributed Systems). Sobald das System geplant ist, müssen wir ein Projekt aufsetzen (Developer Tools). Nachdem alle Entwicklertools installiert und aufgesetzt sind, kann man mit dem Test-Driven-Development anfangen (Software Testing, Entwickeln mit Java Spring). Nach der Entwicklung, wollen wir die Qualität automatisiert testen (CI/CD). Wenn wir uns sicher sind, dass das System stabil läuft, wollen wir das System ausliefern und auf eine Cloud deployen (CI/CD, Cloud). Sobald das System life ist, müssen wir überprüfen, ob das System durchgehend einwandfrei funktioniert bzw. müssen im Fehlerfall schnelle Analysen machen können (Systemüberwachung).
Moodle
Die Unterlagen zu dem Kurs werden nach dem jeweiligen Block in dem Moodle Kurs "Software_Engineering_1810_SoSe_2024" (https://elearning.rwu.de/course/view.php?id=4044) hochgeladen. |
Literatur |
I. Sommerville: "Software Engineering", Pearson, 2018, 10. Auflage. T. Grechenik, M. Bernhart, R. Breiteneder, K. Kappel: "Softwaretechnik: Mit Fallbeispielen aus realen Entwicklungsprojekten.", Pearson, 2010. J. Ludewig, H. Lichter: "Software Engineering, Grundlagen, Menschen, Prozesse, Techniken", dpunkt, 2013, 3. Auflage. P. Bourque, R. Fairley: "SWEBOK V3.0 – Guide to the Software Engineering Body of Knowledge", IEEE, 2014, 3. Auflage. H. Balzert: "Lehrbuch der Softwaretechnik. Basiskonzepte und Requirements Engineering", Springer, 2009, 3. Auflage. H. Balzert: "Lehrbuch der Softwaretechnik. Entwurf, Implementierung, Installation und Betrieb", Springer, 2011, 3. Auflage. H. Balzert: "Lehrbuch der Softwaretechnik. Softwaremanagement", Springer, 2008, 2. Auflage. M. Seidl, M. Brandsteidl, C. Huemer, G. Kappel: "UML@Classroom - Eine Einführung in die objektorientierte Modellierung", dpunkt, 2012. C. Rupp, S. Queins: "UML 2 glasklar: Praxiswissen für die UML-Modellierung", Hanser, 2012, 4. Auflage. U. Hammerschall, G. Beneken: "Software Requirements", Pearson, 2013. K. Pohl, C. Rupp: "Basiswissen Requirements Engineering: Aus- und Weiterbildung nach IREB-Standard zum Certified Professional for Requirements Engineering Foundation Level", dpunkt, 2021, 5. Auflage. C. Ebert: "Systematisches Requirements Engineering: Anforderungen ermitteln, dokumentieren, analysieren und verwalten", dpunkt, 2019, 6. Auflage. G. Starke: "Effektive Software-Architekturen: Ein praktischer Leitfaden", Hanser, 2020, 9. Auflage. H. Dowalil: "Grundalgen des modularen Softwareentwurfs - Der Bau langlebiger Mikro- und Makro-Architekturen wie Microservices und SOA 2.0", Hanser, 2018. A, Spillner, T. Linz: "Basiswissen Softwaretest: Aus- und Weiterbildung zum Certified Tester – Foundation Level nach ISTQB-Standard", dpunkt, 2019, 6. Auflage. K. Schwaber, J. Sutherland: "The Scrum Guide - The Definitive Guide to Scrum: The Rules of the Game", scrumguides.org, 2020. |