Setting up various modules beforehand encourages you to place entities you are about to create in a appropriate module. This reduces the temptation to locate these entities all in one module, causing your domain model to be unclear.
When you set up your project in a modular way, it also takes less effort to export and reuse one of your modules in a future project.
A good start, to determine which modules you should create, would be to define high level user stories and distillate your modules and user roles from them.
- As an anonymous user I would like to sign-up to theWorld Cup Pool website, so I can use this application
- As a participant I would like to predict results for the World Cup tournament, so I can take part in a competition with my friends/colleagues.
- As a competition administrator, I would like to create a competion, so that my friends and collegues can compete in against a subset of all participants.
As you can see some parts of the user stories are bold. These parts guide us to the following module names:
At this moment we come up with 4 user roleswhich basically cover all actors in this application. I can't imagine we will need more roles in the future.
- Anonymous user
- Participant
- Competition manager
- Administrator
No comments:
Post a Comment