Praxis der Softwareentwicklung (PSE)
Sommersemester 2012
Prof. Dr. Bernhard Beckert, Thorsten Bormer, Daniel Bruns
Typ: | Praktikum |
Ort: | Raum 211, Geb. 50.34 |
Zeit: | n.V. |
SWS: | 4 |
LVNr.: | 24526 |
Aktuelles
27.08.12: Termin des Kolloquiums zur internen Abnahme aktualisiert: Mittwoch, 05.09. um 14:00 Uhr
27.08.12: Aufgabenstellung zur Abnahme online
06.08.12: Aufgabenstellung Validierungsphase online
18.06.12: Restliche Termine ergänzt; Aufgabenstellung Implementierung
21.05.12: Aufgabenstellung zur Entwurfsphase online
30.04.12: Folien der Einführungsveranstaltung und Dokumente zum Pflichtenheft online
25.04.12: Termine und Aufgabenstellung ergänzt
20.04.12: Termin des ersten Gruppentreffens: Mittwoch, 25.04. um 15:00 Uhr in Raum -120 (Geb. 50.34)
26.03.12: Website online
Allgemeines
In "Praxis der Softwareentwicklung" (PSE) lernen die Teilnehmer, ein vollständiges Softwareprojekt nach dem Stand der Softwaretechnik in einem Team mit 5 bis 6 Teilnehmern durchzuführen. Ziel ist es insbesondere, Verfahren des Software-Entwurfs und der Qualitätssicherung praktisch einzusetzen, Implementierungskompetenz umzusetzen, und arbeitsteilig im Team zu kooperieren.
Aufgabenstellung
Automatisches Prüfen von Programmeigenschaften
Ziel des Projekts ist es, ein mächtiges Analysewerkzeug für eine einfache imperative Programmiersprache zu erstellen. Dabei sollen sowohl klassische Techniken zur Programmanalyse zum Einsatz kommen (wie interaktives Debugging), als auch moderne, logikbasierte Methoden zur Analyse und Prüfung der Programmeigenschaften.
Um Methoden der Softwareverifikation implementieren zu können, die dem aktuellen Stand der Technik entsprechen, beschränken wir uns auf eine einfache Zielsprache, sowie auf eine einfache Spezifikationssprache, in der die gewünschten Eigenschaften des Programms angegeben werden.
Die einzelnen Module des zu erstellenden Systems sind:
- Parser für Programme, sowie Spezifikationen
- Interpreter
- Debugger
- Run-time checker
- Programmverifikation (unter Verwendung eines existierenden Beweistools); dies ist das Kernstück des Analysewerkzeugs
Als Implementierungssprache für dieses System kommt Java zum Einsatz.
Die Steuerung der Komponenten des Analysewerkzeugs und dessen Rückmeldungen sollen dabei mit Hilfe einer grafischen Benutzeroberfläche erfolgen.
Aufgabenstellungen für die Phasen (PDF)
- Phase 1: Pflichtenheft
- Phase 2: Entwurf
- Phase 3: Implementierung
- Phase 4: Validierung
- Phase 5: Abnahme
Ablauf
Zeitpunkt | Termin | Hinweise |
---|---|---|
16.04.2012, 15:45 Uhr | Auftaktveranstaltung | Vorstellung des Projekts |
25.04.2012, 15:00 Uhr in Raum -120 (Geb. 50.34) | Erstes Gruppentreffen | Beginn der Einarbeitungsphase |
30.04.2012, 9:45 Uhr 02.05.2012, 14:00 Uhr |
Gruppentreffen | Vertiefung der Aufgabenstellung |
07.05.2012, 9:45 Uhr 09.05.2012, 14:00 Uhr |
Gruppentreffen | |
14.05.2012, 9:45 Uhr 16.05.2012, 14:00 Uhr |
Gruppentreffen | |
21.05.2012, 9:45 Uhr | Kolloquium Pflichtenheft | |
Gruppentreffen | ||
04.06.2012, 9:45 Uhr | Gruppentreffen | |
11.06.2012, 9:45 Uhr | Gruppentreffen | |
18.06.2012, 9:45 Uhr | Kolloquium Entwurf | |
25.06.2012, 9:45 Uhr | Gruppentreffen | |
02.07.2012, 9:45 Uhr | Gruppentreffen | |
09.07.2012, 9:45 Uhr | Gruppentreffen | |
06.08.2012, 9:45 Uhr | Kolloquium Implementierung | |
13.08.2012, 9:45 Uhr | Gruppentreffen | |
20.08.2012, 9:45 Uhr | Gruppentreffen | |
27.08.2012, 9:45 Uhr | Kolloquium Validierung | |
05.09.2012, 14:00 Uhr | Kolloquium interne Abnahme |
Weiteres Material
- 30.04.2012 Folien Einführungsveranstaltung [PDF (KIT intern)]
- 30.04.2012 Pflichtenheft [Musterdokument (PDF) (KIT intern)]