e-book 

Blueprints: Creating, Describing, and Implementing Designs for Larger-Scale Software Projects

Blueprints is a concise yet comprehensive coverage of Object-Oriented Analysis and Design concepts, suitable for a second programming course in Computer Science. It introduces and teaches application development in a command-line environment, and assumes basic expertise with the Java programming language.