Zeiterfassungstool

Ich habe ein kleines Tool zur Erfassung der Arbeitszeit geschrieben, welches im System-Tray des Betriebssystems registriert wird. Dabei werden die Daten manuell über eine Eingabemaske eingetragen.

Es können Projekte verwaltet werden, denen die eigentlichen Einträge

zugeordnet werden. Die Angabe eines Projekts ist dabei obligatorisch. Alle Daten können exportiert werden. Als Exportmedium dient eine Exceldatei. | Außerdem kann über einen Cron-Ausdruck konfiguriert werden, ob und wann ein Hinweisfenster dargestellt werden soll, welches zur Eingabe auffordert.

Update: Ab Version 1.2 wird eine Datenbankmigration unterstützt,

wodurch Bestandsdaten auch bei Änderungen am Datenmodell übernommen werden können. | Update: Seit Version 1.5 unterstützt die Anwendung einen Plugin-Mechanismus, über den zusätzliche Funktionen hinzugefügt werden können. Als Standard-Plugin ist ein JMX-Plugin direkt in die Anwendung integriert.

image0

Technologien:

  • Java 1.6
  • JPA2/Eclipselink 2.5.2 als Persistenzschicht (JSR317)
  • Hibernate Bean Validation 5.1.0 (JSR303)
  • Apache Derby Embedded Datenbank 10.11.1.1
  • Apache POI 3.10.1
  • Apache Commons-Configuration 1.7
  • Datenbankmigration mit Liquibase 1.9.5
  • JCommon 1.0.23
  • Quartz Scheduler 2.2.1
  • JUnit/UISpec4J (Swing GUI Testing) 2.4
  • Reflections - java runtime metadata analysis 0.9.8
  • Generierung der Dokumentation mit maven-docbkx-plugin

Das folgende Klassendiagramm enthält die Logikklassen der Anwendung:

Klassendiagramm

Eine Übersicht der Entitäten zeigt das nachfolgende Klassendiagramm:

Klassendiagramm Entitäten