Sie sind auf Seite 1von 113
Masterarbeit Prototypische Entwicklung eines Tools zur automatisierten Erstellung und Optimierung von Stundenplänen für
Masterarbeit Prototypische Entwicklung eines Tools zur automatisierten Erstellung und Optimierung von Stundenplänen für
Masterarbeit Prototypische Entwicklung eines Tools zur automatisierten Erstellung und Optimierung von Stundenplänen für

Masterarbeit

Prototypische Entwicklung eines Tools zur automatisierten Erstellung und Optimierung von Stundenplänen für die Fakultät Informatik der FH-Schmalkalden

Zur Erlangung des akademischen Grades eines Master of Science - Angewandte Medieninformatik -

Fakultät Informatik Referent: Prof. Dr. Erwin Neuhardt Korreferent: Prof. Dr.-Ing. Dr. phil. Michael Cebulla

eingereicht von:

Fabian Markert Matr.-Nr. 250697 Frankenheimer Straße 20 98634 Oberweid

Schmalkalden, den 15. Dezember 2014

Danksagung

An dieser Stelle möchte ich mich bei allen Bedanken die mir bei der Erstellung dieser Arbeit geholfen haben. Ich bedanke mich bei Prof. Neuhardt und Prof. Cebulla für die Möglichkeit dieses Thema zu bearbeiten sowie für seine Betreuung. Ich danke meinen Eltern für ihre Langjährige Unterstützung.Florian Werner und Christian Heinkel danke ich für die kurzfristige Hilfe bei der Rechtschreibkorrektur.

Ronny Schiebold möchte ich für große Hilfsbereitschaft danken.

Ein besonderer dank gilt Michael Biesmann für die Beratung bei der Planung und Umsetzung der Software.

Inhaltsverzeichnis

Abbildungsverzeichnis

VI

Tabellenverzeichnis

VII

Listingverzeichnis

VIII

1 Einleitung

1

2 Ausgangssituation

 

3

2.1 Dozenten

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3

2.2 derzeitiges Planungsprogramm

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3

3 Vorbetrachtungen

 

5

3.1 Das Timetabling Problem

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5

3.2 Definition Stundenplan

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7

3.3 Wann gilt der Stundenplan als optimal?

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

3.3.1 Für Dozenten

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

3.3.2 Für Studenten

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

3.3.3 Prioritäten

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

3.3.4 Persönliche Zielsetzung

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

4 Daten für den Stundenplan

 

10

4.1 Stammdaten

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

4.2 Vorlesungen & Übungen

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

11

4.3 Kurse & Gruppen

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

11

4.4 Dozenten

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

4.5 Der Stundenplan

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

5 Anforderungen

13

5.1 Funktionale Anforderungen

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

13

5.2 Nicht Funktionale Anforderungen

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

6 Konzept des Platzierungsverfahrens

 

17

6.1 Topologische Sortierung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

18

6.2 Der Schwierigkeitsgrad einer Lehrveranstaltung

.

.

.

.

.

.

.

.

.

.

.

.

18

6.3 Nebenbedingungen

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

19

6.4 Allgemeiner Ablauf des Platzierungsverfahrens

 

.

.

.

.

.

.

.

.

.

.

.

20

6.5 Platzieren der Veranstaltungen

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

Inhaltsverzeichnis

Fachhochschule Schmalkalden WS 2014/15

7 Entwurf

25

7.1 Desktop- oder Webanwendung

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

25

7.2 Wahl des Webframeworks

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

26

7.2.1 Das Play Framework

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

27

Lift

7.2.2 .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

29

JSF

7.2.3 .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

30

7.2.4 Nutzwertanalyse

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

31

7.3 Allgemeine Reguläre Anwendungsfälle

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

31

7.4 Allgemeine Struktur

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

32

7.5 Nuzerverwaltung

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

34

7.6 Persistenzklassen

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

35

7.7 Generieren der Lehrveranstaltungen

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

40

7.8 Generierung des Stundenplans

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

40

7.8.1 Funktionsweise des ScheduleGeneratorActor

.

.

.

.

.

.

.

.

.

.

41

7.8.2 Funktionsweise des ScheduleGeneratorSlave

.

.

.

.

.

.

.

.

.

.

43

7.8.3 Funktionsweise des ScheduleRateActor

 

.

.

.

.

.

.

.

.

.

.

.

.

.

45

8 Implementierung

47

8.1 Ansprache der Datenbank

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

47

8.2 Weboberfläche Allgemein

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

48

8.3 Arbeitsweise einer Eingabemaske

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

49

8.4 Datenimport

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

53

8.4.1 Phase 1: Sammeln allgemeiner Informationen

 

.

.

.

.

.

.

.

.

53

8.4.2 Phase 2: Einlesen der Fächer

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

54

8.4.3 Phase 3: Validieren der Daten

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

55

8.5 Integration in die Systemlandschaft der FHS

.

.

.

.

.

.

.

.

.

.

.

.

.

.

57

8.6 Nachbearbeiten des Stundenplans

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

58

9 Integration in Spirit-News

 

60

9.1 Vorstellung der Teilprojekte

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

60

9.2 Import in die Datenbank

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

61

9.2.1 Datenstruktur

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

61

9.2.2 Konverter im Schedule Generator

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

63

9.3 Anpassen der Weboberfläche

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

63

10 Validierung des Generators

 

65

10.1 Übertragen der Daten

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

65

10.2 Allgemeiner Versuchsaufbau

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

66

10.3 Allgemeine Überprüfung

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

67

10.3.1 Eingegebene Daten

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

67

10.3.2 Ergebnis .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

67

10.3.3 Auswertung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

68

10.4 Test der Wunschräume

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

68

10.4.1 Eingegebene Daten

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

68

10.4.2 Ergebnis .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

69

10.4.3 Auswertung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

69

Inhaltsverzeichnis

Fachhochschule Schmalkalden WS 2014/15

10.5 Screenen der Dauer

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

70

10.5.1 Eingegebene Daten

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

70

10.5.2 Ergebnis .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

70

10.5.3 Auswertung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

71

10.6 Screenen der Würfelstärke

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

71

10.6.1 Eingegebene Daten

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

71

10.6.2 Ergebnis .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

72

10.6.3 Auswertung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

72

10.7 Screenen der Iterationstiefe

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

72

10.7.1 Eingegebene Daten

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

73

10.7.2 Ergebnis .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

73

10.7.3 Auswertung

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

74

10.8 Zusammenfassung

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

74

11 Fazit

75

11.1 Erfüllte Anforderungen

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

75

11.2 Ausblick

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

77

Literatur

78

A Klassendiagramm der Persistenzklassen

X

B Fächer des Sommersemesters 2014

XII

C Arbeitszeiten der Dozenten des Sommersemester 2014

XX

Eidesstattliche Erklärung

XXXV

Abbildungsverzeichnis

6.1

Allgemeiner Ablauf des Platzierungsverfahrens

 

.

.

.

.

.

.

.

.

.

.

.

20

6.2

Einfügen einer Veranstaltung in den Stundenplan

.

.

.

.

.

.

.

.

.

.

.

23