Overview
For Software Development Project I, a team of five of us built a playable digital version of Alhambra, the dice game, in Java. It was my introduction to object-oriented software design: going from use cases and a domain model to code that actually runs.
What we built
- A layered application: the game rules in a domain layer, a JavaFX interface and a console version on top, and a persistence layer underneath.
- Players and logins stored in a MySQL database, accessed through mapper classes.
- JUnit tests for the game rules, so a change in one place didn’t quietly break scoring somewhere else.
What I learned
The code turned out to be only half the work. Building software as a team means agreeing on a design, splitting up the work and merging it back together without breaking each other’s code.
When the group lost its direction, I stepped up and took the lead: keeping track of what still had to be done and getting everyone moving the same way again. That taught me more about software development than any class diagram did.