Der technische Support in einem modernen Rechenzentrum eines Bankenverbundes muss sich nach dem Bedarf der ihm angeschlossenen Banken richten. Das heißt im Regelfall, dass Supportzeiten von mindestens 7 Uhr morgens bis 19 Uhr abends abgedeckt werden müssen. Diese Zeitspanne ist jedoch länger als die tariflich zulässige Arbeitszeit. Als Konsequenz muss ein Schichtenmodell eingeführt werden. Die anfallenden Dienste möglichst gerecht auf alle Mitarbeiter zu verteilen, ist eine zeitintensive Beschäftigung, wenn es manuell durchgeführt wird. Inhalt dieser Arbeit ist es, den Lebenszyklus eines in Java implementierten Programmes zur automatischen Dienstplanerstellung zu zeigen. „In Analogie zu dem in der Konsum- und Investitionsgüterindustrie gebräuchlichen Begriff „Produktlebenszyklus“ wird bei Anwendungssystemen der gesamte Zeitraum von der Begründung und Planung über die Entwicklung, Einführung und Nutzung bis zur späteren Ablösung durch ein neues System als Software-Lebenszyklus (software life cycle) bezeichnet.“ Lediglich die Ablösung des Systems wird in dieser Arbeit nicht dargestellt, da sie erst in Zukunft geschehen wird und derzeit nicht vorhersehbar ist. Hauptteil und Ziel dieser Arbeit ist die Erstellung eines in Java implementierten Programms zur automatischen Dienstplanerstellung. Am Anfang steht die Analyse der momentane Situation bezüglich der Dienstplanerstellung. Im weiteren wird eine „Make-Or-Buy-Entscheidung“ herbeigeführt. Darüber hinaus behandelt dieser Abschnitt die der eigentlichen Programmierung vorgelagerten Aufgaben, insbesondere das Definieren bestimmter Leitsätze. Der Abschnitt Implementierung behandelt detailliert die verwendeten zentralen Klassen und Algorithmen. Anhand von Auszügen aus dem Programm wird seine Funktionsweise erläutert. Ein weiterer Bestandteil des Themengebietes Implementierung ist die Dokumentation von Software. Im Abschnitt „Zusammenfassung und Ausblick“ wird ein Einblick in die zukünftige Entwicklung des Programmes gegeben und abschließend ein Fazit gezogen.