Mapping Out the Core Application

I hope so far, everyone is having a happy new 2009. On the development front of justCheckers, I designed a generic move algorithm. This algorithm handles the movement of pieces: both slides and jumps. It also accounts for multiple jumps and for the various checker rule variants out there. However before I implement this code, I want to map out the codebase itself.

I plan to do this by mapping out the components, classes and processes with UML. This way I can better understand how I plan to implement the application and what is it actually doing at the moment. This will help with simplifying the user interface and the rest of the codebase going forward.