Some books that have not been mentioned:
Larry Constantine's Structured Design
Grady Booch's Object-Oriented Analysis and Design with Applications
Rebecca Wirfs-Brock's Designing Object-Oriented Software
Ivar Jacobson's Object-Oriented Software Engineering: A Use Case Driven Approach
Kent Beck's Implementation Patterns
Steve McConnell's Code Complete
Joshua Kerievsky's Refactoring To Patterns