Bueno la POO es un tema muy amplio.
Debes de conocer algunos conceptos como
-Objetos
-Clases
-Herencia
-Polimorfismo
-Encapsulamiento
Una vez entendidos estos conceptos pasamos a la programación. Programar clases con esos conceptos, crear propiedades a las clases, instacias, objetos, herencia entre clases, etc.
Todo eso se aplica y va de la Mano con UML.
Para entender todos los conceptos te recomiendo empezar con UML es la base para la POO
http://sdrv.ms/130soBn
en ese link tengo unos libros te recomiendo empezar asi
1. UML
2. Patrones
3. Guia de Arquitectura de capas
3. ASP.net
Espero te sirva. cualquier duda por aqui andamos
Saludos!!!