Woche 7: Spezifikation von Software
Übersicht
Mit der Anforderungsanalyse sind wir in das Gebiet der Softwarespezifikation vorgedrungen. In dieser Woche schauen wir uns Softwarespezifikation im Allgemeinen an. Wir besprechen was genau eine Softwarespezifikation ist, welchen Zweck sie erfüllt und wir wir zu einer guten Spezifikation kommen.
Theorie
Vorbereitung (zu bearbeiten bis 31. Oktober)
- Schritt 1: Schauen Sie das Video zum Thema Softwarespezifikation (Video, Slides)
- Schritt 2: Schauen Sie das Video “Beispiele klassischer Diagramme zur Modellierung” (Video, Slides)
- Schritt 3: Lesen Sie den Artikel “Logische Spezifikationen” (Artikel)
- Schritt 4: Lesen Sie den Artikel “A rational design process - and how to fake it” (Artikel)
- Schritt 5: Bearbeiten Sie den Test. (Adam).
Präsenzveranstaltung vom 1. November
In der Präsenzveranstaltung werden wir Fragen zum Selbststudium besprechen und uns einige Anwendungen anschauen. Wir werden auch die ersten Entwürfe ihrer Pflichtenhefte miteinander besprechen.
Übungsstunde
Während der Übungsstunde werden wir in Gruppen die erarbeiteten Pflichtenhefte diskutieren. Zudem haben Sie Zeit am Prototypen zu arbeiten und mit dem Design (UML Klassendiagramm) zu beginnen. Folgen Sie dazu diesem Projektschritt.
Hausaufgaben
Die folgenden Hausaufgaben sollten bis zum 7. November bearbeitet werden.
- Arbeiten Sie den Selbststudiumsteil Woche 8 durch und bearbeiten Sie die dort angegebenen Aufgaben.
- Arbeiten Sie am Prototypen und am Design (UML Klassendiagramm) für Ihr Projekt.
Lernziele
Die Teilnehmenden
- Kennen den Zweck von Softwarespezifikationen
- Können wichtige Qualitätsmerkmale von Softwarespezifikationen nennen und wissen, weshalb diese schwierig zu erreichen sind.
- können Spezifikationsmethoden in deskriptive und konstruktive Spezifikationsmethoden unterteilen und die Unterschiede zwischen diesen Methoden erklären.
- können erklären, wie deskriptive und konstruktive Methoden zur Verifikation eines Systems eingesetzt werden können.
- kennen Datenflussdiagramme und können diese lesen.
- Kennen die Notation und Semantik von Petri-Netzen und können einfache Petrinetze simulieren.
- Können erklären, wie ein idealer Softwarespezifikationsprozess aussieht und weshalb man diesen in der Praxis nie erreichen kann.