Zur Seitennavigation oder mit Tastenkombination für den accesskey-Taste und Taste 1 
Zum Seiteninhalt oder mit Tastenkombination für den accesskey und Taste 2 
Startseite    Anmelden     
Logout in [min] [minutetext]

Software-Engineering - Detailansicht

  • Funktionen:
  • Zur Zeit kein Belegungszeitraum aktiv.
Grunddaten
Veranstaltungsart Vorlesung/Praktikum Langtext
Veranstaltungsnummer 1810 Kurztext
Semester WiSe 2022/23 SWS 4
Erwartete Teilnehmer/-innen Max. Teilnehmer/-innen
Rhythmus Jedes Semester Studienjahr
Hyperlink  
Sprache Deutsch
Belegungsfrist Hauptbelegungszeitraum 19.09.2022 - 14.10.2022

Belegpflicht
Termine Gruppe: [unbenannt] iCalendar Export für Outlook
  Tag Zeit Rhythmus Dauer Raum Raum-
plan
Lehrperson Status Lernziele fällt aus am Max. Teilnehmer/-innen
Einzeltermine anzeigen
iCalendar Export für Outlook
Di. 16:00 bis 19:15 woch von 11.10.2022  Gebäude H - H 004        
Gruppe [unbenannt]:
Zur Zeit kein Belegungszeitraum aktiv.
 


Zugeordnete Person
Zugeordnete Person Zuständigkeit
Lohr, Sebastian verantwortlich
Laut SPO für
Abschluss Studiengang Semester Kategorie ECTS
Bachelor Angewandte Informatik 3 - 3 Pflichtfach 5
Bachelor Informatik/Elektrotechnik PLUS 3 - 3 Pflichtfach 5
Prüfungen / Module
Prüfungsnummer Prüfungsversion Modul
914 10 Software Engineering
19912 11 Software Engineering
3617 10 Software-Engineering
2234 10 Software-Engineering
Zuordnung zu Einrichtungen
Bachelorstudiengang Informatik / Elektrotechnik PLUS Lehramt 1
Bachelorstudiengang Angewandte Informatik
Inhalt
Inhalt

Inhalt

  1. Einführung
  2. Vorgehensmodelle
  3. Requirements Engineering
  4. Systemdokumentation
  5. Prinzipien des Software und Architektur Entwurfs
  6. Distributed Systems
  7. Developer Tools
  8. Software Testing
  9. Entwickeln und Testen mit Java Spring
  10. CI/CD
  11. Cloud
  12. 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_WS22_23" (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.

Lernziele Nach der Veranstaltung sollen die Teilnehmer die wichtigsten Aufgaben bei Analyse, Entwurf, Implementierung, Test und Betrieb von Software in unterschiedlichen Projektumfeldern qualifiziert bearbeiten können. Sie beherrschen die wesentlichen systematischen Vorgehensweisen und Methoden des Software Engineering und erlernen die Möglichkeiten der Werkzeugunterstützung bei der Softwareentwicklung. Im Einzelnen sollen die folgenden Kompetenzen vermittelt werden:
o Probleme und Herausforderungen der Softwareentwicklung im Großen verstehen sowie Definition und Inhalte des Software Engineering wiedergeben können. Aspekte der Nachhaltigkeit, Ethik und Diversität kennen.
o Grundlegende Kenntnisse zu Softwareprojekten und Projektmanagement erwerben. Ein Projekt mit Hilfe von Netzplantechnik und Gantt-Diagrammen planen.
o Verschiedene Vorgehensmodelle bei der Softwareentwicklung beschreiben und unterscheiden. Ein Entwicklungsprojekt mit geeigneter Werkzeugunterstützung entsprechend des "Scrum"-Rahmenwerks organisieren.
o Notwendigkeit und Aufgaben des Konfigurationsmanagement verstehen. Werzeuggestütztes Versionsmanagement, Änderungsmanagement und Buildmanagement in einem Softwareprojekt einsetzen.
o Verschiedene Sichten auf ein Softwaresysteme mit den Modellen der Unified Modeling Language bildhaft beschreiben.
o Vorgehen und Techniken der Anforderungsanalyse anwenden können.
o Vorgehen und Prinzipien beim Entwurf von Softwaresystemen beherrschen. Architekturmuster und Entwurfsmuster zur Strukturierung von Software einsetzen.
o Ausgewählte fortgeschrittene Programmiertechniken erklären können.
o Grundlagen des Softwaretests verstehen. Unterschiedliche Verfahren zum Testfallentwurf einsetzen. Werkzeuge für Testmanagement und Testautomatisierung nutzen.
o Aufgaben des Softwarebetriebs wiedergeben können.
Voraussetzungen Programmieren, Objektorientierte Programmierung
Leistungsnachweis

PF oder K90 (gemäß SPO AI ab WS18/19, IP)

lt. aktueller Festlegung der Prüfungsleistung AI / IP: PF

 

Die Portfolio-Prüfung besteht aus

- Vorträgen (Gewicht 10%)

- einer schriftlichen Prüfung (K60) am Ende des Semesters (Gewicht 90%)

MD:
kann ab WS21/22 als Wahlpflichtmodul gewählt werden:
Prüfungsleistung: PF oder K90
lt. aktueller Festlegung der Prüfungsleistung: PF

 


Strukturbaum
Keine Einordnung ins Vorlesungsverzeichnis vorhanden. Veranstaltung ist aus dem Semester WiSe 2022/23 , Aktuelles Semester: SoSe 2024