Sie befinden sich hier: Termine » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 11 » Braindump: Grundlagen des Software Engineering (SWE-GL) - Wintersemester 2020/21   (Übersicht)

Braindump: Grundlagen des Software Engineering (SWE-GL) - Wintersemester 2020/21

1 Anforderungsanalyse

Gegeben: Problembeschreibung (Bonuspunktesystem in Cafe). Vier Anforderungen für das System.

  1. Prüfen Sie für die gegebenen vier Kombinationen der Anforderungen, ob sie vollständig, konsistent bzw. realisierbar sind. Falls nicht, begründe.
  2. Nennen Sie drei weitere Eigenschaften von Anforderungen.

2 Allgemeine Fragen

  1. Beschreibe Teile-und-Herrsche und Implementation-Hiding. Welche Vorteile bieten sie für das Software Engineering?
  2. Erkläre Ausfall und Versagen und nimm Bezug auf Software und Hardware.
  3. Warum ist eine hohe Modulkohäsion und niedrige Modulkopplung erstrebenswert?
  4. Kann ein Modul mit fehlerfreien Testfällen und 100% Pfadüberdeckung dennoch Fehler enthalten?

3 Formale Spezifikationssprachen

Gegeben: Beschreibung eines Studiengangs mit GOP (muss nach spätestens 4 Semestern abgelegt werden, max. 2 Fehlversuche) und WP (kann ab 3. Semester begonnen werden, besteht aus drei Modulen M1, M2, M3, maximal 2 Fehler erlaubt). Spätestens im 6. Semester muss Zulassung zu Bachelorarbeit erfolgen.

  1. Welche formale Spezifikationssprache bietet sich zur Modellierung an?
  2. Modellieren Sie den Studiengang in dieser Spezifikationssprache.

4 Entwurfsmuster

Gegeben: Beschreibung eines Moduls mit den Klassen Time, Date und Holiday. Für Deutschland und Vereinigtes Königreich sollen die Daten bereitgestellt werden. Für den Benutzer sollen die Aufrufe zur Objekterstellung unabhängig vom Land erfolgen.

  1. Welches Entwurfsmuster bietet sich an?
  2. Modellieren Sie die Klassen in dem Entwurfsmuster.
  3. Schreiben Sie in Pseudocode die Benutzung der Klassenhierarchie.

5 Testen

Gegeben: Funktion zur Berechnung der KFZ-Versicherung mit Eingabe Fahrzeugart, Abschlussdatum und Kundentyp (jeweils zweielementiges Enum). Funktion berechnet daraus das Ergebnis (Einmal if-else, gefolgt von if-else mit if-else in beiden Verzweigungen. Auf dieser letzten Ebene waren zwei Blöcke der vier Blöcke identisch).

  1. Zeichnen Sie den Kontrollflussgraph mit Zeilennummern an den Knoten.
  2. Wie berechnet man die zyklomatische Komplexität und was ist sie für den Kontrollflussgraph aus a?
  3. Was ist die maximale Anzahl linear unabhängiger Pfade? Geben Sie eine der Möglichkeiten für eine solche Menge an, zusammen mit den dazu führenden Eingaben.
  4. Gibt es weitere Pfade, die nicht in den Pfaden aus c enthalten sind? Begründen Sie.
  5. Schreiben Sie die Funktion so um, dass die zyklomatische Komplexität gesenkt wird.

6 CTL

Gegeben: Graph für CTL mit atomaren Aussagen an den Zuständen.

  1. Gegeben vier CTL Formeln. Geben Sie an, in welchen Zuständen diese gelten.
  2. Gegeben vier Beschreibungen in natürlicher Sprache. Geben Sie die dazugehörige CTL-Formel an.