Java Timetracker

4th Semester University Project
Leander Wernst, Kevin Tobias Kröll,

Paul Steingässer,

Moritz Uhlig,

Sven Maderer

Automated GUI test of the application

Description



The Project

For our 4th semester software engineering course, we had to plan and implement a prototype of a standalone java application. The main aspect of the course was the planning of the app. This included requirements engineering, choosing a process model (we went with Scrumban), effort estimation, choosing a software architecture, choosing design patterns and creating UML diagrams.

For versioning we used Git and Github. The database was implemented with the H2 database engine. Testing was done with Junit and AssertJ-Swing.

What I've learned

  • Communication is key, even in a small project like this. As we communicated more efficiently as the project progressed, less mistakes were made from sprint to sprint.
  • Smaller commits, done more frequently, with meaningful commit messages made understanding things easier for other team members.
  • We worked without tools like Maven which made clear what benefits these tools bring.
  • Software patterns: MVC, Observer, Singleton