Wintersemester 2014/2015

Praxis der Softwareentwicklung (PSE)

Prof. Dr. Bernhard Beckert
Thorsten Bormer, Daniel Bruns, Simon Greiner, Mihai Herda

Aktuelles

09.02.2015 Aufgabenstellungen Validierungsphase und Abnahmephase online
14.01.2015 Aufgabenstellung Implementierungsphase online
01.12.2014 Aufgabenstellung Entwurfsphase online
06.11.2014 Aufgabenstellung Pflichtenheft online
06.11.2014 Allgemeine Aufgabenbeschreibung 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

Mandatsverteilung für den Deutschen Bundestag

Wahlkreise bei der Bundestagswahl 2009 Stimmzettel für die Bundestagswahl

Ziel des Projekts ist es, ein Programm zu entwickeln, mit dem die Sitzzuteilung im Deutschen Bundestag gemäß der gesetzlichen Bestimmungen exakt berechnet werden kann. Ähnliche kommerzielle Produkte gibt es zwar bereits – sie werden auch tatsächlich von Behörden eingesetzt. Sie sind aber weder frei verfügbar, noch sind Anforderungen an sie gesetzlich geregelt, sodass es für NormalbürgerInnen schlicht nicht möglich ist, die Ergebnisse nachzuvollziehen. Das möchten wir gerne ändern und möchten auch anregen, die Ergebnisse dieses PSE frei (d.h. quelloffen) der Öffentlichkeit zugänglich zu machen.

Das Wahlsystem zum Deutschen Bundestag ist vergleichsweise komplex. Es wird zwischen Direkt- und Listmandaten unterschieden, die teilweise (auf Landesebene!) miteinander verrechnet werden, es kommt aber auch zu Überhangmandaten. Nach der Reform des Wahlgesetzes im Jahr 2013 gibt es zusätzlich noch Ausgleichsmandate, die die Proportionalität trotz Überhangmandaten wieder herstellen sollen. Dadurch kann es wiederum zu ungewollten Effekten kommen.

Mit diesem Projekt wollen wir auch erreichen, durch Simulationen das Auftreten ungewöhnlicher oder paradoxer Phänomene (wie z. B. negatives Stimmgewicht) auf Basis realistischer Daten zu analysieren.

Die Korrektheit der Implementierung ist von allerhöchster Bedeutung hier. Daher legen wir sehr großen Wert auf eine gute Modularisierung des Programms um kritische (Algorithmus zur Mandateverteilung) und unkritische (z. B. GUI) Komponenten sauber von einander zu trennen. Das System soll in Java implementiert werden.

Dokumente

  • Allgemeine Aufgabenbeschreibung: [PDF]
  • Phase 1: Aufgabe Pflichtenheft: [PDF] [Foliensatz]
  • Phase 2: Aufgabe Entwurf: [PDF]
  • Phase 3: Aufgabe Implementierung: [PDF]
  • Phase 4: Aufgabe Validierung: [PDF]
  • Phase 5: Aufgabe Abnahme: [PDF]

Ablauf

Zeitplan
Zeitpunkt Termin Hinweise
29.10.2014, 15:45 Uhr Auftaktveranstaltung HS am Fasanengarten, Vorstellung des Projekts
5.11.2014, 11:30 Uhr Erstes Gruppentreffen Geb. 50.34, Raum 301, beide Gruppen
01.12.2014, 15:45 Uhr (Gruppe 1)
03.12.2014, 11:30 Uhr (Gruppe 2)
Kolloquium Pflichtenheft

Die weiteren Termine finden nach Absprache statt.

Weiteres Material

  • 06.11.2014 Pflichtenheft Musterdokument [PDF (KIT intern)]
  • 08.10.2014 Bundeszentrale für politische Bildung zum neuen Wahlrecht [HTML]
  • 08.10.2014 Grundgesetz (GG) [HTML]
  • 08.10.2014 Bundeswahlgesetz (BWahlG) [HTML]
  • 08.10.2014 Alternativer Gesetzesentwurf zum Bundeswahlgesetz wurde von der Fraktion DIE LINKE in den Bundestag eingebracht [PDF]