the process to build/solve something with object-oriented progranmming
Top Down
1.Write or draw about the problem.
2.Extract key concepts from 1 and research them.
3.Create a class hierarchy and object map for the concepts.
4.Code the classes and a test to run them.
5.Repeat and refine.
Bottom Up
1.Take a small piece of the problem; hack on some code and get it run barely.
2.Refine the code into something more formal with classes and automated test.
3.Extract the key concepts you're using and try to find research for them.
4.Write a description of what's really going on.
5.Go back and refine the code, possibly throwing it out and starting over.
6.Repeat, moving on to some other oiece of the problem.