Softwaretechnik II

  • Typ: Vorlesung (V)
  • Semester: WS 19/20
  • Zeit: 15.10.2019
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau


    16.10.2019
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    22.10.2019
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    23.10.2019
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    29.10.2019
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    30.10.2019
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    05.11.2019
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    06.11.2019
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    12.11.2019
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    13.11.2019
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    19.11.2019
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    20.11.2019
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    26.11.2019
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    27.11.2019
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    03.12.2019
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    04.12.2019
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    10.12.2019
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    11.12.2019
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    17.12.2019
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    18.12.2019
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    07.01.2020
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    08.01.2020
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    14.01.2020
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    15.01.2020
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    21.01.2020
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    22.01.2020
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    28.01.2020
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    29.01.2020
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude

    04.02.2020
    09:45 - 11:15 wöchentlich
    10.11 Hertz-Hörsaal
    10.11 Verwaltungsgebäude, Hauptbau

    05.02.2020
    11:30 - 13:00 wöchentlich
    30.46 Chemie, Neuer Hörsaal
    30.46 Chemie-Hörsaalgebäude


  • Dozent: Prof. Dr. Ralf Reussner
  • SWS: 4
  • LVNr.: 24076
Voraussetzungen

Empfehlungen:

Die Lehrveranstaltung Softwaretechnik I sollte bereits gehört worden sein.

Beschreibung

Die Studierenden erlernen Vorgehensweisen und Techniken für systematische Softwareentwicklung, indem fortgeschrittene Themen der Softwaretechnik behandelt werden.

Literaturhinweise

Craig Larman, Applying UML and Patterns, 3rd edition, Prentice Hall, 2004. Weitere Literaturhinweise werden in der Vorlesung gegeben.

Arbeitsbelastung

Vor- und Nachbereitungszeiten 1,5 h / 1 SWS

Gesamtaufwand:
(4 SWS + 1,5 x 4 SWS) x 15 + 30 h Klausurvorbereitung = 180 h = 6 ECTS

Ziel

Softwareprozesse: Die Studierenden verstehen die evolutionäre und inkrementelle Entwicklung und können die Vorteile gegenüber dem sequentiellen Vorgehen beschreiben. Sie können die Phasen und Disziplinen des Unified Process beschreiben.

Requirements Engineering: Die Studierenden können die Begriffe des Requirements Engineering beschreiben und Aktivitäten im Requirements Engineering Prozess nennen. Sie können Anforderungen nach den Facetten Art und Repräsentation klassifizieren und beurteilen. Sie können grundlegende Richtlinien zum Spezifizieren natürlichsprachlicher Anforderungen anwenden. Sie können den Zweck und die Elemente von Anwendungsfall-Modellen beschreiben. Sie können Anwendungsfälle anhand ihrer Granularität und ihrer Ziele einordnen. Sie können Anwendungsfalldiagramme und Anwendungsfälle erstellen. Sie können aus Anwendungsfällen Systemsequenzdiagramme und Operationsverträge ableiten und können deren Rolle im Software-Entwicklungsprozess beschreiben.

Software-Architektur: Die Studierenden können die Definition von Software-Architektur und Software-Komponenten wiedergeben und erläutern. Sie können den Unterschied zwischen Software-Architektur und Software-Architektur-Dokumentation erläutern. Sie können die Vorteile expliziter Architektur und die Einflussfaktoren auf Architekturentscheidungen beschreiben. Sie können Entwurfsentscheidungen und -elemente den Schichten einer Architektur zuordnen. Sie können beschreiben, was Komponentenmodelle definieren. Sie können die Bestandteile des Palladio Komponentenmodells beschreiben und einige der getroffenen Entwurfsentscheidungen erörtern.

Enterprise Software Patterns: Die Studierenden können Unternehmensanwendungen charakterisieren und für eine beschriebene Anwendung entscheiden, welche Eigenschaften sie erfüllt. Sie kennen Muster für die Strukturierung der Domänenlogik, architekturelle Muster für den Datenzugriff und objektrelationale Strukturmuster. Sie können für ein Entwurfsproblem ein geeignetes Muster auswählen, die Auswahl anhand der Vor- und Nachteile der Muster begründen und das ausgewählte Muster anwenden.

Software-Entwurf: Die Studierenden können die Verantwortlichkeiten, die sich aus Systemoperationen ergeben, den Klassen bzw. Objekten im objektorientierten Entwurf anhand der GRASP-Muster zuweisen und damit objektorientierte Software entwerfen.

Software-Qualität: Die Studierenden kennen die Prinzipien für gut lesbaren Programmcode, können Verletzungen dieser Prinzipien identifizieren und Vorschläge zur Lösung entwickeln.

Modellgetriebene Software-Entwicklung: Die Studierenden können die Ziele und die idealisierte Arbeitsteilung der modellgetriebenen Software-Entwicklung (MDSD) beschreiben und die Definitionen für Modell und Metamodell wiedergeben und erläutern. Sie können die Ziele der Modellierung diskutieren. Sie können die Model-driven Architecture beschreiben und Einschränkungen in der Object Constraint Language ausdrücken. Sie können Fragmente von Modell-zu-Text-Transformationen in einer Template-Sprache ausdrücken. Sie können die Vor- und Nachteile von MDSD abwägen.

Eingebettete Systeme: Die Studierenden können das Prinzip eines Realzeitsystems und warum diese für gewöhnlich als parallele Prozesse implementiert sind erläutern. Sie können einen groben Entwurfsprozess für Realzeitsysteme beschreiben. Sie können die Rolle eines Realzeitbetriebssystems beschreiben. Sie können verschiedene Klassen von Realzeitsystemen unterscheiden.

Verlässlichkeit: Die Studierenden können die verschiedenen Dimensionen von Verlässlichkeit beschreiben und eine gegebene Anforderung einordnen. Sie können verdeutlichen, dass Unit Tests nicht ausreichen, um Software-Zuverlässigkeit zu bewerten, und können beschreiben, wie Nutzungsprofil und realistische Fehlerdaten einen Einfluss haben. Sie können die Zuverlässigkeit eines Systems anhand statistischer Tests bewerten.

Sicherheit (i.S.v. Security): Die Studierenden können die Grundideen und Herausforderungen der Sicherheitsbewertung beschreiben. Sie können häufige Sicherheitsprobleme erkennen und Lösungsvorschläge machen.

Prüfung

Die Erfolgskontrolle erfolgt in Form einer schriftlichen Prüfung im Umfang von 90 Minuten nach § 4 Abs. 2 Nr. 1 SPO.