Development process in vogelvlucht:
- Define use cases (or user stories) and non-functional requirements
- Start with the most important use cases. Start with the "happy day flows" where everything goes right.
- Look for functional components or classes to divide the work that has to be done (divide and conquer!)
- Add implementation details
- Write and test the code
Refine requirements stepwise all the way down the development process |
It is extremely important that requirements are worked out gradually from abstract high level requirements to concrete code. They have to go through the phases Requirements, Analysis and Design first before the can be implemented. Each phase ends up with milestones they have to be evaluated by stakeholders and users.
Break down complexity by addressing classes with responsibilities |
Class | Responsibility |
Board | Orchestration of user requests |
House | Orchestrating of sudoku rules |
Cell | Managing digits and pencil marks |
During Design the following classses are added:
Class | Responsibility |
Location | Managing navigation |
Candidates | Bitwise operations |