http://en.wikipedia.org/wiki/Abstraction_(computer_science)
http://docs.oracle.com/cd/B19306_01/appdev.102/b14261.pdf
http://uml.org/
http://umldiagramtutorial.blogspot.com/
state transition diagrams
activity diagrams
there are case tools that create the shell of the code from your organized object models
this
--